{"version":3,"file":"universal.d.ts","names":["BaseLanguageModelInput","ToolDefinition","BaseChatModel","BaseChatModelParams","BindToolsInput","BaseChatModelCallOptions","BaseMessage","AIMessageChunk","MessageStructure","RunnableBatchOptions","RunnableBinding","RunnableConfig","RunnableToolLike","IterableReadableStream","LogStreamCallbackHandlerInput","RunLogPatch","StreamEvent","StructuredToolInterface","CallbackManagerForLLMRun","ChatResult","EventStreamCallbackHandlerInput","Omit","ConfigurableChatModelCallOptions","Record","MODEL_PROVIDER_CONFIG","ChatModelProvider","getChatModelByClassName","Promise","_inferModelProvider","ConfigurableModelFields","ConfigurableModel","CallOptions","RunInput","Partial","Error","AsyncGenerator","Uint8Array","InitChatModelFields","ConfigurableFields","initChatModel"],"sources":["../../src/chat_models/universal.d.ts"],"sourcesContent":["import { BaseLanguageModelInput, ToolDefinition } from \"@langchain/core/language_models/base\";\nimport { BaseChatModel, BaseChatModelParams, BindToolsInput, type BaseChatModelCallOptions } from \"@langchain/core/language_models/chat_models\";\nimport { BaseMessage, type AIMessageChunk, MessageStructure } from \"@langchain/core/messages\";\nimport { type RunnableBatchOptions, RunnableBinding, type RunnableConfig, type RunnableToolLike } from \"@langchain/core/runnables\";\nimport { IterableReadableStream } from \"@langchain/core/utils/stream\";\nimport { type LogStreamCallbackHandlerInput, type RunLogPatch, type StreamEvent } from \"@langchain/core/tracers/log_stream\";\nimport { type StructuredToolInterface } from \"@langchain/core/tools\";\nimport { CallbackManagerForLLMRun } from \"@langchain/core/callbacks/manager\";\nimport { ChatResult } from \"@langchain/core/outputs\";\n// TODO: remove once `EventStreamCallbackHandlerInput` is exposed in core\ninterface EventStreamCallbackHandlerInput extends Omit<LogStreamCallbackHandlerInput, \"_schemaFormat\"> {\n}\nexport interface ConfigurableChatModelCallOptions extends BaseChatModelCallOptions {\n    tools?: (StructuredToolInterface | Record<string, unknown> | ToolDefinition | RunnableToolLike)[];\n}\n// Configuration map for model providers\nexport declare const MODEL_PROVIDER_CONFIG: {\n    readonly openai: {\n        readonly package: \"@langchain/openai\";\n        readonly className: \"ChatOpenAI\";\n    };\n    readonly anthropic: {\n        readonly package: \"@langchain/anthropic\";\n        readonly className: \"ChatAnthropic\";\n    };\n    readonly azure_openai: {\n        readonly package: \"@langchain/openai\";\n        readonly className: \"AzureChatOpenAI\";\n    };\n    readonly cohere: {\n        readonly package: \"@langchain/cohere\";\n        readonly className: \"ChatCohere\";\n    };\n    readonly \"google-vertexai\": {\n        readonly package: \"@langchain/google-vertexai\";\n        readonly className: \"ChatVertexAI\";\n    };\n    readonly \"google-vertexai-web\": {\n        readonly package: \"@langchain/google-vertexai-web\";\n        readonly className: \"ChatVertexAI\";\n    };\n    readonly \"google-genai\": {\n        readonly package: \"@langchain/google-genai\";\n        readonly className: \"ChatGoogleGenerativeAI\";\n    };\n    readonly ollama: {\n        readonly package: \"@langchain/ollama\";\n        readonly className: \"ChatOllama\";\n    };\n    readonly mistralai: {\n        readonly package: \"@langchain/mistralai\";\n        readonly className: \"ChatMistralAI\";\n    };\n    readonly mistral: {\n        readonly package: \"@langchain/mistralai\";\n        readonly className: \"ChatMistralAI\";\n    };\n    readonly groq: {\n        readonly package: \"@langchain/groq\";\n        readonly className: \"ChatGroq\";\n    };\n    readonly cerebras: {\n        readonly package: \"@langchain/cerebras\";\n        readonly className: \"ChatCerebras\";\n    };\n    readonly bedrock: {\n        readonly package: \"@langchain/aws\";\n        readonly className: \"ChatBedrockConverse\";\n    };\n    readonly deepseek: {\n        readonly package: \"@langchain/deepseek\";\n        readonly className: \"ChatDeepSeek\";\n    };\n    readonly xai: {\n        readonly package: \"@langchain/xai\";\n        readonly className: \"ChatXAI\";\n    };\n    readonly fireworks: {\n        readonly package: \"@langchain/community/chat_models/fireworks\";\n        readonly className: \"ChatFireworks\";\n        readonly hasCircularDependency: true;\n    };\n    readonly together: {\n        readonly package: \"@langchain/community/chat_models/togetherai\";\n        readonly className: \"ChatTogetherAI\";\n        readonly hasCircularDependency: true;\n    };\n    readonly perplexity: {\n        readonly package: \"@langchain/community/chat_models/perplexity\";\n        readonly className: \"ChatPerplexity\";\n        readonly hasCircularDependency: true;\n    };\n};\nexport type ChatModelProvider = keyof typeof MODEL_PROVIDER_CONFIG;\n/**\n * Helper function to get a chat model class by its class name\n * @param className The class name (e.g., \"ChatOpenAI\", \"ChatAnthropic\")\n * @returns The imported model class or undefined if not found\n */\nexport declare function getChatModelByClassName(className: string): Promise<any>;\n/**\n * Attempts to infer the model provider based on the given model name.\n *\n * @param {string} modelName - The name of the model to infer the provider for.\n * @returns {string | undefined} The inferred model provider name, or undefined if unable to infer.\n *\n * @example\n * _inferModelProvider(\"gpt-4\"); // returns \"openai\"\n * _inferModelProvider(\"claude-2\"); // returns \"anthropic\"\n * _inferModelProvider(\"unknown-model\"); // returns undefined\n */\nexport declare function _inferModelProvider(modelName: string): string | undefined;\ninterface ConfigurableModelFields extends BaseChatModelParams {\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    defaultConfig?: Record<string, any>;\n    /**\n     * @default \"any\"\n     */\n    configurableFields?: string[] | \"any\";\n    /**\n     * @default \"\"\n     */\n    configPrefix?: string;\n    /**\n     * Methods which should be called after the model is initialized.\n     * The key will be the method name, and the value will be the arguments.\n     */\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    queuedMethodOperations?: Record<string, any>;\n}\n/**\n * Internal class used to create chat models.\n *\n * @internal\n */\nexport declare class ConfigurableModel<RunInput extends BaseLanguageModelInput = BaseLanguageModelInput, CallOptions extends ConfigurableChatModelCallOptions = ConfigurableChatModelCallOptions> extends BaseChatModel<CallOptions, AIMessageChunk> {\n    _llmType(): string;\n    lc_namespace: string[];\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    _defaultConfig?: Record<string, any>;\n    /**\n     * @default \"any\"\n     */\n    _configurableFields: string[] | \"any\";\n    /**\n     * @default \"\"\n     */\n    _configPrefix: string;\n    /**\n     * Methods which should be called after the model is initialized.\n     * The key will be the method name, and the value will be the arguments.\n     */\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    _queuedMethodOperations: Record<string, any>;\n    constructor(fields: ConfigurableModelFields);\n    _model(config?: RunnableConfig): Promise<BaseChatModel<BaseChatModelCallOptions, AIMessageChunk<MessageStructure>>>;\n    _generate(messages: BaseMessage[], options?: this[\"ParsedCallOptions\"], runManager?: CallbackManagerForLLMRun): Promise<ChatResult>;\n    bindTools(tools: BindToolsInput[], \n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    params?: Record<string, any>): ConfigurableModel<RunInput, CallOptions>;\n    // Extract the input types from the `BaseModel` class.\n    withStructuredOutput: BaseChatModel[\"withStructuredOutput\"];\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    _modelParams(config?: RunnableConfig): Record<string, any>;\n    _removePrefix(str: string, prefix: string): string;\n    /**\n     * Bind config to a Runnable, returning a new Runnable.\n     * @param {RunnableConfig | undefined} [config] - The config to bind.\n     * @returns {RunnableBinding<RunInput, RunOutput, CallOptions>} A new RunnableBinding with the bound config.\n     */\n    withConfig(config?: RunnableConfig): RunnableBinding<RunInput, AIMessageChunk, CallOptions>;\n    invoke(input: RunInput, options?: CallOptions): Promise<AIMessageChunk>;\n    stream(input: RunInput, options?: CallOptions): Promise<IterableReadableStream<AIMessageChunk>>;\n    batch(inputs: RunInput[], options?: Partial<CallOptions> | Partial<CallOptions>[], batchOptions?: RunnableBatchOptions & {\n        returnExceptions?: false;\n    }): Promise<AIMessageChunk[]>;\n    batch(inputs: RunInput[], options?: Partial<CallOptions> | Partial<CallOptions>[], batchOptions?: RunnableBatchOptions & {\n        returnExceptions: true;\n    }): Promise<(AIMessageChunk | Error)[]>;\n    batch(inputs: RunInput[], options?: Partial<CallOptions> | Partial<CallOptions>[], batchOptions?: RunnableBatchOptions): Promise<(AIMessageChunk | Error)[]>;\n    transform(generator: AsyncGenerator<RunInput>, options: CallOptions): AsyncGenerator<AIMessageChunk>;\n    streamLog(input: RunInput, options?: Partial<CallOptions>, streamOptions?: Omit<LogStreamCallbackHandlerInput, \"autoClose\">): AsyncGenerator<RunLogPatch>;\n    streamEvents(input: RunInput, options: Partial<CallOptions> & {\n        version: \"v1\" | \"v2\";\n    }, streamOptions?: Omit<EventStreamCallbackHandlerInput, \"autoClose\">): IterableReadableStream<StreamEvent>;\n    streamEvents(input: RunInput, options: Partial<CallOptions> & {\n        version: \"v1\" | \"v2\";\n        encoding: \"text/event-stream\";\n    }, streamOptions?: Omit<EventStreamCallbackHandlerInput, \"autoClose\">): IterableReadableStream<Uint8Array>;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface InitChatModelFields extends Partial<Record<string, any>> {\n    modelProvider?: string;\n    configurableFields?: string[] | \"any\";\n    configPrefix?: string;\n}\nexport type ConfigurableFields = \"any\" | string[];\nexport declare function initChatModel<RunInput extends BaseLanguageModelInput = BaseLanguageModelInput, CallOptions extends ConfigurableChatModelCallOptions = ConfigurableChatModelCallOptions>(model: string, \n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfields?: Partial<Record<string, any>> & {\n    modelProvider?: string;\n    configurableFields?: never;\n    configPrefix?: string;\n}): Promise<ConfigurableModel<RunInput, CallOptions>>;\nexport declare function initChatModel<RunInput extends BaseLanguageModelInput = BaseLanguageModelInput, CallOptions extends ConfigurableChatModelCallOptions = ConfigurableChatModelCallOptions>(model: never, \n// eslint-disable-next-line @typescript-eslint/no-explicit-any\noptions?: Partial<Record<string, any>> & {\n    modelProvider?: string;\n    configurableFields?: never;\n    configPrefix?: string;\n}): Promise<ConfigurableModel<RunInput, CallOptions>>;\nexport declare function initChatModel<RunInput extends BaseLanguageModelInput = BaseLanguageModelInput, CallOptions extends ConfigurableChatModelCallOptions = ConfigurableChatModelCallOptions>(model?: string, \n// eslint-disable-next-line @typescript-eslint/no-explicit-any\noptions?: Partial<Record<string, any>> & {\n    modelProvider?: string;\n    configurableFields?: ConfigurableFields;\n    configPrefix?: string;\n}): Promise<ConfigurableModel<RunInput, CallOptions>>;\nexport {};\n"],"mappings":"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"}