API Reference erlang_adk v#0.10.0

View Source

Modules

Default Runner-backed bridge for a registered Erlang ADK agent.

Authentication/authorization boundary for the A2A 1.0 server.

Agent Card construction and selection for the A2A 1.0 JSON-RPC binding.

Bounded outbound client for the A2A 1.0 JSON-RPC binding.

Validation and JSON boundary helpers for the A2A 1.0 data model.

Cowboy boundary for the A2A 1.0 Agent Card and JSON-RPC/SSE binding.

A2A 1.0 authorization hook backed by adk_jwt_policy.

Security boundary and bounded webhook transport for A2A 1.0 push.

JSON-RPC 2.0 method dispatcher for the A2A 1.0 JSON-RPC binding.

Bounded, supervised A2A 1.0 task store and execution coordinator.

Persistence contract for A2A task snapshots.

Bounded process-owned ETS-style A2A task store.

Mnesia-backed durable A2A task snapshot adapter.

Monitored global/per-agent admission controller.

Runtime materializer for a compiled declarative Agent Config.

Versioned compiler for untrusted declarative agent configuration.

Private hand-off store for supervised agent start arguments.

Safe static/dynamic instruction resolution for an agent specification.

Process registry for ADK agents.

Validated immutable configuration for LLM-agent request preparation.

adk_agent_tool - Wraps an agent as a tool.

Bounded structural validation for the process-backed agent tree.

Dynamic supervisor for one coordinator per active direct agent turn.

Supervised coordinator for a blocking direct agent turn.

Strict, allocation-bounded YAML subset for Agent Config files.

Bounded OTP-native runtime for ambient/background invocations.

One isolated ambient event execution with bounded retry.

Dynamic supervisor for isolated ambient event jobs.

Supervisor for the bounded ambient/background invocation runtime.

Shared validation and bounded-call helpers for artifact adapters.

Durable write-ahead journal for external artifact effects.

Bounded in-memory artifact service with immutable, scoped versions.

Durable filesystem artifact service with atomic publication.

Immutable, exactly-scoped artifact service backed by Google Cloud Storage-compatible object operations.

Hardened Google Cloud Storage JSON API transport.

Narrow object operations required by the GCS artifact adapter.

Bounded synchronous orphan-reconciliation pass.

Handler contract for inspecting or compensating an orphaned artifact effect. Implementations receive only the bounded journal projection.

Behaviour for immutable, versioned binary artifacts.

Bounded exact-scope artifact adapter.

Capability-negotiated, credit/ack artifact transfer facade.

Per-adapter supervisor for temporary artifact transfer workers.

Internal isolation boundary for authentication provider callbacks.

Behaviour implemented by authentication token providers.

Oidcc-backed service credential provider for adk_token_manager.

Supervision tree for credential storage and token refresh.

Internal adapter contract for an OAuth/OIDC authorization-code flow.

Supervised, bounded OAuth/OIDC authorization-code flow manager.

Dynamic supervisor for short-lived authorization-code exchanges.

Secret-isolating worker for one claimed authorization callback.

Behaviour for production authentication-bound authorization policy.

Strict extraction of OAuth bearer credentials from HTTP headers.

Allocation-bounded reader for untrusted regular files.

Least-privilege values exposed to callbacks and model plugins.

adk_callbacks - Behavior and registry for ADK execution callbacks.

Integrated command-line tooling for local Erlang ADK development.

Behaviour for trusted external code-sandbox adapters.

Strict model toolset boundary for an external code sandbox.

Immutable, operator-owned registry for trusted agent configuration.

Safe, registry-only descriptor for a connector instance.

Strict, internal policy manifest for first-party connector tools.

Policy-enforcing bridge from connector adapters to adk_toolset.

Versioned, JSON-safe model content.

Public, least-authority helpers for invocation and tool contexts.

Owner-bound registry for provider-managed model-request prefix caches.

Gemini GenerateContent explicit cached-content adapter.

Behaviour for provider-managed model-request prefix caches.

Owner-bound, scope-bound authority used by invocation contexts.

Dynamic supervisor for invocation-owned context capabilities.

Bounded automatic context compaction with explicit checkpoints.

Provider-neutral callback for automatic context compaction.

Behaviour for bounded context compressors.

Canonical safety and complete provider-envelope accounting.

Secret-removing, JSON-safe boundary for session and model context data.

