# `ExMCP.ACP.LifecycleParams`
[🔗](https://github.com/azmaveth/ex_mcp/blob/v1.0.0/lib/ex_mcp/acp/lifecycle_params.ex#L1)

Pure normalization and validation for ACP session lifecycle parameters.

# `absolute_path?`

```elixir
@spec absolute_path?(any()) :: boolean()
```

# `additional_directories`

```elixir
@spec additional_directories(keyword() | map() | nil) :: any()
```

# `client_opts`

```elixir
@spec client_opts(keyword()) :: keyword()
```

# `mcp_servers`

```elixir
@spec mcp_servers(keyword() | map() | nil) :: list()
```

# `normalize`

```elixir
@spec normalize(map(), keyword() | map() | nil) :: map()
```

# `valid_additional_directories?`

```elixir
@spec valid_additional_directories?(any()) :: boolean()
```

# `validate`

```elixir
@spec validate(
  keyword(),
  map() | nil
) :: :ok | {:error, term()}
```

# `validate_additional_directories!`

```elixir
@spec validate_additional_directories!(keyword() | map() | nil | [String.t()]) ::
  [String.t()] | nil
```

# `validate_cwd`

```elixir
@spec validate_cwd(any()) :: :ok | {:error, {:invalid_params, :cwd_must_be_absolute}}
```

---

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