OSSS.ai.config.logging_config¶
OSSS.ai.config.logging_config
¶
Configuration mapper for supporting both flat chart format and nested Pydantic format.
This module handles the mapping between: 1. Flat format (chart workflows): custom_constraints: ["term1", "term2"] 2. Nested format (Pydantic): behavioral_config.custom_constraints: ["term1", "term2"]
Modernized to use Pydantic's native validation and transformation capabilities while maintaining backward compatibility with existing chart workflows.
ConfigMapper
¶
Maps between flat configuration format (used in chart workflows) and nested Pydantic format (used in our configuration classes).
map_flat_to_nested(flat_config, agent_type)
classmethod
¶
Convert flat configuration format to nested Pydantic format.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
flat_config
|
Dict[str, Any]
|
Configuration in flat format (e.g., from chart workflows) |
required |
agent_type
|
str
|
Type of agent ('refiner', 'critic', 'historian', 'synthesis') |
required |
Returns:
| Type | Description |
|---|---|
Dict[str, Any]
|
Configuration in nested format suitable for Pydantic validation |
create_agent_config(flat_config, agent_type)
classmethod
¶
Create a Pydantic agent configuration from flat configuration format.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
flat_config
|
Dict[str, Any]
|
Configuration in flat format |
required |
agent_type
|
str
|
Type of agent ('refiner', 'critic', 'historian', 'synthesis') |
required |
Returns:
| Type | Description |
|---|---|
AgentConfigType
|
Appropriate Pydantic configuration object |
Raises:
| Type | Description |
|---|---|
ValueError
|
If agent_type is not supported |
model_validate_config(config_data, agent_type)
classmethod
¶
model_validate_config(
config_data: Optional[Dict[str, Any]],
agent_type: Literal["refiner"],
) -> Optional[RefinerConfig]
model_validate_config(
config_data: Optional[Dict[str, Any]],
agent_type: Literal["critic"],
) -> Optional[CriticConfig]
model_validate_config(
config_data: Optional[Dict[str, Any]],
agent_type: Literal["historian"],
) -> Optional[HistorianConfig]
model_validate_config(
config_data: Optional[Dict[str, Any]],
agent_type: Literal["synthesis"],
) -> Optional[SynthesisConfig]
model_validate_config(
config_data: Optional[Dict[str, Any]], agent_type: str
) -> Optional[AgentConfigType]
Validate configuration data using Pydantic's model_validate().
This is the modernized approach that leverages Pydantic's native validation and error handling capabilities.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
config_data
|
Optional[Dict[str, Any]]
|
Configuration data in either format |
required |
agent_type
|
str
|
Type of agent |
required |
Returns:
| Type | Description |
|---|---|
Optional[AgentConfigType]
|
Pydantic configuration object or None if validation fails |
validate_and_create_config(config_data, agent_type)
classmethod
¶
validate_and_create_config(
config_data: Dict[str, Any],
agent_type: Literal["refiner"],
) -> Optional[RefinerConfig]
validate_and_create_config(
config_data: Dict[str, Any],
agent_type: Literal["critic"],
) -> Optional[CriticConfig]
validate_and_create_config(
config_data: Dict[str, Any],
agent_type: Literal["historian"],
) -> Optional[HistorianConfig]
validate_and_create_config(
config_data: Dict[str, Any],
agent_type: Literal["synthesis"],
) -> Optional[SynthesisConfig]
validate_and_create_config(
config_data: Dict[str, Any], agent_type: str
) -> Optional[AgentConfigType]
Validate configuration data and create appropriate config object.
Maintained for backward compatibility. New code should use model_validate_config().
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
config_data
|
Dict[str, Any]
|
Configuration data in either format |
required |
agent_type
|
str
|
Type of agent |
required |
Returns:
| Type | Description |
|---|---|
Optional[AgentConfigType]
|
Pydantic configuration object or None if creation fails |