Commit Graph

102 Commits

Author SHA1 Message Date
Kian Jones
2878a6e4bd feat: add path parameter validation for folder_id (#5523)
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-10-24 15:12:11 -07:00
Kian Jones
47bf549dfc feat: add path parameter validation for file_id (#5522)
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-10-24 15:12:11 -07:00
Kian Jones
3b56c53b6c feat: add path parameter validation for group_id (#5521)
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-10-24 15:12:11 -07:00
Kian Jones
8a35b886ea feat: add path parameter validation to message_id (#5515)
* feat: add path parameter validation to message_id

* fix: typo

* add comment for agent_id here

* openapi.json changes
2025-10-24 15:12:11 -07:00
Kian Jones
0dd7506af7 feat: add path parameter validation for job_id (#5518)
openapi.json changes
2025-10-24 15:12:11 -07:00
Kian Jones
ad0f6b2be0 feat: add validator for block id (#5514)
* add validator for block id

* add import

* fix plurality:

* openapi-schema.json
2025-10-24 15:12:11 -07:00
Kian Jones
f04bc0753c feat: add path parameter validation for tool_id (#5525)
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-10-24 15:12:11 -07:00
Kian Jones
c4379c3b8b feat: add path validation for archive, provider, sandbox, step, and identity IDs (#5526)
- Add validation for archive_id in archives.py
- Add validation for provider_id in providers.py
- Add validation for sandbox_config_id in sandbox_configs.py
- Add validation for step_id in steps.py
- Add validation for identity_id in identities.py
- Update validators.py to include new primitives and remove mcp_server
- Regenerate OpenAPI schema and SDK

🤖 Generated with Claude Code

Co-authored-by: Claude <noreply@anthropic.com>
2025-10-24 15:12:11 -07:00
Matthew Zhou
c97a395a48 fix: Make parallel tool calls optional on create/update agent [LET-5612] (#5545)
Make parallel tool calls optional on create/update agent pydantic
2025-10-24 15:12:11 -07:00
Matthew Zhou
396959da2f feat: Add toggle on llm config for parallel tool calling [LET-5610] (#5542)
* Add parallel tool calling field

* Thread through parallel tool use

* Fern autogen

* Fix send message v2
2025-10-24 15:12:11 -07:00
Kian Jones
4bbd760204 feat: add validation to fastapi routes for agent IDs (#5454)
* change my PR to match Caren's

* add path parameter validation for agent id first

* remove old import

* remove old agent_id_pattern pattern

* add example and fix max/min calculation to include hyphen

* fix regex string interpolation

* example deprecated in favour of examples

* openapi autogen

* change template test to expect 422

* fix 422 swallow

* expect 422 or 400

* rewrite  error codes

* fix hallucinated uuid

* tweaked error message test

* print docker logs on failure
2025-10-24 15:12:11 -07:00
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