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

Root dynamic supervisor for session subtrees.

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `list_sessions`

```elixir
@spec list_sessions() :: [String.t()]
```

# `start_link`

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

# `start_session`

```elixir
@spec start_session(keyword()) :: DynamicSupervisor.on_start_child()
```

# `start_session`

```elixir
@spec start_session(
  GenServer.server(),
  keyword()
) :: DynamicSupervisor.on_start_child()
```

# `stop_session`

```elixir
@spec stop_session(String.t() | pid()) :: :ok | {:error, :not_found}
```

# `stop_session`

```elixir
@spec stop_session(GenServer.server(), String.t() | pid()) ::
  :ok | {:error, :not_found}
```

---

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