Source code for app.config.main

# SPDX-License-Identifier: GPLv3-or-later
# Copyright © 2025 pygaindalf Rui Pinheiro


from frozendict import frozendict
from pydantic import Field

from ..components import AgentConfig, ProviderConfig
from ..util.config import ConfigBase
from ..util.helpers.frozendict import FrozenDict
from .default import DefaultConfig


# MARK: Main Config
[docs] class Config(ConfigBase): default: DefaultConfig = Field(default_factory=DefaultConfig, description="Default configuration for the application") providers: FrozenDict[str, ProviderConfig] = Field(default_factory=frozendict, description="Dictionary of configured providers") agents: tuple[AgentConfig, ...] = Field(default_factory=tuple, description="Tuple of configured agents")