# `ClaudeAgentSDK.SessionStore.Summary`
[🔗](https://github.com/nshkrdotcom/claude_agent_sdk/blob/v0.18.0/lib/claude_agent_sdk/session_store/summary.ex#L1)

Incremental summary folding for SessionStore adapters.

# `file_path_to_session_key`

```elixir
@spec file_path_to_session_key(String.t(), String.t()) ::
  ClaudeAgentSDK.SessionStore.Key.t() | nil
```

Converts a local Claude transcript path into a SessionStore key.

# `fold_session_summary`

```elixir
@spec fold_session_summary(map() | nil, ClaudeAgentSDK.SessionStore.Key.input(), [
  map()
]) :: map()
```

Folds appended transcript entries into an opaque summary sidecar.

# `project_key_for_directory`

```elixir
@spec project_key_for_directory(String.t() | nil) :: String.t()
```

Derives the store `project_key` for a directory using the same path
sanitization as local Claude transcript directories.

# `summary_entry_to_session_info`

```elixir
@spec summary_entry_to_session_info(map(), String.t() | nil) ::
  ClaudeAgentSDK.Session.SessionInfo.t() | nil
```

Converts a folded summary into `ClaudeAgentSDK.Session.SessionInfo`.

---

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