# `ASM.Extensions.Persistence.Adapter`
[🔗](https://github.com/nshkrdotcom/agent_session_manager/blob/v0.9.2/lib/asm/extensions/persistence/adapter.ex#L1)

Store adapter contract for persistence extension implementations.

# `append_event`

```elixir
@callback append_event(pid(), ASM.Event.t()) :: :ok | {:error, ASM.Error.t()}
```

# `list_events`

```elixir
@callback list_events(pid(), String.t()) ::
  {:ok, [ASM.Event.t()]} | {:error, ASM.Error.t()}
```

# `reset_session`

```elixir
@callback reset_session(pid(), String.t()) :: :ok | {:error, ASM.Error.t()}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
