@n8n/n8n-nodes-langchain 0.15.1 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/credentials/AzureOpenAiApi.credentials.js +1 -1
  3. package/dist/credentials/AzureOpenAiApi.credentials.js.map +1 -1
  4. package/dist/known/credentials.json +1 -0
  5. package/dist/known/nodes.json +4 -0
  6. package/dist/nodes/agents/Agent/Agent.node.js +16 -28
  7. package/dist/nodes/agents/Agent/Agent.node.js.map +1 -1
  8. package/dist/nodes/agents/Agent/agents/SqlAgent/description.js +92 -19
  9. package/dist/nodes/agents/Agent/agents/SqlAgent/description.js.map +1 -1
  10. package/dist/nodes/agents/Agent/agents/SqlAgent/execute.js +27 -3
  11. package/dist/nodes/agents/Agent/agents/SqlAgent/execute.js.map +1 -1
  12. package/dist/nodes/agents/Agent/agents/SqlAgent/other/handlers/sqlite.d.ts +1 -1
  13. package/dist/nodes/agents/Agent/agents/SqlAgent/other/handlers/sqlite.js +13 -3
  14. package/dist/nodes/agents/Agent/agents/SqlAgent/other/handlers/sqlite.js.map +1 -1
  15. package/dist/nodes/agents/Agent/agents/SqlAgent/other/prompts.d.ts +1 -1
  16. package/dist/nodes/agents/Agent/agents/SqlAgent/other/prompts.js +2 -0
  17. package/dist/nodes/agents/Agent/agents/SqlAgent/other/prompts.js.map +1 -1
  18. package/dist/nodes/embeddings/EmbeddingsOllama/EmbeddingsOllama.node.d.ts +5 -0
  19. package/dist/nodes/embeddings/EmbeddingsOllama/EmbeddingsOllama.node.js +54 -0
  20. package/dist/nodes/embeddings/EmbeddingsOllama/EmbeddingsOllama.node.js.map +1 -0
  21. package/dist/nodes/embeddings/EmbeddingsOllama/ollama.svg +1 -0
  22. package/dist/nodes/llms/LMChatOllama/LmChatOllama.node.js +4 -91
  23. package/dist/nodes/llms/LMChatOllama/LmChatOllama.node.js.map +1 -1
  24. package/dist/nodes/llms/LMOllama/LmOllama.node.js +4 -91
  25. package/dist/nodes/llms/LMOllama/LmOllama.node.js.map +1 -1
  26. package/dist/nodes/llms/LMOllama/description.d.ts +4 -0
  27. package/dist/nodes/llms/LMOllama/description.js +97 -0
  28. package/dist/nodes/llms/LMOllama/description.js.map +1 -0
  29. package/dist/nodes/memory/MemoryBufferWindow/MemoryBufferWindow.node.js +21 -3
  30. package/dist/nodes/memory/MemoryBufferWindow/MemoryBufferWindow.node.js.map +1 -1
  31. package/dist/nodes/memory/MemoryMotorhead/MemoryMotorhead.node.js +20 -2
  32. package/dist/nodes/memory/MemoryMotorhead/MemoryMotorhead.node.js.map +1 -1
  33. package/dist/nodes/memory/MemoryRedisChat/MemoryRedisChat.node.js +21 -3
  34. package/dist/nodes/memory/MemoryRedisChat/MemoryRedisChat.node.js.map +1 -1
  35. package/dist/nodes/memory/MemoryXata/MemoryXata.node.js +27 -8
  36. package/dist/nodes/memory/MemoryXata/MemoryXata.node.js.map +1 -1
  37. package/dist/nodes/memory/MemoryZep/MemoryZep.node.js +20 -2
  38. package/dist/nodes/memory/MemoryZep/MemoryZep.node.js.map +1 -1
  39. package/dist/nodes/memory/descriptions.d.ts +3 -0
  40. package/dist/nodes/memory/descriptions.js +34 -0
  41. package/dist/nodes/memory/descriptions.js.map +1 -0
  42. package/dist/nodes/vendors/OpenAi/actions/file/upload.operation.js +2 -2
  43. package/dist/nodes/vendors/OpenAi/actions/file/upload.operation.js.map +1 -1
  44. package/dist/types/credentials.json +1 -1
  45. package/dist/types/nodes.json +7 -6
  46. package/dist/utils/descriptions.d.ts +3 -0
  47. package/dist/utils/descriptions.js +33 -0
  48. package/dist/utils/descriptions.js.map +1 -0
  49. package/dist/utils/helpers.d.ts +3 -0
  50. package/dist/utils/helpers.js +41 -1
  51. package/dist/utils/helpers.js.map +1 -1
  52. package/package.json +5 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"descriptions.js","sourceRoot":"","sources":["../../utils/descriptions.ts"],"names":[],"mappings":";;;AAEa,QAAA,iBAAiB,GAAoB;IACjD,WAAW,EAAE,QAAQ;IACrB,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,SAAS;IACf,OAAO,EAAE;QACR;YAEC,IAAI,EAAE,uCAAuC;YAC7C,KAAK,EAAE,MAAM;YACb,WAAW,EAAE,2CAA2C;SACxD;QACD;YAEC,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,4EAA4E;SACzF;KACD;IACD,OAAO,EAAE,MAAM;CACf,CAAC;AAEW,QAAA,SAAS,GAAoB;IACzC,WAAW,EAAE,MAAM;IACnB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,EAAE;IACX,WAAW,EAAE,kCAAkC;IAC/C,WAAW,EAAE;QACZ,IAAI,EAAE,CAAC;KACP;CACD,CAAC"}
