n8n-nodes-sentor 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/README.md ADDED
@@ -0,0 +1,192 @@
1
+ # n8n-nodes-sentor
2
+
3
+ This is an n8n community node that lets you perform sentiment analysis using the [Sentor ML API](https://sentor.app) in your n8n workflows.
4
+
5
+ [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.
6
+
7
+ ## Installation
8
+
9
+ Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.
10
+
11
+ ### Community Nodes (Recommended)
12
+
13
+ 1. Go to **Settings > Community Nodes** in your n8n instance
14
+ 2. Select **Install a community node**
15
+ 3. Enter `n8n-nodes-sentor` in the npm package name field
16
+ 4. Click **Install**
17
+
18
+ ### Manual Installation
19
+
20
+ To get started with local development or manual installation:
21
+
22
+ ```bash
23
+ npm install n8n-nodes-sentor
24
+ ```
25
+
26
+ ## Operations
27
+
28
+ The Sentor ML node currently supports the following operation:
29
+
30
+ ### Document > Predict Sentiment
31
+
32
+ Analyzes the sentiment of text documents and returns:
33
+ - Predicted label (positive, negative, or neutral)
34
+ - Confidence probabilities for each sentiment
35
+ - Sentence-level sentiment details
36
+
37
+ ## Configuration
38
+
39
+ ### Credentials
40
+
41
+ You need a Sentor ML API key to use this node:
42
+
43
+ 1. Get your API key from [Sentor ML](https://sentor.app)
44
+ 2. In n8n, go to **Credentials > New**
45
+ 3. Search for "Sentor API"
46
+ 4. Enter your API key
47
+ 5. Click **Save**
48
+
49
+ ### Node Parameters
50
+
51
+ - **Language**: Choose between English (en) or Dutch (nl)
52
+ - **Document Text**: The text content to analyze (supports expressions for dynamic input)
53
+ - **Entities** (optional): Comma-separated list of entities to analyze within the text (e.g., "company, product, service")
54
+ - **Simplify Output**: When enabled (default), returns a simplified JSON structure with just label, probability, and details. When disabled, returns the full API response.
55
+
56
+ ## Example Usage
57
+
58
+ ### Basic Sentiment Analysis
59
+
60
+ **Input:**
61
+ ```json
62
+ {
63
+ "documentText": "I love this product! It works great.",
64
+ "language": "en"
65
+ }
66
+ ```
67
+
68
+ **Output (simplified):**
69
+ ```json
70
+ {
71
+ "label": "positive",
72
+ "probability": 0.95,
73
+ "details": [
74
+ {
75
+ "sentence": "I love this product!",
76
+ "sentiment": "positive",
77
+ "score": 0.97
78
+ },
79
+ {
80
+ "sentence": "It works great.",
81
+ "sentiment": "positive",
82
+ "score": 0.93
83
+ }
84
+ ]
85
+ }
86
+ ```
87
+
88
+ ### With Entities
89
+
90
+ **Input:**
91
+ ```json
92
+ {
93
+ "documentText": "Apple's new iPhone is expensive but the camera quality is amazing.",
94
+ "language": "en",
95
+ "entities": "Apple, iPhone, camera"
96
+ }
97
+ ```
98
+
99
+ The API will provide sentiment analysis with special attention to the specified entities.
100
+
101
+ ## Batch Processing
102
+
103
+ This node supports batch processing. When you pass multiple items to the node, it will:
104
+ 1. Collect all input items
105
+ 2. Send them in a single batch request to the API
106
+ 3. Return individual results mapped to each input item
107
+
108
+ This is more efficient than processing items one by one.
109
+
110
+ ## Compatibility
111
+
112
+ - Tested with n8n version 1.0.0+
113
+ - Requires an active Sentor ML API subscription
114
+
115
+ ## Resources
116
+
117
+ * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
118
+ * [Sentor ML Homepage](https://sentor.app)
119
+ * [Sentor ML API Documentation](https://sentor.app/docs/#/)
120
+ * [GitHub Repository](https://github.com/erfanjn/n8n-nodes-sentor)
121
+
122
+ ## Version History
123
+
124
+ ### 0.1.0
125
+ - Initial release
126
+ - Support for sentiment prediction
127
+ - English and Dutch language support
128
+ - Entity-based analysis
129
+ - Batch processing support
130
+
131
+ ## License
132
+
133
+ [MIT](LICENSE)
134
+
135
+ ## Support
136
+
137
+ For issues, questions, or contributions:
138
+ - GitHub Issues: [https://github.com/erfanjn/n8n-nodes-sentor/issues](https://github.com/erfanjn/n8n-nodes-sentor/issues)
139
+ - Email: erfan.jazebnikoo@gmail.com
140
+
141
+ ## Development
142
+
143
+ ### Local Development
144
+
145
+ 1. Clone the repository:
146
+ ```bash
147
+ git clone https://github.com/erfanjn/n8n-nodes-sentor.git
148
+ cd n8n-nodes-sentor
149
+ ```
150
+
151
+ 2. Install dependencies:
152
+ ```bash
153
+ npm install
154
+ ```
155
+
156
+ 3. Build the node:
157
+ ```bash
158
+ npm run build
159
+ ```
160
+
161
+ 4. Test locally:
162
+ ```bash
163
+ npm run dev
164
+ ```
165
+
166
+ This will start n8n with your local node loaded. You can then test it in your workflows.
167
+
168
+ ### Testing
169
+
170
+ To test the node in a local n8n instance:
171
+
172
+ 1. Link the package locally:
173
+ ```bash
174
+ npm link
175
+ ```
176
+
177
+ 2. In your n8n installation directory:
178
+ ```bash
179
+ npm link n8n-nodes-sentor
180
+ ```
181
+
182
+ 3. Restart n8n and the node will be available
183
+
184
+ ## Contributing
185
+
186
+ Contributions are welcome! Please feel free to submit a Pull Request.
187
+
188
+ 1. Fork the repository
189
+ 2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
190
+ 3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
191
+ 4. Push to the branch (`git push origin feature/AmazingFeature`)
192
+ 5. Open a Pull Request
@@ -0,0 +1,9 @@
1
+ import type { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class SentorApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ documentationUrl: string;
6
+ properties: INodeProperties[];
7
+ authenticate: IAuthenticateGeneric;
8
+ test: ICredentialTestRequest;
9
+ }
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SentorApi = void 0;
4
+ class SentorApi {
5
+ constructor() {
6
+ this.name = 'sentorApi';
7
+ this.displayName = 'Sentor API';
8
+ this.documentationUrl = 'https://sentor.app/docs/#/';
9
+ this.properties = [
10
+ {
11
+ displayName: 'API Key',
12
+ name: 'apiKey',
13
+ type: 'string',
14
+ typeOptions: { password: true },
15
+ default: '',
16
+ required: true,
17
+ description: 'The API key to authenticate with Sentor ML API',
18
+ },
19
+ ];
20
+ this.authenticate = {
21
+ type: 'generic',
22
+ properties: {
23
+ headers: {
24
+ 'x-api-key': '={{$credentials.apiKey}}',
25
+ },
26
+ },
27
+ };
28
+ this.test = {
29
+ request: {
30
+ baseURL: 'https://api.sentor.ml',
31
+ url: '/predict',
32
+ method: 'POST',
33
+ body: {
34
+ docs: [
35
+ {
36
+ doc: 'Test',
37
+ doc_id: 'test_credential',
38
+ },
39
+ ],
40
+ language: 'en',
41
+ },
42
+ },
43
+ };
44
+ }
45
+ }
46
+ exports.SentorApi = SentorApi;
47
+ //# sourceMappingURL=SentorApi.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SentorApi.credentials.js","sourceRoot":"","sources":["../../credentials/SentorApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,SAAS;IAAtB;QACC,SAAI,GAAG,WAAW,CAAC;QACnB,gBAAW,GAAG,YAAY,CAAC;QAC3B,qBAAgB,GAAG,4BAA4B,CAAC;QAChD,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,gDAAgD;aAC7D;SACD,CAAC;QAGF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,WAAW,EAAE,0BAA0B;iBACvC;aACD;SACD,CAAC;QAGF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,uBAAuB;gBAChC,GAAG,EAAE,UAAU;gBACf,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE;oBACL,IAAI,EAAE;wBACL;4BACC,GAAG,EAAE,MAAM;4BACX,MAAM,EAAE,iBAAiB;yBACzB;qBACD;oBACD,QAAQ,EAAE,IAAI;iBACd;aACD;SACD,CAAC;IACH,CAAC;CAAA;AA3CD,8BA2CC"}
@@ -0,0 +1,5 @@
1
+ import type { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
2
+ export declare class Sentor implements INodeType {
3
+ description: INodeTypeDescription;
4
+ execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
5
+ }
@@ -0,0 +1,251 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Sentor = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ class Sentor {
6
+ constructor() {
7
+ this.description = {
8
+ displayName: 'Sentor ML',
9
+ name: 'sentor',
10
+ icon: 'file:sentor.svg',
11
+ group: ['transform'],
12
+ version: 1,
13
+ subtitle: '={{$parameter["operation"]}}',
14
+ description: 'Analyze sentiment of text documents using Sentor ML',
15
+ defaults: {
16
+ name: 'Sentor ML',
17
+ },
18
+ inputs: ['main'],
19
+ outputs: ['main'],
20
+ credentials: [
21
+ {
22
+ name: 'sentorApi',
23
+ required: true,
24
+ },
25
+ ],
26
+ properties: [
27
+ {
28
+ displayName: 'Resource',
29
+ name: 'resource',
30
+ type: 'options',
31
+ noDataExpression: true,
32
+ options: [
33
+ {
34
+ name: 'Document',
35
+ value: 'document',
36
+ },
37
+ ],
38
+ default: 'document',
39
+ },
40
+ {
41
+ displayName: 'Operation',
42
+ name: 'operation',
43
+ type: 'options',
44
+ noDataExpression: true,
45
+ displayOptions: {
46
+ show: {
47
+ resource: ['document'],
48
+ },
49
+ },
50
+ options: [
51
+ {
52
+ name: 'Predict Sentiment',
53
+ value: 'predict',
54
+ description: 'Analyze sentiment of text document',
55
+ action: 'Predict sentiment of a document',
56
+ },
57
+ ],
58
+ default: 'predict',
59
+ },
60
+ {
61
+ displayName: 'Language',
62
+ name: 'language',
63
+ type: 'options',
64
+ displayOptions: {
65
+ show: {
66
+ resource: ['document'],
67
+ operation: ['predict'],
68
+ },
69
+ },
70
+ options: [
71
+ {
72
+ name: 'English',
73
+ value: 'en',
74
+ },
75
+ {
76
+ name: 'Dutch',
77
+ value: 'nl',
78
+ },
79
+ ],
80
+ default: 'en',
81
+ description: 'The language of the text to analyze',
82
+ },
83
+ {
84
+ displayName: 'Document Text',
85
+ name: 'documentText',
86
+ type: 'string',
87
+ typeOptions: {
88
+ rows: 4,
89
+ },
90
+ displayOptions: {
91
+ show: {
92
+ resource: ['document'],
93
+ operation: ['predict'],
94
+ },
95
+ },
96
+ default: '',
97
+ required: true,
98
+ placeholder: 'Enter the text to analyze...',
99
+ description: 'The text content to analyze for sentiment',
100
+ },
101
+ {
102
+ displayName: 'Entities',
103
+ name: 'entities',
104
+ type: 'string',
105
+ displayOptions: {
106
+ show: {
107
+ resource: ['document'],
108
+ operation: ['predict'],
109
+ },
110
+ },
111
+ default: '',
112
+ placeholder: 'company, product, service',
113
+ description: 'Optional comma-separated list of entities to analyze within the text',
114
+ },
115
+ {
116
+ displayName: 'Simplify Output',
117
+ name: 'simplify',
118
+ type: 'boolean',
119
+ displayOptions: {
120
+ show: {
121
+ resource: ['document'],
122
+ operation: ['predict'],
123
+ },
124
+ },
125
+ default: true,
126
+ description: 'Whether to return a simplified output with just label, probability, and details',
127
+ },
128
+ ],
129
+ };
130
+ }
131
+ async execute() {
132
+ const items = this.getInputData();
133
+ const returnData = [];
134
+ const resource = this.getNodeParameter('resource', 0);
135
+ const operation = this.getNodeParameter('operation', 0);
136
+ if (resource === 'document' && operation === 'predict') {
137
+ const language = this.getNodeParameter('language', 0);
138
+ const docs = [];
139
+ for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {
140
+ try {
141
+ const documentText = this.getNodeParameter('documentText', itemIndex);
142
+ const entitiesString = this.getNodeParameter('entities', itemIndex, '');
143
+ if (!documentText || documentText.trim() === '') {
144
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Document text is required and cannot be empty', { itemIndex });
145
+ }
146
+ const docPayload = {
147
+ doc: documentText,
148
+ doc_id: `doc_${itemIndex}`,
149
+ };
150
+ if (entitiesString && entitiesString.trim() !== '') {
151
+ const entities = entitiesString
152
+ .split(',')
153
+ .map((e) => e.trim())
154
+ .filter((e) => e.length > 0);
155
+ if (entities.length > 0) {
156
+ docPayload.entities = entities;
157
+ }
158
+ }
159
+ docs.push(docPayload);
160
+ }
161
+ catch (error) {
162
+ if (this.continueOnFail()) {
163
+ returnData.push({
164
+ json: { error: error.message },
165
+ pairedItem: { item: itemIndex },
166
+ });
167
+ continue;
168
+ }
169
+ throw error;
170
+ }
171
+ }
172
+ if (docs.length > 0) {
173
+ try {
174
+ const requestOptions = {
175
+ method: 'POST',
176
+ url: 'https://api.sentor.ml/predict',
177
+ headers: {
178
+ 'Content-Type': 'application/json',
179
+ },
180
+ body: {
181
+ docs,
182
+ language,
183
+ },
184
+ json: true,
185
+ };
186
+ const response = (await this.helpers.httpRequestWithAuthentication.call(this, 'sentorApi', requestOptions));
187
+ if (!response.results || !Array.isArray(response.results)) {
188
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), {
189
+ message: 'Invalid response from Sentor API',
190
+ description: 'The API did not return results in the expected format',
191
+ });
192
+ }
193
+ const simplify = this.getNodeParameter('simplify', 0);
194
+ for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {
195
+ const docId = `doc_${itemIndex}`;
196
+ const result = response.results.find((r) => r.doc_id === docId);
197
+ if (!result) {
198
+ if (this.continueOnFail()) {
199
+ returnData.push({
200
+ json: { error: 'No result found for this document' },
201
+ pairedItem: { item: itemIndex },
202
+ });
203
+ continue;
204
+ }
205
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), {
206
+ message: `No result found for document ${docId}`,
207
+ description: 'The API did not return a result for this document',
208
+ });
209
+ }
210
+ if (simplify) {
211
+ const probability = result.probabilities[result.predicted_label] || 0;
212
+ returnData.push({
213
+ json: {
214
+ label: result.predicted_label,
215
+ probability,
216
+ details: result.details,
217
+ },
218
+ pairedItem: { item: itemIndex },
219
+ });
220
+ }
221
+ else {
222
+ returnData.push({
223
+ json: result,
224
+ pairedItem: { item: itemIndex },
225
+ });
226
+ }
227
+ }
228
+ }
229
+ catch (error) {
230
+ if (this.continueOnFail()) {
231
+ for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {
232
+ returnData.push({
233
+ json: { error: error.message },
234
+ pairedItem: { item: itemIndex },
235
+ });
236
+ }
237
+ }
238
+ else {
239
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), error, {
240
+ message: 'Failed to analyze sentiment',
241
+ description: error.message,
242
+ });
243
+ }
244
+ }
245
+ }
246
+ }
247
+ return [returnData];
248
+ }
249
+ }
250
+ exports.Sentor = Sentor;
251
+ //# sourceMappingURL=Sentor.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sentor.node.js","sourceRoot":"","sources":["../../../nodes/Sentor/Sentor.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24">
2
+ <rect width="24" height="24" fill="none"/>
3
+ <g fill="#fff">
4
+ <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/>
5
+ <circle cx="8.5" cy="10.5" r="1.5"/>
6
+ <circle cx="15.5" cy="10.5" r="1.5"/>
7
+ <path d="M12 17.5c2.33 0 4.32-1.45 5.12-3.5H6.88c.8 2.05 2.79 3.5 5.12 3.5z"/>
8
+ </g>
9
+ </svg>
10
+
@@ -0,0 +1,10 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24">
2
+ <rect width="24" height="24" fill="none"/>
3
+ <g fill="#333">
4
+ <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/>
5
+ <circle cx="8.5" cy="10.5" r="1.5"/>
6
+ <circle cx="15.5" cy="10.5" r="1.5"/>
7
+ <path d="M12 17.5c2.33 0 4.32-1.45 5.12-3.5H6.88c.8 2.05 2.79 3.5 5.12 3.5z"/>
8
+ </g>
9
+ </svg>
10
+
@@ -0,0 +1,60 @@
1
+ {
2
+ "name": "n8n-nodes-sentor",
3
+ "version": "0.1.0",
4
+ "description": "n8n community node for sentiment analysis using Sentor ML API",
5
+ "license": "MIT",
6
+ "homepage": "https://github.com/erfanjn/n8n-nodes-sentor",
7
+ "keywords": [
8
+ "n8n-community-node-package",
9
+ "n8n",
10
+ "sentiment-analysis",
11
+ "sentor",
12
+ "ml",
13
+ "machine-learning",
14
+ "nlp"
15
+ ],
16
+ "author": {
17
+ "name": "Erfan Jazeb Nikoo",
18
+ "email": "erfan.jazebnikoo@gmail.com"
19
+ },
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "https://github.com/erfanjn/n8n-nodes-sentor.git"
23
+ },
24
+ "scripts": {
25
+ "build": "n8n-node build",
26
+ "build:watch": "tsc --watch",
27
+ "dev": "n8n-node dev",
28
+ "lint": "n8n-node lint",
29
+ "lint:fix": "n8n-node lint --fix",
30
+ "release": "n8n-node release",
31
+ "prepublishOnly": "n8n-node prerelease"
32
+ },
33
+ "files": [
34
+ "dist"
35
+ ],
36
+ "n8n": {
37
+ "n8nNodesApiVersion": 1,
38
+ "strict": true,
39
+ "credentials": [
40
+ "dist/credentials/SentorApi.credentials.js"
41
+ ],
42
+ "nodes": [
43
+ "dist/nodes/Sentor/Sentor.node.js"
44
+ ]
45
+ },
46
+ "devDependencies": {
47
+ "@n8n/node-cli": "*",
48
+ "eslint": "9.32.0",
49
+ "prettier": "3.6.2",
50
+ "release-it": "^19.0.4",
51
+ "typescript": "5.9.2"
52
+ },
53
+ "peerDependencies": {
54
+ "n8n-workflow": "*"
55
+ },
56
+ "overrides": {
57
+ "change-case": "4.1.2",
58
+ "@n8n/eslint-plugin-community-nodes": "0.5.0"
59
+ }
60
+ }
@@ -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.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/form-data/index.d.ts","../node_modules/n8n-workflow/dist/esm/constants.d.ts","../node_modules/n8n-workflow/dist/esm/data-table.types.d.ts","../node_modules/n8n-workflow/dist/esm/deferred-promise.d.ts","../node_modules/@n8n/errors/dist/types.d.ts","../node_modules/@n8n/errors/dist/application.error.d.ts","../node_modules/@n8n/errors/dist/index.d.ts","../node_modules/n8n-workflow/dist/esm/errors/base/base.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/base/operational.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/base/unexpected.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/base/user.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/abstract/execution-base.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/expression.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/execution-cancelled.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/abstract/node.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/node-api.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/node-operation.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/workflow-configuration.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/node-ssl.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/workflow-activation.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/webhook-taken.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/workflow-deactivation.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/workflow-operation.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/subworkflow-operation.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/cli-subworkflow-operation.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/trigger-close.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/expression-extension.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/db-connection-timeout-error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/ensure-error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/index.d.ts","../node_modules/n8n-workflow/dist/esm/execution-status.d.ts","../node_modules/n8n-workflow/dist/esm/result.d.ts","../node_modules/n8n-workflow/dist/esm/expression.d.ts","../node_modules/n8n-workflow/dist/esm/workflow.d.ts","../node_modules/n8n-workflow/dist/esm/workflow-data-proxy-env-provider.d.ts","../node_modules/n8n-workflow/dist/esm/interfaces.d.ts","../node_modules/n8n-workflow/dist/esm/logger-proxy.d.ts","../node_modules/n8n-workflow/dist/esm/node-helpers.d.ts","../node_modules/n8n-workflow/dist/esm/observable-object.d.ts","../node_modules/n8n-workflow/dist/esm/telemetry-helpers.d.ts","../node_modules/n8n-workflow/dist/esm/common/get-child-nodes.d.ts","../node_modules/n8n-workflow/dist/esm/common/get-connected-nodes.d.ts","../node_modules/n8n-workflow/dist/esm/common/get-node-by-name.d.ts","../node_modules/n8n-workflow/dist/esm/common/get-parent-nodes.d.ts","../node_modules/n8n-workflow/dist/esm/common/map-connections-by-destination.d.ts","../node_modules/n8n-workflow/dist/esm/common/index.d.ts","../node_modules/n8n-workflow/dist/esm/cron.d.ts","../node_modules/n8n-workflow/dist/esm/global-state.d.ts","../node_modules/n8n-workflow/dist/esm/message-event-bus.d.ts","../node_modules/n8n-workflow/dist/esm/expressions/expression-helpers.d.ts","../node_modules/zod/dist/types/v3/helpers/typealiases.d.ts","../node_modules/zod/dist/types/v3/helpers/util.d.ts","../node_modules/zod/dist/types/v3/zoderror.d.ts","../node_modules/zod/dist/types/v3/locales/en.d.ts","../node_modules/zod/dist/types/v3/errors.d.ts","../node_modules/zod/dist/types/v3/helpers/parseutil.d.ts","../node_modules/zod/dist/types/v3/helpers/enumutil.d.ts","../node_modules/zod/dist/types/v3/helpers/errorutil.d.ts","../node_modules/zod/dist/types/v3/helpers/partialutil.d.ts","../node_modules/zod/dist/types/v3/standard-schema.d.ts","../node_modules/zod/dist/types/v3/types.d.ts","../node_modules/zod/dist/types/v3/external.d.ts","../node_modules/zod/dist/types/v3/index.d.ts","../node_modules/zod/dist/types/index.d.ts","../node_modules/n8n-workflow/dist/esm/from-ai-parse-utils.d.ts","../node_modules/n8n-workflow/dist/esm/tool-helpers.d.ts","../node_modules/n8n-workflow/dist/esm/node-reference-parser-utils.d.ts","../node_modules/n8n-workflow/dist/esm/metadata-utils.d.ts","../node_modules/n8n-workflow/dist/esm/workflow-data-proxy.d.ts","../node_modules/n8n-workflow/dist/esm/versioned-node-type.d.ts","../node_modules/n8n-workflow/dist/esm/type-validation.d.ts","../node_modules/n8n-workflow/dist/esm/utils.d.ts","../node_modules/n8n-workflow/dist/esm/type-guards.d.ts","../node_modules/n8n-workflow/dist/esm/graph/graph-utils.d.ts","../node_modules/n8n-workflow/dist/esm/extensions/extensions.d.ts","../node_modules/n8n-workflow/dist/esm/extensions/expression-extension.d.ts","../node_modules/n8n-workflow/dist/esm/extensions/index.d.ts","../node_modules/n8n-workflow/dist/esm/extensions/expression-parser.d.ts","../node_modules/n8n-workflow/dist/esm/native-methods/index.d.ts","../node_modules/n8n-workflow/dist/esm/node-parameters/filter-parameter.d.ts","../node_modules/n8n-workflow/dist/esm/node-parameters/parameter-type-validation.d.ts","../node_modules/n8n-workflow/dist/esm/node-parameters/path-utils.d.ts","../node_modules/n8n-workflow/dist/esm/evaluation-helpers.d.ts","../node_modules/n8n-workflow/dist/esm/index.d.ts","../credentials/sentorapi.credentials.ts","../nodes/sentor/sentor.node.ts","../package.json","../node_modules/@types/estree/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/parse-path/index.d.ts","../node_modules/@types/semver/functions/inc.d.ts","../node_modules/@types/semver/classes/semver.d.ts","../node_modules/@types/semver/functions/parse.d.ts","../node_modules/@types/semver/functions/valid.d.ts","../node_modules/@types/semver/functions/clean.d.ts","../node_modules/@types/semver/functions/diff.d.ts","../node_modules/@types/semver/functions/major.d.ts","../node_modules/@types/semver/functions/minor.d.ts","../node_modules/@types/semver/functions/patch.d.ts","../node_modules/@types/semver/functions/prerelease.d.ts","../node_modules/@types/semver/functions/compare.d.ts","../node_modules/@types/semver/functions/rcompare.d.ts","../node_modules/@types/semver/functions/compare-loose.d.ts","../node_modules/@types/semver/functions/compare-build.d.ts","../node_modules/@types/semver/functions/sort.d.ts","../node_modules/@types/semver/functions/rsort.d.ts","../node_modules/@types/semver/functions/gt.d.ts","../node_modules/@types/semver/functions/lt.d.ts","../node_modules/@types/semver/functions/eq.d.ts","../node_modules/@types/semver/functions/neq.d.ts","../node_modules/@types/semver/functions/gte.d.ts","../node_modules/@types/semver/functions/lte.d.ts","../node_modules/@types/semver/functions/cmp.d.ts","../node_modules/@types/semver/functions/coerce.d.ts","../node_modules/@types/semver/classes/comparator.d.ts","../node_modules/@types/semver/classes/range.d.ts","../node_modules/@types/semver/functions/satisfies.d.ts","../node_modules/@types/semver/ranges/max-satisfying.d.ts","../node_modules/@types/semver/ranges/min-satisfying.d.ts","../node_modules/@types/semver/ranges/to-comparators.d.ts","../node_modules/@types/semver/ranges/min-version.d.ts","../node_modules/@types/semver/ranges/valid.d.ts","../node_modules/@types/semver/ranges/outside.d.ts","../node_modules/@types/semver/ranges/gtr.d.ts","../node_modules/@types/semver/ranges/ltr.d.ts","../node_modules/@types/semver/ranges/intersects.d.ts","../node_modules/@types/semver/ranges/simplify.d.ts","../node_modules/@types/semver/ranges/subset.d.ts","../node_modules/@types/semver/internals/identifiers.d.ts","../node_modules/@types/semver/index.d.ts"],"fileIdsList":[[131],[52],[52,53],[139,177],[139,162,177],[138,177],[177],[139],[139,163,177],[138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176],[163,177],[83],[88,89,90,91,92],[54,83],[59,83],[54],[55],[71],[59],[60],[54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76],[54,62,83],[62,63,83],[70],[67],[54,59,83],[64],[81,83],[122],[122,123],[111],[49,50,51,77,78,79,80,81,82,83,84,85,86,87,93,94,95,96,97,112,113,114,115,116,117,118,119,120,121,124,125,126,127,128,129,130],[48,49,50,51,60,63,64,67,70,77,78,79,81,82],[81,82,83],[80,83],[110],[100,101],[98,99,100,102,103,108],[99,100],[108],[109],[100],[98,99,100,103,104,105,106,107],[98,99,110]],"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":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","impliedFormat":1},{"version":"0d5f371d676acc073f0166b7fd967adeb6afa5f0967b9821d83c106f66cc458d","impliedFormat":1},{"version":"a588d1f897adf938963ef3d90c8038c3c5cd19ef88fbedda4cb1a77b8b7ba3e6","impliedFormat":1},{"version":"a0981ee0c7ac06bdb575558bd09bac190e1c0c7888ddcb63d8bf648f23a30e8c","impliedFormat":1},{"version":"00f11c3ec667314eaa2adfe253b5ebebbbdbb82510e04460c2f09d1c3b521d31","impliedFormat":1},{"version":"5c7a516e25a2fd1dc5e054c6161fe3c8ba46364f3784ef98f3fca48ab685231c","impliedFormat":1},{"version":"3ff739b7f819cfc12b330f9adcc4c3abbbd5e9f9ca68f53243222a049a8361a2","impliedFormat":1},{"version":"d762b92c1af47b7b3c4eef92fe9a3806194d9edc5dae6901342fc87ef21d7f4a","impliedFormat":1},{"version":"41d14b690d8d8c2a9b7395e8c36de6ca981010736723216ab9f35eb598e09ad9","impliedFormat":1},{"version":"3fdcca6b893ffd38b61b792772f649c82ae28077c360802cec25360eabca24c0","impliedFormat":1},{"version":"299924f7545be254b02278e4dcff7038611f2325d30f0e5ae4bcac906847c164","impliedFormat":1},{"version":"be1d650f04c9f472f0ad0ead3e1b7059dd1e0ff918f7bcb707786d27c3bbeadd","impliedFormat":1},{"version":"1e16c1b1c4d8600a146b15a933f9a880cc275c01f39dc436625f22d3cca46272","impliedFormat":1},{"version":"a631639d7f79f49f68a0ef6553baa1b977e06b230e768511812952709fe5c1f0","impliedFormat":1},{"version":"bf2aefef15e0b4d6bc8f4e19f967494b59b5f90a834de503c373df042513d924","impliedFormat":1},{"version":"4085248a1c89ee865cf9498402c90611d16920a6c9929f701ddc0b963ddad230","impliedFormat":1},{"version":"1a1acd3311ff1794be8401ee394efc3beeb1746068244eb0ee1d51d08e457401","impliedFormat":1},{"version":"ce0b4440a3dd75e14ca94b6d6b27fa26ca89e776d91b8803b3c86c4e8f06ed1a","impliedFormat":1},{"version":"37020cf15e16fa6e1c6e2485cd51d6cbe74adee3b860ab49fb7528ca7e8e518e","impliedFormat":1},{"version":"b6b1a3ff9ba1ddf1a908cfd1bcd471334ecd218a366460fc64c4561d6d0467a4","impliedFormat":1},{"version":"1950d2a49c05c7aa6decfe409b552c4ea5fb156894cf0541b34999819bd778ea","impliedFormat":1},{"version":"32fe829960ff7120843f6dd20197e863aee3e81ecded415641a7500654d1bda7","impliedFormat":1},{"version":"da73778888d41d0abe7d28a24529ba13ff0a9311d55e1902feee7ab97dc6a67d","impliedFormat":1},{"version":"393b1ed0dca4f0aac333e65f2e40dfedfa8b37ac60571e02b152d32d8c84d340","impliedFormat":1},{"version":"f46d50c283425bcc59d68ccf067b3672fb727f802652dc7d60d2e470fb956370","impliedFormat":1},{"version":"0e10fd1d283b4ba7b94f5abb1bc30a2070ccb16c22f86a2780bea8ddc48f3bf7","impliedFormat":1},{"version":"0b4b6ca509cdb152e18ceeed526d17bb416e7e518508d859a0174977195f9a35","impliedFormat":1},{"version":"79b9e661f99d6d01ad0031fbffbb20a8570ca526125a1b01ef5643c00348a8c4","impliedFormat":1},{"version":"deb85dff5a350bd77f24fb5665b7a3c95aa0d4556a0d45ab423ebf3ffcbc70ce","impliedFormat":1},{"version":"f3e1a9f8c28c949f8432b0ef8f0d2686ccc3e38dcc338bbc8a02f956bc7a0725","impliedFormat":1},{"version":"3226c2a2af36d14aa551babd4154ad18042c0deb1509a61058c6b066cfddc30a","impliedFormat":1},{"version":"64c9811ebae7d6bdd3749155911ca473017944d6e9787cec3d11549b05b19de9","impliedFormat":1},{"version":"9de23b9733565858ecfb3971e409970aaf7ec3bd2567aea9373c3b7cfd62f053","impliedFormat":1},{"version":"18c4c5d4069ae6ddce9443a6057fcf333688556b0d644813a78e604812f82bb3","impliedFormat":1},{"version":"6481b29f54e19becbeb7236c60043e2daa47b45cb4fd7e88f287df09250f2405","impliedFormat":1},{"version":"9c65acc70d6beb5cc45fcc39d211a34f686d39aaf3e33a10d28a3df9e6267ec7","impliedFormat":1},{"version":"01658146c02cba2e49ee7beaa0b90864e7a17c3d02cc39cd8b643b5be3a1a438","impliedFormat":1},{"version":"fcbfe8a05b4b1d990aaf289b951ca3fb16bd5aa18004f576283576069be59939","impliedFormat":1},{"version":"db18ec88a0f1512b153a28a0ed1e19f34530885bca1d00e5f17a6e9b3184697f","impliedFormat":1},{"version":"21f166065c0725ca16281aa2f05f5ee9fb556795c8426049bf44ee36bdca9afd","impliedFormat":1},{"version":"36cd04c9f4116122a3545fcc6da5e522861d739718ab3a3cb7ff2268612531aa","impliedFormat":1},{"version":"9ae86dde42766df895cde73c60dc13347cc30829c6696de3cc54036b3120a5ba","impliedFormat":1},{"version":"6823cce79c10482d0860d40ebbfc29f00ddf7f99bca0aa23330599ddd8baead4","impliedFormat":1},{"version":"30ed6587fb249cc1b0585bab7ce2ca81ef193bfe2934241b6f06ffefdaaf4bf9","impliedFormat":1},{"version":"aa18fcf8ad877a9eb0c357c247708f019e25c4d906e3025d73604b66de8d7f11","impliedFormat":1},{"version":"cfc5482e113e44dae9712ae0a4e412788622221ae5eb1327fb69a13a0f5af662","impliedFormat":1},{"version":"5e620d0ed3eeb9a9a767355547123c85aea7e8f26d90e94d0cc3fa457f1c2035","impliedFormat":1},{"version":"304b0d21771513c0a36ed7179a9d1069bfa776e95f50b789ce898f3ef2b71514","impliedFormat":1},{"version":"4904d7124f9731d2368b613523070ca594cbc82f172023b4b5678018be7b6022","impliedFormat":1},{"version":"18c078c2b34901a328c1fc3e5a2f5bd51aa0fef06a548418198955e0af5eaf39","impliedFormat":1},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"54f6ec6ea75acea6eb23635617252d249145edbc7bcd9d53f2d70280d2aef953","impliedFormat":1},{"version":"c25ce98cca43a3bfa885862044be0d59557be4ecd06989b2001a83dcf69620fd","impliedFormat":1},{"version":"8e71e53b02c152a38af6aec45e288cc65bede077b92b9b43b3cb54a37978bb33","impliedFormat":1},{"version":"754a9396b14ca3a4241591afb4edc644b293ccc8a3397f49be4dfd520c08acb3","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"de2316e90fc6d379d83002f04ad9698bc1e5285b4d52779778f454dd12ce9f44","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"2da997a01a6aa5c5c09de5d28f0f4407b597c5e1aecfd32f1815809c532650a2","impliedFormat":1},{"version":"5d26d2e47e2352def36f89a3e8bf8581da22b7f857e07ef3114cd52cf4813445","impliedFormat":1},{"version":"3db2efd285e7328d8014b54a7fce3f4861ebcdc655df40517092ed0050983617","impliedFormat":1},{"version":"d5d39a24c759df40480a4bfc0daffd364489702fdbcbdfc1711cde34f8739995","impliedFormat":1},{"version":"581b97f369056070fafbe168120a192e918e67763116dfbbb2782bbca5f32111","impliedFormat":1},{"version":"74f9797560463a8c9070dd72c04b38cc17b79759b841e2a4175a11742f2ecd11","impliedFormat":1},{"version":"ce22b96ece23ecc9bc1f2a445afefa0a487f299986a1584887e4e4217e196963","impliedFormat":1},{"version":"4788f58342a67af140858e23a24cdf62457ec1ff79af68ac71b9d3c0c89bb53b","impliedFormat":1},{"version":"be19e5bce1b45d5c0ef87d46c3a95a991a3cd8b6c7cb4d756791756e69cc3568","impliedFormat":1},{"version":"e9634e0306920990ddca8f667e3cb624597ea7a4cd25d557a599c0e175419879","impliedFormat":1},{"version":"d4866c666180e89bdc142940cb2986a8fa9f3d2a363cc757bb61cef698b6e976","impliedFormat":1},{"version":"e73799489c16d7281d0466925ba620e9f804bb78400e0dbe04997b98407b1ab5","impliedFormat":1},{"version":"cb279466d8f2d95f3ee0a24637506b18d18d9b1cb869b4dbb534b7597b06daec","impliedFormat":1},{"version":"b33057a3c7ea75948a207a5b784726118ec60f882eeb875bd64e932b4cd41041","impliedFormat":1},{"version":"b773bcdaeda86c0f58910cecd6c77a0bd60be763127c42cad5a64fe66799b1f6","impliedFormat":1},{"version":"9e2e0b4711f1efef5c3c488616334ba2e5b911648a8784fd77fc8beb1e5047c9","impliedFormat":1},{"version":"ca1c4f7d0c786d90ab15a363d59d0e18269b393191ed7b2841547c0e187a8d35","impliedFormat":1},{"version":"0494f89b64c5e8906ce5284194e09bad42b56837757d79cb9e62ce16aae88ab4","impliedFormat":1},{"version":"28f1497962f8853339b46d766384abe7a907900998f551cf43cd793cdcb98e3d","impliedFormat":1},{"version":"e4cce0b510957aab4b12a0dc21a3b4857b8f8a85bbded2b8b81f836ca3c83dbc","impliedFormat":1},{"version":"79a0953f85a27dcaab70dd0e3791a3564631dfd5d85c637513027747c6844357","impliedFormat":1},{"version":"678c7436b7aa03dad934a96850ea395c018637013aa0b52a65898f502b4d6e2a","impliedFormat":1},{"version":"1c18a09d1deaf0e9906100ab54592f256f87fc94c67cce61bfc1c2ea44ac3d13","impliedFormat":1},{"version":"8a4470294a22dd13943cf7b946548fc302b79a10c618abae42a1bd6b2836df2d","impliedFormat":1},{"version":"7c98a9b077b45855aaf15559cb3da088e40900b772b1cd472969d7853f7f3f8e","signature":"e35a4877a2e618261a21579a8c2ff19f7a1ae111ac391867314e8bd81d1498d4"},{"version":"92864880edc212c33fbbdb0c9b53a76123557d6933fcca201cd726f4435d5086","signature":"fdf4ce264e3d65ba668108aad7303be9b7aed82c067b3ccd4a3b52fac11cc482"},"9467f49c731224f68b6402435fa2867a3d4ad0f6a6163bc12166f1b5e53a4de6",{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"e72bcd16c134dae5a840b1d5d0e8b87e1d07fbbff01d66e9a7b913da3cd39b8e","impliedFormat":1},{"version":"ce6a3f09b8db73a7e9701aca91a04b4fabaf77436dd35b24482f9ee816016b17","impliedFormat":1},{"version":"20e086e5b64fdd52396de67761cc0e94693494deadb731264aac122adf08de3f","impliedFormat":1},{"version":"6e78f75403b3ec65efb41c70d392aeda94360f11cedc9fb2c039c9ea23b30962","impliedFormat":1},{"version":"c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","impliedFormat":1},{"version":"8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","impliedFormat":1},{"version":"42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","impliedFormat":1},{"version":"ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","impliedFormat":1},{"version":"83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","impliedFormat":1},{"version":"1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","impliedFormat":1},{"version":"0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","impliedFormat":1},{"version":"cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","impliedFormat":1},{"version":"c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","impliedFormat":1},{"version":"eefd2bbc8edb14c3bd1246794e5c070a80f9b8f3730bd42efb80df3cc50b9039","impliedFormat":1},{"version":"0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","impliedFormat":1},{"version":"7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","impliedFormat":1},{"version":"bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","impliedFormat":1},{"version":"52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","impliedFormat":1},{"version":"770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","impliedFormat":1},{"version":"d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","impliedFormat":1},{"version":"799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","impliedFormat":1},{"version":"2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","impliedFormat":1},{"version":"9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","impliedFormat":1},{"version":"397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","impliedFormat":1},{"version":"a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","impliedFormat":1},{"version":"a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","impliedFormat":1},{"version":"c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","impliedFormat":1},{"version":"4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","impliedFormat":1},{"version":"f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","impliedFormat":1},{"version":"cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","impliedFormat":1},{"version":"b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","impliedFormat":1},{"version":"c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","impliedFormat":1},{"version":"14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","impliedFormat":1},{"version":"a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","impliedFormat":1},{"version":"f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","impliedFormat":1},{"version":"3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","impliedFormat":1},{"version":"662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","impliedFormat":1},{"version":"c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","impliedFormat":1},{"version":"2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"a56fe175741cc8841835eb72e61fa5a34adcbc249ede0e3494c229f0750f6b85","impliedFormat":1}],"root":[[132,134]],"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":[[132,1],[53,2],[54,3],[162,4],[163,5],[139,6],[142,7],[160,4],[161,4],[151,4],[150,8],[148,4],[143,4],[156,4],[154,4],[158,4],[138,4],[155,4],[159,4],[144,4],[145,4],[157,4],[140,4],[146,4],[147,4],[149,4],[153,4],[164,9],[152,4],[141,4],[177,10],[171,9],[173,11],[172,9],[165,9],[166,9],[168,9],[170,9],[174,11],[175,11],[167,11],[169,11],[88,12],[89,12],[90,12],[91,12],[93,13],[92,12],[94,12],[59,14],[62,15],[55,16],[56,17],[57,17],[58,17],[72,18],[75,16],[61,19],[74,20],[60,19],[77,21],[63,22],[64,23],[66,19],[71,24],[73,14],[68,25],[67,26],[65,27],[69,25],[70,15],[80,28],[123,29],[124,30],[112,31],[121,12],[131,32],[83,33],[84,12],[96,12],[115,1],[126,29],[85,28],[127,14],[128,12],[114,12],[86,12],[87,12],[113,12],[120,12],[118,12],[119,12],[117,12],[116,34],[81,35],[111,36],[102,37],[109,38],[103,39],[106,40],[110,41],[101,42],[108,43],[100,44],[133,1]],"version":"5.9.2"}
package/package.json ADDED
@@ -0,0 +1,60 @@
1
+ {
2
+ "name": "n8n-nodes-sentor",
3
+ "version": "0.1.0",
4
+ "description": "n8n community node for sentiment analysis using Sentor ML API",
5
+ "license": "MIT",
6
+ "homepage": "https://github.com/erfanjn/n8n-nodes-sentor",
7
+ "keywords": [
8
+ "n8n-community-node-package",
9
+ "n8n",
10
+ "sentiment-analysis",
11
+ "sentor",
12
+ "ml",
13
+ "machine-learning",
14
+ "nlp"
15
+ ],
16
+ "author": {
17
+ "name": "Erfan Jazeb Nikoo",
18
+ "email": "erfan.jazebnikoo@gmail.com"
19
+ },
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "https://github.com/erfanjn/n8n-nodes-sentor.git"
23
+ },
24
+ "scripts": {
25
+ "build": "n8n-node build",
26
+ "build:watch": "tsc --watch",
27
+ "dev": "n8n-node dev",
28
+ "lint": "n8n-node lint",
29
+ "lint:fix": "n8n-node lint --fix",
30
+ "release": "n8n-node release",
31
+ "prepublishOnly": "n8n-node prerelease"
32
+ },
33
+ "files": [
34
+ "dist"
35
+ ],
36
+ "n8n": {
37
+ "n8nNodesApiVersion": 1,
38
+ "strict": true,
39
+ "credentials": [
40
+ "dist/credentials/SentorApi.credentials.js"
41
+ ],
42
+ "nodes": [
43
+ "dist/nodes/Sentor/Sentor.node.js"
44
+ ]
45
+ },
46
+ "devDependencies": {
47
+ "@n8n/node-cli": "*",
48
+ "eslint": "9.32.0",
49
+ "prettier": "3.6.2",
50
+ "release-it": "^19.0.4",
51
+ "typescript": "5.9.2"
52
+ },
53
+ "peerDependencies": {
54
+ "n8n-workflow": "*"
55
+ },
56
+ "overrides": {
57
+ "change-case": "4.1.2",
58
+ "@n8n/eslint-plugin-community-nodes": "0.5.0"
59
+ }
60
+ }