(raw)
| 29 | } |
| 30 | |
| 31 | function parseChatFrames(raw) { |
| 32 | return raw |
| 33 | .split('\n\n') |
| 34 | .filter(Boolean) |
| 35 | .filter(frame => !frame.startsWith(':')) |
| 36 | .map(frame => { |
| 37 | const dataLine = frame.split('\n').find(line => line.startsWith('data: ')); |
| 38 | const payload = dataLine?.slice(6) || ''; |
| 39 | return payload === '[DONE]' ? '[DONE]' : JSON.parse(payload); |
| 40 | }); |
| 41 | } |
| 42 | |
| 43 | afterEach(() => { |
| 44 | cacheClear(); |
no outgoing calls
no test coverage detected