@@ -2,6 +2,7 @@ import type { EventNamesAiNodesType, IDataObject, IExecuteFunctions } from 'n8n-
2
2
  import { BaseChatModel } from 'langchain/chat_models/base';
3
3
  import { BaseChatModel as BaseChatModelCore } from '@langchain/core/language_models/chat_models';
4
4
  import type { BaseOutputParser } from '@langchain/core/output_parsers';
5
+ import type { BaseMessage } from 'langchain/schema';
5
6
  export declare function getMetadataFiltersValues(ctx: IExecuteFunctions, itemIndex: number): Record<string, never> | undefined;
6
7
  export declare function isChatInstance(model: any): model is BaseChatModel | BaseChatModelCore;
7
8
  export declare function getOptionalOutputParsers(ctx: IExecuteFunctions): Promise<Array<BaseOutputParser<unknown>>>;
@@ -11,4 +12,6 @@ export declare function getPromptInputByType(options: {
11
12
  promptTypeKey: string;
12
13
  inputKey: string;
13
14
  }): string;
15
+ export declare function getSessionId(ctx: IExecuteFunctions, itemIndex: number, selectorKey?: string, autoSelect?: string, customKey?: string): string;
14
16
  export declare function logAiEvent(executeFunctions: IExecuteFunctions, event: EventNamesAiNodesType, data?: IDataObject): Promise<void>;
17
+ export declare function serializeChatHistory(chatHistory: BaseMessage[]): string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.logAiEvent = exports.getPromptInputByType = exports.getOptionalOutputParsers = exports.isChatInstance = exports.getMetadataFiltersValues = void 0;
3
+ exports.serializeChatHistory = exports.logAiEvent = exports.getSessionId = exports.getPromptInputByType = exports.getOptionalOutputParsers = exports.isChatInstance = exports.getMetadataFiltersValues = void 0;
4
4
  const n8n_workflow_1 = require("n8n-workflow");
5
5
  const base_1 = require("langchain/chat_models/base");
6
6
  const chat_models_1 = require("@langchain/core/language_models/chat_models");
@@ -42,6 +42,30 @@ function getPromptInputByType(options) {
42
42
  return input;
43
43
  }
44
44
  exports.getPromptInputByType = getPromptInputByType;
