* fix: wrap turbopuffer vector writes in thread pool Turbopuffer library does CPU-intensive base64 encoding of vectors synchronously in async functions (_async_transform_recursive → b64encode_vector), blocking the event loop during file uploads. Solution: Created _run_turbopuffer_write_in_thread() helper that runs turbopuffer writes in an isolated event loop within a worker thread. Applied to all vector write operations: - insert_tools() - insert_archival_memories() - insert_messages() - insert_file_passages() This prevents pybase64.b64encode_as_string() from blocking the main event loop during vector encoding. 🐾 Generated with [Letta Code](https://letta.com) Co-Authored-By: Letta <noreply@letta.com> * fix: wrap all turbopuffer operations in thread pool Extended the thread pool wrapping to ALL turbopuffer write operations, including delete operations, for complete isolation from the main event loop. All turbopuffer namespace.write() calls now run in isolated event loops within worker threads, preventing any potential CPU work from blocking. 🐾 Generated with [Letta Code](https://letta.com) Co-Authored-By: Letta <noreply@letta.com> --------- Co-authored-by: Letta <noreply@letta.com>
79 KiB
79 KiB