@n8n/n8n-nodes-langchain 2.42.3 → 2.42.5

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.
@@ -21,7 +21,7 @@
21
21
  {"displayName":"Sentiment Analysis","name":"sentimentAnalysis","icon":"node:sentiment-analysis","iconColor":"black","group":["transform"],"version":[1,1.1],"description":"Analyze the sentiment of your text","codex":{"categories":["AI"],"subcategories":{"AI":["Chains","Root Nodes"]},"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.sentimentanalysis/"}]}},"defaults":{"name":"Sentiment Analysis"},"inputs":[{"displayName":"","type":"main"},{"displayName":"Model","maxConnections":1,"type":"ai_languageModel","required":true}],"outputs":"={{((parameters, defaultCategories) => {\n const options = (parameters?.options ?? {});\n const categories = options?.categories ?? defaultCategories;\n const categoriesArray = categories.split(',').map((cat) => cat.trim());\n const ret = categoriesArray.map((cat) => ({ type: 'main', displayName: cat }));\n return ret;\n})($parameter, \"Positive, Neutral, Negative\")}}","builderHint":{"inputs":{"ai_languageModel":{"required":true}}},"properties":[{"displayName":"Text to Analyze","name":"inputText","type":"string","required":true,"default":"","description":"Use an expression to reference data in previous nodes or enter static text","typeOptions":{"rows":2}},{"displayName":"Sentiment scores are LLM-generated estimates, not statistically rigorous measurements. They may be inconsistent across runs and should be used as rough indicators only.","name":"detailedResultsNotice","type":"notice","default":"","displayOptions":{"show":{"/options.includeDetailedResults":[true]}}},{"displayName":"Options","name":"options","type":"collection","default":{},"placeholder":"Add Option","options":[{"displayName":"Sentiment Categories","name":"categories","type":"string","default":"Positive, Neutral, Negative","description":"A comma-separated list of categories to analyze","noDataExpression":true,"typeOptions":{"rows":2}},{"displayName":"System Prompt Template","name":"systemPromptTemplate","type":"string","default":"You are highly intelligent and accurate sentiment analyzer. Analyze the sentiment of the provided text. Categorize it into one of the following: {categories}. Use the provided formatting instructions. Only output the JSON.","description":"String to use directly as the system prompt template","typeOptions":{"rows":6}},{"displayName":"Include Detailed Results","name":"includeDetailedResults","type":"boolean","default":false,"description":"Whether to include sentiment strength and confidence scores in the output"},{"displayName":"Enable Auto-Fixing","name":"enableAutoFixing","type":"boolean","default":true,"description":"Whether to enable auto-fixing (may trigger an additional LLM call if output is broken)"},{"displayName":"Batch Processing","name":"batching","type":"collection","placeholder":"Add Batch Processing Option","description":"Batch processing options for rate limiting","default":{},"options":[{"displayName":"Batch Size","name":"batchSize","default":5,"type":"number","description":"How many items to process in parallel. This is useful for rate limiting, but might impact the log output ordering."},{"displayName":"Delay Between Batches","name":"delayBetweenBatches","default":0,"type":"number","description":"Delay in milliseconds between batches. This is useful for rate limiting."}],"displayOptions":{"show":{"@version":[{"_cnd":{"gte":1.1}}]}}}]}]},
