( messages: Message[] )
| 24 | } |
| 25 | |
| 26 | function toApiMessages( |
| 27 | messages: Message[] |
| 28 | ): Array<{ role: string; content: unknown }> { |
| 29 | return messages |
| 30 | .filter((m) => m.role === "user" || m.role === "assistant") |
| 31 | .map((m) => ({ role: m.role, content: m.content })); |
| 32 | } |
| 33 | |
| 34 | // --------------------------------------------------------------------------- |
| 35 | // Per-conversation abort controllers (for stop()) |