mirror of
https://github.com/hoshikawa2/agent_platform_oci.git
synced 2026-07-09 22:04:21 +00:00
47 lines
1.6 KiB
Python
47 lines
1.6 KiB
Python
from __future__ import annotations
|
|
|
|
from typing import Literal
|
|
from dotenv import load_dotenv
|
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
|
|
load_dotenv(override=False)
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
model_config = SettingsConfigDict(env_file='.env', env_file_encoding='utf-8', extra='ignore')
|
|
|
|
APP_NAME: str = 'external-channel-gateway'
|
|
LOG_LEVEL: str = 'INFO'
|
|
API_HOST: str = '0.0.0.0'
|
|
API_PORT: int = 7000
|
|
CORS_ORIGINS: str = 'http://localhost:5173,http://127.0.0.1:5173'
|
|
|
|
# adapter = receive native/simple channel payloads and translate them to GatewayRequest.
|
|
# proxy = receive only GatewayRequest and forward it after validation.
|
|
CHANNEL_GATEWAY_RUNTIME_MODE: Literal['adapter','proxy'] = 'adapter'
|
|
# Legacy alias accepted only for compatibility. Prefer CHANNEL_GATEWAY_RUNTIME_MODE.
|
|
CHANNEL_GATEWAY_MODE: str | None = None
|
|
|
|
AGENT_FRAMEWORK_BASE_URL: str = 'http://localhost:8000'
|
|
AGENT_FRAMEWORK_GATEWAY_PATH: str = '/gateway/message'
|
|
DEFAULT_TENANT_ID: str = 'default'
|
|
DEFAULT_AGENT_ID: str = 'telecom_contas'
|
|
REQUEST_TIMEOUT_SECONDS: float = 120.0
|
|
|
|
INTERNAL_GATEWAY_TOKEN: str | None = None
|
|
|
|
@property
|
|
def runtime_mode(self) -> str:
|
|
legacy = (self.CHANNEL_GATEWAY_MODE or '').strip().lower()
|
|
if legacy in {'adapter', 'proxy'}:
|
|
return legacy
|
|
# Legacy mapping for old deployments: embedded meant adapters on.
|
|
if legacy == 'embedded':
|
|
return 'adapter'
|
|
if legacy == 'external':
|
|
return 'proxy'
|
|
return self.CHANNEL_GATEWAY_RUNTIME_MODE
|
|
|
|
|
|
settings = Settings()
|