Pure helpers for ACP capability maps.
ACP capabilities are JSON-shaped maps, but callers may pass atom-keyed maps in tests or local APIs. This module centralizes those lookups.
@spec advertise_adapter_session_fork(map(), module()) :: map()
@spec advertise_adapter_session_list(map(), module()) :: map()
@spec ensure(map() | nil, atom()) :: :ok | {:error, {:unsupported_capability, atom()}}
@spec from_handler(module()) :: map()
@spec merge(map(), map() | nil) :: map()
@spec put(map(), atom(), boolean() | map()) :: map()
@spec supported?(map() | nil, atom()) :: boolean()