feat: add pagination to folders agents endpoint (#2947)

This commit is contained in:
cthomas
2025-09-15 22:07:49 -07:00
committed by GitHub
parent e44a3bfcc1
commit 0367ecacee

View File

@@ -351,6 +351,19 @@ async def upload_file_to_folder(
@router.get("/{folder_id}/agents", response_model=List[str], operation_id="list_agents_for_folder")
async def list_agents_for_folder(
folder_id: str,
before: Optional[str] = Query(
None,
description="Agent ID cursor for pagination. Returns agents that come before this agent ID in the specified sort order",
),
after: Optional[str] = Query(
None,
description="Agent ID cursor for pagination. Returns agents that come after this agent ID in the specified sort order",
),
limit: Optional[int] = Query(50, description="Maximum number of agents to return"),
order: Literal["asc", "desc"] = Query(
"desc", description="Sort order for agents by creation time. 'asc' for oldest first, 'desc' for newest first"
),
order_by: Literal["created_at"] = Query("created_at", description="Field to sort by"),
server: SyncServer = Depends(get_letta_server),
headers: HeaderParams = Depends(get_headers),
):
@@ -358,7 +371,14 @@ async def list_agents_for_folder(
Get all agent IDs that have the specified folder attached.
"""
actor = await server.user_manager.get_actor_or_default_async(actor_id=headers.actor_id)
return await server.source_manager.get_agents_for_source_id(source_id=folder_id, actor=actor)
return await server.source_manager.get_agents_for_source_id(
source_id=folder_id,
before=before,
after=after,
limit=limit,
ascending=(order == "asc"),
actor=actor,
)
@router.get("/{folder_id}/passages", response_model=List[Passage], operation_id="list_folder_passages")