fix: prevent UnboundLocalError in MessageStoreComponent (#6802)

* fix: prevent UnboundLocalError in MessageStoreComponent

* [autofix.ci] apply automated fixes

* refactor: improve error message handling in MessageStoreComponent

* type: add type hint for stored_messages in MessageStoreComponent

---------

Co-authored-by: wuyuhang-jk <wuyuhang-jk@360shuke.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
This commit is contained in:
YuhangWuAI 2025-02-27 03:55:10 +08:00 committed by GitHub
commit 6be666ec05
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -56,24 +56,32 @@ class MessageStoreComponent(Component):
message.sender = self.sender or message.sender or MESSAGE_SENDER_AI
message.sender_name = self.sender_name or message.sender_name or MESSAGE_SENDER_NAME_AI
stored_messages: list[Message] = []
if self.memory:
# override session_id
self.memory.session_id = message.session_id
lc_message = message.to_lc_message()
await self.memory.aadd_messages([lc_message])
stored_messages = await self.memory.aget_messages()
stored_messages = [Message.from_lc_message(m) for m in stored_messages]
stored_messages = await self.memory.aget_messages() or []
stored_messages = [Message.from_lc_message(m) for m in stored_messages] if stored_messages else []
if message.sender:
stored_messages = [m for m in stored_messages if m.sender == message.sender]
else:
await astore_message(message, flow_id=self.graph.flow_id)
stored_messages = await aget_messages(
session_id=message.session_id, sender_name=message.sender_name, sender=message.sender
stored_messages = (
await aget_messages(
session_id=message.session_id, sender_name=message.sender_name, sender=message.sender
)
or []
)
if not stored_messages:
msg = "No messages were stored. Please ensure that the session ID and sender are properly set."
raise ValueError(msg)
stored_message = stored_messages[0]
stored_message = stored_messages[0]
self.status = stored_message
return stored_message