Peek the first SSE frame in wrapQoderSSE; if statusCodeValue != 200 and the body carries a billing signature (code 112/10605 or pricingUrl), return a synthetic 403 so chatCore marks the connection unavailable and triggers combo/account fallback instead of leaking the error text into chat. wrapQoderSSE becomes async; consumed peek bytes are re-processed in the stream start() seed loop so nothing is dropped.
18 KiB
18 KiB