n8n-nodes-trendswell 0.1.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/LICENSE.md ADDED
@@ -0,0 +1,19 @@
1
+ Copyright 2022 n8n
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
4
+ this software and associated documentation files (the "Software"), to deal in
5
+ the Software without restriction, including without limitation the rights to
6
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
7
+ of the Software, and to permit persons to whom the Software is furnished to do
8
+ so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,75 @@
1
+ # n8n-nodes-trendswell
2
+
3
+ Custom **n8n community nodes** for [Trendswell](https://app.trendswell.ai).
4
+ This package provides:
5
+
6
+ - **Credentials** for authenticating with the Trendswell API
7
+ - **Trigger node** for receiving real-time events
8
+ - **Action node** for interacting with Trendswell endpoints
9
+
10
+ ---
11
+
12
+ ## ✨ Features
13
+
14
+ - 🔑 API Key authentication (`auth-token` header)
15
+ - 📡 **Trigger Node**: Reacts to Trendswell events via webhooks
16
+ - ⚙️ **Action Node**: Perform operations with the Trendswell API
17
+
18
+ ---
19
+
20
+ ## 📦 Installation
21
+
22
+ ### From npm (recommended)
23
+
24
+ ```bash
25
+ npm install n8n-nodes-trendswell
26
+ ```
27
+
28
+ ### From source
29
+
30
+ Clone this repository into your n8n custom nodes directory:
31
+
32
+ ```bash
33
+ git clone https://github.com/<your-username>/n8n-nodes-trendswell.git
34
+ cd n8n-nodes-trendswell
35
+ npm install
36
+ npm run build
37
+ ```
38
+
39
+ Then add the built package to your n8n instance (using `dist`).
40
+
41
+ ---
42
+
43
+ ## 🔑 Credentials
44
+
45
+ You’ll need your **Trendswell API token**.
46
+ When creating credentials in n8n, enter your API key, which will be injected as an `auth-token` header in every request.
47
+
48
+ ---
49
+
50
+ ## 🚀 Usage
51
+
52
+ 1. Add **Trendswell Trigger** node to your workflow.
53
+
54
+ - This will register a webhook URL with your Trendswell backend.
55
+ - When an event occurs, n8n will receive the payload.
56
+
57
+ 2. Add **Trendswell Action** node to perform API operations.
58
+
59
+ ---
60
+
61
+ ## 🖼️ Icons
62
+
63
+ Icons are included and will display in the n8n editor UI.
64
+
65
+ ---
66
+
67
+ ## 🤝 Contributing
68
+
69
+ Pull requests are welcome! Please open an issue before submitting major changes.
70
+
71
+ ---
72
+
73
+ ## 📄 License
74
+
75
+ [MIT](LICENSE) © 2025 Marchese company
@@ -0,0 +1,44 @@
1
+ import {
2
+ ICredentialType,
3
+ INodeProperties,
4
+ IAuthenticate,
5
+ ICredentialTestRequest,
6
+ IHttpRequestMethods,
7
+ } from 'n8n-workflow';
8
+
9
+ export const backendURL = 'https://api.trendswell.ai';
10
+
11
+ export class TrendswellApi implements ICredentialType {
12
+ name = 'trendswellApi';
13
+ displayName = 'Trendswell API';
14
+ documentationUrl = `${backendURL}/docs`; // optional
15
+
16
+ properties: INodeProperties[] = [
17
+ {
18
+ displayName: 'Auth Token',
19
+ name: 'authToken',
20
+ type: 'string',
21
+ default: '',
22
+ required: true,
23
+ typeOptions: { password: true },
24
+ },
25
+ ];
26
+
27
+ // Inject header: auth-token: <user token>
28
+ authenticate: IAuthenticate = {
29
+ type: 'generic',
30
+ properties: {
31
+ headers: {
32
+ 'auth-token': '={{$credentials.authToken}}',
33
+ },
34
+ },
35
+ };
36
+
37
+ // Test like Zapier: GET /user/me
38
+ test: ICredentialTestRequest = {
39
+ request: {
40
+ method: 'GET' as IHttpRequestMethods,
41
+ url: `${backendURL}/user/me`,
42
+ },
43
+ };
44
+ }
@@ -0,0 +1,10 @@
1
+ import { ICredentialType, INodeProperties, IAuthenticate, ICredentialTestRequest } from 'n8n-workflow';
2
+ export declare const backendURL = "https://api.trendswell.ai";
3
+ export declare class TrendswellApi implements ICredentialType {
4
+ name: string;
5
+ displayName: string;
6
+ documentationUrl: string;
7
+ properties: INodeProperties[];
8
+ authenticate: IAuthenticate;
9
+ test: ICredentialTestRequest;
10
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrendswellApi = exports.backendURL = void 0;
4
+ exports.backendURL = 'https://api.trendswell.ai';
5
+ class TrendswellApi {
6
+ constructor() {
7
+ this.name = 'trendswellApi';
8
+ this.displayName = 'Trendswell API';
9
+ this.documentationUrl = `${exports.backendURL}/docs`;
10
+ this.properties = [
11
+ {
12
+ displayName: 'Auth Token',
13
+ name: 'authToken',
14
+ type: 'string',
15
+ default: '',
16
+ required: true,
17
+ typeOptions: { password: true },
18
+ },
19
+ ];
20
+ this.authenticate = {
21
+ type: 'generic',
22
+ properties: {
23
+ headers: {
24
+ 'auth-token': '={{$credentials.authToken}}',
25
+ },
26
+ },
27
+ };
28
+ this.test = {
29
+ request: {
30
+ method: 'GET',
31
+ url: `${exports.backendURL}/user/me`,
32
+ },
33
+ };
34
+ }
35
+ }
36
+ exports.TrendswellApi = TrendswellApi;
37
+ //# sourceMappingURL=TrendswellApi.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrendswellApi.credentials.js","sourceRoot":"","sources":["../../credentials/TrendswellApi.credentials.ts"],"names":[],"mappings":";;;AAQa,QAAA,UAAU,GAAG,2BAA2B,CAAC;AAEtD,MAAa,aAAa;IAA1B;QACC,SAAI,GAAG,eAAe,CAAC;QACvB,gBAAW,GAAG,gBAAgB,CAAC;QAC/B,qBAAgB,GAAG,GAAG,kBAAU,OAAO,CAAC;QAExC,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,YAAY;gBACzB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC/B;SACD,CAAC;QAGF,iBAAY,GAAkB;YAC7B,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,YAAY,EAAE,6BAA6B;iBAC3C;aACD;SACD,CAAC;QAGF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,MAAM,EAAE,KAA4B;gBACpC,GAAG,EAAE,GAAG,kBAAU,UAAU;aAC5B;SACD,CAAC;IACH,CAAC;CAAA;AAjCD,sCAiCC"}
@@ -0,0 +1,6 @@
1
+ import { TrendswellApi } from './credentials/TrendswellApi.credentials';
2
+ import { Trendswell } from './nodes/Trendswell/Trendswell.node';
3
+ import { TrendswellTrigger } from './nodes/Trendswell/TrendswellTrigger.node';
4
+ export declare const version = 1;
5
+ export declare const credentials: (typeof TrendswellApi)[];
6
+ export declare const nodes: (typeof Trendswell | typeof TrendswellTrigger)[];
package/dist/index.js ADDED
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nodes = exports.credentials = exports.version = void 0;
4
+ const TrendswellApi_credentials_1 = require("./credentials/TrendswellApi.credentials");
5
+ const Trendswell_node_1 = require("./nodes/Trendswell/Trendswell.node");
6
+ const TrendswellTrigger_node_1 = require("./nodes/Trendswell/TrendswellTrigger.node");
7
+ exports.version = 1;
8
+ exports.credentials = [TrendswellApi_credentials_1.TrendswellApi];
9
+ exports.nodes = [Trendswell_node_1.Trendswell, TrendswellTrigger_node_1.TrendswellTrigger];
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAAA,uFAAwE;AACxE,wEAAgE;AAChE,sFAA8E;AAEjE,QAAA,OAAO,GAAG,CAAC,CAAC;AAEZ,QAAA,WAAW,GAAG,CAAC,yCAAa,CAAC,CAAC;AAC9B,QAAA,KAAK,GAAG,CAAC,4BAAU,EAAE,0CAAiB,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
2
+ export declare class Trendswell implements INodeType {
3
+ description: INodeTypeDescription;
4
+ execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
5
+ }
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Trendswell = void 0;
4
+ const TrendswellApi_credentials_1 = require("../../credentials/TrendswellApi.credentials");
5
+ class Trendswell {
6
+ constructor() {
7
+ this.description = {
8
+ displayName: 'Trendswell',
9
+ name: 'trendswell',
10
+ icon: 'file:icons/trendswell.png',
11
+ group: ['transform'],
12
+ version: 1,
13
+ description: 'Custom node for Trendswell search',
14
+ defaults: {
15
+ name: 'Trendswell',
16
+ },
17
+ inputs: ["main"],
18
+ outputs: ["main"],
19
+ properties: [
20
+ {
21
+ displayName: 'Search Text',
22
+ name: 'searchText',
23
+ type: 'string',
24
+ default: '',
25
+ placeholder: 'Enter keyword or question',
26
+ description: 'Enter keyword or question',
27
+ required: true,
28
+ },
29
+ {
30
+ displayName: 'AI Strength',
31
+ name: 'aiStrength',
32
+ type: 'options',
33
+ options: [
34
+ { name: 'Basic', value: 'Basic' },
35
+ { name: 'Premium', value: 'Premium' },
36
+ ],
37
+ default: 'Basic',
38
+ description: 'Select AI Strength',
39
+ required: true,
40
+ },
41
+ {
42
+ displayName: 'Country',
43
+ name: 'countryCode',
44
+ type: 'options',
45
+ options: [
46
+ { name: 'Australia', value: 'AU' },
47
+ { name: 'Myanmar (Burma)', value: 'MM' },
48
+ { name: 'Cambodia', value: 'KH' },
49
+ { name: 'Canada', value: 'CA' },
50
+ { name: 'Sri Lanka', value: 'LK' },
51
+ { name: 'Cyprus', value: 'CY' },
52
+ { name: 'Ghana', value: 'GH' },
53
+ { name: 'Greece', value: 'GR' },
54
+ { name: 'Hong Kong', value: 'HK' },
55
+ { name: 'India', value: 'IN' },
56
+ { name: 'Indonesia', value: 'ID' },
57
+ { name: 'Ireland', value: 'IE' },
58
+ { name: 'Kenya', value: 'KE' },
59
+ { name: 'Malaysia', value: 'MY' },
60
+ { name: 'Malta', value: 'MT' },
61
+ { name: 'New Zealand', value: 'NZ' },
62
+ { name: 'Nigeria', value: 'NG' },
63
+ { name: 'Pakistan', value: 'PK' },
64
+ { name: 'Philippines', value: 'PH' },
65
+ { name: 'Singapore', value: 'SG' },
66
+ { name: 'Vietnam', value: 'VN' },
67
+ { name: 'South Africa', value: 'ZA' },
68
+ { name: 'United Arab Emirates', value: 'AE' },
69
+ { name: 'Egypt', value: 'EG' },
70
+ { name: 'United Kingdom', value: 'GB' },
71
+ { name: 'United States', value: 'US' },
72
+ ],
73
+ default: 'US',
74
+ description: 'Select the country',
75
+ required: true,
76
+ },
77
+ {
78
+ displayName: 'Example 1',
79
+ name: 'example1',
80
+ type: 'string',
81
+ default: '',
82
+ },
83
+ {
84
+ displayName: 'Example 2',
85
+ name: 'example2',
86
+ type: 'string',
87
+ default: '',
88
+ },
89
+ {
90
+ displayName: 'Example 3',
91
+ name: 'example3',
92
+ type: 'string',
93
+ default: '',
94
+ },
95
+ {
96
+ displayName: 'Niche 1',
97
+ name: 'niche1',
98
+ type: 'string',
99
+ default: '',
100
+ },
101
+ {
102
+ displayName: 'Niche 2',
103
+ name: 'niche2',
104
+ type: 'string',
105
+ default: '',
106
+ },
107
+ ],
108
+ credentials: [
109
+ {
110
+ name: 'trendswellApi',
111
+ required: true,
112
+ },
113
+ ],
114
+ };
115
+ }
116
+ async execute() {
117
+ const searchText = this.getNodeParameter('searchText', 0);
118
+ const aiStrength = this.getNodeParameter('aiStrength', 0);
119
+ const countryCode = this.getNodeParameter('countryCode', 0);
120
+ const example1 = this.getNodeParameter('example1', 0);
121
+ const example2 = this.getNodeParameter('example2', 0);
122
+ const example3 = this.getNodeParameter('example3', 0);
123
+ const niche1 = this.getNodeParameter('niche1', 0);
124
+ const niche2 = this.getNodeParameter('niche2', 0);
125
+ const credentials = await this.getCredentials('trendswellApi');
126
+ const authToken = credentials.authToken;
127
+ const body = {
128
+ searchText,
129
+ aiStrength,
130
+ countryCode,
131
+ examples: [example1, example2, example3].filter(Boolean),
132
+ niches: [niche1, niche2].filter(Boolean),
133
+ };
134
+ const response = await this.helpers.httpRequest({
135
+ method: 'POST',
136
+ url: `${TrendswellApi_credentials_1.backendURL}/n8n/automated-search`,
137
+ headers: {
138
+ 'Content-Type': 'application/json',
139
+ 'auth-token': authToken,
140
+ },
141
+ body,
142
+ json: true,
143
+ });
144
+ return [[{ json: response }]];
145
+ }
146
+ }
147
+ exports.Trendswell = Trendswell;
148
+ //# sourceMappingURL=Trendswell.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Trendswell.node.js","sourceRoot":"","sources":["../../../nodes/Trendswell/Trendswell.node.ts"],"names":[],"mappings":";;;AAOA,2FAAyE;AAEzE,MAAa,UAAU;IAAvB;QACC,gBAAW,GAAyB;YACnC,WAAW,EAAE,YAAY;YACzB,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,2BAA2B;YACjC,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,mCAAmC;YAChD,QAAQ,EAAE;gBACT,IAAI,EAAE,YAAY;aAClB;YACD,MAAM,EAAE,QAAyB;YACjC,OAAO,EAAE,QAAyB;YAClC,UAAU,EAAE;gBACX;oBACC,WAAW,EAAE,aAAa;oBAC1B,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,EAAE;oBACX,WAAW,EAAE,2BAA2B;oBACxC,WAAW,EAAE,2BAA2B;oBACxC,QAAQ,EAAE,IAAI;iBACd;gBACD;oBACC,WAAW,EAAE,aAAa;oBAC1B,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACR,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;wBACjC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;qBACrC;oBACD,OAAO,EAAE,OAAO;oBAChB,WAAW,EAAE,oBAAoB;oBACjC,QAAQ,EAAE,IAAI;iBACd;gBACD;oBACC,WAAW,EAAE,SAAS;oBACtB,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACR,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE;wBAClC,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAE;wBACxC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE;wBACjC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE;wBAC/B,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE;wBAClC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE;wBAC/B,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE;wBAC9B,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE;wBAC/B,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE;wBAClC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE;wBAC9B,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE;wBAClC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE;wBAChC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE;wBAC9B,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE;wBACjC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE;wBAC9B,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE;wBACpC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE;wBAChC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE;wBACjC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE;wBACpC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE;wBAClC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE;wBAChC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE;wBACrC,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,IAAI,EAAE;wBAC7C,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE;wBAC9B,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE;wBACvC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE;qBACtC;oBACD,OAAO,EAAE,IAAI;oBACb,WAAW,EAAE,oBAAoB;oBACjC,QAAQ,EAAE,IAAI;iBACd;gBACD;oBACC,WAAW,EAAE,WAAW;oBACxB,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,EAAE;iBACX;gBACD;oBACC,WAAW,EAAE,WAAW;oBACxB,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,EAAE;iBACX;gBACD;oBACC,WAAW,EAAE,WAAW;oBACxB,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,EAAE;iBACX;gBACD;oBACC,WAAW,EAAE,SAAS;oBACtB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,EAAE;iBACX;gBACD;oBACC,WAAW,EAAE,SAAS;oBACtB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,EAAE;iBACX;aACD;YACD,WAAW,EAAE;gBACZ;oBACC,IAAI,EAAE,eAAe;oBACrB,QAAQ,EAAE,IAAI;iBACd;aACD;SACD,CAAC;IAoCH,CAAC;IAlCA,KAAK,CAAC,OAAO;QACZ,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,CAAW,CAAC;QACpE,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,CAAW,CAAC;QACpE,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAW,CAAC;QACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAW,CAAC;QAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAW,CAAC;QAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAW,CAAC;QAChE,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAW,CAAC;QAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAW,CAAC;QAE5D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAC/D,MAAM,SAAS,GAAG,WAAW,CAAC,SAAmB,CAAC;QAElD,MAAM,IAAI,GAAG;YACZ,UAAU;YACV,UAAU;YACV,WAAW;YACX,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;YACxD,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;SACxC,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YAC/C,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,GAAG,sCAAU,uBAAuB;YACzC,OAAO,EAAE;gBACR,cAAc,EAAE,kBAAkB;gBAClC,YAAY,EAAE,SAAS;aACvB;YACD,IAAI;YACJ,IAAI,EAAE,IAAI;SACV,CAAC,CAAC;QAEH,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;CACD;AAhJD,gCAgJC"}
@@ -0,0 +1,16 @@
1
+ import { IHookFunctions, IWebhookFunctions, INodeType, INodeTypeDescription, JsonObject } from 'n8n-workflow';
2
+ export declare class TrendswellTrigger implements INodeType {
3
+ description: INodeTypeDescription;
4
+ webhookMethods: {
5
+ default: {
6
+ checkExists(this: IHookFunctions): Promise<boolean>;
7
+ create(this: IHookFunctions): Promise<boolean>;
8
+ delete(this: IHookFunctions): Promise<boolean>;
9
+ };
10
+ };
11
+ webhook(this: IWebhookFunctions): Promise<{
12
+ workflowData: {
13
+ json: JsonObject;
14
+ }[][];
15
+ }>;
16
+ }
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrendswellTrigger = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ const TrendswellApi_credentials_1 = require("../../credentials/TrendswellApi.credentials");
6
+ class TrendswellTrigger {
7
+ constructor() {
8
+ this.description = {
9
+ displayName: 'Trendswell Trigger',
10
+ name: 'trendswellTrigger',
11
+ icon: 'file:icons/trendswell.png',
12
+ group: ['trigger'],
13
+ version: 1,
14
+ description: 'Starts workflow when a Trendswell event occurs',
15
+ defaults: { name: 'Trendswell Trigger' },
16
+ inputs: [],
17
+ outputs: ["main"],
18
+ credentials: [
19
+ {
20
+ name: 'trendswellApi',
21
+ required: true,
22
+ },
23
+ ],
24
+ webhooks: [
25
+ {
26
+ name: 'default',
27
+ httpMethod: 'POST',
28
+ responseMode: 'onReceived',
29
+ path: 'trendswell',
30
+ },
31
+ ],
32
+ properties: [
33
+ {
34
+ displayName: 'Webhook For',
35
+ name: 'webhookFor',
36
+ type: 'options',
37
+ noDataExpression: true,
38
+ options: [{ name: 'Trendswell Searches', value: 'trendswell-searches' }],
39
+ default: 'trendswell-searches',
40
+ description: 'The type of event this webhook should listen for',
41
+ },
42
+ ],
43
+ };
44
+ this.webhookMethods = {
45
+ default: {
46
+ async checkExists() {
47
+ try {
48
+ const staticData = this.getWorkflowStaticData('node');
49
+ const webhookId = staticData === null || staticData === void 0 ? void 0 : staticData.webhookId;
50
+ if (!webhookId) {
51
+ return false;
52
+ }
53
+ const credentials = (await this.getCredentials('trendswellApi'));
54
+ const authToken = credentials === null || credentials === void 0 ? void 0 : credentials.authToken;
55
+ if (!authToken)
56
+ return false;
57
+ await this.helpers.request({
58
+ method: 'GET',
59
+ url: `${TrendswellApi_credentials_1.backendURL}/n8n/webhooks/${webhookId}`,
60
+ headers: {
61
+ 'auth-token': authToken,
62
+ Accept: 'application/json',
63
+ },
64
+ json: true,
65
+ });
66
+ return true;
67
+ }
68
+ catch (error) {
69
+ return false;
70
+ }
71
+ },
72
+ async create() {
73
+ try {
74
+ const credentials = await this.getCredentials('trendswellApi');
75
+ const authToken = credentials.authToken;
76
+ if (!authToken) {
77
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'No auth token available for Trendswell credentials');
78
+ }
79
+ const webhookUrl = this.getNodeWebhookUrl('default');
80
+ const webhookFor = this.getNodeParameter('webhookFor');
81
+ const response = await this.helpers.request({
82
+ method: 'POST',
83
+ url: `${TrendswellApi_credentials_1.backendURL}/n8n/subscription-webhooks`,
84
+ headers: {
85
+ 'Content-Type': 'application/json',
86
+ Accept: 'application/json',
87
+ 'auth-token': authToken,
88
+ },
89
+ body: {
90
+ url: webhookUrl,
91
+ webhookFor,
92
+ },
93
+ json: true,
94
+ });
95
+ if (!(response === null || response === void 0 ? void 0 : response.id)) {
96
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'No subscription ID returned from Trendswell API');
97
+ }
98
+ const staticData = this.getWorkflowStaticData('node');
99
+ staticData.webhookId = response.id;
100
+ return true;
101
+ }
102
+ catch (error) {
103
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), error);
104
+ }
105
+ },
106
+ async delete() {
107
+ try {
108
+ const staticData = this.getWorkflowStaticData('node');
109
+ const webhookId = staticData === null || staticData === void 0 ? void 0 : staticData.webhookId;
110
+ if (!webhookId) {
111
+ return true;
112
+ }
113
+ const credentials = (await this.getCredentials('trendswellApi'));
114
+ const authToken = credentials === null || credentials === void 0 ? void 0 : credentials.authToken;
115
+ await this.helpers.request({
116
+ method: 'DELETE',
117
+ url: `${TrendswellApi_credentials_1.backendURL}/n8n/webhooks/${webhookId}`,
118
+ headers: {
119
+ 'Content-Type': 'application/json',
120
+ Accept: 'application/json',
121
+ 'auth-token': authToken,
122
+ },
123
+ body: {
124
+ hookUrl: webhookId,
125
+ },
126
+ json: true,
127
+ });
128
+ delete staticData.webhookId;
129
+ return true;
130
+ }
131
+ catch (error) {
132
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), error);
133
+ }
134
+ },
135
+ },
136
+ };
137
+ }
138
+ async webhook() {
139
+ var _a;
140
+ const body = this.getBodyData();
141
+ const data = (_a = body === null || body === void 0 ? void 0 : body.data) !== null && _a !== void 0 ? _a : body;
142
+ if (Array.isArray(data)) {
143
+ const items = data.map((entry) => ({ json: entry }));
144
+ return {
145
+ workflowData: [items],
146
+ };
147
+ }
148
+ return {
149
+ workflowData: [[{ json: data }]],
150
+ };
151
+ }
152
+ }
153
+ exports.TrendswellTrigger = TrendswellTrigger;
154
+ //# sourceMappingURL=TrendswellTrigger.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrendswellTrigger.node.js","sourceRoot":"","sources":["../../../nodes/Trendswell/TrendswellTrigger.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="512" height="512">
3
+ <path d="M0 0 C168.96 0 337.92 0 512 0 C512 168.96 512 337.92 512 512 C343.04 512 174.08 512 0 512 C0 343.04 0 174.08 0 0 Z " fill="#FEFEFE" transform="translate(0,0)"/>
4
+ <path d="M0 0 C3.62091572 0.04156296 7.24194957 0.05932267 10.86303711 0.0793457 C17.91670312 0.12172711 24.9699014 0.18962419 32.02319336 0.2746582 C30.0129961 9.71908287 30.0129961 9.71908287 28.46459961 14.13012695 C28.1669873 14.98364746 27.869375 15.83716797 27.56274414 16.71655273 C27.24031738 17.62260254 26.91789062 18.52865234 26.58569336 19.4621582 C26.06724854 20.93724854 26.06724854 20.93724854 25.53833008 22.44213867 C22.42216286 31.26011252 19.18356838 40.03307705 15.94418335 48.80633545 C12.03711702 59.39497571 8.30884427 70.03728454 4.65698242 80.71704102 C1.61741355 89.59393626 -1.52730814 98.4282247 -4.72558594 107.24902344 C-7.18044112 114.02979593 -9.56627536 120.83123462 -11.91430664 127.6496582 C-14.83152733 136.1145128 -17.90310061 144.51362621 -21.03930664 152.8996582 C-25.00499832 163.51192432 -28.67588264 174.19149879 -32.21069336 184.95336914 C-40.09518943 208.84304047 -48.25956365 233.31625441 -63.97680664 253.2746582 C-64.37883301 253.7902832 -64.78085937 254.3059082 -65.19506836 254.8371582 C-83.08243239 277.58425316 -106.52317364 291.07943543 -134.97680664 296.2746582 C-135.8851123 296.44884277 -136.79341797 296.62302734 -137.72924805 296.80249023 C-141.48050918 297.34789236 -145.18611107 297.50555927 -148.96899414 297.59106445 C-149.78747833 297.61189087 -150.60596252 297.63271729 -151.44924927 297.6541748 C-154.24999516 297.7216433 -157.05082773 297.78021516 -159.85180664 297.8371582 C-160.83149414 297.8583371 -161.81118164 297.87951599 -162.82055664 297.90133667 C-200.86171128 298.69423597 -238.92982437 298.35949519 -276.97680664 298.2746582 C-276.97680664 297.9446582 -276.97680664 297.6146582 -276.97680664 297.2746582 C-275.86305664 297.05551758 -274.74930664 296.83637695 -273.60180664 296.6105957 C-252.60326371 292.319075 -232.15812223 284.77625245 -215.97680664 270.2746582 C-215.14922852 269.56567383 -214.32165039 268.85668945 -213.46899414 268.1262207 C-203.35140118 259.3081351 -195.29363947 249.46510841 -187.97680664 238.2746582 C-187.4315332 237.44192383 -186.88625977 236.60918945 -186.32446289 235.7512207 C-180.21510458 225.99569363 -175.44686692 215.44996682 -171.99633789 204.48168945 C-170.77918571 200.65302302 -169.44743392 196.87218925 -168.10180664 193.0871582 C-167.8450415 192.36238281 -167.58827637 191.63760742 -167.32373047 190.89086914 C-166.79963526 189.41172336 -166.27513803 187.93271997 -165.75024414 186.45385742 C-164.53151821 183.02003557 -163.31580479 179.58515416 -162.10180664 176.1496582 C-161.85599854 175.45412842 -161.61019043 174.75859863 -161.35693359 174.04199219 C-159.64436202 169.18779774 -157.95137697 164.32702134 -156.26513672 159.46362305 C-149.21049362 139.12041154 -142.11473676 118.78126295 -134.57836914 98.6105957 C-133.45111476 95.58669109 -132.37011669 92.55024492 -131.31274414 89.5012207 C-125.73226323 73.55950801 -118.70848859 59.42729197 -107.97680664 46.2746582 C-107.14050921 45.22286096 -106.30458022 44.17077066 -105.46899414 43.1184082 C-100.74836719 37.24180158 -95.91375924 31.93025413 -89.97680664 27.2746582 C-88.65422852 26.21504883 -88.65422852 26.21504883 -87.30493164 25.1340332 C-60.52453327 4.30483447 -33.18706071 -0.42230468 0 0 Z " fill="#0183F9" transform="translate(478.976806640625,32.725341796875)"/>
5
+ <path d="M0 0 C3.62874569 0.01898058 7.25750192 0.02053383 10.8862896 0.02407622 C17.73173353 0.03333479 24.57703068 0.05786301 31.42241049 0.08812469 C39.22672345 0.12186358 47.03104408 0.13820328 54.83541203 0.153211 C70.86535446 0.18441949 86.89515111 0.23705701 102.92498589 0.30418181 C99.75842666 1.97102159 96.64611591 3.00681551 93.1901226 3.95164275 C72.57576266 9.5907738 55.54095728 19.92868132 39.92498589 34.30418181 C39.23920464 34.91906463 38.55342339 35.53394744 37.84686089 36.16746306 C18.77625409 54.12413255 8.36793407 79.0894864 0.50311089 103.48777556 C-0.71975124 107.26945479 -2.05107121 110.98173126 -3.51251411 114.67918181 C-5.73663935 120.31507198 -7.72970873 126.01360767 -9.70001411 131.74168181 C-12.83558198 140.84771453 -16.11031043 149.89621578 -19.45001411 158.92918181 C-23.22327816 169.13752068 -26.86421493 179.38190457 -30.38751411 189.67918181 C-38.72617063 213.97558004 -47.29201058 236.42957237 -64.07501411 256.30418181 C-64.74017036 257.11629119 -65.40532661 257.92840056 -66.09063911 258.76511931 C-77.65453719 272.34199224 -92.92715518 282.37212251 -109.13751411 289.55418181 C-109.82547066 289.87153289 -110.5134272 290.18888396 -111.22223091 290.51585174 C-129.71888406 298.32454642 -149.51014232 297.83085846 -169.18914986 297.57884002 C-172.79684003 297.53718983 -176.40465051 297.51949953 -180.01251411 297.49949431 C-187.03363079 297.45718136 -194.05427488 297.38933669 -201.07501411 297.30418181 C-197.79799517 287.43011412 -194.51167607 277.56161515 -191.07501411 267.74168181 C-190.73744087 266.77480437 -190.39986763 265.80792693 -190.0520649 264.81175017 C-189.37584079 262.87636671 -188.69894444 260.94121797 -188.02130318 259.00633025 C-187.15981669 256.54633736 -186.30083487 254.08548406 -185.44220161 251.62449431 C-183.12672988 245.00736743 -180.75534832 238.419468 -178.26251411 231.86668181 C-174.30422158 221.44592512 -170.75099621 210.8810273 -167.12384224 200.34177947 C-164.81291894 193.64892387 -162.44664645 186.9757173 -160.07501411 180.30418181 C-159.69216255 179.22652556 -159.30931099 178.14886931 -158.91485786 177.03855681 C-156.56612604 170.44618409 -154.19542191 163.86184848 -151.82208443 157.27830291 C-146.51148627 142.5439104 -141.28180799 127.78488381 -136.13751411 112.99168181 C-135.79929634 112.02053435 -135.46107857 111.04938689 -135.11261177 110.04881072 C-133.45806333 105.29544245 -131.81151208 100.53966918 -130.18438911 95.77683806 C-127.20025312 87.07698324 -124.15338526 78.5645018 -120.07501411 70.30418181 C-119.63802193 69.35800994 -119.20102974 68.41183806 -118.75079536 67.43699431 C-113.0051108 55.31596112 -105.34268938 44.97400472 -96.07501411 35.30418181 C-95.27063911 34.45855681 -94.46626411 33.61293181 -93.63751411 32.74168181 C-92.79188911 31.93730681 -91.94626411 31.13293181 -91.07501411 30.30418181 C-90.05214302 29.30644744 -90.05214302 29.30644744 -89.00860786 28.28855681 C-82.59173003 22.23217773 -75.73945669 17.64836003 -68.07501411 13.30418181 C-67.40083443 12.916174 -66.72665474 12.52816619 -66.03204536 12.12840056 C-61.71223017 9.81114871 -57.12973163 8.03984233 -52.57501411 6.24168181 C-51.34782661 5.75570525 -50.12063911 5.26972869 -48.85626411 4.76902556 C-32.81811619 -0.47116574 -16.68167704 -0.10223043 0 0 Z " fill="#71B5FE" transform="translate(201.07501411437988,162.69581818580627)"/>
6
+ <path d="M0 0 C0 0.33 0 0.66 0 1 C24.09 1.33 48.18 1.66 73 2 C73 2.33 73 2.66 73 3 C43.96 3 14.92 3 -15 3 C-15 2.67 -15 2.34 -15 2 C-9.92523206 0.73694665 -5.27203646 -0.27036084 0 0 Z " fill="#5BAFFB" transform="translate(217,328)"/>
7
+ </svg>
@@ -0,0 +1,51 @@
1
+ {
2
+ "name": "n8n-nodes-trendswell",
3
+ "version": "0.1.0",
4
+ "description": "n8n nodes for Trendswell (API key auth, one action, one trigger)",
5
+ "author": "Junaid Khokhar",
6
+ "license": "MIT",
7
+ "keywords": [
8
+ "n8n",
9
+ "n8n-node",
10
+ "n8n-community-node-package",
11
+ "trendswell",
12
+ "workflow-automation"
13
+ ],
14
+ "files": [
15
+ "dist",
16
+ "credentials",
17
+ "nodes",
18
+ "icons"
19
+ ],
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "https://github.com/getcurrentai/n8n-nodes-trendswell.git"
23
+ },
24
+ "homepage": "https://github.com/getcurrentai/n8n-nodes-trendswell",
25
+ "bugs": {
26
+ "url": "https://github.com/getcurrentai/n8n-nodes-trendswell/issues"
27
+ },
28
+ "n8n": {
29
+ "credentials": [
30
+ "dist/credentials/TrendswellApi.credentials.js"
31
+ ],
32
+ "nodes": [
33
+ "dist/nodes/Trendswell/Trendswell.node.js",
34
+ "dist/nodes/Trendswell/TrendswellTrigger.node.js"
35
+ ]
36
+ },
37
+ "scripts": {
38
+ "build": "tsc && npm run copy:icons",
39
+ "copy:icons": "copyfiles -u 2 nodes/**/icons/**/* dist/nodes/Trendswell",
40
+ "dev": "tsc -w",
41
+ "prepublishOnly": "npm run build"
42
+ },
43
+ "dependencies": {
44
+ "n8n-workflow": "^1.82.0"
45
+ },
46
+ "devDependencies": {
47
+ "@types/node": "^24.5.2",
48
+ "copyfiles": "^2.4.1",
49
+ "typescript": "^5.9.2"
50
+ }
51
+ }
@@ -0,0 +1 @@
1
+ {"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../node_modules/typescript/lib/lib.esnext.float16.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/axios/index.d.ts","../node_modules/@types/node/compatibility/iterators.d.ts","../node_modules/@types/node/globals.typedarray.d.ts","../node_modules/@types/node/buffer.buffer.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/web-globals/abortcontroller.d.ts","../node_modules/@types/node/web-globals/domexception.d.ts","../node_modules/@types/node/web-globals/events.d.ts","../node_modules/undici-types/utility.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client-stats.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/h2c-client.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-call-history.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/undici-types/retry-handler.d.ts","../node_modules/undici-types/retry-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/cache-interceptor.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/util.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/eventsource.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/web-globals/fetch.d.ts","../node_modules/@types/node/web-globals/navigator.d.ts","../node_modules/@types/node/web-globals/storage.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/inspector.generated.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/sea.d.ts","../node_modules/@types/node/sqlite.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/form-data/index.d.ts","../node_modules/n8n-workflow/dist/constants.d.ts","../node_modules/n8n-workflow/dist/deferredpromise.d.ts","../node_modules/n8n-workflow/dist/errors/error.types.d.ts","../node_modules/n8n-workflow/dist/errors/base/base.error.d.ts","../node_modules/n8n-workflow/dist/errors/base/operational.error.d.ts","../node_modules/n8n-workflow/dist/errors/base/unexpected.error.d.ts","../node_modules/n8n-workflow/dist/errors/base/user.error.d.ts","../node_modules/n8n-workflow/dist/errors/application.error.d.ts","../node_modules/n8n-workflow/dist/errors/abstract/execution-base.error.d.ts","../node_modules/n8n-workflow/dist/errors/expression.error.d.ts","../node_modules/n8n-workflow/dist/errors/execution-cancelled.error.d.ts","../node_modules/n8n-workflow/dist/errors/abstract/node.error.d.ts","../node_modules/n8n-workflow/dist/errors/node-api.error.d.ts","../node_modules/n8n-workflow/dist/errors/node-operation.error.d.ts","../node_modules/n8n-workflow/dist/errors/node-ssl.error.d.ts","../node_modules/n8n-workflow/dist/errors/workflow-activation.error.d.ts","../node_modules/n8n-workflow/dist/errors/webhook-taken.error.d.ts","../node_modules/n8n-workflow/dist/errors/workflow-deactivation.error.d.ts","../node_modules/n8n-workflow/dist/errors/workflow-operation.error.d.ts","../node_modules/n8n-workflow/dist/errors/subworkflow-operation.error.d.ts","../node_modules/n8n-workflow/dist/errors/cli-subworkflow-operation.error.d.ts","../node_modules/n8n-workflow/dist/errors/trigger-close.error.d.ts","../node_modules/n8n-workflow/dist/errors/expression-extension.error.d.ts","../node_modules/n8n-workflow/dist/errors/db-connection-timeout-error.d.ts","../node_modules/n8n-workflow/dist/errors/ensure-error.d.ts","../node_modules/n8n-workflow/dist/errors/index.d.ts","../node_modules/n8n-workflow/dist/executionstatus.d.ts","../node_modules/n8n-workflow/dist/result.d.ts","../node_modules/n8n-workflow/dist/expression.d.ts","../node_modules/n8n-workflow/dist/workflow.d.ts","../node_modules/n8n-workflow/dist/workflowdataproxyenvprovider.d.ts","../node_modules/n8n-workflow/dist/interfaces.d.ts","../node_modules/n8n-workflow/dist/loggerproxy.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/types.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/gen/namedtypes.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/gen/kinds.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/gen/builders.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/lib/types.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/lib/path.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/lib/scope.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/lib/node-path.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/lib/path-visitor.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/gen/visitor.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/main.d.ts","../node_modules/@n8n/tournament/node_modules/recast/lib/options.d.ts","../node_modules/@n8n/tournament/node_modules/recast/lib/parser.d.ts","../node_modules/@n8n/tournament/node_modules/recast/lib/printer.d.ts","../node_modules/@n8n/tournament/node_modules/recast/main.d.ts","../node_modules/@n8n/tournament/dist/expressionsplitter.d.ts","../node_modules/@n8n/tournament/node_modules/ast-types/lib/gen/namedtypes.d.ts","../node_modules/@n8n/tournament/node_modules/ast-types/lib/gen/kinds.d.ts","../node_modules/@n8n/tournament/node_modules/ast-types/lib/gen/builders.d.ts","../node_modules/@n8n/tournament/node_modules/ast-types/lib/types.d.ts","../node_modules/@n8n/tournament/node_modules/ast-types/lib/path.d.ts","../node_modules/@n8n/tournament/node_modules/ast-types/lib/scope.d.ts","../node_modules/@n8n/tournament/node_modules/ast-types/lib/node-path.d.ts","../node_modules/@n8n/tournament/node_modules/ast-types/lib/path-visitor.d.ts","../node_modules/@n8n/tournament/node_modules/ast-types/lib/gen/visitor.d.ts","../node_modules/@n8n/tournament/node_modules/ast-types/lib/main.d.ts","../node_modules/@n8n/tournament/dist/ast.d.ts","../node_modules/@n8n/tournament/dist/expressionbuilder.d.ts","../node_modules/@n8n/tournament/dist/evaluator.d.ts","../node_modules/@n8n/tournament/dist/analysis.d.ts","../node_modules/@n8n/tournament/dist/index.d.ts","../node_modules/n8n-workflow/dist/expressionevaluatorproxy.d.ts","../node_modules/n8n-workflow/dist/nodehelpers.d.ts","../node_modules/n8n-workflow/dist/observableobject.d.ts","../node_modules/n8n-workflow/dist/telemetryhelpers.d.ts","../node_modules/n8n-workflow/dist/cron.d.ts","../node_modules/n8n-workflow/dist/globalstate.d.ts","../node_modules/n8n-workflow/dist/messageeventbus.d.ts","../node_modules/zod/lib/helpers/typealiases.d.ts","../node_modules/zod/lib/helpers/util.d.ts","../node_modules/zod/lib/zoderror.d.ts","../node_modules/zod/lib/locales/en.d.ts","../node_modules/zod/lib/errors.d.ts","../node_modules/zod/lib/helpers/parseutil.d.ts","../node_modules/zod/lib/helpers/enumutil.d.ts","../node_modules/zod/lib/helpers/errorutil.d.ts","../node_modules/zod/lib/helpers/partialutil.d.ts","../node_modules/zod/lib/standard-schema.d.ts","../node_modules/zod/lib/types.d.ts","../node_modules/zod/lib/external.d.ts","../node_modules/zod/lib/index.d.ts","../node_modules/zod/index.d.ts","../node_modules/n8n-workflow/dist/fromaiparseutils.d.ts","../node_modules/n8n-workflow/dist/metadatautils.d.ts","../node_modules/n8n-workflow/dist/workflowdataproxy.d.ts","../node_modules/n8n-workflow/dist/versionednodetype.d.ts","../node_modules/n8n-workflow/dist/typevalidation.d.ts","../node_modules/n8n-workflow/dist/utils.d.ts","../node_modules/n8n-workflow/dist/type-guards.d.ts","../node_modules/n8n-workflow/dist/extensions/extensions.d.ts","../node_modules/n8n-workflow/dist/extensions/expressionextension.d.ts","../node_modules/n8n-workflow/dist/extensions/index.d.ts","../node_modules/n8n-workflow/dist/extensions/expressionparser.d.ts","../node_modules/n8n-workflow/dist/nativemethods/index.d.ts","../node_modules/n8n-workflow/dist/nodeparameters/filterparameter.d.ts","../node_modules/n8n-workflow/dist/index.d.ts","../credentials/trendswellapi.credentials.ts","../nodes/trendswell/trendswell.node.ts","../nodes/trendswell/trendswelltrigger.node.ts","../index.ts","../package.json"],"fileIdsList":[[53,104,121,122,254],[53,104,121,122,255,256,257],[53,104,121,122,216],[53,104,121,122,203,214],[53,104,121,122,219],[53,104,121,122,203,204,215],[53,104,121,122],[53,104,121,122,215,216,217,218],[53,104,121,122,205,206],[53,104,121,122,205],[53,104,121,122,206,208],[53,104,121,122,205,211,212],[53,104,121,122,205,207,208,209,211,212,213],[53,104,121,122,208,209,210],[53,104,121,122,208,211,213],[53,104,121,122,208],[53,104,121,122,208,211],[53,104,121,122,205,207],[53,104,121,122,189],[53,104,121,122,200],[53,104,121,122,199,200,201,202],[53,104,121,122,190,191],[53,104,121,122,190],[53,104,121,122,189,191,193],[53,104,121,122,190,196,197],[53,104,121,122,189,193,194,195],[53,104,121,122,189,193,196,198],[53,104,121,122,189,193],[53,104,121,122,189,196],[53,104,121,122,189,190,192],[53,104,121,122,189,190,192,193,194,196,197,198],[53,101,104,121,122],[53,103,104,121,122],[104,121,122],[53,104,109,121,122,139],[53,104,105,110,115,121,122,124,136,147],[53,104,105,106,115,121,122,124],[53,104,107,121,122,148],[53,104,108,109,116,121,122,125],[53,104,109,121,122,136,144],[53,104,110,112,115,121,122,124],[53,103,104,111,121,122],[53,104,112,113,121,122],[53,104,114,115,121,122],[53,103,104,115,121,122],[53,104,115,116,117,121,122,136,147],[53,104,115,116,117,121,122,131,136,139],[53,97,104,112,115,118,121,122,124,136,147,254],[53,104,115,116,118,119,121,122,124,136,144,147],[53,104,118,120,121,122,136,144,147],[51,52,53,54,55,56,57,98,99,100,101,102,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,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153],[53,104,115,121,122],[53,104,121,122,123,147],[53,104,112,115,121,122,124,136],[53,104,121,122,125],[53,104,121,122,126],[53,103,104,121,122,127],[53,101,102,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,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,254],[53,104,121,122,129],[53,104,121,122,130],[53,104,115,121,122,131,132],[53,104,121,122,131,133,148,150],[53,104,115,121,122,136,137,139],[53,104,121,122,138,139],[53,104,121,122,136,137],[53,104,121,122,139],[53,104,121,122,140],[53,101,104,121,122,136,141],[53,104,115,121,122,142,143],[53,104,121,122,142,143],[53,104,109,121,122,124,136,144],[53,104,121,122,145],[53,104,121,122,124,146],[53,104,118,121,122,130,147],[53,104,109,121,122,148],[53,104,121,122,136,149],[53,104,121,122,123,150],[53,104,121,122,151],[53,97,104,121,122],[53,104,121,122,152],[53,97,104,115,117,121,122,127,136,139,147,149,150,152],[53,104,121,122,136,153],[53,104,118,121,122,136,154,254],[53,104,121,122,187],[53,104,121,122,158,163,187],[53,104,121,122,164,187],[53,104,121,122,158],[53,104,121,122,159],[53,104,121,122,175],[53,104,121,122,163],[53,104,121,122,164],[53,104,121,122,165],[53,104,121,122,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180],[53,104,121,122,158,167,187],[53,104,121,122,167,168,187],[53,104,121,122,174],[53,104,121,122,171],[53,104,121,122,163,164,187],[53,104,121,122,185,187],[53,104,121,122,187,219],[53,104,121,122,248],[53,104,121,122,248,249],[53,104,121,122,240],[53,104,118,121,122,156,157,181,182,183,184,185,186,187,188,220,221,222,223,224,225,226,241,242,243,244,245,246,247,250,251,252,253],[50,53,104,116,118,121,122,136,144,147,155,156,157,165,168,169,171,174,181,182,183,185,186,254],[53,104,121,122,163,187],[53,104,121,122,184,187],[53,104,121,122,185,186,187],[53,64,67,70,71,104,121,122,147],[53,67,104,121,122,136,147],[53,67,71,104,121,122,147],[53,104,121,122,136],[53,61,104,121,122],[53,65,104,121,122],[53,63,64,67,104,121,122,147],[53,104,121,122,124,144],[53,104,121,122,154],[53,61,104,121,122,154],[53,63,67,104,121,122,124,147],[53,58,59,60,62,66,104,115,121,122,136,147],[53,67,75,82,104,121,122],[53,59,65,104,121,122],[53,67,91,92,104,121,122],[53,59,62,67,104,121,122,139,147,154],[53,67,104,121,122],[53,63,67,104,121,122,147],[53,58,104,121,122],[53,61,62,63,65,66,67,68,69,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,92,93,94,95,96,104,121,122],[53,67,84,87,104,112,121,122],[53,67,75,76,77,104,121,122],[53,65,67,76,78,104,121,122],[53,66,104,121,122],[53,59,61,67,104,121,122],[53,67,71,76,78,104,121,122],[53,71,104,121,122],[53,65,67,70,104,121,122,147],[53,59,63,67,75,104,121,122],[53,67,84,104,121,122],[53,61,67,91,104,121,122,139,152,154],[53,104,121,122,239],[53,104,121,122,229,230],[53,104,121,122,227,228,229,231,232,237],[53,104,121,122,228,229],[53,104,121,122,238],[53,104,121,122,229],[53,104,121,122,227,228,229,232,233,234,235,236],[53,104,121,122,227,228,239],[53,104,121,122,254,255]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"4245fee526a7d1754529d19227ecbf3be066ff79ebb6a380d78e41648f2f224d","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc602ef9638db2163c461ec64133fe76f890f6e03b69b1c96f5c5e59592025e8","impliedFormat":99},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0671b50bb99cc7ad46e9c68fa0e7f15ba4bc898b59c31a17ea4611fab5095da","affectsGlobalScope":true,"impliedFormat":1},{"version":"d802f0e6b5188646d307f070d83512e8eb94651858de8a82d1e47f60fb6da4e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"aa83e100f0c74a06c9d24f40a096c9e9cc3c02704250d01541e22c0ae9264eda","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"456fa0c0ab68731564917642b977c71c3b7682240685b118652fb9253c9a6429","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"487b694c3de27ddf4ad107d4007ad304d29effccf9800c8ae23c2093638d906a","impliedFormat":1},{"version":"3a80bc85f38526ca3b08007ee80712e7bb0601df178b23fbf0bf87036fce40ce","impliedFormat":1},{"version":"ccf4552357ce3c159ef75f0f0114e80401702228f1898bdc9402214c9499e8c0","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"4bc0794175abedf989547e628949888c1085b1efcd93fc482bccd77ee27f8b7c","impliedFormat":1},{"version":"3c8e93af4d6ce21eb4c8d005ad6dc02e7b5e6781f429d52a35290210f495a674","impliedFormat":1},{"version":"78c69908f7b42d6001037eb8e2d7ec501897ac9cee8d58f31923ff15b3fd4e02","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"33e981bf6376e939f99bd7f89abec757c64897d33c005036b9a10d9587d80187","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"b41767d372275c154c7ea6c9d5449d9a741b8ce080f640155cc88ba1763e35b3","impliedFormat":1},{"version":"1cd673d367293fc5cb31cd7bf03d598eb368e4f31f39cf2b908abbaf120ab85a","impliedFormat":1},{"version":"af13e99445f37022c730bfcafcdc1761e9382ce1ea02afb678e3130b01ce5676","impliedFormat":1},{"version":"e5c4fceee379a4a8f5e0266172c33de9dd240e1218b6a439a30c96200190752b","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"54c3e2371e3d016469ad959697fd257e5621e16296fa67082c2575d0bf8eced0","impliedFormat":1},{"version":"beb8233b2c220cfa0feea31fbe9218d89fa02faa81ef744be8dce5acb89bb1fd","impliedFormat":1},{"version":"78b29846349d4dfdd88bd6650cc5d2baaa67f2e89dc8a80c8e26ef7995386583","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"48cc3ec153b50985fb95153258a710782b25975b10dd4ac8a4f3920632d10790","impliedFormat":1},{"version":"0040f0c70a793bdc76e4eace5de03485d76f667009656c5fc8d4da4eaf0aa2da","impliedFormat":1},{"version":"18f8cfbb14ba9405e67d30968ae67b8d19133867d13ebc49c8ed37ec64ce9bdb","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"99f569b42ea7e7c5fe404b2848c0893f3e1a56e0547c1cd0f74d5dbb9a9de27e","impliedFormat":1},{"version":"830171b27c5fdf9bcbe4cf7d428fcf3ae2c67780fb7fbdccdf70d1623d938bc4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"bbcfd9cd76d92c3ee70475270156755346c9086391e1b9cb643d072e0cf576b8","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"72c1f5e0a28e473026074817561d1bc9647909cf253c8d56c41d1df8d95b85f7","impliedFormat":1},{"version":"18334defc3d0a0e1966f5f3c23c7c83b62c77811e51045c5a7ff3883b446f81f","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b17fcd63aa13734bf1d01419f4d6031b1c6a5fb2cbdb45e9839fb1762bdf0df","impliedFormat":1},{"version":"c4e8e8031808b158cfb5ac5c4b38d4a26659aec4b57b6a7e2ba0a141439c208c","impliedFormat":1},{"version":"2c91d8366ff2506296191c26fd97cc1990bab3ee22576275d28b654a21261a44","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"247b8f93f31c5918444116471bfb90810e268339bf5c678657ca99ca7183dabb","affectsGlobalScope":true,"impliedFormat":1},{"version":"289e9894a4668c61b5ffed09e196c1f0c2f87ca81efcaebdf6357cfb198dac14","impliedFormat":1},{"version":"25a1105595236f09f5bce42398be9f9ededc8d538c258579ab662d509aa3b98e","impliedFormat":1},{"version":"aa9224557befad144262c85b463c0a7ba8a3a0ad2a7c907349f8bb8bc3fe4abc","impliedFormat":1},{"version":"a2e2bbde231b65c53c764c12313897ffdfb6c49183dd31823ee2405f2f7b5378","impliedFormat":1},{"version":"ad1cc0ed328f3f708771272021be61ab146b32ecf2b78f3224959ff1e2cd2a5c","impliedFormat":1},{"version":"62f572306e0b173cc5dfc4c583471151f16ef3779cf27ab96922c92ec82a3bc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"92dab1293d03f6cbd5d53c31b723c30ff5a52eaacd717ee3226e18739b5bb722","impliedFormat":1},{"version":"c6176c7b9f3769ba7f076c7a791588562c653cc0ba08fb2184f87bf78db2a87c","impliedFormat":1},{"version":"c6a532cab53ec1f87eb0b6a3a9882f4cf13c25b4a89495b3b3001a35f74224c6","impliedFormat":1},{"version":"bcbabfaca3f6b8a76cb2739e57710daf70ab5c9479ab70f5351c9b4932abf6bd","impliedFormat":1},{"version":"165a0c1f95bc939c72f18a280fc707fba6f2f349539246b050cfc09eb1d9f446","impliedFormat":1},{"version":"ca0f30343ce1a43181684c02af2ac708ba26d00f689be5e96e7301c374d64c7e","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"c8b85f7aed29f8f52b813f800611406b0bfe5cf3224d20a4bdda7c7f73ce368e","affectsGlobalScope":true,"impliedFormat":1},{"version":"7baae9bf5b50e572e7742c886c73c6f8fa50b34190bc5f0fd20dd7e706fda832","impliedFormat":1},{"version":"e99b0e71f07128fc32583e88ccd509a1aaa9524c290efb2f48c22f9bf8ba83b1","impliedFormat":1},{"version":"76957a6d92b94b9e2852cf527fea32ad2dc0ef50f67fe2b14bd027c9ceef2d86","impliedFormat":1},{"version":"5e9f8c1e042b0f598a9be018fc8c3cb670fe579e9f2e18e3388b63327544fe16","affectsGlobalScope":true,"impliedFormat":1},{"version":"a8a99a5e6ed33c4a951b67cc1fd5b64fd6ad719f5747845c165ca12f6c21ba16","affectsGlobalScope":true,"impliedFormat":1},{"version":"a58a15da4c5ba3df60c910a043281256fa52d36a0fcdef9b9100c646282e88dd","impliedFormat":1},{"version":"b36beffbf8acdc3ebc58c8bb4b75574b31a2169869c70fc03f82895b93950a12","impliedFormat":1},{"version":"de263f0089aefbfd73c89562fb7254a7468b1f33b61839aafc3f035d60766cb4","impliedFormat":1},{"version":"70b57b5529051497e9f6482b76d91c0dcbb103d9ead8a0549f5bab8f65e5d031","impliedFormat":1},{"version":"8c81fd4a110490c43d7c578e8c6f69b3af01717189196899a6a44f93daa57a3a","impliedFormat":1},{"version":"1013eb2e2547ad8c100aca52ef9df8c3f209edee32bb387121bb3227f7c00088","impliedFormat":1},{"version":"29c83cc89ddbdd5ffae8c00f4e6fab6f8f0e8076f87a866b132e8751e88cb848","impliedFormat":1},{"version":"363eedb495912790e867da6ff96e81bf792c8cfe386321e8163b71823a35719a","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"dba28a419aec76ed864ef43e5f577a5c99a010c32e5949fe4e17a4d57c58dd11","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea713aa14a670b1ea0fbaaca4fd204e645f71ca7653a834a8ec07ee889c45de6","impliedFormat":1},{"version":"07199a85560f473f37363d8f1300fac361cda2e954caf8a40221f83a6bfa7ade","impliedFormat":1},{"version":"9705cd157ffbb91c5cab48bdd2de5a437a372e63f870f8a8472e72ff634d47c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ae86f30d5d10e4f75ce8dcb6e1bd3a12ecec3d071a21e8f462c5c85c678efb41","impliedFormat":1},{"version":"3af7d02e5d6ecbf363e61fb842ee55d3518a140fd226bdfb24a3bca6768c58df","impliedFormat":1},{"version":"e03460fe72b259f6d25ad029f085e4bedc3f90477da4401d8fbc1efa9793230e","impliedFormat":1},{"version":"4286a3a6619514fca656089aee160bb6f2e77f4dd53dc5a96b26a0b4fc778055","impliedFormat":1},{"version":"0d7393564d48a3f6f08c76b8d4de48260a072801422548e2030e386acd530dbf","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fcb71410ad8a48bbdd13cd4c3eedf78ac0416e9f3533ae98e19cc6f3c7f5474","affectsGlobalScope":true,"impliedFormat":1},{"version":"784490137935e1e38c49b9289110e74a1622baf8a8907888dcbe9e476d7c5e44","impliedFormat":1},{"version":"420fdd37c51263be9db3fcac35ffd836216c71e6000e6a9740bb950fb0540654","impliedFormat":1},{"version":"73b0bff83ee76e3a9320e93c7fc15596e858b33c687c39a57567e75c43f2a324","impliedFormat":1},{"version":"cd3256f2ac09c65d2ee473916c273c45221367ab457fa1778a5696bccf5c4e8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4445f6ce6289c5b2220398138da23752fd84152c5c95bb8b58dedefc1758c036","impliedFormat":1},{"version":"7ac7756e2b43f021fa3d3b562a7ea8bf579543521a18b5682935d015361e6a35","impliedFormat":1},{"version":"736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","impliedFormat":1},{"version":"8093df4b6de7728cd3327b33ce2846cb808e3b738b55f380578ab47fb1a0a82f","impliedFormat":1},{"version":"a0981ee0c7ac06bdb575558bd09bac190e1c0c7888ddcb63d8bf648f23a30e8c","impliedFormat":1},{"version":"b047c5f4612ebd6f142d2eda135939c6808ac082b2251a36e9e002b96f04ca18","impliedFormat":1},{"version":"816c068d57010d183fa4dce821e6552a912cb654cf9f0e840f49f0a0fb3d2157","impliedFormat":1},{"version":"5ca59af607163e4c0b2350019394132c6fd5d643ecc13d5d2692084c23eb74fc","impliedFormat":1},{"version":"ebc356c4f81035935ebddc0e1c7818038b78043d349d58e1042aa1c0579b5600","impliedFormat":1},{"version":"fc73b467be17d21f268b1dae8e63c269e8eba711d6d3faf3c5e525383ac5b461","impliedFormat":1},{"version":"4ba081d644e7e33dc2fa68f4bf7b963cbf9838092a10f0f7d5dcc98095012bfb","impliedFormat":1},{"version":"7c1d9666b46748a09c7c290f2cad37d32d0a395c4fc49357f0f7b32cd2dc7d97","impliedFormat":1},{"version":"054eafa956d5592e6a91c2553e5657ee3032ed50121a65da1079c96d82631459","impliedFormat":1},{"version":"01d56fcd8d2968c9545f42ab80c1e6a43be249dadeb2d38262b888370ebbdf32","impliedFormat":1},{"version":"cf53b1ef37bdf9eacfe04a5c0977793a87fbdd8d6893aa513075fa656c2f7638","impliedFormat":1},{"version":"bfccff2a7a1a17431408d48ec6ef5f54c42d1a1650b97e291c63de8b07333ccb","impliedFormat":1},{"version":"ab8790af6d4be130bd0faaba17d6a1d6394b21a643af03be4827fd7f8664caac","impliedFormat":1},{"version":"37020cf15e16fa6e1c6e2485cd51d6cbe74adee3b860ab49fb7528ca7e8e518e","impliedFormat":1},{"version":"2f83df884805baffce941efa67d2e459f09d82ae5f03b35771eea7bb9875346b","impliedFormat":1},{"version":"1950d2a49c05c7aa6decfe409b552c4ea5fb156894cf0541b34999819bd778ea","impliedFormat":1},{"version":"32fe829960ff7120843f6dd20197e863aee3e81ecded415641a7500654d1bda7","impliedFormat":1},{"version":"0b8d5b22b236fff7e23f3a5d1ddeb80bee6630bd35b1bf1c3efae226f08a1c3d","impliedFormat":1},{"version":"393b1ed0dca4f0aac333e65f2e40dfedfa8b37ac60571e02b152d32d8c84d340","impliedFormat":1},{"version":"f46d50c283425bcc59d68ccf067b3672fb727f802652dc7d60d2e470fb956370","impliedFormat":1},{"version":"38e7ca4f87ae169831eee751ad1b043b672bc9f328c0d44ec5a1bed98756a0b4","impliedFormat":1},{"version":"0b4b6ca509cdb152e18ceeed526d17bb416e7e518508d859a0174977195f9a35","impliedFormat":1},{"version":"124e0f6c51420174212b8d23f9a53d5d781d4777995164f1fb64957eac658ce7","impliedFormat":1},{"version":"c7da212302d6bfa21317461599d24e8077b34664b4ed409c4c02a3d5fe31efaf","impliedFormat":1},{"version":"bf070df468371021e0dd0ad9ab7918b3f94254044136bf711c7e0e855f75309e","impliedFormat":1},{"version":"3226c2a2af36d14aa551babd4154ad18042c0deb1509a61058c6b066cfddc30a","impliedFormat":1},{"version":"191d027b3924d5046fbf118bae0987969b9e03eba478ad34d2572244720ddb3c","impliedFormat":1},{"version":"14f2edd0618d9adaf83d22b55155ec41faddac678b4d158c8380e4325c8b36b6","impliedFormat":1},{"version":"72c9243dfd255afefe50d511f215053083a79db363d12e7e394ba78462be9e1b","impliedFormat":1},{"version":"2fbcb6bb6ffd69437452ca3029458f3c81a92b72aa71922df931cc4d373fffc1","impliedFormat":1},{"version":"8515d09f98ff2e7251cc970e74af5a0790caa52abc02d412ae87cbc6e47239ca","impliedFormat":1},{"version":"6d5438d567004aa049a2cdcad7aa2c3d671c9e74a0209297935b12bc16c3cf38","impliedFormat":1},{"version":"e78705f977ecfcc36de9ab57841ad7a617ef649b07a995577fd857f1d175f730","impliedFormat":1},{"version":"5083850590c7890ffb680f0c9838f48b07eb8b2f7dbe02874858fcac0691705d","impliedFormat":1},{"version":"02a4a2284d423d8ccc3a77aa9257c34fdac28cddfb46f73178e60f6a1b1b31e9","impliedFormat":1},{"version":"3ee8e014aab37dbd755401967fbb9602221550038f6b8da6cedd5291a918ae0a","impliedFormat":1},{"version":"826f3c6a6d737e0d330522094a21cde94a202c5373448240ba483709cb829aec","impliedFormat":1},{"version":"7e4a23f6f3763da4a06900935d22acfd463c375cada5ab325e3980bd6c95d5b3","impliedFormat":1},{"version":"f3e045e81b47113fa02aaf9637b9ef84347610aaceda60a0d8316aabc3f03638","impliedFormat":1},{"version":"1bfe6db4f3dffacd1da82748cb8f0acec04e8a4d7bd36c09573d5d80a7dec28b","impliedFormat":1},{"version":"6a8d6deca8ec4250630fea4e5f23bd9bf0face98739ccd22e08a17173117155b","impliedFormat":1},{"version":"226dbfe4506447111bd898161d47850f8c57f04cbb6a3a6d487b7939dbf89b1b","impliedFormat":1},{"version":"13f846a45f738733c8a63a06eaa9f580e9c07eb7aed5d8a2c674114846a42175","impliedFormat":1},{"version":"9d14fcf0b69094271127c7b6acb36987be5d1bffa4eb948359549f040fb50349","impliedFormat":1},{"version":"e3a5287471fb08f053c06fd998632792aa5f022e45278f1e6dd55fb2fa9e7362","impliedFormat":1},{"version":"28a6c8eeb48e165920067b9193555649fc43c2a28c450f23f622e5eb043d9463","impliedFormat":1},{"version":"1147c3efa5a256bcd6a3d2cfaf764185b7120bf985f8412d9bae596a0348f77b","impliedFormat":1},{"version":"0494f89b64c5e8906ce5284194e09bad42b56837757d79cb9e62ce16aae88ab4","impliedFormat":1},{"version":"0295c7a5d5d956391ab9bf0410e73a89e25fe26810f9a1d823cc794d682cdafc","impliedFormat":1},{"version":"19826a846db870c2261a3c4cf0695df889d9fe3eebe7775f3f5bc76fe7ad07a7","impliedFormat":1},{"version":"e04cafd03370139cdb0c846273cb19eb4264be0073c7baf78e9b2c16ffb74813","impliedFormat":1},{"version":"7c01c77fb7d8664daa64819245d785e106e0a3cb6e43da64346e4400d7fa9401","impliedFormat":1},{"version":"8c2ca98f4713d989d610fbd38a44316bc43c50aa26983e62dc31002f32ce63fa","impliedFormat":1},{"version":"ee931610d1cf7a6e666fad138187751392fc88bee931b94ac8c4571208dc7370","impliedFormat":1},{"version":"53543b3b64e624a81fc5876da6d72c94dd87655e7afc10988cf82ce7cbc74180","impliedFormat":1},{"version":"967e68e99b8a80551837321442a0e2f12ef50aa1ce567ec991ac6bf062a0c7cf","impliedFormat":1},{"version":"144ab2f3ef7404caf39c6acc88d248d7e55ab3dd1c4c0d89367ad12169aec113","impliedFormat":1},{"version":"759002d4454b851c51b3585e0837c77d159c59957fc519c876449ee5d80a6643","impliedFormat":1},{"version":"1ff2be5eb8b9b508603019df9f851240e57360a9417e672bf4de9d3495833f81","impliedFormat":1},{"version":"8263aed8d77f5b9a10de995c8efd14ea0e5bc54e2b4525178b643f5b24f90f1d","impliedFormat":1},{"version":"a7e7df52af8795560306e4b354e6670d978c59a87dd78b81e58656890c5ed451","impliedFormat":1},{"version":"d6220bee7bd245bc2a377f1a8ef31c496132cc9c7e7e3937e7dd4cbbcec0b38d","impliedFormat":1},{"version":"7686d52e8cbd036b9ca265490c31e36945a52ef3a9e726523d36b02befec7331","impliedFormat":1},{"version":"0f55c8c4605355ddea9fdd104ea0cb089e6ce7f41165fdc72d08247665dba0d4","impliedFormat":1},{"version":"9cc46a5cf6e8b232bb86abfd0c0ed4e0fd25d95aa3d2930e4705b078d29e51ec","impliedFormat":1},{"version":"edd5e20e9eb8cb2eaf941d431af3ab69a9b94e7f5d8699b4c938fee1be8d53c4","impliedFormat":1},{"version":"edcb8d46132756662651f6a42656aaeced2e221d0929411fb0a62c906f9873dd","impliedFormat":1},{"version":"382d2239e60b72282adfeb672e22e6df4de3737ce7e5df2151823dab489496ba","impliedFormat":1},{"version":"304b0d21771513c0a36ed7179a9d1069bfa776e95f50b789ce898f3ef2b71514","impliedFormat":1},{"version":"a42e1c2eec0e747163afa705044664a39065215a8d66c930f8d43f118a9bc044","impliedFormat":1},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"b542939a35357458e62f8229c2d7578ae888d63d3ab837395d7bb8a3064c205e","impliedFormat":1},{"version":"3a5af4fba7b27b815bb40f52715aedebaa4b371da3e5a664e7e0798c9b638825","impliedFormat":1},{"version":"8485b6da53ec35637d072e516631d25dae53984500de70a6989058f24354666f","impliedFormat":1},{"version":"ebe80346928736532e4a822154eb77f57ef3389dbe2b3ba4e571366a15448ef2","impliedFormat":1},{"version":"49c632082dc8a916353288d3d8b2dc82b3471794249a381d090d960c8ceac908","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"71addb585c2db7b8e53dc1b0bcfa58c6c67c6e4fa2b968942046749d66f82e7e","impliedFormat":1},{"version":"c76b0c5727302341d0bdfa2cc2cee4b19ff185b554edb6e8543f0661d8487116","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"0320c5b275beb43649be5a818dfa83a2586ae110ac5bbb2c5eb7184e1fe3ca60","impliedFormat":1},{"version":"f5ef066942e4f0bd98200aa6a6694b831e73200c9b3ade77ad0aa2409e8fe1b1","impliedFormat":1},{"version":"b9e99cd94f4166a245f5158f7286c05406e2a4c694619bceb7a4f3519d1d768e","impliedFormat":1},{"version":"5568d7c32e5cf5f35e092649f4e5e168c3114c800b1d7545b7ae5e0415704802","impliedFormat":1},{"version":"378e26daa6ec402b81f5aea1ab47262d4f8ad8966037c26be75e8185366d09a1","impliedFormat":1},{"version":"4788f58342a67af140858e23a24cdf62457ec1ff79af68ac71b9d3c0c89bb53b","impliedFormat":1},{"version":"efb8488e3acac79cac5927eaa8069fffc1d37cc3b2c3213d0256e9e1be8276bc","impliedFormat":1},{"version":"951baa882e6e3e5026cb8a16f80a8bebec1caa35c3fa016c9a3ce6a338bd3123","impliedFormat":1},{"version":"361547594eb0fdbb5316523e4668c26ec483de464f53c4a0f65bbca573abae3e","impliedFormat":1},{"version":"afcef07b51d43cdd4e1bc0b92a3d84734cded5f12d764af090666afefb5a3676","impliedFormat":1},{"version":"3f6f70c077ed8d600aa24d8c0e83ba0dd5d2c5300d524cd2181efd30c0a62c72","impliedFormat":1},{"version":"b773bcdaeda86c0f58910cecd6c77a0bd60be763127c42cad5a64fe66799b1f6","impliedFormat":1},{"version":"0ca63470234437191f454f7f66b5815d79b59ebc636faa1de1194d282563e431","impliedFormat":1},{"version":"6d3b514475ee51ab5e99e4fc82ffcd6191d40c19dd197a1743111e0757c6f9c6","impliedFormat":1},{"version":"0494f89b64c5e8906ce5284194e09bad42b56837757d79cb9e62ce16aae88ab4","impliedFormat":1},{"version":"716c6fce977a188f23ee5165e4179944a63e8620784a7054fc0dd81f6c348bb4","impliedFormat":1},{"version":"cf2324583854e9b5dd489e537e2d46375ffb66169fbd947dea112898210ed9ff","impliedFormat":1},{"version":"b4b08a04e1861c2494437fad74c5c71f38a2f3d3cdd51fba70fcb072f3337b58","impliedFormat":1},{"version":"686fba783136e14e0da95656e1a04679804306718028807da2c2a9dbd9e131f3","signature":"f82a4ba819495dd49a49ae95ffe70b66cac20adf704261d3155571b3083625cb"},{"version":"27b7dc7c696c17a50b5db1cdf020e32608096a407763bd7b2958ee68a5612513","signature":"a049fa6866c6eb489e176e8c4c70a0d4af6fd272c102fc950347da926d8e93e4"},{"version":"1fcf2bcc09fedd090e5ea644bdce76c755a22c54b2244d1418e56a003d8b9dc4","signature":"8f195ff2150de4ba5867c95ec3047140016107b77983ce685005e7de1f3b125f"},{"version":"427793bd79261f2f745a14973e20aa37abbd214495e5e578cddbd2664fde3053","signature":"64150b8f6f47d4eac1030aa1b1c0655e435ef58b456b21e2661d61bebe84bba9"},{"version":"e007c3bb61c52259024c25bcadc7cab2df8a044619f2f4790bab49b5944edd69","signature":"965f49311773686e8823e526e0ab55fd66e2cc6f45d4f924e212f30adbe2ffdd"}],"root":[[255,259]],"options":{"declaration":true,"esModuleInterop":true,"module":1,"noImplicitAny":true,"noImplicitReturns":true,"noUnusedLocals":true,"outDir":"./","preserveConstEnums":true,"removeComments":true,"skipLibCheck":true,"sourceMap":true,"strict":true,"strictNullChecks":true,"target":6,"useUnknownInCatchVariables":false},"referencedMap":[[255,1],[258,2],[218,3],[215,4],[217,5],[216,6],[204,7],[219,8],[207,9],[206,10],[205,11],[213,12],[214,13],[211,14],[212,15],[209,16],[210,17],[208,18],[200,19],[201,20],[202,7],[203,21],[192,22],[191,23],[190,24],[198,25],[196,26],[197,27],[194,28],[195,29],[193,30],[199,31],[189,7],[101,32],[102,32],[103,33],[53,34],[104,35],[105,36],[106,37],[51,7],[107,38],[108,39],[109,40],[110,41],[111,42],[112,43],[113,43],[114,44],[115,45],[116,46],[117,47],[54,7],[52,7],[118,48],[119,49],[120,50],[154,51],[121,52],[122,7],[123,53],[124,54],[125,55],[126,56],[127,57],[128,58],[129,59],[130,60],[131,61],[132,61],[133,62],[134,7],[135,7],[136,63],[138,64],[137,65],[139,66],[140,67],[141,68],[142,69],[143,70],[144,71],[145,72],[146,73],[147,74],[148,75],[149,76],[150,77],[151,78],[55,7],[56,7],[57,7],[98,79],[99,80],[100,7],[152,81],[153,82],[50,7],[155,83],[156,7],[224,84],[157,7],[164,85],[167,86],[163,7],[159,87],[160,88],[161,88],[162,88],[176,89],[179,90],[180,7],[158,7],[166,91],[178,92],[165,91],[181,93],[168,94],[169,95],[170,91],[175,96],[177,85],[172,97],[171,98],[173,97],[174,86],[182,7],[184,99],[220,100],[249,101],[251,7],[248,7],[250,102],[241,103],[225,7],[254,104],[187,105],[188,84],[226,84],[242,1],[252,101],[221,99],[253,106],[222,84],[183,7],[223,84],[247,84],[245,84],[246,84],[244,84],[185,107],[243,108],[186,7],[48,7],[49,7],[9,7],[8,7],[2,7],[10,7],[11,7],[12,7],[13,7],[14,7],[15,7],[16,7],[17,7],[3,7],[18,7],[19,7],[4,7],[20,7],[24,7],[21,7],[22,7],[23,7],[25,7],[26,7],[27,7],[5,7],[28,7],[29,7],[30,7],[31,7],[6,7],[35,7],[32,7],[33,7],[34,7],[36,7],[7,7],[37,7],[42,7],[43,7],[38,7],[39,7],[40,7],[41,7],[44,7],[45,7],[1,7],[46,7],[47,7],[75,109],[86,110],[73,111],[87,112],[96,113],[64,114],[65,115],[63,116],[95,117],[90,118],[94,119],[67,120],[83,121],[66,122],[93,123],[61,124],[62,118],[68,125],[69,7],[74,126],[72,125],[59,127],[97,128],[88,129],[78,130],[77,125],[79,131],[81,132],[76,133],[80,134],[91,117],[70,135],[71,136],[82,137],[60,112],[85,138],[84,125],[89,7],[58,7],[92,139],[240,140],[231,141],[238,142],[233,7],[234,7],[232,143],[235,140],[227,7],[228,7],[239,144],[230,145],[236,7],[237,146],[229,147],[256,148],[257,148],[259,7]],"version":"5.9.2"}
@@ -0,0 +1,154 @@
1
+ import {
2
+ IExecuteFunctions,
3
+ INodeExecutionData,
4
+ INodeType,
5
+ INodeTypeDescription,
6
+ NodeConnectionType,
7
+ } from 'n8n-workflow';
8
+ import { backendURL } from '../../credentials/TrendswellApi.credentials';
9
+
10
+ export class Trendswell implements INodeType {
11
+ description: INodeTypeDescription = {
12
+ displayName: 'Trendswell',
13
+ name: 'trendswell',
14
+ icon: 'file:icons/trendswell.png',
15
+ group: ['transform'],
16
+ version: 1,
17
+ description: 'Custom node for Trendswell search',
18
+ defaults: {
19
+ name: 'Trendswell',
20
+ },
21
+ inputs: [NodeConnectionType.Main],
22
+ outputs: [NodeConnectionType.Main],
23
+ properties: [
24
+ {
25
+ displayName: 'Search Text',
26
+ name: 'searchText',
27
+ type: 'string',
28
+ default: '',
29
+ placeholder: 'Enter keyword or question',
30
+ description: 'Enter keyword or question',
31
+ required: true,
32
+ },
33
+ {
34
+ displayName: 'AI Strength',
35
+ name: 'aiStrength',
36
+ type: 'options',
37
+ options: [
38
+ { name: 'Basic', value: 'Basic' },
39
+ { name: 'Premium', value: 'Premium' },
40
+ ],
41
+ default: 'Basic',
42
+ description: 'Select AI Strength',
43
+ required: true,
44
+ },
45
+ {
46
+ displayName: 'Country',
47
+ name: 'countryCode',
48
+ type: 'options',
49
+ options: [
50
+ { name: 'Australia', value: 'AU' },
51
+ { name: 'Myanmar (Burma)', value: 'MM' },
52
+ { name: 'Cambodia', value: 'KH' },
53
+ { name: 'Canada', value: 'CA' },
54
+ { name: 'Sri Lanka', value: 'LK' },
55
+ { name: 'Cyprus', value: 'CY' },
56
+ { name: 'Ghana', value: 'GH' },
57
+ { name: 'Greece', value: 'GR' },
58
+ { name: 'Hong Kong', value: 'HK' },
59
+ { name: 'India', value: 'IN' },
60
+ { name: 'Indonesia', value: 'ID' },
61
+ { name: 'Ireland', value: 'IE' },
62
+ { name: 'Kenya', value: 'KE' },
63
+ { name: 'Malaysia', value: 'MY' },
64
+ { name: 'Malta', value: 'MT' },
65
+ { name: 'New Zealand', value: 'NZ' },
66
+ { name: 'Nigeria', value: 'NG' },
67
+ { name: 'Pakistan', value: 'PK' },
68
+ { name: 'Philippines', value: 'PH' },
69
+ { name: 'Singapore', value: 'SG' },
70
+ { name: 'Vietnam', value: 'VN' },
71
+ { name: 'South Africa', value: 'ZA' },
72
+ { name: 'United Arab Emirates', value: 'AE' },
73
+ { name: 'Egypt', value: 'EG' },
74
+ { name: 'United Kingdom', value: 'GB' },
75
+ { name: 'United States', value: 'US' },
76
+ ],
77
+ default: 'US',
78
+ description: 'Select the country',
79
+ required: true,
80
+ },
81
+ {
82
+ displayName: 'Example 1',
83
+ name: 'example1',
84
+ type: 'string',
85
+ default: '',
86
+ },
87
+ {
88
+ displayName: 'Example 2',
89
+ name: 'example2',
90
+ type: 'string',
91
+ default: '',
92
+ },
93
+ {
94
+ displayName: 'Example 3',
95
+ name: 'example3',
96
+ type: 'string',
97
+ default: '',
98
+ },
99
+ {
100
+ displayName: 'Niche 1',
101
+ name: 'niche1',
102
+ type: 'string',
103
+ default: '',
104
+ },
105
+ {
106
+ displayName: 'Niche 2',
107
+ name: 'niche2',
108
+ type: 'string',
109
+ default: '',
110
+ },
111
+ ],
112
+ credentials: [
113
+ {
114
+ name: 'trendswellApi',
115
+ required: true,
116
+ },
117
+ ],
118
+ };
119
+
120
+ async execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {
121
+ const searchText = this.getNodeParameter('searchText', 0) as string;
122
+ const aiStrength = this.getNodeParameter('aiStrength', 0) as string;
123
+ const countryCode = this.getNodeParameter('countryCode', 0) as string;
124
+ const example1 = this.getNodeParameter('example1', 0) as string;
125
+ const example2 = this.getNodeParameter('example2', 0) as string;
126
+ const example3 = this.getNodeParameter('example3', 0) as string;
127
+ const niche1 = this.getNodeParameter('niche1', 0) as string;
128
+ const niche2 = this.getNodeParameter('niche2', 0) as string;
129
+
130
+ const credentials = await this.getCredentials('trendswellApi');
131
+ const authToken = credentials.authToken as string;
132
+
133
+ const body = {
134
+ searchText,
135
+ aiStrength,
136
+ countryCode,
137
+ examples: [example1, example2, example3].filter(Boolean),
138
+ niches: [niche1, niche2].filter(Boolean),
139
+ };
140
+
141
+ const response = await this.helpers.httpRequest({
142
+ method: 'POST',
143
+ url: `${backendURL}/n8n/automated-search`,
144
+ headers: {
145
+ 'Content-Type': 'application/json',
146
+ 'auth-token': authToken,
147
+ },
148
+ body,
149
+ json: true,
150
+ });
151
+
152
+ return [[{ json: response }]];
153
+ }
154
+ }
@@ -0,0 +1,214 @@
1
+ import {
2
+ IHookFunctions,
3
+ IWebhookFunctions,
4
+ INodeType,
5
+ INodeTypeDescription,
6
+ NodeApiError,
7
+ NodeOperationError,
8
+ NodeConnectionType,
9
+ JsonObject,
10
+ } from 'n8n-workflow';
11
+ import { backendURL } from '../../credentials/TrendswellApi.credentials';
12
+
13
+ export class TrendswellTrigger implements INodeType {
14
+ description: INodeTypeDescription = {
15
+ displayName: 'Trendswell Trigger',
16
+ name: 'trendswellTrigger',
17
+ icon: 'file:icons/trendswell.png',
18
+ group: ['trigger'],
19
+ version: 1,
20
+ description: 'Starts workflow when a Trendswell event occurs',
21
+ defaults: { name: 'Trendswell Trigger' },
22
+ inputs: [],
23
+ outputs: [NodeConnectionType.Main],
24
+
25
+ credentials: [
26
+ {
27
+ name: 'trendswellApi',
28
+ required: true,
29
+ },
30
+ ],
31
+
32
+ webhooks: [
33
+ {
34
+ name: 'default',
35
+ httpMethod: 'POST',
36
+ responseMode: 'onReceived',
37
+ path: 'trendswell',
38
+ },
39
+ ],
40
+
41
+ properties: [
42
+ {
43
+ displayName: 'Webhook For',
44
+ name: 'webhookFor',
45
+ type: 'options',
46
+ noDataExpression: true,
47
+ options: [{ name: 'Trendswell Searches', value: 'trendswell-searches' }],
48
+ default: 'trendswell-searches',
49
+ description: 'The type of event this webhook should listen for',
50
+ },
51
+ ],
52
+ };
53
+
54
+ // webhook lifecycle methods: checkExists, create, delete
55
+ webhookMethods = {
56
+ default: {
57
+ /**
58
+ * checkExists - verifies if subscription already exists
59
+ * This is optional but required by the INodeType typing (we include it).
60
+ */
61
+ async checkExists(this: IHookFunctions): Promise<boolean> {
62
+ try {
63
+ // static data stored per node
64
+ const staticData = this.getWorkflowStaticData('node') as any;
65
+ const webhookId = staticData?.webhookId;
66
+ if (!webhookId) {
67
+ return false;
68
+ }
69
+
70
+ // Verify with remote API if possible
71
+ const credentials = (await this.getCredentials('trendswellApi')) as {
72
+ authToken?: string;
73
+ };
74
+ const authToken = credentials?.authToken as string | undefined;
75
+
76
+ // If there's no auth token, assume it doesn't exist
77
+ if (!authToken) return false;
78
+
79
+ // Try to GET the subscription - if returns 200 treat as exists
80
+ await this.helpers.request({
81
+ method: 'GET',
82
+ url: `${backendURL}/n8n/webhooks/${webhookId}`,
83
+ headers: {
84
+ 'auth-token': authToken,
85
+ Accept: 'application/json',
86
+ },
87
+ json: true,
88
+ });
89
+
90
+ return true;
91
+ } catch (error) {
92
+ // If remote returns 404 or similar, treat as not exists
93
+ return false;
94
+ }
95
+ },
96
+
97
+ /**
98
+ * create - called when workflow is activated
99
+ */
100
+ async create(this: IHookFunctions): Promise<boolean> {
101
+ try {
102
+ const credentials = await this.getCredentials('trendswellApi');
103
+ const authToken = credentials.authToken as string;
104
+
105
+ if (!authToken) {
106
+ throw new NodeOperationError(
107
+ this.getNode(),
108
+ 'No auth token available for Trendswell credentials',
109
+ );
110
+ }
111
+
112
+ const webhookUrl = this.getNodeWebhookUrl('default');
113
+ const webhookFor = this.getNodeParameter('webhookFor') as string;
114
+
115
+ const response = await this.helpers.request({
116
+ method: 'POST',
117
+ url: `${backendURL}/n8n/subscription-webhooks`,
118
+ headers: {
119
+ 'Content-Type': 'application/json',
120
+ Accept: 'application/json',
121
+ 'auth-token': authToken,
122
+ },
123
+ body: {
124
+ url: webhookUrl,
125
+ webhookFor,
126
+ },
127
+ json: true,
128
+ });
129
+
130
+ // ensure we received an id
131
+ if (!response?.id) {
132
+ throw new NodeOperationError(
133
+ this.getNode(),
134
+ 'No subscription ID returned from Trendswell API',
135
+ );
136
+ }
137
+
138
+ // persist subscription id in workflow static data (node-scoped)
139
+ const staticData = this.getWorkflowStaticData('node') as any;
140
+ staticData.webhookId = response.id;
141
+
142
+ return true;
143
+ } catch (error) {
144
+ // NodeApiError expects a JsonObject (not a plain Error)
145
+ throw new NodeApiError(this.getNode(), error as unknown as JsonObject);
146
+ }
147
+ },
148
+
149
+ /**
150
+ * delete - called when workflow is deactivated
151
+ */
152
+ async delete(this: IHookFunctions): Promise<boolean> {
153
+ try {
154
+ const staticData = this.getWorkflowStaticData('node') as any;
155
+ const webhookId = staticData?.webhookId;
156
+
157
+ if (!webhookId) {
158
+ // nothing to delete
159
+ return true;
160
+ }
161
+
162
+ const credentials = (await this.getCredentials('trendswellApi')) as {
163
+ authToken?: string;
164
+ };
165
+ const authToken = credentials?.authToken as string | undefined;
166
+
167
+ // perform delete request (your Zapier code uses DELETE /zap/webhooks/:id)
168
+ await this.helpers.request({
169
+ method: 'DELETE',
170
+ url: `${backendURL}/n8n/webhooks/${webhookId}`,
171
+ headers: {
172
+ 'Content-Type': 'application/json',
173
+ Accept: 'application/json',
174
+ 'auth-token': authToken,
175
+ },
176
+ body: {
177
+ hookUrl: webhookId,
178
+ },
179
+ json: true,
180
+ });
181
+
182
+ // remove stored id
183
+ delete staticData.webhookId;
184
+
185
+ return true;
186
+ } catch (error) {
187
+ throw new NodeApiError(this.getNode(), error as unknown as JsonObject);
188
+ }
189
+ },
190
+ },
191
+ };
192
+
193
+ /**
194
+ * webhook runtime function - receives incoming HTTP POSTs from your backend
195
+ */
196
+ async webhook(this: IWebhookFunctions) {
197
+ const body = this.getBodyData();
198
+ // your backend posts { data: [...] } so unwrap if present
199
+ const data = (body as any)?.data ?? body;
200
+
201
+ // if data is an array, return each item as separate node item
202
+ if (Array.isArray(data)) {
203
+ const items = data.map((entry) => ({ json: entry as JsonObject }));
204
+ return {
205
+ workflowData: [items],
206
+ };
207
+ }
208
+
209
+ // single object
210
+ return {
211
+ workflowData: [[{ json: data as JsonObject }]],
212
+ };
213
+ }
214
+ }
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="512" height="512">
3
+ <path d="M0 0 C168.96 0 337.92 0 512 0 C512 168.96 512 337.92 512 512 C343.04 512 174.08 512 0 512 C0 343.04 0 174.08 0 0 Z " fill="#FEFEFE" transform="translate(0,0)"/>
4
+ <path d="M0 0 C3.62091572 0.04156296 7.24194957 0.05932267 10.86303711 0.0793457 C17.91670312 0.12172711 24.9699014 0.18962419 32.02319336 0.2746582 C30.0129961 9.71908287 30.0129961 9.71908287 28.46459961 14.13012695 C28.1669873 14.98364746 27.869375 15.83716797 27.56274414 16.71655273 C27.24031738 17.62260254 26.91789062 18.52865234 26.58569336 19.4621582 C26.06724854 20.93724854 26.06724854 20.93724854 25.53833008 22.44213867 C22.42216286 31.26011252 19.18356838 40.03307705 15.94418335 48.80633545 C12.03711702 59.39497571 8.30884427 70.03728454 4.65698242 80.71704102 C1.61741355 89.59393626 -1.52730814 98.4282247 -4.72558594 107.24902344 C-7.18044112 114.02979593 -9.56627536 120.83123462 -11.91430664 127.6496582 C-14.83152733 136.1145128 -17.90310061 144.51362621 -21.03930664 152.8996582 C-25.00499832 163.51192432 -28.67588264 174.19149879 -32.21069336 184.95336914 C-40.09518943 208.84304047 -48.25956365 233.31625441 -63.97680664 253.2746582 C-64.37883301 253.7902832 -64.78085937 254.3059082 -65.19506836 254.8371582 C-83.08243239 277.58425316 -106.52317364 291.07943543 -134.97680664 296.2746582 C-135.8851123 296.44884277 -136.79341797 296.62302734 -137.72924805 296.80249023 C-141.48050918 297.34789236 -145.18611107 297.50555927 -148.96899414 297.59106445 C-149.78747833 297.61189087 -150.60596252 297.63271729 -151.44924927 297.6541748 C-154.24999516 297.7216433 -157.05082773 297.78021516 -159.85180664 297.8371582 C-160.83149414 297.8583371 -161.81118164 297.87951599 -162.82055664 297.90133667 C-200.86171128 298.69423597 -238.92982437 298.35949519 -276.97680664 298.2746582 C-276.97680664 297.9446582 -276.97680664 297.6146582 -276.97680664 297.2746582 C-275.86305664 297.05551758 -274.74930664 296.83637695 -273.60180664 296.6105957 C-252.60326371 292.319075 -232.15812223 284.77625245 -215.97680664 270.2746582 C-215.14922852 269.56567383 -214.32165039 268.85668945 -213.46899414 268.1262207 C-203.35140118 259.3081351 -195.29363947 249.46510841 -187.97680664 238.2746582 C-187.4315332 237.44192383 -186.88625977 236.60918945 -186.32446289 235.7512207 C-180.21510458 225.99569363 -175.44686692 215.44996682 -171.99633789 204.48168945 C-170.77918571 200.65302302 -169.44743392 196.87218925 -168.10180664 193.0871582 C-167.8450415 192.36238281 -167.58827637 191.63760742 -167.32373047 190.89086914 C-166.79963526 189.41172336 -166.27513803 187.93271997 -165.75024414 186.45385742 C-164.53151821 183.02003557 -163.31580479 179.58515416 -162.10180664 176.1496582 C-161.85599854 175.45412842 -161.61019043 174.75859863 -161.35693359 174.04199219 C-159.64436202 169.18779774 -157.95137697 164.32702134 -156.26513672 159.46362305 C-149.21049362 139.12041154 -142.11473676 118.78126295 -134.57836914 98.6105957 C-133.45111476 95.58669109 -132.37011669 92.55024492 -131.31274414 89.5012207 C-125.73226323 73.55950801 -118.70848859 59.42729197 -107.97680664 46.2746582 C-107.14050921 45.22286096 -106.30458022 44.17077066 -105.46899414 43.1184082 C-100.74836719 37.24180158 -95.91375924 31.93025413 -89.97680664 27.2746582 C-88.65422852 26.21504883 -88.65422852 26.21504883 -87.30493164 25.1340332 C-60.52453327 4.30483447 -33.18706071 -0.42230468 0 0 Z " fill="#0183F9" transform="translate(478.976806640625,32.725341796875)"/>
5
+ <path d="M0 0 C3.62874569 0.01898058 7.25750192 0.02053383 10.8862896 0.02407622 C17.73173353 0.03333479 24.57703068 0.05786301 31.42241049 0.08812469 C39.22672345 0.12186358 47.03104408 0.13820328 54.83541203 0.153211 C70.86535446 0.18441949 86.89515111 0.23705701 102.92498589 0.30418181 C99.75842666 1.97102159 96.64611591 3.00681551 93.1901226 3.95164275 C72.57576266 9.5907738 55.54095728 19.92868132 39.92498589 34.30418181 C39.23920464 34.91906463 38.55342339 35.53394744 37.84686089 36.16746306 C18.77625409 54.12413255 8.36793407 79.0894864 0.50311089 103.48777556 C-0.71975124 107.26945479 -2.05107121 110.98173126 -3.51251411 114.67918181 C-5.73663935 120.31507198 -7.72970873 126.01360767 -9.70001411 131.74168181 C-12.83558198 140.84771453 -16.11031043 149.89621578 -19.45001411 158.92918181 C-23.22327816 169.13752068 -26.86421493 179.38190457 -30.38751411 189.67918181 C-38.72617063 213.97558004 -47.29201058 236.42957237 -64.07501411 256.30418181 C-64.74017036 257.11629119 -65.40532661 257.92840056 -66.09063911 258.76511931 C-77.65453719 272.34199224 -92.92715518 282.37212251 -109.13751411 289.55418181 C-109.82547066 289.87153289 -110.5134272 290.18888396 -111.22223091 290.51585174 C-129.71888406 298.32454642 -149.51014232 297.83085846 -169.18914986 297.57884002 C-172.79684003 297.53718983 -176.40465051 297.51949953 -180.01251411 297.49949431 C-187.03363079 297.45718136 -194.05427488 297.38933669 -201.07501411 297.30418181 C-197.79799517 287.43011412 -194.51167607 277.56161515 -191.07501411 267.74168181 C-190.73744087 266.77480437 -190.39986763 265.80792693 -190.0520649 264.81175017 C-189.37584079 262.87636671 -188.69894444 260.94121797 -188.02130318 259.00633025 C-187.15981669 256.54633736 -186.30083487 254.08548406 -185.44220161 251.62449431 C-183.12672988 245.00736743 -180.75534832 238.419468 -178.26251411 231.86668181 C-174.30422158 221.44592512 -170.75099621 210.8810273 -167.12384224 200.34177947 C-164.81291894 193.64892387 -162.44664645 186.9757173 -160.07501411 180.30418181 C-159.69216255 179.22652556 -159.30931099 178.14886931 -158.91485786 177.03855681 C-156.56612604 170.44618409 -154.19542191 163.86184848 -151.82208443 157.27830291 C-146.51148627 142.5439104 -141.28180799 127.78488381 -136.13751411 112.99168181 C-135.79929634 112.02053435 -135.46107857 111.04938689 -135.11261177 110.04881072 C-133.45806333 105.29544245 -131.81151208 100.53966918 -130.18438911 95.77683806 C-127.20025312 87.07698324 -124.15338526 78.5645018 -120.07501411 70.30418181 C-119.63802193 69.35800994 -119.20102974 68.41183806 -118.75079536 67.43699431 C-113.0051108 55.31596112 -105.34268938 44.97400472 -96.07501411 35.30418181 C-95.27063911 34.45855681 -94.46626411 33.61293181 -93.63751411 32.74168181 C-92.79188911 31.93730681 -91.94626411 31.13293181 -91.07501411 30.30418181 C-90.05214302 29.30644744 -90.05214302 29.30644744 -89.00860786 28.28855681 C-82.59173003 22.23217773 -75.73945669 17.64836003 -68.07501411 13.30418181 C-67.40083443 12.916174 -66.72665474 12.52816619 -66.03204536 12.12840056 C-61.71223017 9.81114871 -57.12973163 8.03984233 -52.57501411 6.24168181 C-51.34782661 5.75570525 -50.12063911 5.26972869 -48.85626411 4.76902556 C-32.81811619 -0.47116574 -16.68167704 -0.10223043 0 0 Z " fill="#71B5FE" transform="translate(201.07501411437988,162.69581818580627)"/>
6
+ <path d="M0 0 C0 0.33 0 0.66 0 1 C24.09 1.33 48.18 1.66 73 2 C73 2.33 73 2.66 73 3 C43.96 3 14.92 3 -15 3 C-15 2.67 -15 2.34 -15 2 C-9.92523206 0.73694665 -5.27203646 -0.27036084 0 0 Z " fill="#5BAFFB" transform="translate(217,328)"/>
7
+ </svg>
package/package.json ADDED
@@ -0,0 +1,51 @@
1
+ {
2
+ "name": "n8n-nodes-trendswell",
3
+ "version": "0.1.0",
4
+ "description": "n8n nodes for Trendswell (API key auth, one action, one trigger)",
5
+ "author": "Junaid Khokhar",
6
+ "license": "MIT",
7
+ "keywords": [
8
+ "n8n",
9
+ "n8n-node",
10
+ "n8n-community-node-package",
11
+ "trendswell",
12
+ "workflow-automation"
13
+ ],
14
+ "files": [
15
+ "dist",
16
+ "credentials",
17
+ "nodes",
18
+ "icons"
19
+ ],
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "https://github.com/getcurrentai/n8n-nodes-trendswell.git"
23
+ },
24
+ "homepage": "https://github.com/getcurrentai/n8n-nodes-trendswell",
25
+ "bugs": {
26
+ "url": "https://github.com/getcurrentai/n8n-nodes-trendswell/issues"
27
+ },
28
+ "n8n": {
29
+ "credentials": [
30
+ "dist/credentials/TrendswellApi.credentials.js"
31
+ ],
32
+ "nodes": [
33
+ "dist/nodes/Trendswell/Trendswell.node.js",
34
+ "dist/nodes/Trendswell/TrendswellTrigger.node.js"
35
+ ]
36
+ },
37
+ "scripts": {
38
+ "build": "tsc && npm run copy:icons",
39
+ "copy:icons": "copyfiles -u 2 nodes/**/icons/**/* dist/nodes/Trendswell",
40
+ "dev": "tsc -w",
41
+ "prepublishOnly": "npm run build"
42
+ },
43
+ "dependencies": {
44
+ "n8n-workflow": "^1.82.0"
45
+ },
46
+ "devDependencies": {
47
+ "@types/node": "^24.5.2",
48
+ "copyfiles": "^2.4.1",
49
+ "typescript": "^5.9.2"
50
+ }
51
+ }