{"version":3,"file":"load.cjs","names":["parseFileConfig","BaseChain","loadFromHub","loadFromFile"],"sources":["../../src/chains/load.ts"],"sourcesContent":["import { BaseChain } from \"./base.js\";\nimport { loadFromHub } from \"../util/hub.js\";\nimport { FileLoader, LoadValues, loadFromFile } from \"../util/load.js\";\nimport { parseFileConfig } from \"../util/parse.js\";\n\nconst loadChainFromFile: FileLoader<BaseChain> = async (\n  file: string,\n  path: string,\n  values: LoadValues = {}\n) => {\n  const serialized = parseFileConfig(file, path);\n  return BaseChain.deserialize(serialized, values);\n};\n\n/**\n * Load a chain from {@link https://github.com/hwchase17/langchain-hub | LangchainHub} or local filesystem.\n *\n * @example\n * Loading from LangchainHub:\n * ```ts\n * import { loadChain } from \"@langchain/classic/chains/load\";\n * const chain = await loadChain(\"lc://chains/hello-world/chain.json\");\n * const res = await chain.call({ topic: \"my favorite color\" });\n * ```\n *\n * @example\n * Loading from local filesystem:\n * ```ts\n * import { loadChain } from \"@langchain/classic/chains/load\";\n * const chain = await loadChain(\"/path/to/chain.json\");\n * ```\n */\nexport const loadChain = async (\n  uri: string,\n  values: LoadValues = {}\n): Promise<BaseChain> => {\n  const hubResult = await loadFromHub(\n    uri,\n    loadChainFromFile,\n    \"chains\",\n    new Set([\"json\", \"yaml\"]),\n    values\n  );\n  if (hubResult) {\n    return hubResult;\n  }\n\n  return loadFromFile(uri, loadChainFromFile, values);\n};\n"],"mappings":";;;;;;;;AAKA,MAAM,oBAA2C,OAC/C,MACA,MACA,SAAqB,EAAE,KACpB;CACH,MAAM,aAAaA,cAAAA,gBAAgB,MAAM,KAAK;AAC9C,QAAOC,aAAAA,UAAU,YAAY,YAAY,OAAO;;;;;;;;;;;;;;;;;;;;AAqBlD,MAAa,YAAY,OACvB,KACA,SAAqB,EAAE,KACA;CACvB,MAAM,YAAY,MAAMC,YAAAA,YACtB,KACA,mBACA,UACA,IAAI,IAAI,CAAC,QAAQ,OAAO,CAAC,EACzB,OACD;AACD,KAAI,UACF,QAAO;AAGT,QAAOC,aAAAA,aAAa,KAAK,mBAAmB,OAAO"}