diff --git a/src/backend/base/langflow/api/v1/monitor.py b/src/backend/base/langflow/api/v1/monitor.py index b42041f7d..7a26368aa 100644 --- a/src/backend/base/langflow/api/v1/monitor.py +++ b/src/backend/base/langflow/api/v1/monitor.py @@ -40,7 +40,7 @@ async def delete_vertex_builds(flow_id: Annotated[UUID, Query()], session: DbSes @router.get("/messages") async def get_messages( session: DbSession, - flow_id: Annotated[str | None, Query()] = None, + flow_id: Annotated[UUID | None, Query()] = None, session_id: Annotated[str | None, Query()] = None, sender: Annotated[str | None, Query()] = None, sender_name: Annotated[str | None, Query()] = None, diff --git a/src/backend/base/langflow/custom/custom_component/component.py b/src/backend/base/langflow/custom/custom_component/component.py index ef6d5e1d6..1a9757b0a 100644 --- a/src/backend/base/langflow/custom/custom_component/component.py +++ b/src/backend/base/langflow/custom/custom_component/component.py @@ -1011,6 +1011,8 @@ class Component(CustomComponent): UUID(self.graph.session_id) if isinstance(self.graph.session_id, str) else self.graph.session_id ) message.session_id = session_id + if hasattr(message, "flow_id") and isinstance(message.flow_id, str): + message.flow_id = UUID(message.flow_id) stored_message = await self._store_message(message) self._stored_message_id = stored_message.id diff --git a/src/backend/base/langflow/custom/custom_component/custom_component.py b/src/backend/base/langflow/custom/custom_component/custom_component.py index 0cc96e02d..129a1b095 100644 --- a/src/backend/base/langflow/custom/custom_component/custom_component.py +++ b/src/backend/base/langflow/custom/custom_component/custom_component.py @@ -440,9 +440,14 @@ class CustomComponent(BaseComponent): raise ValueError(msg) variable_service = get_variable_service() # Get service instance # Retrieve and decrypt the variable by name for the current user + if isinstance(self.user_id, str): + user_id = uuid.UUID(self.user_id) + elif isinstance(self.user_id, uuid.UUID): + user_id = self.user_id + else: + msg = f"Invalid user id: {self.user_id}" + raise TypeError(msg) async with async_session_scope() as session: - if isinstance(self.user_id, str): - user_id = uuid.UUID(self.user_id) return await variable_service.get_variable(user_id=user_id, name=name, field=field, session=session) async def list_key_names(self): diff --git a/src/backend/base/langflow/memory.py b/src/backend/base/langflow/memory.py index 56790a540..bc372af50 100644 --- a/src/backend/base/langflow/memory.py +++ b/src/backend/base/langflow/memory.py @@ -343,6 +343,8 @@ async def astore_message( raise ValueError(msg) if hasattr(message, "id") and message.id: return await aupdate_messages([message]) + if flow_id and not isinstance(flow_id, UUID): + flow_id = UUID(flow_id) return await aadd_messages([message], flow_id=flow_id)