from engine.flow_router import route_message from sessions import get_session, upsert_session def process_message(bot_number: str, customer_phone: str, text: str): session = get_session(customer_phone, bot_number) if not session: session = { "current_state": "START", "flow_type": None, "flow_data": { "uid": f"{bot_number}__{customer_phone}" } } state = session.get("current_state", "START") result = route_message(state, text, session) next_state = result["next_state"] flow_data = result.get("flow_data", session.get("flow_data", {})) flow_type = flow_data.get("customer_type") upsert_session( customer_phone=customer_phone, bot_number=bot_number, current_state=next_state, flow_type=flow_type, flow_data=flow_data, last_message=text, ) return result