@@ -1937,7 +1937,7 @@ def test_retrieve_customer_context_does_not_append_assistant_message(
19371937 # Memory prepended, original query remains last
19381938 content = mock_agent .messages [0 ]["content" ]
19391939 assert len (content ) == 2
1940- assert "<retrieved_memory >" in content [0 ]["text" ]
1940+ assert "<user_context >" in content [0 ]["text" ]
19411941 assert content [1 ]["text" ] == "What are my preferences?"
19421942
19431943 def test_retrieve_customer_context_no_assistant_message_multi_turn (
@@ -1982,5 +1982,86 @@ def test_retrieve_customer_context_no_assistant_message_multi_turn(
19821982 # Memory injected into last user message
19831983 content = mock_agent .messages [- 1 ]["content" ]
19841984 assert len (content ) == 2
1985- assert "<retrieved_memory >" in content [0 ]["text" ]
1985+ assert "<user_context >" in content [0 ]["text" ]
19861986 assert content [1 ]["text" ] == "What do I like to eat?"
1987+
1988+ def test_retrieve_customer_context_custom_context_tag (self , mock_memory_client ):
1989+ """Test that a custom context_tag is used when configured."""
1990+ custom_config = AgentCoreMemoryConfig (
1991+ memory_id = "test-memory-123" ,
1992+ session_id = "test-session-456" ,
1993+ actor_id = "test-actor-789" ,
1994+ retrieval_config = {"user_preferences/{actorId}/" : RetrievalConfig (top_k = 5 , relevance_score = 0.3 )},
1995+ context_tag = "retrieved_memory" ,
1996+ )
1997+
1998+ mock_memory_client .retrieve_memories .return_value = [
1999+ {"content" : {"text" : "User likes sushi" }},
2000+ ]
2001+
2002+ with patch (
2003+ "bedrock_agentcore.memory.integrations.strands.session_manager.MemoryClient" ,
2004+ return_value = mock_memory_client ,
2005+ ):
2006+ with patch ("boto3.Session" ) as mock_boto_session :
2007+ mock_session = Mock ()
2008+ mock_session .region_name = "us-west-2"
2009+ mock_session .client .return_value = Mock ()
2010+ mock_boto_session .return_value = mock_session
2011+
2012+ with patch (
2013+ "strands.session.repository_session_manager.RepositorySessionManager.__init__" , return_value = None
2014+ ):
2015+ manager = AgentCoreMemorySessionManager (custom_config )
2016+
2017+ mock_agent = Mock ()
2018+ mock_agent .messages = [{"role" : "user" , "content" : [{"text" : "What do I like?" }]}]
2019+
2020+ event = MessageAddedEvent (
2021+ agent = mock_agent , message = {"role" : "user" , "content" : [{"text" : "What do I like?" }]}
2022+ )
2023+ manager .retrieve_customer_context (event )
2024+
2025+ content = mock_agent .messages [0 ]["content" ]
2026+ assert "<retrieved_memory>" in content [0 ]["text" ]
2027+ assert "</retrieved_memory>" in content [0 ]["text" ]
2028+
2029+ def test_retrieve_customer_context_default_context_tag (self , mock_memory_client ):
2030+ """Test that the default context_tag is user_context."""
2031+ default_config = AgentCoreMemoryConfig (
2032+ memory_id = "test-memory-123" ,
2033+ session_id = "test-session-456" ,
2034+ actor_id = "test-actor-789" ,
2035+ retrieval_config = {"user_preferences/{actorId}/" : RetrievalConfig (top_k = 5 , relevance_score = 0.3 )},
2036+ )
2037+
2038+ mock_memory_client .retrieve_memories .return_value = [
2039+ {"content" : {"text" : "User likes sushi" }},
2040+ ]
2041+
2042+ with patch (
2043+ "bedrock_agentcore.memory.integrations.strands.session_manager.MemoryClient" ,
2044+ return_value = mock_memory_client ,
2045+ ):
2046+ with patch ("boto3.Session" ) as mock_boto_session :
2047+ mock_session = Mock ()
2048+ mock_session .region_name = "us-west-2"
2049+ mock_session .client .return_value = Mock ()
2050+ mock_boto_session .return_value = mock_session
2051+
2052+ with patch (
2053+ "strands.session.repository_session_manager.RepositorySessionManager.__init__" , return_value = None
2054+ ):
2055+ manager = AgentCoreMemorySessionManager (default_config )
2056+
2057+ mock_agent = Mock ()
2058+ mock_agent .messages = [{"role" : "user" , "content" : [{"text" : "What do I like?" }]}]
2059+
2060+ event = MessageAddedEvent (
2061+ agent = mock_agent , message = {"role" : "user" , "content" : [{"text" : "What do I like?" }]}
2062+ )
2063+ manager .retrieve_customer_context (event )
2064+
2065+ content = mock_agent .messages [0 ]["content" ]
2066+ assert "<user_context>" in content [0 ]["text" ]
2067+ assert "</user_context>" in content [0 ]["text" ]
0 commit comments