Versioned model-context selection, budgeting, and compression policy.

Behaviour and shared types for credential stores.

Owner-private ETS credential store.

Render-first deployment command boundary for reviewed manifests.

Strict deployment-owned environment bridge for the OTLP bus exporter.

Dependency-aware deployment health and bounded admission draining.

Bearer authentication and same-origin checks for local developer APIs.

Bounded server-owned catalog of inspectable workflow graphs.

HTTP boundary for the opt-in local ADK developer platform.

Observe-only model payload capture for the local Developer UI.

Bounded, opt-in retention for redacted local model payloads.

Cowboy route bundle for the opt-in local ADK developer platform.

Read-only developer projection over the metadata-only trace store.

Dependency-free, Erlang-hosted developer console.

adk_eval - Lightweight evaluation helpers for Erlang ADK.

Adapter behaviour used by versioned, multi-turn evaluation sets.

Production adapter for evaluating an Erlang ADK agent specification.

First-party operational, safety, cost, and semantic eval metrics.

Full-case evaluator behaviour.

Deterministic full-case evaluation criteria.

Safe Developer UI facade for durable evaluation authoring/history.

Pure, bounded evaluation-report boundary for developer tooling.

Deterministic judge ensembles and threshold calibration.

Behaviour for bounded evaluation environment simulators.

Deterministic, bounded evaluation-report rendering and CI exporters.

Resource limits for persisted evaluation data.

Bounded first-party rubric judge backed by an ADK LLM provider.

Metric and judge adapter behaviour for deterministic evaluation.

Deterministic evaluation reports and baseline regression comparison.

Deterministic human-review state machine for evaluation findings.

Supervised, bounded evaluation-job service.

Versioned, bounded multi-turn agent evaluation.

Heap-, deadline-, and step-bounded simulator runtime for evaluations.

Deterministic confidence and longitudinal regression helpers.

Durable-storage contract for evaluation sets, jobs, results, and baselines.

Bounded in-memory implementation of adk_eval_store.

Local durable Mnesia implementation of adk_eval_store.

Behaviour for deterministic evaluation user simulators.

Optional evaluation worker transport behaviour.

Explicit-node distributed evaluation worker transport.

Immutable, versioned events for the ADK event system.

Deterministic include/exclude filters for canonical ADK event maps.

Structural, secret-free failure values for public runtime boundaries.

Strict, atom-safe Gemini safety-setting normalization and REST encoding.

Metadata-only OpenTelemetry GenAI semantic-convention projection.

Bounded OAuth bearer acquisition for the Vertex request adapter.

Fluent compatibility builder for the canonical workflow graph.

Safe graph inspection and deterministic text renderers.

Canonical, non-executable projection of a compiled workflow graph.

adk_graph_node - Helper functions for creating common graph nodes.

Structural analysis for compiled workflow graphs.

Content-minimal public liveness and readiness probes.

One supervised, reconnectable ADK invocation.

Durable ownership and checkpoint ledger for resumable invocations.

Mnesia-backed durable invocation ledger.

Dynamic supervisor for independently owned ADK invocations.

Safe conversion of ordinary Erlang values to a JSON value.

Deterministic validation for the provider-neutral JSON Schema subset used by agent input and output contracts.

Explicit incoming JWT authentication policy.

Adapter behaviour for cryptographic JWT verification.

Opaque, process-scoped storage for reconnectable Live credentials.

Versioned provider-neutral events emitted by a Live session.

Gemini 3.1 Flash Live provider adapter.

Strict JSON codec for the Gemini 3.1 Flash Live WebSocket protocol.

Minimal Gun event handler used to acknowledge outbound WebSocket frames only after Gun has handed the complete frame to its socket transport. All other events are deliberately metadata-free no-ops.

Production Gemini Live WebSocket transport backed by Gun.

Strict, provider-neutral realtime media values.

Fail-open, metadata-only observability for Live sessions.

OpenAI Realtime provider adapter.

Strict codec for the OpenAI Realtime WebSocket event protocol.

Production OpenAI Realtime WebSocket transport backed by Gun.

Provider adapter contract for bidirectional Live sessions.

One supervised, server-owned bidirectional Live session.

Dynamic supervisor for server-owned Live sessions.

Explicit trusted execution boundary for Gemini Live function calls.

Injected full-duplex transport contract for Live providers.

