import logging import os import time from typing import Any, Optional from omagent_core.engine.configuration.settings.authentication_settings import \ AuthenticationSettings from pydantic import Field from pydantic_settings import BaseSettings AAAS_TEMPLATE_CONFIG = { "name": "AaasConfig", "base_url": { "value": "http://localhost:30002", "description": "The aaas task server API endpoint", "env_var": "AAAS_TASK_SERVER_URL", }, "token": { "value": None, "description": "The authorization token", "env_var": "AAAS_TOKEN", }, "enable": { "value": True, "description": "Whether to enable the aaas task server", "env_var": "AAAS_ENABLE", }, "domain_token": { "value": None, "description": "The domain token", "env_var": "DOMAIN_TOKEN", }, "is_prod": { "value": False, "description": "Whether it is a production environment", "env_var": "IS_PROD", } } class AaasConfig(BaseSettings): class Config: """Configuration for this pydantic object.""" extra = "allow" base_url: str = Field( default="http://localhost:30002", description="The aaas task server API endpoint" ) token: Optional[str] = Field( default=None, description="The authorization token", ) enable: bool = Field( default=True, description="Whether to enable the aaas task server", ) domain_token: Optional[str] = Field( default=None, description="The domain token", ) is_prod: bool = Field( default=False, description="Whether it is a production environment", ) def model_post_init(self, __context: Any) -> None: self.host = self.base_url + "/api"