Revert "feat: add message_types filter to list messages endpoint" (#8314)
Revert "feat: add message_types filter to list messages endpoint (#8280)" This reverts commit e7ac5df721ec4b3e663dd30239f590ee16bb8630.
This commit is contained in:
committed by
Caren Thomas
parent
02f3e3f3b9
commit
18a1a16bf4
@@ -75,7 +75,7 @@ from letta.schemas.environment_variables import SandboxEnvironmentVariableCreate
|
||||
from letta.schemas.file import FileMetadata, FileMetadata as PydanticFileMetadata
|
||||
from letta.schemas.identity import IdentityCreate, IdentityProperty, IdentityPropertyType, IdentityType, IdentityUpdate, IdentityUpsert
|
||||
from letta.schemas.job import BatchJob, Job, Job as PydanticJob, JobUpdate, LettaRequestConfig
|
||||
from letta.schemas.letta_message import MessageType, UpdateAssistantMessage, UpdateReasoningMessage, UpdateSystemMessage, UpdateUserMessage
|
||||
from letta.schemas.letta_message import UpdateAssistantMessage, UpdateReasoningMessage, UpdateSystemMessage, UpdateUserMessage
|
||||
from letta.schemas.letta_message_content import TextContent
|
||||
from letta.schemas.letta_stop_reason import LettaStopReason, StopReasonType
|
||||
from letta.schemas.llm_batch_job import AgentStepState, LLMBatchItem
|
||||
@@ -1086,112 +1086,3 @@ async def test_convert_assistant_message_with_dict_content(server: SyncServer, s
|
||||
assert isinstance(assistant_msg_nested.content, str)
|
||||
parsed_nested = json.loads(assistant_msg_nested.content)
|
||||
assert parsed_nested == {"status": "success", "data": {"count": 42, "items": ["a", "b"]}, "meta": None}
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_get_agent_recall_with_message_types_filter(server: SyncServer, sarah_agent, default_user):
|
||||
"""
|
||||
Test that get_agent_recall_async correctly filters messages by message_types.
|
||||
"""
|
||||
# Create messages of different types for the agent
|
||||
# User message
|
||||
await server.message_manager.create_many_messages_async(
|
||||
[
|
||||
PydanticMessage(
|
||||
agent_id=sarah_agent.id,
|
||||
role=MessageRole.user,
|
||||
content=[TextContent(text="Hello from user!")],
|
||||
),
|
||||
],
|
||||
actor=default_user,
|
||||
)
|
||||
|
||||
# Assistant message with tool call (will become tool_call_message)
|
||||
tool_calls = [
|
||||
OpenAIToolCall(
|
||||
id="call_test_1",
|
||||
type="function",
|
||||
function=OpenAIFunction(
|
||||
name="send_message",
|
||||
arguments='{"message": "Hello back!"}',
|
||||
),
|
||||
),
|
||||
]
|
||||
await server.message_manager.create_many_messages_async(
|
||||
[
|
||||
PydanticMessage(
|
||||
agent_id=sarah_agent.id,
|
||||
role=MessageRole.assistant,
|
||||
content=[TextContent(text="Thinking about this...")],
|
||||
tool_calls=tool_calls,
|
||||
),
|
||||
],
|
||||
actor=default_user,
|
||||
)
|
||||
|
||||
# Tool return message
|
||||
await server.message_manager.create_many_messages_async(
|
||||
[
|
||||
PydanticMessage(
|
||||
agent_id=sarah_agent.id,
|
||||
role=MessageRole.tool,
|
||||
tool_call_id="call_test_1",
|
||||
content=[TextContent(text='{"status": "OK"}')],
|
||||
),
|
||||
],
|
||||
actor=default_user,
|
||||
)
|
||||
|
||||
# Get all messages (no filter) - should have multiple types
|
||||
all_messages = await server.get_agent_recall_async(
|
||||
agent_id=sarah_agent.id,
|
||||
actor=default_user,
|
||||
return_message_object=False,
|
||||
)
|
||||
assert len(all_messages) > 0
|
||||
|
||||
# Collect all unique message types in the result
|
||||
all_message_types = set(msg.message_type for msg in all_messages)
|
||||
# Should have at least system, user, and some assistant-related messages
|
||||
assert MessageType.system_message in all_message_types or MessageType.user_message in all_message_types
|
||||
|
||||
# Filter for only user messages
|
||||
user_only = await server.get_agent_recall_async(
|
||||
agent_id=sarah_agent.id,
|
||||
actor=default_user,
|
||||
return_message_object=False,
|
||||
message_types=[MessageType.user_message],
|
||||
)
|
||||
assert len(user_only) > 0
|
||||
for msg in user_only:
|
||||
assert msg.message_type == MessageType.user_message
|
||||
|
||||
# Filter for only system messages
|
||||
system_only = await server.get_agent_recall_async(
|
||||
agent_id=sarah_agent.id,
|
||||
actor=default_user,
|
||||
return_message_object=False,
|
||||
message_types=[MessageType.system_message],
|
||||
)
|
||||
for msg in system_only:
|
||||
assert msg.message_type == MessageType.system_message
|
||||
|
||||
# Filter for multiple types (user and system)
|
||||
user_and_system = await server.get_agent_recall_async(
|
||||
agent_id=sarah_agent.id,
|
||||
actor=default_user,
|
||||
return_message_object=False,
|
||||
message_types=[MessageType.user_message, MessageType.system_message],
|
||||
)
|
||||
for msg in user_and_system:
|
||||
assert msg.message_type in (MessageType.user_message, MessageType.system_message)
|
||||
|
||||
# Filter for tool_return_message
|
||||
tool_return_only = await server.get_agent_recall_async(
|
||||
agent_id=sarah_agent.id,
|
||||
actor=default_user,
|
||||
return_message_object=False,
|
||||
message_types=[MessageType.tool_return_message],
|
||||
)
|
||||
for msg in tool_return_only:
|
||||
assert msg.message_type == MessageType.tool_return_message
|
||||
|
||||
Reference in New Issue
Block a user