@n8n/ai-utilities 0.4.2 → 0.5.1
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/dist/cjs/index.d.ts +6 -0
- package/dist/cjs/index.js +18 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/typecheck.tsbuildinfo +1 -1
- package/dist/cjs/utils/fromai-tool-factory.d.ts +14 -0
- package/dist/cjs/utils/fromai-tool-factory.js +45 -0
- package/dist/cjs/utils/fromai-tool-factory.js.map +1 -0
- package/dist/cjs/utils/shared-fields.d.ts +8 -0
- package/dist/cjs/utils/shared-fields.js +159 -0
- package/dist/cjs/utils/shared-fields.js.map +1 -0
- package/dist/cjs/utils/vector-store/MemoryManager/MemoryCalculator.d.ts +7 -0
- package/dist/cjs/utils/vector-store/MemoryManager/MemoryCalculator.js +60 -0
- package/dist/cjs/utils/vector-store/MemoryManager/MemoryCalculator.js.map +1 -0
- package/dist/cjs/utils/vector-store/MemoryManager/MemoryVectorStoreManager.d.ts +34 -0
- package/dist/cjs/utils/vector-store/MemoryManager/MemoryVectorStoreManager.js +186 -0
- package/dist/cjs/utils/vector-store/MemoryManager/MemoryVectorStoreManager.js.map +1 -0
- package/dist/cjs/utils/vector-store/MemoryManager/StoreCleanupService.d.ts +16 -0
- package/dist/cjs/utils/vector-store/MemoryManager/StoreCleanupService.js +105 -0
- package/dist/cjs/utils/vector-store/MemoryManager/StoreCleanupService.js.map +1 -0
- package/dist/cjs/utils/vector-store/MemoryManager/config.d.ts +4 -0
- package/dist/cjs/utils/vector-store/MemoryManager/config.js +48 -0
- package/dist/cjs/utils/vector-store/MemoryManager/config.js.map +1 -0
- package/dist/cjs/utils/vector-store/MemoryManager/types.d.ts +39 -0
- package/dist/cjs/utils/vector-store/MemoryManager/types.js +13 -0
- package/dist/cjs/utils/vector-store/MemoryManager/types.js.map +1 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/constants.d.ts +4 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/constants.js +55 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/constants.js.map +1 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/createVectorStoreNode.d.ts +18 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/createVectorStoreNode.js +294 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/createVectorStoreNode.js.map +1 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/index.d.ts +6 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/index.js +33 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/index.js.map +1 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/insertOperation.d.ts +5 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/insertOperation.js +48 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/insertOperation.js.map +1 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/loadOperation.d.ts +5 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/loadOperation.js +55 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/loadOperation.js.map +1 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolExecuteOperation.d.ts +5 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolExecuteOperation.js +74 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolExecuteOperation.js.map +1 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolOperation.d.ts +5 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolOperation.js +70 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolOperation.js.map +1 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveOperation.d.ts +5 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveOperation.js +39 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveOperation.js.map +1 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/updateOperation.d.ts +5 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/updateOperation.js +49 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/updateOperation.js.map +1 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/types.d.ts +39 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/types.js +13 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/types.js.map +1 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/utils.d.ts +6 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/utils.js +30 -0
- package/dist/cjs/utils/vector-store/createVectorStoreNode/utils.js.map +1 -0
- package/dist/cjs/utils/vector-store/processDocuments.d.ts +25 -0
- package/dist/cjs/utils/vector-store/processDocuments.js +52 -0
- package/dist/cjs/utils/vector-store/processDocuments.js.map +1 -0
- package/dist/esm/index.d.ts +6 -0
- package/dist/esm/index.js +17 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/typecheck.tsbuildinfo +1 -1
- package/dist/esm/utils/fromai-tool-factory.d.ts +14 -0
- package/dist/esm/utils/fromai-tool-factory.js +35 -0
- package/dist/esm/utils/fromai-tool-factory.js.map +1 -0
- package/dist/esm/utils/shared-fields.d.ts +8 -0
- package/dist/esm/utils/shared-fields.js +149 -0
- package/dist/esm/utils/shared-fields.js.map +1 -0
- package/dist/esm/utils/vector-store/MemoryManager/MemoryCalculator.d.ts +7 -0
- package/dist/esm/utils/vector-store/MemoryManager/MemoryCalculator.js +50 -0
- package/dist/esm/utils/vector-store/MemoryManager/MemoryCalculator.js.map +1 -0
- package/dist/esm/utils/vector-store/MemoryManager/MemoryVectorStoreManager.d.ts +34 -0
- package/dist/esm/utils/vector-store/MemoryManager/MemoryVectorStoreManager.js +176 -0
- package/dist/esm/utils/vector-store/MemoryManager/MemoryVectorStoreManager.js.map +1 -0
- package/dist/esm/utils/vector-store/MemoryManager/StoreCleanupService.d.ts +16 -0
- package/dist/esm/utils/vector-store/MemoryManager/StoreCleanupService.js +95 -0
- package/dist/esm/utils/vector-store/MemoryManager/StoreCleanupService.js.map +1 -0
- package/dist/esm/utils/vector-store/MemoryManager/config.d.ts +4 -0
- package/dist/esm/utils/vector-store/MemoryManager/config.js +38 -0
- package/dist/esm/utils/vector-store/MemoryManager/config.js.map +1 -0
- package/dist/esm/utils/vector-store/MemoryManager/types.d.ts +39 -0
- package/dist/esm/utils/vector-store/MemoryManager/types.js +3 -0
- package/dist/esm/utils/vector-store/MemoryManager/types.js.map +1 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/constants.d.ts +4 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/constants.js +45 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/constants.js.map +1 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/createVectorStoreNode.d.ts +18 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/createVectorStoreNode.js +284 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/createVectorStoreNode.js.map +1 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/index.d.ts +6 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/index.js +23 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/index.js.map +1 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/insertOperation.d.ts +5 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/insertOperation.js +38 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/insertOperation.js.map +1 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/loadOperation.d.ts +5 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/loadOperation.js +45 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/loadOperation.js.map +1 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolExecuteOperation.d.ts +5 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolExecuteOperation.js +64 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolExecuteOperation.js.map +1 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolOperation.d.ts +5 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolOperation.js +60 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolOperation.js.map +1 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/retrieveOperation.d.ts +5 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/retrieveOperation.js +29 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/retrieveOperation.js.map +1 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/updateOperation.d.ts +5 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/updateOperation.js +39 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/updateOperation.js.map +1 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/types.d.ts +39 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/types.js +3 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/types.js.map +1 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/utils.d.ts +6 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/utils.js +20 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/utils.js.map +1 -0
- package/dist/esm/utils/vector-store/processDocuments.d.ts +25 -0
- package/dist/esm/utils/vector-store/processDocuments.js +42 -0
- package/dist/esm/utils/vector-store/processDocuments.js.map +1 -0
- package/package.json +9 -6
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleRetrieveAsToolExecuteOperation = handleRetrieveAsToolExecuteOperation;
|
|
4
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
|
+
const helpers_1 = require("../../../helpers");
|
|
6
|
+
const log_ai_event_1 = require("../../../log-ai-event");
|
|
7
|
+
async function handleRetrieveAsToolExecuteOperation(context, args, embeddings, itemIndex) {
|
|
8
|
+
const filter = (0, helpers_1.getMetadataFiltersValues)(context, itemIndex);
|
|
9
|
+
const vectorStore = await args.getVectorStoreClient(context, undefined, embeddings, itemIndex);
|
|
10
|
+
try {
|
|
11
|
+
const inputData = context.getInputData();
|
|
12
|
+
const item = inputData[itemIndex];
|
|
13
|
+
const query = typeof item.json.input === 'string' ? item.json.input : undefined;
|
|
14
|
+
if (!query || typeof query !== 'string') {
|
|
15
|
+
throw new Error('Input data must contain a "input" field with the search query');
|
|
16
|
+
}
|
|
17
|
+
const topK = context.getNodeParameter('topK', itemIndex, 4);
|
|
18
|
+
(0, n8n_workflow_1.assertParamIsNumber)('topK', topK, context.getNode());
|
|
19
|
+
const useReranker = context.getNodeParameter('useReranker', itemIndex, false);
|
|
20
|
+
(0, n8n_workflow_1.assertParamIsBoolean)('useReranker', useReranker, context.getNode());
|
|
21
|
+
const includeDocumentMetadata = context.getNodeParameter('includeDocumentMetadata', itemIndex, true);
|
|
22
|
+
(0, n8n_workflow_1.assertParamIsBoolean)('includeDocumentMetadata', includeDocumentMetadata, context.getNode());
|
|
23
|
+
const embeddedQuery = await embeddings.embedQuery(query);
|
|
24
|
+
let docs = await vectorStore.similaritySearchVectorWithScore(embeddedQuery, topK, filter);
|
|
25
|
+
if (useReranker && docs.length > 0) {
|
|
26
|
+
const reranker = (await context.getInputConnectionData(n8n_workflow_1.NodeConnectionTypes.AiReranker, 0));
|
|
27
|
+
const documents = docs.map(([doc]) => doc);
|
|
28
|
+
const rerankedDocuments = await reranker.compressDocuments(documents, query);
|
|
29
|
+
docs = rerankedDocuments.map((doc) => {
|
|
30
|
+
const { relevanceScore, ...metadata } = doc.metadata || {};
|
|
31
|
+
return [{ ...doc, metadata }, relevanceScore ?? 0];
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
const serializedDocs = docs.map(([doc]) => {
|
|
35
|
+
if (includeDocumentMetadata) {
|
|
36
|
+
return {
|
|
37
|
+
type: 'text',
|
|
38
|
+
text: JSON.stringify({ ...doc }),
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
return {
|
|
43
|
+
type: 'text',
|
|
44
|
+
pageContent: JSON.stringify({ pageContent: doc.pageContent }),
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
(0, log_ai_event_1.logAiEvent)(context, 'ai-vector-store-searched', { input: query });
|
|
49
|
+
return [
|
|
50
|
+
{
|
|
51
|
+
json: {
|
|
52
|
+
response: serializedDocs,
|
|
53
|
+
},
|
|
54
|
+
pairedItem: {
|
|
55
|
+
item: itemIndex,
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
];
|
|
59
|
+
}
|
|
60
|
+
finally {
|
|
61
|
+
args.releaseVectorStoreClient?.(vectorStore);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=retrieveAsToolExecuteOperation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieveAsToolExecuteOperation.js","sourceRoot":"","sources":["../../../../../../src/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolExecuteOperation.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolOperation.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Embeddings } from '@langchain/core/embeddings';
|
|
2
|
+
import type { VectorStore } from '@langchain/core/vectorstores';
|
|
3
|
+
import type { ISupplyDataFunctions, SupplyData } from 'n8n-workflow';
|
|
4
|
+
import type { VectorStoreNodeConstructorArgs } from '../types';
|
|
5
|
+
export declare function handleRetrieveAsToolOperation<T extends VectorStore = VectorStore>(context: ISupplyDataFunctions, args: VectorStoreNodeConstructorArgs<T>, embeddings: Embeddings, itemIndex: number): Promise<SupplyData>;
|
package/dist/esm/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolOperation.js
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleRetrieveAsToolOperation = handleRetrieveAsToolOperation;
|
|
4
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
|
+
const fromai_tool_factory_1 = require("../../../fromai-tool-factory");
|
|
6
|
+
const helpers_1 = require("../../../helpers");
|
|
7
|
+
const log_wrapper_1 = require("../../../log-wrapper");
|
|
8
|
+
async function handleRetrieveAsToolOperation(context, args, embeddings, itemIndex) {
|
|
9
|
+
const toolDescription = context.getNodeParameter('toolDescription', itemIndex);
|
|
10
|
+
const node = context.getNode();
|
|
11
|
+
const { typeVersion } = node;
|
|
12
|
+
const toolName = typeVersion < 1.3
|
|
13
|
+
? context.getNodeParameter('toolName', itemIndex)
|
|
14
|
+
: (0, n8n_workflow_1.nodeNameToToolName)(node);
|
|
15
|
+
const vectorStoreTool = (0, fromai_tool_factory_1.createToolFromNode)(node, {
|
|
16
|
+
name: toolName,
|
|
17
|
+
description: toolDescription,
|
|
18
|
+
extraArgs: [{ key: 'input', description: 'Query to search for. Required' }],
|
|
19
|
+
func: async (query) => {
|
|
20
|
+
const topK = context.getNodeParameter('topK', itemIndex, 4);
|
|
21
|
+
const useReranker = context.getNodeParameter('useReranker', itemIndex, false);
|
|
22
|
+
const includeDocumentMetadata = context.getNodeParameter('includeDocumentMetadata', itemIndex, true);
|
|
23
|
+
const filter = (0, helpers_1.getMetadataFiltersValues)(context, itemIndex);
|
|
24
|
+
const queryString = typeof query === 'string' ? query : query.input;
|
|
25
|
+
(0, n8n_workflow_1.assert)(typeof queryString === 'string', 'Query must be of type string');
|
|
26
|
+
const vectorStore = await args.getVectorStoreClient(context, undefined, embeddings, itemIndex);
|
|
27
|
+
try {
|
|
28
|
+
const embeddedPrompt = await embeddings.embedQuery(queryString);
|
|
29
|
+
let documents = await vectorStore.similaritySearchVectorWithScore(embeddedPrompt, topK, filter);
|
|
30
|
+
if (useReranker && documents.length > 0) {
|
|
31
|
+
const reranker = (await context.getInputConnectionData(n8n_workflow_1.NodeConnectionTypes.AiReranker, 0));
|
|
32
|
+
const docs = documents.map(([doc]) => doc);
|
|
33
|
+
const rerankedDocuments = await reranker.compressDocuments(docs, queryString);
|
|
34
|
+
documents = rerankedDocuments.map((doc) => {
|
|
35
|
+
const { relevanceScore, ...metadata } = doc.metadata;
|
|
36
|
+
return [{ ...doc, metadata }, relevanceScore];
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
return documents
|
|
40
|
+
.map((document) => {
|
|
41
|
+
if (includeDocumentMetadata) {
|
|
42
|
+
return { type: 'text', text: JSON.stringify(document[0]) };
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
type: 'text',
|
|
46
|
+
text: JSON.stringify({ pageContent: document[0].pageContent }),
|
|
47
|
+
};
|
|
48
|
+
})
|
|
49
|
+
.filter((document) => !!document);
|
|
50
|
+
}
|
|
51
|
+
finally {
|
|
52
|
+
args.releaseVectorStoreClient?.(vectorStore);
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
});
|
|
56
|
+
return {
|
|
57
|
+
response: (0, log_wrapper_1.logWrapper)(vectorStoreTool, context),
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=retrieveAsToolOperation.js.map
|
package/dist/esm/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolOperation.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieveAsToolOperation.js","sourceRoot":"","sources":["../../../../../../src/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolOperation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Embeddings } from '@langchain/core/embeddings';
|
|
2
|
+
import type { VectorStore } from '@langchain/core/vectorstores';
|
|
3
|
+
import type { ISupplyDataFunctions, SupplyData } from 'n8n-workflow';
|
|
4
|
+
import type { VectorStoreNodeConstructorArgs } from '../types';
|
|
5
|
+
export declare function handleRetrieveOperation<T extends VectorStore = VectorStore>(context: ISupplyDataFunctions, args: VectorStoreNodeConstructorArgs<T>, embeddings: Embeddings, itemIndex: number): Promise<SupplyData>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleRetrieveOperation = handleRetrieveOperation;
|
|
4
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
|
+
const helpers_1 = require("../../../helpers");
|
|
6
|
+
const log_wrapper_1 = require("../../../log-wrapper");
|
|
7
|
+
async function handleRetrieveOperation(context, args, embeddings, itemIndex) {
|
|
8
|
+
const filter = (0, helpers_1.getMetadataFiltersValues)(context, itemIndex);
|
|
9
|
+
const useReranker = context.getNodeParameter('useReranker', itemIndex, false);
|
|
10
|
+
const vectorStore = await args.getVectorStoreClient(context, filter, embeddings, itemIndex);
|
|
11
|
+
let response = vectorStore;
|
|
12
|
+
if (useReranker) {
|
|
13
|
+
const reranker = (await context.getInputConnectionData(n8n_workflow_1.NodeConnectionTypes.AiReranker, 0));
|
|
14
|
+
response = {
|
|
15
|
+
reranker,
|
|
16
|
+
vectorStore: (0, log_wrapper_1.logWrapper)(vectorStore, context),
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
response = (0, log_wrapper_1.logWrapper)(vectorStore, context);
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
response,
|
|
24
|
+
closeFunction: async () => {
|
|
25
|
+
args.releaseVectorStoreClient?.(vectorStore);
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=retrieveOperation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieveOperation.js","sourceRoot":"","sources":["../../../../../../src/utils/vector-store/createVectorStoreNode/operations/retrieveOperation.ts"],"names":[],"mappings":";;AAcA,0DAsCC;AAjDD,+CAAmD;AAGnD,8CAA4D;AAC5D,sDAAkD;AAO3C,KAAK,UAAU,uBAAuB,CAC5C,OAA6B,EAC7B,IAAuC,EACvC,UAAsB,EACtB,SAAiB;IAGjB,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,CAAY,CAAC;IAGzF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAC5F,IAAI,QAAQ,GACX,WAAW,CAAC;IAEb,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,sBAAsB,CACrD,kCAAmB,CAAC,UAAU,EAC9B,CAAC,CACD,CAA2B,CAAC;QAG7B,QAAQ,GAAG;YACV,QAAQ;YACR,WAAW,EAAE,IAAA,wBAAU,EAAC,WAAW,EAAE,OAAO,CAAC;SAC7C,CAAC;IACH,CAAC;SAAM,CAAC;QAEP,QAAQ,GAAG,IAAA,wBAAU,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO;QACN,QAAQ;QACR,aAAa,EAAE,KAAK,IAAI,EAAE;YAEzB,IAAI,CAAC,wBAAwB,EAAE,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC;KACD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Embeddings } from '@langchain/core/embeddings';
|
|
2
|
+
import type { VectorStore } from '@langchain/core/vectorstores';
|
|
3
|
+
import type { IExecuteFunctions, INodeExecutionData } from 'n8n-workflow';
|
|
4
|
+
import type { VectorStoreNodeConstructorArgs } from '../types';
|
|
5
|
+
export declare function handleUpdateOperation<T extends VectorStore = VectorStore>(context: IExecuteFunctions, args: VectorStoreNodeConstructorArgs<T>, embeddings: Embeddings): Promise<INodeExecutionData[]>;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleUpdateOperation = handleUpdateOperation;
|
|
4
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
|
+
const log_ai_event_1 = require("../../../log-ai-event");
|
|
6
|
+
const n8n_json_loader_1 = require("../../../n8n-json-loader");
|
|
7
|
+
const processDocuments_1 = require("../../processDocuments");
|
|
8
|
+
const utils_1 = require("../utils");
|
|
9
|
+
async function handleUpdateOperation(context, args, embeddings) {
|
|
10
|
+
if (!(0, utils_1.isUpdateSupported)(args)) {
|
|
11
|
+
throw new n8n_workflow_1.NodeOperationError(context.getNode(), 'Update operation is not implemented for this Vector Store');
|
|
12
|
+
}
|
|
13
|
+
const items = context.getInputData();
|
|
14
|
+
const loader = new n8n_json_loader_1.N8nJsonLoader(context);
|
|
15
|
+
const resultData = [];
|
|
16
|
+
for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {
|
|
17
|
+
const itemData = items[itemIndex];
|
|
18
|
+
const documentId = context.getNodeParameter('id', itemIndex, '', {
|
|
19
|
+
extractValue: true,
|
|
20
|
+
});
|
|
21
|
+
const vectorStore = await args.getVectorStoreClient(context, undefined, embeddings, itemIndex);
|
|
22
|
+
try {
|
|
23
|
+
const { processedDocuments, serializedDocuments } = await (0, processDocuments_1.processDocument)(loader, itemData, itemIndex);
|
|
24
|
+
if (processedDocuments?.length !== 1) {
|
|
25
|
+
throw new n8n_workflow_1.NodeOperationError(context.getNode(), 'Single document per item expected');
|
|
26
|
+
}
|
|
27
|
+
resultData.push(...serializedDocuments);
|
|
28
|
+
await vectorStore.addDocuments(processedDocuments, {
|
|
29
|
+
ids: [documentId],
|
|
30
|
+
});
|
|
31
|
+
(0, log_ai_event_1.logAiEvent)(context, 'ai-vector-store-updated');
|
|
32
|
+
}
|
|
33
|
+
finally {
|
|
34
|
+
args.releaseVectorStoreClient?.(vectorStore);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return resultData;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=updateOperation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateOperation.js","sourceRoot":"","sources":["../../../../../../src/utils/vector-store/createVectorStoreNode/operations/updateOperation.ts"],"names":[],"mappings":";;AAeA,sDA8DC;AA3ED,+CAAkD;AAGlD,wDAAmD;AACnD,8DAAyD;AACzD,6DAAyD;AAEzD,oCAA6C;AAMtC,KAAK,UAAU,qBAAqB,CAC1C,OAA0B,EAC1B,IAAuC,EACvC,UAAsB;IAGtB,IAAI,CAAC,IAAA,yBAAiB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,iCAAkB,CAC3B,OAAO,CAAC,OAAO,EAAE,EACjB,2DAA2D,CAC3D,CAAC;IACH,CAAC;IAGD,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAErC,MAAM,MAAM,GAAG,IAAI,+BAAa,CAAC,OAAO,CAAC,CAAC;IAE1C,MAAM,UAAU,GAAyB,EAAE,CAAC;IAG5C,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC;QAC/D,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;QAGlC,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;YAChE,YAAY,EAAE,IAAI;SAClB,CAAW,CAAC;QAGb,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAE/F,IAAI,CAAC;YAEJ,MAAM,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,GAAG,MAAM,IAAA,kCAAe,EACxE,MAAM,EACN,QAAQ,EACR,SAAS,CACT,CAAC;YAGF,IAAI,kBAAkB,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,iCAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,mCAAmC,CAAC,CAAC;YACtF,CAAC;YAGD,UAAU,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAC;YAGxC,MAAM,WAAW,CAAC,YAAY,CAAC,kBAAkB,EAAE;gBAClD,GAAG,EAAE,CAAC,UAAU,CAAC;aACjB,CAAC,CAAC;YAGH,IAAA,yBAAU,EAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;QAChD,CAAC;gBAAS,CAAC;YAEV,IAAI,CAAC,wBAAwB,EAAE,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC;IACF,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { Document } from '@langchain/core/documents';
|
|
2
|
+
import type { Embeddings } from '@langchain/core/embeddings';
|
|
3
|
+
import type { VectorStore } from '@langchain/core/vectorstores';
|
|
4
|
+
import type { IExecuteFunctions, INodeCredentialDescription, INodeProperties, ILoadOptionsFunctions, INodeListSearchResult, Icon, ISupplyDataFunctions, ThemeIconColor, IDataObject, NodeParameterValueType, IBuilderHint } from 'n8n-workflow';
|
|
5
|
+
export type NodeOperationMode = 'insert' | 'load' | 'retrieve' | 'update' | 'retrieve-as-tool';
|
|
6
|
+
export interface NodeMeta {
|
|
7
|
+
displayName: string;
|
|
8
|
+
name: string;
|
|
9
|
+
hidden?: boolean;
|
|
10
|
+
description: string;
|
|
11
|
+
docsUrl: string;
|
|
12
|
+
icon: Icon;
|
|
13
|
+
iconColor?: ThemeIconColor;
|
|
14
|
+
credentials?: INodeCredentialDescription[];
|
|
15
|
+
operationModes?: NodeOperationMode[];
|
|
16
|
+
categories?: string[];
|
|
17
|
+
subcategories?: Record<string, string[]>;
|
|
18
|
+
builderHint?: IBuilderHint;
|
|
19
|
+
}
|
|
20
|
+
export interface VectorStoreNodeConstructorArgs<T extends VectorStore = VectorStore> {
|
|
21
|
+
meta: NodeMeta;
|
|
22
|
+
methods?: {
|
|
23
|
+
listSearch?: {
|
|
24
|
+
[key: string]: (this: ILoadOptionsFunctions, filter?: string, paginationToken?: string) => Promise<INodeListSearchResult>;
|
|
25
|
+
};
|
|
26
|
+
actionHandler?: {
|
|
27
|
+
[functionName: string]: (this: ILoadOptionsFunctions, payload: IDataObject | string | undefined) => Promise<NodeParameterValueType>;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
sharedFields: INodeProperties[];
|
|
31
|
+
insertFields?: INodeProperties[];
|
|
32
|
+
loadFields?: INodeProperties[];
|
|
33
|
+
retrieveFields?: INodeProperties[];
|
|
34
|
+
updateFields?: INodeProperties[];
|
|
35
|
+
beforeInsert?: (context: IExecuteFunctions | ISupplyDataFunctions, embeddings: Embeddings, itemIndex: number) => Promise<void>;
|
|
36
|
+
populateVectorStore: (context: IExecuteFunctions | ISupplyDataFunctions, embeddings: Embeddings, documents: Array<Document<Record<string, unknown>>>, itemIndex: number) => Promise<void>;
|
|
37
|
+
getVectorStoreClient: (context: IExecuteFunctions | ISupplyDataFunctions, filter: Record<string, never> | undefined, embeddings: Embeddings, itemIndex: number) => Promise<T>;
|
|
38
|
+
releaseVectorStoreClient?: (vectorStore: T) => void;
|
|
39
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/utils/vector-store/createVectorStoreNode/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { VectorStore } from '@langchain/core/vectorstores';
|
|
2
|
+
import type { INodeProperties, INodePropertyOptions } from 'n8n-workflow';
|
|
3
|
+
import type { NodeOperationMode, VectorStoreNodeConstructorArgs } from './types';
|
|
4
|
+
export declare function transformDescriptionForOperationMode(fields: INodeProperties[], mode: NodeOperationMode | NodeOperationMode[]): INodeProperties[];
|
|
5
|
+
export declare function isUpdateSupported<T extends VectorStore>(args: VectorStoreNodeConstructorArgs<T>): boolean;
|
|
6
|
+
export declare function getOperationModeOptions<T extends VectorStore>(args: VectorStoreNodeConstructorArgs<T>): INodePropertyOptions[];
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.transformDescriptionForOperationMode = transformDescriptionForOperationMode;
|
|
4
|
+
exports.isUpdateSupported = isUpdateSupported;
|
|
5
|
+
exports.getOperationModeOptions = getOperationModeOptions;
|
|
6
|
+
const constants_1 = require("./constants");
|
|
7
|
+
function transformDescriptionForOperationMode(fields, mode) {
|
|
8
|
+
return fields.map((field) => ({
|
|
9
|
+
...field,
|
|
10
|
+
displayOptions: { show: { mode: Array.isArray(mode) ? mode : [mode] } },
|
|
11
|
+
}));
|
|
12
|
+
}
|
|
13
|
+
function isUpdateSupported(args) {
|
|
14
|
+
return args.meta.operationModes?.includes('update') ?? false;
|
|
15
|
+
}
|
|
16
|
+
function getOperationModeOptions(args) {
|
|
17
|
+
const enabledOperationModes = args.meta.operationModes ?? constants_1.DEFAULT_OPERATION_MODES;
|
|
18
|
+
return constants_1.OPERATION_MODE_DESCRIPTIONS.filter(({ value }) => enabledOperationModes.includes(value));
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/utils/vector-store/createVectorStoreNode/utils.ts"],"names":[],"mappings":";;AAUA,oFAQC;AAMD,8CAIC;AAMD,0DAQC;AAvCD,2CAAmF;AAOnF,SAAgB,oCAAoC,CACnD,MAAyB,EACzB,IAA6C;IAE7C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7B,GAAG,KAAK;QACR,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE;KACvE,CAAC,CAAC,CAAC;AACL,CAAC;AAMD,SAAgB,iBAAiB,CAChC,IAAuC;IAEvC,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;AAC9D,CAAC;AAMD,SAAgB,uBAAuB,CACtC,IAAuC;IAEvC,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,mCAAuB,CAAC;IAElF,OAAO,uCAA2B,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACvD,qBAAqB,CAAC,QAAQ,CAAC,KAA0B,CAAC,CAC1D,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Document } from '@langchain/core/documents';
|
|
2
|
+
import type { INodeExecutionData } from 'n8n-workflow';
|
|
3
|
+
import { N8nBinaryLoader } from '../n8n-binary-loader';
|
|
4
|
+
import { N8nJsonLoader } from '../n8n-json-loader';
|
|
5
|
+
export declare function processDocuments(documentInput: N8nJsonLoader | N8nBinaryLoader | Array<Document<Record<string, unknown>>>, inputItems: INodeExecutionData[]): Promise<{
|
|
6
|
+
processedDocuments: Document<Record<string, any>>[];
|
|
7
|
+
serializedDocuments: {
|
|
8
|
+
json: {
|
|
9
|
+
metadata: Record<string, any>;
|
|
10
|
+
pageContent: string;
|
|
11
|
+
};
|
|
12
|
+
}[];
|
|
13
|
+
}>;
|
|
14
|
+
export declare function processDocument(documentInput: N8nJsonLoader | N8nBinaryLoader | Array<Document<Record<string, unknown>>>, inputItem: INodeExecutionData, itemIndex: number): Promise<{
|
|
15
|
+
processedDocuments: Document<Record<string, any>>[];
|
|
16
|
+
serializedDocuments: {
|
|
17
|
+
json: {
|
|
18
|
+
metadata: Record<string, any>;
|
|
19
|
+
pageContent: string;
|
|
20
|
+
};
|
|
21
|
+
pairedItem: {
|
|
22
|
+
item: number;
|
|
23
|
+
};
|
|
24
|
+
}[];
|
|
25
|
+
}>;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.processDocuments = processDocuments;
|
|
4
|
+
exports.processDocument = processDocument;
|
|
5
|
+
const n8n_binary_loader_1 = require("../n8n-binary-loader");
|
|
6
|
+
const n8n_json_loader_1 = require("../n8n-json-loader");
|
|
7
|
+
async function processDocuments(documentInput, inputItems) {
|
|
8
|
+
let processedDocuments;
|
|
9
|
+
if (documentInput instanceof n8n_json_loader_1.N8nJsonLoader || documentInput instanceof n8n_binary_loader_1.N8nBinaryLoader) {
|
|
10
|
+
processedDocuments = await documentInput.processAll(inputItems);
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
processedDocuments = documentInput;
|
|
14
|
+
}
|
|
15
|
+
const serializedDocuments = processedDocuments.map(({ metadata, pageContent }) => ({
|
|
16
|
+
json: { metadata, pageContent },
|
|
17
|
+
}));
|
|
18
|
+
return {
|
|
19
|
+
processedDocuments,
|
|
20
|
+
serializedDocuments,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
async function processDocument(documentInput, inputItem, itemIndex) {
|
|
24
|
+
let processedDocuments;
|
|
25
|
+
if (documentInput instanceof n8n_json_loader_1.N8nJsonLoader || documentInput instanceof n8n_binary_loader_1.N8nBinaryLoader) {
|
|
26
|
+
processedDocuments = await documentInput.processItem(inputItem, itemIndex);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
processedDocuments = documentInput;
|
|
30
|
+
}
|
|
31
|
+
const serializedDocuments = processedDocuments.map(({ metadata, pageContent }) => ({
|
|
32
|
+
json: { metadata, pageContent },
|
|
33
|
+
pairedItem: {
|
|
34
|
+
item: itemIndex,
|
|
35
|
+
},
|
|
36
|
+
}));
|
|
37
|
+
return {
|
|
38
|
+
processedDocuments,
|
|
39
|
+
serializedDocuments,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=processDocuments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processDocuments.js","sourceRoot":"","sources":["../../../../src/utils/vector-store/processDocuments.ts"],"names":[],"mappings":";;AAMA,4CAoBC;AACD,0CAwBC;AAhDD,4DAAuD;AACvD,wDAAmD;AAE5C,KAAK,UAAU,gBAAgB,CACrC,aAAyF,EACzF,UAAgC;IAEhC,IAAI,kBAA8B,CAAC;IAEnC,IAAI,aAAa,YAAY,+BAAa,IAAI,aAAa,YAAY,mCAAe,EAAE,CAAC;QACxF,kBAAkB,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACjE,CAAC;SAAM,CAAC;QACP,kBAAkB,GAAG,aAAa,CAAC;IACpC,CAAC;IAED,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;QAClF,IAAI,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE;KAC/B,CAAC,CAAC,CAAC;IAEJ,OAAO;QACN,kBAAkB;QAClB,mBAAmB;KACnB,CAAC;AACH,CAAC;AACM,KAAK,UAAU,eAAe,CACpC,aAAyF,EACzF,SAA6B,EAC7B,SAAiB;IAEjB,IAAI,kBAA8B,CAAC;IAEnC,IAAI,aAAa,YAAY,+BAAa,IAAI,aAAa,YAAY,mCAAe,EAAE,CAAC;QACxF,kBAAkB,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC5E,CAAC;SAAM,CAAC;QACP,kBAAkB,GAAG,aAAa,CAAC;IACpC,CAAC;IAED,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;QAClF,IAAI,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE;QAC/B,UAAU,EAAE;YACX,IAAI,EAAE,SAAS;SACf;KACD,CAAC,CAAC,CAAC;IAEJ,OAAO;QACN,kBAAkB;QAClB,mBAAmB;KACnB,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@n8n/ai-utilities",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"description": "Utilities for building AI nodes in n8n",
|
|
5
5
|
"types": "dist/esm/index.d.ts",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -15,15 +15,16 @@
|
|
|
15
15
|
},
|
|
16
16
|
"files": [
|
|
17
17
|
"dist",
|
|
18
|
-
"
|
|
19
|
-
"
|
|
18
|
+
"LICENSE_EE.md",
|
|
19
|
+
"LICENSE.md"
|
|
20
20
|
],
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"@types/json-schema": "^7.0.15",
|
|
23
23
|
"jest-mock-extended": "^3.0.4",
|
|
24
24
|
"@types/mime-types": "3.0.1",
|
|
25
25
|
"tsx": "^4.19.3",
|
|
26
|
-
"axios": "1.13.5"
|
|
26
|
+
"axios": "1.13.5",
|
|
27
|
+
"n8n-workflow": "2.11.1"
|
|
27
28
|
},
|
|
28
29
|
"dependencies": {
|
|
29
30
|
"zod": "3.25.67",
|
|
@@ -39,9 +40,11 @@
|
|
|
39
40
|
"https-proxy-agent": "7.0.6",
|
|
40
41
|
"proxy-from-env": "^1.1.0",
|
|
41
42
|
"undici": "^6.21.0",
|
|
42
|
-
"@n8n/config": "2.9.0",
|
|
43
43
|
"@n8n/typescript-config": "1.3.0",
|
|
44
|
-
"n8n
|
|
44
|
+
"@n8n/config": "2.10.1"
|
|
45
|
+
},
|
|
46
|
+
"peerDependencies": {
|
|
47
|
+
"n8n-workflow": "*"
|
|
45
48
|
},
|
|
46
49
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
47
50
|
"homepage": "https://n8n.io",
|