# `Impact.Config`

Resolves Impact configuration from `init/1` options and environment variables.

Endpoint resolution order (matches the JS SDK):

  1. `:endpoint` passed to `Impact.init/1`
  2. `IMPACT_BASE_URL`
  3. derived from an `impact_<region>_*` API key (`https://api.<region>.<domain>`)

# `t`

```elixir
@type t() :: %Impact.Config{
  api_key: String.t() | nil,
  capture_content: boolean(),
  diag_log_level: :none | :error | :warn | :info | :debug | :verbose,
  endpoint: String.t() | nil,
  mode: :auto | :bootstrap | :attach,
  service_name: String.t()
}
```

# `build`

```elixir
@spec build(keyword()) :: {:ok, t()} | {:error, term()}
```

# `current`

```elixir
@spec current() :: t() | nil
```

---

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