from config import CLOTHING_TYPES conversation_memory = {} def get_conversation_context(session_id: str) -> dict: if session_id not in conversation_memory: conversation_memory[session_id] = { "messages": [], "context": {} } return conversation_memory[session_id] def update_context(session_id: str, message: str, response_data: dict): conv = conversation_memory[session_id] conv["messages"].append({"user": message, "assistant": response_data.get("response", "")}) if len(conv["messages"]) > 10: conv["messages"] = conv["messages"][-10:] if "color" in response_data: conv["context"]["last_color"] = response_data["color"] if "item" in response_data: conv["context"]["last_item"] = response_data["item"] if "colors" in response_data: conv["context"]["last_colors"] = response_data["colors"] if "items" in response_data: conv["context"]["last_items"] = response_data["items"] def enhance_message_with_context(message: str, context: dict) -> str: message_lower = message.lower() if "what about" in message_lower or "how about" in message_lower or "and" in message_lower: if context.get("last_color"): if not any(c in message_lower for c in ["color", "red", "blue", "green", "black", "white", "brown"]): message = message + f" with {context['last_color']}" if context.get("last_item"): if not any(item in message_lower for item in CLOTHING_TYPES): message = message + f" {context['last_item']}" return message