API Reference erlang_adk v#0.7.0

View Source

Modules

Default bridge from an A2A 1.0 server to 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.

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

Bounded, supervised A2A 1.0 task store and execution coordinator.

Monitored global/per-agent admission controller.

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.

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.

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

Durable filesystem artifact service with atomic publication.

Behaviour for immutable, versioned binary artifacts.

Bounded exact-scope artifact adapter.

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.

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.

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.

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

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

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

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.

Full-case evaluator behaviour.

Deterministic full-case evaluation criteria.

Pure, bounded evaluation-report boundary for developer tooling.

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.

Versioned, bounded multi-turn agent evaluation.

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.

adk_graph - Graph-based workflow engine for Erlang ADK.

adk_graph_node - Helper functions for creating common graph nodes.

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.

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.

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

Built-in model-selected artifact attachment tool.

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

adk_long_running_tool - Built-in tool for pausing execution.

Bounded MCP 2025-11-25 client for stdio and Streamable HTTP.

Dynamic supervisor for independently-failing MCP client sessions.

Cowboy boundary for the MCP 2025-11-25 Streamable HTTP transport.

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

Bounded MCP 2025-11-25 Streamable HTTP server.

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

Volatile, deterministic lexical memory adapter.

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.

Versioned contract for cross-session long-term memory.

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

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.

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.

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.

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.

Fixed-delay periodic adapter for the ambient runtime.

Behaviour contract for supervised ambient trigger adapters.

Dynamic supervisor for external and periodic trigger sources.

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.