45
+ function getSessionId(ctx, itemIndex, selectorKey = 'sessionIdType', autoSelect = 'fromInput', customKey = 'sessionKey') {
46
+ let sessionId = '';
47
+ const selectorType = ctx.getNodeParameter(selectorKey, itemIndex);
48
+ if (selectorType === autoSelect) {
49
+ sessionId = ctx.evaluateExpression('{{ $json.sessionId }}', itemIndex);
50
+ if (sessionId === '' || sessionId === undefined) {
51
+ throw new n8n_workflow_1.NodeOperationError(ctx.getNode(), 'No session ID found', {
52
+ description: "Expected to find the session ID in an input field called 'sessionId' (this is what the chat trigger node outputs). To use something else, change the 'Session ID' parameter",
53
+ itemIndex,
54
+ });
55
+ }
56
+ }
57
+ else {
58
+ sessionId = ctx.getNodeParameter(customKey, itemIndex, '');
59
+ if (sessionId === '' || sessionId === undefined) {
60
+ throw new n8n_workflow_1.NodeOperationError(ctx.getNode(), 'Key parameter is empty', {
61
+ description: "Provide a key to use as session ID in the 'Key' parameter or use the 'Take from previous node automatically' option to use the session ID from the previous node, e.t. chat trigger node",
62
+ itemIndex,
63
+ });
64
+ }
65
+ }
66
+ return sessionId;
67
+ }
68
+ exports.getSessionId = getSessionId;
45
69
  async function logAiEvent(executeFunctions, event, data) {
46
70
  try {
47
71
  await executeFunctions.logAiEvent(event, data ? (0, n8n_workflow_1.jsonStringify)(data) : undefined);
@@ -51,4 +75,20 @@ async function logAiEvent(executeFunctions, event, data) {
51
75
  }
52
76
  }
53
77
  exports.logAiEvent = logAiEvent;
78
+ function serializeChatHistory(chatHistory) {
79
+ return chatHistory
80
+ .map((chatMessage) => {
81
+ if (chatMessage._getType() === 'human') {
82
+ return `Human: ${chatMessage.content}`;
83
+ }
84
+ else if (chatMessage._getType() === 'ai') {
85
+ return `Assistant: ${chatMessage.content}`;
86
+ }
87
+ else {
88
+ return `${chatMessage.content}`;
89
+ }
90
+ })
91
+ .join('\n');
92
+ }
93
+ exports.serializeChatHistory = serializeChatHistory;
54
94
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../utils/helpers.ts"],"names":[],"mappings":";;;AAAA,+CAAqF;AAErF,qDAA2D;AAC3D,6EAAiG;AAGjG,SAAgB,wBAAwB,CACvC,GAAsB,EACtB,SAAiB;IAEjB,MAAM,QAAQ,GAAG,GAAG,CAAC,gBAAgB,CAAC,iCAAiC,EAAE,SAAS,EAAE,EAAE,CAGpF,CAAC;IACH,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAbD,4DAaC;AAID,SAAgB,cAAc,CAAC,KAAU;IACxC,OAAO,KAAK,YAAY,oBAAa,IAAI,KAAK,YAAY,2BAAiB,CAAC;AAC7E,CAAC;AAFD,wCAEC;AAEM,KAAK,UAAU,wBAAwB,CAC7C,GAAsB;IAEtB,IAAI,aAAa,GAAuB,EAAE,CAAC;IAE3C,IAAI,GAAG,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/D,aAAa,GAAG,CAAC,MAAM,GAAG,CAAC,sBAAsB,oBAEhD,CAAC,CACD,CAAuB,CAAC;IAC1B,CAAC;IAED,OAAO,aAAa,CAAC;AACtB,CAAC;AAbD,4DAaC;AAED,SAAgB,oBAAoB,CAAC,OAKpC;IACA,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACpD,MAAM,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAW,CAAC;IAEhE,IAAI,KAAK,CAAC;IACV,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACvB,KAAK,GAAG,GAAG,CAAC,kBAAkB,CAAC,0BAA0B,EAAE,CAAC,CAAW,CAAC;IACzE,CAAC;SAAM,CAAC;QACP,KAAK,GAAG,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAW,CAAC;IACrD,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,iCAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,qBAAqB,EAAE;YAClE,WAAW,EACV,qKAAqK;SACtK,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAxBD,oDAwBC;AAEM,KAAK,UAAU,UAAU,CAC/B,gBAAmC,EACnC,KAA4B,EAC5B,IAAkB;IAElB,IAAI,CAAC;QACJ,MAAM,gBAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,IAAA,4BAAa,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAClF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;IACnE,CAAC;AACF,CAAC;AAVD,gCAUC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../utils/helpers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@n8n/n8n-nodes-langchain",
3
- "version": "0.15.1",
3
+ "version": "0.16.0",
4
4
  "description": "",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "homepage": "https://n8n.io",
@@ -49,6 +49,7 @@
49
49
  "dist/nodes/embeddings/EmbeddingsHuggingFaceInference/EmbeddingsHuggingFaceInference.node.js",
50
50
  "dist/nodes/embeddings/EmbeddingsMistralCloud/EmbeddingsMistralCloud.node.js",
51
51
  "dist/nodes/embeddings/EmbeddingsOpenAI/EmbeddingsOpenAi.node.js",
52
+ "dist/nodes/embeddings/EmbeddingsOllama/EmbeddingsOllama.node.js",
52
53
  "dist/nodes/llms/LMChatAnthropic/LmChatAnthropic.node.js",
53
54
  "dist/nodes/llms/LmChatAzureOpenAi/LmChatAzureOpenAi.node.js",
54
55
  "dist/nodes/llms/LmGooglePalm/LmGooglePalm.node.js",
@@ -110,7 +111,7 @@
110
111
  "@types/temp": "^0.9.1",
111
112
  "eslint-plugin-n8n-nodes-base": "^1.16.0",
112
113
  "gulp": "^4.0.2",
113
- "n8n-core": "1.30.1"
114
+ "n8n-core": "1.31.0"
114
115
  },
115
116
  "dependencies": {
116
117
  "@aws-sdk/client-bedrock-runtime": "3.454.0",
@@ -145,8 +146,8 @@
145
146
  "temp": "0.9.4",
146
147
  "zod": "3.22.4",
147
148
  "zod-to-json-schema": "3.22.0",
148
- "n8n-workflow": "1.30.1",
149
- "n8n-nodes-base": "1.30.1"
149
+ "n8n-nodes-base": "1.31.0",
150
+ "n8n-workflow": "1.31.0"
150
151
  },
151
152
  "scripts": {
152
153
  "clean": "rimraf dist .turbo",