@n8n/n8n-nodes-langchain 1.48.1 → 1.50.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.
- package/LICENSE_EE.md +27 -0
- package/dist/build.tsbuildinfo +1 -1
- package/dist/credentials/ZepApi.credentials.js +22 -10
- package/dist/credentials/ZepApi.credentials.js.map +1 -1
- package/dist/known/nodes.json +4 -0
- package/dist/nodes/agents/Agent/agents/ToolsAgent/description.js +7 -0
- package/dist/nodes/agents/Agent/agents/ToolsAgent/description.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/ToolsAgent/execute.js +40 -5
- package/dist/nodes/agents/Agent/agents/ToolsAgent/execute.js.map +1 -1
- package/dist/nodes/code/Code.node.js +1 -0
- package/dist/nodes/code/Code.node.js.map +1 -1
- package/dist/nodes/document_loaders/DocumentDefaultDataLoader/DocumentDefaultDataLoader.node.js +27 -0
- package/dist/nodes/document_loaders/DocumentDefaultDataLoader/DocumentDefaultDataLoader.node.js.map +1 -1
- package/dist/nodes/embeddings/EmbeddingsCohere/EmbeddingsCohere.node.js +21 -5
- package/dist/nodes/embeddings/EmbeddingsCohere/EmbeddingsCohere.node.js.map +1 -1
- package/dist/nodes/memory/MemoryZep/MemoryZep.node.js +39 -9
- package/dist/nodes/memory/MemoryZep/MemoryZep.node.js.map +1 -1
- package/dist/nodes/memory/MemoryZep/zep.png +0 -0
- package/dist/nodes/tools/ToolVectorStore/ToolVectorStore.node.d.ts +5 -0
- package/dist/nodes/tools/ToolVectorStore/ToolVectorStore.node.js +100 -0
- package/dist/nodes/tools/ToolVectorStore/ToolVectorStore.node.js.map +1 -0
- package/dist/nodes/trigger/ChatTrigger/ChatTrigger.node.d.ts +5 -3
- package/dist/nodes/trigger/ChatTrigger/ChatTrigger.node.js +126 -18
- package/dist/nodes/trigger/ChatTrigger/ChatTrigger.node.js.map +1 -1
- package/dist/nodes/trigger/ChatTrigger/templates.d.ts +3 -1
- package/dist/nodes/trigger/ChatTrigger/templates.js +8 -3
- package/dist/nodes/trigger/ChatTrigger/templates.js.map +1 -1
- package/dist/nodes/vector_store/VectorStoreQdrant/VectorStoreQdrant.node.js +38 -3
- package/dist/nodes/vector_store/VectorStoreQdrant/VectorStoreQdrant.node.js.map +1 -1
- package/dist/types/credentials.json +1 -1
- package/dist/types/nodes.json +7 -6
- package/dist/utils/N8nBinaryLoader.d.ts +6 -0
- package/dist/utils/N8nBinaryLoader.js +61 -46
- package/dist/utils/N8nBinaryLoader.js.map +1 -1
- package/dist/utils/helpers.d.ts +2 -2
- package/dist/utils/helpers.js +19 -4
- package/dist/utils/helpers.js.map +1 -1
- package/package.json +22 -15
|
@@ -8,5 +8,11 @@ export declare class N8nBinaryLoader {
|
|
|
8
8
|
private textSplitter?;
|
|
9
9
|
constructor(context: IExecuteFunctions, optionsPrefix?: string, binaryDataKey?: string, textSplitter?: TextSplitter);
|
|
10
10
|
processAll(items?: INodeExecutionData[]): Promise<Document[]>;
|
|
11
|
+
private validateMimeType;
|
|
12
|
+
private getFilePathOrBlob;
|
|
13
|
+
private getLoader;
|
|
14
|
+
private loadDocuments;
|
|
15
|
+
private cleanupTmpFileIfNeeded;
|
|
11
16
|
processItem(item: INodeExecutionData, itemIndex: number): Promise<Document[]>;
|
|
17
|
+
processItemByKey(item: INodeExecutionData, itemIndex: number, binaryKey: string): Promise<Document[]>;
|
|
12
18
|
}
|
|
@@ -38,14 +38,7 @@ class N8nBinaryLoader {
|
|
|
38
38
|
}
|
|
39
39
|
return docs;
|
|
40
40
|
}
|
|
41
|
-
async
|
|
42
|
-
const selectedLoader = this.context.getNodeParameter('loader', itemIndex, 'auto');
|
|
43
|
-
const docs = [];
|
|
44
|
-
const metadata = (0, helpers_1.getMetadataFiltersValues)(this.context, itemIndex);
|
|
45
|
-
if (!item)
|
|
46
|
-
return [];
|
|
47
|
-
const binaryData = this.context.helpers.assertBinaryData(itemIndex, this.binaryDataKey);
|
|
48
|
-
const { mimeType } = binaryData;
|
|
41
|
+
async validateMimeType(mimeType, selectedLoader) {
|
|
49
42
|
if (selectedLoader !== 'auto' && !SUPPORTED_MIME_TYPES[selectedLoader].includes(mimeType)) {
|
|
50
43
|
const neededLoader = Object.keys(SUPPORTED_MIME_TYPES).find((loader) => SUPPORTED_MIME_TYPES[loader].includes(mimeType));
|
|
51
44
|
throw new n8n_workflow_1.NodeOperationError(this.context.getNode(), `Mime type doesn't match selected loader. Please select under "Loader Type": ${neededLoader}`);
|
|
@@ -58,73 +51,97 @@ class N8nBinaryLoader {
|
|
|
58
51
|
selectedLoader !== 'auto') {
|
|
59
52
|
throw new n8n_workflow_1.NodeOperationError(this.context.getNode(), `Unsupported mime type: ${mimeType} for selected loader: ${selectedLoader}`);
|
|
60
53
|
}
|
|
61
|
-
|
|
54
|
+
}
|
|
55
|
+
async getFilePathOrBlob(binaryData, mimeType) {
|
|
62
56
|
if (binaryData.id) {
|
|
63
57
|
const binaryBuffer = await this.context.helpers.binaryToBuffer(await this.context.helpers.getBinaryStream(binaryData.id));
|
|
64
|
-
|
|
58
|
+
return new Blob([binaryBuffer], {
|
|
65
59
|
type: mimeType,
|
|
66
60
|
});
|
|
67
61
|
}
|
|
68
62
|
else {
|
|
69
|
-
|
|
63
|
+
return new Blob([Buffer.from(binaryData.data, n8n_workflow_1.BINARY_ENCODING)], {
|
|
70
64
|
type: mimeType,
|
|
71
65
|
});
|
|
72
66
|
}
|
|
73
|
-
|
|
74
|
-
|
|
67
|
+
}
|
|
68
|
+
async getLoader(mimeType, filePathOrBlob, itemIndex) {
|
|
75
69
|
switch (mimeType) {
|
|
76
70
|
case 'application/pdf':
|
|
77
71
|
const splitPages = this.context.getNodeParameter(`${this.optionsPrefix}splitPages`, itemIndex, false);
|
|
78
|
-
|
|
79
|
-
splitPages,
|
|
80
|
-
});
|
|
81
|
-
break;
|
|
72
|
+
return new pdf_1.PDFLoader(filePathOrBlob, { splitPages });
|
|
82
73
|
case 'text/csv':
|
|
83
74
|
const column = this.context.getNodeParameter(`${this.optionsPrefix}column`, itemIndex, null);
|
|
84
75
|
const separator = this.context.getNodeParameter(`${this.optionsPrefix}separator`, itemIndex, ',');
|
|
85
|
-
|
|
86
|
-
column: column !== null && column !== void 0 ? column : undefined,
|
|
87
|
-
separator,
|
|
88
|
-
});
|
|
89
|
-
break;
|
|
76
|
+
return new csv_1.CSVLoader(filePathOrBlob, { column: column !== null && column !== void 0 ? column : undefined, separator });
|
|
90
77
|
case 'application/epub+zip':
|
|
91
78
|
let filePath;
|
|
92
79
|
if (filePathOrBlob instanceof Blob) {
|
|
93
80
|
const tmpFileData = await (0, tmp_promise_1.file)({ prefix: 'epub-loader-' });
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
await (0, promises_1.pipeline)([new Uint8Array(bufferData)], (0, fs_1.createWriteStream)(tmpFileData.path));
|
|
98
|
-
loader = new epub_1.EPubLoader(tmpFileData.path);
|
|
99
|
-
break;
|
|
100
|
-
}
|
|
101
|
-
catch (error) {
|
|
102
|
-
await cleanupTmpFile();
|
|
103
|
-
throw new n8n_workflow_1.NodeOperationError(this.context.getNode(), error);
|
|
104
|
-
}
|
|
81
|
+
const bufferData = await filePathOrBlob.arrayBuffer();
|
|
82
|
+
await (0, promises_1.pipeline)([new Uint8Array(bufferData)], (0, fs_1.createWriteStream)(tmpFileData.path));
|
|
83
|
+
return new epub_1.EPubLoader(tmpFileData.path);
|
|
105
84
|
}
|
|
106
85
|
else {
|
|
107
86
|
filePath = filePathOrBlob;
|
|
108
87
|
}
|
|
109
|
-
|
|
110
|
-
break;
|
|
88
|
+
return new epub_1.EPubLoader(filePath);
|
|
111
89
|
case 'application/vnd.openxmlformats-officedocument.wordprocessingml.document':
|
|
112
|
-
|
|
113
|
-
break;
|
|
90
|
+
return new docx_1.DocxLoader(filePathOrBlob);
|
|
114
91
|
case 'text/plain':
|
|
115
|
-
|
|
116
|
-
break;
|
|
92
|
+
return new text_1.TextLoader(filePathOrBlob);
|
|
117
93
|
case 'application/json':
|
|
118
94
|
const pointers = this.context.getNodeParameter(`${this.optionsPrefix}pointers`, itemIndex, '');
|
|
119
95
|
const pointersArray = pointers.split(',').map((pointer) => pointer.trim());
|
|
120
|
-
|
|
121
|
-
break;
|
|
96
|
+
return new json_1.JSONLoader(filePathOrBlob, pointersArray);
|
|
122
97
|
default:
|
|
123
|
-
|
|
98
|
+
return new text_1.TextLoader(filePathOrBlob);
|
|
124
99
|
}
|
|
125
|
-
|
|
100
|
+
}
|
|
101
|
+
async loadDocuments(loader) {
|
|
102
|
+
return this.textSplitter
|
|
126
103
|
? await this.textSplitter.splitDocuments(await loader.load())
|
|
127
104
|
: await loader.load();
|
|
105
|
+
}
|
|
106
|
+
async cleanupTmpFileIfNeeded(cleanupTmpFile) {
|
|
107
|
+
if (cleanupTmpFile) {
|
|
108
|
+
await cleanupTmpFile();
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
async processItem(item, itemIndex) {
|
|
112
|
+
const docs = [];
|
|
113
|
+
const binaryMode = this.context.getNodeParameter('binaryMode', itemIndex, 'allInputData');
|
|
114
|
+
if (binaryMode === 'allInputData') {
|
|
115
|
+
const binaryData = this.context.getInputData();
|
|
116
|
+
for (const data of binaryData) {
|
|
117
|
+
if (data.binary) {
|
|
118
|
+
const binaryDataKeys = Object.keys(data.binary);
|
|
119
|
+
for (const fileKey of binaryDataKeys) {
|
|
120
|
+
const processedDocuments = await this.processItemByKey(item, itemIndex, fileKey);
|
|
121
|
+
docs.push(...processedDocuments);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
const processedDocuments = await this.processItemByKey(item, itemIndex, this.binaryDataKey);
|
|
128
|
+
docs.push(...processedDocuments);
|
|
129
|
+
}
|
|
130
|
+
return docs;
|
|
131
|
+
}
|
|
132
|
+
async processItemByKey(item, itemIndex, binaryKey) {
|
|
133
|
+
const selectedLoader = this.context.getNodeParameter('loader', itemIndex, 'auto');
|
|
134
|
+
const docs = [];
|
|
135
|
+
const metadata = (0, helpers_1.getMetadataFiltersValues)(this.context, itemIndex);
|
|
136
|
+
if (!item)
|
|
137
|
+
return [];
|
|
138
|
+
const binaryData = this.context.helpers.assertBinaryData(itemIndex, binaryKey);
|
|
139
|
+
const { mimeType } = binaryData;
|
|
140
|
+
await this.validateMimeType(mimeType, selectedLoader);
|
|
141
|
+
const filePathOrBlob = await this.getFilePathOrBlob(binaryData, mimeType);
|
|
142
|
+
const cleanupTmpFile = undefined;
|
|
143
|
+
const loader = await this.getLoader(mimeType, filePathOrBlob, itemIndex);
|
|
144
|
+
const loadedDoc = await this.loadDocuments(loader);
|
|
128
145
|
docs.push(...loadedDoc);
|
|
129
146
|
if (metadata) {
|
|
130
147
|
docs.forEach((document) => {
|
|
@@ -134,9 +151,7 @@ class N8nBinaryLoader {
|
|
|
134
151
|
};
|
|
135
152
|
});
|
|
136
153
|
}
|
|
137
|
-
|
|
138
|
-
await cleanupTmpFile();
|
|
139
|
-
}
|
|
154
|
+
await this.cleanupTmpFileIfNeeded(cleanupTmpFile);
|
|
140
155
|
return docs;
|
|
141
156
|
}
|
|
142
157
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"N8nBinaryLoader.js","sourceRoot":"","sources":["../../utils/N8nBinaryLoader.ts"],"names":[],"mappings":";;;AAAA,8CAA2C;AAC3C,2BAAuC;AAEvC,+CAAmE;AAInE,sEAAyE;AACzE,wEAA2E;AAC3E,6DAAgE;AAChE,sEAAyE;AACzE,6DAAgE;AAChE,wEAA2E;AAC3E,6CAAoE;AAEpE,uCAAqD;AAErD,MAAM,oBAAoB,GAAG;IAC5B,IAAI,EAAE,CAAC,KAAK,CAAC;IACb,SAAS,EAAE,CAAC,iBAAiB,CAAC;IAC9B,SAAS,EAAE,CAAC,UAAU,CAAC;IACvB,UAAU,EAAE,CAAC,sBAAsB,CAAC;IACpC,UAAU,EAAE,CAAC,yEAAyE,CAAC;IACvF,UAAU,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,SAAS,CAAC;IACjD,UAAU,EAAE,CAAC,kBAAkB,CAAC;CAChC,CAAC;AAEF,MAAa,eAAe;IAS3B,YACC,OAA0B,EAC1B,aAAa,GAAG,EAAE,EAClB,aAAa,GAAG,EAAE,EAClB,YAA2B;QAE3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAA4B;QAC5C,MAAM,IAAI,GAAe,EAAE,CAAC;QAE5B,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QAEtB,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC;YAC/D,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YAE/E,IAAI,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;
|
|
1
|
+
{"version":3,"file":"N8nBinaryLoader.js","sourceRoot":"","sources":["../../utils/N8nBinaryLoader.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/helpers.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { EventNamesAiNodesType, IDataObject, IExecuteFunctions } from 'n8n-workflow';
|
|
1
|
+
import type { EventNamesAiNodesType, IDataObject, IExecuteFunctions, IWebhookFunctions } from 'n8n-workflow';
|
|
2
2
|
import type { BaseChatModel } from '@langchain/core/language_models/chat_models';
|
|
3
3
|
import type { BaseOutputParser } from '@langchain/core/output_parsers';
|
|
4
4
|
import type { BaseMessage } from '@langchain/core/messages';
|
|
@@ -12,7 +12,7 @@ export declare function getPromptInputByType(options: {
|
|
|
12
12
|
promptTypeKey: string;
|
|
13
13
|
inputKey: string;
|
|
14
14
|
}): string;
|
|
15
|
-
export declare function getSessionId(ctx: IExecuteFunctions, itemIndex: number, selectorKey?: string, autoSelect?: string, customKey?: string): string;
|
|
15
|
+
export declare function getSessionId(ctx: IExecuteFunctions | IWebhookFunctions, itemIndex: number, selectorKey?: string, autoSelect?: string, customKey?: string): string;
|
|
16
16
|
export declare function logAiEvent(executeFunctions: IExecuteFunctions, event: EventNamesAiNodesType, data?: IDataObject): Promise<void>;
|
|
17
17
|
export declare function serializeChatHistory(chatHistory: BaseMessage[]): string;
|
|
18
18
|
export declare const getConnectedTools: (ctx: IExecuteFunctions, enforceUniqueNames: boolean) => Promise<Tool[]>;
|
package/dist/utils/helpers.js
CHANGED
|
@@ -11,9 +11,17 @@ exports.serializeChatHistory = serializeChatHistory;
|
|
|
11
11
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
12
12
|
const tools_1 = require("@langchain/core/tools");
|
|
13
13
|
function getMetadataFiltersValues(ctx, itemIndex) {
|
|
14
|
-
const
|
|
15
|
-
if (metadata
|
|
16
|
-
|
|
14
|
+
const options = ctx.getNodeParameter('options', itemIndex);
|
|
15
|
+
if (options.metadata) {
|
|
16
|
+
const { metadataValues: metadata } = options.metadata;
|
|
17
|
+
if (metadata.length > 0) {
|
|
18
|
+
return metadata.reduce((acc, { name, value }) => ({ ...acc, [name]: value }), {});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
if (options.searchFilterJson) {
|
|
22
|
+
return ctx.getNodeParameter('options.searchFilterJson', itemIndex, '', {
|
|
23
|
+
ensureType: 'object',
|
|
24
|
+
});
|
|
17
25
|
}
|
|
18
26
|
return undefined;
|
|
19
27
|
}
|
|
@@ -47,10 +55,17 @@ function getPromptInputByType(options) {
|
|
|
47
55
|
return input;
|
|
48
56
|
}
|
|
49
57
|
function getSessionId(ctx, itemIndex, selectorKey = 'sessionIdType', autoSelect = 'fromInput', customKey = 'sessionKey') {
|
|
58
|
+
var _a;
|
|
50
59
|
let sessionId = '';
|
|
51
60
|
const selectorType = ctx.getNodeParameter(selectorKey, itemIndex);
|
|
52
61
|
if (selectorType === autoSelect) {
|
|
53
|
-
|
|
62
|
+
if ('getBodyData' in ctx) {
|
|
63
|
+
const bodyData = (_a = ctx.getBodyData()) !== null && _a !== void 0 ? _a : {};
|
|
64
|
+
sessionId = bodyData.sessionId;
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
sessionId = ctx.evaluateExpression('{{ $json.sessionId }}', itemIndex);
|
|
68
|
+
}
|
|
54
69
|
if (sessionId === '' || sessionId === undefined) {
|
|
55
70
|
throw new n8n_workflow_1.NodeOperationError(ctx.getNode(), 'No session ID found', {
|
|
56
71
|
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",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../utils/helpers.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../utils/helpers.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@n8n/n8n-nodes-langchain",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.50.0",
|
|
4
4
|
"description": "",
|
|
5
|
-
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
|
-
"homepage": "https://n8n.io",
|
|
7
|
-
"repository": {
|
|
8
|
-
"type": "git",
|
|
9
|
-
"url": "git+https://github.com/n8n-io/n8n.git"
|
|
10
|
-
},
|
|
11
5
|
"main": "index.js",
|
|
12
6
|
"files": [
|
|
13
|
-
"dist"
|
|
7
|
+
"dist",
|
|
8
|
+
"LICENSE.md",
|
|
9
|
+
"LICENSE_EE.md"
|
|
14
10
|
],
|
|
15
11
|
"n8n": {
|
|
16
12
|
"n8nNodesApiVersion": 1,
|
|
@@ -87,6 +83,7 @@
|
|
|
87
83
|
"dist/nodes/tools/ToolCode/ToolCode.node.js",
|
|
88
84
|
"dist/nodes/tools/ToolHttpRequest/ToolHttpRequest.node.js",
|
|
89
85
|
"dist/nodes/tools/ToolSerpApi/ToolSerpApi.node.js",
|
|
86
|
+
"dist/nodes/tools/ToolVectorStore/ToolVectorStore.node.js",
|
|
90
87
|
"dist/nodes/tools/ToolWikipedia/ToolWikipedia.node.js",
|
|
91
88
|
"dist/nodes/tools/ToolWolframAlpha/ToolWolframAlpha.node.js",
|
|
92
89
|
"dist/nodes/tools/ToolWorkflow/ToolWorkflow.node.js",
|
|
@@ -108,31 +105,31 @@
|
|
|
108
105
|
]
|
|
109
106
|
},
|
|
110
107
|
"devDependencies": {
|
|
111
|
-
"@aws-sdk/types": "^3.535.0",
|
|
112
108
|
"@types/basic-auth": "^1.1.3",
|
|
113
109
|
"@types/cheerio": "^0.22.15",
|
|
114
|
-
"@types/express": "^4.17.21",
|
|
115
110
|
"@types/html-to-text": "^9.0.1",
|
|
116
111
|
"@types/json-schema": "^7.0.15",
|
|
117
112
|
"@types/temp": "^0.9.1",
|
|
118
|
-
"n8n-core": "1.
|
|
113
|
+
"n8n-core": "1.50.0"
|
|
119
114
|
},
|
|
120
115
|
"dependencies": {
|
|
121
116
|
"@aws-sdk/client-bedrock-runtime": "3.535.0",
|
|
122
117
|
"@aws-sdk/credential-provider-node": "3.535.0",
|
|
118
|
+
"@getzep/zep-cloud": "1.0.6",
|
|
123
119
|
"@getzep/zep-js": "0.9.0",
|
|
124
120
|
"@google-ai/generativelanguage": "2.5.0",
|
|
125
121
|
"@google/generative-ai": "0.11.4",
|
|
126
122
|
"@huggingface/inference": "2.7.0",
|
|
127
123
|
"@langchain/anthropic": "0.1.21",
|
|
128
124
|
"@langchain/cohere": "0.0.10",
|
|
129
|
-
"@langchain/community": "0.2.
|
|
130
|
-
"@langchain/core": "0.2.
|
|
125
|
+
"@langchain/community": "0.2.13",
|
|
126
|
+
"@langchain/core": "0.2.9",
|
|
131
127
|
"@langchain/google-genai": "0.0.16",
|
|
132
128
|
"@langchain/groq": "0.0.12",
|
|
133
129
|
"@langchain/mistralai": "0.0.22",
|
|
134
130
|
"@langchain/openai": "0.0.33",
|
|
135
131
|
"@langchain/pinecone": "0.0.6",
|
|
132
|
+
"@langchain/qdrant": "^0.0.5",
|
|
136
133
|
"@langchain/redis": "0.0.5",
|
|
137
134
|
"@langchain/textsplitters": "0.0.2",
|
|
138
135
|
"@mozilla/readability": "^0.5.0",
|
|
@@ -164,8 +161,18 @@
|
|
|
164
161
|
"tmp-promise": "3.0.3",
|
|
165
162
|
"zod": "3.23.8",
|
|
166
163
|
"zod-to-json-schema": "3.23.0",
|
|
167
|
-
"n8n-
|
|
168
|
-
"n8n-
|
|
164
|
+
"n8n-workflow": "1.49.0",
|
|
165
|
+
"n8n-nodes-base": "1.50.0"
|
|
166
|
+
},
|
|
167
|
+
"license": "SEE LICENSE IN LICENSE.md",
|
|
168
|
+
"homepage": "https://n8n.io",
|
|
169
|
+
"author": {
|
|
170
|
+
"name": "Jan Oberhauser",
|
|
171
|
+
"email": "jan@n8n.io"
|
|
172
|
+
},
|
|
173
|
+
"repository": {
|
|
174
|
+
"type": "git",
|
|
175
|
+
"url": "git+https://github.com/n8n-io/n8n.git"
|
|
169
176
|
},
|
|
170
177
|
"scripts": {
|
|
171
178
|
"clean": "rimraf dist .turbo",
|