46 lines
1.2 KiB
Python
Raw Permalink Normal View History

from .agent import CustomerSupport
from contextvars import ContextVar
from typing import Optional
import asyncio
# Context variables for application state
google_token_ctx: ContextVar[Optional[str]] = ContextVar("google_token", default=None)
gateway_token_ctx: ContextVar[Optional[str]] = ContextVar("gateway_token", default=None)
response_queue_ctx: ContextVar[Optional[asyncio.Queue]] = ContextVar(
"response_queue", default=None
)
agent_ctx: ContextVar[Optional[CustomerSupport]] = ContextVar("agent", default=None)
# Helper functions
def get_google_token_ctx() -> Optional[str]:
return google_token_ctx.get()
def set_google_token_ctx(token: str) -> None:
google_token_ctx.set(token)
def get_response_queue_ctx() -> Optional[asyncio.Queue]:
return response_queue_ctx.get()
def set_response_queue_ctx(queue: asyncio.Queue) -> None:
response_queue_ctx.set(queue)
def get_gateway_token_ctx() -> Optional[str]:
return gateway_token_ctx.get()
def set_gateway_token_ctx(token: str) -> None:
gateway_token_ctx.set(token)
def get_agent_ctx() -> Optional[CustomerSupport]:
return agent_ctx.get()
def set_agent_ctx(agent: CustomerSupport) -> None:
agent_ctx.set(agent)