(raw: string)
| 2180 | |
| 2181 | const parseOpenAIResponsePayloads = (raw: string): any[] => { |
| 2182 | const payloads: any[] = []; |
| 2183 | let sawDataLine = false; |
| 2184 | |
| 2185 | for (const line of raw.split(/\r?\n/)) { |
| 2186 | const trimmed = line.trim(); |
| 2187 | if (!trimmed.startsWith("data:")) continue; |
| 2188 | sawDataLine = true; |
| 2189 | |
| 2190 | const body = trimmed.slice(5).trim(); |
| 2191 | if (!body || body === "[DONE]") continue; |
| 2192 | |
| 2193 | try { |
| 2194 | payloads.push(JSON.parse(body)); |
| 2195 | } catch {} |
| 2196 | } |
| 2197 | |
| 2198 | if (payloads.length > 0 || sawDataLine) return payloads; |
| 2199 | |
| 2200 | try { |
| 2201 | const parsed = JSON.parse(raw); |
| 2202 | return Array.isArray(parsed) ? parsed : [parsed]; |
| 2203 | } catch { |
| 2204 | return []; |
| 2205 | } |
| 2206 | }; |
| 2207 | |
| 2208 | const parseOpenAIResponseData = async ( |
| 2209 | data: any, |
| 2210 | ): Promise<{ |
no outgoing calls
no test coverage detected