| 167 | // Utility logic |
| 168 | // ---------------------------------------------------------------------------- |
| 169 | function formatMessagesForRetool(messages: ChatMessage[]) { |
| 170 | let out = ""; |
| 171 | for (const m of messages) { |
| 172 | const role = m.role === "user" ? "Human" : "Assistant"; |
| 173 | out += `\n\n${role}: ${m.content}`; |
| 174 | } |
| 175 | if (messages.length && messages[messages.length - 1].role === "assistant") { |
| 176 | out += "\n\nHuman: "; // prompt for next user msg |
| 177 | } |
| 178 | return out; |
| 179 | } |
| 180 | |
| 181 | function getBestRetoolAccount(modelId: string) { |
| 182 | const now = Date.now(); |