@n8n/ai-utilities 0.23.3 → 0.24.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/dist/cjs/adapters/langchain-chat-model.js +174 -184
- package/dist/cjs/adapters/langchain-chat-model.js.map +1 -1
- package/dist/cjs/adapters/langchain-history.js +23 -33
- package/dist/cjs/adapters/langchain-history.js.map +1 -1
- package/dist/cjs/adapters/langchain-memory.js +32 -42
- package/dist/cjs/adapters/langchain-memory.js.map +1 -1
- package/dist/cjs/agent-config/config-normalization.d.ts +11 -0
- package/dist/cjs/agent-config/config-normalization.js +134 -0
- package/dist/cjs/agent-config/config-normalization.js.map +1 -0
- package/dist/cjs/agent-config/from-ai-node-parameters.d.ts +7 -0
- package/dist/cjs/agent-config/from-ai-node-parameters.js +43 -0
- package/dist/cjs/agent-config/from-ai-node-parameters.js.map +1 -0
- package/dist/cjs/agent-config/index.d.ts +3 -0
- package/dist/cjs/agent-config/index.js +17 -0
- package/dist/cjs/agent-config/index.js.map +1 -0
- package/dist/cjs/agent-config/model-id.d.ts +5 -0
- package/dist/cjs/agent-config/model-id.js +16 -0
- package/dist/cjs/agent-config/model-id.js.map +1 -0
- package/dist/cjs/agent-config/native-web-search-provider-tools.d.ts +7 -0
- package/dist/cjs/agent-config/native-web-search-provider-tools.js +55 -0
- package/dist/cjs/agent-config/native-web-search-provider-tools.js.map +1 -0
- package/dist/cjs/ai-node-sdk-version.js +4 -14
- package/dist/cjs/ai-node-sdk-version.js.map +1 -1
- package/dist/cjs/chat-model/base.js +21 -31
- package/dist/cjs/chat-model/base.js.map +1 -1
- package/dist/cjs/converters/message.js +308 -318
- package/dist/cjs/converters/message.js.map +1 -1
- package/dist/cjs/converters/tool.js +50 -60
- package/dist/cjs/converters/tool.js.map +1 -1
- package/dist/cjs/guards.js +26 -36
- package/dist/cjs/guards.js.map +1 -1
- package/dist/cjs/index.js +99 -108
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/memory/base-chat-history.js +9 -19
- package/dist/cjs/memory/base-chat-history.js.map +1 -1
- package/dist/cjs/memory/base-chat-memory.js +6 -16
- package/dist/cjs/memory/base-chat-memory.js.map +1 -1
- package/dist/cjs/memory/windowed-chat-memory.js +33 -43
- package/dist/cjs/memory/windowed-chat-memory.js.map +1 -1
- package/dist/cjs/model-discovery/index.js +61 -71
- package/dist/cjs/model-discovery/index.js.map +1 -1
- package/dist/cjs/model-discovery/providers/anthropic.js +12 -22
- package/dist/cjs/model-discovery/providers/anthropic.js.map +1 -1
- package/dist/cjs/model-discovery/providers/cohere.js +12 -22
- package/dist/cjs/model-discovery/providers/cohere.js.map +1 -1
- package/dist/cjs/model-discovery/providers/deepseek.js +5 -15
- package/dist/cjs/model-discovery/providers/deepseek.js.map +1 -1
- package/dist/cjs/model-discovery/providers/google.js +15 -25
- package/dist/cjs/model-discovery/providers/google.js.map +1 -1
- package/dist/cjs/model-discovery/providers/groq.js +9 -19
- package/dist/cjs/model-discovery/providers/groq.js.map +1 -1
- package/dist/cjs/model-discovery/providers/mistral.js +11 -21
- package/dist/cjs/model-discovery/providers/mistral.js.map +1 -1
- package/dist/cjs/model-discovery/providers/nvidia.js +21 -31
- package/dist/cjs/model-discovery/providers/nvidia.js.map +1 -1
- package/dist/cjs/model-discovery/providers/openai.js +31 -41
- package/dist/cjs/model-discovery/providers/openai.js.map +1 -1
- package/dist/cjs/model-discovery/providers/openrouter.js +5 -15
- package/dist/cjs/model-discovery/providers/openrouter.js.map +1 -1
- package/dist/cjs/model-discovery/providers/vercel.js +5 -15
- package/dist/cjs/model-discovery/providers/vercel.js.map +1 -1
- package/dist/cjs/model-discovery/providers/xai.js +5 -15
- package/dist/cjs/model-discovery/providers/xai.js.map +1 -1
- package/dist/cjs/model-discovery/request.js +40 -50
- package/dist/cjs/model-discovery/request.js.map +1 -1
- package/dist/cjs/model-discovery/types.js +2 -12
- package/dist/cjs/node-catalog/discriminator-utils.js +75 -85
- package/dist/cjs/node-catalog/discriminator-utils.js.map +1 -1
- package/dist/cjs/node-catalog/dynamic-node-parameters.js +169 -179
- package/dist/cjs/node-catalog/dynamic-node-parameters.js.map +1 -1
- package/dist/cjs/node-catalog/get.js +349 -359
- package/dist/cjs/node-catalog/get.js.map +1 -1
- package/dist/cjs/node-catalog/index.js +42 -52
- package/dist/cjs/node-catalog/index.js.map +1 -1
- package/dist/cjs/node-catalog/lean-node-type.js +46 -56
- package/dist/cjs/node-catalog/lean-node-type.js.map +1 -1
- package/dist/cjs/node-catalog/node-type-parser.js +61 -71
- package/dist/cjs/node-catalog/node-type-parser.js.map +1 -1
- package/dist/cjs/node-catalog/resource-operation-extractor.js +133 -143
- package/dist/cjs/node-catalog/resource-operation-extractor.js.map +1 -1
- package/dist/cjs/node-catalog/search-engine.js +285 -295
- package/dist/cjs/node-catalog/search-engine.js.map +1 -1
- package/dist/cjs/node-catalog/search.js +280 -290
- package/dist/cjs/node-catalog/search.js.map +1 -1
- package/dist/cjs/node-catalog/suggested-nodes-data.js +235 -245
- package/dist/cjs/node-catalog/suggested-nodes-data.js.map +1 -1
- package/dist/cjs/node-catalog/suggested.js +63 -73
- package/dist/cjs/node-catalog/suggested.js.map +1 -1
- package/dist/cjs/node-catalog/types.js +2 -12
- package/dist/cjs/suppliers/supplyMemory.js +13 -23
- package/dist/cjs/suppliers/supplyMemory.js.map +1 -1
- package/dist/cjs/suppliers/supplyModel.js +72 -82
- package/dist/cjs/suppliers/supplyModel.js.map +1 -1
- package/dist/cjs/typecheck.tsbuildinfo +1 -1
- package/dist/cjs/types/chat-model.js +2 -12
- package/dist/cjs/types/json.js +2 -12
- package/dist/cjs/types/memory.js +2 -12
- package/dist/cjs/types/message.js +2 -12
- package/dist/cjs/types/openai.js +2 -12
- package/dist/cjs/types/output.js +2 -12
- package/dist/cjs/types/tool.js +2 -12
- package/dist/cjs/utils/embeddings-input-validation.js +24 -34
- package/dist/cjs/utils/embeddings-input-validation.js.map +1 -1
- package/dist/cjs/utils/failed-attempt-handler/n8nDefaultFailedAttemptHandler.js +27 -37
- package/dist/cjs/utils/failed-attempt-handler/n8nDefaultFailedAttemptHandler.js.map +1 -1
- package/dist/cjs/utils/failed-attempt-handler/n8nLlmFailedAttemptHandler.d.ts +1 -1
- package/dist/cjs/utils/failed-attempt-handler/n8nLlmFailedAttemptHandler.js +23 -33
- package/dist/cjs/utils/failed-attempt-handler/n8nLlmFailedAttemptHandler.js.map +1 -1
- package/dist/cjs/utils/follow-redirects.js +38 -48
- package/dist/cjs/utils/follow-redirects.js.map +1 -1
- package/dist/cjs/utils/fromai-helpers.js +21 -31
- package/dist/cjs/utils/fromai-helpers.js.map +1 -1
- package/dist/cjs/utils/fromai-tool-factory.js +18 -28
- package/dist/cjs/utils/fromai-tool-factory.js.map +1 -1
- package/dist/cjs/utils/helpers.js +44 -54
- package/dist/cjs/utils/helpers.js.map +1 -1
- package/dist/cjs/utils/http-proxy-agent.js +38 -48
- package/dist/cjs/utils/http-proxy-agent.js.map +1 -1
- package/dist/cjs/utils/lazy-import.d.ts +1 -0
- package/dist/cjs/utils/lazy-import.js +7 -0
- package/dist/cjs/utils/lazy-import.js.map +1 -0
- package/dist/cjs/utils/loaders/n8n-pdf-loader.js +50 -94
- package/dist/cjs/utils/loaders/n8n-pdf-loader.js.map +1 -1
- package/dist/cjs/utils/log-ai-event.js +10 -20
- package/dist/cjs/utils/log-ai-event.js.map +1 -1
- package/dist/cjs/utils/log-wrapper.d.ts +1 -1
- package/dist/cjs/utils/log-wrapper.js +313 -323
- package/dist/cjs/utils/log-wrapper.js.map +1 -1
- package/dist/cjs/utils/n8n-binary-loader.js +143 -153
- package/dist/cjs/utils/n8n-binary-loader.js.map +1 -1
- package/dist/cjs/utils/n8n-json-loader.js +57 -67
- package/dist/cjs/utils/n8n-json-loader.js.map +1 -1
- package/dist/cjs/utils/n8n-llm-tracing.js +164 -174
- package/dist/cjs/utils/n8n-llm-tracing.js.map +1 -1
- package/dist/cjs/utils/redact-headers.js +42 -52
- package/dist/cjs/utils/redact-headers.js.map +1 -1
- package/dist/cjs/utils/shared-fields.js +137 -147
- package/dist/cjs/utils/shared-fields.js.map +1 -1
- package/dist/cjs/utils/sse.js +83 -93
- package/dist/cjs/utils/sse.js.map +1 -1
- package/dist/cjs/utils/text-editor.js +274 -284
- package/dist/cjs/utils/text-editor.js.map +1 -1
- package/dist/cjs/utils/tokenizer/tiktoken.js +38 -48
- package/dist/cjs/utils/tokenizer/tiktoken.js.map +1 -1
- package/dist/cjs/utils/tokenizer/token-estimator.js +86 -96
- package/dist/cjs/utils/tokenizer/token-estimator.js.map +1 -1
- package/dist/cjs/utils/vector-store/MemoryManager/MemoryCalculator.js +43 -53
- package/dist/cjs/utils/vector-store/MemoryManager/MemoryCalculator.js.map +1 -1
- package/dist/cjs/utils/vector-store/MemoryManager/MemoryVectorStoreManager.js +154 -164
- package/dist/cjs/utils/vector-store/MemoryManager/MemoryVectorStoreManager.js.map +1 -1
- package/dist/cjs/utils/vector-store/MemoryManager/StoreCleanupService.js +82 -92
- package/dist/cjs/utils/vector-store/MemoryManager/StoreCleanupService.js.map +1 -1
- package/dist/cjs/utils/vector-store/MemoryManager/config.js +34 -44
- package/dist/cjs/utils/vector-store/MemoryManager/config.js.map +1 -1
- package/dist/cjs/utils/vector-store/MemoryManager/types.js +2 -12
- package/dist/cjs/utils/vector-store/createVectorStoreNode/constants.js +44 -54
- package/dist/cjs/utils/vector-store/createVectorStoreNode/constants.js.map +1 -1
- package/dist/cjs/utils/vector-store/createVectorStoreNode/createVectorStoreNode.js +229 -229
- package/dist/cjs/utils/vector-store/createVectorStoreNode/createVectorStoreNode.js.map +1 -1
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/index.js +8 -18
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/index.js.map +1 -1
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/insertOperation.js +33 -43
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/insertOperation.js.map +1 -1
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/loadOperation.js +41 -51
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/loadOperation.js.map +1 -1
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolExecuteOperation.js +59 -69
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolExecuteOperation.js.map +1 -1
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolOperation.js +58 -68
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolOperation.js.map +1 -1
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveOperation.js +26 -36
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveOperation.js.map +1 -1
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/updateOperation.js +34 -44
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/updateOperation.js.map +1 -1
- package/dist/cjs/utils/vector-store/createVectorStoreNode/types.js +2 -12
- package/dist/cjs/utils/vector-store/createVectorStoreNode/utils.d.ts +2 -1
- package/dist/cjs/utils/vector-store/createVectorStoreNode/utils.js +34 -29
- package/dist/cjs/utils/vector-store/createVectorStoreNode/utils.js.map +1 -1
- package/dist/cjs/utils/vector-store/processDocuments.js +37 -47
- package/dist/cjs/utils/vector-store/processDocuments.js.map +1 -1
- package/dist/cjs/utils/workflow-text-editor.js +50 -60
- package/dist/cjs/utils/workflow-text-editor.js.map +1 -1
- package/dist/cjs/web-search/brave-search.js +38 -48
- package/dist/cjs/web-search/brave-search.js.map +1 -1
- package/dist/cjs/web-search/index.js +7 -17
- package/dist/cjs/web-search/index.js.map +1 -1
- package/dist/cjs/web-search/searxng-search.js +35 -45
- package/dist/cjs/web-search/searxng-search.js.map +1 -1
- package/dist/cjs/web-search/types.js +2 -12
- package/dist/esm/adapters/langchain-chat-model.js.map +1 -1
- package/dist/esm/adapters/langchain-history.js.map +1 -1
- package/dist/esm/adapters/langchain-memory.js.map +1 -1
- package/dist/esm/agent-config/config-normalization.d.ts +11 -0
- package/dist/esm/agent-config/config-normalization.js +134 -0
- package/dist/esm/agent-config/config-normalization.js.map +1 -0
- package/dist/esm/agent-config/from-ai-node-parameters.d.ts +7 -0
- package/dist/esm/agent-config/from-ai-node-parameters.js +43 -0
- package/dist/esm/agent-config/from-ai-node-parameters.js.map +1 -0
- package/dist/esm/agent-config/index.d.ts +3 -0
- package/dist/esm/agent-config/index.js +17 -0
- package/dist/esm/agent-config/index.js.map +1 -0
- package/dist/esm/agent-config/model-id.d.ts +5 -0
- package/dist/esm/agent-config/model-id.js +16 -0
- package/dist/esm/agent-config/model-id.js.map +1 -0
- package/dist/esm/agent-config/native-web-search-provider-tools.d.ts +7 -0
- package/dist/esm/agent-config/native-web-search-provider-tools.js +55 -0
- package/dist/esm/agent-config/native-web-search-provider-tools.js.map +1 -0
- package/dist/esm/chat-model/base.js.map +1 -1
- package/dist/esm/converters/message.js.map +1 -1
- package/dist/esm/converters/tool.js.map +1 -1
- package/dist/esm/guards.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/memory/base-chat-history.js.map +1 -1
- package/dist/esm/memory/base-chat-memory.js.map +1 -1
- package/dist/esm/memory/windowed-chat-memory.js.map +1 -1
- package/dist/esm/model-discovery/index.js.map +1 -1
- package/dist/esm/model-discovery/providers/anthropic.js.map +1 -1
- package/dist/esm/model-discovery/providers/cohere.js.map +1 -1
- package/dist/esm/model-discovery/providers/google.js.map +1 -1
- package/dist/esm/model-discovery/providers/groq.js.map +1 -1
- package/dist/esm/model-discovery/providers/mistral.js.map +1 -1
- package/dist/esm/model-discovery/providers/nvidia.js.map +1 -1
- package/dist/esm/model-discovery/providers/openai.js.map +1 -1
- package/dist/esm/model-discovery/request.js.map +1 -1
- package/dist/esm/node-catalog/discriminator-utils.js.map +1 -1
- package/dist/esm/node-catalog/dynamic-node-parameters.js.map +1 -1
- package/dist/esm/node-catalog/get.js.map +1 -1
- package/dist/esm/node-catalog/lean-node-type.js.map +1 -1
- package/dist/esm/node-catalog/node-type-parser.js.map +1 -1
- package/dist/esm/node-catalog/resource-operation-extractor.js.map +1 -1
- package/dist/esm/node-catalog/search-engine.js.map +1 -1
- package/dist/esm/node-catalog/search.js.map +1 -1
- package/dist/esm/node-catalog/suggested-nodes-data.js.map +1 -1
- package/dist/esm/node-catalog/suggested.js.map +1 -1
- package/dist/esm/suppliers/supplyMemory.js.map +1 -1
- package/dist/esm/suppliers/supplyModel.js.map +1 -1
- package/dist/esm/typecheck.tsbuildinfo +1 -1
- package/dist/esm/utils/embeddings-input-validation.js.map +1 -1
- package/dist/esm/utils/failed-attempt-handler/n8nDefaultFailedAttemptHandler.js.map +1 -1
- package/dist/esm/utils/failed-attempt-handler/n8nLlmFailedAttemptHandler.d.ts +1 -1
- package/dist/esm/utils/failed-attempt-handler/n8nLlmFailedAttemptHandler.js.map +1 -1
- package/dist/esm/utils/follow-redirects.js.map +1 -1
- package/dist/esm/utils/fromai-helpers.js.map +1 -1
- package/dist/esm/utils/fromai-tool-factory.js.map +1 -1
- package/dist/esm/utils/helpers.js.map +1 -1
- package/dist/esm/utils/http-proxy-agent.js.map +1 -1
- package/dist/esm/utils/lazy-import.d.ts +1 -0
- package/dist/esm/utils/lazy-import.js +7 -0
- package/dist/esm/utils/lazy-import.js.map +1 -0
- package/dist/esm/utils/loaders/n8n-pdf-loader.js +2 -35
- package/dist/esm/utils/loaders/n8n-pdf-loader.js.map +1 -1
- package/dist/esm/utils/log-ai-event.js.map +1 -1
- package/dist/esm/utils/log-wrapper.d.ts +1 -1
- package/dist/esm/utils/log-wrapper.js.map +1 -1
- package/dist/esm/utils/n8n-binary-loader.js.map +1 -1
- package/dist/esm/utils/n8n-json-loader.js.map +1 -1
- package/dist/esm/utils/n8n-llm-tracing.js.map +1 -1
- package/dist/esm/utils/redact-headers.js.map +1 -1
- package/dist/esm/utils/shared-fields.js.map +1 -1
- package/dist/esm/utils/sse.js.map +1 -1
- package/dist/esm/utils/text-editor.js.map +1 -1
- package/dist/esm/utils/tokenizer/tiktoken.js.map +1 -1
- package/dist/esm/utils/tokenizer/token-estimator.js.map +1 -1
- package/dist/esm/utils/vector-store/MemoryManager/MemoryCalculator.js.map +1 -1
- package/dist/esm/utils/vector-store/MemoryManager/MemoryVectorStoreManager.js.map +1 -1
- package/dist/esm/utils/vector-store/MemoryManager/StoreCleanupService.js.map +1 -1
- package/dist/esm/utils/vector-store/MemoryManager/config.js.map +1 -1
- package/dist/esm/utils/vector-store/createVectorStoreNode/createVectorStoreNode.js +43 -33
- package/dist/esm/utils/vector-store/createVectorStoreNode/createVectorStoreNode.js.map +1 -1
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/insertOperation.js.map +1 -1
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/loadOperation.js.map +1 -1
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolExecuteOperation.js.map +1 -1
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolOperation.js.map +1 -1
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/retrieveOperation.js.map +1 -1
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/updateOperation.js.map +1 -1
- package/dist/esm/utils/vector-store/createVectorStoreNode/utils.d.ts +2 -1
- package/dist/esm/utils/vector-store/createVectorStoreNode/utils.js +15 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/utils.js.map +1 -1
- package/dist/esm/utils/vector-store/processDocuments.js.map +1 -1
- package/dist/esm/utils/workflow-text-editor.js.map +1 -1
- package/dist/esm/web-search/brave-search.js.map +1 -1
- package/dist/esm/web-search/searxng-search.js.map +1 -1
- package/package.json +24 -9
|
@@ -1,68 +1,59 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const ragStarterCallout = {
|
|
18
|
-
displayName: 'Tip: Get a feel for vector stores in n8n with our',
|
|
19
|
-
name: 'ragStarterCallout',
|
|
20
|
-
type: 'callout',
|
|
21
|
-
typeOptions: {
|
|
22
|
-
calloutAction: {
|
|
23
|
-
label: 'RAG starter template',
|
|
24
|
-
type: 'openSampleWorkflowTemplate',
|
|
25
|
-
templateId: 'rag-starter-template',
|
|
26
|
-
},
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createVectorStoreNode = void 0;
|
|
4
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
|
+
const operations_1 = require("./operations");
|
|
6
|
+
const utils_1 = require("./utils");
|
|
7
|
+
const shared_fields_1 = require("../../shared-fields");
|
|
8
|
+
const ragStarterCallout = {
|
|
9
|
+
displayName: 'Tip: Get a feel for vector stores in n8n with our',
|
|
10
|
+
name: 'ragStarterCallout',
|
|
11
|
+
type: 'callout',
|
|
12
|
+
typeOptions: {
|
|
13
|
+
calloutAction: {
|
|
14
|
+
label: 'RAG starter template',
|
|
15
|
+
type: 'openSampleWorkflowTemplate',
|
|
16
|
+
templateId: 'rag-starter-template',
|
|
27
17
|
},
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
resources: {
|
|
52
|
-
primaryDocumentation: [
|
|
53
|
-
{
|
|
54
|
-
url: args.meta.docsUrl,
|
|
55
|
-
},
|
|
56
|
-
],
|
|
57
|
-
},
|
|
18
|
+
},
|
|
19
|
+
default: '',
|
|
20
|
+
};
|
|
21
|
+
const createVectorStoreNode = (args) => class VectorStoreNodeType {
|
|
22
|
+
constructor() {
|
|
23
|
+
this.description = {
|
|
24
|
+
displayName: args.meta.displayName,
|
|
25
|
+
name: args.meta.name,
|
|
26
|
+
description: args.meta.description,
|
|
27
|
+
...(args.hidden === true ? { hidden: true } : {}),
|
|
28
|
+
icon: args.meta.icon,
|
|
29
|
+
iconColor: args.meta.iconColor,
|
|
30
|
+
group: ['transform'],
|
|
31
|
+
version: [1, 1.1, 1.2, 1.3],
|
|
32
|
+
defaults: {
|
|
33
|
+
name: args.meta.displayName,
|
|
34
|
+
},
|
|
35
|
+
codex: {
|
|
36
|
+
categories: args.meta.categories ?? ['AI'],
|
|
37
|
+
subcategories: args.meta.subcategories ?? {
|
|
38
|
+
AI: ['Vector Stores', 'Tools', 'Root Nodes'],
|
|
39
|
+
'Vector Stores': ['Other Vector Stores'],
|
|
40
|
+
Tools: ['Other Tools'],
|
|
58
41
|
},
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
...args.meta.builderHint,
|
|
62
|
-
extraTypeDefContent: [
|
|
42
|
+
resources: {
|
|
43
|
+
primaryDocumentation: [
|
|
63
44
|
{
|
|
64
|
-
|
|
65
|
-
|
|
45
|
+
url: args.meta.docsUrl,
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
builderHint: {
|
|
51
|
+
searchHint: "Pick mode by where data flows: `insert` upserts documents into the store on the main flow; `load` runs a one-shot similarity search on the main flow; `retrieve-as-tool` is the canonical RAG mode — plug into an AI Agent's `subnodes.tools`; `retrieve` exposes the store as a subnode for another node's `subnodes.vectorStore`; `update` updates a single document by ID.",
|
|
52
|
+
...args.meta.builderHint,
|
|
53
|
+
extraTypeDefContent: [
|
|
54
|
+
{
|
|
55
|
+
displayOptions: { show: { mode: ['insert'] } },
|
|
56
|
+
content: `Sits on the main flow — pipe the documents you want to embed into this node. Declare with \`vectorStore({...})\`. Required subnodes: \`embedding\` and \`documentLoader\`. If the goal is letting an LLM query the store, use \`mode: 'retrieve-as-tool'\` instead.
|
|
66
57
|
<patterns>
|
|
67
58
|
<pattern title="insert mode — upsert documents (generic, works for any vectorStore* node)">
|
|
68
59
|
// Substitute the type literal and provider-specific parameters (e.g. pineconeIndex,
|
|
@@ -80,10 +71,10 @@ const store = vectorStore({
|
|
|
80
71
|
});
|
|
81
72
|
</pattern>
|
|
82
73
|
</patterns>`,
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
displayOptions: { show: { mode: ['retrieve-as-tool'] } },
|
|
77
|
+
content: `Canonical RAG mode — declare with the \`tool({...})\` factory (NOT \`vectorStore\`) and plug into an AI Agent's \`subnodes.tools\`. Required subnodes: \`embedding\`. Set \`toolDescription\` so the agent knows when to call it.
|
|
87
78
|
<patterns>
|
|
88
79
|
<pattern title="retrieve-as-tool mode — RAG via AI Agent (generic, works for any vectorStore* node)">
|
|
89
80
|
// Substitute the type literal and provider-specific parameters — see the rest of this file
|
|
@@ -111,10 +102,10 @@ const agent = node({
|
|
|
111
102
|
});
|
|
112
103
|
</pattern>
|
|
113
104
|
</patterns>`,
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
displayOptions: { show: { mode: ['load'] } },
|
|
108
|
+
content: `One-shot similarity search on the main flow using the \`prompt\` parameter. Declare with \`vectorStore({...})\`. Required subnodes: \`embedding\`. For LLM-driven querying (RAG), use \`mode: 'retrieve-as-tool'\` instead.
|
|
118
109
|
<patterns>
|
|
119
110
|
<pattern title="load mode — one-shot similarity search (generic)">
|
|
120
111
|
// Substitute the type literal and provider-specific parameters — see the rest of this file.
|
|
@@ -132,10 +123,10 @@ const lookup = vectorStore({
|
|
|
132
123
|
});
|
|
133
124
|
</pattern>
|
|
134
125
|
</patterns>`,
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
displayOptions: { show: { mode: ['retrieve'] } },
|
|
129
|
+
content: `Exposes the store as an \`ai_vectorStore\` subnode for another node (e.g. \`toolVectorStore\`). Declare with \`vectorStore({...})\`. Required subnodes: \`embedding\`. For RAG with an AI Agent directly, prefer \`mode: 'retrieve-as-tool'\`.
|
|
139
130
|
<patterns>
|
|
140
131
|
<pattern title="retrieve mode — feed another node as a subnode (generic)">
|
|
141
132
|
// Substitute the type literal and provider-specific parameters — see the rest of this file.
|
|
@@ -158,10 +149,10 @@ const retrieverTool = tool({
|
|
|
158
149
|
});
|
|
159
150
|
</pattern>
|
|
160
151
|
</patterns>`,
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
displayOptions: { show: { mode: ['update'] } },
|
|
155
|
+
content: `Updates a single document by \`id\`. Declare with \`vectorStore({...})\`. Required subnodes: \`embedding\`. Only available on stores whose \`operationModes\` enables it — most providers omit this mode.
|
|
165
156
|
<patterns>
|
|
166
157
|
<pattern title="update mode — update document by ID (generic)">
|
|
167
158
|
// Substitute the type literal and provider-specific parameters — see the rest of this file.
|
|
@@ -175,37 +166,37 @@ const store = vectorStore({
|
|
|
175
166
|
});
|
|
176
167
|
</pattern>
|
|
177
168
|
</patterns>`,
|
|
178
|
-
},
|
|
179
|
-
],
|
|
180
|
-
inputs: {
|
|
181
|
-
ai_embedding: { required: true },
|
|
182
|
-
ai_document: {
|
|
183
|
-
required: true,
|
|
184
|
-
displayOptions: { show: { mode: ['insert'] } },
|
|
185
|
-
},
|
|
186
|
-
ai_reranker: {
|
|
187
|
-
required: true,
|
|
188
|
-
displayOptions: {
|
|
189
|
-
show: { mode: ['load', 'retrieve', 'retrieve-as-tool'], useReranker: [true] },
|
|
190
|
-
},
|
|
191
|
-
},
|
|
192
169
|
},
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
170
|
+
],
|
|
171
|
+
inputs: {
|
|
172
|
+
ai_embedding: { required: true },
|
|
173
|
+
ai_document: {
|
|
174
|
+
required: true,
|
|
175
|
+
displayOptions: { show: { mode: ['insert'] } },
|
|
176
|
+
},
|
|
177
|
+
ai_reranker: {
|
|
178
|
+
required: true,
|
|
179
|
+
displayOptions: {
|
|
180
|
+
show: { mode: ['load', 'retrieve', 'retrieve-as-tool'], useReranker: [true] },
|
|
204
181
|
},
|
|
205
182
|
},
|
|
206
183
|
},
|
|
207
|
-
|
|
208
|
-
|
|
184
|
+
outputs: {
|
|
185
|
+
main: {
|
|
186
|
+
displayOptions: { show: { mode: ['insert', 'load', 'update'] } },
|
|
187
|
+
},
|
|
188
|
+
ai_vectorStore: {
|
|
189
|
+
required: true,
|
|
190
|
+
displayOptions: { show: { mode: ['retrieve'] } },
|
|
191
|
+
},
|
|
192
|
+
ai_tool: {
|
|
193
|
+
required: true,
|
|
194
|
+
displayOptions: { show: { mode: ['retrieve-as-tool'] } },
|
|
195
|
+
},
|
|
196
|
+
},
|
|
197
|
+
},
|
|
198
|
+
credentials: args.meta.credentials,
|
|
199
|
+
inputs: `={{
|
|
209
200
|
((parameters) => {
|
|
210
201
|
const mode = parameters?.mode;
|
|
211
202
|
const useReranker = parameters?.useReranker;
|
|
@@ -229,7 +220,7 @@ const store = vectorStore({
|
|
|
229
220
|
return inputs
|
|
230
221
|
})($parameter)
|
|
231
222
|
}}`,
|
|
232
|
-
|
|
223
|
+
outputs: `={{
|
|
233
224
|
((parameters) => {
|
|
234
225
|
const mode = parameters?.mode ?? 'retrieve';
|
|
235
226
|
|
|
@@ -243,143 +234,144 @@ const store = vectorStore({
|
|
|
243
234
|
return [{ displayName: "", type: "${n8n_workflow_1.NodeConnectionTypes.Main}"}]
|
|
244
235
|
})($parameter)
|
|
245
236
|
}}`,
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
},
|
|
237
|
+
properties: [
|
|
238
|
+
ragStarterCallout,
|
|
239
|
+
{
|
|
240
|
+
displayName: 'Operation Mode',
|
|
241
|
+
name: 'mode',
|
|
242
|
+
type: 'options',
|
|
243
|
+
noDataExpression: true,
|
|
244
|
+
default: 'retrieve',
|
|
245
|
+
options: (0, utils_1.getOperationModeOptions)(args),
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
...(0, shared_fields_1.getConnectionHintNoticeField)([n8n_workflow_1.NodeConnectionTypes.AiRetriever]),
|
|
249
|
+
displayOptions: {
|
|
250
|
+
show: {
|
|
251
|
+
mode: ['retrieve'],
|
|
262
252
|
},
|
|
263
253
|
},
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
displayName: 'Name',
|
|
257
|
+
name: 'toolName',
|
|
258
|
+
type: 'string',
|
|
259
|
+
default: '',
|
|
260
|
+
required: true,
|
|
261
|
+
description: 'Name of the vector store',
|
|
262
|
+
placeholder: 'e.g. company_knowledge_base',
|
|
263
|
+
validateType: 'string-alphanumeric',
|
|
264
|
+
displayOptions: {
|
|
265
|
+
show: {
|
|
266
|
+
'@version': [{ _cnd: { lte: 1.2 } }],
|
|
267
|
+
mode: ['retrieve-as-tool'],
|
|
278
268
|
},
|
|
279
269
|
},
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
displayName: 'Description',
|
|
273
|
+
name: 'toolDescription',
|
|
274
|
+
type: 'string',
|
|
275
|
+
default: '',
|
|
276
|
+
required: true,
|
|
277
|
+
typeOptions: { rows: 2 },
|
|
278
|
+
description: 'Explain to the LLM what this tool does, a good, specific description would allow LLMs to produce expected results much more often',
|
|
279
|
+
placeholder: `e.g. ${args.meta.description}`,
|
|
280
|
+
displayOptions: {
|
|
281
|
+
show: {
|
|
282
|
+
mode: ['retrieve-as-tool'],
|
|
293
283
|
},
|
|
294
284
|
},
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
},
|
|
285
|
+
},
|
|
286
|
+
...args.sharedFields,
|
|
287
|
+
{
|
|
288
|
+
displayName: 'Embedding Batch Size',
|
|
289
|
+
name: 'embeddingBatchSize',
|
|
290
|
+
type: 'number',
|
|
291
|
+
default: 200,
|
|
292
|
+
description: 'Number of documents to embed in a single batch',
|
|
293
|
+
displayOptions: {
|
|
294
|
+
show: {
|
|
295
|
+
mode: ['insert'],
|
|
296
|
+
'@version': [{ _cnd: { gte: 1.1 } }],
|
|
307
297
|
},
|
|
308
298
|
},
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
299
|
+
},
|
|
300
|
+
...(0, utils_1.transformDescriptionForOperationMode)(args.insertFields ?? [], 'insert'),
|
|
301
|
+
{
|
|
302
|
+
displayName: 'Prompt',
|
|
303
|
+
name: 'prompt',
|
|
304
|
+
type: 'string',
|
|
305
|
+
default: '',
|
|
306
|
+
required: true,
|
|
307
|
+
description: 'Search prompt to retrieve matching documents from the vector store using similarity-based ranking',
|
|
308
|
+
displayOptions: {
|
|
309
|
+
show: {
|
|
310
|
+
mode: ['load'],
|
|
321
311
|
},
|
|
322
312
|
},
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
displayName: 'Limit',
|
|
316
|
+
name: 'topK',
|
|
317
|
+
type: 'number',
|
|
318
|
+
default: 4,
|
|
319
|
+
description: 'Number of top results to fetch from vector store',
|
|
320
|
+
displayOptions: {
|
|
321
|
+
show: {
|
|
322
|
+
mode: ['load', 'retrieve-as-tool'],
|
|
333
323
|
},
|
|
334
324
|
},
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
displayName: 'Include Metadata',
|
|
328
|
+
name: 'includeDocumentMetadata',
|
|
329
|
+
type: 'boolean',
|
|
330
|
+
default: true,
|
|
331
|
+
description: 'Whether or not to include document metadata',
|
|
332
|
+
displayOptions: {
|
|
333
|
+
show: {
|
|
334
|
+
mode: ['load', 'retrieve-as-tool'],
|
|
345
335
|
},
|
|
346
336
|
},
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
displayName: 'Rerank Results',
|
|
340
|
+
name: 'useReranker',
|
|
341
|
+
type: 'boolean',
|
|
342
|
+
default: false,
|
|
343
|
+
description: 'Whether or not to rerank results',
|
|
344
|
+
displayOptions: {
|
|
345
|
+
show: {
|
|
346
|
+
mode: ['load', 'retrieve', 'retrieve-as-tool'],
|
|
357
347
|
},
|
|
358
348
|
},
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
displayName: 'ID',
|
|
352
|
+
name: 'id',
|
|
353
|
+
type: 'string',
|
|
354
|
+
default: '',
|
|
355
|
+
required: true,
|
|
356
|
+
description: 'ID of an embedding entry',
|
|
357
|
+
displayOptions: {
|
|
358
|
+
show: {
|
|
359
|
+
mode: ['update'],
|
|
370
360
|
},
|
|
371
361
|
},
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
],
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
362
|
+
},
|
|
363
|
+
...(0, utils_1.transformDescriptionForOperationMode)(args.loadFields ?? [], [
|
|
364
|
+
'load',
|
|
365
|
+
'retrieve-as-tool',
|
|
366
|
+
]),
|
|
367
|
+
...(0, utils_1.transformDescriptionForOperationMode)(args.retrieveFields ?? [], 'retrieve'),
|
|
368
|
+
...(0, utils_1.transformDescriptionForOperationMode)(args.updateFields ?? [], 'update'),
|
|
369
|
+
],
|
|
370
|
+
};
|
|
371
|
+
this.methods = args.methods;
|
|
372
|
+
}
|
|
373
|
+
async execute() {
|
|
374
|
+
try {
|
|
383
375
|
const mode = this.getNodeParameter('mode', 0);
|
|
384
376
|
const embeddings = (await this.getInputConnectionData(n8n_workflow_1.NodeConnectionTypes.AiEmbedding, 0));
|
|
385
377
|
if (mode === 'load') {
|
|
@@ -410,7 +402,12 @@ const store = vectorStore({
|
|
|
410
402
|
}
|
|
411
403
|
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Only the "load", "update", "insert", and "retrieve-as-tool" operation modes are supported with execute');
|
|
412
404
|
}
|
|
413
|
-
|
|
405
|
+
catch (error) {
|
|
406
|
+
(0, utils_1.normalizeVectorStoreError)(this.getNode(), error);
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
async supplyData(itemIndex) {
|
|
410
|
+
try {
|
|
414
411
|
const mode = this.getNodeParameter('mode', 0);
|
|
415
412
|
const embeddings = (await this.getInputConnectionData(n8n_workflow_1.NodeConnectionTypes.AiEmbedding, 0));
|
|
416
413
|
if (mode === 'retrieve') {
|
|
@@ -421,7 +418,10 @@ const store = vectorStore({
|
|
|
421
418
|
}
|
|
422
419
|
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Only the "retrieve" and "retrieve-as-tool" operation mode is supported to supply data');
|
|
423
420
|
}
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
}
|
|
421
|
+
catch (error) {
|
|
422
|
+
(0, utils_1.normalizeVectorStoreError)(this.getNode(), error, itemIndex);
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
};
|
|
426
|
+
exports.createVectorStoreNode = createVectorStoreNode;
|
|
427
427
|
//# sourceMappingURL=createVectorStoreNode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createVectorStoreNode.js","sourceRoot":"","sources":["../../../../../src/utils/vector-store/createVectorStoreNode/createVectorStoreNode.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createVectorStoreNode.js","sourceRoot":"","sources":["../../../../../src/utils/vector-store/createVectorStoreNode/createVectorStoreNode.ts"],"names":[],"mappings":"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"}
|