diff --git a/jupyter_ai_persona_manager/base_persona.py b/jupyter_ai_persona_manager/base_persona.py index 02e670c..7e1196e 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, + find_mentions=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, + find_mentions=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."