(message, emit = true)
| 81821 | _addChatCompletion(chatCompletion) { |
| 81822 | this._chatCompletions.push(chatCompletion); |
| 81823 | this._emit("chatCompletion", chatCompletion); |
| 81824 | const message = chatCompletion.choices[0]?.message; |
| 81825 | if (message) |
| 81826 | this._addMessage(message); |
| 81827 | return chatCompletion; |
| 81828 | } |
| 81829 | _addMessage(message, emit = true) { |
| 81830 | if (!("content" in message)) |
| 81831 | message.content = null; |
| 81832 | this.messages.push(message); |
| 81833 | if (emit) { |
| 81834 | this._emit("message", message); |
| 81835 | if ((isFunctionMessage(message) || isToolMessage(message)) && message.content) { |
| 81836 | this._emit("functionCallResult", message.content); |
| 81837 | } else if (isAssistantMessage(message) && message.function_call) { |
| 81838 | this._emit("functionCall", message.function_call); |
| 81839 | } else if (isAssistantMessage(message) && message.tool_calls) { |
| 81840 | for (const tool_call of message.tool_calls) { |
| 81841 | if (tool_call.type === "function") { |
| 81842 | this._emit("functionCall", tool_call.function); |
| 81843 | } |
| 81844 | } |
no test coverage detected