{"version":3,"file":"pipeline.d.ts","names":["InputValues","PartialValues","SerializedBasePromptTemplate","BasePromptTemplate","BasePromptTemplateInput","PipelinePromptParams","PromptTemplateType","PipelinePromptTemplateInput","Omit","PipelinePromptTemplate","Promise"],"sources":["../../src/prompts/pipeline.d.ts"],"sourcesContent":["import type { InputValues, PartialValues } from \"../utils/types/index.js\";\nimport type { SerializedBasePromptTemplate } from \"./serde.js\";\nimport { BasePromptTemplate, type BasePromptTemplateInput } from \"./base.js\";\n/**\n * Type that includes the name of the prompt and the prompt itself.\n */\nexport type PipelinePromptParams<PromptTemplateType extends BasePromptTemplate> = {\n    name: string;\n    prompt: PromptTemplateType;\n};\n/**\n * Type that extends the BasePromptTemplateInput type, excluding the\n * inputVariables property. It includes an array of pipelinePrompts and a\n * finalPrompt.\n */\nexport type PipelinePromptTemplateInput<PromptTemplateType extends BasePromptTemplate> = Omit<BasePromptTemplateInput, \"inputVariables\"> & {\n    pipelinePrompts: PipelinePromptParams<PromptTemplateType>[];\n    finalPrompt: PromptTemplateType;\n};\n/**\n * Class that handles a sequence of prompts, each of which may require\n * different input variables. Includes methods for formatting these\n * prompts, extracting required input values, and handling partial\n * prompts.\n * @example\n * ```typescript\n * const composedPrompt = new PipelinePromptTemplate({\n *   pipelinePrompts: [\n *     {\n *       name: \"introduction\",\n *       prompt: PromptTemplate.fromTemplate(`You are impersonating {person}.`),\n *     },\n *     {\n *       name: \"example\",\n *       prompt: PromptTemplate.fromTemplate(\n *         `Here's an example of an interaction:\n * Q: {example_q}\n * A: {example_a}`,\n *       ),\n *     },\n *     {\n *       name: \"start\",\n *       prompt: PromptTemplate.fromTemplate(\n *         `Now, do this for real!\n * Q: {input}\n * A:`,\n *       ),\n *     },\n *   ],\n *   finalPrompt: PromptTemplate.fromTemplate(\n *     `{introduction}\n * {example}\n * {start}`,\n *   ),\n * });\n *\n * const formattedPrompt = await composedPrompt.format({\n *   person: \"Elon Musk\",\n *   example_q: `What's your favorite car?`,\n *   example_a: \"Tesla\",\n *   input: `What's your favorite social media site?`,\n * });\n * ```\n */\nexport declare class PipelinePromptTemplate<PromptTemplateType extends BasePromptTemplate> extends BasePromptTemplate {\n    static lc_name(): string;\n    pipelinePrompts: PipelinePromptParams<PromptTemplateType>[];\n    finalPrompt: PromptTemplateType;\n    constructor(input: PipelinePromptTemplateInput<PromptTemplateType>);\n    /**\n     * Computes the input values required by the pipeline prompts.\n     * @returns Array of input values required by the pipeline prompts.\n     */\n    protected computeInputValues(): string[];\n    protected static extractRequiredInputValues(allValues: InputValues, requiredValueNames: string[]): InputValues;\n    /**\n     * Formats the pipeline prompts based on the provided input values.\n     * @param values Input values to format the pipeline prompts.\n     * @returns Promise that resolves with the formatted input values.\n     */\n    protected formatPipelinePrompts(values: InputValues): Promise<InputValues>;\n    /**\n     * Formats the final prompt value based on the provided input values.\n     * @param values Input values to format the final prompt value.\n     * @returns Promise that resolves with the formatted final prompt value.\n     */\n    formatPromptValue(values: InputValues): Promise<PromptTemplateType[\"PromptValueReturnType\"]>;\n    format(values: InputValues): Promise<string>;\n    /**\n     * Handles partial prompts, which are prompts that have been partially\n     * filled with input values.\n     * @param values Partial input values.\n     * @returns Promise that resolves with a new PipelinePromptTemplate instance with updated input variables.\n     */\n    partial(values: PartialValues): Promise<PipelinePromptTemplate<PromptTemplateType>>;\n    serialize(): SerializedBasePromptTemplate;\n    _getPromptType(): string;\n}\n"],"mappings":";;;;;;;;AAMA;AAAgC,KAApBK,oBAAoB,CAAA,2BAA4BF,kBAA5B,CAAA,GAAA;EAAA,IAA4BA,EAAAA,MAAAA;EAAkB,MAElEG,EAAAA,kBAAAA;AAAkB,CAAA;AAO9B;;;;;AAC0CA,KAD9BC,2BAC8BD,CAAAA,2BADyBH,kBACzBG,CAAAA,GAD+CE,IAC/CF,CADoDF,uBACpDE,EAAAA,gBAAAA,CAAAA,GAAAA;EAAkB,eAAvCD,EAAAA,oBAAAA,CAAqBC,kBAArBD,CAAAA,EAAAA;EAAoB,WACxBC,EAAAA,kBAAAA;AAAkB,CAAA;AA+CnC;;;;;;;;;;;;;;;;;;;;;;;;AAAqH;;;;;;;;;;;;;;;;;;;;;cAAhGG,kDAAkDN,4BAA4BA,kBAAAA;;mBAE9EE,qBAAqBC;eACzBA;qBACMC,4BAA4BD;;;;;;yDAMQN,4CAA4CA;;;;;;0CAM3DA,cAAcU,QAAQV;;;;;;4BAMpCA,cAAcU,QAAQJ;iBACjCN,cAAcU;;;;;;;kBAObT,gBAAgBS,QAAQD,uBAAuBH;eAClDJ"}