| 998 | chatCompletion.insert(Message.fromPrompt(prompt), 'main', prompt.position); | 998 | chatCompletion.insert(Message.fromPrompt(prompt), 'main', prompt.position); |
| 999 | } | 999 | } |
| 1000 | | 1000 | |
| | 1001 | // Pre-allocation of tokens for tool data |
| | 1002 | if (ToolManager.canPerformToolCalls(type)) { |
| | 1003 | const toolData = {}; |
| | 1004 | await ToolManager.registerFunctionToolsOpenAI(toolData); |
| | 1005 | const toolMessage = [{ role: 'user', content: JSON.stringify(toolData) }]; |
| | 1006 | const toolTokens = tokenHandler.count(toolMessage); |
| | 1007 | chatCompletion.reserveBudget(toolTokens); |
| | 1008 | } |
| | 1009 | |
| 1001 | // Add in-chat injections | 1010 | // Add in-chat injections |
| 1002 | messages = populationInjectionPrompts(absolutePrompts, messages); | 1011 | messages = populationInjectionPrompts(absolutePrompts, messages); |
| 1003 | | 1012 | |