@n8n/n8n-nodes-langchain 1.85.3 → 1.87.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/credentials/AnthropicApi.credentials.js +64 -41
- package/dist/credentials/AnthropicApi.credentials.js.map +1 -1
- package/dist/credentials/AzureOpenAiApi.credentials.js +70 -47
- package/dist/credentials/AzureOpenAiApi.credentials.js.map +1 -1
- package/dist/credentials/CohereApi.credentials.js +55 -32
- package/dist/credentials/CohereApi.credentials.js.map +1 -1
- package/dist/credentials/DeepSeekApi.credentials.js +61 -38
- package/dist/credentials/DeepSeekApi.credentials.js.map +1 -1
- package/dist/credentials/GooglePalmApi.credentials.js +61 -38
- package/dist/credentials/GooglePalmApi.credentials.js.map +1 -1
- package/dist/credentials/GroqApi.credentials.js +55 -32
- package/dist/credentials/GroqApi.credentials.js.map +1 -1
- package/dist/credentials/HuggingFaceApi.credentials.js +55 -32
- package/dist/credentials/HuggingFaceApi.credentials.js.map +1 -1
- package/dist/credentials/MistralCloudApi.credentials.js +56 -33
- package/dist/credentials/MistralCloudApi.credentials.js.map +1 -1
- package/dist/credentials/MotorheadApi.credentials.js +68 -45
- package/dist/credentials/MotorheadApi.credentials.js.map +1 -1
- package/dist/credentials/OllamaApi.credentials.js +47 -24
- package/dist/credentials/OllamaApi.credentials.js.map +1 -1
- package/dist/credentials/OpenRouterApi.credentials.js +61 -38
- package/dist/credentials/OpenRouterApi.credentials.js.map +1 -1
- package/dist/credentials/PineconeApi.credentials.js +57 -34
- package/dist/credentials/PineconeApi.credentials.js.map +1 -1
- package/dist/credentials/QdrantApi.credentials.js +64 -41
- package/dist/credentials/QdrantApi.credentials.js.map +1 -1
- package/dist/credentials/SerpApi.credentials.js +55 -32
- package/dist/credentials/SerpApi.credentials.js.map +1 -1
- package/dist/credentials/WolframAlphaApi.credentials.js +59 -36
- package/dist/credentials/WolframAlphaApi.credentials.js.map +1 -1
- package/dist/credentials/XAiApi.credentials.js +61 -38
- package/dist/credentials/XAiApi.credentials.js.map +1 -1
- package/dist/credentials/XataApi.credentials.js +69 -46
- package/dist/credentials/XataApi.credentials.js.map +1 -1
- package/dist/credentials/ZepApi.credentials.js +74 -51
- package/dist/credentials/ZepApi.credentials.js.map +1 -1
- package/dist/known/nodes.json +12 -0
- package/dist/nodes/agents/Agent/Agent.node.js +426 -405
- package/dist/nodes/agents/Agent/Agent.node.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/ConversationalAgent/description.js +111 -87
- package/dist/nodes/agents/Agent/agents/ConversationalAgent/description.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/ConversationalAgent/execute.js +99 -75
- package/dist/nodes/agents/Agent/agents/ConversationalAgent/execute.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/ConversationalAgent/prompt.js +30 -4
- package/dist/nodes/agents/Agent/agents/ConversationalAgent/prompt.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/OpenAiFunctionsAgent/description.js +101 -77
- package/dist/nodes/agents/Agent/agents/OpenAiFunctionsAgent/description.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/OpenAiFunctionsAgent/execute.js +108 -83
- package/dist/nodes/agents/Agent/agents/OpenAiFunctionsAgent/execute.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/OpenAiFunctionsAgent/prompt.js +27 -3
- package/dist/nodes/agents/Agent/agents/OpenAiFunctionsAgent/prompt.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/PlanAndExecuteAgent/description.js +87 -63
- package/dist/nodes/agents/Agent/agents/PlanAndExecuteAgent/description.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/PlanAndExecuteAgent/execute.js +90 -67
- package/dist/nodes/agents/Agent/agents/PlanAndExecuteAgent/execute.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/PlanAndExecuteAgent/prompt.js +27 -3
- package/dist/nodes/agents/Agent/agents/PlanAndExecuteAgent/prompt.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/ReActAgent/description.js +131 -107
- package/dist/nodes/agents/Agent/agents/ReActAgent/description.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/ReActAgent/execute.js +101 -82
- package/dist/nodes/agents/Agent/agents/ReActAgent/execute.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/ReActAgent/prompt.js +36 -6
- package/dist/nodes/agents/Agent/agents/ReActAgent/prompt.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/SqlAgent/description.js +206 -181
- package/dist/nodes/agents/Agent/agents/SqlAgent/description.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/SqlAgent/execute.js +130 -104
- package/dist/nodes/agents/Agent/agents/SqlAgent/execute.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/SqlAgent/other/handlers/mysql.js +40 -16
- package/dist/nodes/agents/Agent/agents/SqlAgent/other/handlers/mysql.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/SqlAgent/other/handlers/postgres.js +41 -17
- package/dist/nodes/agents/Agent/agents/SqlAgent/other/handlers/postgres.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/SqlAgent/other/handlers/sqlite.js +67 -67
- package/dist/nodes/agents/Agent/agents/SqlAgent/other/handlers/sqlite.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/SqlAgent/other/prompts.js +30 -4
- package/dist/nodes/agents/Agent/agents/SqlAgent/other/prompts.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/ToolsAgent/description.js +72 -48
- package/dist/nodes/agents/Agent/agents/ToolsAgent/description.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/ToolsAgent/execute.js +262 -216
- package/dist/nodes/agents/Agent/agents/ToolsAgent/execute.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/ToolsAgent/prompt.js +27 -3
- package/dist/nodes/agents/Agent/agents/ToolsAgent/prompt.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/utils.js +48 -17
- package/dist/nodes/agents/Agent/agents/utils.js.map +1 -1
- package/dist/nodes/agents/OpenAiAssistant/OpenAiAssistant.node.js +377 -355
- package/dist/nodes/agents/OpenAiAssistant/OpenAiAssistant.node.js.map +1 -1
- package/dist/nodes/agents/OpenAiAssistant/utils.js +53 -27
- package/dist/nodes/agents/OpenAiAssistant/utils.js.map +1 -1
- package/dist/nodes/chains/ChainLLM/ChainLlm.node.js +126 -95
- package/dist/nodes/chains/ChainLLM/ChainLlm.node.js.map +1 -1
- package/dist/nodes/chains/ChainLLM/methods/chainExecutor.js +101 -69
- package/dist/nodes/chains/ChainLLM/methods/chainExecutor.js.map +1 -1
- package/dist/nodes/chains/ChainLLM/methods/config.js +268 -243
- package/dist/nodes/chains/ChainLLM/methods/config.js.map +1 -1
- package/dist/nodes/chains/ChainLLM/methods/imageUtils.js +94 -60
- package/dist/nodes/chains/ChainLLM/methods/imageUtils.js.map +1 -1
- package/dist/nodes/chains/ChainLLM/methods/index.js +35 -9
- package/dist/nodes/chains/ChainLLM/methods/index.js.map +1 -1
- package/dist/nodes/chains/ChainLLM/methods/promptUtils.js +100 -60
- package/dist/nodes/chains/ChainLLM/methods/promptUtils.js.map +1 -1
- package/dist/nodes/chains/ChainLLM/methods/responseFormatter.js +46 -22
- package/dist/nodes/chains/ChainLLM/methods/responseFormatter.js.map +1 -1
- package/dist/nodes/chains/ChainLLM/methods/types.js +15 -1
- package/dist/nodes/chains/ChainLLM/methods/types.js.map +1 -1
- package/dist/nodes/chains/ChainRetrievalQA/ChainRetrievalQa.node.js +260 -233
- package/dist/nodes/chains/ChainRetrievalQA/ChainRetrievalQa.node.js.map +1 -1
- package/dist/nodes/chains/ChainSummarization/ChainSummarization.node.js +60 -37
- package/dist/nodes/chains/ChainSummarization/ChainSummarization.node.js.map +1 -1
- package/dist/nodes/chains/ChainSummarization/V1/ChainSummarizationV1.node.js +234 -208
- package/dist/nodes/chains/ChainSummarization/V1/ChainSummarizationV1.node.js.map +1 -1
- package/dist/nodes/chains/ChainSummarization/V2/ChainSummarizationV2.node.js +379 -334
- package/dist/nodes/chains/ChainSummarization/V2/ChainSummarizationV2.node.js.map +1 -1
- package/dist/nodes/chains/ChainSummarization/helpers.js +67 -43
- package/dist/nodes/chains/ChainSummarization/helpers.js.map +1 -1
- package/dist/nodes/chains/ChainSummarization/prompt.js +30 -4
- package/dist/nodes/chains/ChainSummarization/prompt.js.map +1 -1
- package/dist/nodes/chains/InformationExtractor/InformationExtractor.node.js +261 -229
- package/dist/nodes/chains/InformationExtractor/InformationExtractor.node.js.map +1 -1
- package/dist/nodes/chains/InformationExtractor/helpers.js +48 -28
- package/dist/nodes/chains/InformationExtractor/helpers.js.map +1 -1
- package/dist/nodes/chains/InformationExtractor/types.js +15 -1
- package/dist/nodes/chains/InformationExtractor/types.js.map +1 -1
- package/dist/nodes/chains/SentimentAnalysis/SentimentAnalysis.node.js +227 -197
- package/dist/nodes/chains/SentimentAnalysis/SentimentAnalysis.node.js.map +1 -1
- package/dist/nodes/chains/TextClassifier/TextClassifier.node.js +242 -215
- package/dist/nodes/chains/TextClassifier/TextClassifier.node.js.map +1 -1
- package/dist/nodes/code/Code.node.js +308 -267
- package/dist/nodes/code/Code.node.js.map +1 -1
- package/dist/nodes/document_loaders/DocumentBinaryInputLoader/DocumentBinaryInputLoader.node.js +199 -166
- package/dist/nodes/document_loaders/DocumentBinaryInputLoader/DocumentBinaryInputLoader.node.js.map +1 -1
- package/dist/nodes/document_loaders/DocumentDefaultDataLoader/DocumentDefaultDataLoader.node.js +303 -277
- package/dist/nodes/document_loaders/DocumentDefaultDataLoader/DocumentDefaultDataLoader.node.js.map +1 -1
- package/dist/nodes/document_loaders/DocumentGithubLoader/DocumentGithubLoader.node.js +136 -110
- package/dist/nodes/document_loaders/DocumentGithubLoader/DocumentGithubLoader.node.js.map +1 -1
- package/dist/nodes/document_loaders/DocumentJSONInputLoader/DocumentJsonInputLoader.node.js +107 -77
- package/dist/nodes/document_loaders/DocumentJSONInputLoader/DocumentJsonInputLoader.node.js.map +1 -1
- package/dist/nodes/embeddings/EmbeddingsAwsBedrock/EmbeddingsAwsBedrock.node.js +135 -110
- package/dist/nodes/embeddings/EmbeddingsAwsBedrock/EmbeddingsAwsBedrock.node.js.map +1 -1
- package/dist/nodes/embeddings/EmbeddingsAzureOpenAi/EmbeddingsAzureOpenAi.node.js +152 -126
- package/dist/nodes/embeddings/EmbeddingsAzureOpenAi/EmbeddingsAzureOpenAi.node.js.map +1 -1
- package/dist/nodes/embeddings/EmbeddingsCohere/EmbeddingsCohere.node.js +126 -101
- package/dist/nodes/embeddings/EmbeddingsCohere/EmbeddingsCohere.node.js.map +1 -1
- package/dist/nodes/embeddings/EmbeddingsGoogleGemini/EmbeddingsGoogleGemini.node.js +146 -117
- package/dist/nodes/embeddings/EmbeddingsGoogleGemini/EmbeddingsGoogleGemini.node.js.map +1 -1
- package/dist/nodes/embeddings/EmbeddingsGoogleVertex/EmbeddingsGoogleVertex.node.js +166 -0
- package/dist/nodes/embeddings/EmbeddingsGoogleVertex/EmbeddingsGoogleVertex.node.js.map +1 -0
- package/dist/nodes/embeddings/EmbeddingsGoogleVertex/google.svg +1 -0
- package/dist/nodes/embeddings/EmbeddingsHuggingFaceInference/EmbeddingsHuggingFaceInference.node.js +118 -89
- package/dist/nodes/embeddings/EmbeddingsHuggingFaceInference/EmbeddingsHuggingFaceInference.node.js.map +1 -1
- package/dist/nodes/embeddings/EmbeddingsMistralCloud/EmbeddingsMistralCloud.node.js +165 -136
- package/dist/nodes/embeddings/EmbeddingsMistralCloud/EmbeddingsMistralCloud.node.js.map +1 -1
- package/dist/nodes/embeddings/EmbeddingsOllama/EmbeddingsOllama.node.js +76 -51
- package/dist/nodes/embeddings/EmbeddingsOllama/EmbeddingsOllama.node.js.map +1 -1
- package/dist/nodes/embeddings/EmbeddingsOpenAI/EmbeddingsOpenAi.node.js +228 -201
- package/dist/nodes/embeddings/EmbeddingsOpenAI/EmbeddingsOpenAi.node.js.map +1 -1
- package/dist/nodes/llms/LMChatAnthropic/LmChatAnthropic.node.js +306 -272
- package/dist/nodes/llms/LMChatAnthropic/LmChatAnthropic.node.js.map +1 -1
- package/dist/nodes/llms/LMChatAnthropic/methods/searchModels.js +58 -36
- package/dist/nodes/llms/LMChatAnthropic/methods/searchModels.js.map +1 -1
- package/dist/nodes/llms/LMChatOllama/LmChatOllama.node.js +87 -61
- package/dist/nodes/llms/LMChatOllama/LmChatOllama.node.js.map +1 -1
- package/dist/nodes/llms/LMChatOpenAi/LmChatOpenAi.node.js +340 -316
- package/dist/nodes/llms/LMChatOpenAi/LmChatOpenAi.node.js.map +1 -1
- package/dist/nodes/llms/LMChatOpenAi/methods/loadModels.js +54 -30
- package/dist/nodes/llms/LMChatOpenAi/methods/loadModels.js.map +1 -1
- package/dist/nodes/llms/LMCohere/LmCohere.node.js +119 -93
- package/dist/nodes/llms/LMCohere/LmCohere.node.js.map +1 -1
- package/dist/nodes/llms/LMOllama/LmOllama.node.js +86 -60
- package/dist/nodes/llms/LMOllama/LmOllama.node.js.map +1 -1
- package/dist/nodes/llms/LMOllama/description.js +235 -207
- package/dist/nodes/llms/LMOllama/description.js.map +1 -1
- package/dist/nodes/llms/LMOpenAi/LmOpenAi.node.js +239 -214
- package/dist/nodes/llms/LMOpenAi/LmOpenAi.node.js.map +1 -1
- package/dist/nodes/llms/LMOpenHuggingFaceInference/LmOpenHuggingFaceInference.node.js +159 -133
- package/dist/nodes/llms/LMOpenHuggingFaceInference/LmOpenHuggingFaceInference.node.js.map +1 -1
- package/dist/nodes/llms/LmChatAwsBedrock/LmChatAwsBedrock.node.js +167 -140
- package/dist/nodes/llms/LmChatAwsBedrock/LmChatAwsBedrock.node.js.map +1 -1
- package/dist/nodes/llms/LmChatAzureOpenAi/LmChatAzureOpenAi.node.js +193 -168
- package/dist/nodes/llms/LmChatAzureOpenAi/LmChatAzureOpenAi.node.js.map +1 -1
- package/dist/nodes/llms/LmChatDeepSeek/LmChatDeepSeek.node.js +236 -212
- package/dist/nodes/llms/LmChatDeepSeek/LmChatDeepSeek.node.js.map +1 -1
- package/dist/nodes/llms/LmChatGoogleGemini/LmChatGoogleGemini.node.js +163 -133
- package/dist/nodes/llms/LmChatGoogleGemini/LmChatGoogleGemini.node.js.map +1 -1
- package/dist/nodes/llms/LmChatGoogleVertex/LmChatGoogleVertex.node.js +194 -164
- package/dist/nodes/llms/LmChatGoogleVertex/LmChatGoogleVertex.node.js.map +1 -1
- package/dist/nodes/llms/LmChatGoogleVertex/error-handling.js +36 -14
- package/dist/nodes/llms/LmChatGoogleVertex/error-handling.js.map +1 -1
- package/dist/nodes/llms/LmChatGroq/LmChatGroq.node.js +160 -134
- package/dist/nodes/llms/LmChatGroq/LmChatGroq.node.js.map +1 -1
- package/dist/nodes/llms/LmChatMistralCloud/LmChatMistralCloud.node.js +205 -179
- package/dist/nodes/llms/LmChatMistralCloud/LmChatMistralCloud.node.js.map +1 -1
- package/dist/nodes/llms/LmChatOpenRouter/LmChatOpenRouter.node.js +235 -212
- package/dist/nodes/llms/LmChatOpenRouter/LmChatOpenRouter.node.js.map +1 -1
- package/dist/nodes/llms/LmChatXAiGrok/LmChatXAiGrok.node.js +236 -212
- package/dist/nodes/llms/LmChatXAiGrok/LmChatXAiGrok.node.js.map +1 -1
- package/dist/nodes/llms/N8nLlmTracing.js +162 -127
- package/dist/nodes/llms/N8nLlmTracing.js.map +1 -1
- package/dist/nodes/llms/gemini-common/additional-options.js +103 -78
- package/dist/nodes/llms/gemini-common/additional-options.js.map +1 -1
- package/dist/nodes/llms/gemini-common/safety-options.js +75 -49
- package/dist/nodes/llms/gemini-common/safety-options.js.map +1 -1
- package/dist/nodes/llms/n8nDefaultFailedAttemptHandler.js +60 -24
- package/dist/nodes/llms/n8nDefaultFailedAttemptHandler.js.map +1 -1
- package/dist/nodes/llms/n8nLlmFailedAttemptHandler.js +46 -24
- package/dist/nodes/llms/n8nLlmFailedAttemptHandler.js.map +1 -1
- package/dist/nodes/memory/MemoryBufferWindow/MemoryBufferWindow.node.js +153 -130
- package/dist/nodes/memory/MemoryBufferWindow/MemoryBufferWindow.node.js.map +1 -1
- package/dist/nodes/memory/MemoryChatRetriever/MemoryChatRetriever.node.js +109 -84
- package/dist/nodes/memory/MemoryChatRetriever/MemoryChatRetriever.node.js.map +1 -1
- package/dist/nodes/memory/MemoryManager/MemoryManager.node.js +358 -318
- package/dist/nodes/memory/MemoryManager/MemoryManager.node.js.map +1 -1
- package/dist/nodes/memory/MemoryMongoDbChat/MemoryMongoDbChat.node.js +155 -0
- package/dist/nodes/memory/MemoryMongoDbChat/MemoryMongoDbChat.node.js.map +1 -0
- package/dist/nodes/memory/MemoryMongoDbChat/mongodb.dark.svg +3 -0
- package/dist/nodes/memory/MemoryMongoDbChat/mongodb.svg +3 -0
- package/dist/nodes/memory/MemoryMotorhead/MemoryMotorhead.node.js +128 -104
- package/dist/nodes/memory/MemoryMotorhead/MemoryMotorhead.node.js.map +1 -1
- package/dist/nodes/memory/MemoryPostgresChat/MemoryPostgresChat.node.js +120 -97
- package/dist/nodes/memory/MemoryPostgresChat/MemoryPostgresChat.node.js.map +1 -1
- package/dist/nodes/memory/MemoryRedisChat/MemoryRedisChat.node.js +172 -150
- package/dist/nodes/memory/MemoryRedisChat/MemoryRedisChat.node.js.map +1 -1
- package/dist/nodes/memory/MemoryXata/MemoryXata.node.js +153 -125
- package/dist/nodes/memory/MemoryXata/MemoryXata.node.js.map +1 -1
- package/dist/nodes/memory/MemoryZep/MemoryZep.node.js +159 -133
- package/dist/nodes/memory/MemoryZep/MemoryZep.node.js.map +1 -1
- package/dist/nodes/memory/descriptions.js +78 -48
- package/dist/nodes/memory/descriptions.js.map +1 -1
- package/dist/nodes/output_parser/OutputParserAutofixing/OutputParserAutofixing.node.js +129 -90
- package/dist/nodes/output_parser/OutputParserAutofixing/OutputParserAutofixing.node.js.map +1 -1
- package/dist/nodes/output_parser/OutputParserAutofixing/prompt.js +27 -3
- package/dist/nodes/output_parser/OutputParserAutofixing/prompt.js.map +1 -1
- package/dist/nodes/output_parser/OutputParserItemList/OutputParserItemList.node.js +103 -68
- package/dist/nodes/output_parser/OutputParserItemList/OutputParserItemList.node.js.map +1 -1
- package/dist/nodes/output_parser/OutputParserStructured/OutputParserStructured.node.js +129 -102
- package/dist/nodes/output_parser/OutputParserStructured/OutputParserStructured.node.js.map +1 -1
- package/dist/nodes/retrievers/RetrieverContextualCompression/RetrieverContextualCompression.node.js +99 -69
- package/dist/nodes/retrievers/RetrieverContextualCompression/RetrieverContextualCompression.node.js.map +1 -1
- package/dist/nodes/retrievers/RetrieverMultiQuery/RetrieverMultiQuery.node.js +118 -88
- package/dist/nodes/retrievers/RetrieverMultiQuery/RetrieverMultiQuery.node.js.map +1 -1
- package/dist/nodes/retrievers/RetrieverVectorStore/RetrieverVectorStore.node.js +88 -60
- package/dist/nodes/retrievers/RetrieverVectorStore/RetrieverVectorStore.node.js.map +1 -1
- package/dist/nodes/retrievers/RetrieverWorkflow/RetrieverWorkflow.node.js +400 -356
- package/dist/nodes/retrievers/RetrieverWorkflow/RetrieverWorkflow.node.js.map +1 -1
- package/dist/nodes/text_splitters/TextSplitterCharacterTextSplitter/TextSplitterCharacterTextSplitter.node.js +99 -74
- package/dist/nodes/text_splitters/TextSplitterCharacterTextSplitter/TextSplitterCharacterTextSplitter.node.js.map +1 -1
- package/dist/nodes/text_splitters/TextSplitterRecursiveCharacterTextSplitter/TextSplitterRecursiveCharacterTextSplitter.node.js +132 -103
- package/dist/nodes/text_splitters/TextSplitterRecursiveCharacterTextSplitter/TextSplitterRecursiveCharacterTextSplitter.node.js.map +1 -1
- package/dist/nodes/text_splitters/TextSplitterTokenSplitter/TextSplitterTokenSplitter.node.js +96 -68
- package/dist/nodes/text_splitters/TextSplitterTokenSplitter/TextSplitterTokenSplitter.node.js.map +1 -1
- package/dist/nodes/tools/ToolCalculator/ToolCalculator.node.js +69 -44
- package/dist/nodes/tools/ToolCalculator/ToolCalculator.node.js.map +1 -1
- package/dist/nodes/tools/ToolCode/ToolCode.node.js +261 -235
- package/dist/nodes/tools/ToolCode/ToolCode.node.js.map +1 -1
- package/dist/nodes/tools/ToolHttpRequest/ToolHttpRequest.node.js +384 -328
- package/dist/nodes/tools/ToolHttpRequest/ToolHttpRequest.node.js.map +1 -1
- package/dist/nodes/tools/ToolHttpRequest/descriptions.js +394 -357
- package/dist/nodes/tools/ToolHttpRequest/descriptions.js.map +1 -1
- package/dist/nodes/tools/ToolHttpRequest/interfaces.js +15 -1
- package/dist/nodes/tools/ToolHttpRequest/interfaces.js.map +1 -1
- package/dist/nodes/tools/ToolHttpRequest/utils.js +587 -551
- package/dist/nodes/tools/ToolHttpRequest/utils.js.map +1 -1
- package/dist/nodes/tools/ToolSerpApi/ToolSerpApi.node.js +131 -106
- package/dist/nodes/tools/ToolSerpApi/ToolSerpApi.node.js.map +1 -1
- package/dist/nodes/tools/ToolThink/ToolThink.node.js +94 -0
- package/dist/nodes/tools/ToolThink/ToolThink.node.js.map +1 -0
- package/dist/nodes/tools/ToolVectorStore/ToolVectorStore.node.js +131 -100
- package/dist/nodes/tools/ToolVectorStore/ToolVectorStore.node.js.map +1 -1
- package/dist/nodes/tools/ToolWikipedia/ToolWikipedia.node.js +70 -46
- package/dist/nodes/tools/ToolWikipedia/ToolWikipedia.node.js.map +1 -1
- package/dist/nodes/tools/ToolWolframAlpha/ToolWolframAlpha.node.js +75 -50
- package/dist/nodes/tools/ToolWolframAlpha/ToolWolframAlpha.node.js.map +1 -1
- package/dist/nodes/tools/ToolWorkflow/ToolWorkflow.node.js +64 -41
- package/dist/nodes/tools/ToolWorkflow/ToolWorkflow.node.js.map +1 -1
- package/dist/nodes/tools/ToolWorkflow/v1/ToolWorkflowV1.node.js +193 -185
- package/dist/nodes/tools/ToolWorkflow/v1/ToolWorkflowV1.node.js.map +1 -1
- package/dist/nodes/tools/ToolWorkflow/v1/versionDescription.js +326 -287
- package/dist/nodes/tools/ToolWorkflow/v1/versionDescription.js.map +1 -1
- package/dist/nodes/tools/ToolWorkflow/v2/ToolWorkflowV2.node.js +50 -27
- package/dist/nodes/tools/ToolWorkflow/v2/ToolWorkflowV2.node.js.map +1 -1
- package/dist/nodes/tools/ToolWorkflow/v2/methods/index.js +36 -35
- package/dist/nodes/tools/ToolWorkflow/v2/methods/index.js.map +1 -1
- package/dist/nodes/tools/ToolWorkflow/v2/methods/localResourceMapping.js +40 -18
- package/dist/nodes/tools/ToolWorkflow/v2/methods/localResourceMapping.js.map +1 -1
- package/dist/nodes/tools/ToolWorkflow/v2/utils/WorkflowToolService.js +256 -201
- package/dist/nodes/tools/ToolWorkflow/v2/utils/WorkflowToolService.js.map +1 -1
- package/dist/nodes/tools/ToolWorkflow/v2/versionDescription.js +159 -126
- package/dist/nodes/tools/ToolWorkflow/v2/versionDescription.js.map +1 -1
- package/dist/nodes/trigger/ChatTrigger/ChatTrigger.node.js +513 -489
- package/dist/nodes/trigger/ChatTrigger/ChatTrigger.node.js.map +1 -1
- package/dist/nodes/trigger/ChatTrigger/GenericFunctions.js +70 -41
- package/dist/nodes/trigger/ChatTrigger/GenericFunctions.js.map +1 -1
- package/dist/nodes/trigger/ChatTrigger/constants.js +27 -3
- package/dist/nodes/trigger/ChatTrigger/constants.js.map +1 -1
- package/dist/nodes/trigger/ChatTrigger/error.js +39 -17
- package/dist/nodes/trigger/ChatTrigger/error.js.map +1 -1
- package/dist/nodes/trigger/ChatTrigger/templates.js +73 -33
- package/dist/nodes/trigger/ChatTrigger/templates.js.map +1 -1
- package/dist/nodes/trigger/ChatTrigger/types.js +15 -1
- package/dist/nodes/trigger/ChatTrigger/types.js.map +1 -1
- package/dist/nodes/trigger/ManualChatTrigger/ManualChatTrigger.node.js +87 -63
- package/dist/nodes/trigger/ManualChatTrigger/ManualChatTrigger.node.js.map +1 -1
- package/dist/nodes/vector_store/VectorStoreInMemory/VectorStoreInMemory.node.js +75 -52
- package/dist/nodes/vector_store/VectorStoreInMemory/VectorStoreInMemory.node.js.map +1 -1
- package/dist/nodes/vector_store/VectorStoreInMemoryInsert/VectorStoreInMemoryInsert.node.js +117 -83
- package/dist/nodes/vector_store/VectorStoreInMemoryInsert/VectorStoreInMemoryInsert.node.js.map +1 -1
- package/dist/nodes/vector_store/VectorStoreInMemoryLoad/VectorStoreInMemoryLoad.node.js +91 -62
- package/dist/nodes/vector_store/VectorStoreInMemoryLoad/VectorStoreInMemoryLoad.node.js.map +1 -1
- package/dist/nodes/vector_store/VectorStoreMongoDBAtlas/VectorStoreMongoDBAtlas.node.js +240 -213
- package/dist/nodes/vector_store/VectorStoreMongoDBAtlas/VectorStoreMongoDBAtlas.node.js.map +1 -1
- package/dist/nodes/vector_store/VectorStorePGVector/VectorStorePGVector.node.js +256 -221
- package/dist/nodes/vector_store/VectorStorePGVector/VectorStorePGVector.node.js.map +1 -1
- package/dist/nodes/vector_store/VectorStorePinecone/VectorStorePinecone.node.js +131 -109
- package/dist/nodes/vector_store/VectorStorePinecone/VectorStorePinecone.node.js.map +1 -1
- package/dist/nodes/vector_store/VectorStorePineconeInsert/VectorStorePineconeInsert.node.js +137 -107
- package/dist/nodes/vector_store/VectorStorePineconeInsert/VectorStorePineconeInsert.node.js.map +1 -1
- package/dist/nodes/vector_store/VectorStorePineconeLoad/VectorStorePineconeLoad.node.js +125 -98
- package/dist/nodes/vector_store/VectorStorePineconeLoad/VectorStorePineconeLoad.node.js.map +1 -1
- package/dist/nodes/vector_store/VectorStoreQdrant/VectorStoreQdrant.node.js +124 -100
- package/dist/nodes/vector_store/VectorStoreQdrant/VectorStoreQdrant.node.js.map +1 -1
- package/dist/nodes/vector_store/VectorStoreSupabase/VectorStoreSupabase.node.js +116 -95
- package/dist/nodes/vector_store/VectorStoreSupabase/VectorStoreSupabase.node.js.map +1 -1
- package/dist/nodes/vector_store/VectorStoreSupabaseInsert/VectorStoreSupabaseInsert.node.js +129 -99
- package/dist/nodes/vector_store/VectorStoreSupabaseInsert/VectorStoreSupabaseInsert.node.js.map +1 -1
- package/dist/nodes/vector_store/VectorStoreSupabaseLoad/VectorStoreSupabaseLoad.node.js +121 -94
- package/dist/nodes/vector_store/VectorStoreSupabaseLoad/VectorStoreSupabaseLoad.node.js.map +1 -1
- package/dist/nodes/vector_store/VectorStoreZep/VectorStoreZep.node.js +133 -113
- package/dist/nodes/vector_store/VectorStoreZep/VectorStoreZep.node.js.map +1 -1
- package/dist/nodes/vector_store/VectorStoreZepInsert/VectorStoreZepInsert.node.js +141 -111
- package/dist/nodes/vector_store/VectorStoreZepInsert/VectorStoreZepInsert.node.js.map +1 -1
- package/dist/nodes/vector_store/VectorStoreZepLoad/VectorStoreZepLoad.node.js +121 -94
- package/dist/nodes/vector_store/VectorStoreZepLoad/VectorStoreZepLoad.node.js.map +1 -1
- package/dist/nodes/vector_store/shared/MemoryManager/MemoryCalculator.js +65 -37
- package/dist/nodes/vector_store/shared/MemoryManager/MemoryCalculator.js.map +1 -1
- package/dist/nodes/vector_store/shared/MemoryManager/MemoryVectorStoreManager.js +220 -159
- package/dist/nodes/vector_store/shared/MemoryManager/MemoryVectorStoreManager.js.map +1 -1
- package/dist/nodes/vector_store/shared/MemoryManager/StoreCleanupService.js +120 -87
- package/dist/nodes/vector_store/shared/MemoryManager/StoreCleanupService.js.map +1 -1
- package/dist/nodes/vector_store/shared/MemoryManager/config.js +50 -26
- package/dist/nodes/vector_store/shared/MemoryManager/config.js.map +1 -1
- package/dist/nodes/vector_store/shared/MemoryManager/types.js +15 -1
- package/dist/nodes/vector_store/shared/MemoryManager/types.js.map +1 -1
- package/dist/nodes/vector_store/shared/createVectorStoreNode/constants.js +67 -41
- package/dist/nodes/vector_store/shared/createVectorStoreNode/constants.js.map +1 -1
- package/dist/nodes/vector_store/shared/createVectorStoreNode/createVectorStoreNode.js +240 -194
- package/dist/nodes/vector_store/shared/createVectorStoreNode/createVectorStoreNode.js.map +1 -1
- package/dist/nodes/vector_store/shared/createVectorStoreNode/methods/listSearch.js +75 -50
- package/dist/nodes/vector_store/shared/createVectorStoreNode/methods/listSearch.js.map +1 -1
- package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/index.js +28 -19
- package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/index.js.map +1 -1
- package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/insertOperation.js +58 -29
- package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/insertOperation.js.map +1 -1
- package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/loadOperation.js +62 -29
- package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/loadOperation.js.map +1 -1
- package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/retrieveAsToolOperation.js +72 -38
- package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/retrieveAsToolOperation.js.map +1 -1
- package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/retrieveOperation.js +36 -12
- package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/retrieveOperation.js.map +1 -1
- package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/updateOperation.js +64 -34
- package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/updateOperation.js.map +1 -1
- package/dist/nodes/vector_store/shared/createVectorStoreNode/types.js +15 -1
- package/dist/nodes/vector_store/shared/createVectorStoreNode/types.js.map +1 -1
- package/dist/nodes/vector_store/shared/createVectorStoreNode/utils.js +40 -12
- package/dist/nodes/vector_store/shared/createVectorStoreNode/utils.js.map +1 -1
- package/dist/nodes/vector_store/shared/descriptions.js +93 -65
- package/dist/nodes/vector_store/shared/descriptions.js.map +1 -1
- package/dist/nodes/vector_store/shared/processDocuments.js +58 -35
- package/dist/nodes/vector_store/shared/processDocuments.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/OpenAi.node.js +39 -16
- package/dist/nodes/vendors/OpenAi/OpenAi.node.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/actions/assistant/create.operation.js +267 -228
- package/dist/nodes/vendors/OpenAi/actions/assistant/create.operation.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/actions/assistant/deleteAssistant.operation.js +49 -24
- package/dist/nodes/vendors/OpenAi/actions/assistant/deleteAssistant.operation.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/actions/assistant/index.js +100 -94
- package/dist/nodes/vendors/OpenAi/actions/assistant/index.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/actions/assistant/list.operation.js +83 -59
- package/dist/nodes/vendors/OpenAi/actions/assistant/list.operation.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/actions/assistant/message.operation.js +255 -227
- package/dist/nodes/vendors/OpenAi/actions/assistant/message.operation.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/actions/assistant/update.operation.js +216 -171
- package/dist/nodes/vendors/OpenAi/actions/assistant/update.operation.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/actions/audio/generate.operation.js +186 -157
- package/dist/nodes/vendors/OpenAi/actions/audio/generate.operation.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/actions/audio/index.js +92 -88
- package/dist/nodes/vendors/OpenAi/actions/audio/index.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/actions/audio/transcribe.operation.js +108 -76
- package/dist/nodes/vendors/OpenAi/actions/audio/transcribe.operation.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/actions/audio/translate.operation.js +99 -67
- package/dist/nodes/vendors/OpenAi/actions/audio/translate.operation.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/actions/descriptions.js +75 -50
- package/dist/nodes/vendors/OpenAi/actions/descriptions.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/actions/file/deleteFile.operation.js +75 -50
- package/dist/nodes/vendors/OpenAi/actions/file/deleteFile.operation.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/actions/file/index.js +80 -76
- package/dist/nodes/vendors/OpenAi/actions/file/index.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/actions/file/list.operation.js +74 -49
- package/dist/nodes/vendors/OpenAi/actions/file/list.operation.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/actions/file/upload.operation.js +108 -78
- package/dist/nodes/vendors/OpenAi/actions/file/upload.operation.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/actions/image/analyze.operation.js +206 -187
- package/dist/nodes/vendors/OpenAi/actions/image/analyze.operation.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/actions/image/generate.operation.js +240 -213
- package/dist/nodes/vendors/OpenAi/actions/image/generate.operation.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/actions/image/index.js +70 -67
- package/dist/nodes/vendors/OpenAi/actions/image/index.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/actions/node.type.js +15 -1
- package/dist/nodes/vendors/OpenAi/actions/node.type.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/actions/router.js +100 -97
- package/dist/nodes/vendors/OpenAi/actions/router.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/actions/text/classify.operation.js +93 -70
- package/dist/nodes/vendors/OpenAi/actions/text/classify.operation.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/actions/text/index.js +71 -67
- package/dist/nodes/vendors/OpenAi/actions/text/index.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/actions/text/message.operation.js +307 -278
- package/dist/nodes/vendors/OpenAi/actions/text/message.operation.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/actions/versionDescription.js +143 -141
- package/dist/nodes/vendors/OpenAi/actions/versionDescription.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/helpers/constants.js +47 -23
- package/dist/nodes/vendors/OpenAi/helpers/constants.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/helpers/error-handling.js +42 -17
- package/dist/nodes/vendors/OpenAi/helpers/error-handling.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/helpers/interfaces.js +15 -1
- package/dist/nodes/vendors/OpenAi/helpers/interfaces.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/helpers/utils.js +56 -29
- package/dist/nodes/vendors/OpenAi/helpers/utils.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/methods/index.js +39 -36
- package/dist/nodes/vendors/OpenAi/methods/index.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/methods/listSearch.js +118 -95
- package/dist/nodes/vendors/OpenAi/methods/listSearch.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/methods/loadOptions.js +36 -12
- package/dist/nodes/vendors/OpenAi/methods/loadOptions.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/transport/index.js +44 -20
- package/dist/nodes/vendors/OpenAi/transport/index.js.map +1 -1
- package/dist/types/nodes.json +9 -6
- package/dist/types/types.js.map +1 -1
- package/dist/types/zod.types.js +15 -1
- package/dist/types/zod.types.js.map +1 -1
- package/dist/utils/N8nBinaryLoader.js +186 -142
- package/dist/utils/N8nBinaryLoader.js.map +1 -1
- package/dist/utils/N8nJsonLoader.js +82 -59
- package/dist/utils/N8nJsonLoader.js.map +1 -1
- package/dist/utils/N8nTool.js +95 -75
- package/dist/utils/N8nTool.js.map +1 -1
- package/dist/utils/descriptions.js +128 -92
- package/dist/utils/descriptions.js.map +1 -1
- package/dist/utils/helpers.js +153 -137
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/logWrapper.js +328 -285
- package/dist/utils/logWrapper.js.map +1 -1
- package/dist/utils/output_parsers/N8nItemListOutputParser.js +57 -35
- package/dist/utils/output_parsers/N8nItemListOutputParser.js.map +1 -1
- package/dist/utils/output_parsers/N8nOutputFixingParser.js +94 -62
- package/dist/utils/output_parsers/N8nOutputFixingParser.js.map +1 -1
- package/dist/utils/output_parsers/N8nOutputParser.js +44 -15
- package/dist/utils/output_parsers/N8nOutputParser.js.map +1 -1
- package/dist/utils/output_parsers/N8nStructuredOutputParser.js +109 -79
- package/dist/utils/output_parsers/N8nStructuredOutputParser.js.map +1 -1
- package/dist/utils/output_parsers/prompt.js +48 -0
- package/dist/utils/output_parsers/prompt.js.map +1 -0
- package/dist/utils/schemaParsing.js +43 -14
- package/dist/utils/schemaParsing.js.map +1 -1
- package/dist/utils/sharedFields.js +130 -104
- package/dist/utils/sharedFields.js.map +1 -1
- package/dist/utils/tracing.js +37 -15
- package/dist/utils/tracing.js.map +1 -1
- package/package.json +14 -9
- package/dist/build.tsbuildinfo +0 -1
- package/dist/credentials/AnthropicApi.credentials.d.ts +0 -9
- package/dist/credentials/AzureOpenAiApi.credentials.d.ts +0 -8
- package/dist/credentials/CohereApi.credentials.d.ts +0 -9
- package/dist/credentials/DeepSeekApi.credentials.d.ts +0 -9
- package/dist/credentials/GooglePalmApi.credentials.d.ts +0 -9
- package/dist/credentials/GroqApi.credentials.d.ts +0 -9
- package/dist/credentials/HuggingFaceApi.credentials.d.ts +0 -9
- package/dist/credentials/MistralCloudApi.credentials.d.ts +0 -9
- package/dist/credentials/MotorheadApi.credentials.d.ts +0 -9
- package/dist/credentials/OllamaApi.credentials.d.ts +0 -8
- package/dist/credentials/OpenRouterApi.credentials.d.ts +0 -9
- package/dist/credentials/PineconeApi.credentials.d.ts +0 -9
- package/dist/credentials/QdrantApi.credentials.d.ts +0 -9
- package/dist/credentials/SerpApi.credentials.d.ts +0 -9
- package/dist/credentials/WolframAlphaApi.credentials.d.ts +0 -9
- package/dist/credentials/XAiApi.credentials.d.ts +0 -9
- package/dist/credentials/XataApi.credentials.d.ts +0 -9
- package/dist/credentials/ZepApi.credentials.d.ts +0 -9
- package/dist/nodes/agents/Agent/Agent.node.d.ts +0 -5
- package/dist/nodes/agents/Agent/agents/ConversationalAgent/description.d.ts +0 -2
- package/dist/nodes/agents/Agent/agents/ConversationalAgent/execute.d.ts +0 -2
- package/dist/nodes/agents/Agent/agents/ConversationalAgent/prompt.d.ts +0 -2
- package/dist/nodes/agents/Agent/agents/OpenAiFunctionsAgent/description.d.ts +0 -2
- package/dist/nodes/agents/Agent/agents/OpenAiFunctionsAgent/execute.d.ts +0 -2
- package/dist/nodes/agents/Agent/agents/OpenAiFunctionsAgent/prompt.d.ts +0 -1
- package/dist/nodes/agents/Agent/agents/PlanAndExecuteAgent/description.d.ts +0 -2
- package/dist/nodes/agents/Agent/agents/PlanAndExecuteAgent/execute.d.ts +0 -2
- package/dist/nodes/agents/Agent/agents/PlanAndExecuteAgent/prompt.d.ts +0 -1
- package/dist/nodes/agents/Agent/agents/ReActAgent/description.d.ts +0 -2
- package/dist/nodes/agents/Agent/agents/ReActAgent/execute.d.ts +0 -2
- package/dist/nodes/agents/Agent/agents/ReActAgent/prompt.d.ts +0 -4
- package/dist/nodes/agents/Agent/agents/SqlAgent/description.d.ts +0 -2
- package/dist/nodes/agents/Agent/agents/SqlAgent/execute.d.ts +0 -2
- package/dist/nodes/agents/Agent/agents/SqlAgent/other/handlers/mysql.d.ts +0 -3
- package/dist/nodes/agents/Agent/agents/SqlAgent/other/handlers/postgres.d.ts +0 -3
- package/dist/nodes/agents/Agent/agents/SqlAgent/other/handlers/sqlite.d.ts +0 -3
- package/dist/nodes/agents/Agent/agents/SqlAgent/other/prompts.d.ts +0 -2
- package/dist/nodes/agents/Agent/agents/ToolsAgent/description.d.ts +0 -2
- package/dist/nodes/agents/Agent/agents/ToolsAgent/execute.d.ts +0 -31
- package/dist/nodes/agents/Agent/agents/ToolsAgent/prompt.d.ts +0 -1
- package/dist/nodes/agents/Agent/agents/utils.d.ts +0 -8
- package/dist/nodes/agents/OpenAiAssistant/OpenAiAssistant.node.d.ts +0 -5
- package/dist/nodes/agents/OpenAiAssistant/utils.d.ts +0 -5
- package/dist/nodes/chains/ChainLLM/ChainLlm.node.d.ts +0 -5
- package/dist/nodes/chains/ChainLLM/methods/chainExecutor.d.ts +0 -19
- package/dist/nodes/chains/ChainLLM/methods/config.d.ts +0 -3
- package/dist/nodes/chains/ChainLLM/methods/imageUtils.d.ts +0 -12
- package/dist/nodes/chains/ChainLLM/methods/index.d.ts +0 -4
- package/dist/nodes/chains/ChainLLM/methods/promptUtils.d.ts +0 -3
- package/dist/nodes/chains/ChainLLM/methods/responseFormatter.d.ts +0 -2
- package/dist/nodes/chains/ChainLLM/methods/types.d.ts +0 -28
- package/dist/nodes/chains/ChainRetrievalQA/ChainRetrievalQa.node.d.ts +0 -5
- package/dist/nodes/chains/ChainSummarization/ChainSummarization.node.d.ts +0 -4
- package/dist/nodes/chains/ChainSummarization/V1/ChainSummarizationV1.node.d.ts +0 -6
- package/dist/nodes/chains/ChainSummarization/V2/ChainSummarizationV2.node.d.ts +0 -6
- package/dist/nodes/chains/ChainSummarization/helpers.d.ts +0 -9
- package/dist/nodes/chains/ChainSummarization/prompt.d.ts +0 -2
- package/dist/nodes/chains/InformationExtractor/InformationExtractor.node.d.ts +0 -5
- package/dist/nodes/chains/InformationExtractor/helpers.d.ts +0 -7
- package/dist/nodes/chains/InformationExtractor/types.d.ts +0 -6
- package/dist/nodes/chains/SentimentAnalysis/SentimentAnalysis.node.d.ts +0 -5
- package/dist/nodes/chains/TextClassifier/TextClassifier.node.d.ts +0 -5
- package/dist/nodes/code/Code.node.d.ts +0 -7
- package/dist/nodes/document_loaders/DocumentBinaryInputLoader/DocumentBinaryInputLoader.node.d.ts +0 -8
- package/dist/nodes/document_loaders/DocumentDefaultDataLoader/DocumentDefaultDataLoader.node.d.ts +0 -8
- package/dist/nodes/document_loaders/DocumentGithubLoader/DocumentGithubLoader.node.d.ts +0 -5
- package/dist/nodes/document_loaders/DocumentJSONInputLoader/DocumentJsonInputLoader.node.d.ts +0 -5
- package/dist/nodes/embeddings/EmbeddingsAwsBedrock/EmbeddingsAwsBedrock.node.d.ts +0 -5
- package/dist/nodes/embeddings/EmbeddingsAzureOpenAi/EmbeddingsAzureOpenAi.node.d.ts +0 -5
- package/dist/nodes/embeddings/EmbeddingsCohere/EmbeddingsCohere.node.d.ts +0 -5
- package/dist/nodes/embeddings/EmbeddingsGoogleGemini/EmbeddingsGoogleGemini.node.d.ts +0 -5
- package/dist/nodes/embeddings/EmbeddingsHuggingFaceInference/EmbeddingsHuggingFaceInference.node.d.ts +0 -5
- package/dist/nodes/embeddings/EmbeddingsMistralCloud/EmbeddingsMistralCloud.node.d.ts +0 -5
- package/dist/nodes/embeddings/EmbeddingsOllama/EmbeddingsOllama.node.d.ts +0 -5
- package/dist/nodes/embeddings/EmbeddingsOpenAI/EmbeddingsOpenAi.node.d.ts +0 -5
- package/dist/nodes/llms/LMChatAnthropic/LmChatAnthropic.node.d.ts +0 -11
- package/dist/nodes/llms/LMChatAnthropic/methods/searchModels.d.ts +0 -8
- package/dist/nodes/llms/LMChatOllama/LmChatOllama.node.d.ts +0 -5
- package/dist/nodes/llms/LMChatOpenAi/LmChatOpenAi.node.d.ts +0 -11
- package/dist/nodes/llms/LMChatOpenAi/methods/loadModels.d.ts +0 -2
- package/dist/nodes/llms/LMCohere/LmCohere.node.d.ts +0 -5
- package/dist/nodes/llms/LMOllama/LmOllama.node.d.ts +0 -5
- package/dist/nodes/llms/LMOllama/description.d.ts +0 -4
- package/dist/nodes/llms/LMOpenAi/LmOpenAi.node.d.ts +0 -15
- package/dist/nodes/llms/LMOpenHuggingFaceInference/LmOpenHuggingFaceInference.node.d.ts +0 -5
- package/dist/nodes/llms/LmChatAwsBedrock/LmChatAwsBedrock.node.d.ts +0 -5
- package/dist/nodes/llms/LmChatAzureOpenAi/LmChatAzureOpenAi.node.d.ts +0 -5
- package/dist/nodes/llms/LmChatDeepSeek/LmChatDeepSeek.node.d.ts +0 -5
- package/dist/nodes/llms/LmChatGoogleGemini/LmChatGoogleGemini.node.d.ts +0 -5
- package/dist/nodes/llms/LmChatGoogleVertex/LmChatGoogleVertex.node.d.ts +0 -15
- package/dist/nodes/llms/LmChatGoogleVertex/error-handling.d.ts +0 -8
- package/dist/nodes/llms/LmChatGroq/LmChatGroq.node.d.ts +0 -5
- package/dist/nodes/llms/LmChatMistralCloud/LmChatMistralCloud.node.d.ts +0 -5
- package/dist/nodes/llms/LmChatOpenRouter/LmChatOpenRouter.node.d.ts +0 -5
- package/dist/nodes/llms/LmChatXAiGrok/LmChatXAiGrok.node.d.ts +0 -5
- package/dist/nodes/llms/N8nLlmTracing.d.ts +0 -44
- package/dist/nodes/llms/gemini-common/additional-options.d.ts +0 -2
- package/dist/nodes/llms/gemini-common/safety-options.d.ts +0 -3
- package/dist/nodes/llms/n8nDefaultFailedAttemptHandler.d.ts +0 -1
- package/dist/nodes/llms/n8nLlmFailedAttemptHandler.d.ts +0 -3
- package/dist/nodes/memory/MemoryBufferWindow/MemoryBufferWindow.node.d.ts +0 -5
- package/dist/nodes/memory/MemoryChatRetriever/MemoryChatRetriever.node.d.ts +0 -5
- package/dist/nodes/memory/MemoryManager/MemoryManager.node.d.ts +0 -5
- package/dist/nodes/memory/MemoryMotorhead/MemoryMotorhead.node.d.ts +0 -5
- package/dist/nodes/memory/MemoryPostgresChat/MemoryPostgresChat.node.d.ts +0 -11
- package/dist/nodes/memory/MemoryRedisChat/MemoryRedisChat.node.d.ts +0 -5
- package/dist/nodes/memory/MemoryXata/MemoryXata.node.d.ts +0 -5
- package/dist/nodes/memory/MemoryZep/MemoryZep.node.d.ts +0 -5
- package/dist/nodes/memory/descriptions.d.ts +0 -5
- package/dist/nodes/output_parser/OutputParserAutofixing/OutputParserAutofixing.node.d.ts +0 -5
- package/dist/nodes/output_parser/OutputParserAutofixing/prompt.d.ts +0 -1
- package/dist/nodes/output_parser/OutputParserItemList/OutputParserItemList.node.d.ts +0 -5
- package/dist/nodes/output_parser/OutputParserStructured/OutputParserStructured.node.d.ts +0 -5
- package/dist/nodes/retrievers/RetrieverContextualCompression/RetrieverContextualCompression.node.d.ts +0 -5
- package/dist/nodes/retrievers/RetrieverMultiQuery/RetrieverMultiQuery.node.d.ts +0 -5
- package/dist/nodes/retrievers/RetrieverVectorStore/RetrieverVectorStore.node.d.ts +0 -5
- package/dist/nodes/retrievers/RetrieverWorkflow/RetrieverWorkflow.node.d.ts +0 -5
- package/dist/nodes/text_splitters/TextSplitterCharacterTextSplitter/TextSplitterCharacterTextSplitter.node.d.ts +0 -5
- package/dist/nodes/text_splitters/TextSplitterRecursiveCharacterTextSplitter/TextSplitterRecursiveCharacterTextSplitter.node.d.ts +0 -5
- package/dist/nodes/text_splitters/TextSplitterTokenSplitter/TextSplitterTokenSplitter.node.d.ts +0 -5
- package/dist/nodes/tools/ToolCalculator/ToolCalculator.node.d.ts +0 -5
- package/dist/nodes/tools/ToolCode/ToolCode.node.d.ts +0 -5
- package/dist/nodes/tools/ToolHttpRequest/ToolHttpRequest.node.d.ts +0 -5
- package/dist/nodes/tools/ToolHttpRequest/descriptions.d.ts +0 -7
- package/dist/nodes/tools/ToolHttpRequest/interfaces.d.ts +0 -20
- package/dist/nodes/tools/ToolHttpRequest/utils.d.ts +0 -25
- package/dist/nodes/tools/ToolSerpApi/ToolSerpApi.node.d.ts +0 -5
- package/dist/nodes/tools/ToolVectorStore/ToolVectorStore.node.d.ts +0 -5
- package/dist/nodes/tools/ToolWikipedia/ToolWikipedia.node.d.ts +0 -5
- package/dist/nodes/tools/ToolWolframAlpha/ToolWolframAlpha.node.d.ts +0 -5
- package/dist/nodes/tools/ToolWorkflow/ToolWorkflow.node.d.ts +0 -4
- package/dist/nodes/tools/ToolWorkflow/v1/ToolWorkflowV1.node.d.ts +0 -6
- package/dist/nodes/tools/ToolWorkflow/v1/versionDescription.d.ts +0 -2
- package/dist/nodes/tools/ToolWorkflow/v2/ToolWorkflowV2.node.d.ts +0 -10
- package/dist/nodes/tools/ToolWorkflow/v2/methods/index.d.ts +0 -1
- package/dist/nodes/tools/ToolWorkflow/v2/methods/localResourceMapping.d.ts +0 -2
- package/dist/nodes/tools/ToolWorkflow/v2/utils/WorkflowToolService.d.ts +0 -26
- package/dist/nodes/tools/ToolWorkflow/v2/versionDescription.d.ts +0 -2
- package/dist/nodes/trigger/ChatTrigger/ChatTrigger.node.d.ts +0 -7
- package/dist/nodes/trigger/ChatTrigger/GenericFunctions.d.ts +0 -2
- package/dist/nodes/trigger/ChatTrigger/constants.d.ts +0 -1
- package/dist/nodes/trigger/ChatTrigger/error.d.ts +0 -5
- package/dist/nodes/trigger/ChatTrigger/templates.d.ts +0 -16
- package/dist/nodes/trigger/ChatTrigger/types.d.ts +0 -2
- package/dist/nodes/trigger/ManualChatTrigger/ManualChatTrigger.node.d.ts +0 -5
- package/dist/nodes/vector_store/VectorStoreInMemory/VectorStoreInMemory.node.d.ts +0 -15
- package/dist/nodes/vector_store/VectorStoreInMemoryInsert/VectorStoreInMemoryInsert.node.d.ts +0 -5
- package/dist/nodes/vector_store/VectorStoreInMemoryLoad/VectorStoreInMemoryLoad.node.d.ts +0 -5
- package/dist/nodes/vector_store/VectorStoreMongoDBAtlas/VectorStoreMongoDBAtlas.node.d.ts +0 -16
- package/dist/nodes/vector_store/VectorStorePGVector/VectorStorePGVector.node.d.ts +0 -15
- package/dist/nodes/vector_store/VectorStorePinecone/VectorStorePinecone.node.d.ts +0 -15
- package/dist/nodes/vector_store/VectorStorePineconeInsert/VectorStorePineconeInsert.node.d.ts +0 -11
- package/dist/nodes/vector_store/VectorStorePineconeLoad/VectorStorePineconeLoad.node.d.ts +0 -11
- package/dist/nodes/vector_store/VectorStoreQdrant/VectorStoreQdrant.node.d.ts +0 -15
- package/dist/nodes/vector_store/VectorStoreSupabase/VectorStoreSupabase.node.d.ts +0 -15
- package/dist/nodes/vector_store/VectorStoreSupabaseInsert/VectorStoreSupabaseInsert.node.d.ts +0 -11
- package/dist/nodes/vector_store/VectorStoreSupabaseLoad/VectorStoreSupabaseLoad.node.d.ts +0 -11
- package/dist/nodes/vector_store/VectorStoreZep/VectorStoreZep.node.d.ts +0 -15
- package/dist/nodes/vector_store/VectorStoreZepInsert/VectorStoreZepInsert.node.d.ts +0 -5
- package/dist/nodes/vector_store/VectorStoreZepLoad/VectorStoreZepLoad.node.d.ts +0 -5
- package/dist/nodes/vector_store/shared/MemoryManager/MemoryCalculator.d.ts +0 -7
- package/dist/nodes/vector_store/shared/MemoryManager/MemoryVectorStoreManager.d.ts +0 -32
- package/dist/nodes/vector_store/shared/MemoryManager/StoreCleanupService.d.ts +0 -16
- package/dist/nodes/vector_store/shared/MemoryManager/config.d.ts +0 -4
- package/dist/nodes/vector_store/shared/MemoryManager/types.d.ts +0 -39
- package/dist/nodes/vector_store/shared/createVectorStoreNode/constants.d.ts +0 -4
- package/dist/nodes/vector_store/shared/createVectorStoreNode/createVectorStoreNode.d.ts +0 -15
- package/dist/nodes/vector_store/shared/createVectorStoreNode/methods/listSearch.d.ts +0 -19
- package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/index.d.ts +0 -5
- package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/insertOperation.d.ts +0 -5
- package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/loadOperation.d.ts +0 -5
- package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/retrieveAsToolOperation.d.ts +0 -5
- package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/retrieveOperation.d.ts +0 -5
- package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/updateOperation.d.ts +0 -5
- package/dist/nodes/vector_store/shared/createVectorStoreNode/types.d.ts +0 -31
- package/dist/nodes/vector_store/shared/createVectorStoreNode/utils.d.ts +0 -6
- package/dist/nodes/vector_store/shared/descriptions.d.ts +0 -4
- package/dist/nodes/vector_store/shared/processDocuments.d.ts +0 -25
- package/dist/nodes/vendors/OpenAi/OpenAi.node.d.ts +0 -10
- package/dist/nodes/vendors/OpenAi/actions/assistant/create.operation.d.ts +0 -26
- package/dist/nodes/vendors/OpenAi/actions/assistant/deleteAssistant.operation.d.ts +0 -26
- package/dist/nodes/vendors/OpenAi/actions/assistant/index.d.ts +0 -8
- package/dist/nodes/vendors/OpenAi/actions/assistant/list.operation.d.ts +0 -26
- package/dist/nodes/vendors/OpenAi/actions/assistant/message.operation.d.ts +0 -26
- package/dist/nodes/vendors/OpenAi/actions/assistant/update.operation.d.ts +0 -26
- package/dist/nodes/vendors/OpenAi/actions/audio/generate.operation.d.ts +0 -26
- package/dist/nodes/vendors/OpenAi/actions/audio/index.d.ts +0 -6
- package/dist/nodes/vendors/OpenAi/actions/audio/transcribe.operation.d.ts +0 -26
- package/dist/nodes/vendors/OpenAi/actions/audio/translate.operation.d.ts +0 -26
- package/dist/nodes/vendors/OpenAi/actions/descriptions.d.ts +0 -3
- package/dist/nodes/vendors/OpenAi/actions/file/deleteFile.operation.d.ts +0 -26
- package/dist/nodes/vendors/OpenAi/actions/file/index.d.ts +0 -6
- package/dist/nodes/vendors/OpenAi/actions/file/list.operation.d.ts +0 -26
- package/dist/nodes/vendors/OpenAi/actions/file/upload.operation.d.ts +0 -26
- package/dist/nodes/vendors/OpenAi/actions/image/analyze.operation.d.ts +0 -26
- package/dist/nodes/vendors/OpenAi/actions/image/generate.operation.d.ts +0 -26
- package/dist/nodes/vendors/OpenAi/actions/image/index.d.ts +0 -5
- package/dist/nodes/vendors/OpenAi/actions/node.type.d.ts +0 -10
- package/dist/nodes/vendors/OpenAi/actions/router.d.ts +0 -2
- package/dist/nodes/vendors/OpenAi/actions/text/classify.operation.d.ts +0 -26
- package/dist/nodes/vendors/OpenAi/actions/text/index.d.ts +0 -5
- package/dist/nodes/vendors/OpenAi/actions/text/message.operation.d.ts +0 -26
- package/dist/nodes/vendors/OpenAi/actions/versionDescription.d.ts +0 -2
- package/dist/nodes/vendors/OpenAi/helpers/constants.d.ts +0 -1
- package/dist/nodes/vendors/OpenAi/helpers/error-handling.d.ts +0 -4
- package/dist/nodes/vendors/OpenAi/helpers/interfaces.d.ts +0 -55
- package/dist/nodes/vendors/OpenAi/helpers/utils.d.ts +0 -8
- package/dist/nodes/vendors/OpenAi/methods/index.d.ts +0 -2
- package/dist/nodes/vendors/OpenAi/methods/listSearch.d.ts +0 -5
- package/dist/nodes/vendors/OpenAi/methods/loadOptions.d.ts +0 -2
- package/dist/nodes/vendors/OpenAi/transport/index.d.ts +0 -10
- package/dist/types/types.d.ts +0 -4
- package/dist/types/zod.types.d.ts +0 -2
- package/dist/utils/N8nBinaryLoader.d.ts +0 -18
- package/dist/utils/N8nJsonLoader.d.ts +0 -11
- package/dist/utils/N8nTool.d.ts +0 -10
- package/dist/utils/descriptions.d.ts +0 -13
- package/dist/utils/helpers.d.ts +0 -23
- package/dist/utils/logWrapper.d.ts +0 -27
- package/dist/utils/output_parsers/N8nItemListOutputParser.d.ts +0 -13
- package/dist/utils/output_parsers/N8nOutputFixingParser.d.ts +0 -18
- package/dist/utils/output_parsers/N8nOutputParser.d.ts +0 -7
- package/dist/utils/output_parsers/N8nStructuredOutputParser.d.ts +0 -12
- package/dist/utils/schemaParsing.d.ts +0 -6
- package/dist/utils/sharedFields.d.ts +0 -6
- package/dist/utils/tracing.d.ts +0 -7
|
@@ -1,6 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty
|
|
3
|
-
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var MemoryCalculator_exports = {};
|
|
20
|
+
__export(MemoryCalculator_exports, {
|
|
21
|
+
MemoryCalculator: () => MemoryCalculator
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(MemoryCalculator_exports);
|
|
4
24
|
const FLOAT_SIZE_BYTES = 8;
|
|
5
25
|
const CHAR_SIZE_BYTES = 2;
|
|
6
26
|
const VECTOR_OVERHEAD_BYTES = 200;
|
|
@@ -8,43 +28,51 @@ const EMBEDDING_DIMENSIONS = 1536;
|
|
|
8
28
|
const EMBEDDING_SIZE_BYTES = EMBEDDING_DIMENSIONS * FLOAT_SIZE_BYTES;
|
|
9
29
|
const AVG_METADATA_SIZE_BYTES = 100;
|
|
10
30
|
class MemoryCalculator {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
31
|
+
/**
|
|
32
|
+
* Fast batch size estimation for multiple documents
|
|
33
|
+
*/
|
|
34
|
+
estimateBatchSize(documents) {
|
|
35
|
+
if (documents.length === 0) return 0;
|
|
36
|
+
let totalContentSize = 0;
|
|
37
|
+
let totalMetadataSize = 0;
|
|
38
|
+
for (const doc of documents) {
|
|
39
|
+
if (doc.pageContent) {
|
|
40
|
+
totalContentSize += doc.pageContent.length * CHAR_SIZE_BYTES;
|
|
41
|
+
}
|
|
42
|
+
if (doc.metadata) {
|
|
43
|
+
const metadataKeys = Object.keys(doc.metadata).length;
|
|
44
|
+
if (metadataKeys > 0) {
|
|
45
|
+
totalMetadataSize += metadataKeys * AVG_METADATA_SIZE_BYTES;
|
|
26
46
|
}
|
|
27
|
-
|
|
28
|
-
const overhead = documents.length * VECTOR_OVERHEAD_BYTES;
|
|
29
|
-
const calculatedSize = totalContentSize + totalMetadataSize + embeddingSize + overhead;
|
|
30
|
-
return Math.ceil(calculatedSize);
|
|
47
|
+
}
|
|
31
48
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
49
|
+
const embeddingSize = documents.length * EMBEDDING_SIZE_BYTES;
|
|
50
|
+
const overhead = documents.length * VECTOR_OVERHEAD_BYTES;
|
|
51
|
+
const calculatedSize = totalContentSize + totalMetadataSize + embeddingSize + overhead;
|
|
52
|
+
return Math.ceil(calculatedSize);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Calculate the size of a vector store by examining its contents
|
|
56
|
+
*/
|
|
57
|
+
calculateVectorStoreSize(vectorStore) {
|
|
58
|
+
if (!vectorStore.memoryVectors || vectorStore.memoryVectors.length === 0) {
|
|
59
|
+
return 0;
|
|
60
|
+
}
|
|
61
|
+
let storeSize = 0;
|
|
62
|
+
for (const vector of vectorStore.memoryVectors) {
|
|
63
|
+
storeSize += vector.embedding.length * FLOAT_SIZE_BYTES;
|
|
64
|
+
storeSize += vector.content ? vector.content.length * CHAR_SIZE_BYTES : 0;
|
|
65
|
+
if (vector.metadata) {
|
|
66
|
+
const metadataStr = JSON.stringify(vector.metadata);
|
|
67
|
+
storeSize += metadataStr.length * CHAR_SIZE_BYTES;
|
|
68
|
+
}
|
|
69
|
+
storeSize += VECTOR_OVERHEAD_BYTES;
|
|
47
70
|
}
|
|
71
|
+
return Math.ceil(storeSize);
|
|
72
|
+
}
|
|
48
73
|
}
|
|
49
|
-
|
|
74
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
75
|
+
0 && (module.exports = {
|
|
76
|
+
MemoryCalculator
|
|
77
|
+
});
|
|
50
78
|
//# sourceMappingURL=MemoryCalculator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../nodes/vector_store/shared/MemoryManager/MemoryCalculator.ts"],"sourcesContent":["import type { Document } from '@langchain/core/documents';\nimport type { MemoryVectorStore } from 'langchain/vectorstores/memory';\n\nimport type { IMemoryCalculator } from './types';\n\n// Memory estimation constants\nconst FLOAT_SIZE_BYTES = 8; // Size of a float64 in bytes\nconst CHAR_SIZE_BYTES = 2; // Size of a JavaScript character in bytes(2 bytes per character in UTF-16)\nconst VECTOR_OVERHEAD_BYTES = 200; // Estimated overhead per vector\nconst EMBEDDING_DIMENSIONS = 1536; // Fixed embedding dimensions\nconst EMBEDDING_SIZE_BYTES = EMBEDDING_DIMENSIONS * FLOAT_SIZE_BYTES;\nconst AVG_METADATA_SIZE_BYTES = 100; // Average size for simple metadata\n\n/**\n * Calculates memory usage for vector stores and documents\n */\nexport class MemoryCalculator implements IMemoryCalculator {\n\t/**\n\t * Fast batch size estimation for multiple documents\n\t */\n\testimateBatchSize(documents: Document[]): number {\n\t\tif (documents.length === 0) return 0;\n\n\t\tlet totalContentSize = 0;\n\t\tlet totalMetadataSize = 0;\n\n\t\t// Single pass through documents for content and metadata estimation\n\t\tfor (const doc of documents) {\n\t\t\tif (doc.pageContent) {\n\t\t\t\ttotalContentSize += doc.pageContent.length * CHAR_SIZE_BYTES;\n\t\t\t}\n\n\t\t\t// Metadata size estimation\n\t\t\tif (doc.metadata) {\n\t\t\t\t// For simple objects, estimate based on key count\n\t\t\t\tconst metadataKeys = Object.keys(doc.metadata).length;\n\t\t\t\tif (metadataKeys > 0) {\n\t\t\t\t\t// For each key, estimate the key name plus a typical value\n\t\t\t\t\t// plus some overhead for object structure\n\t\t\t\t\ttotalMetadataSize += metadataKeys * AVG_METADATA_SIZE_BYTES;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Fixed size components (embedding vectors and overhead)\n\t\t// Each embedding is a fixed-size array of floating point numbers\n\t\tconst embeddingSize = documents.length * EMBEDDING_SIZE_BYTES;\n\n\t\t// Object overhead, each vector is stored with additional JS object structure\n\t\tconst overhead = documents.length * VECTOR_OVERHEAD_BYTES;\n\n\t\t// Calculate total batch size with a safety factor to avoid underestimation\n\t\tconst calculatedSize = totalContentSize + totalMetadataSize + embeddingSize + overhead;\n\n\t\treturn Math.ceil(calculatedSize);\n\t}\n\n\t/**\n\t * Calculate the size of a vector store by examining its contents\n\t */\n\tcalculateVectorStoreSize(vectorStore: MemoryVectorStore): number {\n\t\tif (!vectorStore.memoryVectors || vectorStore.memoryVectors.length === 0) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tlet storeSize = 0;\n\n\t\t// Calculate size of each vector\n\t\tfor (const vector of vectorStore.memoryVectors) {\n\t\t\t// Size of embedding (float64 array)\n\t\t\tstoreSize += vector.embedding.length * FLOAT_SIZE_BYTES;\n\n\t\t\t// Size of content string (2 bytes per character in JS)\n\t\t\tstoreSize += vector.content ? vector.content.length * CHAR_SIZE_BYTES : 0;\n\n\t\t\t// Estimate metadata size\n\t\t\tif (vector.metadata) {\n\t\t\t\t// Use a more accurate calculation for metadata\n\t\t\t\tconst metadataStr = JSON.stringify(vector.metadata);\n\t\t\t\tstoreSize += metadataStr.length * CHAR_SIZE_BYTES;\n\t\t\t}\n\n\t\t\t// Add overhead for object structure\n\t\t\tstoreSize += VECTOR_OVERHEAD_BYTES;\n\t\t}\n\n\t\treturn Math.ceil(storeSize);\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,MAAM,mBAAmB;AACzB,MAAM,kBAAkB;AACxB,MAAM,wBAAwB;AAC9B,MAAM,uBAAuB;AAC7B,MAAM,uBAAuB,uBAAuB;AACpD,MAAM,0BAA0B;AAKzB,MAAM,iBAA8C;AAAA;AAAA;AAAA;AAAA,EAI1D,kBAAkB,WAA+B;AAChD,QAAI,UAAU,WAAW,EAAG,QAAO;AAEnC,QAAI,mBAAmB;AACvB,QAAI,oBAAoB;AAGxB,eAAW,OAAO,WAAW;AAC5B,UAAI,IAAI,aAAa;AACpB,4BAAoB,IAAI,YAAY,SAAS;AAAA,MAC9C;AAGA,UAAI,IAAI,UAAU;AAEjB,cAAM,eAAe,OAAO,KAAK,IAAI,QAAQ,EAAE;AAC/C,YAAI,eAAe,GAAG;AAGrB,+BAAqB,eAAe;AAAA,QACrC;AAAA,MACD;AAAA,IACD;AAIA,UAAM,gBAAgB,UAAU,SAAS;AAGzC,UAAM,WAAW,UAAU,SAAS;AAGpC,UAAM,iBAAiB,mBAAmB,oBAAoB,gBAAgB;AAE9E,WAAO,KAAK,KAAK,cAAc;AAAA,EAChC;AAAA;AAAA;AAAA;AAAA,EAKA,yBAAyB,aAAwC;AAChE,QAAI,CAAC,YAAY,iBAAiB,YAAY,cAAc,WAAW,GAAG;AACzE,aAAO;AAAA,IACR;AAEA,QAAI,YAAY;AAGhB,eAAW,UAAU,YAAY,eAAe;AAE/C,mBAAa,OAAO,UAAU,SAAS;AAGvC,mBAAa,OAAO,UAAU,OAAO,QAAQ,SAAS,kBAAkB;AAGxE,UAAI,OAAO,UAAU;AAEpB,cAAM,cAAc,KAAK,UAAU,OAAO,QAAQ;AAClD,qBAAa,YAAY,SAAS;AAAA,MACnC;AAGA,mBAAa;AAAA,IACd;AAEA,WAAO,KAAK,KAAK,SAAS;AAAA,EAC3B;AACD;","names":[]}
|
|
@@ -1,173 +1,234 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var MemoryVectorStoreManager_exports = {};
|
|
20
|
+
__export(MemoryVectorStoreManager_exports, {
|
|
21
|
+
MemoryVectorStoreManager: () => MemoryVectorStoreManager
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(MemoryVectorStoreManager_exports);
|
|
24
|
+
var import_memory = require("langchain/vectorstores/memory");
|
|
25
|
+
var import_config = require("./config");
|
|
26
|
+
var import_MemoryCalculator = require("./MemoryCalculator");
|
|
27
|
+
var import_StoreCleanupService = require("./StoreCleanupService");
|
|
28
|
+
const _MemoryVectorStoreManager = class _MemoryVectorStoreManager {
|
|
29
|
+
constructor(embeddings, logger) {
|
|
30
|
+
this.embeddings = embeddings;
|
|
31
|
+
this.logger = logger;
|
|
32
|
+
this.memoryUsageBytes = 0;
|
|
33
|
+
// Inactive TTL cleanup timer
|
|
34
|
+
this.ttlCleanupIntervalId = null;
|
|
35
|
+
this.vectorStoreBuffer = /* @__PURE__ */ new Map();
|
|
36
|
+
this.storeMetadata = /* @__PURE__ */ new Map();
|
|
37
|
+
this.logger = logger;
|
|
38
|
+
const config = (0, import_config.getConfig)();
|
|
39
|
+
this.maxMemorySizeBytes = (0, import_config.mbToBytes)(config.maxMemoryMB);
|
|
40
|
+
this.inactiveTtlMs = (0, import_config.hoursToMs)(config.ttlHours);
|
|
41
|
+
this.memoryCalculator = new import_MemoryCalculator.MemoryCalculator();
|
|
42
|
+
this.cleanupService = new import_StoreCleanupService.StoreCleanupService(
|
|
43
|
+
this.maxMemorySizeBytes,
|
|
44
|
+
this.inactiveTtlMs,
|
|
45
|
+
this.vectorStoreBuffer,
|
|
46
|
+
this.storeMetadata,
|
|
47
|
+
this.handleCleanup.bind(this)
|
|
48
|
+
);
|
|
49
|
+
this.setupTtlCleanup();
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Get singleton instance
|
|
53
|
+
*/
|
|
54
|
+
static getInstance(embeddings, logger) {
|
|
55
|
+
if (!_MemoryVectorStoreManager.instance) {
|
|
56
|
+
_MemoryVectorStoreManager.instance = new _MemoryVectorStoreManager(embeddings, logger);
|
|
57
|
+
} else {
|
|
58
|
+
_MemoryVectorStoreManager.instance.embeddings = embeddings;
|
|
59
|
+
_MemoryVectorStoreManager.instance.vectorStoreBuffer.forEach((vectorStoreInstance) => {
|
|
60
|
+
vectorStoreInstance.embeddings = embeddings;
|
|
61
|
+
});
|
|
23
62
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
return MemoryVectorStoreManager.instance;
|
|
63
|
+
return _MemoryVectorStoreManager.instance;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Set up timer for TTL-based cleanup
|
|
67
|
+
*/
|
|
68
|
+
setupTtlCleanup() {
|
|
69
|
+
if (this.inactiveTtlMs <= 0) {
|
|
70
|
+
return;
|
|
35
71
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
const CLEANUP_INTERVAL_MS = 60 * 60 * 1000;
|
|
41
|
-
if (this.ttlCleanupIntervalId) {
|
|
42
|
-
clearInterval(this.ttlCleanupIntervalId);
|
|
43
|
-
}
|
|
44
|
-
this.ttlCleanupIntervalId = setInterval(() => {
|
|
45
|
-
this.cleanupService.cleanupInactiveStores();
|
|
46
|
-
}, CLEANUP_INTERVAL_MS);
|
|
72
|
+
const CLEANUP_INTERVAL_MS = 60 * 60 * 1e3;
|
|
73
|
+
if (this.ttlCleanupIntervalId) {
|
|
74
|
+
clearInterval(this.ttlCleanupIntervalId);
|
|
47
75
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
76
|
+
this.ttlCleanupIntervalId = setInterval(() => {
|
|
77
|
+
this.cleanupService.cleanupInactiveStores();
|
|
78
|
+
}, CLEANUP_INTERVAL_MS);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Handle cleanup events from the cleanup service
|
|
82
|
+
*/
|
|
83
|
+
handleCleanup(removedKeys, freedBytes, reason) {
|
|
84
|
+
this.memoryUsageBytes -= freedBytes;
|
|
85
|
+
if (reason === "ttl") {
|
|
86
|
+
const ttlHours = Math.round(this.inactiveTtlMs / (60 * 60 * 1e3));
|
|
87
|
+
this.logger.info(
|
|
88
|
+
`TTL cleanup: removed ${removedKeys.length} inactive vector stores (${ttlHours}h TTL) to free ${Math.round(freedBytes / (1024 * 1024))}MB of memory`
|
|
89
|
+
);
|
|
90
|
+
} else {
|
|
91
|
+
this.logger.info(
|
|
92
|
+
`Memory cleanup: removed ${removedKeys.length} oldest vector stores to free ${Math.round(freedBytes / (1024 * 1024))}MB of memory`
|
|
93
|
+
);
|
|
57
94
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Get or create a vector store by key
|
|
98
|
+
*/
|
|
99
|
+
async getVectorStore(memoryKey) {
|
|
100
|
+
let vectorStoreInstance = this.vectorStoreBuffer.get(memoryKey);
|
|
101
|
+
if (!vectorStoreInstance) {
|
|
102
|
+
vectorStoreInstance = await import_memory.MemoryVectorStore.fromExistingIndex(this.embeddings);
|
|
103
|
+
this.vectorStoreBuffer.set(memoryKey, vectorStoreInstance);
|
|
104
|
+
this.storeMetadata.set(memoryKey, {
|
|
105
|
+
size: 0,
|
|
106
|
+
createdAt: /* @__PURE__ */ new Date(),
|
|
107
|
+
lastAccessed: /* @__PURE__ */ new Date()
|
|
108
|
+
});
|
|
109
|
+
} else {
|
|
110
|
+
const metadata = this.storeMetadata.get(memoryKey);
|
|
111
|
+
if (metadata) {
|
|
112
|
+
metadata.lastAccessed = /* @__PURE__ */ new Date();
|
|
113
|
+
}
|
|
76
114
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
115
|
+
return vectorStoreInstance;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Reset a store's metadata when it's cleared
|
|
119
|
+
*/
|
|
120
|
+
clearStoreMetadata(memoryKey) {
|
|
121
|
+
const metadata = this.storeMetadata.get(memoryKey);
|
|
122
|
+
if (metadata) {
|
|
123
|
+
this.memoryUsageBytes -= metadata.size;
|
|
124
|
+
metadata.size = 0;
|
|
125
|
+
metadata.lastAccessed = /* @__PURE__ */ new Date();
|
|
84
126
|
}
|
|
85
|
-
|
|
86
|
-
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Get memory usage in bytes
|
|
130
|
+
*/
|
|
131
|
+
getMemoryUsage() {
|
|
132
|
+
return this.memoryUsageBytes;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Get memory usage as a formatted string (MB)
|
|
136
|
+
*/
|
|
137
|
+
getMemoryUsageFormatted() {
|
|
138
|
+
return `${Math.round(this.memoryUsageBytes / (1024 * 1024))}MB`;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Recalculate memory usage from actual vector store contents
|
|
142
|
+
* This ensures tracking accuracy for large stores
|
|
143
|
+
*/
|
|
144
|
+
recalculateMemoryUsage() {
|
|
145
|
+
this.memoryUsageBytes = 0;
|
|
146
|
+
for (const [key, vectorStore] of this.vectorStoreBuffer.entries()) {
|
|
147
|
+
const storeSize = this.memoryCalculator.calculateVectorStoreSize(vectorStore);
|
|
148
|
+
const metadata = this.storeMetadata.get(key);
|
|
149
|
+
if (metadata) {
|
|
150
|
+
metadata.size = storeSize;
|
|
151
|
+
this.memoryUsageBytes += storeSize;
|
|
152
|
+
}
|
|
87
153
|
}
|
|
88
|
-
getMemoryUsageFormatted()
|
|
89
|
-
|
|
154
|
+
this.logger.debug(`Recalculated vector store memory: ${this.getMemoryUsageFormatted()}`);
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Add documents to a vector store
|
|
158
|
+
*/
|
|
159
|
+
async addDocuments(memoryKey, documents, clearStore) {
|
|
160
|
+
if (clearStore) {
|
|
161
|
+
this.clearStoreMetadata(memoryKey);
|
|
162
|
+
this.vectorStoreBuffer.delete(memoryKey);
|
|
90
163
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
this.logger.debug(`Recalculated vector store memory: ${this.getMemoryUsageFormatted()}`);
|
|
164
|
+
const estimatedAddedSize = this.memoryCalculator.estimateBatchSize(documents);
|
|
165
|
+
this.cleanupService.cleanupOldestStores(estimatedAddedSize);
|
|
166
|
+
const vectorStoreInstance = await this.getVectorStore(memoryKey);
|
|
167
|
+
const vectorCountBefore = vectorStoreInstance.memoryVectors?.length || 0;
|
|
168
|
+
await vectorStoreInstance.addDocuments(documents);
|
|
169
|
+
const metadata = this.storeMetadata.get(memoryKey);
|
|
170
|
+
if (metadata) {
|
|
171
|
+
metadata.size += estimatedAddedSize;
|
|
172
|
+
metadata.lastAccessed = /* @__PURE__ */ new Date();
|
|
173
|
+
this.memoryUsageBytes += estimatedAddedSize;
|
|
102
174
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
this.vectorStoreBuffer.delete(memoryKey);
|
|
107
|
-
}
|
|
108
|
-
const estimatedAddedSize = this.memoryCalculator.estimateBatchSize(documents);
|
|
109
|
-
this.cleanupService.cleanupOldestStores(estimatedAddedSize);
|
|
110
|
-
const vectorStoreInstance = await this.getVectorStore(memoryKey);
|
|
111
|
-
const vectorCountBefore = vectorStoreInstance.memoryVectors?.length || 0;
|
|
112
|
-
await vectorStoreInstance.addDocuments(documents);
|
|
113
|
-
const metadata = this.storeMetadata.get(memoryKey);
|
|
114
|
-
if (metadata) {
|
|
115
|
-
metadata.size += estimatedAddedSize;
|
|
116
|
-
metadata.lastAccessed = new Date();
|
|
117
|
-
this.memoryUsageBytes += estimatedAddedSize;
|
|
118
|
-
}
|
|
119
|
-
const vectorCount = vectorStoreInstance.memoryVectors?.length || 0;
|
|
120
|
-
if ((vectorCount > 0 && vectorCount % 100 === 0) ||
|
|
121
|
-
documents.length > 20 ||
|
|
122
|
-
(vectorCountBefore === 0 && vectorCount > 0)) {
|
|
123
|
-
this.recalculateMemoryUsage();
|
|
124
|
-
}
|
|
125
|
-
const maxMemoryMB = this.maxMemorySizeBytes > 0
|
|
126
|
-
? (this.maxMemorySizeBytes / (1024 * 1024)).toFixed(0)
|
|
127
|
-
: 'unlimited';
|
|
128
|
-
this.logger.debug(`Vector store memory: ${this.getMemoryUsageFormatted()}/${maxMemoryMB}MB (${vectorCount} vectors in ${this.vectorStoreBuffer.size} stores)`);
|
|
175
|
+
const vectorCount = vectorStoreInstance.memoryVectors?.length || 0;
|
|
176
|
+
if (vectorCount > 0 && vectorCount % 100 === 0 || documents.length > 20 || vectorCountBefore === 0 && vectorCount > 0) {
|
|
177
|
+
this.recalculateMemoryUsage();
|
|
129
178
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
inactive: isInactive,
|
|
163
|
-
inactiveForHours: Math.round(inactiveTimeMs / (60 * 60 * 1000)),
|
|
164
|
-
};
|
|
165
|
-
}
|
|
179
|
+
const maxMemoryMB = this.maxMemorySizeBytes > 0 ? (this.maxMemorySizeBytes / (1024 * 1024)).toFixed(0) : "unlimited";
|
|
180
|
+
this.logger.debug(
|
|
181
|
+
`Vector store memory: ${this.getMemoryUsageFormatted()}/${maxMemoryMB}MB (${vectorCount} vectors in ${this.vectorStoreBuffer.size} stores)`
|
|
182
|
+
);
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Get statistics about the vector store memory usage
|
|
186
|
+
*/
|
|
187
|
+
getStats() {
|
|
188
|
+
const now = Date.now();
|
|
189
|
+
let inactiveStoreCount = 0;
|
|
190
|
+
this.recalculateMemoryUsage();
|
|
191
|
+
const stats = {
|
|
192
|
+
totalSizeBytes: this.memoryUsageBytes,
|
|
193
|
+
totalSizeMB: Math.round(this.memoryUsageBytes / (1024 * 1024) * 100) / 100,
|
|
194
|
+
percentOfLimit: this.maxMemorySizeBytes > 0 ? Math.round(this.memoryUsageBytes / this.maxMemorySizeBytes * 100) : 0,
|
|
195
|
+
maxMemoryMB: this.maxMemorySizeBytes > 0 ? this.maxMemorySizeBytes / (1024 * 1024) : -1,
|
|
196
|
+
// -1 indicates unlimited
|
|
197
|
+
storeCount: this.vectorStoreBuffer.size,
|
|
198
|
+
inactiveStoreCount: 0,
|
|
199
|
+
ttlHours: this.inactiveTtlMs > 0 ? this.inactiveTtlMs / (60 * 60 * 1e3) : -1,
|
|
200
|
+
// -1 indicates disabled
|
|
201
|
+
stores: {}
|
|
202
|
+
};
|
|
203
|
+
for (const [key, metadata] of this.storeMetadata.entries()) {
|
|
204
|
+
const store = this.vectorStoreBuffer.get(key);
|
|
205
|
+
if (store) {
|
|
206
|
+
const lastAccessedTime = metadata.lastAccessed.getTime();
|
|
207
|
+
const inactiveTimeMs = now - lastAccessedTime;
|
|
208
|
+
const isInactive = this.cleanupService.isStoreInactive(metadata);
|
|
209
|
+
if (isInactive) {
|
|
210
|
+
inactiveStoreCount++;
|
|
166
211
|
}
|
|
167
|
-
stats.
|
|
168
|
-
|
|
212
|
+
stats.stores[key] = {
|
|
213
|
+
sizeBytes: metadata.size,
|
|
214
|
+
sizeMB: Math.round(metadata.size / (1024 * 1024) * 100) / 100,
|
|
215
|
+
percentOfTotal: Math.round(metadata.size / this.memoryUsageBytes * 100) || 0,
|
|
216
|
+
vectors: store.memoryVectors?.length || 0,
|
|
217
|
+
createdAt: metadata.createdAt.toISOString(),
|
|
218
|
+
lastAccessed: metadata.lastAccessed.toISOString(),
|
|
219
|
+
inactive: isInactive,
|
|
220
|
+
inactiveForHours: Math.round(inactiveTimeMs / (60 * 60 * 1e3))
|
|
221
|
+
};
|
|
222
|
+
}
|
|
169
223
|
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
224
|
+
stats.inactiveStoreCount = inactiveStoreCount;
|
|
225
|
+
return stats;
|
|
226
|
+
}
|
|
227
|
+
};
|
|
228
|
+
_MemoryVectorStoreManager.instance = null;
|
|
229
|
+
let MemoryVectorStoreManager = _MemoryVectorStoreManager;
|
|
230
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
231
|
+
0 && (module.exports = {
|
|
232
|
+
MemoryVectorStoreManager
|
|
233
|
+
});
|
|
173
234
|
//# sourceMappingURL=MemoryVectorStoreManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryVectorStoreManager.js","sourceRoot":"","sources":["../../../../../nodes/vector_store/shared/MemoryManager/MemoryVectorStoreManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../nodes/vector_store/shared/MemoryManager/MemoryVectorStoreManager.ts"],"sourcesContent":["import type { Document } from '@langchain/core/documents';\nimport type { Embeddings } from '@langchain/core/embeddings';\nimport { MemoryVectorStore } from 'langchain/vectorstores/memory';\nimport type { Logger } from 'n8n-workflow';\n\nimport { getConfig, mbToBytes, hoursToMs } from './config';\nimport { MemoryCalculator } from './MemoryCalculator';\nimport { StoreCleanupService } from './StoreCleanupService';\nimport type { VectorStoreMetadata, VectorStoreStats } from './types';\n\n/**\n * Manages in-memory vector stores with memory limits and auto-cleanup\n */\nexport class MemoryVectorStoreManager {\n\tprivate static instance: MemoryVectorStoreManager | null = null;\n\n\t// Storage\n\tprotected vectorStoreBuffer: Map<string, MemoryVectorStore>;\n\n\tprotected storeMetadata: Map<string, VectorStoreMetadata>;\n\n\tprotected memoryUsageBytes: number = 0;\n\n\t// Dependencies\n\tprotected memoryCalculator: MemoryCalculator;\n\n\tprotected cleanupService: StoreCleanupService;\n\n\tprotected static logger: Logger;\n\n\t// Config values\n\tprotected maxMemorySizeBytes: number;\n\n\tprotected inactiveTtlMs: number;\n\n\t// Inactive TTL cleanup timer\n\tprotected ttlCleanupIntervalId: NodeJS.Timeout | null = null;\n\n\tprotected constructor(\n\t\tprotected embeddings: Embeddings,\n\t\tprotected logger: Logger,\n\t) {\n\t\t// Initialize storage\n\t\tthis.vectorStoreBuffer = new Map();\n\t\tthis.storeMetadata = new Map();\n\t\tthis.logger = logger;\n\n\t\tconst config = getConfig();\n\t\tthis.maxMemorySizeBytes = mbToBytes(config.maxMemoryMB);\n\t\tthis.inactiveTtlMs = hoursToMs(config.ttlHours);\n\n\t\t// Initialize services\n\t\tthis.memoryCalculator = new MemoryCalculator();\n\t\tthis.cleanupService = new StoreCleanupService(\n\t\t\tthis.maxMemorySizeBytes,\n\t\t\tthis.inactiveTtlMs,\n\t\t\tthis.vectorStoreBuffer,\n\t\t\tthis.storeMetadata,\n\t\t\tthis.handleCleanup.bind(this),\n\t\t);\n\n\t\tthis.setupTtlCleanup();\n\t}\n\n\t/**\n\t * Get singleton instance\n\t */\n\tstatic getInstance(embeddings: Embeddings, logger: Logger): MemoryVectorStoreManager {\n\t\tif (!MemoryVectorStoreManager.instance) {\n\t\t\tMemoryVectorStoreManager.instance = new MemoryVectorStoreManager(embeddings, logger);\n\t\t} else {\n\t\t\t// We need to update the embeddings in the existing instance.\n\t\t\t// This is important as embeddings instance is wrapped in a logWrapper,\n\t\t\t// which relies on supplyDataFunctions context which changes on each workflow run\n\t\t\tMemoryVectorStoreManager.instance.embeddings = embeddings;\n\t\t\tMemoryVectorStoreManager.instance.vectorStoreBuffer.forEach((vectorStoreInstance) => {\n\t\t\t\tvectorStoreInstance.embeddings = embeddings;\n\t\t\t});\n\t\t}\n\n\t\treturn MemoryVectorStoreManager.instance;\n\t}\n\n\t/**\n\t * Set up timer for TTL-based cleanup\n\t */\n\tprivate setupTtlCleanup(): void {\n\t\t// Skip setup if TTL is disabled\n\t\tif (this.inactiveTtlMs <= 0) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Cleanup check interval (run every hour)\n\t\tconst CLEANUP_INTERVAL_MS = 60 * 60 * 1000;\n\n\t\t// Clear any existing interval\n\t\tif (this.ttlCleanupIntervalId) {\n\t\t\tclearInterval(this.ttlCleanupIntervalId);\n\t\t}\n\n\t\t// Setup new interval for TTL cleanup\n\t\tthis.ttlCleanupIntervalId = setInterval(() => {\n\t\t\tthis.cleanupService.cleanupInactiveStores();\n\t\t}, CLEANUP_INTERVAL_MS);\n\t}\n\n\t/**\n\t * Handle cleanup events from the cleanup service\n\t */\n\tprivate handleCleanup(removedKeys: string[], freedBytes: number, reason: 'ttl' | 'memory'): void {\n\t\t// Update total memory usage\n\t\tthis.memoryUsageBytes -= freedBytes;\n\n\t\t// Log cleanup event\n\t\tif (reason === 'ttl') {\n\t\t\tconst ttlHours = Math.round(this.inactiveTtlMs / (60 * 60 * 1000));\n\t\t\tthis.logger.info(\n\t\t\t\t`TTL cleanup: removed ${removedKeys.length} inactive vector stores (${ttlHours}h TTL) to free ${Math.round(freedBytes / (1024 * 1024))}MB of memory`,\n\t\t\t);\n\t\t} else {\n\t\t\tthis.logger.info(\n\t\t\t\t`Memory cleanup: removed ${removedKeys.length} oldest vector stores to free ${Math.round(freedBytes / (1024 * 1024))}MB of memory`,\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Get or create a vector store by key\n\t */\n\tasync getVectorStore(memoryKey: string): Promise<MemoryVectorStore> {\n\t\tlet vectorStoreInstance = this.vectorStoreBuffer.get(memoryKey);\n\n\t\tif (!vectorStoreInstance) {\n\t\t\tvectorStoreInstance = await MemoryVectorStore.fromExistingIndex(this.embeddings);\n\t\t\tthis.vectorStoreBuffer.set(memoryKey, vectorStoreInstance);\n\n\t\t\tthis.storeMetadata.set(memoryKey, {\n\t\t\t\tsize: 0,\n\t\t\t\tcreatedAt: new Date(),\n\t\t\t\tlastAccessed: new Date(),\n\t\t\t});\n\t\t} else {\n\t\t\tconst metadata = this.storeMetadata.get(memoryKey);\n\t\t\tif (metadata) {\n\t\t\t\tmetadata.lastAccessed = new Date();\n\t\t\t}\n\t\t}\n\n\t\treturn vectorStoreInstance;\n\t}\n\n\t/**\n\t * Reset a store's metadata when it's cleared\n\t */\n\tprotected clearStoreMetadata(memoryKey: string): void {\n\t\tconst metadata = this.storeMetadata.get(memoryKey);\n\t\tif (metadata) {\n\t\t\tthis.memoryUsageBytes -= metadata.size;\n\t\t\tmetadata.size = 0;\n\t\t\tmetadata.lastAccessed = new Date();\n\t\t}\n\t}\n\n\t/**\n\t * Get memory usage in bytes\n\t */\n\tgetMemoryUsage(): number {\n\t\treturn this.memoryUsageBytes;\n\t}\n\n\t/**\n\t * Get memory usage as a formatted string (MB)\n\t */\n\tgetMemoryUsageFormatted(): string {\n\t\treturn `${Math.round(this.memoryUsageBytes / (1024 * 1024))}MB`;\n\t}\n\n\t/**\n\t * Recalculate memory usage from actual vector store contents\n\t * This ensures tracking accuracy for large stores\n\t */\n\trecalculateMemoryUsage(): void {\n\t\tthis.memoryUsageBytes = 0;\n\n\t\t// Recalculate for each store\n\t\tfor (const [key, vectorStore] of this.vectorStoreBuffer.entries()) {\n\t\t\tconst storeSize = this.memoryCalculator.calculateVectorStoreSize(vectorStore);\n\n\t\t\t// Update metadata\n\t\t\tconst metadata = this.storeMetadata.get(key);\n\t\t\tif (metadata) {\n\t\t\t\tmetadata.size = storeSize;\n\t\t\t\tthis.memoryUsageBytes += storeSize;\n\t\t\t}\n\t\t}\n\n\t\tthis.logger.debug(`Recalculated vector store memory: ${this.getMemoryUsageFormatted()}`);\n\t}\n\n\t/**\n\t * Add documents to a vector store\n\t */\n\tasync addDocuments(\n\t\tmemoryKey: string,\n\t\tdocuments: Document[],\n\t\tclearStore?: boolean,\n\t): Promise<void> {\n\t\tif (clearStore) {\n\t\t\tthis.clearStoreMetadata(memoryKey);\n\t\t\tthis.vectorStoreBuffer.delete(memoryKey);\n\t\t}\n\n\t\t// Fast batch estimation instead of per-document calculation\n\t\tconst estimatedAddedSize = this.memoryCalculator.estimateBatchSize(documents);\n\n\t\t// Clean up old stores if necessary\n\t\tthis.cleanupService.cleanupOldestStores(estimatedAddedSize);\n\n\t\tconst vectorStoreInstance = await this.getVectorStore(memoryKey);\n\n\t\t// Get vector count before adding documents\n\t\tconst vectorCountBefore = vectorStoreInstance.memoryVectors?.length || 0;\n\n\t\tawait vectorStoreInstance.addDocuments(documents);\n\n\t\t// Update store metadata and memory tracking\n\t\tconst metadata = this.storeMetadata.get(memoryKey);\n\t\tif (metadata) {\n\t\t\tmetadata.size += estimatedAddedSize;\n\t\t\tmetadata.lastAccessed = new Date();\n\t\t\tthis.memoryUsageBytes += estimatedAddedSize;\n\t\t}\n\n\t\t// Get updated vector count\n\t\tconst vectorCount = vectorStoreInstance.memoryVectors?.length || 0;\n\n\t\t// Periodically recalculate actual memory usage to avoid drift\n\t\tif (\n\t\t\t(vectorCount > 0 && vectorCount % 100 === 0) ||\n\t\t\tdocuments.length > 20 ||\n\t\t\t(vectorCountBefore === 0 && vectorCount > 0)\n\t\t) {\n\t\t\tthis.recalculateMemoryUsage();\n\t\t}\n\n\t\t// Logging memory usage\n\t\tconst maxMemoryMB =\n\t\t\tthis.maxMemorySizeBytes > 0\n\t\t\t\t? (this.maxMemorySizeBytes / (1024 * 1024)).toFixed(0)\n\t\t\t\t: 'unlimited';\n\n\t\tthis.logger.debug(\n\t\t\t`Vector store memory: ${this.getMemoryUsageFormatted()}/${maxMemoryMB}MB (${vectorCount} vectors in ${this.vectorStoreBuffer.size} stores)`,\n\t\t);\n\t}\n\n\t/**\n\t * Get statistics about the vector store memory usage\n\t */\n\tgetStats(): VectorStoreStats {\n\t\tconst now = Date.now();\n\t\tlet inactiveStoreCount = 0;\n\n\t\t// Always recalculate when getting stats to ensure accuracy\n\t\tthis.recalculateMemoryUsage();\n\n\t\tconst stats: VectorStoreStats = {\n\t\t\ttotalSizeBytes: this.memoryUsageBytes,\n\t\t\ttotalSizeMB: Math.round((this.memoryUsageBytes / (1024 * 1024)) * 100) / 100,\n\t\t\tpercentOfLimit:\n\t\t\t\tthis.maxMemorySizeBytes > 0\n\t\t\t\t\t? Math.round((this.memoryUsageBytes / this.maxMemorySizeBytes) * 100)\n\t\t\t\t\t: 0,\n\t\t\tmaxMemoryMB: this.maxMemorySizeBytes > 0 ? this.maxMemorySizeBytes / (1024 * 1024) : -1, // -1 indicates unlimited\n\t\t\tstoreCount: this.vectorStoreBuffer.size,\n\t\t\tinactiveStoreCount: 0,\n\t\t\tttlHours: this.inactiveTtlMs > 0 ? this.inactiveTtlMs / (60 * 60 * 1000) : -1, // -1 indicates disabled\n\t\t\tstores: {},\n\t\t};\n\n\t\t// Add stats for each store\n\t\tfor (const [key, metadata] of this.storeMetadata.entries()) {\n\t\t\tconst store = this.vectorStoreBuffer.get(key);\n\n\t\t\tif (store) {\n\t\t\t\tconst lastAccessedTime = metadata.lastAccessed.getTime();\n\t\t\t\tconst inactiveTimeMs = now - lastAccessedTime;\n\t\t\t\tconst isInactive = this.cleanupService.isStoreInactive(metadata);\n\n\t\t\t\tif (isInactive) {\n\t\t\t\t\tinactiveStoreCount++;\n\t\t\t\t}\n\n\t\t\t\tstats.stores[key] = {\n\t\t\t\t\tsizeBytes: metadata.size,\n\t\t\t\t\tsizeMB: Math.round((metadata.size / (1024 * 1024)) * 100) / 100,\n\t\t\t\t\tpercentOfTotal: Math.round((metadata.size / this.memoryUsageBytes) * 100) || 0,\n\t\t\t\t\tvectors: store.memoryVectors?.length || 0,\n\t\t\t\t\tcreatedAt: metadata.createdAt.toISOString(),\n\t\t\t\t\tlastAccessed: metadata.lastAccessed.toISOString(),\n\t\t\t\t\tinactive: isInactive,\n\t\t\t\t\tinactiveForHours: Math.round(inactiveTimeMs / (60 * 60 * 1000)),\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tstats.inactiveStoreCount = inactiveStoreCount;\n\n\t\treturn stats;\n\t}\n}\n"],"mappings":"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","names":[]}
|