"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.LANGUAGE_MODEL_NAME = exports.Groq = void 0;
const groq_1 = require("@langchain/groq");
const tools_1 = require("../../tools");
const AbstractLanguageModel_1 = require("../AbstractLanguageModel");
const LANGUAGE_MODEL_NAME = "llm.groq";
exports.LANGUAGE_MODEL_NAME = LANGUAGE_MODEL_NAME;
class Groq extends AbstractLanguageModel_1.AbstractLanguageModel {
    constructor(params, voice, telephonyContext) {
        const model = new groq_1.ChatGroq({
            ...params
        }).bind({
            tools: params.tools.map(tools_1.convertToolToOpenAITool)
        });
        super({
            ...params,
            model
        }, voice, telephonyContext);
    }
}
exports.Groq = Groq;
