mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-04 22:11:36 +00:00
The provider stream path interpolated the rejected SSE frame and its raw lines into the thrown error, so text the model had generated reached logs and the operator's error surface. The transport path already answers this exact condition with the shared MALFORMED_STREAMING_FRAGMENT_ERROR_MESSAGE and keeps the SyntaxError on cause, and the user-facing substitution in formatRawAssistantErrorForUi matches that constant exactly. Align the provider path with it so the same failure reads the same way on both paths. The error-event branch is left as is: its payload is parsed downstream to build a meaningful operator message, so redacting it would be a regression. Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>