UNPKG

@langchain/langgraph

Version:

LangGraph

1 lines 3.38 kB
{"version":3,"file":"call.cjs","names":["RunnableCallable","RunnableSequence","ChannelWrite","RETURN","PASSTHROUGH","TAG_HIDDEN","AsyncLocalStorageProviderSingleton","CONFIG_KEY_CALL"],"sources":["../../src/pregel/call.ts"],"sourcesContent":["import {\n Runnable,\n RunnableConfig,\n RunnableSequence,\n} from \"@langchain/core/runnables\";\nimport { AsyncLocalStorageProviderSingleton } from \"@langchain/core/singletons\";\nimport { CONFIG_KEY_CALL, RETURN, TAG_HIDDEN } from \"../constants.js\";\nimport { ChannelWrite, PASSTHROUGH } from \"./write.js\";\nimport { CachePolicy, RetryPolicy } from \"./utils/index.js\";\nimport { RunnableCallable, type RunnableCallableArgs } from \"../utils.js\";\nimport { EntrypointFunc, EntrypointReturnT, TaskFunc } from \"../func/types.js\";\nimport { LangGraphRunnableConfig } from \"./runnable_types.js\";\n\n/**\n * Wraps a user function in a Runnable that writes the returned value to the RETURN channel.\n */\nexport function getRunnableForFunc<ArgsT extends unknown[], OutputT>(\n name: string,\n func: TaskFunc<ArgsT, OutputT>\n): Runnable<ArgsT, OutputT, LangGraphRunnableConfig> {\n const run = new RunnableCallable<ArgsT, OutputT>({\n func: (input: ArgsT) => func(...input),\n name,\n trace: false,\n recurse: false,\n } as RunnableCallableArgs);\n\n return new RunnableSequence<ArgsT, OutputT>({\n name,\n first: run,\n last: new ChannelWrite<OutputT>(\n [{ channel: RETURN, value: PASSTHROUGH }],\n [TAG_HIDDEN]\n ),\n });\n}\n\nexport function getRunnableForEntrypoint<InputT, OutputT>(\n name: string,\n func: EntrypointFunc<InputT, OutputT>\n): Runnable<InputT, EntrypointReturnT<OutputT>, LangGraphRunnableConfig> {\n const run = new RunnableCallable<InputT, EntrypointReturnT<OutputT>>({\n func: (input: InputT, config: LangGraphRunnableConfig) => {\n return func(input, config);\n },\n name,\n trace: false,\n recurse: false,\n });\n\n return run;\n}\n\nexport type CallWrapperOptions<ArgsT extends unknown[], OutputT> = {\n func: TaskFunc<ArgsT, OutputT>;\n name: string;\n retry?: RetryPolicy;\n cache?: CachePolicy;\n};\n\nexport function call<ArgsT extends unknown[], OutputT>(\n { func, name, cache, retry }: CallWrapperOptions<ArgsT, OutputT>,\n ...args: ArgsT\n): Promise<OutputT> {\n const config =\n AsyncLocalStorageProviderSingleton.getRunnableConfig() as RunnableConfig;\n if (typeof config.configurable?.[CONFIG_KEY_CALL] === \"function\") {\n return config.configurable[CONFIG_KEY_CALL](func, name, args, {\n retry,\n cache,\n callbacks: config.callbacks,\n });\n }\n throw new Error(\n \"Async local storage not initialized. Please call initializeAsyncLocalStorageSingleton() before using this function.\"\n );\n}\n"],"mappings":";;;;;;;;;;;AAgBA,SAAgB,mBACd,MACA,MACmD;CACnD,MAAM,MAAM,IAAIA,+BAAiC;EAC/C,OAAO,UAAiB,KAAK,GAAG;EAChC;EACA,OAAO;EACP,SAAS;;AAGX,QAAO,IAAIC,4CAAiC;EAC1C;EACA,OAAO;EACP,MAAM,IAAIC,2BACR,CAAC;GAAE,SAASC;GAAQ,OAAOC;MAC3B,CAACC;;;AAKP,SAAgB,yBACd,MACA,MACuE;CACvE,MAAM,MAAM,IAAIL,+BAAqD;EACnE,OAAO,OAAe,WAAoC;AACxD,UAAO,KAAK,OAAO;;EAErB;EACA,OAAO;EACP,SAAS;;AAGX,QAAO;;AAUT,SAAgB,KACd,EAAE,MAAM,MAAM,OAAO,SACrB,GAAG,MACe;CAClB,MAAM,SACJM,+DAAmC;AACrC,KAAI,OAAO,OAAO,eAAeC,uCAAqB,WACpD,QAAO,OAAO,aAAaA,mCAAiB,MAAM,MAAM,MAAM;EAC5D;EACA;EACA,WAAW,OAAO;;AAGtB,OAAM,IAAI,MACR"}