ASM.Permission (ASM v0.9.2)

Copy Markdown View Source

Normalizes permission modes into a common runtime model.

Normalized set:

  • :default
  • :auto
  • :bypass
  • :plan

Summary

Types

native_mode()

@type native_mode() :: atom()

normalization()

@type normalization() :: %{normalized: normalized_mode(), native: native_mode()}

normalized_mode()

@type normalized_mode() :: :default | :auto | :bypass | :plan

provider()

@type provider() :: :amp | :claude | :codex | :codex_exec | :gemini | :shell | atom()

Functions

canonical_provider(provider)

@spec canonical_provider(provider()) :: provider()

normalize(provider, mode)

@spec normalize(provider(), atom() | String.t()) ::
  {:ok, normalization()} | {:error, ASM.Error.t()}

normalize!(provider, mode)

@spec normalize!(provider(), atom() | String.t()) :: normalization()

normalized_modes()

@spec normalized_modes() :: [normalized_mode()]

valid_modes(provider)

@spec valid_modes(provider()) :: [atom()]