Packages
a2a_elixir_sdk
1.0.1
Elixir implementation of the Agent-to-Agent (A2A) protocol. Exposes ADK agents as A2A-compatible HTTP endpoints and consumes remote A2A agents as local ADK agents.
Current section
Files
Jump to
Current section
Files
lib/a2a_ex/push_config_store.ex
defmodule A2AEx.PushConfigStore do
@moduledoc """
Behaviour for managing push notification configurations for tasks.
Each task can have multiple push configs, keyed by config ID.
"""
@type store :: GenServer.server()
@doc "Save a push config for a task. Assigns an ID if not set. Returns the saved config."
@callback save(store(), String.t(), A2AEx.PushConfig.t()) ::
{:ok, A2AEx.PushConfig.t()} | {:error, term()}
@doc "Get a push config by task ID and config ID."
@callback get(store(), String.t(), String.t()) ::
{:ok, A2AEx.PushConfig.t()} | {:error, :not_found}
@doc "List all push configs for a task."
@callback list(store(), String.t()) :: {:ok, [A2AEx.PushConfig.t()]}
@doc "Delete a push config by task ID and config ID."
@callback delete(store(), String.t(), String.t()) :: :ok
end