in lib/AbstractChatCompletionRunner.ts [233:257]
protected override _emitFinal(
this: AbstractChatCompletionRunner<
AbstractChatCompletionRunnerEvents,
ParsedT
>,
) {
const completion = this._chatCompletions[this._chatCompletions.length - 1];
if (completion) this._emit("finalChatCompletion", completion);
const finalMessage = this.#getFinalMessage();
if (finalMessage) this._emit("finalMessage", finalMessage);
const finalContent = this.#getFinalContent();
if (finalContent) this._emit("finalContent", finalContent);
const finalFunctionCall = this.#getFinalFunctionCall();
if (finalFunctionCall) this._emit("finalFunctionCall", finalFunctionCall);
const finalFunctionCallResult = this.#getFinalFunctionCallResult();
if (finalFunctionCallResult != null) {
this._emit("finalFunctionCallResult", finalFunctionCallResult);
}
if (this._chatCompletions.some((c) => c.usage)) {
this._emit("totalUsage", this.#calculateTotalUsage());
}
}