Commit Graph

1852 Commits

Author SHA1 Message Date
cthomas
90e13f7dbc fix: runs endpoint titles (#6282) 2025-11-24 19:10:25 -08:00
cthomas
09df9167f3 feat: rename upsert properties endpoint (#6281) 2025-11-24 19:10:12 -08:00
cthomas
4e22afad22 feat: rename get mcp server to retrieve (#6278) 2025-11-24 19:10:12 -08:00
cthomas
dd03723190 feat: rename get mcp tool to retrieve (#6276) 2025-11-24 19:10:12 -08:00
Kian Jones
0b24a84390 Revert "feat: out of band diagnostics on local health check" (#6275)
* Revert "feat: out of band diagnostics on local health check (#6264)"

This reverts commit 04fd3d7d37021c861855e6e0371a312949f68b3f.

* fix reversions
2025-11-24 19:10:12 -08:00
cthomas
3252630f7e chore: rename get to retrieve for archive docs (#6095) 2025-11-24 19:10:11 -08:00
cthomas
fa1e9c600d chore: rename list files in folders docs (#6097)
* chore: rename list files in folders docs

* fix ADE references
2025-11-24 19:10:11 -08:00
cthomas
1be2f61f05 feat: add new letta error message stream response type (#6192) 2025-11-24 19:10:11 -08:00
cthomas
d0d47021e5 feat: expunge orm objects for garbage collection (#6270) 2025-11-24 19:10:11 -08:00
Kian Jones
ccafc6bef4 feat: out of band diagnostics on local health check (#6264)
* move to not ready immedietly if there's a failure.

* another script in container
2025-11-24 19:10:11 -08:00
jnjpng
0459088ff3 feat: add ld flag for temporal v1 agent (#6251)
* base

* generate

* remove

---------

Co-authored-by: Letta Bot <noreply@letta.com>
2025-11-24 19:09:33 -08:00
jnjpng
52c9abf39b fix: v1 agent message content for anthropic and usage stats tracking [LET-6199] (#6249)
base

Co-authored-by: Letta Bot <noreply@letta.com>
2025-11-24 19:09:33 -08:00
Christina Tong
04611b981c feat: filter messages search endpoint by agent id [LET-6229] (#6246)
* feat: filter messages search endpoint by agent id [LET-6229]

* add autogenerated schema/types
2025-11-24 19:09:33 -08:00
cthomas
bb38da7f95 feat: add initial anthropic proxy prototype (#6233)
* feat: add initial anthropic proxy prototype

* prevent api sync
2025-11-24 19:09:33 -08:00
Sarah Wooders
b0779f7969 feat: remove override for letta_v1_agent (#6231) 2025-11-24 19:09:33 -08:00
Ari Webb
0884272d1c feat: make config for mcp_servers nested [LET-6098] (#6155) 2025-11-24 19:09:33 -08:00
Ari Webb
65a733d5dd fix: make attach/detach routes return None if sdk verion 1.0 (#6203)
* Revert "Revert "feat: make attach/detach routes return None if version is 1.0 [LET-5844]" (#6201)"

This reverts commit bb0d10725f5889306de61e1758f061d6c1041c52.

* fix type checking

* revert

* return state for blocks and sources

* func signatures

* create memgpt_agent for cloud-e2e-tests

* Revert "create memgpt_agent for cloud-e2e-tests"

This reverts commit f279e5897b0942b1006a5f8527713dd801064c63.

* fix

---------

Co-authored-by: Ari Webb <ari@letta.com>
2025-11-24 19:09:33 -08:00
Kian Jones
abb13ef352 fix: Remove nltk blocking download and make azure model listing non-blocking (#6214)
* Fix event loop blocking in NLTK downloads and Azure model listing

Found via watchdog detecting 61.6s hang during file upload.

**Root causes:**
1. NLTK punkt_tab downloads blocking during file processing
2. Azure model listing using sync requests.get() in async context

**Fixes:**
1. Pre-download NLTK data at Docker build time
2. Async fallback download at startup if build failed
3. Move Azure model fetch to thread pool with asyncio.to_thread()

**Impact:**
- Eliminates 60+ second event loop hangs
- Startup: instant if data baked in, ~60s async if needs download
- Requests: never block, all I/O offloaded to threads

* Fix Docker build: ensure /root/nltk_data exists even if download fails

- Create directory before download attempt
- Add verification step to confirm download success
- Directory always exists so COPY won't fail in runtime stage

* Fix: use venv python for NLTK download in Docker build

The builder stage installs NLTK in /app/.venv but we were using
system python which doesn't have NLTK. Now using venv python so
download actually works.

* Use uv run for NLTK download (more idiomatic)

uv run automatically uses the synced venv, cleaner than hardcoding
the venv path.
2025-11-24 19:09:33 -08:00
Sarah Wooders
e7e2105ab6 feat: rename .af parameters [LET-6154] (#6204)
* feat: rename .af parameters

* update apis
2025-11-24 19:09:33 -08:00
Kian Jones
71bce718f7 Add lightweight event loop watchdog monitoring (#6209)
* Add lightweight event loop watchdog monitoring

- Thread-based watchdog detects event loop hangs >15s
- Runs independently, won't interfere with normal operation
- Disabled in test environments
- Minimal overhead, just heartbeat checks every 5s

* actually test it

* Add test script to validate watchdog detects hangs

Run with: uv run python test_watchdog_hang.py

Tests:
- Normal operation (no false positives)
- Short blocks under threshold (no alerts)
- Long blocks over threshold (correctly alerts)
2025-11-24 19:09:33 -08:00
Sarah Wooders
a466e65e6b feat: move sources to folders [LET-6189] (#6199) 2025-11-24 19:09:32 -08:00
Sarah Wooders
cce0f41095 Revert "feat: make attach/detach routes return None if version is 1.0 [LET-5844]" (#6201)
Revert "feat: make attach/detach routes return None if version is 1.0 [LET-58…"

This reverts commit 328c481da6e4e0f7f30a82dcc287c90835f431cc.
2025-11-24 19:09:32 -08:00
Ari Webb
e20feaa3e4 feat: make attach/detach routes return None if version is 1.0 [LET-5844] (#6141)
---------

Co-authored-by: Ari Webb <ari@letta.com>
2025-11-24 19:09:32 -08:00
Kian Jones
a5e435c56f fix: register memory monitor at startup (#6195)
register monitor at startup
2025-11-24 19:09:32 -08:00
Kian Jones
848aa962b6 feat: add memory tracking to core (#6179)
* add memory tracking to core

* move to asyncio from threading.Thread

* remove threading.thread all the way

* delay decorator monitoring initialization until after event loop is registered

* context manager to decorator

* add psutil
2025-11-24 19:09:32 -08:00
Shubham Naik
acbbccd28a feat: have core ask cloud for any relavent api credentials to allow a… [LET-6179] (#6172)
feat: have core ask cloud for any relavent api credentials to allow an agent to perform letta tasks

Co-authored-by: Shubham Naik <shub@memgpt.ai>
2025-11-24 19:09:32 -08:00
cthomas
15a8992f03 Revert "feat: remove init messages for v1 agent" (#6173)
Revert "feat: remove init messages for v1 agent (#6112)"

This reverts commit 8f2e053c623e28dfc7d64a8d4b0c1bfab8942068.
2025-11-24 19:09:32 -08:00
cthomas
eda7b0da93 feat: remove init messages for v1 agent (#6112) 2025-11-24 19:09:32 -08:00
Kian Jones
98ab655765 chore: add add limit of 100 (#6143)
* add limit of 100

* revert scheduler logging

* api changes

* remove redundant None type check
2025-11-13 15:36:56 -08:00
cthomas
0c06dbf047 feat: remove ssl allocation from startup (#6127) 2025-11-13 15:36:56 -08:00
Sarah Wooders
ff87673963 feat: deprecate EmbeddingConfig from archives (#6038) 2025-11-13 15:36:56 -08:00
Kian Jones
077d0e2f9a feat: dump stack trace on segfault (#6121)
* dump stack trace on segfault

* log tokenizer
2025-11-13 15:36:56 -08:00
Sarah Wooders
d37ed2e056 fix: patch update model settings (#6118) 2025-11-13 15:36:56 -08:00
Sarah Wooders
5730f69ecf feat: modal tool execution - NO FEATURE FLAGS USES MODAL [LET-4357] (#5120)
* initial commit

* add delay to deploy

* fix tests

* add tests

* passing tests

* cleanup

* and use modal

* working on modal

* gate on tool metadata

* agent state

* cleanup

---------

Co-authored-by: Letta Bot <noreply@letta.com>
2025-11-13 15:36:56 -08:00
Sarah Wooders
982501f6fa feat: create model table to persist available models (#5835)
---------

Co-authored-by: Ari Webb <arijwebb@gmail.com>
Co-authored-by: Ari Webb <ari@letta.com>
2025-11-13 15:36:56 -08:00
Ari Webb
f36845b485 feat: add create memory for archive [LET-6148] (#6110)
* first hack

* add to stainless

* renaming field

---------

Co-authored-by: Ari Webb <ari@letta.com>
2025-11-13 15:36:56 -08:00
Sarah Wooders
6eeb3c90bb feat: bring back model_settings and remove validation again (#6104) 2025-11-13 15:36:56 -08:00
Sarah Wooders
ddc87418f4 feat: revert model_settings (#6089) 2025-11-13 15:36:56 -08:00
Shubham Naik
eb0e03d7bb chore: move v1health to async [LET-6125] (#6086)
* chore: move v1health to async

* chore: make async

---------

Co-authored-by: Shubham Naik <shub@memgpt.ai>
2025-11-13 15:36:56 -08:00
Kian Jones
814856711e fix: prevent too many runs bug (#6076)
* add limit of 1000 and change FE

* add safety

* const name

* update limit

* add max limit

---------

Co-authored-by: christinatong01 <christina@letta.com>
2025-11-13 15:36:56 -08:00
Charles Packer
2e721ddc62 fix: various hardening to prevent stale state on background mode runs (#6072)
fix: various hardening to prevent stale state on backgroun
d mode runs
2025-11-13 15:36:56 -08:00
Sarah Wooders
0b1fe096ec feat: split up handle and model_settings (#6022) 2025-11-13 15:36:56 -08:00
jnjpng
edbff34d63 feat: enable streaming flag on send message [LET-6100] (#6040)
* base

* base

* update

* stainless

* final

---------

Co-authored-by: Letta Bot <noreply@letta.com>
2025-11-13 15:36:55 -08:00
Kian Jones
789f6cf9cd feat: log incoming requests too (#6050)
log incoming requests too
2025-11-13 15:36:55 -08:00
Charles Packer
363a5c1f92 fix: fix poison state from bad approval response (#5979)
* fix: detect and fail on malformed approval responses

* fix: guard against None approvals in utils.py

* fix: add extra warning

* fix: stop silent drops in deserialize_approvals

* fix: patch v3 stream error handling to prevent sending end_turn after an error occurs, and ensures stop_reason is always set when an error occurs

* fix: Prevents infinite client hangs by ensuring a terminal event is ALWAYS sent

* fix:  Ensures terminal events are sent even if inner stream generator fails to
  send them
2025-11-13 15:36:55 -08:00
Kian Jones
4acda9c80f feat: global exception middleware (#6017)
* global exception middleware

* redo both logging middlewares as one

* remove extra middleware files
2025-11-13 15:36:55 -08:00
jnjpng
501c325b32 feat: return new Model and EmbeddingModel objects for list model/embedding endpoints [LET-6090] (#6019)
* base

* generate

* test

* test

* update

* generate

* cypress

---------

Co-authored-by: Letta Bot <noreply@letta.com>
2025-11-13 15:36:55 -08:00
Matthew Zhou
8df78e9429 feat: Move file upload to temporal [LET-6089] (#6024)
* Finish writing temporal upload file activity

* Remove prints

* Rewrite content re-use
2025-11-13 15:36:55 -08:00
Christina Tong
c76bc9e216 feat: add filters to count_agents endpoint [LET-5380] [LET-5497] (#6008)
* feat: add filters to count_agents endpoint [LET-5380]

* comment

* update
2025-11-13 15:36:55 -08:00
Charles Packer
4b371dd6fb fix(core): patch bug w/ sleeptime agents and client-side tool executions [LET-6081] (#6001)
* fix(core): patch bug w/ sleeptime agents and client-side tool executions

* fix: add groupid to approvalcreate

* chore: just stage-api && just publish-api
2025-11-13 15:36:55 -08:00