Lean MCP implementation
This commit is contained in:
53
src/va_agent/config.py
Normal file
53
src/va_agent/config.py
Normal file
@@ -0,0 +1,53 @@
|
||||
"""Configuration helper for ADK agent."""
|
||||
|
||||
import os
|
||||
|
||||
from pydantic_settings import (
|
||||
BaseSettings,
|
||||
PydanticBaseSettingsSource,
|
||||
SettingsConfigDict,
|
||||
YamlConfigSettingsSource,
|
||||
)
|
||||
|
||||
CONFIG_FILE_PATH = os.getenv("CONFIG_YAML", "config.yaml")
|
||||
|
||||
|
||||
class AgentSettings(BaseSettings):
|
||||
"""Settings for ADK agent with vector search."""
|
||||
|
||||
google_cloud_project: str
|
||||
google_cloud_location: str
|
||||
|
||||
# Agent configuration
|
||||
agent_name: str
|
||||
agent_instructions: str
|
||||
agent_model: str
|
||||
|
||||
# Firestore configuration
|
||||
firestore_db: str
|
||||
|
||||
# MCP configuration
|
||||
mcp_remote_url: str
|
||||
|
||||
model_config = SettingsConfigDict(
|
||||
yaml_file=CONFIG_FILE_PATH,
|
||||
extra="ignore", # Ignore extra fields from config.yaml
|
||||
)
|
||||
|
||||
@classmethod
|
||||
def settings_customise_sources(
|
||||
cls,
|
||||
settings_cls: type[BaseSettings],
|
||||
init_settings: PydanticBaseSettingsSource, # noqa: ARG003
|
||||
env_settings: PydanticBaseSettingsSource,
|
||||
dotenv_settings: PydanticBaseSettingsSource, # noqa: ARG003
|
||||
file_secret_settings: PydanticBaseSettingsSource, # noqa: ARG003
|
||||
) -> tuple[PydanticBaseSettingsSource, ...]:
|
||||
"""Use env vars and YAML as settings sources."""
|
||||
return (
|
||||
env_settings,
|
||||
YamlConfigSettingsSource(settings_cls),
|
||||
)
|
||||
|
||||
|
||||
settings = AgentSettings.model_validate({})
|
||||
Reference in New Issue
Block a user