@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,233 +1,260 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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 TextClassifier_node_exports = {};
|
|
20
|
+
__export(TextClassifier_node_exports, {
|
|
21
|
+
TextClassifier: () => TextClassifier
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(TextClassifier_node_exports);
|
|
24
|
+
var import_messages = require("@langchain/core/messages");
|
|
25
|
+
var import_prompts = require("@langchain/core/prompts");
|
|
26
|
+
var import_output_parsers = require("langchain/output_parsers");
|
|
27
|
+
var import_n8n_workflow = require("n8n-workflow");
|
|
28
|
+
var import_zod = require("zod");
|
|
29
|
+
var import_tracing = require("../../../utils/tracing");
|
|
10
30
|
const SYSTEM_PROMPT_TEMPLATE = "Please classify the text provided by the user into one of the following categories: {categories}, and use the provided formatting instructions below. Don't explain, and only output the json.";
|
|
11
31
|
const configuredOutputs = (parameters) => {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
return ret;
|
|
32
|
+
const categories = parameters.categories?.categories ?? [];
|
|
33
|
+
const fallback = parameters.options?.fallback;
|
|
34
|
+
const ret = categories.map((cat) => {
|
|
35
|
+
return { type: "main", displayName: cat.category };
|
|
36
|
+
});
|
|
37
|
+
if (fallback === "other") ret.push({ type: "main", displayName: "Other" });
|
|
38
|
+
return ret;
|
|
20
39
|
};
|
|
21
40
|
class TextClassifier {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
41
|
+
constructor() {
|
|
42
|
+
this.description = {
|
|
43
|
+
displayName: "Text Classifier",
|
|
44
|
+
name: "textClassifier",
|
|
45
|
+
icon: "fa:tags",
|
|
46
|
+
iconColor: "black",
|
|
47
|
+
group: ["transform"],
|
|
48
|
+
version: 1,
|
|
49
|
+
description: "Classify your text into distinct categories",
|
|
50
|
+
codex: {
|
|
51
|
+
categories: ["AI"],
|
|
52
|
+
subcategories: {
|
|
53
|
+
AI: ["Chains", "Root Nodes"]
|
|
54
|
+
},
|
|
55
|
+
resources: {
|
|
56
|
+
primaryDocumentation: [
|
|
57
|
+
{
|
|
58
|
+
url: "https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.text-classifier/"
|
|
59
|
+
}
|
|
60
|
+
]
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
defaults: {
|
|
64
|
+
name: "Text Classifier"
|
|
65
|
+
},
|
|
66
|
+
inputs: [
|
|
67
|
+
{ displayName: "", type: import_n8n_workflow.NodeConnectionTypes.Main },
|
|
68
|
+
{
|
|
69
|
+
displayName: "Model",
|
|
70
|
+
maxConnections: 1,
|
|
71
|
+
type: import_n8n_workflow.NodeConnectionTypes.AiLanguageModel,
|
|
72
|
+
required: true
|
|
73
|
+
}
|
|
74
|
+
],
|
|
75
|
+
outputs: `={{(${configuredOutputs})($parameter)}}`,
|
|
76
|
+
properties: [
|
|
77
|
+
{
|
|
78
|
+
displayName: "Text to Classify",
|
|
79
|
+
name: "inputText",
|
|
80
|
+
type: "string",
|
|
81
|
+
required: true,
|
|
82
|
+
default: "",
|
|
83
|
+
description: "Use an expression to reference data in previous nodes or enter static text",
|
|
84
|
+
typeOptions: {
|
|
85
|
+
rows: 2
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
displayName: "Categories",
|
|
90
|
+
name: "categories",
|
|
91
|
+
placeholder: "Add Category",
|
|
92
|
+
type: "fixedCollection",
|
|
93
|
+
default: {},
|
|
94
|
+
typeOptions: {
|
|
95
|
+
multipleValues: true
|
|
96
|
+
},
|
|
97
|
+
options: [
|
|
98
|
+
{
|
|
99
|
+
name: "categories",
|
|
100
|
+
displayName: "Categories",
|
|
101
|
+
values: [
|
|
49
102
|
{
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
103
|
+
displayName: "Category",
|
|
104
|
+
name: "category",
|
|
105
|
+
type: "string",
|
|
106
|
+
default: "",
|
|
107
|
+
description: "Category to add",
|
|
108
|
+
required: true
|
|
54
109
|
},
|
|
55
|
-
],
|
|
56
|
-
outputs: `={{(${configuredOutputs})($parameter)}}`,
|
|
57
|
-
properties: [
|
|
58
110
|
{
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
111
|
+
displayName: "Description",
|
|
112
|
+
name: "description",
|
|
113
|
+
type: "string",
|
|
114
|
+
default: "",
|
|
115
|
+
description: "Describe your category if it's not obvious"
|
|
116
|
+
}
|
|
117
|
+
]
|
|
118
|
+
}
|
|
119
|
+
]
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
displayName: "Options",
|
|
123
|
+
name: "options",
|
|
124
|
+
type: "collection",
|
|
125
|
+
default: {},
|
|
126
|
+
placeholder: "Add Option",
|
|
127
|
+
options: [
|
|
128
|
+
{
|
|
129
|
+
displayName: "Allow Multiple Classes To Be True",
|
|
130
|
+
name: "multiClass",
|
|
131
|
+
type: "boolean",
|
|
132
|
+
default: false
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
displayName: "When No Clear Match",
|
|
136
|
+
name: "fallback",
|
|
137
|
+
type: "options",
|
|
138
|
+
default: "discard",
|
|
139
|
+
description: "What to do with items that don\u2019t match the categories exactly",
|
|
140
|
+
options: [
|
|
69
141
|
{
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
type: 'fixedCollection',
|
|
74
|
-
default: {},
|
|
75
|
-
typeOptions: {
|
|
76
|
-
multipleValues: true,
|
|
77
|
-
},
|
|
78
|
-
options: [
|
|
79
|
-
{
|
|
80
|
-
name: 'categories',
|
|
81
|
-
displayName: 'Categories',
|
|
82
|
-
values: [
|
|
83
|
-
{
|
|
84
|
-
displayName: 'Category',
|
|
85
|
-
name: 'category',
|
|
86
|
-
type: 'string',
|
|
87
|
-
default: '',
|
|
88
|
-
description: 'Category to add',
|
|
89
|
-
required: true,
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
displayName: 'Description',
|
|
93
|
-
name: 'description',
|
|
94
|
-
type: 'string',
|
|
95
|
-
default: '',
|
|
96
|
-
description: "Describe your category if it's not obvious",
|
|
97
|
-
},
|
|
98
|
-
],
|
|
99
|
-
},
|
|
100
|
-
],
|
|
142
|
+
name: "Discard Item",
|
|
143
|
+
value: "discard",
|
|
144
|
+
description: "Ignore the item and drop it from the output"
|
|
101
145
|
},
|
|
102
146
|
{
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
{
|
|
128
|
-
name: "Output on Extra, 'Other' Branch",
|
|
129
|
-
value: 'other',
|
|
130
|
-
description: "Create a separate output branch called 'Other'",
|
|
131
|
-
},
|
|
132
|
-
],
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
displayName: 'System Prompt Template',
|
|
136
|
-
name: 'systemPromptTemplate',
|
|
137
|
-
type: 'string',
|
|
138
|
-
default: SYSTEM_PROMPT_TEMPLATE,
|
|
139
|
-
description: 'String to use directly as the system prompt template',
|
|
140
|
-
typeOptions: {
|
|
141
|
-
rows: 6,
|
|
142
|
-
},
|
|
143
|
-
},
|
|
144
|
-
{
|
|
145
|
-
displayName: 'Enable Auto-Fixing',
|
|
146
|
-
name: 'enableAutoFixing',
|
|
147
|
-
type: 'boolean',
|
|
148
|
-
default: true,
|
|
149
|
-
description: 'Whether to enable auto-fixing (may trigger an additional LLM call if output is broken)',
|
|
150
|
-
},
|
|
151
|
-
],
|
|
152
|
-
},
|
|
153
|
-
],
|
|
154
|
-
};
|
|
155
|
-
}
|
|
156
|
-
async execute() {
|
|
157
|
-
const items = this.getInputData();
|
|
158
|
-
const llm = (await this.getInputConnectionData(n8n_workflow_1.NodeConnectionTypes.AiLanguageModel, 0));
|
|
159
|
-
const categories = this.getNodeParameter('categories.categories', 0, []);
|
|
160
|
-
if (categories.length === 0) {
|
|
161
|
-
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'At least one category must be defined');
|
|
147
|
+
name: "Output on Extra, 'Other' Branch",
|
|
148
|
+
value: "other",
|
|
149
|
+
description: "Create a separate output branch called 'Other'"
|
|
150
|
+
}
|
|
151
|
+
]
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
displayName: "System Prompt Template",
|
|
155
|
+
name: "systemPromptTemplate",
|
|
156
|
+
type: "string",
|
|
157
|
+
default: SYSTEM_PROMPT_TEMPLATE,
|
|
158
|
+
description: "String to use directly as the system prompt template",
|
|
159
|
+
typeOptions: {
|
|
160
|
+
rows: 6
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
displayName: "Enable Auto-Fixing",
|
|
165
|
+
name: "enableAutoFixing",
|
|
166
|
+
type: "boolean",
|
|
167
|
+
default: true,
|
|
168
|
+
description: "Whether to enable auto-fixing (may trigger an additional LLM call if output is broken)"
|
|
169
|
+
}
|
|
170
|
+
]
|
|
162
171
|
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
172
|
+
]
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
async execute() {
|
|
176
|
+
const items = this.getInputData();
|
|
177
|
+
const llm = await this.getInputConnectionData(
|
|
178
|
+
import_n8n_workflow.NodeConnectionTypes.AiLanguageModel,
|
|
179
|
+
0
|
|
180
|
+
);
|
|
181
|
+
const categories = this.getNodeParameter("categories.categories", 0, []);
|
|
182
|
+
if (categories.length === 0) {
|
|
183
|
+
throw new import_n8n_workflow.NodeOperationError(this.getNode(), "At least one category must be defined");
|
|
184
|
+
}
|
|
185
|
+
const options = this.getNodeParameter("options", 0, {});
|
|
186
|
+
const multiClass = options?.multiClass ?? false;
|
|
187
|
+
const fallback = options?.fallback ?? "discard";
|
|
188
|
+
const schemaEntries = categories.map((cat) => [
|
|
189
|
+
cat.category,
|
|
190
|
+
import_zod.z.boolean().describe(
|
|
191
|
+
`Should be true if the input has category "${cat.category}" (description: ${cat.description})`
|
|
192
|
+
)
|
|
193
|
+
]);
|
|
194
|
+
if (fallback === "other")
|
|
195
|
+
schemaEntries.push([
|
|
196
|
+
"fallback",
|
|
197
|
+
import_zod.z.boolean().describe("Should be true if none of the other categories apply")
|
|
198
|
+
]);
|
|
199
|
+
const schema = import_zod.z.object(Object.fromEntries(schemaEntries));
|
|
200
|
+
const structuredParser = import_output_parsers.StructuredOutputParser.fromZodSchema(schema);
|
|
201
|
+
const parser = options.enableAutoFixing ? import_output_parsers.OutputFixingParser.fromLLM(llm, structuredParser) : structuredParser;
|
|
202
|
+
const multiClassPrompt = multiClass ? "Categories are not mutually exclusive, and multiple can be true" : "Categories are mutually exclusive, and only one can be true";
|
|
203
|
+
const fallbackPrompt = {
|
|
204
|
+
other: 'If no categories apply, select the "fallback" option.',
|
|
205
|
+
discard: "If there is not a very fitting category, select none of the categories."
|
|
206
|
+
}[fallback];
|
|
207
|
+
const returnData = Array.from(
|
|
208
|
+
{ length: categories.length + (fallback === "other" ? 1 : 0) },
|
|
209
|
+
(_) => []
|
|
210
|
+
);
|
|
211
|
+
for (let itemIdx = 0; itemIdx < items.length; itemIdx++) {
|
|
212
|
+
const item = items[itemIdx];
|
|
213
|
+
item.pairedItem = { item: itemIdx };
|
|
214
|
+
const input = this.getNodeParameter("inputText", itemIdx);
|
|
215
|
+
const inputPrompt = new import_messages.HumanMessage(input);
|
|
216
|
+
const systemPromptTemplateOpt = this.getNodeParameter(
|
|
217
|
+
"options.systemPromptTemplate",
|
|
218
|
+
itemIdx,
|
|
219
|
+
SYSTEM_PROMPT_TEMPLATE
|
|
220
|
+
);
|
|
221
|
+
const systemPromptTemplate = import_prompts.SystemMessagePromptTemplate.fromTemplate(
|
|
222
|
+
`${systemPromptTemplateOpt ?? SYSTEM_PROMPT_TEMPLATE}
|
|
197
223
|
{format_instructions}
|
|
198
224
|
${multiClassPrompt}
|
|
199
|
-
${fallbackPrompt}`
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
});
|
|
224
|
-
continue;
|
|
225
|
-
}
|
|
226
|
-
throw error;
|
|
227
|
-
}
|
|
225
|
+
${fallbackPrompt}`
|
|
226
|
+
);
|
|
227
|
+
const messages = [
|
|
228
|
+
await systemPromptTemplate.format({
|
|
229
|
+
categories: categories.map((cat) => cat.category).join(", "),
|
|
230
|
+
format_instructions: parser.getFormatInstructions()
|
|
231
|
+
}),
|
|
232
|
+
inputPrompt
|
|
233
|
+
];
|
|
234
|
+
const prompt = import_prompts.ChatPromptTemplate.fromMessages(messages);
|
|
235
|
+
const chain = prompt.pipe(llm).pipe(parser).withConfig((0, import_tracing.getTracingConfig)(this));
|
|
236
|
+
try {
|
|
237
|
+
const output = await chain.invoke(messages);
|
|
238
|
+
categories.forEach((cat, idx) => {
|
|
239
|
+
if (output[cat.category]) returnData[idx].push(item);
|
|
240
|
+
});
|
|
241
|
+
if (fallback === "other" && output.fallback) returnData[returnData.length - 1].push(item);
|
|
242
|
+
} catch (error) {
|
|
243
|
+
if (this.continueOnFail()) {
|
|
244
|
+
returnData[0].push({
|
|
245
|
+
json: { error: error.message },
|
|
246
|
+
pairedItem: { item: itemIdx }
|
|
247
|
+
});
|
|
248
|
+
continue;
|
|
228
249
|
}
|
|
229
|
-
|
|
250
|
+
throw error;
|
|
251
|
+
}
|
|
230
252
|
}
|
|
253
|
+
return returnData;
|
|
254
|
+
}
|
|
231
255
|
}
|
|
232
|
-
|
|
256
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
257
|
+
0 && (module.exports = {
|
|
258
|
+
TextClassifier
|
|
259
|
+
});
|
|
233
260
|
//# sourceMappingURL=TextClassifier.node.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextClassifier.node.js","sourceRoot":"","sources":["../../../../nodes/chains/TextClassifier/TextClassifier.node.ts"],"names":[],"mappings":";;;AACA,uDAAwD;AACxD,qDAA0F;AAC1F,6DAAsF;AACtF,+CAAuE;AASvE,6BAAwB;AAExB,4CAAkD;AAElD,MAAM,sBAAsB,GAC3B,gMAAgM,CAAC;AAElM,MAAM,iBAAiB,GAAG,CAAC,UAA2B,EAAE,EAAE;IACzD,MAAM,UAAU,GAAK,UAAU,CAAC,UAA0B,EAAE,UAA4B,IAAI,EAAE,CAAC;IAC/F,MAAM,QAAQ,GAAI,UAAU,CAAC,OAAuB,EAAE,QAAkB,CAAC;IACzE,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAClC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;IACpD,CAAC,CAAC,CAAC;IACH,IAAI,QAAQ,KAAK,OAAO;QAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3E,OAAO,GAAG,CAAC;AACZ,CAAC,CAAC;AAEF,MAAa,cAAc;IAA3B;QACC,gBAAW,GAAyB;YACnC,WAAW,EAAE,iBAAiB;YAC9B,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,OAAO;YAClB,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,6CAA6C;YAC1D,KAAK,EAAE;gBACN,UAAU,EAAE,CAAC,IAAI,CAAC;gBAClB,aAAa,EAAE;oBACd,EAAE,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;iBAC5B;gBACD,SAAS,EAAE;oBACV,oBAAoB,EAAE;wBACrB;4BACC,GAAG,EAAE,wGAAwG;yBAC7G;qBACD;iBACD;aACD;YACD,QAAQ,EAAE;gBACT,IAAI,EAAE,iBAAiB;aACvB;YACD,MAAM,EAAE;gBACP,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,kCAAmB,CAAC,IAAI,EAAE;gBACnD;oBACC,WAAW,EAAE,OAAO;oBACpB,cAAc,EAAE,CAAC;oBACjB,IAAI,EAAE,kCAAmB,CAAC,eAAe;oBACzC,QAAQ,EAAE,IAAI;iBACd;aACD;YACD,OAAO,EAAE,OAAO,iBAAiB,iBAAiB;YAClD,UAAU,EAAE;gBACX;oBACC,WAAW,EAAE,kBAAkB;oBAC/B,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,EAAE;oBACX,WAAW,EAAE,4EAA4E;oBACzF,WAAW,EAAE;wBACZ,IAAI,EAAE,CAAC;qBACP;iBACD;gBACD;oBACC,WAAW,EAAE,YAAY;oBACzB,IAAI,EAAE,YAAY;oBAClB,WAAW,EAAE,cAAc;oBAC3B,IAAI,EAAE,iBAAiB;oBACvB,OAAO,EAAE,EAAE;oBACX,WAAW,EAAE;wBACZ,cAAc,EAAE,IAAI;qBACpB;oBACD,OAAO,EAAE;wBACR;4BACC,IAAI,EAAE,YAAY;4BAClB,WAAW,EAAE,YAAY;4BACzB,MAAM,EAAE;gCACP;oCACC,WAAW,EAAE,UAAU;oCACvB,IAAI,EAAE,UAAU;oCAChB,IAAI,EAAE,QAAQ;oCACd,OAAO,EAAE,EAAE;oCACX,WAAW,EAAE,iBAAiB;oCAC9B,QAAQ,EAAE,IAAI;iCACd;gCACD;oCACC,WAAW,EAAE,aAAa;oCAC1B,IAAI,EAAE,aAAa;oCACnB,IAAI,EAAE,QAAQ;oCACd,OAAO,EAAE,EAAE;oCACX,WAAW,EAAE,4CAA4C;iCACzD;6BACD;yBACD;qBACD;iBACD;gBACD;oBACC,WAAW,EAAE,SAAS;oBACtB,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,EAAE;oBACX,WAAW,EAAE,YAAY;oBACzB,OAAO,EAAE;wBACR;4BACC,WAAW,EAAE,mCAAmC;4BAChD,IAAI,EAAE,YAAY;4BAClB,IAAI,EAAE,SAAS;4BACf,OAAO,EAAE,KAAK;yBACd;wBACD;4BACC,WAAW,EAAE,qBAAqB;4BAClC,IAAI,EAAE,UAAU;4BAChB,IAAI,EAAE,SAAS;4BACf,OAAO,EAAE,SAAS;4BAClB,WAAW,EAAE,+DAA+D;4BAC5E,OAAO,EAAE;gCACR;oCACC,IAAI,EAAE,cAAc;oCACpB,KAAK,EAAE,SAAS;oCAChB,WAAW,EAAE,6CAA6C;iCAC1D;gCACD;oCACC,IAAI,EAAE,iCAAiC;oCACvC,KAAK,EAAE,OAAO;oCACd,WAAW,EAAE,gDAAgD;iCAC7D;6BACD;yBACD;wBACD;4BACC,WAAW,EAAE,wBAAwB;4BACrC,IAAI,EAAE,sBAAsB;4BAC5B,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,sBAAsB;4BAC/B,WAAW,EAAE,sDAAsD;4BACnE,WAAW,EAAE;gCACZ,IAAI,EAAE,CAAC;6BACP;yBACD;wBACD;4BACC,WAAW,EAAE,oBAAoB;4BACjC,IAAI,EAAE,kBAAkB;4BACxB,IAAI,EAAE,SAAS;4BACf,OAAO,EAAE,IAAI;4BACb,WAAW,EACV,wFAAwF;yBACzF;qBACD;iBACD;aACD;SACD,CAAC;IAiHH,CAAC;IA/GA,KAAK,CAAC,OAAO;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAElC,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,sBAAsB,CAC7C,kCAAmB,CAAC,eAAe,EACnC,CAAC,CACD,CAAsB,CAAC;QAExB,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,CAAC,EAAE,EAAE,CAGrE,CAAC;QAEH,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,uCAAuC,CAAC,CAAC;QACvF,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAKrD,CAAC;QACF,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC;QAChD,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,SAAS,CAAC;QAEhD,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;YAC7C,GAAG,CAAC,QAAQ;YACZ,OAAC;iBACC,OAAO,EAAE;iBACT,QAAQ,CACR,6CAA6C,GAAG,CAAC,QAAQ,mBAAmB,GAAG,CAAC,WAAW,GAAG,CAC9F;SACF,CAAC,CAAC;QACH,IAAI,QAAQ,KAAK,OAAO;YACvB,aAAa,CAAC,IAAI,CAAC;gBAClB,UAAU;gBACV,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;aAC5E,CAAC,CAAC;QACJ,MAAM,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;QAE3D,MAAM,gBAAgB,GAAG,uCAAsB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAEtE,MAAM,MAAM,GAAG,OAAO,CAAC,gBAAgB;YACtC,CAAC,CAAC,mCAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,gBAAgB,CAAC;YACnD,CAAC,CAAC,gBAAgB,CAAC;QAEpB,MAAM,gBAAgB,GAAG,UAAU;YAClC,CAAC,CAAC,iEAAiE;YACnE,CAAC,CAAC,6DAA6D,CAAC;QAEjE,MAAM,cAAc,GAAG;YACtB,KAAK,EAAE,uDAAuD;YAC9D,OAAO,EAAE,yEAAyE;SAClF,CAAC,QAAQ,CAAC,CAAC;QAEZ,MAAM,UAAU,GAA2B,KAAK,CAAC,IAAI,CACpD,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAC9D,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CACT,CAAC;QACF,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;YACzD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAW,CAAC;YACpE,MAAM,WAAW,GAAG,IAAI,uBAAY,CAAC,KAAK,CAAC,CAAC;YAE5C,MAAM,uBAAuB,GAAG,IAAI,CAAC,gBAAgB,CACpD,8BAA8B,EAC9B,OAAO,EACP,sBAAsB,CACZ,CAAC;YACZ,MAAM,oBAAoB,GAAG,qCAA2B,CAAC,YAAY,CACpE,GAAG,uBAAuB,IAAI,sBAAsB;;EAEtD,gBAAgB;EAChB,cAAc,EAAE,CACd,CAAC;YAEF,MAAM,QAAQ,GAAG;gBAChB,MAAM,oBAAoB,CAAC,MAAM,CAAC;oBACjC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC5D,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,EAAE;iBACnD,CAAC;gBACF,WAAW;aACX,CAAC;YACF,MAAM,MAAM,GAAG,4BAAkB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YACzD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,IAAA,0BAAgB,EAAC,IAAI,CAAC,CAAC,CAAC;YAE/E,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAE5C,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;oBAC/B,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;wBAAE,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtD,CAAC,CAAC,CAAC;gBACH,IAAI,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ;oBAAE,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3F,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;oBAC3B,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBAClB,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE;wBAC9B,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;qBAC7B,CAAC,CAAC;oBAEH,SAAS;gBACV,CAAC;gBAED,MAAM,KAAK,CAAC;YACb,CAAC;QACF,CAAC;QAED,OAAO,UAAU,CAAC;IACnB,CAAC;CACD;AAtPD,wCAsPC"}
|
|
1
|
+
{"version":3,"sources":["../../../../nodes/chains/TextClassifier/TextClassifier.node.ts"],"sourcesContent":["import type { BaseLanguageModel } from '@langchain/core/language_models/base';\nimport { HumanMessage } from '@langchain/core/messages';\nimport { SystemMessagePromptTemplate, ChatPromptTemplate } from '@langchain/core/prompts';\nimport { OutputFixingParser, StructuredOutputParser } from 'langchain/output_parsers';\nimport { NodeOperationError, NodeConnectionTypes } from 'n8n-workflow';\nimport type {\n\tIDataObject,\n\tIExecuteFunctions,\n\tINodeExecutionData,\n\tINodeParameters,\n\tINodeType,\n\tINodeTypeDescription,\n} from 'n8n-workflow';\nimport { z } from 'zod';\n\nimport { getTracingConfig } from '@utils/tracing';\n\nconst SYSTEM_PROMPT_TEMPLATE =\n\t\"Please classify the text provided by the user into one of the following categories: {categories}, and use the provided formatting instructions below. Don't explain, and only output the json.\";\n\nconst configuredOutputs = (parameters: INodeParameters) => {\n\tconst categories = ((parameters.categories as IDataObject)?.categories as IDataObject[]) ?? [];\n\tconst fallback = (parameters.options as IDataObject)?.fallback as string;\n\tconst ret = categories.map((cat) => {\n\t\treturn { type: 'main', displayName: cat.category };\n\t});\n\tif (fallback === 'other') ret.push({ type: 'main', displayName: 'Other' });\n\treturn ret;\n};\n\nexport class TextClassifier implements INodeType {\n\tdescription: INodeTypeDescription = {\n\t\tdisplayName: 'Text Classifier',\n\t\tname: 'textClassifier',\n\t\ticon: 'fa:tags',\n\t\ticonColor: 'black',\n\t\tgroup: ['transform'],\n\t\tversion: 1,\n\t\tdescription: 'Classify your text into distinct categories',\n\t\tcodex: {\n\t\t\tcategories: ['AI'],\n\t\t\tsubcategories: {\n\t\t\t\tAI: ['Chains', 'Root Nodes'],\n\t\t\t},\n\t\t\tresources: {\n\t\t\t\tprimaryDocumentation: [\n\t\t\t\t\t{\n\t\t\t\t\t\turl: 'https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.text-classifier/',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\tdefaults: {\n\t\t\tname: 'Text Classifier',\n\t\t},\n\t\tinputs: [\n\t\t\t{ displayName: '', type: NodeConnectionTypes.Main },\n\t\t\t{\n\t\t\t\tdisplayName: 'Model',\n\t\t\t\tmaxConnections: 1,\n\t\t\t\ttype: NodeConnectionTypes.AiLanguageModel,\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t],\n\t\toutputs: `={{(${configuredOutputs})($parameter)}}`,\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Text to Classify',\n\t\t\t\tname: 'inputText',\n\t\t\t\ttype: 'string',\n\t\t\t\trequired: true,\n\t\t\t\tdefault: '',\n\t\t\t\tdescription: 'Use an expression to reference data in previous nodes or enter static text',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\trows: 2,\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Categories',\n\t\t\t\tname: 'categories',\n\t\t\t\tplaceholder: 'Add Category',\n\t\t\t\ttype: 'fixedCollection',\n\t\t\t\tdefault: {},\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tmultipleValues: true,\n\t\t\t\t},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'categories',\n\t\t\t\t\t\tdisplayName: 'Categories',\n\t\t\t\t\t\tvalues: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Category',\n\t\t\t\t\t\t\t\tname: 'category',\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\tdescription: 'Category to add',\n\t\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Description',\n\t\t\t\t\t\t\t\tname: 'description',\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t\tdescription: \"Describe your category if it's not obvious\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Options',\n\t\t\t\tname: 'options',\n\t\t\t\ttype: 'collection',\n\t\t\t\tdefault: {},\n\t\t\t\tplaceholder: 'Add Option',\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Allow Multiple Classes To Be True',\n\t\t\t\t\t\tname: 'multiClass',\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'When No Clear Match',\n\t\t\t\t\t\tname: 'fallback',\n\t\t\t\t\t\ttype: 'options',\n\t\t\t\t\t\tdefault: 'discard',\n\t\t\t\t\t\tdescription: 'What to do with items that don’t match the categories exactly',\n\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'Discard Item',\n\t\t\t\t\t\t\t\tvalue: 'discard',\n\t\t\t\t\t\t\t\tdescription: 'Ignore the item and drop it from the output',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: \"Output on Extra, 'Other' Branch\",\n\t\t\t\t\t\t\t\tvalue: 'other',\n\t\t\t\t\t\t\t\tdescription: \"Create a separate output branch called 'Other'\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'System Prompt Template',\n\t\t\t\t\t\tname: 'systemPromptTemplate',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: SYSTEM_PROMPT_TEMPLATE,\n\t\t\t\t\t\tdescription: 'String to use directly as the system prompt template',\n\t\t\t\t\t\ttypeOptions: {\n\t\t\t\t\t\t\trows: 6,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Enable Auto-Fixing',\n\t\t\t\t\t\tname: 'enableAutoFixing',\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\tdefault: true,\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'Whether to enable auto-fixing (may trigger an additional LLM call if output is broken)',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t};\n\n\tasync execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {\n\t\tconst items = this.getInputData();\n\n\t\tconst llm = (await this.getInputConnectionData(\n\t\t\tNodeConnectionTypes.AiLanguageModel,\n\t\t\t0,\n\t\t)) as BaseLanguageModel;\n\n\t\tconst categories = this.getNodeParameter('categories.categories', 0, []) as Array<{\n\t\t\tcategory: string;\n\t\t\tdescription: string;\n\t\t}>;\n\n\t\tif (categories.length === 0) {\n\t\t\tthrow new NodeOperationError(this.getNode(), 'At least one category must be defined');\n\t\t}\n\n\t\tconst options = this.getNodeParameter('options', 0, {}) as {\n\t\t\tmultiClass: boolean;\n\t\t\tfallback?: string;\n\t\t\tsystemPromptTemplate?: string;\n\t\t\tenableAutoFixing: boolean;\n\t\t};\n\t\tconst multiClass = options?.multiClass ?? false;\n\t\tconst fallback = options?.fallback ?? 'discard';\n\n\t\tconst schemaEntries = categories.map((cat) => [\n\t\t\tcat.category,\n\t\t\tz\n\t\t\t\t.boolean()\n\t\t\t\t.describe(\n\t\t\t\t\t`Should be true if the input has category \"${cat.category}\" (description: ${cat.description})`,\n\t\t\t\t),\n\t\t]);\n\t\tif (fallback === 'other')\n\t\t\tschemaEntries.push([\n\t\t\t\t'fallback',\n\t\t\t\tz.boolean().describe('Should be true if none of the other categories apply'),\n\t\t\t]);\n\t\tconst schema = z.object(Object.fromEntries(schemaEntries));\n\n\t\tconst structuredParser = StructuredOutputParser.fromZodSchema(schema);\n\n\t\tconst parser = options.enableAutoFixing\n\t\t\t? OutputFixingParser.fromLLM(llm, structuredParser)\n\t\t\t: structuredParser;\n\n\t\tconst multiClassPrompt = multiClass\n\t\t\t? 'Categories are not mutually exclusive, and multiple can be true'\n\t\t\t: 'Categories are mutually exclusive, and only one can be true';\n\n\t\tconst fallbackPrompt = {\n\t\t\tother: 'If no categories apply, select the \"fallback\" option.',\n\t\t\tdiscard: 'If there is not a very fitting category, select none of the categories.',\n\t\t}[fallback];\n\n\t\tconst returnData: INodeExecutionData[][] = Array.from(\n\t\t\t{ length: categories.length + (fallback === 'other' ? 1 : 0) },\n\t\t\t(_) => [],\n\t\t);\n\t\tfor (let itemIdx = 0; itemIdx < items.length; itemIdx++) {\n\t\t\tconst item = items[itemIdx];\n\t\t\titem.pairedItem = { item: itemIdx };\n\t\t\tconst input = this.getNodeParameter('inputText', itemIdx) as string;\n\t\t\tconst inputPrompt = new HumanMessage(input);\n\n\t\t\tconst systemPromptTemplateOpt = this.getNodeParameter(\n\t\t\t\t'options.systemPromptTemplate',\n\t\t\t\titemIdx,\n\t\t\t\tSYSTEM_PROMPT_TEMPLATE,\n\t\t\t) as string;\n\t\t\tconst systemPromptTemplate = SystemMessagePromptTemplate.fromTemplate(\n\t\t\t\t`${systemPromptTemplateOpt ?? SYSTEM_PROMPT_TEMPLATE}\n{format_instructions}\n${multiClassPrompt}\n${fallbackPrompt}`,\n\t\t\t);\n\n\t\t\tconst messages = [\n\t\t\t\tawait systemPromptTemplate.format({\n\t\t\t\t\tcategories: categories.map((cat) => cat.category).join(', '),\n\t\t\t\t\tformat_instructions: parser.getFormatInstructions(),\n\t\t\t\t}),\n\t\t\t\tinputPrompt,\n\t\t\t];\n\t\t\tconst prompt = ChatPromptTemplate.fromMessages(messages);\n\t\t\tconst chain = prompt.pipe(llm).pipe(parser).withConfig(getTracingConfig(this));\n\n\t\t\ttry {\n\t\t\t\tconst output = await chain.invoke(messages);\n\n\t\t\t\tcategories.forEach((cat, idx) => {\n\t\t\t\t\tif (output[cat.category]) returnData[idx].push(item);\n\t\t\t\t});\n\t\t\t\tif (fallback === 'other' && output.fallback) returnData[returnData.length - 1].push(item);\n\t\t\t} catch (error) {\n\t\t\t\tif (this.continueOnFail()) {\n\t\t\t\t\treturnData[0].push({\n\t\t\t\t\t\tjson: { error: error.message },\n\t\t\t\t\t\tpairedItem: { item: itemIdx },\n\t\t\t\t\t});\n\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t}\n\n\t\treturn returnData;\n\t}\n}\n"],"mappings":"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","names":[]}
|