# `Codex.Protocol.Plugin.InstallPolicySource`
[🔗](https://github.com/nshkrdotcom/codex_sdk/blob/v0.18.1/lib/codex/protocol/plugin/policies.ex#L64)

Source that established a plugin's install policy.

# `t`

```elixir
@type t() :: :workspace_setting | :implicit_canonical_app | String.t()
```

# `normalize`

```elixir
@spec normalize(term()) :: {:ok, t()} | {:error, String.t()}
```

# `normalize_zoi`

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

# `parse`

```elixir
@spec parse(term()) ::
  {:ok, t()}
  | {:error,
     {:invalid_plugin_install_policy_source,
      CliSubprocessCore.Schema.error_detail()}}
```

# `parse!`

```elixir
@spec parse!(term()) :: t()
```

# `schema`

```elixir
@spec schema() :: Zoi.schema()
```

# `to_wire`

```elixir
@spec to_wire(t()) :: String.t()
```

---

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