MCP elicitation request and action types.
@type action() :: :accept | :decline | :cancel
@spec decode_action(String.t()) :: action()
@spec encode_action(action()) :: String.t()