- relay: SSE stream error exposure improvements (Claude/Gemini/OpenAI) - test: add mock capture server for E2E relay capture testing Co-Authored-By: Claude <noreply@anthropic.com>
- Gemini stream: 捕获 promptFeedback.blockReason 后停止流并返回 OpenAPI 错误 - OpenAI stream: 检测 SSE 帧中的 error 响应,在首帧写入前转换为 API 错误 - Responses stream: 处理 response.error / response.failed / error 类型帧 - 新增 ClearEventStreamHeadersIfNotWritten 工具方法,错误转换时清除流式头 - 新增 streamOpenAIErrorFromData,从 SSE data 帧提取 OpenAPI 错误结构 - 上游错误体会截断后存入 UpstreamBody 供排障 Co-Authored-By: Claude <noreply@anthropic.com>
- 前端用户列表:synced 用户显式取 synced_quota 字段作为剩余额度 - 各 OpenAI handler 中记录 relayChatID 用于日志追踪 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>