OpenCode (via @ai-sdk/openai-compatible) requests stream: true and was rendering an empty response because the adapter always returned a single non-streaming chat.completion JSON body. When stream: true, emit OpenAI-compatible SSE chat.completion.chunk events (role delta, content delta, stop, then data: [DONE]) so streaming clients render text. The non-streaming path is unchanged.
Adds a local EchoServer test that drives the streaming route end-to-end and asserts the chunk shape. 10/10 tests pass, mix format clean.
OpenCode (via @ai-sdk/openai-compatible) requests stream: true and was rendering an empty response because the adapter always returned a single non-streaming `chat.completion` JSON body. When stream: true, emit OpenAI-compatible SSE `chat.completion.chunk` events (role delta, content delta, stop, then `data: [DONE]`) so streaming clients render text. The non-streaming path is unchanged.
Adds a local EchoServer test that drives the streaming route end-to-end and asserts the chunk shape. 10/10 tests pass, `mix format` clean.
OpenCode's @ai-sdk/openai-compatible sends stream:true and would render an
empty response because the adapter always returned a single non-streaming
chat.completion JSON body. Now when stream:true, emit OpenAI-compatible SSE
chat.completion.chunk events (role, content, [DONE]) so streaming clients
render text. Non-streaming path unchanged.
Adds a local EchoServer test that exercises the streaming route end-to-end.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
OpenCode (via @ai-sdk/openai-compatible) requests stream: true and was rendering an empty response because the adapter always returned a single non-streaming
chat.completionJSON body. When stream: true, emit OpenAI-compatible SSEchat.completion.chunkevents (role delta, content delta, stop, thendata: [DONE]) so streaming clients render text. The non-streaming path is unchanged.Adds a local EchoServer test that drives the streaming route end-to-end and asserts the chunk shape. 10/10 tests pass,
mix formatclean.