Packages

Elixir port of Google's Agent Development Kit (ADK) — agent orchestration, sessions, tools, LLM abstraction, plugins, and telemetry. Transport-agnostic.

Current section

Files

Jump to
adk_ex lib adk session.ex
Raw

lib/adk/session.ex

defmodule ADK.Session do
@moduledoc """
Represents a series of interactions between a user and agents.
A session holds state (scoped by app/user/session/temp prefixes),
a list of events, and identity information.
"""
@type t :: %__MODULE__{
id: String.t(),
app_name: String.t(),
user_id: String.t(),
state: map(),
events: [ADK.Event.t()],
last_update_time: DateTime.t()
}
@enforce_keys [:id, :app_name, :user_id]
defstruct [
:id,
:app_name,
:user_id,
state: %{},
events: [],
last_update_time: nil
]
end