Standardized configuration structure for Lux agents.
Creates a new Config struct from a map of attributes.
Validates a configuration struct.
@type t() :: %Lux.Agent.Config{ beams: list(), description: String.t(), goal: String.t(), id: String.t(), lenses: list(), llm_config: map(), module: module() | String.t(), name: String.t(), prisms: list(), signal_handlers: list(), template: atom(), template_opts: map() }
@spec new(map()) :: {:ok, t()} | {:error, term()}
@spec validate(t()) :: :ok | {:error, term()}