@langchain/core
Version:
Core LangChain.js abstractions and schemas
1 lines • 4.32 kB
Source Map (JSON)
{"version":3,"file":"passthrough.d.cts","names":["Runnable","RunnableAssign","RunnableMapLike","RunnableConfig","RunnablePassthroughFunc","RunInput","Promise","RunnablePassthrough","RunOutput","Partial","AsyncGenerator","Record"],"sources":["../../src/runnables/passthrough.d.ts"],"sourcesContent":["import { Runnable, RunnableAssign, RunnableMapLike } from \"./base.js\";\nimport { type RunnableConfig } from \"./config.js\";\ntype RunnablePassthroughFunc<RunInput = any> = ((input: RunInput) => void) | ((input: RunInput, config?: RunnableConfig) => void) | ((input: RunInput) => Promise<void>) | ((input: RunInput, config?: RunnableConfig) => Promise<void>);\n/**\n * A runnable to passthrough inputs unchanged or with additional keys.\n *\n * This runnable behaves almost like the identity function, except that it\n * can be configured to add additional keys to the output, if the input is\n * an object.\n *\n * The example below demonstrates how to use `RunnablePassthrough to\n * passthrough the input from the `.invoke()`\n *\n * @example\n * ```typescript\n * const chain = RunnableSequence.from([\n * {\n * question: new RunnablePassthrough(),\n * context: async () => loadContextFromStore(),\n * },\n * prompt,\n * llm,\n * outputParser,\n * ]);\n * const response = await chain.invoke(\n * \"I can pass a single string instead of an object since I'm using `RunnablePassthrough`.\"\n * );\n * ```\n */\nexport declare class RunnablePassthrough<RunInput = any> extends Runnable<RunInput, RunInput> {\n static lc_name(): string;\n lc_namespace: string[];\n lc_serializable: boolean;\n func?: RunnablePassthroughFunc<RunInput>;\n constructor(fields?: {\n func?: RunnablePassthroughFunc<RunInput>;\n });\n invoke(input: RunInput, options?: Partial<RunnableConfig>): Promise<RunInput>;\n transform(generator: AsyncGenerator<RunInput>, options: Partial<RunnableConfig>): AsyncGenerator<RunInput>;\n /**\n * A runnable that assigns key-value pairs to the input.\n *\n * The example below shows how you could use it with an inline function.\n *\n * @example\n * ```typescript\n * const prompt =\n * PromptTemplate.fromTemplate(`Write a SQL query to answer the question using the following schema: {schema}\n * Question: {question}\n * SQL Query:`);\n *\n * // The `RunnablePassthrough.assign()` is used here to passthrough the input from the `.invoke()`\n * // call (in this example it's the question), along with any inputs passed to the `.assign()` method.\n * // In this case, we're passing the schema.\n * const sqlQueryGeneratorChain = RunnableSequence.from([\n * RunnablePassthrough.assign({\n * schema: async () => db.getTableInfo(),\n * }),\n * prompt,\n * new ChatOpenAI({ model: \"gpt-4o-mini\" }).withConfig({ stop: [\"\\nSQLResult:\"] }),\n * new StringOutputParser(),\n * ]);\n * const result = await sqlQueryGeneratorChain.invoke({\n * question: \"How many employees are there?\",\n * });\n * ```\n */\n static assign<RunInput extends Record<string, unknown> = Record<string, unknown>, RunOutput extends Record<string, unknown> = Record<string, unknown>>(mapping: RunnableMapLike<RunInput, RunOutput>): RunnableAssign<RunInput, RunInput & RunOutput>;\n}\nexport {};\n//# sourceMappingURL=passthrough.d.ts.map"],"mappings":";;;;KAEKI,mDAAmDC,8BAA8BA,mBAAmBF,oCAAoCE,aAAaC,0BAA0BD,mBAAmBF,mBAAmBG;;AADxK;;;;;;;;;AAC+K;AA2BjO;;;;;;;;;;;;;;;AAS4DG,cATvCF,mBASuCE,CAAAA,WAAAA,GAAAA,CAAAA,SATKT,QASLS,CATcJ,QASdI,EATwBJ,QASxBI,CAAAA,CAAAA;EAAyCJ,OAAAA,OAAAA,CAAAA,CAAAA,EAAAA,MAAAA;EAAfK,YAAAA,EAAAA,MAAAA,EAAAA;EA6BnDC,eAAAA,EAAAA,OAAAA;EAA0BA,IAAAA,CAAAA,EAlClDP,uBAkCkDO,CAlC1BN,QAkC0BM,CAAAA;EAA2CA,WAAAA,CAAAA,MAA4EN,CAA5EM,EAAAA;IAA0BA,IAAAA,CAAAA,EAhCnHP,uBAgCmHO,CAhC3FN,QAgC2FM,CAAAA;EAAkDN,CAAAA;EAAUG,MAAAA,CAAAA,KAAAA,EA9B5KH,QA8B4KG,EAAAA,OAAAA,CAAAA,EA9BxJC,OA8BwJD,CA9BhJL,cA8BgJK,CAAAA,CAAAA,EA9B9HF,OA8B8HE,CA9BtHH,QA8BsHG,CAAAA;EAA1BN,SAAAA,CAAAA,SAAAA,EA7B3IQ,cA6B2IR,CA7B5HG,QA6B4HH,CAAAA,EAAAA,OAAAA,EA7BxGO,OA6BwGP,CA7BhGC,cA6BgGD,CAAAA,CAAAA,EA7B9EQ,cA6B8ER,CA7B/DG,QA6B+DH,CAAAA;EAAsDG;;;;;AAtCjJ;;;;;;;;;;;;;;;;;;;;;;;iCAsCtCM,0BAA0BA,2CAA2CA,0BAA0BA,kCAAkCT,gBAAgBG,UAAUG,aAAaP,eAAeI,UAAUA,WAAWG"}