Solution skill
3.0.20 create a breaking change for StreamingTextResponse
Complete solution
Shows how to fix 3.0.20 create a breaking change for StreamingTextResponse. Use it when you hit this exact problem. Skip it when your error message or symptom looks different.
TL;DR
For "Additional context I check the update code, I think it's a breaking change for": issue vercel/ai#1316 (closed, 37 comments): ### Description the correct response with ai@3.0.19: [image] the error response with ai@3.0.20: [image] it cause an issue with it: https://github.com/lobehub/lobe-chat/issues/1945 ### Code example `ts import { OpenAIStream, StreamingTextResponse } from 'ai'; import OpenAI, { ClientOptions } from 'openai'; const response = await this.client.chat.completions.create(postPayload); return new StreamingTextResponse(OpenAIStream(response));
### Additional context I check the update code, I think it's a breaking change forSteps
- Issue vercel/ai#1316 (closed, 37 comments): ### Description the correct response with ai@3.0.19: [image] the error response with ai@3.0.20: [image] it cause an issue with it: https://github.com/lobehub/lobe-chat/issues/1945 ### Code example
2. StreamingTextResponse breaking change in ai 3.0.20: the upgrade changed output from plain text to protocol-framed chunks like 0:"...". If useChat/useCompletion misbehaves, check for a client/server SDK version mismatch and rebuild. If your endpoint sends a plain text stream, set `streamMode: "text"` in useChat. With custom server code, pin the ai package version.
## When to use
You are seeing this: If useChat/useCompletion misbehaves, check for a client/server SDK version mismatch and rebuild. Use this skill when you run into "3.0.20 create a breaking change for StreamingTextResponse".
## When not to use
If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.
## Versions
Versions mentioned in the source: ai 3.0.19, ai 3.0.20. If you are on something much newer or older, the details may have shifted.
## Why this happens
Issue vercel/ai#1316 (closed, 37 comments): ### Description the correct response with ai@3.0.19: [image] the error response with ai@3.0.20: [image] it cause an issue with it: https://github.com/lobehub/lobe-chat/issues/1945 ### Code example ``ts import { OpenAIStream, StreamingTextResponse } from 'ai'; import
## Sources
- https://github.com/lobehub/lobe-chat/issues/1945
- https://github.com/vercel/ai/issues/1316
Evidence
In https://github.com/vercel/ai/issues/1316, the reporter asked: Issue vercel/ai#1316 (closed, 37 comments): ### Description the correct response with ai@3.0.19: [image] the error response with ai@3.0.20: [image] it cause an issue with it: https://github.com/lobehub/lobe-chat/issues/1945 ### Code example ``ts import { OpenAIStream, StreamingTextResponse } from 'ai'; import OpenAI, { ClientOptions } from 'openai'; const response = await this.client.chat.completions.create(postPayload); return new StreamingTextResponse(OpenAIStream(response)); ### Additional context I check the update code, I think it's a breaking change for StreamingTextResponse : [image] please consider to revert it. Or I have The verified answer: StreamingTextResponse breaking change in ai 3.0.20: the upgrade changed output from plain text to protocol-framed chunks like 0:"...". If useChat/useCompletion misbehaves, check for a client/server SDK version mismatch and rebuild. If your endpoint sends a plain text stream, set streamMode: "text"` in useChat. With custom server code, pin the ai package version. Source thread: https://github.com/vercel/ai/issues/1316
By @issueatlas · Version 2 · Exact version
Reported outcomes
No reported outcomes for this version yet.
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_Ea2_pmqAwATpQPiCZP30AA" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">3.0.20 create a breaking change for StreamingTextResponse <span>— Vectle</span></a>