22
22
  {"displayName":"Information Extractor","name":"informationExtractor","icon":"node:information-extractor","iconColor":"black","group":["transform"],"version":[1,1.1,1.2],"defaultVersion":1.2,"description":"Extract information from text in a structured format","codex":{"alias":["NER","parse","parsing","JSON","data extraction","structured"],"categories":["AI"],"subcategories":{"AI":["Chains","Root Nodes"]},"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.information-extractor/"}]}},"defaults":{"name":"Information Extractor"},"inputs":[{"displayName":"","type":"main"},{"displayName":"Model","maxConnections":1,"type":"ai_languageModel","required":true}],"outputs":["main"],"builderHint":{"inputs":{"ai_languageModel":{"required":true}}},"properties":[{"displayName":"Text","name":"text","type":"string","default":"","description":"The text to extract information from","typeOptions":{"rows":2}},{"displayName":"Schema Type","name":"schemaType","type":"options","noDataExpression":true,"options":[{"name":"From Attribute Descriptions","value":"fromAttributes","description":"Extract specific attributes from the text based on types and descriptions"},{"name":"Generate From JSON Example","value":"fromJson","description":"Generate a schema from an example JSON object"},{"name":"Define using JSON Schema","value":"manual","description":"Define the JSON schema manually"}],"default":"fromAttributes","description":"How to specify the schema for the desired output"},{"displayName":"JSON Example","name":"jsonSchemaExample","type":"json","default":"{\n\t\"state\": \"California\",\n\t\"cities\": [\"Los Angeles\", \"San Francisco\", \"San Diego\"]\n}","noDataExpression":true,"typeOptions":{"rows":10},"displayOptions":{"show":{"schemaType":["fromJson"]}},"description":"Example JSON object to use to generate the schema"},{"displayName":"All properties will be required. To make them optional, use the 'JSON Schema' schema type instead","name":"notice","type":"notice","default":"","displayOptions":{"show":{"@version":[{"_cnd":{"gte":1.2}}],"schemaType":["fromJson"]}}},{"displayName":"Input Schema","name":"inputSchema","type":"json","default":"{\n\t\"type\": \"object\",\n\t\"properties\": {\n\t\t\"state\": {\n\t\t\t\"type\": \"string\"\n\t\t},\n\t\t\"cities\": {\n\t\t\t\"type\": \"array\",\n\t\t\t\"items\": {\n\t\t\t\t\"type\": \"string\"\n\t\t\t}\n\t\t}\n\t}\n}","noDataExpression":false,"typeOptions":{"rows":10},"displayOptions":{"show":{"schemaType":["manual"]}},"description":"Schema to use for the function","hint":"Use <a target=\"_blank\" href=\"https://json-schema.org/\">JSON Schema</a> format (<a target=\"_blank\" href=\"https://json-schema.org/learn/miscellaneous-examples.html\">examples</a>). $refs syntax is currently not supported."},{"displayName":"Attributes","name":"attributes","placeholder":"Add Attribute","type":"fixedCollection","default":{},"displayOptions":{"show":{"schemaType":["fromAttributes"]}},"typeOptions":{"multipleValues":true},"options":[{"name":"attributes","displayName":"Attribute List","values":[{"displayName":"Name","name":"name","type":"string","default":"","description":"Attribute to extract","placeholder":"e.g. company_name","required":true},{"displayName":"Type","name":"type","type":"options","description":"Data type of the attribute","required":true,"options":[{"name":"Boolean","value":"boolean"},{"name":"Date","value":"date"},{"name":"Number","value":"number"},{"name":"String","value":"string"}],"default":"string"},{"displayName":"Description","name":"description","type":"string","default":"","description":"Describe your attribute","placeholder":"Add description for the attribute","required":true},{"displayName":"Required","name":"required","type":"boolean","default":false,"description":"Whether attribute is required","required":true}]}]},{"displayName":"Options","name":"options","type":"collection","default":{},"placeholder":"Add Option","options":[{"displayName":"System Prompt Template","name":"systemPromptTemplate","type":"string","default":"You are an expert extraction algorithm.\nOnly extract relevant information from the text.\nIf you do not know the value of an attribute asked to extract, you may omit the attribute's value.","description":"String to use directly as the system prompt template","typeOptions":{"rows":6}},{"displayName":"Batch Processing","name":"batching","type":"collection","placeholder":"Add Batch Processing Option","description":"Batch processing options for rate limiting","default":{},"options":[{"displayName":"Batch Size","name":"batchSize","default":5,"type":"number","description":"How many items to process in parallel. This is useful for rate limiting, but might impact the log output ordering."},{"displayName":"Delay Between Batches","name":"delayBetweenBatches","default":0,"type":"number","description":"Delay in milliseconds between batches. This is useful for rate limiting."}],"displayOptions":{"show":{"@version":[{"_cnd":{"gte":1.1}}]}}}]}]},
