Claude: fix token counting when tool_calls are used
| @@ -19,6 +19,14 @@ function convertClaudePrompt(messages, addAssistantPostfix, addAssistantPrefill, | ||
| 19 | 19 | //Prepare messages for claude. |
| 20 | 20 | //When 'Exclude Human/Assistant prefixes' checked, setting messages role to the 'system'(last message is exception). |
| 21 | 21 | if (messages.length > 0) { |
| 22 | + messages.forEach((m) => { | |
| 23 | + if (!m.content) { | |
| 24 | + m.content = ''; | |
| 25 | + } | |
| 26 | + if (m.tool_calls) { | |
| 27 | + m.content += JSON.stringify(m.tool_calls); | |
| 28 | + } | |
| 29 | + }); | |
| 22 | 30 | if (excludePrefixes) { |
| 23 | 31 | messages.slice(0, -1).forEach(message => message.role = 'system'); |
| 24 | 32 | } else { |