#!/usr/bin/env python3
"""Configuration loader for agentic research app."""
from pydantic_settings import BaseSettings
from functools import lru_cache


class Settings(BaseSettings):
    ollama_url: str = "http://10.0.1.127:11434"
    gpt_oss_model: str = "gpt-oss:20b"
    marker_api_url: str = "http://localhost:8001"
    ocr_url: str = "http://10.0.1.127:11434"
    deepseek_ocr_url: str = "http://10.0.1.127:11434"
    deepseek_ocr_model: str = "deepseek-ocr"
    db_host: str = "localhost"
    db_port: int = 5432
    db_name: str = "research"
    db_user: str = "research"
    db_password: str = "research123"
    app_host: str = "0.0.0.0"
    app_port: int = 8000
    workspace_dir: str = "/home/oval/Projects/agentic/workspace"
    documents_dir: str = "/home/oval/Projects/agentic/workspace/documents"
    vector_dim: int = 4096

    embedding_model: str = "qwen3-embedding:8b"

    model_config = {"env_file": ".env"}


@lru_cache()
def get_settings() -> Settings:
    return Settings()
