* 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>
* 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
* add step id index on messages
* simple index
* fix sources padding
* fix import
* fix passage manager
* fix ci
* I think fixed
* disable turbopufer for managers to avoid failing passages tests
* 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
* chore: have letta fire a request after every step
* chore: have letta fire a request after every step
* chore: temporal
* chore: temporal
---------
Co-authored-by: Shubham Naik <shub@memgpt.ai>
* fix: patch hole in the fallback summarizer where we weren't actually truncating
* fix: remove no-op
* chore: comment
* fix: simplify the new fallback
* fix: properly handle images in summarizer payload
* add e2b sandbox template variable to env for now. (may need to pull from secrets to have syncing in future)
* upgrade from info to warning
* apps
* e2b execution time
* fix: patch sse streaming errors
* fix: don't re-raise, but log explicitly with sentry
* chore: cleanup comments
* fix: revert change from #5907, also make sure to write out a [DONE] to close the stream
* Fix agent loop continuing after cancellation in letta_agent_v3
Bug: When a run is cancelled, _check_run_cancellation() sets
self.should_continue=False and returns early from _step(), but the outer
for loop (line 245) continues to the next iteration, executing subsequent
steps even though cancellation was requested.
Symptom: User hits cancel during step 1, backend marks run as cancelled,
but agent continues executing steps 2, 3, etc.
Root cause: After the 'async for chunk in response' loop completes (line 255),
there was no check of self.should_continue before continuing to the next
iteration of the outer step loop.
Fix: Added 'if not self.should_continue: break' check after the inner loop
to exit the outer step loop when cancellation is detected. This makes v3
consistent with v2 which already had this check (line 306-307).
🐾 Generated with [Letta Code](https://letta.com)
Co-authored-by: Letta <noreply@letta.com>
* add integration tests
* fix: misc fixes required to get cancellations to work on letta code localhost
---------
Co-authored-by: Letta <noreply@letta.com>
Co-authored-by: Sarah Wooders <sarahwooders@gmail.com>