from __future__ import annotations from enum import Enum from pydantic import BaseModel, Field class AgentType(str, Enum): ROUTER = "router" WORKER = "worker" class ContextBuildStrategy(str, Enum): DAY = "day" NUMBER = "number" class ContextMessagesConfig(BaseModel): mode: ContextBuildStrategy = ContextBuildStrategy.NUMBER count: int = Field(default=20, ge=1, le=200) class SystemAgentLLMConfig(BaseModel): temperature: float | None = Field(default=None, ge=0.0, le=2.0) max_tokens: int | None = Field(default=None, ge=1) timeout_seconds: float | None = Field(default=30.0, gt=0.0, le=300.0) context_messages: ContextMessagesConfig = Field( default_factory=ContextMessagesConfig ) enabled_tools: list[str] = Field(default_factory=list, max_length=32)