export type JLINCConfig = import("./common").JLINCConfig; export type JLINCAuthBaseChatModelFields = { config: JLINCConfig; jlincAuthDecision: Tool; targetAuthorized: BaseChatModel; targetNotAuthorized: BaseChatModel | null; }; /** * @typedef {import('./common').JLINCConfig} JLINCConfig */ /** * @typedef {Object} JLINCAuthBaseChatModelFields * @property {JLINCConfig} config * @property {Tool} jlincAuthDecision * @property {BaseChatModel} targetAuthorized * @property {BaseChatModel|null} targetNotAuthorized */ export class JLINCAuthBaseChatModel extends BaseChatModel { /** * @param {JLINCAuthBaseChatModelFields} fields */ constructor({ config, jlincAuthDecision, targetAuthorized, targetNotAuthorized }: JLINCAuthBaseChatModelFields); /** @type {JLINCConfig} */ config: JLINCConfig; /** @type {Tool} */ jlincAuthDecision: Tool; /** @type {BaseChatModel} */ targetAuthorized: BaseChatModel; /** @type {BaseChatModel|null} */ targetNotAuthorized: BaseChatModel | null; /** @type {JLINCTracer} */ tracer: JLINCTracer; /** @type {string} */ authType: string; /** * @param {BindToolsInput[]} tools - The tools to bind to the underlying models. * @param {Partial} [kwargs] - Optional call options. * @returns {Runnable} * A new JLINCAuthBaseChatModel instance whose underlying models * have been bound with the provided tools. */ bindTools(tools: BindToolsInput[], kwargs?: Partial): Runnable; /** * @param {BaseLanguageModelInput} input * @param {Partial} [options] - Optional call options. * @returns {Promise} A promise that resolves with the output. */ invoke(input: BaseLanguageModelInput, runManager: any): Promise; } import { BaseChatModel } from "@langchain/core/dist/language_models/chat_models.js"; import { JLINCTracer } from "../tracer/index.js";