Configuration for a Gemini CLI invocation.
Every field maps to a specific CLI flag, environment variable, or subprocess
setting. Fields with nil default are omitted from the generated argument list.
Summary
Types
@type approval_mode() :: :default | :auto_edit | :yolo | :plan
@type resume_value() :: true | String.t() | nil
@type t() :: %GeminiCliSdk.Options{ allowed_mcp_server_names: [String.t()], allowed_tools: [String.t()], approval_mode: approval_mode() | nil, cwd: String.t() | nil, debug: boolean(), env: map(), execution_surface: CliSubprocessCore.ExecutionSurface.t(), extensions: [String.t()], include_directories: [String.t()], max_stderr_buffer_bytes: pos_integer(), model: String.t() | nil, model_payload: CliSubprocessCore.ModelRegistry.selection() | nil, output_format: String.t(), resume: resume_value(), sandbox: boolean(), settings: map() | nil, system_prompt: String.t() | nil, timeout_ms: pos_integer(), yolo: boolean() }