Loads and normalizes configuration for the prompt runner.
Summary
Types
The settings that decide what a reader sees while a run is happening.
Functions
Builds the LLM configuration map for a specific prompt by deep-merging root-level defaults with per-prompt overrides.
The live view settings in force for this config.
Types
@type optional_path() :: String.t() | nil
@type t() :: %PromptRunner.Config{ adapter_opts: map(), allowed_tools: list() | nil, amp_opts: map(), antigravity_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(), cursor_opts: map(), events_mode: :compact | :full | :off, llm_sdk: PromptRunner.LLM.sdk(), log_dir: optional_path(), log_meta: :none | :full, 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, view: view() }
@type view() :: %{
log_mode: :compact | :verbose | :studio,
tool_output: :summary | :preview | :full,
thinking: :show | :hide,
diff: :none | :stat | :full
}
The settings that decide what a reader sees while a run is happening.
Grouped rather than spread across the struct because they are one concept:
PromptRunner.Control.set_view/3 changes exactly these, live, and
PromptRunner.Control.Snapshot reports exactly these back.
Functions
Builds the LLM configuration map for a specific prompt by deep-merging root-level defaults with per-prompt overrides.
The live view settings in force for this config.