23
23
  {"displayName":"Text Classifier","name":"textClassifier","icon":"node:text-classifier","iconColor":"black","group":["transform"],"version":[1,1.1],"description":"Classify your text into distinct categories","codex":{"categories":["AI"],"subcategories":{"AI":["Chains","Root Nodes"]},"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.text-classifier/"}]}},"defaults":{"name":"Text Classifier"},"inputs":[{"displayName":"","type":"main"},{"displayName":"Model","maxConnections":1,"type":"ai_languageModel","required":true}],"outputs":"={{((parameters) => {\n const categories = parameters.categories?.categories ?? [];\n const fallback = parameters.options?.fallback;\n const ret = categories.map((cat) => {\n return { type: 'main', displayName: cat.category };\n });\n if (fallback === 'other')\n ret.push({ type: 'main', displayName: 'Other' });\n return ret;\n})($parameter)}}","builderHint":{"inputs":{"ai_languageModel":{"required":true}},"searchHint":"Each category defined creates a separate output branch. Output 0 corresponds to the first category, output 1 to the second, and so on. Use .output(index).to() to connect from a specific category. @example textClassifier.output(0).to(nodeA) and textClassifier.output(1).to(nodeB)"},"properties":[{"displayName":"Text to Classify","name":"inputText","type":"string","required":true,"default":"","description":"Use an expression to reference data in previous nodes or enter static text","typeOptions":{"rows":2}},{"displayName":"Categories","name":"categories","placeholder":"Add Category","type":"fixedCollection","default":{},"typeOptions":{"multipleValues":true},"options":[{"name":"categories","displayName":"Categories","values":[{"displayName":"Category","name":"category","type":"string","default":"","description":"Category to add","required":true},{"displayName":"Description","name":"description","type":"string","default":"","description":"Describe your category if it's not obvious"}]}]},{"displayName":"Options","name":"options","type":"collection","default":{},"placeholder":"Add Option","options":[{"displayName":"Allow Multiple Classes To Be True","name":"multiClass","type":"boolean","default":false},{"displayName":"When No Clear Match","name":"fallback","type":"options","default":"discard","description":"What to do with items that don’t match the categories exactly","options":[{"name":"Discard Item","value":"discard","description":"Ignore the item and drop it from the output"},{"name":"Output on Extra, 'Other' Branch","value":"other","description":"Create a separate output branch called 'Other'"}]},{"displayName":"System Prompt Template","name":"systemPromptTemplate","type":"string","default":"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.","description":"String to use directly as the system prompt template","typeOptions":{"rows":6}},{"displayName":"Enable Auto-Fixing","name":"enableAutoFixing","type":"boolean","default":true,"description":"Whether to enable auto-fixing (may trigger an additional LLM call if output is broken)"},{"displayName":"Batch Processing","name":"batching","type":"collection","placeholder":"Add Batch Processing Option","description":"Batch processing options for rate limiting","default":{},"options":[{"displayName":"Batch Size","name":"batchSize","default":5,"type":"number","description":"How many items to process in parallel. This is useful for rate limiting, but might impact the log output ordering."},{"displayName":"Delay Between Batches","name":"delayBetweenBatches","default":0,"type":"number","description":"Delay in milliseconds between batches. This is useful for rate limiting."}],"displayOptions":{"show":{"@version":[{"_cnd":{"gte":1.1}}]}}}]}]},
