cadrumo.core.config_llm_fields module

LLM provider, cache, telemetry, and usage-retention settings.

Split from config to keep the central settings facade within the line budget. Settings inherits these fields (through the mixin) with their declared validation and defaults. The path fields declared here are normalized and lifecycle-classified on Settings by name through inheritance; the optional API-key secrets are blank-to-None coerced there too.

See also

Settings

Central environment facade that inherits this mixin, normalizes its path fields, and coerces its optional secret fields.

load_settings()

Runtime entry point used by LLM consumers to read these fields.

class CadrumoLlmSettings(_case_sensitive=None, _nested_model_default_partial_update=None, _env_prefix=None, _env_prefix_target=None, _env_file=PosixPath('.'), _env_file_encoding=None, _env_ignore_empty=None, _env_nested_delimiter=None, _env_nested_max_split=None, _env_parse_none_str=None, _env_parse_enums=None, _cli_prog_name=None, _cli_parse_args=None, _cli_settings_source=None, _cli_parse_none_str=None, _cli_hide_none_type=None, _cli_avoid_json=None, _cli_enforce_required=None, _cli_use_class_docs_for_groups=None, _cli_show_env_vars=None, _cli_exit_on_error=None, _cli_prefix=None, _cli_flag_prefix_char=None, _cli_implicit_flags=None, _cli_ignore_unknown_args=None, _cli_kebab_case=None, _cli_shortcuts=None, _secrets_dir=None, _build_sources=None, **values)[source]

Bases: CadrumoIntegrationSettings

Settings for the LLM provider, its on-disk caches, and retention windows.

