# `ADK.Session.Store.JsonFile`
[🔗](https://github.com/zeroasterisk/adk-elixir/blob/main/lib/adk/session/store/json_file.ex#L1)

File-based JSON session store.

Stores each session as a JSON file at:
`{base_path}/{app_name}/{user_id}/{session_id}.json`

Good for development and simple deployments.

## Usage

    ADK.Session.start_link(
      app_name: "my_app",
      user_id: "user1",
      session_id: "sess1",
      store: {ADK.Session.Store.JsonFile, [base_path: "/tmp/sessions"]}
    )

# `list_all`

```elixir
@spec list_all(keyword()) :: {:ok, [map()]} | {:error, term()}
```

List all sessions across all apps and users.
Returns `{:ok, [%{id: ..., app_name: ..., user_id: ...}]}`.

Used by `ADK.Session.Recovery` to find sessions to restore after restart.

---

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