Honor conversation_id and use browser fallback for device memory

This commit is contained in:
Your Name 2025-12-20 13:34:25 -06:00
parent ab9bd057e8
commit b964c74a9e

View file

@ -193,6 +193,8 @@ class GroqdConversationEntity(
if memory_scope == "device": if memory_scope == "device":
if user_input.device_id: if user_input.device_id:
memory_key = f"device:{user_input.device_id}" memory_key = f"device:{user_input.device_id}"
elif user_input.conversation_id:
memory_key = f"conv:{user_input.conversation_id}"
elif user_input.context and user_input.context.user_id: elif user_input.context and user_input.context.user_id:
memory_key = f"user:{user_input.context.user_id}" memory_key = f"user:{user_input.context.user_id}"
else: else:
@ -200,27 +202,21 @@ class GroqdConversationEntity(
elif memory_scope == "user": elif memory_scope == "user":
if user_input.context and user_input.context.user_id: if user_input.context and user_input.context.user_id:
memory_key = f"user:{user_input.context.user_id}" memory_key = f"user:{user_input.context.user_id}"
elif user_input.conversation_id:
memory_key = f"conv:{user_input.conversation_id}"
else: else:
memory_key = "global" memory_key = "global"
elif memory_scope == "global": elif memory_scope == "global":
memory_key = "global" memory_key = "global"
if user_input.conversation_id is None: if user_input.conversation_id is not None:
if memory_key and memory_key in self._memory_index:
conversation_id = self._memory_index[memory_key]
history = self.history.get(conversation_id, [])
else:
conversation_id = ulid.ulid_now()
history = []
elif user_input.conversation_id in self.history:
conversation_id = user_input.conversation_id conversation_id = user_input.conversation_id
history = self.history[conversation_id] history = self.history.get(conversation_id, [])
elif memory_key and memory_key in self._memory_index:
conversation_id = self._memory_index[memory_key]
history = self.history.get(conversation_id, [])
else: else:
try: conversation_id = ulid.ulid_now()
ulid.ulid_to_bytes(user_input.conversation_id)
conversation_id = ulid.ulid_now()
except ValueError:
conversation_id = user_input.conversation_id
history = [] history = []
if ( if (