# `Parrhesia.Negentropy.Sessions`

In-memory NIP-77 session tracking over bounded local event snapshots.

# `session_key`

```elixir
@type session_key() :: {pid(), String.t()}
```

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `close`

```elixir
@spec close(GenServer.server(), pid(), String.t()) :: :ok
```

# `message`

```elixir
@spec message(GenServer.server(), pid(), String.t(), binary()) ::
  {:ok, binary()} | {:error, term()}
```

# `open`

```elixir
@spec open(GenServer.server(), pid(), String.t(), map(), binary(), keyword()) ::
  {:ok, binary()} | {:error, term()}
```

# `start_link`

```elixir
@spec start_link(keyword()) :: GenServer.on_start()
```

---

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