* fix(core): handle UTF-8 surrogate characters in API responses LLM responses or user input can contain surrogate characters (U+D800-U+DFFF) which are valid Python strings but illegal in UTF-8. ORJSONResponse rejects them with "str is not valid UTF-8: surrogates not allowed". Add SafeORJSONResponse that catches the TypeError and strips surrogates before retrying serialization. 🤖 Generated with [Letta Code](https://letta.com) Co-Authored-By: Letta <noreply@letta.com> * refactor: reuse sanitize_unicode_surrogates from json_helpers Replace the inline _sanitize_surrogates function with the existing sanitize_unicode_surrogates helper from letta.helpers.json_helpers, which is already used across all LLM clients. Co-authored-by: Kian Jones <kianjones9@users.noreply.github.com> 🤖 Generated with [Letta Code](https://letta.com) Co-Authored-By: Letta <noreply@letta.com> --------- Co-authored-by: Letta <noreply@letta.com> Co-authored-by: letta-code <248085862+letta-code@users.noreply.github.com>