Canonical schema helpers and shared validation error types for common-lane dynamic boundaries.
Summary
Types
@type error_detail() :: %{ message: String.t(), errors: map(), issues: [issue_detail()] }
@type parse_error(tag) :: {tag, error_detail()}
Functions
@spec error_details([Zoi.Error.t()]) :: error_detail()
@spec parse(Zoi.schema(), term(), term()) :: {:ok, term()} | {:error, parse_error(term())}
@spec parse!(Zoi.schema(), term(), term()) :: term()