| 24 | } |
| 25 | |
| 26 | function lastUserMessage(messages = []) { |
| 27 | for (let i = messages.length - 1; i >= 0; i -= 1) { |
| 28 | const message = messages[i] |
| 29 | if (message?.role === 'user') { |
| 30 | if (typeof message.content === 'string') { |
| 31 | return message.content |
| 32 | } |
| 33 | if (Array.isArray(message.content)) { |
| 34 | return message.content |
| 35 | .map(part => { |
| 36 | if (typeof part === 'string') return part |
| 37 | if (part?.type === 'text') return part.text || '' |
| 38 | return '' |
| 39 | }) |
| 40 | .join('\n') |
| 41 | } |
| 42 | } |
| 43 | } |
| 44 | return '' |
| 45 | } |
| 46 | |
| 47 | function buildAnswer(body) { |
| 48 | const prompt = lastUserMessage(body.messages) |