From eeba6180fd2d53f642108be048aaba02684996f7 Mon Sep 17 00:00:00 2001 From: Steven Milanese Date: Fri, 7 Mar 2025 05:26:14 -0500 Subject: [PATCH 01/11] Update README.md and package.json n8n-nodes-tavilyapi --- README.md | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index d779f45..41e5317 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# n8n-tavily-nodes +# n8n-nodes-tavilyapi -**n8n-tavily-nodes** is an n8n community node package that integrates the [Tavily API](https://api.tavily.com) for powerful **web search** and **content extraction**. +**n8n-nodes-tavilyapi** is an n8n community node package that integrates the [Tavily API](https://api.tavily.com) for powerful **web search** and **content extraction**. It contains two nodes: @@ -51,7 +51,7 @@ It contains two nodes: 1. From your n8n root directory, run: ```bash - npm install n8n-tavily-nodes + npm install n8n-nodes-tavilyapi ``` 2. Restart n8n. diff --git a/package.json b/package.json index f0f4f7e..233b79c 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "n8n-tavily-nodes", + "name": "n8n-nodes-tavilyapi", "version": "1.0.0", "description": "n8n Community Nodes for Tavily API integration", "author": "Steven Milanese (https://StevenMilanese.com)", From 0abfc2d5f059a7e9dcc6bda4de79d4ced04fbad0 Mon Sep 17 00:00:00 2001 From: Steven Milanese Date: Fri, 7 Mar 2025 05:26:48 -0500 Subject: [PATCH 02/11] 1.0.1 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 252d125..71aa577 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "n8n-tavily-nodes", - "version": "1.0.0", + "version": "1.0.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "n8n-tavily-nodes", - "version": "1.0.0", + "version": "1.0.1", "license": "MIT", "dependencies": { "axios": "^1.6.0", diff --git a/package.json b/package.json index 233b79c..162ba3a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "n8n-nodes-tavilyapi", - "version": "1.0.0", + "version": "1.0.1", "description": "n8n Community Nodes for Tavily API integration", "author": "Steven Milanese (https://StevenMilanese.com)", "license": "MIT", From c307b188240ad824714cf7b205ef5277293637c6 Mon Sep 17 00:00:00 2001 From: Steven Milanese Date: Fri, 7 Mar 2025 16:24:12 -0500 Subject: [PATCH 03/11] Add untracked files --- src/nodes/Tavily/tavily.svg | 87 +++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 src/nodes/Tavily/tavily.svg diff --git a/src/nodes/Tavily/tavily.svg b/src/nodes/Tavily/tavily.svg new file mode 100644 index 0000000..dca491c --- /dev/null +++ b/src/nodes/Tavily/tavily.svg @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 6762ff6882be1c6c51358bcfdbf0c70380c1e884 Mon Sep 17 00:00:00 2001 From: Steven Milanese Date: Fri, 7 Mar 2025 16:24:28 -0500 Subject: [PATCH 04/11] 1.0.2 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 71aa577..59ef259 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "n8n-tavily-nodes", - "version": "1.0.1", + "version": "1.0.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "n8n-tavily-nodes", - "version": "1.0.1", + "version": "1.0.2", "license": "MIT", "dependencies": { "axios": "^1.6.0", diff --git a/package.json b/package.json index 162ba3a..80afe1c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "n8n-nodes-tavilyapi", - "version": "1.0.1", + "version": "1.0.2", "description": "n8n Community Nodes for Tavily API integration", "author": "Steven Milanese (https://StevenMilanese.com)", "license": "MIT", From 7a1a22aa506991582f1de4e38920f313e16b4f6f Mon Sep 17 00:00:00 2001 From: Steven Milanese Date: Fri, 7 Mar 2025 22:44:11 -0500 Subject: [PATCH 05/11] chore: replaced svg --- src/nodes/Tavily/tavily.svg | 98 +++++++------------------------------ 1 file changed, 17 insertions(+), 81 deletions(-) diff --git a/src/nodes/Tavily/tavily.svg b/src/nodes/Tavily/tavily.svg index dca491c..5c62dc0 100644 --- a/src/nodes/Tavily/tavily.svg +++ b/src/nodes/Tavily/tavily.svg @@ -1,87 +1,23 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - + + + - - + + + + - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + \ No newline at end of file From c53def8e0ebdbb88e738337f4df51485037affd6 Mon Sep 17 00:00:00 2001 From: Steven Milanese Date: Fri, 7 Mar 2025 22:44:23 -0500 Subject: [PATCH 06/11] 1.0.3 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 59ef259..9b17225 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "n8n-tavily-nodes", - "version": "1.0.2", + "version": "1.0.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "n8n-tavily-nodes", - "version": "1.0.2", + "version": "1.0.3", "license": "MIT", "dependencies": { "axios": "^1.6.0", diff --git a/package.json b/package.json index 80afe1c..ce31789 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "n8n-nodes-tavilyapi", - "version": "1.0.2", + "version": "1.0.3", "description": "n8n Community Nodes for Tavily API integration", "author": "Steven Milanese (https://StevenMilanese.com)", "license": "MIT", From d5998f44db0d6fb484966fc88abf4f188a7feed7 Mon Sep 17 00:00:00 2001 From: Steven Milanese Date: Sat, 8 Mar 2025 01:31:48 -0500 Subject: [PATCH 07/11] cp svg in package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ce31789..3cae89b 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "license": "MIT", "main": "dist/index.js", "scripts": { - "build": "tsc", + "build": "tsc && cp src/nodes/Tavily/tavily.svg dist/ && cp src/nodes/Tavily/tavily.svg dist/nodes/Tavily/", "prepublishOnly": "npm run build" }, "keywords": [ From ca408074d26dea0bf5d6048a161ef6de161cf6c1 Mon Sep 17 00:00:00 2001 From: Steven Milanese Date: Sat, 8 Mar 2025 01:33:01 -0500 Subject: [PATCH 08/11] 1.0.4 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9b17225..a5f5353 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "n8n-tavily-nodes", - "version": "1.0.3", + "version": "1.0.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "n8n-tavily-nodes", - "version": "1.0.3", + "version": "1.0.4", "license": "MIT", "dependencies": { "axios": "^1.6.0", diff --git a/package.json b/package.json index 3cae89b..1655e2d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "n8n-nodes-tavilyapi", - "version": "1.0.3", + "version": "1.0.4", "description": "n8n Community Nodes for Tavily API integration", "author": "Steven Milanese (https://StevenMilanese.com)", "license": "MIT", From 8c6c37c5e6b7c1bbbc6cce644488e2cedbc7a44e Mon Sep 17 00:00:00 2001 From: Steven Milanese Date: Sat, 8 Mar 2025 01:49:33 -0500 Subject: [PATCH 09/11] copy-assets.js --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1655e2d..ab1d4cd 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "license": "MIT", "main": "dist/index.js", "scripts": { - "build": "tsc && cp src/nodes/Tavily/tavily.svg dist/ && cp src/nodes/Tavily/tavily.svg dist/nodes/Tavily/", + "build": "tsc && node copy-assets.js", "prepublishOnly": "npm run build" }, "keywords": [ From 745e563952147f8d192b36b1708f470f50d12d33 Mon Sep 17 00:00:00 2001 From: Steven Milanese Date: Sat, 8 Mar 2025 01:49:44 -0500 Subject: [PATCH 10/11] 1.0.5 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index a5f5353..8fbf98a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "n8n-tavily-nodes", - "version": "1.0.4", + "version": "1.0.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "n8n-tavily-nodes", - "version": "1.0.4", + "version": "1.0.5", "license": "MIT", "dependencies": { "axios": "^1.6.0", diff --git a/package.json b/package.json index ab1d4cd..4a6faae 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "n8n-nodes-tavilyapi", - "version": "1.0.4", + "version": "1.0.5", "description": "n8n Community Nodes for Tavily API integration", "author": "Steven Milanese (https://StevenMilanese.com)", "license": "MIT", From c9eff5c665e7a7f7ef49bf3568400441c3e61e6c Mon Sep 17 00:00:00 2001 From: Steven Milanese Date: Sat, 8 Mar 2025 02:55:41 -0500 Subject: [PATCH 11/11] Only get param if --- src/nodes/Tavily/TavilySearch.node.ts | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/nodes/Tavily/TavilySearch.node.ts b/src/nodes/Tavily/TavilySearch.node.ts index 772f9b3..63b72ee 100644 --- a/src/nodes/Tavily/TavilySearch.node.ts +++ b/src/nodes/Tavily/TavilySearch.node.ts @@ -6,11 +6,9 @@ import { INodeTypeDescription, INodeProperties, } from 'n8n-workflow'; -// REMOVED import { IExecuteFunctions } from 'n8n-core'; import { tavilyApiRequest } from './tavilyApi.utils'; -// For older n8n usage, ALLOWED_TIME_RANGES is fine here const ALLOWED_TIME_RANGES = ['', 'day', 'week', 'month', 'year', 'd', 'w', 'm', 'y']; export class TavilySearch implements INodeType { @@ -217,11 +215,15 @@ export class TavilySearch implements INodeType { const searchDepth = this.getNodeParameter('searchDepth', i) as string; const maxResults = this.getNodeParameter('maxResults', i) as number; const timeRange = this.getNodeParameter('timeRange', i) as string; - const days = this.getNodeParameter('days', i) as number; const includeAnswer = this.getNodeParameter('includeAnswer', i) as string; const includeRawContent = this.getNodeParameter('includeRawContent', i) as boolean; const includeImages = this.getNodeParameter('includeImages', i) as boolean; - const includeImageDescriptions = this.getNodeParameter('includeImageDescriptions', i) as boolean; + let includeImageDescriptions = false; + + if (includeImages) { + includeImageDescriptions = this.getNodeParameter('includeImageDescriptions', i) as boolean; + } + const includeDomains = this.getNodeParameter('includeDomains', i, []) as string[]; const excludeDomains = this.getNodeParameter('excludeDomains', i, []) as string[]; @@ -237,9 +239,6 @@ export class TavilySearch implements INodeType { message: `Invalid timeRange value. Allowed: ${ALLOWED_TIME_RANGES.join(', ')}`, }); } - if (topic === 'news' && days < 0) { - throw new NodeApiError(this.getNode(), { message: 'Days must be >= 0 when topic is "news".' }); - } const body: Record = { query, @@ -254,9 +253,16 @@ export class TavilySearch implements INodeType { if (timeRange) { body.time_range = timeRange; } + + // Only get and add days parameter when topic is news if (topic === 'news') { + const days = this.getNodeParameter('days', i) as number; + if (days < 0) { + throw new NodeApiError(this.getNode(), { message: 'Days must be >= 0 when topic is "news".' }); + } body.days = days; } + if (includeAnswer !== 'false') { body.include_answer = includeAnswer; } @@ -286,4 +292,4 @@ export class TavilySearch implements INodeType { return [returnData]; } -} +} \ No newline at end of file