from __future__ import annotations import httpx from app.models.event import OutboundEvent class MciServerClient: def __init__(self, base_url: str, timeout: float = 10.0): self.base_url = base_url.rstrip("/") self.timeout = timeout async def post_event(self, event: OutboundEvent) -> None: async with httpx.AsyncClient(timeout=self.timeout) as client: response = await client.post( f"{self.base_url}/api/v1/channel-account/event", json=event.to_payload(), ) response.raise_for_status()