{"version":3,"file":"transform.cjs","names":["BaseChain"],"sources":["../../src/chains/transform.ts"],"sourcesContent":["import {\n  CallbackManagerForChainRun,\n  Callbacks,\n} from \"@langchain/core/callbacks/manager\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport { ChainInputs, BaseChain } from \"./base.js\";\n\n/**\n * Interface that extends the `ChainInputs` interface and defines the\n * fields required for a transform chain. It includes the `transform`\n * function, `inputVariables`, and `outputVariables` properties.\n */\nexport interface TransformChainFields<\n  I extends ChainValues,\n  O extends ChainValues,\n> extends ChainInputs {\n  transform: (values: I, callbacks?: Callbacks) => O | Promise<O>;\n  inputVariables: (keyof I extends string ? keyof I : never)[];\n  outputVariables: (keyof O extends string ? keyof O : never)[];\n}\n\n/**\n * Class that represents a transform chain. It extends the `BaseChain`\n * class and implements the `TransformChainFields` interface. It provides\n * a way to transform input values to output values using a specified\n * transform function.\n */\nexport class TransformChain<\n  I extends ChainValues,\n  O extends ChainValues,\n> extends BaseChain {\n  static lc_name() {\n    return \"TransformChain\";\n  }\n\n  transformFunc: (values: I, callbacks?: Callbacks) => O | Promise<O>;\n\n  inputVariables: (keyof I extends string ? keyof I : never)[];\n\n  outputVariables: (keyof O extends string ? keyof O : never)[];\n\n  _chainType() {\n    return \"transform\" as const;\n  }\n\n  get inputKeys() {\n    return this.inputVariables;\n  }\n\n  get outputKeys() {\n    return this.outputVariables;\n  }\n\n  constructor(fields: TransformChainFields<I, O>) {\n    super(fields);\n    this.transformFunc = fields.transform;\n    this.inputVariables = fields.inputVariables;\n    this.outputVariables = fields.outputVariables;\n  }\n\n  async _call(values: I, runManager?: CallbackManagerForChainRun): Promise<O> {\n    return this.transformFunc(values, runManager?.getChild(\"transform\"));\n  }\n}\n"],"mappings":";;;;;;;;AA2BA,IAAa,iBAAb,cAGUA,aAAAA,UAAU;CAClB,OAAO,UAAU;AACf,SAAO;;CAGT;CAEA;CAEA;CAEA,aAAa;AACX,SAAO;;CAGT,IAAI,YAAY;AACd,SAAO,KAAK;;CAGd,IAAI,aAAa;AACf,SAAO,KAAK;;CAGd,YAAY,QAAoC;AAC9C,QAAM,OAAO;AACb,OAAK,gBAAgB,OAAO;AAC5B,OAAK,iBAAiB,OAAO;AAC7B,OAAK,kBAAkB,OAAO;;CAGhC,MAAM,MAAM,QAAW,YAAqD;AAC1E,SAAO,KAAK,cAAc,QAAQ,YAAY,SAAS,YAAY,CAAC"}