Owner-bound binary bridge between a WebSocket adapter and ADK Live.

Strict provider-neutral binary framing for realtime browser voice.

Race-safe node-local ownership registry for Live voice bridges.

Native Anthropic Messages API provider.

Checked translation between provider-neutral ADK content/history and Anthropic Messages API content blocks.

Bounded Messages API request construction for the Anthropic adapter.

Logical Anthropic Messages SSE decoder and bounded stream assembler.

OpenAI-compatible Chat Completions provider.

Checked ADK content translation for OpenAI-compatible Chat Completions.

Bounded OpenAI-compatible Chat Completions request/response codec.

Bounded raw-SSE assembler for compatible Chat Completions streams.

Checked translation between the provider-neutral adk_content schema and Gemini Content/Part JSON objects.

Native OpenAI Responses API provider.

Native Vertex AI GenerateContent request adapter.

Built-in model-selected artifact attachment tool.

Built-in model-selected scoped long-term-memory search tool.

Security boundary for keyless, same-machine OpenAI-compatible models.

adk_long_running_tool - Built-in tool for pausing execution.

Immutable, generation-based MCP tools/resources/prompts catalog.

Optional OTP owner for atomic MCP catalog generation swaps.

Bounded MCP client for legacy stdio/Streamable HTTP and the explicit stateless 2026-07-28 Streamable HTTP era.

Dynamic supervisor for independently-failing MCP client sessions.

Cowboy boundary for legacy and stateless modern MCP Streamable HTTP.

Bounded OAuth discovery and PKCE helper for MCP clients.

Public RFC 9728 OAuth protected-resource metadata endpoint for MCP.

Bounded FIFO connection pool for MCP clients.

Explicit MCP protocol-era dispatch.

MCP 2025-11-25 handshake-era message helpers.

Strict, bounded JSON validation for MCP protocol foundations.

MCP 2026-07-28 stateless protocol foundations.

Bounded dual-era MCP Streamable HTTP server.

Incremental, credit-driven SSE decoder for MCP Streamable HTTP.

Shared validation, canonicalization and deterministic lexical ranking for version-2 memory adapters. Storage adapters receive only bounded, JSON-safe values from this module.

Bounded provider contract for memory embeddings.

Durable application/user erasure fences.

Volatile, deterministic lexical memory adapter.

Optional hybrid lexical/vector ranking contract.

Dynamic supervisor for bounded, idempotent memory ingestion jobs.

One bounded background memory-ingestion attempt sequence.

Durable local implementation of the version-2 memory contract.

Bounded Mnesia outbox for asynchronous long-term-memory ingestion.

Checked persistence boundary for memory-outbox payloads.

Bounded concurrent processor for adk_memory_outbox.

Runtime-only registry and resolver for memory-outbox adapters.

Runtime resolver for durable memory-outbox adapter identities.

Optional supervised durable memory-ingestion runtime.

Fail-closed, bounded policy hook for memory governance.

Bounded static consent, TTL, retention and legal-hold policy.

Versioned contract for cross-session long-term memory.

Bounded exact-user-scope version-2 memory adapter.

Contract for scoped vector memory indexes.

Bounded in-memory reference implementation for vector and hybrid memory search. It is intentionally local and volatile; managed indexes can implement the same contracts without becoming runtime dependencies.

Bounded model HTTP/SSE transport backed by Gun.

Provider-neutral construction of bounded JSON model requests.

Shared fail-closed validation for outbound model HTTP headers.

Injected bounded HTTP transport contract for model providers.

Bounded incremental Server-Sent Events decoder for model providers.

Adapter behaviour for outbound OAuth token endpoint operations.

Correlated telemetry and safe structured event/log envelopes.

Supervised, bounded asynchronous observability export bus.

Optional exporter behaviour for structured Erlang ADK envelopes.

Bounded low-cardinality metric aggregation for Erlang ADK.

Versioned SDK-neutral operation span signal.

Opt-in supervision for Oidcc provider configuration workers.

Oidcc 3.7 authorization-code adapter with mandatory S256 PKCE.

Production JWT verifier backed by a supervised Oidcc provider worker.

Production outbound OAuth adapter backed by Oidcc.

Bounded request/response codec for OpenAI's Responses API.

Checked translation between ADK's provider-neutral content/history representation and OpenAI Responses API input/output items.

Logical, bounded assembler for OpenAI Responses streaming events.

