OSSS.ai.config.agent_configs¶
OSSS.ai.config.agent_configs
¶
Agent Configuration Classes for Configurable Prompt Composition
This module provides Pydantic-based configuration classes for dynamic agent behavior modification. Each agent can be configured via YAML workflows or environment variables while maintaining full backward compatibility.
Architecture: - Base configuration classes for common patterns - Agent-specific configurations with validation - Integration with existing prompt system - Environment variable and workflow loading
PromptConfig
¶
Bases: BaseModel
Base configuration for prompt-related settings.
BehavioralConfig
¶
Bases: BaseModel
Base configuration for agent behavioral patterns.
OutputConfig
¶
Bases: BaseModel
Base configuration for output formatting and structure.
AgentExecutionConfig
¶
Bases: BaseModel
Base configuration for execution behavior.
RefinerConfig
¶
Bases: BaseModel
Configuration for RefinerAgent behavior and prompt composition.
CriticConfig
¶
Bases: BaseModel
Configuration for CriticAgent behavior and prompt composition.
HistorianConfig
¶
Bases: BaseModel
Configuration for HistorianAgent behavior and prompt composition.
SynthesisConfig
¶
Bases: BaseModel
Configuration for SynthesisAgent behavior and prompt composition.
FinalConfig
¶
Bases: BaseModel
Configuration for FinalAgent behavior and prompt composition.
This aligns with FinalAgent's responsibilities: - Build the final user-facing answer - Integrate RAG context when present - Enforce strict role-identity guardrails
from_dict(config)
classmethod
¶
Create FinalConfig from dictionary (workflow integration).
from_env(prefix='FINAL')
classmethod
¶
Create FinalConfig from environment variables.
to_prompt_config()
¶
Convert to a flat dict compatible with the existing prompt system.
FinalAgent can read these from ctx.execution_state["execution_config"] or a similar structure.
get_agent_config_class(agent_type)
¶
get_agent_config_class(
agent_type: Literal["refiner"],
) -> Type[RefinerConfig]
get_agent_config_class(
agent_type: Literal["critic"],
) -> Type[CriticConfig]
get_agent_config_class(
agent_type: Literal["historian"],
) -> Type[HistorianConfig]
get_agent_config_class(
agent_type: Literal["synthesis"],
) -> Type[SynthesisConfig]
get_agent_config_class(
agent_type: Literal["final"],
) -> Type[FinalConfig]
get_agent_config_class(
agent_type: str,
) -> Type[AgentConfigType]
Get the appropriate configuration class for an agent type.
create_agent_config(agent_type, config_dict)
¶
create_agent_config(
agent_type: Literal["refiner"],
config_dict: Dict[str, Any],
) -> RefinerConfig
create_agent_config(
agent_type: Literal["critic"],
config_dict: Dict[str, Any],
) -> CriticConfig
create_agent_config(
agent_type: Literal["historian"],
config_dict: Dict[str, Any],
) -> HistorianConfig
create_agent_config(
agent_type: Literal["synthesis"],
config_dict: Dict[str, Any],
) -> SynthesisConfig
create_agent_config(
agent_type: Literal["final"],
config_dict: Dict[str, Any],
) -> FinalConfig
create_agent_config(
agent_type: str, config_dict: Dict[str, Any]
) -> AgentConfigType
Factory function to create appropriate agent configuration from dictionary.