helpers/settings.py.dox.md
settings.py helper module.settings.py because this directory is intentionally flat.settings.py owns the runtime implementation.settings.py.dox.md owns durable notes about responsibilities, contracts, side effects, and verification for that implementation.Settings (TypedDict)PartialSettings (Settings)FieldOption (TypedDict)SettingsField (TypedDict)SettingsSection (TypedDict)ModelProvider (ProvidersFO)SettingsOutputAdditional (TypedDict)SettingsOutput (TypedDict)get_default_value(name: str, value: T) -> T: Load setting value from .env with A0_SET_ prefix, falling back to default._ensure_option_present(options: list[OptionT] | None, current_value: str | None) -> list[OptionT]: Ensure the currently selected value exists in a dropdown options list._is_valid_timezone(value: str) -> bool_normalize_timezone_setting(value: Any, default: str=...) -> str_normalize_time_format(value: Any, default: str=...) -> str_resolve_runtime_timezone(setting_value: str, browser_timezone: str | None=...) -> str_timezone_options() -> list[FieldOption]convert_out(settings: Settings) -> SettingsOutput_get_api_key_field(settings: Settings, provider: str, title: str) -> SettingsFieldconvert_in(settings: Settings) -> Settingsget_settings() -> Settingsreload_settings() -> Settingsset_runtime_settings_snapshot(settings: Settings) -> Noneset_settings(settings: Settings, apply: bool=..., browser_timezone: str | None=...)set_settings_delta(delta: dict, apply: bool=...)merge_settings(original: Settings, delta: dict) -> Settingsnormalize_settings(settings: Settings) -> Settings_adjust_to_version(settings: Settings, default: Settings)_load_sensitive_settings(settings: Settings)_read_settings_file() -> Settings | None_write_settings_file(settings: Settings)_remove_sensitive_settings(settings: Settings)_write_sensitive_settings(settings: Settings)get_default_settings() -> Settings_apply_timezone_setting(previous: Settings | None, browser_timezone: str | None=...) -> None_apply_settings(previous: Settings | None, browser_timezone: str | None=...)_env_to_dict(data: str)_dict_to_env(data_dict)set_root_password(password: str)get_runtime_config(set: Settings)T, PASSWORD_PLACEHOLDER, API_KEY_PLACEHOLDER, TIMEZONE_AUTO, TIME_FORMAT_12H, TIME_FORMAT_24H, SETTINGS_FILE.base64, hashlib, helpers, helpers.notification, helpers.print_style, helpers.providers, helpers.secrets, json, models, os, pytz, re, subprocess, typing.TypeVar, files.get_abs_path, dotenv.get_dotenv_value, opts.insert, str.strip, _is_valid_timezone, str.strip.lower, _normalize_timezone_setting, SettingsOutput, get_default_settings, _ensure_option_present, _resolve_runtime_timezone, get_default_secrets_manager, get_settings, normalize_settings, _load_sensitive_settings, settings.copy, _write_settings_file, reload_settings, set_settings, initialize_agent.MCPConfig.update(...) with the current mcp_servers string when global MCP server settings change.tests/test_browser_agent_regressions.pytests/test_document_query_plugin.pytests/test_download_toast_regressions.pytests/test_fasta2a_client.pytests/test_mcp_handler_multimodal.pytests/test_model_config_api_keys.pytests/test_model_config_project_presets.pytests/test_oauth_static.pytests/test_subagent_profiles.pyNo child DOX files.