24
- {"displayName":"LangChain Code","name":"code","icon":"fa:code","iconColor":"black","group":["transform"],"version":1,"description":"LangChain Code Node","hidden":true,"defaults":{"name":"LangChain Code"},"codex":{"categories":["AI"],"subcategories":{"AI":["Miscellaneous"]},"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.code/"}]}},"inputs":"={{ ((values) => { const connectorTypes = {\"ai_chain\":\"Chain\",\"ai_document\":\"Document\",\"ai_embedding\":\"Embedding\",\"ai_languageModel\":\"Language Model\",\"ai_memory\":\"Memory\",\"ai_outputParser\":\"Output Parser\",\"ai_textSplitter\":\"Text Splitter\",\"ai_tool\":\"Tool\",\"ai_vectorStore\":\"Vector Store\",\"main\":\"Main\"}; return values.map(value => { return { type: value.type, required: value.required, maxConnections: value.maxConnections === -1 ? undefined : value.maxConnections, displayName: connectorTypes[value.type] !== 'Main' ? connectorTypes[value.type] : undefined } } ) })($parameter.inputs.input) }}","outputs":"={{ ((values) => { const connectorTypes = {\"ai_chain\":\"Chain\",\"ai_document\":\"Document\",\"ai_embedding\":\"Embedding\",\"ai_languageModel\":\"Language Model\",\"ai_memory\":\"Memory\",\"ai_outputParser\":\"Output Parser\",\"ai_textSplitter\":\"Text Splitter\",\"ai_tool\":\"Tool\",\"ai_vectorStore\":\"Vector Store\",\"main\":\"Main\"}; return values.map(value => { return { type: value.type, displayName: connectorTypes[value.type] !== 'Main' ? connectorTypes[value.type] : undefined } } ) })($parameter.outputs.output) }}","properties":[{"displayName":"Code","name":"code","placeholder":"Add Code","type":"fixedCollection","noDataExpression":true,"default":{},"options":[{"name":"execute","displayName":"Execute","values":[{"displayName":"JavaScript - Execute","name":"code","type":"string","typeOptions":{"editor":"jsEditor"},"default":"const { PromptTemplate } = require('@langchain/core/prompts');\n\nconst query = 'Tell me a joke';\nconst prompt = PromptTemplate.fromTemplate(query);\n\n// If you are allowing more than one language model input connection (-1 or\n// anything greater than 1), getInputConnectionData returns an array, so you\n// will have to change the code below it to deal with that. For example, use\n// llm[0] in the chain definition\n\nconst llm = await this.getInputConnectionData('ai_languageModel', 0);\nlet chain = prompt.pipe(llm);\nconst output = await chain.invoke();\nreturn [ {json: { output } } ];\n\n// NOTE: Old langchain imports (e.g., 'langchain/chains') are automatically\n// converted to '@langchain/classic' imports for backwards compatibility.","hint":"This code will only run and return data if a \"Main\" input & output got created.","noDataExpression":true}]},{"name":"supplyData","displayName":"Supply Data","values":[{"displayName":"JavaScript - Supply Data","name":"code","type":"string","typeOptions":{"editor":"jsEditor"},"default":"const { WikipediaQueryRun } = require( '@langchain/community/tools/wikipedia_query_run');\nreturn new WikipediaQueryRun();","hint":"This code will only run and return data if an output got created which is not \"Main\".","noDataExpression":true}]}]},{"displayName":"You can import LangChain and use all available functionality. Debug by using <code>console.log()</code> statements and viewing their output in the browser console.","name":"notice","type":"notice","default":""},{"displayName":"Inputs","name":"inputs","placeholder":"Add Input","type":"fixedCollection","noDataExpression":true,"typeOptions":{"multipleValues":true,"sortable":true},"description":"The input to add","default":{},"options":[{"name":"input","displayName":"Input","values":[{"displayName":"Type","name":"type","type":"options","options":[{"name":"Chain","value":"ai_chain"},{"name":"Document","value":"ai_document"},{"name":"Embedding","value":"ai_embedding"},{"name":"Language Model","value":"ai_languageModel"},{"name":"Memory","value":"ai_memory"},{"name":"Output Parser","value":"ai_outputParser"},{"name":"Text Splitter","value":"ai_textSplitter"},{"name":"Tool","value":"ai_tool"},{"name":"Vector Store","value":"ai_vectorStore"},{"name":"Main","value":"main"}],"noDataExpression":true,"default":"","required":true,"description":"The type of the input"},{"displayName":"Max Connections","name":"maxConnections","type":"number","noDataExpression":true,"default":-1,"required":true,"description":"How many nodes of this type are allowed to be connected. Set it to -1 for unlimited."},{"displayName":"Required","name":"required","type":"boolean","noDataExpression":true,"default":false,"required":true,"description":"Whether the input needs a connection"}]}]},{"displayName":"Outputs","name":"outputs","placeholder":"Add Output","type":"fixedCollection","noDataExpression":true,"typeOptions":{"multipleValues":true,"sortable":true},"description":"The output to add","default":{},"options":[{"name":"output","displayName":"Output","values":[{"displayName":"Type","name":"type","type":"options","options":[{"name":"Chain","value":"ai_chain"},{"name":"Document","value":"ai_document"},{"name":"Embedding","value":"ai_embedding"},{"name":"Language Model","value":"ai_languageModel"},{"name":"Memory","value":"ai_memory"},{"name":"Output Parser","value":"ai_outputParser"},{"name":"Text Splitter","value":"ai_textSplitter"},{"name":"Tool","value":"ai_tool"},{"name":"Vector Store","value":"ai_vectorStore"},{"name":"Main","value":"main"}],"noDataExpression":true,"default":"","required":true,"description":"The type of the input"}]}]}]},
24
+ {"displayName":"LangChain Code","name":"code","deprecated":true,"icon":"fa:code","iconColor":"black","group":["transform"],"version":1,"description":"LangChain Code Node","hidden":true,"defaults":{"name":"LangChain Code"},"codex":{"categories":["AI"],"subcategories":{"AI":["Miscellaneous"]},"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.code/"}]}},"inputs":"={{ ((values) => { const connectorTypes = {\"ai_chain\":\"Chain\",\"ai_document\":\"Document\",\"ai_embedding\":\"Embedding\",\"ai_languageModel\":\"Language Model\",\"ai_memory\":\"Memory\",\"ai_outputParser\":\"Output Parser\",\"ai_textSplitter\":\"Text Splitter\",\"ai_tool\":\"Tool\",\"ai_vectorStore\":\"Vector Store\",\"main\":\"Main\"}; return values.map(value => { return { type: value.type, required: value.required, maxConnections: value.maxConnections === -1 ? undefined : value.maxConnections, displayName: connectorTypes[value.type] !== 'Main' ? connectorTypes[value.type] : undefined } } ) })($parameter.inputs.input) }}","outputs":"={{ ((values) => { const connectorTypes = {\"ai_chain\":\"Chain\",\"ai_document\":\"Document\",\"ai_embedding\":\"Embedding\",\"ai_languageModel\":\"Language Model\",\"ai_memory\":\"Memory\",\"ai_outputParser\":\"Output Parser\",\"ai_textSplitter\":\"Text Splitter\",\"ai_tool\":\"Tool\",\"ai_vectorStore\":\"Vector Store\",\"main\":\"Main\"}; return values.map(value => { return { type: value.type, displayName: connectorTypes[value.type] !== 'Main' ? connectorTypes[value.type] : undefined } } ) })($parameter.outputs.output) }}","properties":[{"displayName":"Code","name":"code","placeholder":"Add Code","type":"fixedCollection","noDataExpression":true,"default":{},"options":[{"name":"execute","displayName":"Execute","values":[{"displayName":"JavaScript - Execute","name":"code","type":"string","typeOptions":{"editor":"jsEditor"},"default":"const { PromptTemplate } = require('@langchain/core/prompts');\n\nconst query = 'Tell me a joke';\nconst prompt = PromptTemplate.fromTemplate(query);\n\n// If you are allowing more than one language model input connection (-1 or\n// anything greater than 1), getInputConnectionData returns an array, so you\n// will have to change the code below it to deal with that. For example, use\n// llm[0] in the chain definition\n\nconst llm = await this.getInputConnectionData('ai_languageModel', 0);\nlet chain = prompt.pipe(llm);\nconst output = await chain.invoke();\nreturn [ {json: { output } } ];\n\n// NOTE: Old langchain imports (e.g., 'langchain/chains') are automatically\n// converted to '@langchain/classic' imports for backwards compatibility.","hint":"This code will only run and return data if a \"Main\" input & output got created.","noDataExpression":true}]},{"name":"supplyData","displayName":"Supply Data","values":[{"displayName":"JavaScript - Supply Data","name":"code","type":"string","typeOptions":{"editor":"jsEditor"},"default":"const { WikipediaQueryRun } = require( '@langchain/community/tools/wikipedia_query_run');\nreturn new WikipediaQueryRun();","hint":"This code will only run and return data if an output got created which is not \"Main\".","noDataExpression":true}]}]},{"displayName":"You can import LangChain and use all available functionality. Debug by using <code>console.log()</code> statements and viewing their output in the browser console.","name":"notice","type":"notice","default":""},{"displayName":"Inputs","name":"inputs","placeholder":"Add Input","type":"fixedCollection","noDataExpression":true,"typeOptions":{"multipleValues":true,"sortable":true},"description":"The input to add","default":{},"options":[{"name":"input","displayName":"Input","values":[{"displayName":"Type","name":"type","type":"options","options":[{"name":"Chain","value":"ai_chain"},{"name":"Document","value":"ai_document"},{"name":"Embedding","value":"ai_embedding"},{"name":"Language Model","value":"ai_languageModel"},{"name":"Memory","value":"ai_memory"},{"name":"Output Parser","value":"ai_outputParser"},{"name":"Text Splitter","value":"ai_textSplitter"},{"name":"Tool","value":"ai_tool"},{"name":"Vector Store","value":"ai_vectorStore"},{"name":"Main","value":"main"}],"noDataExpression":true,"default":"","required":true,"description":"The type of the input"},{"displayName":"Max Connections","name":"maxConnections","type":"number","noDataExpression":true,"default":-1,"required":true,"description":"How many nodes of this type are allowed to be connected. Set it to -1 for unlimited."},{"displayName":"Required","name":"required","type":"boolean","noDataExpression":true,"default":false,"required":true,"description":"Whether the input needs a connection"}]}]},{"displayName":"Outputs","name":"outputs","placeholder":"Add Output","type":"fixedCollection","noDataExpression":true,"typeOptions":{"multipleValues":true,"sortable":true},"description":"The output to add","default":{},"options":[{"name":"output","displayName":"Output","values":[{"displayName":"Type","name":"type","type":"options","options":[{"name":"Chain","value":"ai_chain"},{"name":"Document","value":"ai_document"},{"name":"Embedding","value":"ai_embedding"},{"name":"Language Model","value":"ai_languageModel"},{"name":"Memory","value":"ai_memory"},{"name":"Output Parser","value":"ai_outputParser"},{"name":"Text Splitter","value":"ai_textSplitter"},{"name":"Tool","value":"ai_tool"},{"name":"Vector Store","value":"ai_vectorStore"},{"name":"Main","value":"main"}],"noDataExpression":true,"default":"","required":true,"description":"The type of the input"}]}]}]},
25
25
  {"displayName":"Default Data Loader","name":"documentDefaultDataLoader","icon":"node:default-data-loader","iconColor":"gray","group":["transform"],"version":[1,1.1],"defaultVersion":1.1,"description":"Load data from previous step in the workflow","defaults":{"name":"Default Data Loader"},"codex":{"categories":["AI"],"subcategories":{"AI":["Document Loaders"]},"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.documentdefaultdataloader/"}]}},"inputs":"={{ ((parameter) => { function getInputs(parameters) {\n const inputs = [];\n const textSplittingMode = parameters?.textSplittingMode;\n if (!textSplittingMode || textSplittingMode === 'custom') {\n inputs.push({\n displayName: 'Text Splitter',\n maxConnections: 1,\n type: 'ai_textSplitter',\n required: true,\n });\n }\n return inputs;\n}; return getInputs(parameter) })($parameter) }}","outputs":["ai_document"],"outputNames":["Document"],"builderHint":{"inputs":{"ai_textSplitter":{"required":true,"displayOptions":{"show":{"textSplittingMode":["custom"]}}}}},"properties":[{"displayName":"This will load data from a previous step in the workflow. <a href=\"/templates/1962\" target=\"_blank\">Example</a>","name":"notice","type":"notice","default":""},{"displayName":"Type of Data","name":"dataType","type":"options","default":"json","required":true,"noDataExpression":true,"options":[{"name":"JSON","value":"json","description":"Process JSON data from previous step in the workflow"},{"name":"Binary","value":"binary","description":"Process binary data from previous step in the workflow"}]},{"displayName":"Mode","name":"jsonMode","type":"options","default":"allInputData","required":true,"displayOptions":{"show":{"dataType":["json"]}},"options":[{"name":"Load All Input Data","value":"allInputData","description":"Use all JSON data that flows into the parent agent or chain"},{"name":"Load Specific Data","value":"expressionData","description":"Load a subset of data, and/or data from any previous step in the workflow"}]},{"displayName":"Mode","name":"binaryMode","type":"options","default":"allInputData","required":true,"displayOptions":{"show":{"dataType":["binary"]}},"options":[{"name":"Load All Input Data","value":"allInputData","description":"Use all Binary data that flows into the parent agent or chain"},{"name":"Load Specific Data","value":"specificField","description":"Load data from a specific field in the parent agent or chain"}]},{"displayName":"Data Format","name":"loader","type":"options","default":"auto","required":true,"displayOptions":{"show":{"dataType":["binary"]}},"options":[{"name":"Automatically Detect by Mime Type","value":"auto","description":"Uses the mime type to detect the format"},{"name":"CSV","value":"csvLoader","description":"Load CSV files"},{"name":"Docx","value":"docxLoader","description":"Load Docx documents"},{"name":"EPub","value":"epubLoader","description":"Load EPub files"},{"name":"JSON","value":"jsonLoader","description":"Load JSON files"},{"name":"PDF","value":"pdfLoader","description":"Load PDF documents"},{"name":"Text","value":"textLoader","description":"Load plain text files"}]},{"displayName":"Data","name":"jsonData","type":"string","typeOptions":{"rows":6},"default":"","required":true,"description":"Drag and drop fields from the input pane, or use an expression","displayOptions":{"show":{"dataType":["json"],"jsonMode":["expressionData"]}}},{"displayName":"Input Data Field Name","name":"binaryDataKey","type":"string","default":"data","required":true,"description":"The name of the field in the agent or chain’s input that contains the binary file to be processed","displayOptions":{"show":{"dataType":["binary"]},"hide":{"binaryMode":["allInputData"]}}},{"displayName":"Text Splitting","name":"textSplittingMode","type":"options","default":"simple","required":true,"noDataExpression":true,"displayOptions":{"show":{"@version":[1.1]}},"options":[{"name":"Simple","value":"simple","description":"Splits every 1000 characters with a 200 character overlap"},{"name":"Custom","value":"custom","description":"Connect a custom text-splitting sub-node"}]},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"JSON Pointers","name":"pointers","type":"string","default":"","description":"Pointers to extract from JSON, e.g. \"/text\" or \"/text, /meta/title\"","displayOptions":{"show":{"/loader":["jsonLoader","auto"]}}},{"displayName":"CSV Separator","name":"separator","type":"string","description":"Separator to use for CSV","default":",","displayOptions":{"show":{"/loader":["csvLoader","auto"]}}},{"displayName":"CSV Column","name":"column","type":"string","default":"","description":"Column to extract from CSV","displayOptions":{"show":{"/loader":["csvLoader","auto"]}}},{"displayName":"Split Pages in PDF","description":"Whether to split PDF pages into separate documents","name":"splitPages","type":"boolean","default":true,"displayOptions":{"show":{"/loader":["pdfLoader","auto"]}}},{"displayName":"Metadata","name":"metadata","type":"fixedCollection","description":"Metadata to add to each document. Could be used for filtering during retrieval","typeOptions":{"multipleValues":true},"default":{},"placeholder":"Add property","options":[{"name":"metadataValues","displayName":"Fields to Set","values":[{"displayName":"Name","name":"name","type":"string","default":"","required":true},{"displayName":"Value","name":"value","type":"string","default":""}]}]}]}]},
