refactor(config): rename user_agent_catalog to system_agents
This commit is contained in:
@@ -13,7 +13,7 @@ from core.db.session import AsyncSessionLocal
|
||||
from core.logging import get_logger
|
||||
from models.llm import Llm
|
||||
from models.llm_factory import LlmFactory
|
||||
from models.user_agent_catalog import UserAgentCatalog
|
||||
from models.system_agents import SystemAgents
|
||||
|
||||
logger = get_logger("core.config.initial.init_data")
|
||||
|
||||
@@ -34,15 +34,15 @@ class LlmCatalogSeed(BaseModel):
|
||||
llms: list[LlmSeed]
|
||||
|
||||
|
||||
class UserAgentCatalogSeed(BaseModel):
|
||||
class SystemAgentsSeed(BaseModel):
|
||||
agent_type: str
|
||||
llm_model_code: str
|
||||
status: str
|
||||
config: dict[str, Any]
|
||||
|
||||
|
||||
class UserAgentCatalogYaml(BaseModel):
|
||||
agents: list[UserAgentCatalogSeed]
|
||||
class SystemAgentsYaml(BaseModel):
|
||||
agents: list[SystemAgentsSeed]
|
||||
|
||||
|
||||
def _default_catalog_path() -> Path:
|
||||
@@ -74,28 +74,28 @@ def load_llm_catalog(catalog_path: Path | None = None) -> dict[str, Any]:
|
||||
return parsed.model_dump()
|
||||
|
||||
|
||||
def _default_user_agent_catalog_path() -> Path:
|
||||
def _default_system_agents_path() -> Path:
|
||||
return (
|
||||
Path(__file__).resolve().parents[1]
|
||||
/ "static"
|
||||
/ "database"
|
||||
/ "user_agent_catalog.yaml"
|
||||
/ "system_agents.yaml"
|
||||
)
|
||||
|
||||
|
||||
def load_user_agent_catalog(catalog_path: Path | None = None) -> dict[str, Any]:
|
||||
path = catalog_path or _default_user_agent_catalog_path()
|
||||
def load_system_agents(catalog_path: Path | None = None) -> dict[str, Any]:
|
||||
path = catalog_path or _default_system_agents_path()
|
||||
with path.open("r", encoding="utf-8") as file:
|
||||
loaded = yaml.safe_load(file) or {}
|
||||
if not isinstance(loaded, dict):
|
||||
raise ValueError(f"Invalid user agent catalog format: {path}")
|
||||
raise ValueError(f"Invalid system agents format: {path}")
|
||||
raw_agents = loaded.get("agents", [])
|
||||
if not isinstance(raw_agents, list):
|
||||
raise ValueError(f"Invalid user agent catalog agents section: {path}")
|
||||
raise ValueError(f"Invalid system agents agents section: {path}")
|
||||
try:
|
||||
parsed = UserAgentCatalogYaml.model_validate({"agents": list(raw_agents)})
|
||||
parsed = SystemAgentsYaml.model_validate({"agents": list(raw_agents)})
|
||||
except ValidationError as exc:
|
||||
raise ValueError(f"Invalid user agent catalog data: {path}") from exc
|
||||
raise ValueError(f"Invalid system agents data: {path}") from exc
|
||||
|
||||
return parsed.model_dump()
|
||||
|
||||
@@ -135,7 +135,7 @@ async def _upsert_llm(
|
||||
llm.factory_id = factory_id
|
||||
|
||||
|
||||
async def _upsert_user_agent_catalog(
|
||||
async def _upsert_system_agents(
|
||||
session: AsyncSession,
|
||||
*,
|
||||
agent_type: str,
|
||||
@@ -144,13 +144,13 @@ async def _upsert_user_agent_catalog(
|
||||
config: dict[str, Any],
|
||||
) -> None:
|
||||
result = await session.execute(
|
||||
select(UserAgentCatalog).where(UserAgentCatalog.agent_type == agent_type)
|
||||
select(SystemAgents).where(SystemAgents.agent_type == agent_type)
|
||||
)
|
||||
catalog_entry = result.scalar_one_or_none()
|
||||
|
||||
if catalog_entry is None:
|
||||
session.add(
|
||||
UserAgentCatalog(
|
||||
SystemAgents(
|
||||
agent_type=agent_type,
|
||||
llm_id=llm_id,
|
||||
status=status,
|
||||
@@ -163,9 +163,9 @@ async def _upsert_user_agent_catalog(
|
||||
catalog_entry.config = config
|
||||
|
||||
|
||||
async def initialize_user_agent_catalog() -> None:
|
||||
"""Initialize user agent catalog from YAML."""
|
||||
catalog = load_user_agent_catalog()
|
||||
async def initialize_system_agents() -> None:
|
||||
"""Initialize system agents from YAML."""
|
||||
catalog = load_system_agents()
|
||||
|
||||
async with AsyncSessionLocal() as session:
|
||||
async with session.begin():
|
||||
@@ -179,7 +179,7 @@ async def initialize_user_agent_catalog() -> None:
|
||||
f"LLM model '{agent['llm_model_code']}' not found for agent type '{agent['agent_type']}'"
|
||||
)
|
||||
|
||||
await _upsert_user_agent_catalog(
|
||||
await _upsert_system_agents(
|
||||
session,
|
||||
agent_type=agent["agent_type"],
|
||||
llm_id=llm.id,
|
||||
@@ -187,7 +187,7 @@ async def initialize_user_agent_catalog() -> None:
|
||||
config=agent["config"],
|
||||
)
|
||||
|
||||
logger.info("Initialized user agent catalog")
|
||||
logger.info("Initialized system agents")
|
||||
|
||||
|
||||
async def initialize_llm_catalog() -> None:
|
||||
@@ -225,6 +225,6 @@ async def initialize_llm_catalog() -> None:
|
||||
async def initialize_data() -> bool:
|
||||
"""Initialize bootstrap data."""
|
||||
await initialize_llm_catalog()
|
||||
await initialize_user_agent_catalog()
|
||||
await initialize_system_agents()
|
||||
|
||||
return True
|
||||
|
||||
Reference in New Issue
Block a user