n8n-nodes-happ 0.1.1

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.
Files changed (27) hide show
  1. package/README.md +54 -0
  2. package/dist/credentials/HappApi.credentials.d.ts +9 -0
  3. package/dist/credentials/HappApi.credentials.js +54 -0
  4. package/dist/credentials/HappApi.credentials.js.map +1 -0
  5. package/dist/nodes/Happ/GenericFunctions.d.ts +3 -0
  6. package/dist/nodes/Happ/GenericFunctions.js +23 -0
  7. package/dist/nodes/Happ/GenericFunctions.js.map +1 -0
  8. package/dist/nodes/Happ/Happ.node.d.ts +10 -0
  9. package/dist/nodes/Happ/Happ.node.js +89 -0
  10. package/dist/nodes/Happ/Happ.node.js.map +1 -0
  11. package/dist/nodes/Happ/HappTrigger.node.d.ts +5 -0
  12. package/dist/nodes/Happ/HappTrigger.node.js +116 -0
  13. package/dist/nodes/Happ/HappTrigger.node.js.map +1 -0
  14. package/dist/nodes/Happ/descriptions/AssistantDescription.d.ts +3 -0
  15. package/dist/nodes/Happ/descriptions/AssistantDescription.js +440 -0
  16. package/dist/nodes/Happ/descriptions/AssistantDescription.js.map +1 -0
  17. package/dist/nodes/Happ/descriptions/ChatDescription.d.ts +3 -0
  18. package/dist/nodes/Happ/descriptions/ChatDescription.js +213 -0
  19. package/dist/nodes/Happ/descriptions/ChatDescription.js.map +1 -0
  20. package/dist/nodes/Happ/descriptions/MessageDescription.d.ts +6 -0
  21. package/dist/nodes/Happ/descriptions/MessageDescription.js +384 -0
  22. package/dist/nodes/Happ/descriptions/MessageDescription.js.map +1 -0
  23. package/dist/nodes/Happ/happ.svg +4 -0
  24. package/dist/nodes/Happ/triggerHelpers.d.ts +15 -0
  25. package/dist/nodes/Happ/triggerHelpers.js +55 -0
  26. package/dist/nodes/Happ/triggerHelpers.js.map +1 -0
  27. package/package.json +62 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatDescription.js","sourceRoot":"","sources":["../../../../nodes/Happ/descriptions/ChatDescription.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { INodeProperties, INodePropertyOptions } from 'n8n-workflow';
