GEPA.LLM.Adapters.AgentSessionManager (GEPA v0.3.0)

Copy Markdown View Source

GEPA LLM adapter backed by Agent Session Manager.

This is the local/CLI adapter for the temporary GEPA facade. It uses ASM's public query/stream APIs and normalizes results into GEPA.LLM.Response.

Summary

Types

lane()

@type lane() :: :auto | :core | :sdk

provider()

@type provider() :: :claude | :codex | :codex_exec | :gemini | :amp

t()

@type t() :: %GEPA.LLM.Adapters.AgentSessionManager{
  asm_module: module(),
  lane: lane(),
  provider: provider(),
  provider_opts: keyword(),
  query_opts: keyword(),
  session: term(),
  session_opts: keyword(),
  stream_opts: keyword()
}

Functions

build_state(opts)

@spec build_state(keyword()) :: {:ok, t()} | {:error, term()}

capabilities(client)

@spec capabilities(GEPA.LLM.Client.t()) :: MapSet.t(atom())

close(client)

@spec close(GEPA.LLM.Client.t()) :: :ok | {:error, term()}

complete(client, request)

@spec complete(GEPA.LLM.Client.t(), GEPA.LLM.Request.t()) ::
  {:ok, GEPA.LLM.Response.t()} | {:error, term()}

new(opts \\ [])

@spec new(keyword()) :: {:ok, GEPA.LLM.Client.t()} | {:error, term()}

new!(opts \\ [])

@spec new!(keyword()) :: GEPA.LLM.Client.t()

stream(client, request)

@spec stream(GEPA.LLM.Client.t(), GEPA.LLM.Request.t()) ::
  {:ok, Enumerable.t()} | {:error, term()}