# `ASM.Session.Continuation`
[🔗](https://github.com/nshkrdotcom/agent_session_manager/blob/v0.9.2/lib/asm/session/continuation.ex#L1)

Session checkpoint helpers for capture and restore seams.

# `checkpoint`

```elixir
@type checkpoint() :: %{
  :session_id =&gt; String.t(),
  :provider =&gt; atom(),
  :captured_at =&gt; DateTime.t(),
  optional(:run_id) =&gt; String.t(),
  optional(:provider_session_id) =&gt; String.t(),
  optional(:cost) =&gt; map(),
  optional(:metadata) =&gt; map()
}
```

# `capture`

```elixir
@spec capture(ASM.Session.State.t(), map()) :: checkpoint()
```

# `restore`

```elixir
@spec restore(ASM.Session.State.t(), checkpoint()) :: ASM.Session.State.t()
```

---

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