feat(chat): enhance error formatting to include optional error codes for better frontend handling

This commit is contained in:
Anish Sarkar 2026-04-29 21:05:21 +05:30
parent fa6a09197e
commit 901de33684
4 changed files with 97 additions and 58 deletions

View file

@ -565,20 +565,24 @@ class VercelStreamingService:
# Error Part
# =========================================================================
def format_error(self, error_text: str) -> str:
def format_error(self, error_text: str, error_code: str | None = None) -> str:
"""
Format an error message.
Args:
error_text: The error message text
error_code: Optional machine-readable error code for frontend branching
Returns:
str: SSE formatted error part
Example output:
data: {"type":"error","errorText":"Something went wrong"}
data: {"type":"error","errorText":"Something went wrong","errorCode":"SOME_CODE"}
"""
return self._format_sse({"type": "error", "errorText": error_text})
payload: dict[str, str] = {"type": "error", "errorText": error_text}
if error_code:
payload["errorCode"] = error_code
return self._format_sse(payload)
# =========================================================================
# Tool Parts