Loads and normalizes configuration for the prompt runner.
Summary
Functions
Builds the LLM configuration map for a specific prompt by deep-merging root-level defaults with per-prompt overrides.
Types
@type optional_path() :: String.t() | nil
@type t() :: %PromptRunner.Config{ adapter_opts: map(), allowed_tools: list() | nil, amp_opts: map(), append_system_prompt: String.t() | nil, claude_opts: map(), cli_confirmation: :off | :warn | :require, codex_opts: map(), codex_thread_opts: map(), commit_messages_file: optional_path(), config_dir: String.t(), events_mode: :compact | :full | :off, gemini_opts: map(), llm_sdk: PromptRunner.LLM.sdk(), log_dir: optional_path(), log_meta: :none | :full, log_mode: :compact | :verbose | :studio, max_turns: pos_integer() | nil, model: String.t(), permission_mode: atom() | nil, phase_names: map(), progress_file: optional_path(), project_dir: String.t() | nil, prompt_overrides: map(), prompts_file: optional_path(), repo_groups: map(), sdk_opts: map(), system_prompt: String.t() | map() | nil, target_repos: [repo_config()] | nil, timeout: pos_integer() | :unbounded | :infinity | nil, tool_output: :summary | :preview | :full }
Functions
Builds the LLM configuration map for a specific prompt by deep-merging root-level defaults with per-prompt overrides.