INNER CODE UNIT · JavaScript
buffer
Zaki-1052/GPTPortal · src/server/services/providers/openai/index.js:242
buffer = buffer.slice(nl + 1);
if (!line || !line.startsWith('data:')) continue;
const data = line.slice(5).trim();
if (data === '[DONE]') {
if (usage) yield { type: 'usage', usage };
return;
}
let json;
try { json = JSON.parse(data); } catch { continue; }
switch (json.type) {
case 'response.output_text.delta':
if (typeof json.delta === 'string') yield { type: 'text', value: json.delta };
break;
case 'response.reasoning_summary_text.delta':
if (typeof json.delta === 'string') yield { type: 'thinking', value: json.delta };
break;
case 'response.completed':
if (json.response && json.response.usage) usage = json.response.usage;