import os from datetime import datetime import requests # Backend server URL - can be set via environment variable # For Hugging Face Spaces: Set MEMORY_SERVER_URL in Space settings (Repository secrets) # For local development: Set MEMORY_SERVER_URL in your .env file EXAMPLE_SERVER_PORT = os.getenv("MEMORY_SERVER_URL") def ingest_and_rewrite(user_id: str, query: str, model_type: str = "openai") -> str: """Pass a raw user message through the memory server and get context-aware response.""" print("entered ingest_and_rewrite") resp = requests.post( f"{EXAMPLE_SERVER_PORT}/memory/store-and-search", params={"user_id": user_id, "query": query}, timeout=1000, ) resp.raise_for_status() return resp.text def add_session_message(user_id: str, msg: str) -> None: """Add a raw message into memory via memory server.""" requests.post( f"{EXAMPLE_SERVER_PORT}/memory", params={"user_id": user_id, "query": msg}, timeout=5, ) def create_persona_query(user_id: str, query: str) -> str: """Create a persona-aware query by searching memory context via memory server.""" resp = requests.get( f"{EXAMPLE_SERVER_PORT}/memory", params={ "query": query, "user_id": user_id, "timestamp": datetime.now().isoformat(), }, timeout=1000, ) resp.raise_for_status() search_results = resp.json() if search_results.get("profile"): return f"Based on your profile: {search_results['profile']}\n\nQuery: {query}" else: return f"Query: {query}" def add_new_session_message(user_id: str, msg: str) -> None: """Alias for add_session_message for backward compatibility.""" add_session_message(user_id, msg) def delete_profile(user_id: str) -> bool: """Delete all memory for the given user_id via the CRM server.""" # NOT IMPLEMENTED return False