Per-principal OpenAPI credential broker.

Opaque credential resolver used by compiled OpenAPI tools.

Production bounded OpenAPI HTTP transport backed by Gun.

Injected HTTP transport contract for OpenAPI tools.

Bounded local-reference resolver and JSON Schema compiler for OpenAPI.

Immutable OpenAPI 3.0/3.1 toolset compiler and bounded executor.

Bounded OTLP/HTTP JSON exporter for Erlang ADK observability signals.

Injectable transport boundary for the OTLP/HTTP JSON exporter.

Strict, dependency-light OTLP/HTTP JSON projection.

Opt-in behaviour for tools that are safe to execute concurrently.

Versioned, provider-neutral, JSON-safe planning contract.

Trusted adapter that interprets one JSON-safe plan action.

Behaviour for provider-neutral explicit planning and replanning.

Bounded, cancellable runtime for explicit plans and replanning.

Behaviour contract for ordered, Runner-scoped plugins.

Deterministic before_model context filter.

before_model plugin that prepends or appends a bounded global instruction to the system message without changing provider authority.

Deadline-aware actor for one stateful plugin instance.

Content-free structured lifecycle metadata logger.

Compiled, ordered execution pipeline for Runner-global plugins.

Convert a tool failure into bounded, model-visible retry guidance.

Dynamic supervisor for stateful plugin instances.

adk_plugin adapter for an adk_plugin_instance process.

Bounded, secret-free capability metadata shared by provider profiles.

Credential resolver for trusted model-provider profiles.

Validation and secret-free projection for operator-owned model profiles.

Read-only resolver for operator-configured model provider profiles.

Checked envelope for provider-specific result metadata.

Bounded retry execution with isolated monitored attempts.

Public, reconnectable invocation API.

Process registry and bounded terminal-run retention for adk_run.

adk_runner - Event and session execution orchestrator.

Fail-closed runtime authorization and byte-budget policy.

Bundle of the built-in session, artifact, and memory services selected by an adk_runtime_service_profile. start_link/2 is the supervised OTP entry point; start/2 is available for explicitly managed local use.

Strict compiler for the built-in local runtime-service profiles.

Provider-neutral safety-setting contract used by agent specifications.

Default-deny OIDC scope authorizer for production ADK gateways.

Bounded exact-scope router shared by sharded artifact and memory APIs.

Per-service dynamic supervisor for independently executing scope shards.

Recursive redaction for authentication data and diagnostic terms.

Validation and bounded invocation for optional ADK services.

Versioned query, pagination, and non-destructive branching for sessions.

adk_session_service - Behaviour for ADK session persistence.

Behaviour for an isolated, serializable stateful plugin instance.

Structured suspension contracts for external operations and user auth.

Public API for bounded supervised work.

Monitor-backed registry for supervised tasks.

Dynamic supervisor for bounded, independently owned tasks.

Supervised coordinator for one bounded unit of work.

Concurrent, scoped access-token cache and refresh coordinator.

Dynamic supervisor for short-lived authentication refresh workers.

Short-lived worker that resolves an opaque credential reference and invokes an authentication provider.

Structural validation for provider-emitted tool calls.

Internal contracts for human confirmation of tool side effects.

Bounded execution for already-resolved tool calls.

Generic immutable/dynamic toolset descriptor.

Strict W3C Trace Context parsing and propagation.

Metadata-only projection for developer trace retention.

Application-level wiring for the optional local trace store.

Supervised bounded retention for metadata-only traces and workflow lifecycle events.

Observability exporter adapter for the bounded developer trace store.

Fixed-delay periodic adapter for the ambient runtime.

Behaviour contract for supervised ambient trigger adapters.

Dynamic supervisor for external and periodic trigger sources.

Strict resolver for the supported Vertex AI publisher-model target.

Production UI boundary for authenticated Phoenix/HTTP applications.

Declarative, bounded workflow API.

Internal bounded workflow execution engine.

Responsive coordinator for one workflow execution.

Dynamic supervisor for independently owned workflow coordinators.

erlang_adk public API

Supervised lifecycle owner for the optional project HTTP endpoint.

erlang_adk_session - ETS-backed implementation of adk_session_service.

erlang_adk_session_mnesia - Mnesia-backed implementation of adk_session_service.

Owns the in-memory session ETS table for the lifetime of the ADK app.

erlang_adk top level supervisor.