Commit Graph

91 Commits

Author SHA1 Message Date
Matthew Zhou
2dae4d33c3 feat: Implement streaming chat completions endpoint [LET-5485] (#5446)
* wip

* Add chat completions router and fix streaming service

* Finish chat completions

* Finish chat completions

* Remove extra print statement

* Run just api

* Don't explicitly throw http exceptions but surface Letta errors

* Remap errors

* Trigger CI

* Add missing Optional import
2025-10-24 15:12:11 -07:00
Cameron Pfiffer
4a86bf6e4c docs: Improve examples page (#5442)
* Fix VoiceAgent to use run_manager instead of job_manager

VoiceAgent.__init__() was incorrectly using job_manager parameter
when ToolExecutionManager expects run_manager. This was causing
the error: "VoiceAgent.__init__() got an unexpected keyword
argument 'run_manager'".

Changes:
- Update VoiceAgent to accept and use run_manager instead of job_manager
- Update VoiceSleeptimeAgent to accept run_manager parameter
- Update imports to use RunManager instead of JobManager
- Pass run_manager to ToolExecutionManager in VoiceAgent._execute_tool

* docs: Add new examples to documentation

- Introduced "Your First Agent" example to guide users in creating a Letta agent and understanding its memory capabilities.
- Added "Attaching and Detaching Memory Blocks" example to demonstrate dynamic memory management for agents.
- Updated navigation in docs.yml to include links to the new examples.

These additions enhance the learning resources available for users working with Letta agents.
2025-10-24 15:12:11 -07:00
Cameron Pfiffer
936be41e8d Rename POSTHOG_API_KEY to POSTHOG_KEY (#5428)
Update environment variable name from POSTHOG_API_KEY to POSTHOG_KEY in GitHub workflow and Fern docs configuration.
2025-10-24 15:12:11 -07:00
cthomas
8dc4db0e07 feat: update hitl docs with new snippets (#5416) 2025-10-24 15:12:09 -07:00
Cameron Pfiffer
ec8d5ccec1 Add PostHog analytics to Fern docs (#5394) 2025-10-24 15:11:31 -07:00
Kian Jones
9837b14ecd fix: agent create with tags and actually delete the agent in probe (#5392)
* fix: agent create with tags and actually delete the agent

* add reponse schema to docs?

* bug fix: await async client call

* override delete routes to show response object
2025-10-24 15:11:31 -07:00
Matthew Zhou
b6f2dc63e5 chore: Deprecate voice-beta endpoint [LET-5483] (#5410)
Deprecate voice-beta endpoint
2025-10-24 15:11:31 -07:00
Shubham Naik
248c7c0b44 Chore remove deprecated routes (#5371)
* chore: remove deprecated routes

* chore: remove deprecated routes

---------

Co-authored-by: Shubham Naik <shub@memgpt.ai>
2025-10-24 15:11:31 -07:00
Shubham Naik
5af0c1535f feat: fix display name stuff (#5329)
* feat: fix display name stuff

* chore: fix types

---------

Co-authored-by: Shubham Naik <shub@memgpt.ai>
2025-10-24 15:11:31 -07:00
Shubham Naik
6a28f3852a Shub/let 4974 rename current to dev [LET-4974] (#5297)
* fix: rename current to dev

* chore: rename current to dev

* chore: next

* chore: rename fix

---------

Co-authored-by: Shubham Naik <shub@memgpt.ai>
2025-10-24 15:11:31 -07:00
cthomas
651c55dc2a feat: add approvals support in agentfile (#5337) 2025-10-24 15:11:31 -07:00
cthomas
f79a47dbc1 feat: amend union type for message object (#5326) 2025-10-24 15:11:31 -07:00
cthomas
6fd6232992 feat: add discriminator type to message return objects (#5318) 2025-10-24 15:11:31 -07:00
cthomas
31772b1fa1 chore: api sync (#5311) 2025-10-24 15:11:31 -07:00
cthomas
8e54f40bde feat: add new ApprovalReturn list in api layer (#5304)
* feat: add new ApprovalReturn list in api layer

* use base class

* api sync
2025-10-24 15:11:31 -07:00
Caren Thomas
4e1c1c9079 chore: clean up docs 2025-10-09 17:45:05 -07:00
jnjpng
a772bedfe4 feat: add secret pydantic fields (#5291)
* add secret pydantic fields

* stage publish

---------

Co-authored-by: Letta Bot <noreply@letta.com>
2025-10-09 15:25:21 -07:00
Shubham Naik
7eae22f77c feat: allow suers to test their own key [LET-5312] (#5257)
* feat: allow suers to test their own key

* chore: add unit test

---------

Co-authored-by: Shubham Naik <shub@memgpt.ai>
2025-10-09 13:20:53 -07:00
Matthew Zhou
45101fd97a feat: Add new tool_calls field to ToolCallMessage [LET-5333] (#5267)
* Add new tool_calls field to ToolCallMessage

* fern autogen
2025-10-09 13:20:52 -07:00
Matthew Zhou
d5de582561 feat: Add new multi tool return field [LET-5330] (#5264)
* Add new multi tool return field

* Fern autogen

* Add deprecated fields

* Run fern autogen
2025-10-09 13:20:52 -07:00
cthomas
9cb5156ac7 chore: sync 0.12.0 version (#3023)
Co-authored-by: Matthew Zhou <mattzh1314@gmail.com>
Co-authored-by: Kian Jones <11655409+kianjones9@users.noreply.github.com>
Co-authored-by: Sarah Wooders <sarahwooders@gmail.com>
2025-10-08 16:10:51 -07:00
Caren Thomas
a5354d7534 chore: bump version 0.11.8 2025-10-07 18:31:26 -07:00
Cameron Pfiffer
0e46337eeb docs(fern): migrate and reorganize documentation structure (#5122)
- Add mermaid diagrams for agent concepts (reasoning loop, memory hierarchy, etc.)
- Reorganize agent documentation pages with improved structure
- Add new tutorial content and images
- Update API documentation and OpenAPI specs
- Add archival memory documentation
- Improve getting started guides
2025-10-07 17:50:50 -07:00
Shelley Pham
346db5ce60 feat: add status to runs api [PRO-1529] (#5214) 2025-10-07 17:50:50 -07:00
Matthew Zhou
0f27bf5bdd feat: Support writing packed func return to ToolReturn object (#5209)
* wip

* Add func_response to ToolReturn object

* Fix response packaging

* Backpopulate in to_pydantic

* Fix ordering of packaging

* Add more checks
2025-10-07 17:50:50 -07:00
Matthew Zhou
5a315b8ad5 feat: Add id to tool return object [LET-4673] (#5191)
Add id to tool return object
2025-10-07 17:50:49 -07:00
cthomas
757bbcac37 feat: add pagination to agent files endpoint (#5086)
* feat: add pagination to agent files endpoint
2025-10-07 17:50:49 -07:00
cthomas
416af626cc feat: add pagination to agent folders endpoint (#5085)
* feat: add pagination to agent folders endpoint

* chore: regenerate API client with pagination parameters

* feat: add pagination parameters to agent folders and sources endpoints

- Add pagination parameters (before, after, limit, order, order_by) to list_agent_folders endpoint
- Add pagination parameters to list_agent_sources endpoint
- Update list_attached_sources_async method to support pagination with cursor-based filtering
- Regenerate API client with new pagination parameters
2025-10-07 17:50:49 -07:00
cthomas
3e70a21a6f feat: add hitl support inside agent file (#5170) 2025-10-07 17:50:49 -07:00
Sarah Wooders
e07a589796 chore: rm composio (#5151) 2025-10-07 17:50:49 -07:00
cthomas
cc913df27c feat: add signature to content parts (#5134)
* feat: add signature to content parts

* always base64 encode thought signature

* propagate thought signature back to request
2025-10-07 17:50:49 -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
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
Shubham Naik
832d6275b9 Deprecate project (#5079)
* feat: deprecate project and template and from_template

* feat: deprecate project and template and from_template

---------

Co-authored-by: Shubham Naik <shub@memgpt.ai>
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
Matthew Zhou
b5e848ff18 feat: Implement child tool rules args override [LET-4570] (#5060)
* 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
2025-10-07 17:50:48 -07:00
Matthew Zhou
803b837c64 feat: Support pre-filling arguments on InitToolRule [LET-4569] (#5057)
* Add args

* Add testing to tool rule solver

* Add live integration tests for args prefilling

* Add args override
2025-10-07 17:50:48 -07:00
Matthew Zhou
6c7c12ad0f fix: Remove requires_force_tool_call field so it doesn't show up in documentation (#5054)
Remove internal field so it doesn't show up in documentation
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
6255d59bba chore: sync api (#5038) 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
Shubham Naik
c6ee549591 feat: support programmatic saving of templates via agentifle [PRO-1356] (#4965)
* feat: support programmatic saving of templates via agentifle

* feat: support programmatic saving of templates via agentifle

* chore: next

* chore: next

* chore: next

* chore: programmatic saving templates

* chore: programmatic saving templates

* chore: next

* chore: next

* chore: test

* chore: fix fast eq

---------

Co-authored-by: Shubham Naik <shub@memgpt.ai>
2025-10-07 17:50:46 -07:00
Shubham Naik
1f281262d8 Shub/pro 911 change project to project slug [PRO-911] (#4938)
* chore: init

* chore: change project to project_id

* chore: update docs

* chore: fix types

* chore: fix type

* chore: next

* chore: fix

---------

Co-authored-by: Shubham Naik <shub@memgpt.ai>
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