2
+ export declare const messageSourceOptions: INodePropertyOptions[];
3
+ export declare const messageRoleOptions: INodePropertyOptions[];
4
+ export declare const messageTypeOptions: INodePropertyOptions[];
5
+ export declare const messageOperations: INodeProperties[];
6
+ export declare const messageFields: INodeProperties[];
@@ -0,0 +1,384 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.messageFields = exports.messageOperations = exports.messageTypeOptions = exports.messageRoleOptions = exports.messageSourceOptions = void 0;
4
+ exports.messageSourceOptions = [
5
+ { name: 'AI', value: 'AI' },
6
+ { name: 'API', value: 'API' },
7
+ { name: 'Custom Messenger', value: 'CUSTOM_MESSENGER' },
8
+ { name: 'Echat', value: 'ECHAT' },
9
+ { name: 'Instagram', value: 'INSTAGRAM' },
10
+ { name: 'Messenger', value: 'MESSENGER' },
11
+ { name: 'Mobile', value: 'MOBILE' },
12
+ { name: 'Platform', value: 'PLATFORM' },
13
+ { name: 'Playground', value: 'PLAYGROUND' },
14
+ { name: 'Telegram', value: 'TELEGRAM' },
15
+ { name: 'Telegram Bot', value: 'TELEGRAM_BOT' },
16
+ { name: 'WhatsApp', value: 'WHATSAPP' },
17
+ { name: 'Widget', value: 'WIDGET' },
18
+ ];
19
+ exports.messageRoleOptions = [
20
+ { name: 'Assistant', value: 'Assistant' },
21
+ { name: 'Developer', value: 'Developer' },
22
+ { name: 'System', value: 'System' },
23
+ { name: 'User', value: 'User' },
24
+ ];
25
+ exports.messageTypeOptions = [
26
+ { name: 'Audio', value: 'Audio' },
27
+ { name: 'Document', value: 'Document' },
28
+ { name: 'File', value: 'File' },
29
+ { name: 'Function Call', value: 'FunctionCall' },
30
+ { name: 'Function Call Output', value: 'FunctionCallOutput' },
31
+ { name: 'Photo', value: 'Photo' },
32
+ { name: 'Specific', value: 'Specific' },
33
+ { name: 'Text', value: 'Text' },
34
+ { name: 'Video', value: 'Video' },
35
+ ];
36
+ const messageDetailFields = [
37
+ {
38
+ displayName: 'Audio URL',
39
+ name: 'audioUrl',
40
+ type: 'string',
41
+ default: '',
42
+ description: 'Audio file URL',
43
+ routing: { send: { type: 'body', property: 'audioUrl' } },
44
+ },
45
+ {
46
+ displayName: 'External ID',
47
+ name: 'externalId',
48
+ type: 'string',
49
+ default: '',
50
+ description: 'External message ID (ID in the source messenger)',
51
+ routing: { send: { type: 'body', property: 'externalId' } },
52
+ },
53
+ {
54
+ displayName: 'File URL',
55
+ name: 'fileUrl',
56
+ type: 'string',
57
+ default: '',
58
+ routing: { send: { type: 'body', property: 'fileUrl' } },
59
+ },
60
+ {
61
+ displayName: 'From ID',
62
+ name: 'fromId',
63
+ type: 'string',
64
+ default: '',
65
+ description: 'Sender ID',
66
+ routing: { send: { type: 'body', property: 'fromId' } },
67
+ },
68
+ {
69
+ displayName: 'Function Call ID',
70
+ name: 'functionCallId',
71
+ type: 'string',
72
+ default: '',
73
+ description: 'Function call ID (for FunctionCall / FunctionCallOutput messages)',
74
+ routing: { send: { type: 'body', property: 'functionCallId' } },
75
+ },
76
+ {
77
+ displayName: 'Function Call Input',
78
+ name: 'functionCallInput',
79
+ type: 'string',
80
+ default: '',
81
+ routing: { send: { type: 'body', property: 'functionCallInput' } },
82
+ },
83
+ {
84
+ displayName: 'Function Call Name',
85
+ name: 'functionCallName',
86
+ type: 'string',
87
+ default: '',
88
+ routing: { send: { type: 'body', property: 'functionCallName' } },
89
+ },
90
+ {
91
+ displayName: 'Function Call Output',
92
+ name: 'functionCallOutput',
93
+ type: 'string',
94
+ default: '',
95
+ routing: { send: { type: 'body', property: 'functionCallOutput' } },
96
+ },
97
+ {
98
+ displayName: 'Session ID',
99
+ name: 'sessionId',
100
+ type: 'string',
101
+ default: '',
102
+ routing: { send: { type: 'body', property: 'sessionId' } },
103
+ },
104
+ {
105
+ displayName: 'Specific Type',
106
+ name: 'specificType',
107
+ type: 'string',
108
+ default: '',
109
+ description: 'Integration-specific message type, e.g. telegram_location, instagram_reel, whatsapp_poll',
110
+ routing: { send: { type: 'body', property: 'specificType' } },
111
+ },
112
+ {
113
+ displayName: 'To ID',
114
+ name: 'toId',
115
+ type: 'string',
116
+ default: '',
117
+ description: 'Recipient ID',
118
+ routing: { send: { type: 'body', property: 'toId' } },
119
+ },
120
+ {
121
+ displayName: 'Transcription',
122
+ name: 'transcription',
123
+ type: 'string',
124
+ default: '',
125
+ description: 'Audio transcription',
126
+ routing: { send: { type: 'body', property: 'transcription' } },
127
+ },
128
+ ];
129
+ exports.messageOperations = [
130
+ {
131
+ displayName: 'Operation',
132
+ name: 'operation',
133
+ type: 'options',
134
+ noDataExpression: true,
135
+ displayOptions: { show: { resource: ['message'] } },
136
+ options: [
137
+ {
138
+ name: 'Delete',
139
+ value: 'delete',
140
+ action: 'Delete a message',
141
+ routing: { request: { method: 'DELETE', url: '=/api/messages/{{$parameter.messageId}}' } },
142
+ },
143
+ {
144
+ name: 'Get',
145
+ value: 'get',
146
+ action: 'Get a message',
147
+ routing: { request: { method: 'GET', url: '=/api/messages/{{$parameter.messageId}}' } },
148
+ },
149
+ {
150
+ name: 'Get Last',
151
+ value: 'getLast',
152
+ action: 'Get the last message of each chat',
153
+ routing: {
154
+ request: { method: 'GET', url: '/api/messages/last' },
155
+ output: {
156
+ postReceive: [
157
+ async function (items, response) {
158
+ const body = response.body;
159
+ if (body === null || typeof body !== 'object' || Array.isArray(body)) {
160
+ return items;
161
+ }
162
+ return Object.values(body)
163
+ .filter((message) => message !== null && typeof message === 'object')
164
+ .map((message) => ({ json: message }));
165
+ },
166
+ ],
167
+ },
168
+ },
169
+ },
170
+ {
171
+ name: 'Get Many',
172
+ value: 'getMany',
173
+ action: 'Get many messages',
174
+ routing: {
175
+ request: { method: 'GET', url: '/api/messages' },
176
+ send: { paginate: '={{ $parameter.returnAll }}' },
177
+ operations: {
178
+ pagination: {
179
+ type: 'offset',
180
+ properties: {
181
+ limitParameter: 'take',
182
+ offsetParameter: 'skip',
183
+ pageSize: 100,
184
+ type: 'query',
185
+ },
186
+ },
187
+ },
188
+ },
189
+ },
190
+ {
191
+ name: 'Send',
192
+ value: 'send',
193
+ action: 'Send a message',
194
+ routing: { request: { method: 'POST', url: '/api/messages' } },
195
+ },
196
+ {
197
+ name: 'Update',
198
+ value: 'update',
199
+ action: 'Update a message',
200
+ routing: { request: { method: 'PATCH', url: '=/api/messages/{{$parameter.messageId}}' } },
201
+ },
202
+ ],
203
+ default: 'send',
204
+ },
205
+ ];
206
+ exports.messageFields = [
207
+ {
208
+ displayName: 'Message ID',
209
+ name: 'messageId',
210
+ type: 'string',
211
+ required: true,
212
+ default: '',
213
+ description: 'Unique identifier of the message',
214
+ displayOptions: { show: { resource: ['message'], operation: ['delete', 'get', 'update'] } },
215
+ },
216
+ {
217
+ displayName: 'Chat ID',
218
+ name: 'chatId',
219
+ type: 'string',
220
+ required: true,
221
+ default: '',
222
+ description: 'ID of the chat to send the message to',
223
+ displayOptions: { show: { resource: ['message'], operation: ['send'] } },
224
+ routing: { send: { type: 'body', property: 'chatId' } },
225
+ },
226
+ {
227
+ displayName: 'Text',
228
+ name: 'text',
229
+ type: 'string',
230
+ default: '',
231
+ description: 'Message text content',
232
+ displayOptions: { show: { resource: ['message'], operation: ['send'] } },
233
+ routing: { send: { type: 'body', property: 'text' } },
234
+ },
235
+ {
236
+ displayName: 'Source',
237
+ name: 'source',
238
+ type: 'options',
239
+ options: exports.messageSourceOptions,
240
+ required: true,
241
+ default: 'API',
242
+ description: 'Where the message originates from',
243
+ displayOptions: { show: { resource: ['message'], operation: ['send'] } },
244
+ routing: { send: { type: 'body', property: 'source' } },
245
+ },
246
+ {
247
+ displayName: 'Role',
248
+ name: 'role',
249
+ type: 'options',
250
+ options: exports.messageRoleOptions,
251
+ required: true,
252
+ default: 'Assistant',
253
+ description: 'Role of the message author',
254
+ displayOptions: { show: { resource: ['message'], operation: ['send'] } },
255
+ routing: { send: { type: 'body', property: 'role' } },
256
+ },
257
+ {
258
+ displayName: 'Type',
259
+ name: 'type',
260
+ type: 'options',
261
+ options: exports.messageTypeOptions,
262
+ required: true,
263
+ default: 'Text',
264
+ description: 'Type of the message content',
265
+ displayOptions: { show: { resource: ['message'], operation: ['send'] } },
266
+ routing: { send: { type: 'body', property: 'type' } },
267
+ },
268
+ {
269
+ displayName: 'Additional Fields',
270
+ name: 'additionalFields',
271
+ type: 'collection',
272
+ placeholder: 'Add Field',
273
+ default: {},
274
+ displayOptions: { show: { resource: ['message'], operation: ['send'] } },
275
+ options: messageDetailFields,
276
+ },
277
+ {
278
+ displayName: 'Chat ID',
279
+ name: 'chatId',
280
+ type: 'string',
281
+ required: true,
282
+ default: '',
283
+ description: 'ID of the chat to fetch messages from',
284
+ displayOptions: { show: { resource: ['message'], operation: ['getMany'] } },
285
+ routing: { send: { type: 'query', property: 'chatId' } },
286
+ },
287
+ {
288
+ displayName: 'Return All',
289
+ name: 'returnAll',
290
+ type: 'boolean',
291
+ default: false,
292
+ description: 'Whether to return all results or only up to a given limit',
293
+ displayOptions: { show: { resource: ['message'], operation: ['getMany'] } },
294
+ },
295
+ {
296
+ displayName: 'Limit',
297
+ name: 'limit',
298
+ type: 'number',
299
+ typeOptions: { minValue: 1 },
300
+ default: 50,
301
+ description: 'Max number of results to return',
302
+ displayOptions: {
303
+ show: { resource: ['message'], operation: ['getMany'], returnAll: [false] },
304
+ },
305
+ routing: { send: { type: 'query', property: 'take' } },
306
+ },
307
+ {
308
+ displayName: 'Skip',
309
+ name: 'skip',
310
+ type: 'number',
311
+ typeOptions: { minValue: 0 },
312
+ default: 0,
313
+ description: 'Number of results to skip from the start',
314
+ displayOptions: {
315
+ show: { resource: ['message'], operation: ['getMany'], returnAll: [false] },
316
+ },
317
+ routing: { send: { type: 'query', property: 'skip' } },
318
+ },
319
+ {
320
+ displayName: 'Chat IDs',
321
+ name: 'chatIds',
322
+ type: 'string',
323
+ required: true,
324
+ default: '',
325
+ description: 'Comma-separated list of chat UUIDs to fetch the last message for',
326
+ displayOptions: { show: { resource: ['message'], operation: ['getLast'] } },
327
+ routing: { send: { type: 'query', property: 'chatIds' } },
328
+ },
329
+ {
330
+ displayName: 'Update Fields',
331
+ name: 'updateFields',
332
+ type: 'collection',
333
+ placeholder: 'Add Field',
334
+ default: {},
335
+ displayOptions: { show: { resource: ['message'], operation: ['update'] } },
336
+ options: [
337
+ {
338
+ displayName: 'Chat ID',
339
+ name: 'chatId',
340
+ type: 'string',
341
+ default: '',
342
+ description: 'Chat ID the message belongs to',
343
+ routing: { send: { type: 'body', property: 'chatId' } },
344
+ },
345
+ {
346
+ displayName: 'Role',
347
+ name: 'role',
348
+ type: 'options',
349
+ options: exports.messageRoleOptions,
350
+ default: 'Assistant',
351
+ description: 'Role of the message author',
352
+ routing: { send: { type: 'body', property: 'role' } },
353
+ },
354
+ {
355
+ displayName: 'Source',
356
+ name: 'source',
357
+ type: 'options',
358
+ options: exports.messageSourceOptions,
359
+ default: 'API',
360
+ description: 'Where the message originates from',
361
+ routing: { send: { type: 'body', property: 'source' } },
362
+ },
363
+ {
364
+ displayName: 'Text',
365
+ name: 'text',
366
+ type: 'string',
367
+ default: '',
368
+ description: 'Message text content',
369
+ routing: { send: { type: 'body', property: 'text' } },
370
+ },
371
+ {
372
+ displayName: 'Type',
373
+ name: 'type',
374
+ type: 'options',
375
+ options: exports.messageTypeOptions,
376
+ default: 'Text',
377
+ description: 'Type of the message content',
378
+ routing: { send: { type: 'body', property: 'type' } },
379
+ },
380
+ ...messageDetailFields,
381
+ ],
382
+ },
383
+ ];
384
+ //# sourceMappingURL=MessageDescription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageDescription.js","sourceRoot":"","sources":["../../../../nodes/Happ/descriptions/MessageDescription.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 60">
2
+ <rect width="60" height="60" rx="12" fill="#6C5CE7"/>
3
+ <path d="M17 13h9v13h8V13h9v34h-9V34h-8v13h-9z" fill="#FFFFFF"/>
4
+ </svg>
@@ -0,0 +1,15 @@
1
+ export interface PollState {
2
+ lastTimestamp?: string;
3
+ seenIds?: string[];
4
+ }
5
+ export interface PollItem {
6
+ id?: unknown;
7
+ createdAt?: unknown;
8
+ role?: unknown;
9
+ [key: string]: unknown;
10
+ }
11
+ export declare function selectNewItems(items: PollItem[], state: PollState): {
12
+ newItems: PollItem[];
13
+ nextState: PollState;
14
+ };
15
+ export declare function filterByRoles(items: PollItem[], roles: string[]): PollItem[];
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.selectNewItems = selectNewItems;
4
+ exports.filterByRoles = filterByRoles;
5
+ function timestampOf(item) {
6
+ return typeof item.createdAt === 'string' ? item.createdAt : '';
7
+ }
8
+ function selectNewItems(items, state) {
9
+ var _a, _b, _c;
10
+ const lastTimestamp = (_a = state.lastTimestamp) !== null && _a !== void 0 ? _a : '';
11
+ const seenIds = new Set((_b = state.seenIds) !== null && _b !== void 0 ? _b : []);
12
+ const dated = items.filter((item) => timestampOf(item) !== '');
13
+ const sorted = [...dated].sort((a, b) => {
14
+ const tsA = timestampOf(a);
15
+ const tsB = timestampOf(b);
16
+ if (tsA < tsB)
17
+ return -1;
18
+ if (tsA > tsB)
19
+ return 1;
20
+ return 0;
21
+ });
22
+ const newItems = sorted.filter((item) => {
23
+ const ts = timestampOf(item);
24
+ if (ts < lastTimestamp)
25
+ return false;
26
+ if (ts === lastTimestamp) {
27
+ if (item.id === undefined)
28
+ return false;
29
+ return !seenIds.has(String(item.id));
30
+ }
31
+ return true;
32
+ });
33
+ let nextTimestamp = state.lastTimestamp;
34
+ for (const item of sorted) {
35
+ const ts = timestampOf(item);
36
+ if (nextTimestamp === undefined || ts > nextTimestamp)
37
+ nextTimestamp = ts;
38
+ }
39
+ const nextSeenIds = new Set(nextTimestamp === state.lastTimestamp ? ((_c = state.seenIds) !== null && _c !== void 0 ? _c : []) : []);
40
+ for (const item of sorted) {
41
+ if (timestampOf(item) === nextTimestamp && item.id !== undefined) {
42
+ nextSeenIds.add(String(item.id));
43
+ }
44
+ }
45
+ return {
46
+ newItems,
47
+ nextState: { lastTimestamp: nextTimestamp, seenIds: [...nextSeenIds] },
48
+ };
49
+ }
50
+ function filterByRoles(items, roles) {
51
+ if (roles.length === 0)
52
+ return items;
53
+ return items.filter((item) => { var _a; return roles.includes(String((_a = item.role) !== null && _a !== void 0 ? _a : '')); });
54
+ }
55
+ //# sourceMappingURL=triggerHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triggerHelpers.js","sourceRoot":"","sources":["../../../nodes/Happ/triggerHelpers.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,62 @@
1
+ {
2
+ "name": "n8n-nodes-happ",
3
+ "version": "0.1.1",
4
+ "description": "n8n community node for the Happ Platform API (messenger channels and voice assistants)",
5
+ "keywords": [
6
+ "n8n-community-node-package",
7
+ "happ",
8
+ "telegram",
9
+ "whatsapp",
10
+ "instagram",
11
+ "voice-assistant"
12
+ ],
13
+ "license": "MIT",
14
+ "homepage": "https://docs.happ.tools/en/docs/api",
15
+ "author": {
16
+ "name": "HappAI",
17
+ "email": "jora1987kornev@gmail.com"
18
+ },
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "https://github.com/Furman-87/n8n-nodes-happ.git"
22
+ },
23
+ "engines": {
24
+ "node": ">=18.10"
25
+ },
26
+ "scripts": {
27
+ "build": "tsc && gulp build:icons",
28
+ "dev": "tsc --watch",
29
+ "format": "prettier nodes credentials --write",
30
+ "lint": "eslint nodes credentials package.json --no-error-on-unmatched-pattern",
31
+ "lintfix": "eslint nodes credentials package.json --fix --no-error-on-unmatched-pattern",
32
+ "test": "jest",
33
+ "prepublishOnly": "npm run build && npm run lint"
34
+ },
35
+ "files": [
36
+ "dist"
37
+ ],
38
+ "n8n": {
39
+ "n8nNodesApiVersion": 1,
40
+ "credentials": [
41
+ "dist/credentials/HappApi.credentials.js"
42
+ ],
43
+ "nodes": [
44
+ "dist/nodes/Happ/Happ.node.js",
45
+ "dist/nodes/Happ/HappTrigger.node.js"
46
+ ]
47
+ },
48
+ "devDependencies": {
49
+ "@types/jest": "^29.5.12",
50
+ "@typescript-eslint/parser": "^7.15.0",
51
+ "eslint": "^8.57.0",
52
+ "eslint-plugin-n8n-nodes-base": "^1.16.3",
53
+ "gulp": "^4.0.2",
54
+ "jest": "^29.7.0",
55
+ "prettier": "^3.3.2",
56
+ "ts-jest": "^29.1.2",
57
+ "typescript": "^5.5.3"
58
+ },
59
+ "peerDependencies": {
60
+ "n8n-workflow": "*"
61
+ }
62
+ }