26
26
  {"hidden":true,"displayName":"Binary Input Loader","name":"documentBinaryInputLoader","group":["transform"],"version":1,"description":"Use binary data from a previous step in the workflow","defaults":{"name":"Binary Input Loader"},"codex":{"categories":["AI"],"subcategories":{"AI":["Document Loaders"]},"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.documentdefaultdataloader/"}]}},"inputs":[{"displayName":"Text Splitter","maxConnections":1,"type":"ai_textSplitter","required":true}],"outputs":["ai_document"],"outputNames":["Document"],"builderHint":{"inputs":{"ai_textSplitter":{"required":true}}},"properties":[{"displayName":"This node must be connected to a vector store. <a data-action='openSelectiveNodeCreator' data-action-parameter-connectiontype='ai_vectorStore'>Insert one</a>","name":"notice","type":"notice","default":"","typeOptions":{"containerClass":"ndv-connection-hint-notice"}},{"displayName":"Loader Type","name":"loader","type":"options","default":"jsonLoader","required":true,"options":[{"name":"CSV Loader","value":"csvLoader","description":"Load CSV files"},{"name":"Docx Loader","value":"docxLoader","description":"Load Docx documents"},{"name":"EPub Loader","value":"epubLoader","description":"Load EPub files"},{"name":"JSON Loader","value":"jsonLoader","description":"Load JSON files"},{"name":"PDF Loader","value":"pdfLoader","description":"Load PDF documents"},{"name":"Text Loader","value":"textLoader","description":"Load plain text files"}]},{"displayName":"Binary Data Key","name":"binaryDataKey","type":"string","default":"data","required":true,"description":"Name of the binary property from which to read the file buffer"},{"displayName":"Split Pages","name":"splitPages","type":"boolean","default":true,"displayOptions":{"show":{"loader":["pdfLoader"]}}},{"displayName":"Column","name":"column","type":"string","default":"","description":"Column to extract from CSV","displayOptions":{"show":{"loader":["csvLoader"]}}},{"displayName":"Separator","name":"separator","type":"string","description":"Separator to use for CSV","default":",","displayOptions":{"show":{"loader":["csvLoader"]}}},{"displayName":"Pointers","name":"pointers","type":"string","default":"","description":"Pointers to extract from JSON, e.g. \"/text\" or \"/text, /meta/title\"","displayOptions":{"show":{"loader":["jsonLoader"]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Metadata","name":"metadata","type":"fixedCollection","description":"Metadata to add to each document. Could be used for filtering during retrieval","typeOptions":{"multipleValues":true},"default":{},"placeholder":"Add property","options":[{"name":"metadataValues","displayName":"Fields to Set","values":[{"displayName":"Name","name":"name","type":"string","default":"","required":true},{"displayName":"Value","name":"value","type":"string","default":""}]}]}]}],"iconUrl":"icons/@n8n/n8n-nodes-langchain/dist/nodes/document_loaders/DocumentBinaryInputLoader/binary.svg"},
27
27
  {"displayName":"GitHub Document Loader","name":"documentGithubLoader","group":["transform"],"version":[1,1.1],"defaultVersion":1.1,"description":"Use GitHub data as input to this chain","hidden":true,"defaults":{"name":"GitHub Document Loader"},"codex":{"categories":["AI"],"subcategories":{"AI":["Document Loaders"]},"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.documentgithubloader/"}]}},"credentials":[{"name":"githubApi","required":true}],"inputs":"={{ ((parameter) => { function getInputs(parameters) {\n const inputs = [];\n const textSplittingMode = parameters?.textSplittingMode;\n if (!textSplittingMode || textSplittingMode === 'custom') {\n inputs.push({\n displayName: 'Text Splitter',\n maxConnections: 1,\n type: 'ai_textSplitter',\n required: true,\n });\n }\n return inputs;\n}; return getInputs(parameter) })($parameter) }}","inputNames":["Text Splitter"],"outputs":["ai_document"],"outputNames":["Document"],"builderHint":{"inputs":{"ai_textSplitter":{"required":true,"displayOptions":{"show":{"textSplittingMode":["custom"]}}}}},"properties":[{"displayName":"This node must be connected to a vector store. <a data-action='openSelectiveNodeCreator' data-action-parameter-connectiontype='ai_vectorStore'>Insert one</a>","name":"notice","type":"notice","default":"","typeOptions":{"containerClass":"ndv-connection-hint-notice"}},{"displayName":"Repository Link","name":"repository","type":"string","default":""},{"displayName":"Branch","name":"branch","type":"string","default":"main"},{"displayName":"Text Splitting","name":"textSplittingMode","type":"options","default":"simple","required":true,"noDataExpression":true,"displayOptions":{"show":{"@version":[1.1]}},"options":[{"name":"Simple","value":"simple","description":"Splits every 1000 characters with a 200 character overlap"},{"name":"Custom","value":"custom","description":"Connect a custom text-splitting sub-node"}]},{"displayName":"Options","name":"additionalOptions","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Recursive","name":"recursive","type":"boolean","default":false},{"displayName":"Ignore Paths","name":"ignorePaths","type":"string","description":"Comma-separated list of paths to ignore, e.g. \"docs, src/tests","default":""}]}],"iconUrl":"icons/@n8n/n8n-nodes-langchain/dist/nodes/document_loaders/DocumentGithubLoader/github.svg"},
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@n8n/n8n-nodes-langchain",
3
- "version": "2.42.3",
3
+ "version": "2.42.5",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "exports": {
@@ -199,7 +199,7 @@
199
199
  ]
