from typing import Optional from pydantic import Field, PositiveInt from pydantic_settings import BaseSettings class PGVectoRSConfig(BaseSettings): """ Configuration settings for PGVecto.RS (Rust-based vector extension for PostgreSQL) """ PGVECTO_RS_HOST: Optional[str] = Field( description="Hostname or IP address of the PostgreSQL server with PGVecto.RS extension (e.g., 'localhost')", default=None, ) PGVECTO_RS_PORT: PositiveInt = Field( description="Port number on which the PostgreSQL server with PGVecto.RS is listening (default is 5431)", default=5431, ) PGVECTO_RS_USER: Optional[str] = Field( description="Username for authenticating with the PostgreSQL database using PGVecto.RS", default=None, ) PGVECTO_RS_PASSWORD: Optional[str] = Field( description="Password for authenticating with the PostgreSQL database using PGVecto.RS", default=None, ) PGVECTO_RS_DATABASE: Optional[str] = Field( description="Name of the PostgreSQL database with PGVecto.RS extension to connect to", default=None, )