Chat/sse
Description :
POST /chat/api/message now streams the turn as Server-Sent Events instead of one JSON blob:
token: text deltas as the model generatestool: per tool call,started/finished/error(UI can show "searching the corpus…")done: final tally (tool-call count) /error- clean error envelope mid-stream- Abort end-to-end: client disconnect cancels the in-flight LLM call and MCP tool calls
- Fix: malformed JSON bodies now get our 400 envelope (Express default leaked an HTML stack trace)