# ADK v0.0.1-alpha.1 - Table of Contents Agent Development Kit for Elixir — OTP-native AI agent framework inspired by Google ADK ## Pages - [ADK — Agent Development Kit for Elixir](readme.md) - [ADK Elixir — Intentional Differences from Python ADK](intentional-differences.md) - [Changelog](changelog.md) - Guides - [Getting Started](getting-started.md) - [Concepts](concepts.md) - [mix adk.new — Project Generator](mix-adk-new.md) - [Writing Evaluations for Your Agent](evaluations.md) - [Phoenix Integration Guide](phoenix-integration.md) - [OTP Supervision Tree](supervision.md) - [Oban Integration](oban-integration.md) - [ADK Dev Server](dev-server.md) - [ADK Web Compatibility Layer](adk-web-compatibility.md) - [Deploying ADK Elixir Applications](deployment.md) - [ADK Benchmarking Report: Elixir/BEAM vs Python ADK](benchmarks.md) - [Agent Design Patterns](agent-patterns.md) - [Context Compilation](context-compilation.md) - [Context Engineering in ADK Elixir](context-engineering.md) - [Human-in-the-Loop (HITL) in ADK Elixir](human-in-the-loop.md) ## Modules - [ADK.Agent.BaseAgent](ADK.Agent.BaseAgent.md): Shared utilities for all agent types. - [ADK.Agent.Clone](ADK.Agent.Clone.md): Clone utility for ADK agent structs. - [ADK.Agent.RemoteA2aAgent](ADK.Agent.RemoteA2aAgent.md): Agent that communicates with a remote A2A agent via A2A client. - [ADK.AgentConfig](ADK.AgentConfig.md): Load agent configurations from YAML files or strings. - [ADK.Agents.ContextCacheConfig](ADK.Agents.ContextCacheConfig.md): Configuration for context caching. - [ADK.ApigeeLlm](ADK.ApigeeLlm.md): Apigee LLM router. - [ADK.Artifact.Util](ADK.Artifact.Util.md): Utility functions for handling artifact URIs. - [ADK.Auth](ADK.Auth.md): Authentication subsystem for the Agent Development Kit (ADK). - [ADK.Auth.CredentialManager](ADK.Auth.CredentialManager.md): Stateless orchestrator for the full OAuth2 / credential lifecycle. - [ADK.Auth.Exchanger](ADK.Auth.Exchanger.md): Behaviour for credential exchangers. - [ADK.Auth.Exchanger.OAuth2](ADK.Auth.Exchanger.OAuth2.md): Exchanges OAuth2 credentials from authorization responses. - [ADK.Auth.Exchanger.Registry](ADK.Auth.Exchanger.Registry.md): Registry for credential exchangers. - [ADK.Auth.Exchanger.ServiceAccount](ADK.Auth.Exchanger.ServiceAccount.md): Exchanges Google Service Account credentials for an HTTP Bearer token. Mirrors Python ADK's `ServiceAccountCredentialExchanger`. - [ADK.Auth.Google](ADK.Auth.Google.md): Google Authentication integration behavior for ADK. Allows fetching application default credentials or explicit service account tokens. - [ADK.Auth.Handler](ADK.Auth.Handler.md): Orchestrates the OAuth2 authentication flow for ADK tools. - [ADK.Auth.OAuth2](ADK.Auth.OAuth2.md): Core OAuth2 HTTP operations: authorization URL generation, auth code exchange, and token refresh. - [ADK.Auth.OAuth2.AuthorizationServerMetadata](ADK.Auth.OAuth2.AuthorizationServerMetadata.md): Represents the metadata of an OAuth2 authorization server. - [ADK.Auth.OAuth2.ProtectedResourceMetadata](ADK.Auth.OAuth2.ProtectedResourceMetadata.md): Represents the metadata of an OAuth2 protected resource. - [ADK.Auth.OAuth2Discovery](ADK.Auth.OAuth2Discovery.md): Discovers OAuth2 metadata for authorization servers and protected resources. - [ADK.Auth.Preprocessor](ADK.Auth.Preprocessor.md): Pre-processes auth credential responses before an LLM request. - [ADK.Auth.Provider](ADK.Auth.Provider.md): Behavior for custom authentication providers. - [ADK.Auth.ProviderRegistry](ADK.Auth.ProviderRegistry.md): Registry for dynamic auth providers. - [ADK.Auth.Refresher](ADK.Auth.Refresher.md): Behaviour for credential refreshers. - [ADK.Auth.Refresher.Registry](ADK.Auth.Refresher.Registry.md): Registry for credential refreshers. - [ADK.Auth.ToolsetAuth](ADK.Auth.ToolsetAuth.md): Resolves toolset-level authentication before tools are available. - [ADK.CLI.AgentChangeHandler](ADK.CLI.AgentChangeHandler.md): Decides whether a file change should trigger an agent reload. - [ADK.Context.Compressor.TokenBudget](ADK.Context.Compressor.TokenBudget.md): Token budget compaction strategy — keeps conversation history within a configurable token limit. - [ADK.DevServer.Router](ADK.DevServer.Router.md): Plug router for the ADK development server (`mix adk.server`). - [ADK.EventCompaction](ADK.EventCompaction.md): The compaction of the events. - [ADK.Feature](ADK.Feature.md): Feature flag registry for experimental and in-progress features. - [ADK.Flows.LlmFlows.RequestConfirmation](ADK.Flows.LlmFlows.RequestConfirmation.md): Handles tool confirmation information to build the LLM request. - [ADK.Flows.LlmFlows.TranscriptionManager](ADK.Flows.LlmFlows.TranscriptionManager.md): Manages transcription events for live streaming flows. - [ADK.LLM.Gemma](ADK.LLM.Gemma.md): Gemma LLM backend, extending the Gemini backend with Gemma-specific preprocessing and postprocessing. - [ADK.LLM.Router](ADK.LLM.Router.md): Smart LLM router with failover across backends/models, exponential backoff, and rate-limit awareness. - [ADK.MCP.Toolset](ADK.MCP.Toolset.md): MCP Toolset — connects to an MCP server via stdio and provides its tools as ADK `FunctionTool` structs. - [ADK.Memory.Store.VertexAI](ADK.Memory.Store.VertexAI.md): Vertex AI Agent Engine Memory Bank store implementation. - [ADK.Models.CacheMetadata](ADK.Models.CacheMetadata.md): Metadata for context cache associated with LLM responses. - [ADK.Models.GeminiContextCacheManager](ADK.Models.GeminiContextCacheManager.md): Manages context cache lifecycle for Gemini models. - [ADK.Models.InteractionsUtils](ADK.Models.InteractionsUtils.md): Utilities for the Interactions API integration. - [ADK.Models.LlmRequest](ADK.Models.LlmRequest.md): LLM request struct that allows passing in tools, output schema and system instructions to the model. - [ADK.Models.LlmResponse](ADK.Models.LlmResponse.md): LLM response struct that provides the first candidate response from the model if available. Otherwise, returns error code and message. - [ADK.Oban.ScheduledJob](ADK.Oban.ScheduledJob.md): Oban worker for recurring/scheduled agent runs via Oban cron. - [ADK.Phoenix.ControlLive](ADK.Phoenix.ControlLive.md): Phoenix LiveView dashboard for observing ADK agent system state in real-time. - [ADK.Phoenix.ControlLive.Store](ADK.Phoenix.ControlLive.Store.md): In-memory telemetry event accumulator for the ControlPlane dashboard. - [ADK.Phoenix.FlowLive](ADK.Phoenix.FlowLive.md): Read-only Phoenix LiveView component for visualizing agent graphs. - [ADK.Phoenix.LiveSocket](ADK.Phoenix.LiveSocket.md): Handles the `run_live` WebSocket connection for the ADK. - [ADK.Phoenix.WebServerClient](ADK.Phoenix.WebServerClient.md): HTTP client for interacting with the ADK web server for conformance tests. - [ADK.Planner](ADK.Planner.md): Behaviour for Agent Planners. - [ADK.Planner.BuiltIn](ADK.Planner.BuiltIn.md): The built-in planner that uses the model's built-in thinking features. - [ADK.Planner.PlanReAct](ADK.Planner.PlanReAct.md): Plan-Re-Act planner that constrains the LLM response to generate a plan before any action/observation. - [ADK.Plugin.BigQueryAgentAnalytics](ADK.Plugin.BigQueryAgentAnalytics.md): A plugin for logging ADK execution events to Google BigQuery. - [ADK.Plugin.BigQueryAgentAnalytics.DefaultClient](ADK.Plugin.BigQueryAgentAnalytics.DefaultClient.md) - [ADK.Plugin.Cache](ADK.Plugin.Cache.md): A simple in-memory response cache plugin using ETS. - [ADK.Plugin.ContextFilter](ADK.Plugin.ContextFilter.md): A plugin that filters the LLM context to reduce its size. - [ADK.Plugin.DebugLogging](ADK.Plugin.DebugLogging.md): A plugin that logs debug information for ADK runs, saving states to a file. Parity with Python's DebugLoggingPlugin. - [ADK.Plugin.GlobalInstruction](ADK.Plugin.GlobalInstruction.md): Plugin that provides global instructions functionality at the App level. - [ADK.Plugin.Logging](ADK.Plugin.Logging.md): A plugin that wraps every run with structured log output. - [ADK.Plugin.MultimodalToolResults](ADK.Plugin.MultimodalToolResults.md): A plugin that modifies function tool responses to support returning list of parts directly. - [ADK.Plugin.RateLimit](ADK.Plugin.RateLimit.md): A sliding-window rate limiter plugin. - [ADK.Plugin.ReflectRetryTool](ADK.Plugin.ReflectRetryTool.md): Provides self-healing, concurrent-safe error recovery for tool failures. - [ADK.Plugin.SaveFilesAsArtifacts](ADK.Plugin.SaveFilesAsArtifacts.md): Intercepts user messages and saves attached files as artifacts. - [ADK.Policy.HumanApproval](ADK.Policy.HumanApproval.md): A policy that pauses agent execution and requires human approval before running sensitive tools — Human-in-the-loop (HITL) tool confirmation. - [ADK.Session.GetSessionConfig](ADK.Session.GetSessionConfig.md) - [ADK.Session.Migration](ADK.Session.Migration.md): Utilities for database schema version detection and migration. - [ADK.Session.Store.Ecto.DynamicTermType](ADK.Session.Store.Ecto.DynamicTermType.md): Parity for Python's DynamicPickleType. - [ADK.Session.Store.VertexAI](ADK.Session.Store.VertexAI.md): Vertex AI Agent Engine Session Service store implementation. - [ADK.Skill](ADK.Skill.md): A Skill is a reusable bundle of instructions (and optionally tools) that can be loaded from a directory and mixed into an LlmAgent. - [ADK.SystemInstruction](ADK.SystemInstruction.md): Renders a system instruction template. - [ADK.Telemetry.Contract](ADK.Telemetry.Contract.md): Canonical contract for all `:adk.*` telemetry events. - [ADK.Telemetry.DefaultHandler](ADK.Telemetry.DefaultHandler.md): A simple Logger-based telemetry handler for development. - [ADK.Telemetry.GoogleCloud](ADK.Telemetry.GoogleCloud.md): Google Cloud OpenTelemetry integration for ADK Elixir. Parity with adk-python's google.adk.telemetry.google_cloud. - [ADK.Tool.ApplicationIntegrationTool.ApplicationIntegrationToolset](ADK.Tool.ApplicationIntegrationTool.ApplicationIntegrationToolset.md): ApplicationIntegrationToolset generates tools from a given Application Integration or Integration Connector resource. - [ADK.Tool.ApplicationIntegrationTool.Clients.ConnectionsClient](ADK.Tool.ApplicationIntegrationTool.Clients.ConnectionsClient.md) - [ADK.Tool.ApplicationIntegrationTool.Clients.IntegrationClient](ADK.Tool.ApplicationIntegrationTool.Clients.IntegrationClient.md) - [ADK.Tool.ApplicationIntegrationTool.IntegrationConnectorTool](ADK.Tool.ApplicationIntegrationTool.IntegrationConnectorTool.md) - [ADK.Tool.Approval](ADK.Tool.Approval.md): GenServer that manages pending human approval requests for tool calls. - [ADK.Tool.BashTool](ADK.Tool.BashTool.md): Tool to execute bash commands. - [ADK.Tool.BigQuery.Client](ADK.Tool.BigQuery.Client.md): A client for BigQuery in ADK Elixir. Provides configuration and default user agents for BigQuery and Dataplex clients. - [ADK.Tool.BigQuery.CredentialsConfig](ADK.Tool.BigQuery.CredentialsConfig.md): BigQuery Credentials Configuration for Google API tools (Experimental). - [ADK.Tool.BigQuery.DataInsightsTool](ADK.Tool.BigQuery.DataInsightsTool.md): Answers questions about structured data in BigQuery tables using natural language. - [ADK.Tool.BigQuery.SearchTool](ADK.Tool.BigQuery.SearchTool.md): Finds BigQuery datasets and tables using natural language semantic search via Dataplex. - [ADK.Tool.Bigtable.CredentialsConfig](ADK.Tool.Bigtable.CredentialsConfig.md): Bigtable Credentials Configuration for Google API tools (Experimental). - [ADK.Tool.Confirmation](ADK.Tool.Confirmation.md): Represents a tool confirmation configuration. - [ADK.Tool.DataAgent.CredentialsConfig](ADK.Tool.DataAgent.CredentialsConfig.md): Credentials Configuration for Data Agent tools. - [ADK.Tool.DataAgent.DataAgentTool](ADK.Tool.DataAgent.DataAgentTool.md): A tool returned by DataAgentToolset. - [ADK.Tool.DataAgent.DataAgentToolset](ADK.Tool.DataAgent.DataAgentToolset.md): Data Agent Toolset contains tools for interacting with data agents. - [ADK.Tool.DataAgent.ToolConfig](ADK.Tool.DataAgent.ToolConfig.md): Configuration for Data Agent tools. - [ADK.Tool.ExitLoop](ADK.Tool.ExitLoop.md): Built-in tool that allows an LLM inside a `LoopAgent` to break out of the loop. - [ADK.Tool.GoogleApiTool.GoogleApiToOpenApiConverter](ADK.Tool.GoogleApiTool.GoogleApiToOpenApiConverter.md): Converts Google API Discovery documents to OpenAPI v3 format. - [ADK.Tool.LongRunningTool](ADK.Tool.LongRunningTool.md): An asynchronous tool that executes work in a supervised BEAM process. - [ADK.Tool.OpenApiTool.Auth.AuthHelpers](ADK.Tool.OpenApiTool.Auth.AuthHelpers.md): Authentication helpers for OpenAPI tools. Mirrors Python ADK's `google.adk.tools.openapi_tool.auth.auth_helpers`. - [ADK.Tool.OpenApiTool.OpenApiToolset](ADK.Tool.OpenApiTool.OpenApiToolset.md): Tool set that generates tools from an OpenAPI specification. - [ADK.Tool.OpenApiTool.RestApiTool](ADK.Tool.OpenApiTool.RestApiTool.md): A tool that represents a single operation from an OpenAPI specification. - [ADK.Tool.OpenApiTool.SpecParser](ADK.Tool.OpenApiTool.SpecParser.md): Parses an OpenAPI specification into a list of operations. - [ADK.Tool.OpenApiTool.SpecParser.ApiParameter](ADK.Tool.OpenApiTool.SpecParser.ApiParameter.md) - [ADK.Tool.OpenApiTool.SpecParser.OperationEndpoint](ADK.Tool.OpenApiTool.SpecParser.OperationEndpoint.md) - [ADK.Tool.OpenApiTool.SpecParser.ParsedOperation](ADK.Tool.OpenApiTool.SpecParser.ParsedOperation.md) - [ADK.Tool.Toolset](ADK.Tool.Toolset.md): Behaviour for toolsets — collections of tools that may require authentication before their tools can be used. - [ADK.Utils.Common](ADK.Utils.Common.md): Core common utility functions. Includes formatting, date/time utilities, and map manipulation functions. - [ADK.Workflow](ADK.Workflow.md): Graph-based workflow executor for composing agents into DAGs. - [ADK.Workflow.Checkpoint](ADK.Workflow.Checkpoint.md): Checkpoint behaviour for persisting workflow execution state. - [ADK.Workflow.Checkpoint.EctoStore](ADK.Workflow.Checkpoint.EctoStore.md): Ecto-backed checkpoint store for durable workflow state persistence. - [ADK.Workflow.Checkpoint.EtsStore](ADK.Workflow.Checkpoint.EtsStore.md): ETS-backed checkpoint store for fast in-process workflow state persistence. - [ADK.Workflow.Collaboration](ADK.Workflow.Collaboration.md): Collaboration modes for workflow fan-out nodes. - [ADK.Workflow.Executor](ADK.Workflow.Executor.md): Graph traversal and execution engine for workflows. - [ADK.Workflow.Graph](ADK.Workflow.Graph.md): Graph data structure for workflow definitions. - [ADK.Workflow.Retry](ADK.Workflow.Retry.md): Per-node retry logic for workflow steps. - [ADK.Workflow.Step](ADK.Workflow.Step.md): Represents a single workflow step with support for execution and compensation. - [Adk.Agents.InstructionProvider](Adk.Agents.InstructionProvider.md) - [Adk.Agents.McpInstructionProvider](Adk.Agents.McpInstructionProvider.md): Instruction provider that fetches a prompt from an MCP server. - [Adk.Agents.ReadonlyContext](Adk.Agents.ReadonlyContext.md) - [Adk.Mcp.SessionManager](Adk.Mcp.SessionManager.md) - [Adk.Mcp.SessionManagerImpl](Adk.Mcp.SessionManagerImpl.md): Default stub implementation of `Adk.Mcp.SessionManager`. - [Adk.ReadonlyContext](Adk.ReadonlyContext.md): A read-only snapshot of invocation context for instruction providers. - [Adk.WebServer.Cors](Adk.WebServer.Cors.md) - Core - [ADK](ADK.md): The main entry point for ADK Elixir. - [ADK.Agent](ADK.Agent.md): The core agent protocol. Every agent type implements this. - [ADK.Context](ADK.Context.md): Invocation context threaded through the agent pipeline. - [ADK.Event](ADK.Event.md): Represents an event in the ADK. - [ADK.Tool](ADK.Tool.md): The tool behaviour. Tools are functions that agents can call. - [ADK.ToolContext](ADK.ToolContext.md): Context passed to tool execution, providing access to session state, artifacts, credentials, and agent transfer capabilities. - Agents - [ADK.Agent.Custom](ADK.Agent.Custom.md): A simple agent that wraps a function. Useful for testing and ad-hoc agents. - [ADK.Agent.LlmAgent](ADK.Agent.LlmAgent.md): An LLM-powered agent that calls a language model to generate responses, handles tool calls, and loops until a final text response is produced. - [ADK.Agent.LoopAgent](ADK.Agent.LoopAgent.md): Runs sub-agents in a loop until a maximum number of iterations is reached, an exit_condition returns true, or an agent signals escalation via `EventActions.escalate`. - [ADK.Agent.ParallelAgent](ADK.Agent.ParallelAgent.md): Runs sub-agents concurrently using `Task.async_stream`, collecting all events. - [ADK.Agent.SequentialAgent](ADK.Agent.SequentialAgent.md): Runs sub-agents in sequence, passing state through the session. - Tools - [ADK.Tool.BuiltInCodeExecution](ADK.Tool.BuiltInCodeExecution.md): Built-in Code Execution tool for Gemini models. - [ADK.Tool.Declarative](ADK.Tool.Declarative.md): Macro-based tool declaration using `@tool` module attributes. - [ADK.Tool.FunctionTool](ADK.Tool.FunctionTool.md): Wraps any function as a tool with declaration metadata. - [ADK.Tool.GoogleSearch](ADK.Tool.GoogleSearch.md): Built-in Google Search tool for Gemini models. - [ADK.Tool.ModuleTool](ADK.Tool.ModuleTool.md): A tool backed by a module instead of an anonymous function. - [ADK.Tool.SearchMemoryTool](ADK.Tool.SearchMemoryTool.md): Built-in tool that lets agents search long-term memory. - [ADK.Tool.TransferToAgent](ADK.Tool.TransferToAgent.md): Built-in tool that enables an agent to transfer control to a sub-agent. - [ADK.Tool.TransferTool](ADK.Tool.TransferTool.md): Auto-generated tool for transferring control to a sub-agent. - LLM Backends - [ADK.LLM](ADK.LLM.md): LLM behaviour and mock implementation for testing. - [ADK.LLM.Anthropic](ADK.LLM.Anthropic.md): Anthropic Claude LLM backend using the Messages API via Req. - [ADK.LLM.CircuitBreaker](ADK.LLM.CircuitBreaker.md): Simple circuit breaker for LLM calls using GenServer. - [ADK.LLM.Gemini](ADK.LLM.Gemini.md): Gemini LLM backend using the REST API via Req. - [ADK.LLM.Mock](ADK.LLM.Mock.md): Mock LLM that echoes input or uses pattern matching. - [ADK.LLM.OpenAI](ADK.LLM.OpenAI.md): OpenAI-compatible LLM backend using the chat completions API via Req. - [ADK.LLM.Retry](ADK.LLM.Retry.md): Retry wrapper for LLM calls with exponential backoff and jitter. - Sessions & State - [ADK.EventActions](ADK.EventActions.md): Actions attached to an event — state deltas, transfers, escalation. - [ADK.RunConfig](ADK.RunConfig.md): Configuration struct for controlling Runner execution behavior. - [ADK.Session](ADK.Session.md): Session GenServer — one process per active session. - [ADK.Session.Store](ADK.Session.Store.md): Behaviour for session persistence stores. - [ADK.Session.Store.Ecto](ADK.Session.Store.Ecto.md): Ecto-backed session store. - [ADK.Session.Store.InMemory](ADK.Session.Store.InMemory.md): ETS-backed in-memory session store. - [ADK.Session.Store.JsonFile](ADK.Session.Store.JsonFile.md): File-based JSON session store. - [ADK.State.Delta](ADK.State.Delta.md): Immutable snapshot + diff for state delta tracking. - Memory - [ADK.Memory.Entry](ADK.Memory.Entry.md): A single memory entry. - [ADK.Memory.InMemory](ADK.Memory.InMemory.md): ETS-backed in-memory memory store for development and testing. - [ADK.Memory.Store](ADK.Memory.Store.md): Behaviour for memory services. - Context & Compression - [ADK.Context.Compressor](ADK.Context.Compressor.md): Behaviour for context compression strategies. - [ADK.Context.Compressor.SlidingWindow](ADK.Context.Compressor.SlidingWindow.md): Sliding window strategy — keeps system messages plus the last N messages, with awareness of function call/response pairs. - [ADK.Context.Compressor.Summarize](ADK.Context.Compressor.Summarize.md): Summarization strategy — uses an LLM to condense older messages. - [ADK.Context.Compressor.Truncate](ADK.Context.Compressor.Truncate.md): Simple truncation strategy — keeps system messages and the last N messages. - Artifacts - [ADK.Artifact.GCS](ADK.Artifact.GCS.md): Google Cloud Storage artifact backend. - [ADK.Artifact.InMemory](ADK.Artifact.InMemory.md): In-memory artifact store backed by an Agent process. - [ADK.Artifact.Store](ADK.Artifact.Store.md): Behaviour for pluggable artifact storage backends. - Auth - [ADK.Auth.Config](ADK.Auth.Config.md): Declares authentication requirements for a tool. - [ADK.Auth.Credential](ADK.Auth.Credential.md): Represents an authentication credential. - [ADK.Auth.CredentialStore](ADK.Auth.CredentialStore.md): Behaviour for pluggable credential storage backends. - [ADK.Auth.InMemoryStore](ADK.Auth.InMemoryStore.md): In-memory credential store using an Agent process. - Runner - [ADK.Runner](ADK.Runner.md): Orchestrates agent execution — creates sessions, runs agents, collects events. - [ADK.Runner.Async](ADK.Runner.Async.md): Runs an agent asynchronously under `ADK.RunnerSupervisor` (Task.Supervisor), sending events back to the caller as `{:adk_event, event}` messages. - A2A Protocol - [ADK.A2A.AgentCard](ADK.A2A.AgentCard.md): Generates an A2A Agent Card from an ADK agent. - [ADK.A2A.Client](ADK.A2A.Client.md): A2A protocol client — delegates to `A2A.Client` from the [a2a](https://github.com/zeroasterisk/a2a-elixir) package. - [ADK.A2A.Message](ADK.A2A.Message.md): Converts between ADK Events and A2A protocol messages. - [ADK.A2A.RemoteAgentTool](ADK.A2A.RemoteAgentTool.md): Wraps a remote A2A agent as an ADK tool. - [ADK.A2A.Server](ADK.A2A.Server.md): A2A protocol server for ADK agents, implemented as a Plug. - Phoenix Integration - [ADK.Phoenix.Channel](ADK.Phoenix.Channel.md): A `use`-able module that adds ADK agent interaction to a Phoenix Channel. - [ADK.Phoenix.ChatLive](ADK.Phoenix.ChatLive.md): Production-quality Phoenix LiveView chat interface for ADK agents. - [ADK.Phoenix.Controller](ADK.Phoenix.Controller.md): Helper functions for building Phoenix controllers that interact with ADK agents. - [ADK.Phoenix.LiveHandler](ADK.Phoenix.LiveHandler.md): A `use`-able module that adds ADK agent interaction to a Phoenix LiveView. - [ADK.Phoenix.WebRouter](ADK.Phoenix.WebRouter.md): Plug router providing Python ADK-compatible HTTP endpoints. - Plugins - [ADK.Plugin](ADK.Plugin.md): Global plugin behaviour for intercepting the Runner pipeline. - [ADK.Plugin.ReflectRetry](ADK.Plugin.ReflectRetry.md): A plugin that validates LLM responses and retries with reflection feedback when they don't meet quality criteria. - [ADK.Plugin.Registry](ADK.Plugin.Registry.md): Agent-based registry for global plugins. - MCP - [ADK.MCP.Client](ADK.MCP.Client.md): MCP (Model Context Protocol) client over stdio transport. - [ADK.MCP.ToolAdapter](ADK.MCP.ToolAdapter.md): Converts MCP server tools into ADK `FunctionTool` structs. - Oban - [ADK.Oban.AgentWorker](ADK.Oban.AgentWorker.md): Oban worker for durable agent execution. - Policies - [ADK.Policy](ADK.Policy.md): Policy behaviour for agent governance — tool access control, content filtering, etc. - [ADK.Policy.DefaultPolicy](ADK.Policy.DefaultPolicy.md): A permissive default policy that allows everything and passes content through unchanged. - Eval - [ADK.Eval](ADK.Eval.md): Evaluation framework for testing agent quality. - [ADK.Eval.Case](ADK.Eval.Case.md): Defines a single evaluation test case. - [ADK.Eval.Report](ADK.Eval.Report.md): Summary report of an evaluation run. - [ADK.Eval.Result](ADK.Eval.Result.md): Result of evaluating a single test case. - [ADK.Eval.Scorer](ADK.Eval.Scorer.md): Behaviour for evaluation scorers. - [ADK.Eval.Scorer.Contains](ADK.Eval.Scorer.Contains.md): Scores 1.0 if the response text contains the given substring. - [ADK.Eval.Scorer.ExactMatch](ADK.Eval.Scorer.ExactMatch.md): Scores 1.0 if the response text exactly matches the expected text. - [ADK.Eval.Scorer.ResponseLength](ADK.Eval.Scorer.ResponseLength.md): Scores based on whether response length is within a min/max character range. - [ADK.Eval.Scorer.ToolUsed](ADK.Eval.Scorer.ToolUsed.md): Scores 1.0 if the agent called a specific tool (function) by name. - Telemetry - [ADK.Telemetry](ADK.Telemetry.md): Telemetry events for the ADK pipeline. - [ADK.Telemetry.DebugHandler](ADK.Telemetry.DebugHandler.md): Telemetry handler that captures ADK events into `ADK.Telemetry.SpanStore`. - [ADK.Telemetry.SpanStore](ADK.Telemetry.SpanStore.md): ETS-backed store for debug/trace span data. - Internal - [ADK.Application](ADK.Application.md): OTP Application for ADK. - [ADK.Callback](ADK.Callback.md): Callback hooks for agent, model, and tool invocations. - [ADK.InstructionCompiler](ADK.InstructionCompiler.md): Compiles the system instruction for an LLM agent by combining ## Mix Tasks - Mix Tasks - [mix adk.gen.migration](Mix.Tasks.Adk.Gen.Migration.md): Generates an Ecto migration for the ADK sessions table. - [mix adk.new](Mix.Tasks.Adk.New.md): Creates a new ADK agent project. - [mix adk.server](Mix.Tasks.Adk.Server.md): Starts an ADK development server with a browser-based chat UI.