Commit Graph

1968 Commits

Author SHA1 Message Date
Charles Packer
811b3e6cb6 feat: allow customizing the handle base for openrouter and for vllm [LET-4609] (#5114)
* feat: allow setting VLLM_HANDLE_BASE

* feat: same thing for openrouter
2025-10-07 17:50:49 -07:00
cthomas
f7755d837a feat: add gemini streaming to new agent loop (#5109)
* feat: add gemini streaming to new agent loop

* add google as required dependency

* support storing all content parts

* remove extra google references
2025-10-07 17:50:48 -07:00
Sarah Wooders
ef07e03ee3 feat: add run_id to input messages and step_id to messages (#5099) 2025-10-07 17:50:48 -07:00
cthomas
7c03288c05 feat: add pagination to agent blocks endpoint (#5087)
* 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
2025-10-07 17:50:48 -07:00
cthomas
6e3e45fb2d feat: add pagination to agent groups endpoint (#5089)
feat: add pagination to list_agent_groups endpoint

- Add pagination parameters to list_groups_async method (before, after, limit, ascending)
- Update list_agent_groups endpoint to include pagination parameters (before, after, limit, order, order_by)
- Add proper cursor-based pagination and sorting in SQL query
- Pass pagination parameters from route to underlying service method
- Regenerate API client to reflect pagination parameter changes
2025-10-07 17:50:48 -07:00
cthomas
1b4780fa27 feat: add back async list_groups in agent manager [LET-4597] (#5095)
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
2025-10-07 17:50:48 -07:00
cthomas
874ac0dd5c feat: add pagination to agent tools endpoint (#5084)
* feat: add pagination to agent tools endpoint

* chore: regenerate API client with pagination parameters

* feat: implement pagination logic in list_agent_tools endpoint

- Update list_attached_tools_async method to support pagination parameters (before, after, limit, ascending)
- Update list_agent_tools route to pass pagination parameters to underlying service method
- Add proper cursor-based pagination and sorting in SQL query

* feat: update default limit for list_agent_tools to 10

* feat: regenerate API client after limit parameter change
2025-10-07 17:50:48 -07:00
cthomas
cb5e89cfa2 feat: add pagination to agent messages endpoint (#5088)
* 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
2025-10-07 17:50:48 -07:00
cthomas
d9c7da643a feat: remove redundant docstring for runs steps (#5092) 2025-10-07 17:50:48 -07:00
cthomas
0794a6db69 feat: add pagination to run steps endpoint (#5083)
* feat: add pagination to run steps endpoint

* chore: regenerate API client with pagination parameters
2025-10-07 17:50:48 -07:00
cthomas
af23e6cda1 feat: add pagination to run messages endpoint (#5082)
* feat: add pagination to run messages endpoint

* chore: regenerate API client with pagination parameters
2025-10-07 17:50:48 -07:00
cthomas
e96fd83adf feat: add pagination to list jobs endpoint (#5078)
* feat: add pagination to list jobs endpoint

* chore: regenerate API client with pagination parameters
2025-10-07 17:50:48 -07:00
cthomas
c176835a1b feat: add pagination to list runs endpoint [LET-4580] (#5077)
feat: add pagination to list runs endpoint
2025-10-07 17:50:48 -07:00
cthomas
d7b2d3c6ba feat: make agent_ids field as deprecated on list runs [LET-4573] (#5067)
* feat: make agent_ids field as deprecated on list runs

* api sync
2025-10-07 17:50:48 -07:00
cthomas
976c3bdc31 feat: add feature flag for new agent type (#5062)
feat: add new feature flag for new agent type
2025-10-07 17:50:48 -07:00
Shubham Naik
74008fb0ed feat: batch block creation [PRO-1422] (#5050)
feat: batch block creation

Co-authored-by: Shubham Naik <shub@memgpt.ai>
2025-10-07 17:50:48 -07:00
cthomas
cd900a6f4d feat: check run completion in send message tests (#5030) 2025-10-07 17:50:47 -07:00
cthomas
e248ac27e2 feat: add messages.create_async test for new agent loop (#5024)
feat: add async test for new agent loop
2025-10-07 17:50:47 -07:00
Sarah Wooders
354205f581 feat: create new runs table [LET-4467] (#4841) 2025-10-07 17:50:47 -07:00
Sarah Wooders
d0d36a4b07 fix: remove json schema generation from tool validation [LET-4509] (#4964)
* patch integration test

* create default user and org

* rm

* patch

* add testing

* remove validation for schemas from pydantic object

* add file

* patch tests

* fix more tests

* fix managers

* fix sdk test

* patch schema tests

* Comment out name in update

* patch test

* patch

* add another test
2025-10-07 17:50:46 -07:00
Kian Jones
4bdf85b883 feat: pull letta env for sentry init (#4966)
set env on sentry init
2025-10-07 17:50:46 -07:00
Sarah Wooders
18abcc7025 feat: patch integration test for sandbox [LET-4509] (#4962)
* patch integration test

* create default user and org

* rm

* patch
2025-10-07 17:50:46 -07:00
Matthew Zhou
b5053d02d5 fix: Fix multi agent test (#4947)
Fix multi agent
2025-10-07 17:50:46 -07:00
Matthew Zhou
c27e69ce6c fix: Fix mcp tests [LET-4496] (#4927)
Fix mcp tests
2025-10-07 17:50:46 -07:00
Matthew Zhou
0b08c4ed6a fix: Fix agents preview payload (#4924)
Fix agents endpoint
2025-10-07 17:50:46 -07:00
Matthew Zhou
d78e0ccb58 feat: Fix test batch sdkpy [LET-4507] (#4917)
* Fix test batch sdk

* Consolidate and fix test batch sdk
2025-10-07 17:50:46 -07:00
Sarah Wooders
53786ee102 feat: asyncify test_manager.py [LET-4494] (#4890)
* add test_agent_manager.py

* created shared conftest

* add test_tool_manager.py

* add tag tests

* add message manager tests

* add blocks

* add org

* add passage tests

* add archive manager

* add user manager

* add identity

* add job manager tests

* add sandbox manager

* add file manager

* add group managers

* add mcp manager

* fix batch tests

* update workflows

* fix test_managers.py

* more tests

* comment out old test and add file

---------

Co-authored-by: Matthew Zhou <mattzh1314@gmail.com>
2025-10-07 17:50:46 -07:00
Matthew Zhou
462d37813e chore: Deprecate agent file v1 related things [LET-4500] (#4902)
Deprecate agent file v1 related things
2025-10-07 17:50:46 -07:00
Charles Packer
a4041879a4 feat: add new agent loop (squash rebase of OSS PR) (#4815)
* feat: squash rebase of OSS PR

* fix: revert changes that weren't on manual rebase

* fix: caught another one

* fix: disable force

* chore: drop print

* fix: just stage-api && just publish-api

* fix: make agent_type consistently an arg in the client

* fix: patch multi-modal support

* chore: put in todo stub

* fix: disable hardcoding for tests

* fix: patch validate agent sync (#4882)

patch validate agent sync

* fix: strip bad merge diff

* fix: revert unrelated diff

* fix: react_v2 naming -> letta_v1 naming

* fix: strip bad merge

---------

Co-authored-by: Kevin Lin <klin5061@gmail.com>
2025-10-07 17:50:45 -07:00
Charles Packer
9edc7f4d64 feat: add OpenRouterProvider (#4848)
* feat: init add of openrouter provider, doesn't work bc no key pass and no header pass

* fix: working
2025-10-07 17:50:45 -07:00
Sarah Wooders
8fee5b4b93 fix: remove db locks (#4879) 2025-10-07 17:50:45 -07:00
Sarah Wooders
4df0a27eb0 chore: remove sync db (#4873) 2025-10-07 17:50:45 -07:00
Matthew Zhou
8b580c94f0 fix: Asyncify runs routes [LET-4491] (#4869)
Asyncify runs routes
2025-10-07 17:50:45 -07:00
Matthew Zhou
8395ec429a feat: Add flag for TLS (#4865)
Add flag for TLS
2025-10-07 17:50:45 -07:00
cthomas
5dbb3a8648 feat: fix default job status (#4831) 2025-10-07 17:50:45 -07:00
cthomas
27dfb52568 feat: update run status for lettuce runs (#4830)
* feat: update run status for lettuce runs

* only fetch job status for pending case
2025-10-07 17:50:45 -07:00
cthomas
a7a1e5cf32 feat: make experimental flag a bool (#4825)
* feat: make experimental flag a bool

* add null check
2025-10-07 17:50:45 -07:00
cthomas
5166ab2f86 feat: only update job metadata when flag is set (#4824) 2025-10-07 17:50:45 -07:00
cthomas
232da24f7f fix: missing import for cancel (#4819) 2025-10-07 17:50:44 -07:00
cthomas
076c56a0a5 feat: add feature flag for new message async logic (#4805)
* feat: add feature flag for new message async logic

* remove from api sync
2025-10-07 17:50:44 -07:00
cthomas
a605271846 fix: flip tls flag (#4806) 2025-10-07 17:50:44 -07:00
Matthew Zhou
678350a6f2 feat: Pass through agent_state and patch bugs [LET-4456] (#4800)
* Pass through agent state

* temp

* Patch bugs

* Add todo for jin
2025-10-07 17:50:44 -07:00
Sarah Wooders
46ba8789b7 fix: patch issue with run listing (#4793)
* fix: patch issue with run listing

* another fix
2025-10-07 17:50:44 -07:00
cthomas
ee39b2bff2 feat: ensure temporal is hit through fastapi (#4784)
feat: ensure temporal works end-to-end
2025-10-07 17:50:44 -07:00
Sarah Wooders
c85bfefa52 feat: add agents_runs table (#4768) 2025-10-07 17:50:44 -07:00
cthomas
992f94da4b feat: integrate temporal into letta (#4766)
* feat: integrate temporal into letta

* use fire and forget, set up cancellation and job status checking
2025-10-07 17:50:43 -07:00
Kian Jones
b8e9a80d93 merge this (#4759)
* wait I forgot to comit locally

* cp the entire core directory and then rm the .git subdir
2025-09-17 15:47:40 -07:00
cthomas
46b19120d8 feat: add new steps messages endpoint and deprecate steps.messages field (#2978) 2025-09-17 11:13:48 -07:00
Matthew Zhou
3c2911e9ae feat: Remove jinja2 (#2971)
Co-authored-by: Sarah Wooders <sarahwooders@gmail.com>
2025-09-17 10:00:49 -07:00
cthomas
74c2f2891b feat: add active filter to runs endpoint and deprecate list active runs (#2972) 2025-09-16 17:48:33 -07:00