ASM.Permission (ASM v0.12.1)

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
  | :antigravity
  | :claude
  | :codex
  | :codex_exec
  | :cursor
  | :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()]