MCPcopy Create free account
hub / github.com/ChrisFeldmeier/OpenCodeRust / parse_vercel_sse

Function parse_vercel_sse

crates/opencode-provider/src/vercel.rs:328–350  ·  view source on GitHub ↗
(data: &str)

Source from the content-addressed store, hash-verified

326}
327
328fn parse_vercel_sse(data: &str) -> Option<StreamEvent> {
329 if data.is_empty() {
330 return None;
331 }
332
333 let response: VercelStreamResponse = serde_json::from_str(data).ok()?;
334
335 let choice = response.choices.first()?;
336
337 if let Some(content) = &choice.delta.content {
338 if !content.is_empty() {
339 return Some(StreamEvent::TextDelta(content.clone()));
340 }
341 }
342
343 if let Some(reason) = &choice.finish_reason {
344 if reason == "tool_calls" {
345 return Some(StreamEvent::Done);
346 }
347 }
348
349 None
350}

Callers 1

chat_streamMethod · 0.85

Calls 2

is_emptyMethod · 0.80
cloneMethod · 0.45

Tested by

no test coverage detected