Skip to content

Commit 9bd2623

Browse files
authored
fix: remove deprecated save_turn() and process_turn() methods (#241)
* fix: remove deprecated save_turn() and process_turn() methods Remove deprecated methods that were scheduled for removal in v1.0.0: - save_turn(): Use save_conversation() instead - process_turn(): Use retrieve_memories() and save_conversation() separately Closes #234 * fix: format line length in test_client.py --------- Signed-off-by: Trirmadura J Ariyawansa <tjariy@amazon.com>
1 parent 3fa9afe commit 9bd2623

2 files changed

Lines changed: 3 additions & 112 deletions

File tree

src/bedrock_agentcore/memory/client.py

Lines changed: 0 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -620,78 +620,6 @@ def save_conversation(
620620
logger.error("Failed to create event: %s", e)
621621
raise
622622

623-
def save_turn(
624-
self,
625-
memory_id: str,
626-
actor_id: str,
627-
session_id: str,
628-
user_input: str,
629-
agent_response: str,
630-
event_timestamp: Optional[datetime] = None,
631-
) -> Dict[str, Any]:
632-
"""DEPRECATED: Use save_conversation() for more flexibility.
633-
634-
This method will be removed in v1.0.0.
635-
"""
636-
warnings.warn(
637-
"save_turn() is deprecated and will be removed in v1.0.0. "
638-
"Use save_conversation() for flexible message handling.",
639-
DeprecationWarning,
640-
stacklevel=2,
641-
)
642-
643-
messages = [(user_input, "USER"), (agent_response, "ASSISTANT")]
644-
645-
return self.create_event(
646-
memory_id=memory_id,
647-
actor_id=actor_id,
648-
session_id=session_id,
649-
messages=messages,
650-
event_timestamp=event_timestamp,
651-
)
652-
653-
def process_turn(
654-
self,
655-
memory_id: str,
656-
actor_id: str,
657-
session_id: str,
658-
user_input: str,
659-
agent_response: str,
660-
event_timestamp: Optional[datetime] = None,
661-
retrieval_namespace: Optional[str] = None,
662-
retrieval_query: Optional[str] = None,
663-
top_k: int = 3,
664-
) -> Tuple[List[Dict[str, Any]], Dict[str, Any]]:
665-
"""DEPRECATED: Use retrieve_memories() and save_conversation() separately.
666-
667-
This method will be removed in v1.0.0.
668-
"""
669-
warnings.warn(
670-
"process_turn() is deprecated and will be removed in v1.0.0. "
671-
"Use retrieve_memories() and save_conversation() separately, or use process_turn_with_llm().",
672-
DeprecationWarning,
673-
stacklevel=2,
674-
)
675-
676-
retrieved_memories = []
677-
678-
if retrieval_namespace:
679-
search_query = retrieval_query or user_input
680-
retrieved_memories = self.retrieve_memories(
681-
memory_id=memory_id, namespace=retrieval_namespace, query=search_query, top_k=top_k
682-
)
683-
684-
event = self.save_turn(
685-
memory_id=memory_id,
686-
actor_id=actor_id,
687-
session_id=session_id,
688-
user_input=user_input,
689-
agent_response=agent_response,
690-
event_timestamp=event_timestamp,
691-
)
692-
693-
return retrieved_memories, event
694-
695623
def process_turn_with_llm(
696624
self,
697625
memory_id: str,

tests/bedrock_agentcore/memory/test_client.py

Lines changed: 3 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,9 @@ def test_save_conversation_and_retrieve_memories():
141141
# Test UUID patch for deterministic testing
142142
with patch("uuid.uuid4", return_value=uuid.UUID("12345678-1234-5678-1234-567812345678")):
143143
# Test retrieve_memories
144-
memories = client.retrieve_memories(memory_id="mem-123", namespace="test/namespace/", query="Hello", top_k=3)
144+
memories = client.retrieve_memories(
145+
memory_id="mem-123", namespace="test/namespace/", query="Hello", top_k=3
146+
)
145147

146148
assert len(memories) == 1
147149
assert memories[0]["memoryRecordId"] == "rec-123"
@@ -291,45 +293,6 @@ def test_timestamp_and_advanced_message_handling():
291293
assert kwargs.get("eventTimestamp") == custom_timestamp
292294

293295

294-
def test_deprecated_methods():
295-
"""Test deprecated methods with warnings."""
296-
with patch("boto3.client"):
297-
client = MemoryClient()
298-
mock_gmdp = MagicMock()
299-
client.gmdp_client = mock_gmdp
300-
301-
# Create responses for deprecated methods
302-
mock_gmdp.create_event.return_value = {"event": {"eventId": "event-dep-1", "memoryId": "mem-123"}}
303-
mock_gmdp.retrieve_memory_records.return_value = {"memoryRecordSummaries": []}
304-
305-
# Use warnings.catch_warnings to verify deprecation warnings
306-
with warnings.catch_warnings(record=True) as w:
307-
warnings.simplefilter("always")
308-
309-
# Test deprecated save_turn method
310-
event = client.save_turn(
311-
memory_id="mem-123",
312-
actor_id="user-123",
313-
session_id="session-456",
314-
user_input="Hello",
315-
agent_response="Hi",
316-
)
317-
318-
# Test deprecated process_turn method
319-
memories, event = client.process_turn(
320-
memory_id="mem-123",
321-
actor_id="user-123",
322-
session_id="session-456",
323-
user_input="Hello",
324-
agent_response="Hi",
325-
retrieval_namespace="test/ns/",
326-
)
327-
328-
assert len(w) >= 2
329-
assert any("save_turn() is deprecated" in str(warning.message) for warning in w)
330-
assert any("process_turn() is deprecated" in str(warning.message) for warning in w)
331-
332-
333296
def test_create_memory_and_wait_success():
334297
"""Test successful create_memory_and_wait scenario."""
335298
with patch("boto3.client"):

0 commit comments

Comments
 (0)