200
200
  },
201
201
  "devDependencies": {
202
- "@n8n/eslint-plugin-community-nodes": "0.35.0",
202
+ "@n8n/eslint-plugin-community-nodes": "0.35.1",
203
203
  "@n8n/vitest-config": "1.23.0",
204
204
  "@typescript-eslint/typescript-estree": "8.70.0",
205
205
  "@types/basic-auth": "^1.1.3",
@@ -262,14 +262,14 @@
262
262
  "@mistralai/mistralai": "^2.2.1",
263
263
  "@modelcontextprotocol/sdk": "1.26.0",
264
264
  "@mozilla/readability": "^0.6.0",
265
- "@n8n/ai-utilities": "0.35.3",
266
- "@n8n/client-oauth2": "1.24.3",
267
- "@n8n/config": "2.40.0",
265
+ "@n8n/ai-utilities": "0.35.5",
266
+ "@n8n/client-oauth2": "1.24.5",
267
+ "@n8n/config": "2.40.2",
268
268
  "@n8n/di": "0.17.0",
269
269
  "@n8n/json-schema-to-zod": "1.17.0",
270
270
  "@n8n/typeorm": "0.3.20-16",
271
271
  "@n8n/typescript-config": "1.12.0",
272
- "@n8n/utils": "1.49.0",
272
+ "@n8n/utils": "1.49.1",
273
273
  "@oracle/langchain-oracledb": "0.2.0",
274
274
  "@pinecone-database/pinecone": "^5.0.2",
275
275
  "@qdrant/js-client-rest": "^1.19.0",
@@ -298,9 +298,9 @@
298
298
  "mime-types": "3.0.2",
299
299
  "mongodb": "^6.17.0",
300
300
  "mysql2": "3.23.1",
301
- "n8n-core": "2.42.3",
302
- "n8n-nodes-base": "2.42.3",
303
- "n8n-workflow": "2.42.2",
301
+ "n8n-core": "2.42.5",
302
+ "n8n-nodes-base": "2.42.5",
303
+ "n8n-workflow": "2.42.4",
304
304
  "openai": "6.46.0",
305
305
  "oracledb": "6.10.0",
306
306
  "pg": "8.21.0",