diff --git a/agent-memory-client/agent_memory_client/client.py b/agent-memory-client/agent_memory_client/client.py index 9bd521c4..d6125273 100644 --- a/agent-memory-client/agent_memory_client/client.py +++ b/agent-memory-client/agent_memory_client/client.py @@ -833,8 +833,8 @@ async def forget_long_term_memories( params["session_id"] = session_id if limit is not None: params["limit"] = limit - if dry_run: - params["dry_run"] = dry_run + # Always pass dry_run explicitly because the server default is True. + params["dry_run"] = dry_run body = {"policy": policy.model_dump(exclude_none=True)} if pinned_ids: diff --git a/agent-memory-client/tests/test_client.py b/agent-memory-client/tests/test_client.py index d6eff305..322e5d40 100644 --- a/agent-memory-client/tests/test_client.py +++ b/agent-memory-client/tests/test_client.py @@ -1025,6 +1025,11 @@ async def test_forget_long_term_memories_basic(self, enhanced_test_client): assert result.deleted == 5 assert len(result.deleted_ids) == 5 assert result.dry_run is False + enhanced_test_client._client.post.assert_called_once_with( + "/v1/long-term-memory/forget", + params={"dry_run": False}, + json={"policy": {"max_age_days": 30}}, + ) @pytest.mark.asyncio async def test_forget_long_term_memories_dry_run(self, enhanced_test_client): @@ -1048,6 +1053,11 @@ async def test_forget_long_term_memories_dry_run(self, enhanced_test_client): assert isinstance(result, ForgetResponse) assert result.dry_run is True + enhanced_test_client._client.post.assert_called_once_with( + "/v1/long-term-memory/forget", + params={"dry_run": True}, + json={"policy": {"max_inactive_days": 14}}, + ) @pytest.mark.asyncio async def test_forget_long_term_memories_with_filters(self, enhanced_test_client): @@ -1070,7 +1080,16 @@ async def test_forget_long_term_memories_with_filters(self, enhanced_test_client ) assert isinstance(result, ForgetResponse) - enhanced_test_client._client.post.assert_called_once() + enhanced_test_client._client.post.assert_called_once_with( + "/v1/long-term-memory/forget", + params={ + "namespace": "test-ns", + "user_id": "user-1", + "session_id": "sess-1", + "dry_run": False, + }, + json={"policy": {"budget": 100}}, + ) # ==================== Summary Views Tests ====================