Add sandbox_id__eq filter to AppConversationService search and count methods (#13387)

Co-authored-by: openhands <openhands@all-hands.dev>
This commit is contained in:
Tim O'Farrell
2026-03-13 11:24:58 -06:00
committed by GitHub
parent b4f00379b8
commit 0527c46bba
5 changed files with 299 additions and 2 deletions

View File

@@ -117,6 +117,10 @@ async def search_app_conversations(
datetime | None,
Query(title='Filter by updated_at less than this datetime'),
] = None,
sandbox_id__eq: Annotated[
str | None,
Query(title='Filter by exact sandbox_id'),
] = None,
page_id: Annotated[
str | None,
Query(title='Optional next_page_id from the previously returned page'),
@@ -148,6 +152,7 @@ async def search_app_conversations(
created_at__lt=created_at__lt,
updated_at__gte=updated_at__gte,
updated_at__lt=updated_at__lt,
sandbox_id__eq=sandbox_id__eq,
page_id=page_id,
limit=limit,
include_sub_conversations=include_sub_conversations,
@@ -176,6 +181,10 @@ async def count_app_conversations(
datetime | None,
Query(title='Filter by updated_at less than this datetime'),
] = None,
sandbox_id__eq: Annotated[
str | None,
Query(title='Filter by exact sandbox_id'),
] = None,
app_conversation_service: AppConversationService = (
app_conversation_service_dependency
),
@@ -187,6 +196,7 @@ async def count_app_conversations(
created_at__lt=created_at__lt,
updated_at__gte=updated_at__gte,
updated_at__lt=updated_at__lt,
sandbox_id__eq=sandbox_id__eq,
)

View File

@@ -29,6 +29,7 @@ class AppConversationService(ABC):
created_at__lt: datetime | None = None,
updated_at__gte: datetime | None = None,
updated_at__lt: datetime | None = None,
sandbox_id__eq: str | None = None,
sort_order: AppConversationSortOrder = AppConversationSortOrder.CREATED_AT_DESC,
page_id: str | None = None,
limit: int = 100,
@@ -44,6 +45,7 @@ class AppConversationService(ABC):
created_at__lt: datetime | None = None,
updated_at__gte: datetime | None = None,
updated_at__lt: datetime | None = None,
sandbox_id__eq: str | None = None,
) -> int:
"""Count sandboxed conversations."""

View File

@@ -142,6 +142,7 @@ class LiveStatusAppConversationService(AppConversationServiceBase):
created_at__lt: datetime | None = None,
updated_at__gte: datetime | None = None,
updated_at__lt: datetime | None = None,
sandbox_id__eq: str | None = None,
sort_order: AppConversationSortOrder = AppConversationSortOrder.CREATED_AT_DESC,
page_id: str | None = None,
limit: int = 20,
@@ -154,6 +155,7 @@ class LiveStatusAppConversationService(AppConversationServiceBase):
created_at__lt=created_at__lt,
updated_at__gte=updated_at__gte,
updated_at__lt=updated_at__lt,
sandbox_id__eq=sandbox_id__eq,
sort_order=sort_order,
page_id=page_id,
limit=limit,
@@ -171,6 +173,7 @@ class LiveStatusAppConversationService(AppConversationServiceBase):
created_at__lt: datetime | None = None,
updated_at__gte: datetime | None = None,
updated_at__lt: datetime | None = None,
sandbox_id__eq: str | None = None,
) -> int:
return await self.app_conversation_info_service.count_app_conversation_info(
title__contains=title__contains,
@@ -178,6 +181,7 @@ class LiveStatusAppConversationService(AppConversationServiceBase):
created_at__lt=created_at__lt,
updated_at__gte=updated_at__gte,
updated_at__lt=updated_at__lt,
sandbox_id__eq=sandbox_id__eq,
)
async def get_app_conversation(