Parameters:
  • _case_sensitive (bool | None)

  • _nested_model_default_partial_update (bool | None)

  • _env_prefix (str | None)

  • _env_prefix_target (EnvPrefixTarget | None)

  • _env_file (DotenvType | None)

  • _env_file_encoding (str | None)

  • _env_ignore_empty (bool | None)

  • _env_nested_delimiter (str | None)

  • _env_nested_max_split (int | None)

  • _env_parse_none_str (str | None)

  • _env_parse_enums (bool | None)

  • _cli_prog_name (str | None)

  • _cli_parse_args (bool | list[str] | tuple[str, ...] | None)

  • _cli_settings_source (CliSettingsSource[Any] | None)

  • _cli_parse_none_str (str | None)

  • _cli_hide_none_type (bool | None)

  • _cli_avoid_json (bool | None)

  • _cli_enforce_required (bool | None)

  • _cli_use_class_docs_for_groups (bool | None)

  • _cli_show_env_vars (bool | None)

  • _cli_exit_on_error (bool | None)

  • _cli_prefix (str | None)

  • _cli_flag_prefix_char (str | None)

  • _cli_implicit_flags (bool | Literal['dual', 'toggle'] | None)

  • _cli_ignore_unknown_args (bool | None)

  • _cli_kebab_case (bool | Literal['all', 'no_enums'] | None)

  • _cli_shortcuts (Mapping[str, str | list[str]] | None)

  • _secrets_dir (PathType | None)

  • _build_sources (tuple[tuple[PydanticBaseSettingsSource, ...], dict[str, Any]] | None)

  • cadrumo_browser_navigation_timeout_ms (Annotated[int, Gt(gt=0)])

  • cadrumo_browser_form_interaction_timeout_ms (Annotated[int, Gt(gt=0)])

  • cadrumo_browser_ver_click_timeout_ms (Annotated[int, Gt(gt=0)])

  • cadrumo_browser_buscar_settle_ms (Annotated[int, Gt(gt=0)])

  • cadrumo_browser_selector_probe_timeout_ms (Annotated[int, Gt(gt=0)])

  • cadrumo_browser_close_timeout_ms (Annotated[int, Gt(gt=0)])

  • cadrumo_live_iva_surface_timeout_ms (Annotated[int, Gt(gt=0)])

  • cadrumo_live_iva_declaration_capture_timeout_ms (Annotated[int, Gt(gt=0)])

  • cadrumo_live_filed_register_walk_timeout_ms (Annotated[int, Gt(gt=0)])

  • cadrumo_live_iva_cancellation_drain_ms (Annotated[int, Ge(ge=0)])

  • cadrumo_live_iva_cli_watchdog_timeout_ms (Annotated[int, Gt(gt=0)])

  • cadrumo_fx_rate_lookup_timeout_s (Annotated[int, Gt(gt=0)])

  • cadrumo_llm_openai_chat_completions_url (str)

  • cadrumo_llm_gemini_generate_content_template (str)

  • cadrumo_llm_ollama_chat_url (str)

  • cadrumo_llm_ollama_num_ctx (Annotated[int, Gt(gt=0)])

  • cadrumo_llm_vision_read_timeout_s (Annotated[int, Gt(gt=0)])

  • cadrumo_llm_ollama_vision_model (str)

  • cadrumo_llm_ollama_text_model (str)

  • cadrumo_llm_ollama_mapping_model (str)

  • cadrumo_llm_cloud_vision_model (str)

  • cadrumo_llm_cloud_text_model (str)

  • cadrumo_llm_cloud_mapping_model (str)

  • cadrumo_llm_model_runtime_memory_floor_bytes (Annotated[int, Gt(gt=0)])

  • cadrumo_llm_contention_safety_margin_bytes (Annotated[int, Ge(ge=0)])

  • cadrumo_llm_contention_check_override (bool)

  • cadrumo_llm_local_inference_concurrency (Annotated[int, Ge(ge=1)])

  • cadrumo_llm_default_max_tokens (Annotated[int, Gt(gt=0)])

  • cadrumo_llm_default_temperature (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • cadrumo_browser_locale (Annotated[str, MinLen(min_length=2)])

  • cadrumo_browser_timezone (Annotated[str, MinLen(min_length=1)])

  • cadrumo_browser_viewport_width (Annotated[int, Gt(gt=0)])

  • cadrumo_browser_viewport_height (Annotated[int, Gt(gt=0)])

  • cadrumo_file_lock_timeout_s (Annotated[float, Gt(gt=0)])

  • cadrumo_file_lock_retry_backoff_s (Annotated[float, Gt(gt=0)])

  • cadrumo_bucket_lock_poll_interval_s (Annotated[float, Gt(gt=0)])

  • cadrumo_bucket_default_idle_lock_minutes (Annotated[int, Gt(gt=0)])

  • cadrumo_bucket_default_session_absolute_minutes (Annotated[int, Gt(gt=0), Ge(ge=60), Le(le=720)])

  • cadrumo_auth_clave_movil_lock_buffer_s (Annotated[int, Gt(gt=0)])

  • cadrumo_auth_certificate_lock_ttl_s (Annotated[int, Gt(gt=0)])

  • cadrumo_log_stderr_level (str)

  • cadrumo_log_file_level (str)

  • cadrumo_log_file_max_bytes (Annotated[int, Ge(ge=1)])

  • cadrumo_log_file_backup_count (Annotated[int, Ge(ge=0)])

  • cadrumo_log_root_level (str)

  • cadrumo_manuals_http_timeout_s (Annotated[float, Gt(gt=0)])

  • cadrumo_google_drive_vault_folder_name (Annotated[str, MinLen(min_length=1)])

  • cadrumo_google_oauth_access_refresh_buffer_s (Annotated[int, Gt(gt=0)])

  • cadrumo_calc_sheets_recalc_delay_s (Annotated[float, Gt(gt=0)])

  • financial_base_currency (str)

  • financial_default_csv_encoding (str)

  • cadrumo_financial_txs_dir (Path)

  • cadrumo_invoices_dir (Path)

  • cadrumo_attachments_dir (Path)

  • cadrumo_usage_ratios_path (Path)

  • cadrumo_llm_provider (LLMProvider)

  • cadrumo_llm_model (str)

  • cadrumo_llm_anthropic_api_key (SecretStr | None)

  • cadrumo_llm_openai_api_key (SecretStr | None)

  • cadrumo_llm_gemini_api_key (SecretStr | None)

  • cadrumo_llm_cache_dir (Path)

  • cadrumo_llm_usage_dir (Path)

  • cadrumo_llm_run_telemetry_dir (Path)

  • cadrumo_llm_run_telemetry_retention_days (Annotated[int, Ge(ge=1)])

  • cadrumo_llm_run_telemetry_max_records (Annotated[int, Ge(ge=1)])

  • cadrumo_llm_cache_retention_days (Annotated[int, Ge(ge=1)])

  • cadrumo_llm_cache_max_records (Annotated[int, Ge(ge=1)])

  • cadrumo_llm_usage_retention_days (Annotated[int, Ge(ge=1)])

  • cadrumo_llm_usage_max_records (Annotated[int, Ge(ge=1)])

  • cadrumo_llm_default_timeout_s (int)

  • cadrumo_llm_max_retries (int)

cadrumo_llm_provider: LLMProvider
cadrumo_llm_model: str
cadrumo_llm_anthropic_api_key: SecretStr | None
cadrumo_llm_openai_api_key: SecretStr | None
cadrumo_llm_gemini_api_key: SecretStr | None
cadrumo_llm_cache_dir: Path
cadrumo_llm_usage_dir: Path
cadrumo_llm_run_telemetry_dir: Path
cadrumo_llm_run_telemetry_retention_days: int
cadrumo_llm_run_telemetry_max_records: int
cadrumo_llm_cache_retention_days: int
cadrumo_llm_cache_max_records: int
cadrumo_llm_usage_retention_days: int
cadrumo_llm_usage_max_records: int
cadrumo_llm_default_timeout_s: int
cadrumo_llm_max_retries: int