UNPKG

@langchain/core

Version:
1 lines 5.29 kB
{"version":3,"file":"history.d.ts","names":["BaseChatMessageHistory","BaseListChatMessageHistory","BaseMessage","Run","Runnable","RunnableBinding","RunnableBindingArgs","RunnableConfig","GetSessionHistoryCallable","Array","Promise","RunnableWithMessageHistoryInputs","RunInput","RunOutput","Omit","RunnableWithMessageHistory","Record","Partial"],"sources":["../../src/runnables/history.d.ts"],"sourcesContent":["import { BaseChatMessageHistory, BaseListChatMessageHistory } from \"../chat_history.js\";\nimport { BaseMessage } from \"../messages/index.js\";\nimport { Run } from \"../tracers/base.js\";\nimport { Runnable, RunnableBinding, type RunnableBindingArgs } from \"./base.js\";\nimport { RunnableConfig } from \"./config.js\";\ntype GetSessionHistoryCallable = (\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n...args: Array<any>) => Promise<BaseChatMessageHistory | BaseListChatMessageHistory> | BaseChatMessageHistory | BaseListChatMessageHistory;\nexport interface RunnableWithMessageHistoryInputs<RunInput, RunOutput> extends Omit<RunnableBindingArgs<RunInput, RunOutput>, \"bound\" | \"config\"> {\n runnable: Runnable<RunInput, RunOutput>;\n getMessageHistory: GetSessionHistoryCallable;\n inputMessagesKey?: string;\n outputMessagesKey?: string;\n historyMessagesKey?: string;\n config?: RunnableConfig;\n}\n/**\n * Wraps a LCEL chain and manages history. It appends input messages\n * and chain outputs as history, and adds the current history messages to\n * the chain input.\n * @example\n * ```typescript\n * // pnpm install @langchain/anthropic @langchain/community @upstash/redis\n *\n * import {\n * ChatPromptTemplate,\n * MessagesPlaceholder,\n * } from \"@langchain/core/prompts\";\n * import { ChatAnthropic } from \"@langchain/anthropic\";\n * import { UpstashRedisChatMessageHistory } from \"@langchain/community/stores/message/upstash_redis\";\n * // For demos, you can also use an in-memory store:\n * // import { ChatMessageHistory } from \"@langchain/classic/stores/message/in_memory\";\n *\n * const prompt = ChatPromptTemplate.fromMessages([\n * [\"system\", \"You're an assistant who's good at {ability}\"],\n * new MessagesPlaceholder(\"history\"),\n * [\"human\", \"{question}\"],\n * ]);\n *\n * const chain = prompt.pipe(new ChatAnthropic({}));\n *\n * const chainWithHistory = new RunnableWithMessageHistory({\n * runnable: chain,\n * getMessageHistory: (sessionId) =>\n * new UpstashRedisChatMessageHistory({\n * sessionId,\n * config: {\n * url: process.env.UPSTASH_REDIS_REST_URL!,\n * token: process.env.UPSTASH_REDIS_REST_TOKEN!,\n * },\n * }),\n * inputMessagesKey: \"question\",\n * historyMessagesKey: \"history\",\n * });\n *\n * const result = await chainWithHistory.invoke(\n * {\n * ability: \"math\",\n * question: \"What does cosine mean?\",\n * },\n * {\n * configurable: {\n * sessionId: \"some_string_identifying_a_user\",\n * },\n * }\n * );\n *\n * const result2 = await chainWithHistory.invoke(\n * {\n * ability: \"math\",\n * question: \"What's its inverse?\",\n * },\n * {\n * configurable: {\n * sessionId: \"some_string_identifying_a_user\",\n * },\n * }\n * );\n * ```\n */\nexport declare class RunnableWithMessageHistory<RunInput, RunOutput> extends RunnableBinding<RunInput, RunOutput> {\n runnable: Runnable<RunInput, RunOutput>;\n inputMessagesKey?: string;\n outputMessagesKey?: string;\n historyMessagesKey?: string;\n getMessageHistory: GetSessionHistoryCallable;\n constructor(fields: RunnableWithMessageHistoryInputs<RunInput, RunOutput>);\n _getInputMessages(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n inputValue: string | BaseMessage | Array<BaseMessage> | Record<string, any>): Array<BaseMessage>;\n _getOutputMessages(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n outputValue: string | BaseMessage | Array<BaseMessage> | Record<string, any>): Array<BaseMessage>;\n _enterHistory(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n input: any, kwargs?: RunnableConfig): Promise<BaseMessage[]>;\n _exitHistory(run: Run, config: RunnableConfig): Promise<void>;\n _mergeConfig(...configs: Array<RunnableConfig | undefined>): Promise<Partial<RunnableConfig<Record<string, any>>>>;\n}\nexport {};\n"],"mappings":";;;;;;;KAKKQ,yBAAAA;;AADwC,GAAA,IACxCA,EAEIC,KAFJD,CAAAA,GAAAA,CAAAA,EAAAA,GAEmBE,OAFnBF,CAE2BR,sBAFF,GAE2BC,0BAF3B,CAAA,GAEyDD,sBAFzD,GAEkFC,0BAFlF;AAAA,UAGbU,gCAHa,CAAA,QAAA,EAAA,SAAA,CAAA,SAGiDG,IAHjD,CAGsDR,mBAHtD,CAG0EM,QAH1E,EAGoFC,SAHpF,CAAA,EAAA,OAAA,GAAA,QAAA,CAAA,CAAA;EAAA,QAErBJ,EAEKL,QAFLK,CAEcG,QAFdH,EAEwBI,SAFxBJ,CAAAA;EAAK,iBAAkBT,EAGTQ,yBAHSR;EAAsB,gBAAGC,CAAAA,EAAAA,MAAAA;EAA0B,iBAA3DS,CAAAA,EAAAA,MAAAA;EAAO,kBAAwDV,CAAAA,EAAAA,MAAAA;EAAsB,MAAGC,CAAAA,EAOnGM,cAPmGN;AAA0B;AAC1I;;;;;;;;;;;AAAmF;AAwEnF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAA4F;;;;;;;;;;;;;;;;cAAvEc,wDAAwDV,gBAAgBO,UAAUC;YACzFT,SAASQ,UAAUC;;;;qBAIVL;sBACCG,iCAAiCC,UAAUC;;;uBAG1CX,cAAcO,MAAMP,eAAec,sBAAsBP,MAAMP;;;wBAG9DA,cAAcO,MAAMP,eAAec,sBAAsBP,MAAMP;;;uBAGhEK,iBAAiBG,QAAQR;oBAC5BC,aAAaI,iBAAiBG;2BACvBD,MAAMF,8BAA8BG,QAAQO,QAAQV,eAAeS"}