From 3fb524f8cc128f91150696fbfef04bf66825665f Mon Sep 17 00:00:00 2001 From: Abigayle-Mercer Date: Fri, 31 Oct 2025 10:07:16 -0700 Subject: [PATCH 1/2] added mention support in stream_message() --- jupyter_ai_persona_manager/base_persona.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/jupyter_ai_persona_manager/base_persona.py b/jupyter_ai_persona_manager/base_persona.py index 02e670c..77a1f8f 100644 --- a/jupyter_ai_persona_manager/base_persona.py +++ b/jupyter_ai_persona_manager/base_persona.py @@ -236,6 +236,9 @@ async def stream_message( stream, then continuously updates it until the stream is closed. - Automatically manages its awareness state to show writing status. + + - Triggers mention detection after streaming completes, allowing + personas to mention each other in their responses. """ stream_id: Optional[str] = None try: @@ -266,7 +269,17 @@ async def stream_message( raw_time=False, ), append=True, + is_done=False, # Defer mention extraction during streaming ) + + # Stream complete - trigger mention extraction and notifications + if stream_id: + msg = self.ychat.get_message(stream_id) + if msg: + self.ychat.update_message( + msg, + is_done=True, # Extract mentions and notify mentioned personas + ) except Exception as e: self.log.error( f"Persona '{self.name}' encountered an exception printed below when attempting to stream output." From 12e78dec9c68016e5db1fb7a2d8503459d3c5f61 Mon Sep 17 00:00:00 2001 From: Abigayle-Mercer Date: Sun, 2 Nov 2025 07:16:31 -0800 Subject: [PATCH 2/2] changed variable name from is_done to find_mentions to reflect updates made to the ychat.update_message api --- jupyter_ai_persona_manager/base_persona.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jupyter_ai_persona_manager/base_persona.py b/jupyter_ai_persona_manager/base_persona.py index 77a1f8f..7e1196e 100644 --- a/jupyter_ai_persona_manager/base_persona.py +++ b/jupyter_ai_persona_manager/base_persona.py @@ -269,7 +269,7 @@ async def stream_message( raw_time=False, ), append=True, - is_done=False, # Defer mention extraction during streaming + find_mentions=False, # Defer mention extraction during streaming ) # Stream complete - trigger mention extraction and notifications @@ -278,7 +278,7 @@ async def stream_message( if msg: self.ychat.update_message( msg, - is_done=True, # Extract mentions and notify mentioned personas + find_mentions=True, # Extract mentions and notify mentioned personas ) except Exception as e: self.log.error(