TIQ-Test-Backend / runtime_context.py
Shakeel401's picture
Upload 12 files
6981c56 verified
Raw
History Blame Contribute Delete
2.07 kB
thread_context = {}
def set_thread_id(thread_id: str):
thread_context["thread_id"] = thread_id
def get_thread_id():
return thread_context.get("thread_id", "unknown")
AI_ENABLED_CACHE = True
def set_ai_enabled(value: bool):
global AI_ENABLED_CACHE
AI_ENABLED_CACHE = bool(value)
def is_ai_enabled():
return AI_ENABLED_CACHE
CUSTOMER_AI_ENABLED_CACHE: dict[str, bool] = {}
def normalize_phone(phone: str | None) -> str:
return (phone or "").strip()
def set_customer_ai_enabled(phone: str | None, value: bool):
normalized_phone = normalize_phone(phone)
if not normalized_phone:
return
CUSTOMER_AI_ENABLED_CACHE[normalized_phone] = bool(value)
def set_customer_ai_enabled_for_phone(phone: str | None, value: bool):
set_customer_ai_enabled(phone, value)
def is_customer_ai_enabled(phone: str | None) -> bool:
normalized_phone = normalize_phone(phone)
if not normalized_phone:
return True
return CUSTOMER_AI_ENABLED_CACHE.get(normalized_phone, True)
def get_customer_ai_enabled(phone: str | None) -> bool:
return is_customer_ai_enabled(phone)
def remove_customer_ai_enabled(phone: str | None):
normalized_phone = normalize_phone(phone)
if normalized_phone:
CUSTOMER_AI_ENABLED_CACHE.pop(normalized_phone, None)
def load_customer_ai_enabled_cache(rows: list[dict]):
CUSTOMER_AI_ENABLED_CACHE.clear()
for row in rows or []:
phone = normalize_phone(row.get("phone") or row.get("thread_id"))
if not phone:
continue
CUSTOMER_AI_ENABLED_CACHE[phone] = bool(row.get("ai_enabled", True))
def get_customer_ai_enabled_cache():
return CUSTOMER_AI_ENABLED_CACHE.copy()
SYSTEM_PROMPT_VARIABLE_CACHE = ""
def set_system_prompt_variable(value: str | None):
global SYSTEM_PROMPT_VARIABLE_CACHE
SYSTEM_PROMPT_VARIABLE_CACHE = (value or "").strip()
def get_system_prompt_variable() -> str:
return SYSTEM_PROMPT_VARIABLE_CACHE