* feat: add gemini streaming to new agent loop
* add google as required dependency
* support storing all content parts
* remove extra google references
* feat: add pagination to agent blocks endpoint
* chore: regenerate API client with pagination parameters
* feat: implement pagination logic in list_blocks endpoint
- Fix list_blocks implementation to use pagination parameters that were already in the route signature
- Add in-memory pagination logic for core memory blocks (sorting, cursor filtering, limit)
- Sort blocks by created_at timestamp with proper asc/desc ordering
- Apply cursor-based pagination with before/after filters
- Apply limit to results
- Regenerate API client code to reflect pagination functionality
* fix: correct sorting logic in list_blocks endpoint
- Fix AttributeError where blocks don't have created_at attribute
- Sort blocks by id instead of created_at (core memory blocks don't have timestamps)
- Maintains consistent pagination behavior while fixing runtime error
* feat: implement database-level pagination for list_blocks endpoint
- Replace inefficient in-memory filtering with proper SQLAlchemy query
- Use BlocksAgents join table to filter blocks by agent_id at database level
- Apply pagination filters (before, after, limit) in SQL query for better performance
- Sort by BlockModel.created_at instead of in-memory sorting
- Add necessary imports: select from sqlalchemy, db_registry from letta.server.db
- Verify agent access before querying blocks
* refactor: move database logic from route to agent manager service layer
- Add list_agent_blocks_async method to AgentManager for proper separation of concerns
- Move SQLAlchemy query logic from REST route to service layer
- Keep routes focused on request/response handling
- Remove unnecessary imports from router (select, db_registry)
- Database pagination logic now properly encapsulated in service layer
feat: convert list_groups to async in agent manager
- Add list_groups_async method to AgentManager to replace sync version
- Method filters groups by agent_id using join with GroupsAgents table
- Supports optional manager_type filtering
- Update list_agent_groups endpoint to use new async method
- No functional changes to endpoint behavior or parameters
* feat: add pagination to agent messages endpoint
* chore: regenerate API client with pagination parameters
* fix: remove limit fallback and use order parameter for reverse logic
* Implement child tool rules args override
* Add zod types
* Run fern autogen and put ToolCallNode in new field
* Fix test_tool_rule_solver.py
* Fix types
* Fix types again
* Add tests to tool rule solver
* feat: add full responses api support in new agent loop
* update matrix in workflow
* relax check for reasoning messages for high effort gpt 5
* fix indent
* one more relax
* add anthropic memory tools
* memory view working
* update memory examples
* tools
* feat: some changes (#5003)
* feat: added the ability to modify and add descriptions on creation
* fix: kill dead code & write into core_tool_executor instead
* fix: use block_manager not agent_manager where possible, also turn the return string errors into raising exceptions
* fix: cleanup, get rid of more return string errors replaced with valueerror, also drop deadcode
---------
Co-authored-by: Charles Packer <packercharles@gmail.com>