UNPKG

@n8n/n8n-nodes-langchain

Version:

![Banner image](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)

66 lines 2.33 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var memoryManagement_exports = {}; __export(memoryManagement_exports, { loadMemory: () => loadMemory, saveToMemory: () => saveToMemory, saveToolResultsToMemory: () => saveToolResultsToMemory }); module.exports = __toCommonJS(memoryManagement_exports); var import_messages = require("@langchain/core/messages"); async function loadMemory(memory, model, maxTokens) { if (!memory) { return void 0; } const memoryVariables = await memory.loadMemoryVariables({}); let chatHistory = memoryVariables["chat_history"] || []; if (maxTokens && model) { chatHistory = await (0, import_messages.trimMessages)(chatHistory, { strategy: "last", maxTokens, tokenCounter: model, includeSystem: true, startOn: "human", allowPartial: true }); } return chatHistory; } async function saveToMemory(input, output, memory) { if (!output || !memory) { return; } await memory.saveContext({ input }, { output }); } async function saveToolResultsToMemory(input, toolResults, memory) { if (!memory || !toolResults.length) { return; } for (const result of toolResults) { const toolMessage = `Tool: ${result.action.tool}, Input: ${JSON.stringify(result.action.toolInput)}, Result: ${result.observation}`; await memory.saveContext({ input }, { output: toolMessage }); } } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { loadMemory, saveToMemory, saveToolResultsToMemory }); //# sourceMappingURL=memoryManagement.js.map