Commit Graph

6160 Commits

Author SHA1 Message Date
cthomas
bd918fcffa feat: remove count endpoints from documentation (#5614) 2025-10-24 15:13:15 -07:00
Ari Webb
3b399f999f chore: silence error [LET-5761] (#5610)
silence error

Co-authored-by: Ari Webb <ari@letta.com>
2025-10-24 15:13:15 -07:00
Kian Jones
d7b0a38a92 fix: index out of bounds check in agent_manager (#5571)
* set cur_system_message = None if there's no message ids

* typo
2025-10-24 15:13:15 -07:00
jnjpng
39a23e5960 fix: mcp schema generation test (#5608)
* base

* base

---------

Co-authored-by: Letta Bot <noreply@letta.com>
2025-10-24 15:13:15 -07:00
cthomas
04bf2c82fa feat: reorganize agents routes subsections (#5603) 2025-10-24 15:13:15 -07:00
jnjpng
b0c0c8752b feat: support anyOf for structured output tools [LET-5615] (#5556)
* base

* works?

* update tests

---------

Co-authored-by: Letta Bot <noreply@letta.com>
2025-10-24 15:13:15 -07:00
Shubham Naik
1f1f0e3ef1 parallel tool call template stupport [LET-5658] (#5575)
* chore: parallel tool call bugfix

* chore: next

* chore: next

* chore: parallel tool call

---------

Co-authored-by: Shubham Naik <shub@memgpt.ai>
2025-10-24 15:13:15 -07:00
jnjpng
dfcb7ee73d fix: poll for authorization url with timeout [LET-5740] (#5595)
base

Co-authored-by: Letta Bot <noreply@letta.com>
2025-10-24 15:13:15 -07:00
Sarah Wooders
08be90f5e9 feat: revise mcp tool routes (#5195)
* refactored version of MCP routs

* feat: revise MCP routes

* working through new routes spec

* refining

* add necessary patch for config

* mcp servers progress

* small fixes

* updates

* finished

* just stage and publish api

* make update static

---------

Co-authored-by: Ari Webb <ari@letta.com>
Co-authored-by: Ari Webb <arijwebb@gmail.com>
2025-10-24 15:13:15 -07:00
jnjpng
a880fb49ae fix: test disabling optimistic sync (#5576)
base

Co-authored-by: Letta Bot <noreply@letta.com>
2025-10-24 15:13:15 -07:00
jnjpng
8275bdd7e3 feat: add agent state schema change test (#5573)
base

Co-authored-by: Letta Bot <noreply@letta.com>
2025-10-24 15:13:15 -07:00
Cameron Pfiffer
3e0aae08db docs: clarify that ClickHouse is optional for telemetry (#5572)
- Add prominent note in telemetry guide stating ClickHouse is optional
- Add "Optional: Telemetry with ClickHouse" section to self-hosting docs
- Make it clear Letta works with just PostgreSQL
- ClickHouse only needed for observability features (traces, LLM logging, metrics)
2025-10-24 15:13:13 -07:00
Cameron Pfiffer
abfddfe7b9 Add comprehensive documentation for built-in tools (#5519)
* feat: update documentation and add new tutorials for memory blocks and agent collaboration

- Updated navigation paths in docs.yml to reflect new tutorial locations.
- Added comprehensive guides on shared memory blocks and attaching/detaching memory blocks.
- Enhanced existing documentation for memory blocks with examples and best practices.
- Corrected API key references in prebuilt tools documentation.

These changes aim to improve user understanding and facilitate multi-agent collaboration through shared memory systems.

* Add comprehensive documentation for built-in tools

- Restructure Tool Use section with Base Tools and Utilities
- Add Base Tools page documenting memory management and communication tools
- Add Web Search documentation with Exa integration details
- Add Code Interpreter documentation covering supported languages and limitations
- Add Fetch Webpage documentation with fallback extraction methods
- Update Utilities overview page to link to detailed tool docs
2025-10-24 15:13:05 -07:00
Cameron Pfiffer
b0423b4912 docs: clarify agent tools vs SDK endpoints in archival memory guides (#5555)
Separate agent tool calls (archival_memory_insert, archival_memory_search)
from SDK endpoints (client.agents.passages.*) throughout the archival memory
documentation to reduce confusion between what agents do autonomously vs what
developers do via the SDK.

Changes:
- Remove language tabs from agent tool examples (not language-specific)
- Add Info callout explaining the two interaction levels
- Add SDK search example for symmetry with agent search example
- Reorganize best practices into "Agent" and "Developer (SDK)" sections
- Remove comparison table
- Add troubleshooting section with common issues
- Update pagination references to use cursor-based approach
2025-10-24 15:13:03 -07:00
Sarah Wooders
e61d276f5d feat: improve error communication for .af export and loosen name constraints [LET-5603] (#5529)
feat: improve error communication for .af export and loosen name restrictions
2025-10-24 15:12:51 -07:00
cthomas
73dcc0d4b7 feat: latest hitl + parallel tool call changes (#5565) 2025-10-24 15:12:49 -07:00
cthomas
de0896c547 fix: list index out of range empty message history (#5561)
* fix: list index out of range empty message history

* address kian comments
2025-10-24 15:12:26 -07:00
Kian Jones
448ba33c70 fix: source id from pydantic base class rather than expected string id (#5554)
* first pass

* hacky fix bc of path import
2025-10-24 15:12:26 -07:00
Matthew Zhou
de7011e4de feat: Mark certain internal tools as safe to execute concurrently [LET-5614] (#5553)
* Change execution pattern depending on

* Increase efficiency

* Mark certain tools as parallel safe
2025-10-24 15:12:26 -07:00
Cameron Pfiffer
31cb8de606 feat: add shared memory block tutorial, update memory block guide (#5503)
feat: update documentation and add new tutorials for memory blocks and agent collaboration

- Updated navigation paths in docs.yml to reflect new tutorial locations.
- Added comprehensive guides on shared memory blocks and attaching/detaching memory blocks.
- Enhanced existing documentation for memory blocks with examples and best practices.
- Corrected API key references in prebuilt tools documentation.

These changes aim to improve user understanding and facilitate multi-agent collaboration through shared memory systems.
2025-10-24 15:12:24 -07:00
Christina Tong
79f49c33d8 feat: add tool_used field to run_metrics [LET-5419] (#5540)
* feat: add tool_used field to run_metrics [LET-5419]

* change to tool name

* use tool ids over names

* add generated files

* chore: update OpenAPI schema to include tools_used field in RunMetrics

* update alembic file
2025-10-24 15:12:11 -07:00
Matthew Zhou
fc950ecddf feat: Change execution pattern depending on enable_parallel_execution (#5550)
* Change execution pattern depending on

* Increase efficiency
2025-10-24 15:12:11 -07:00
cthomas
f8437d47e2 feat: add support for hitl parallel tool calling (#5549)
* feat: add support for hitl parallel tool calling

* rename to requested_tool_calls
2025-10-24 15:12:11 -07:00
Matthew Zhou
ddd1686ad1 feat: Add flag to tools to signify if they are race safe [LET-5611] (#5548)
* wip add race unsafe param

* Alembic migration

* Fern autogen

* Set default to True

* Adjust fern

* Rename field

* Run fern autogen

* Add enable_parallel_execution to Tool Create and Update
2025-10-24 15:12:11 -07:00
Kian Jones
3ac7cde434 feat: add path parameter validation for source_id (#5524)
🤖 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
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
jnjpng
264de822e5 fix: dispatch callback failing on probe [LET-5606] (#5541)
* probe

* cleanup

* hi

* log

---------

Co-authored-by: Letta Bot <noreply@letta.com>
2025-10-24 15:12:11 -07:00
Sarah Wooders
305bb8c8f7 feat: inject letta_client and agent_id into local sandbox (#5192) 2025-10-24 15:12:11 -07:00
cthomas
5a475fd1a5 feat: add comprehensive testing for client side tool calling (#5539) 2025-10-24 15:12:11 -07:00
cthomas
69b15d606c feat: support approval requests for parallel tool calls (#5538) 2025-10-24 15:12:11 -07:00
jnjpng
5913730992 fix: ensure messages are in chronological order when backfilling tool call id (#5520)
* base

* base

---------

Co-authored-by: Letta Bot <noreply@letta.com>
2025-10-24 15:12:11 -07:00
cthomas
181a73c333 feat: handle noop early return case first in agent loop (#5536) 2025-10-24 15:12:11 -07:00
cthomas
0efcf6ed95 feat: support passing around multiple tool returns (#5535) 2025-10-24 15:12:11 -07:00
cthomas
507a83a81b feat: rename is_approval var to is_approval_response for clarity (#5534) 2025-10-24 15:12:11 -07:00
cthomas
51426c9c51 feat: integrate new tool call denials object (#5533) 2025-10-24 15:12:11 -07:00
cthomas
62d5ae1828 feat: separate out hitl cases (#5531) 2025-10-24 15:12:11 -07:00
cthomas
a03263aca2 feat: remove single tool call case in new agent loop (#5504)
* feat: remove single tool call case in new agent loop

* fix hitl test
2025-10-24 15:12:11 -07:00
Ari Webb
deb599f706 archives [LET-4629] (#5485)
archives

Co-authored-by: Ari Webb <ari@letta.com>
2025-10-24 15:12:11 -07:00
Kian Jones
9ec861606e fix: agent_id copy pasta (#5527)
fix copy pasta
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
cthomas
505c9cff57 feat: add testing for new hitl paths (#5493) 2025-10-24 15:12:11 -07:00