@dereekb/nestjs 13.38.0 → 13.40.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.
Files changed (39) hide show
  1. package/eslint/package.json +7 -7
  2. package/mailgun/package.json +11 -11
  3. package/openai/package.json +11 -11
  4. package/openrouter/package.json +8 -8
  5. package/package.json +27 -35
  6. package/stripe/package.json +11 -11
  7. package/twilio/index.esm.js +18 -1
  8. package/twilio/package.json +11 -11
  9. package/twilio/src/lib/twilio.api.d.ts +1 -1
  10. package/twilio/src/lib/twilio.interop.d.ts +7 -0
  11. package/typeform/package.json +11 -11
  12. package/vapiai/package.json +11 -11
  13. package/eslint/index.cjs.default.js +0 -1
  14. package/eslint/index.cjs.js +0 -418
  15. package/eslint/index.cjs.mjs +0 -2
  16. package/index.cjs.default.js +0 -1
  17. package/index.cjs.js +0 -2789
  18. package/index.cjs.mjs +0 -2
  19. package/mailgun/index.cjs.default.js +0 -1
  20. package/mailgun/index.cjs.js +0 -1802
  21. package/mailgun/index.cjs.mjs +0 -2
  22. package/openai/index.cjs.default.js +0 -1
  23. package/openai/index.cjs.js +0 -1068
  24. package/openai/index.cjs.mjs +0 -2
  25. package/openrouter/index.cjs.default.js +0 -1
  26. package/openrouter/index.cjs.js +0 -1200
  27. package/openrouter/index.cjs.mjs +0 -2
  28. package/stripe/index.cjs.default.js +0 -1
  29. package/stripe/index.cjs.js +0 -780
  30. package/stripe/index.cjs.mjs +0 -2
  31. package/twilio/index.cjs.default.js +0 -1
  32. package/twilio/index.cjs.js +0 -2184
  33. package/twilio/index.cjs.mjs +0 -2
  34. package/typeform/index.cjs.default.js +0 -1
  35. package/typeform/index.cjs.js +0 -1182
  36. package/typeform/index.cjs.mjs +0 -2
  37. package/vapiai/index.cjs.default.js +0 -1
  38. package/vapiai/index.cjs.js +0 -1055
  39. package/vapiai/index.cjs.mjs +0 -2
@@ -1,1182 +0,0 @@
1
- 'use strict';
2
-
3
- var util = require('@dereekb/util');
4
- var nestjs = require('@dereekb/nestjs');
5
- var common = require('@nestjs/common');
6
- var node_crypto = require('node:crypto');
7
- var config = require('@nestjs/config');
8
- var apiClient = require('@typeform/api-client');
9
-
10
- function _define_property$6(obj, key, value) {
11
- if (key in obj) {
12
- Object.defineProperty(obj, key, {
13
- value: value,
14
- enumerable: true,
15
- configurable: true,
16
- writable: true
17
- });
18
- } else {
19
- obj[key] = value;
20
- }
21
- return obj;
22
- }
23
- function _object_spread$1(target) {
24
- for(var i = 1; i < arguments.length; i++){
25
- var source = arguments[i] != null ? arguments[i] : {};
26
- var ownKeys = Object.keys(source);
27
- if (typeof Object.getOwnPropertySymbols === "function") {
28
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
29
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
30
- }));
31
- }
32
- ownKeys.forEach(function(key) {
33
- _define_property$6(target, key, source[key]);
34
- });
35
- }
36
- return target;
37
- }
38
- function ownKeys$1(object, enumerableOnly) {
39
- var keys = Object.keys(object);
40
- if (Object.getOwnPropertySymbols) {
41
- var symbols = Object.getOwnPropertySymbols(object);
42
- keys.push.apply(keys, symbols);
43
- }
44
- return keys;
45
- }
46
- function _object_spread_props$1(target, source) {
47
- source = source != null ? source : {};
48
- if (Object.getOwnPropertyDescriptors) {
49
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
50
- } else {
51
- ownKeys$1(Object(source)).forEach(function(key) {
52
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
53
- });
54
- }
55
- return target;
56
- }
57
- /**
58
- * Creates a TypeformWebhookEvent and treats the data as the input type.
59
- *
60
- * @param event
61
- * @returns
62
- */ function typeFormWebhookEvent(event) {
63
- return event;
64
- }
65
- var typeformEventHandlerFactory = util.handlerFactory(function(x) {
66
- return x.event_type;
67
- });
68
- var typeformEventHandlerConfigurerFactory = util.handlerConfigurerFactory({
69
- configurerForAccessor: function configurerForAccessor(accessor) {
70
- var fnWithKey = util.handlerMappedSetFunctionFactory(accessor, typeFormWebhookEvent);
71
- var configurer = _object_spread_props$1(_object_spread$1({}, accessor), {
72
- handleFormResponse: fnWithKey('form_response')
73
- });
74
- return configurer;
75
- }
76
- });
77
-
78
- function _class_call_check$6(instance, Constructor) {
79
- if (!(instance instanceof Constructor)) {
80
- throw new TypeError("Cannot call a class as a function");
81
- }
82
- }
83
- function _defineProperties$3(target, props) {
84
- for(var i = 0; i < props.length; i++){
85
- var descriptor = props[i];
86
- descriptor.enumerable = descriptor.enumerable || false;
87
- descriptor.configurable = true;
88
- if ("value" in descriptor) descriptor.writable = true;
89
- Object.defineProperty(target, descriptor.key, descriptor);
90
- }
91
- }
92
- function _create_class$3(Constructor, protoProps, staticProps) {
93
- if (staticProps) _defineProperties$3(Constructor, staticProps);
94
- return Constructor;
95
- }
96
- function _define_property$5(obj, key, value) {
97
- if (key in obj) {
98
- Object.defineProperty(obj, key, {
99
- value: value,
100
- enumerable: true,
101
- configurable: true,
102
- writable: true
103
- });
104
- } else {
105
- obj[key] = value;
106
- }
107
- return obj;
108
- }
109
- var TYPEFORM_WEBHOOK_SECRET_TOKEN_ENV_VAR = 'TYPEFORM_WEBHOOK_SECRET_TOKEN';
110
- /**
111
- * Configuration for TypeformService
112
- */ var TypeformWebhookServiceConfig = /*#__PURE__*/ function() {
113
- function TypeformWebhookServiceConfig() {
114
- _class_call_check$6(this, TypeformWebhookServiceConfig);
115
- _define_property$5(this, "typeformWebhook", void 0);
116
- }
117
- _create_class$3(TypeformWebhookServiceConfig, null, [
118
- {
119
- key: "assertValidConfig",
120
- value: function assertValidConfig(config) {
121
- if (!config.typeformWebhook.secretToken) {
122
- throw new Error('No Typeform webhook secret specified.');
123
- }
124
- }
125
- }
126
- ]);
127
- return TypeformWebhookServiceConfig;
128
- }
129
- ();
130
-
131
- function _type_of(obj) {
132
- "@swc/helpers - typeof";
133
- return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
134
- }
135
- function __decorate(decorators, target, key, desc) {
136
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
137
- if ((typeof Reflect === "undefined" ? "undefined" : _type_of(Reflect)) === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
138
- else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
139
- return c > 3 && r && Object.defineProperty(target, key, r), r;
140
- }
141
- function __param(paramIndex, decorator) {
142
- return function(target, key) {
143
- decorator(target, key, paramIndex);
144
- };
145
- }
146
- typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
147
- var e = new Error(message);
148
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
149
- };
150
-
151
- function asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, key, arg) {
152
- try {
153
- var info = gen[key](arg);
154
- var value = info.value;
155
- } catch (error) {
156
- reject(error);
157
- return;
158
- }
159
- if (info.done) {
160
- resolve(value);
161
- } else {
162
- Promise.resolve(value).then(_next, _throw);
163
- }
164
- }
165
- function _async_to_generator$2(fn) {
166
- return function() {
167
- var self = this, args = arguments;
168
- return new Promise(function(resolve, reject) {
169
- var gen = fn.apply(self, args);
170
- function _next(value) {
171
- asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, "next", value);
172
- }
173
- function _throw(err) {
174
- asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, "throw", err);
175
- }
176
- _next(undefined);
177
- });
178
- };
179
- }
180
- function _ts_generator$2(thisArg, body) {
181
- var f, y, t, _ = {
182
- label: 0,
183
- sent: function() {
184
- if (t[0] & 1) throw t[1];
185
- return t[1];
186
- },
187
- trys: [],
188
- ops: []
189
- }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
190
- return d(g, "next", {
191
- value: verb(0)
192
- }), d(g, "throw", {
193
- value: verb(1)
194
- }), d(g, "return", {
195
- value: verb(2)
196
- }), typeof Symbol === "function" && d(g, Symbol.iterator, {
197
- value: function() {
198
- return this;
199
- }
200
- }), g;
201
- function verb(n) {
202
- return function(v) {
203
- return step([
204
- n,
205
- v
206
- ]);
207
- };
208
- }
209
- function step(op) {
210
- if (f) throw new TypeError("Generator is already executing.");
211
- while(g && (g = 0, op[0] && (_ = 0)), _)try {
212
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
213
- if (y = 0, t) op = [
214
- op[0] & 2,
215
- t.value
216
- ];
217
- switch(op[0]){
218
- case 0:
219
- case 1:
220
- t = op;
221
- break;
222
- case 4:
223
- _.label++;
224
- return {
225
- value: op[1],
226
- done: false
227
- };
228
- case 5:
229
- _.label++;
230
- y = op[1];
231
- op = [
232
- 0
233
- ];
234
- continue;
235
- case 7:
236
- op = _.ops.pop();
237
- _.trys.pop();
238
- continue;
239
- default:
240
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
241
- _ = 0;
242
- continue;
243
- }
244
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
245
- _.label = op[1];
246
- break;
247
- }
248
- if (op[0] === 6 && _.label < t[1]) {
249
- _.label = t[1];
250
- t = op;
251
- break;
252
- }
253
- if (t && _.label < t[2]) {
254
- _.label = t[2];
255
- _.ops.push(op);
256
- break;
257
- }
258
- if (t[2]) _.ops.pop();
259
- _.trys.pop();
260
- continue;
261
- }
262
- op = body.call(thisArg, _);
263
- } catch (e) {
264
- op = [
265
- 6,
266
- e
267
- ];
268
- y = 0;
269
- } finally{
270
- f = t = 0;
271
- }
272
- if (op[0] & 5) throw op[1];
273
- return {
274
- value: op[0] ? op[1] : void 0,
275
- done: true
276
- };
277
- }
278
- }
279
- /**
280
- * Verifies a Typeform webhook event header using HMAC-SHA256 signature verification.
281
- *
282
- * @param config - Verification config containing the Typeform webhook secret token.
283
- * @returns Verifier function that validates each request's signature header.
284
- */ function typeFormWebhookEventVerifier(config) {
285
- var secret = config.secret;
286
- return function(request, _rawBody) {
287
- return _async_to_generator$2(function() {
288
- var requestBodyString, headers, typeformSignature, hashForVerify, signature, valid, event, result;
289
- return _ts_generator$2(this, function(_state) {
290
- requestBodyString = String(request.body);
291
- headers = request.headers;
292
- typeformSignature = headers['typeform-signature'];
293
- hashForVerify = node_crypto.createHmac('sha256', secret).update(requestBodyString).digest('base64');
294
- signature = "sha256=".concat(hashForVerify);
295
- valid = typeformSignature === signature;
296
- event = JSON.parse(requestBodyString);
297
- result = {
298
- valid: valid,
299
- event: event
300
- };
301
- return [
302
- 2,
303
- result
304
- ];
305
- });
306
- })();
307
- };
308
- }
309
-
310
- function asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, key, arg) {
311
- try {
312
- var info = gen[key](arg);
313
- var value = info.value;
314
- } catch (error) {
315
- reject(error);
316
- return;
317
- }
318
- if (info.done) {
319
- resolve(value);
320
- } else {
321
- Promise.resolve(value).then(_next, _throw);
322
- }
323
- }
324
- function _async_to_generator$1(fn) {
325
- return function() {
326
- var self = this, args = arguments;
327
- return new Promise(function(resolve, reject) {
328
- var gen = fn.apply(self, args);
329
- function _next(value) {
330
- asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, "next", value);
331
- }
332
- function _throw(err) {
333
- asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, "throw", err);
334
- }
335
- _next(undefined);
336
- });
337
- };
338
- }
339
- function _class_call_check$5(instance, Constructor) {
340
- if (!(instance instanceof Constructor)) {
341
- throw new TypeError("Cannot call a class as a function");
342
- }
343
- }
344
- function _defineProperties$2(target, props) {
345
- for(var i = 0; i < props.length; i++){
346
- var descriptor = props[i];
347
- descriptor.enumerable = descriptor.enumerable || false;
348
- descriptor.configurable = true;
349
- if ("value" in descriptor) descriptor.writable = true;
350
- Object.defineProperty(target, descriptor.key, descriptor);
351
- }
352
- }
353
- function _create_class$2(Constructor, protoProps, staticProps) {
354
- if (protoProps) _defineProperties$2(Constructor.prototype, protoProps);
355
- return Constructor;
356
- }
357
- function _define_property$4(obj, key, value) {
358
- if (key in obj) {
359
- Object.defineProperty(obj, key, {
360
- value: value,
361
- enumerable: true,
362
- configurable: true,
363
- writable: true
364
- });
365
- } else {
366
- obj[key] = value;
367
- }
368
- return obj;
369
- }
370
- function _ts_generator$1(thisArg, body) {
371
- var f, y, t, _ = {
372
- label: 0,
373
- sent: function() {
374
- if (t[0] & 1) throw t[1];
375
- return t[1];
376
- },
377
- trys: [],
378
- ops: []
379
- }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
380
- return d(g, "next", {
381
- value: verb(0)
382
- }), d(g, "throw", {
383
- value: verb(1)
384
- }), d(g, "return", {
385
- value: verb(2)
386
- }), typeof Symbol === "function" && d(g, Symbol.iterator, {
387
- value: function() {
388
- return this;
389
- }
390
- }), g;
391
- function verb(n) {
392
- return function(v) {
393
- return step([
394
- n,
395
- v
396
- ]);
397
- };
398
- }
399
- function step(op) {
400
- if (f) throw new TypeError("Generator is already executing.");
401
- while(g && (g = 0, op[0] && (_ = 0)), _)try {
402
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
403
- if (y = 0, t) op = [
404
- op[0] & 2,
405
- t.value
406
- ];
407
- switch(op[0]){
408
- case 0:
409
- case 1:
410
- t = op;
411
- break;
412
- case 4:
413
- _.label++;
414
- return {
415
- value: op[1],
416
- done: false
417
- };
418
- case 5:
419
- _.label++;
420
- y = op[1];
421
- op = [
422
- 0
423
- ];
424
- continue;
425
- case 7:
426
- op = _.ops.pop();
427
- _.trys.pop();
428
- continue;
429
- default:
430
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
431
- _ = 0;
432
- continue;
433
- }
434
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
435
- _.label = op[1];
436
- break;
437
- }
438
- if (op[0] === 6 && _.label < t[1]) {
439
- _.label = t[1];
440
- t = op;
441
- break;
442
- }
443
- if (t && _.label < t[2]) {
444
- _.label = t[2];
445
- _.ops.push(op);
446
- break;
447
- }
448
- if (t[2]) _.ops.pop();
449
- _.trys.pop();
450
- continue;
451
- }
452
- op = body.call(thisArg, _);
453
- } catch (e) {
454
- op = [
455
- 6,
456
- e
457
- ];
458
- y = 0;
459
- } finally{
460
- f = t = 0;
461
- }
462
- if (op[0] & 5) throw op[1];
463
- return {
464
- value: op[0] ? op[1] : void 0,
465
- done: true
466
- };
467
- }
468
- }
469
- /**
470
- * Service that makes system changes based on Typeform webhook events.
471
- */ exports.TypeformWebhookService = /*#__PURE__*/ function() {
472
- function TypeformWebhookService(typeFormWebhookServiceConfig) {
473
- _class_call_check$5(this, TypeformWebhookService);
474
- _define_property$4(this, "logger", new common.Logger('TypeformWebhookService'));
475
- _define_property$4(this, "_verifier", void 0);
476
- _define_property$4(this, "handler", typeformEventHandlerFactory());
477
- _define_property$4(this, "configure", typeformEventHandlerConfigurerFactory(this.handler));
478
- var _typeFormWebhookServiceConfig_typeformWebhook = typeFormWebhookServiceConfig.typeformWebhook, webhookSecret = _typeFormWebhookServiceConfig_typeformWebhook.secretToken;
479
- this._verifier = typeFormWebhookEventVerifier({
480
- secret: webhookSecret
481
- });
482
- }
483
- _create_class$2(TypeformWebhookService, [
484
- {
485
- key: "updateForWebhook",
486
- value: function updateForWebhook(req, rawBody) {
487
- return _async_to_generator$1(function() {
488
- var result;
489
- return _ts_generator$1(this, function(_state) {
490
- switch(_state.label){
491
- case 0:
492
- return [
493
- 4,
494
- this._verifier(req, rawBody)
495
- ];
496
- case 1:
497
- result = _state.sent();
498
- if (!result.valid) return [
499
- 3,
500
- 3
501
- ];
502
- return [
503
- 4,
504
- this.updateForTypeformEvent(result.event)
505
- ];
506
- case 2:
507
- _state.sent();
508
- return [
509
- 3,
510
- 4
511
- ];
512
- case 3:
513
- this.logger.warn('Received invalid Typeform event.', req);
514
- _state.label = 4;
515
- case 4:
516
- return [
517
- 2
518
- ];
519
- }
520
- });
521
- }).call(this);
522
- }
523
- },
524
- {
525
- key: "updateForTypeformEvent",
526
- value: function updateForTypeformEvent(event) {
527
- return _async_to_generator$1(function() {
528
- var result;
529
- return _ts_generator$1(this, function(_state) {
530
- switch(_state.label){
531
- case 0:
532
- return [
533
- 4,
534
- this.handler(event)
535
- ];
536
- case 1:
537
- result = _state.sent();
538
- if (!result) {
539
- this.logger.warn('Received unexpected/unhandled Typeform event.', event);
540
- }
541
- return [
542
- 2
543
- ];
544
- }
545
- });
546
- }).call(this);
547
- }
548
- }
549
- ]);
550
- return TypeformWebhookService;
551
- }();
552
- exports.TypeformWebhookService = __decorate([
553
- common.Injectable(),
554
- __param(0, common.Inject(TypeformWebhookServiceConfig))
555
- ], exports.TypeformWebhookService);
556
-
557
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
558
- try {
559
- var info = gen[key](arg);
560
- var value = info.value;
561
- } catch (error) {
562
- reject(error);
563
- return;
564
- }
565
- if (info.done) {
566
- resolve(value);
567
- } else {
568
- Promise.resolve(value).then(_next, _throw);
569
- }
570
- }
571
- function _async_to_generator(fn) {
572
- return function() {
573
- var self = this, args = arguments;
574
- return new Promise(function(resolve, reject) {
575
- var gen = fn.apply(self, args);
576
- function _next(value) {
577
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
578
- }
579
- function _throw(err) {
580
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
581
- }
582
- _next(undefined);
583
- });
584
- };
585
- }
586
- function _class_call_check$4(instance, Constructor) {
587
- if (!(instance instanceof Constructor)) {
588
- throw new TypeError("Cannot call a class as a function");
589
- }
590
- }
591
- function _defineProperties$1(target, props) {
592
- for(var i = 0; i < props.length; i++){
593
- var descriptor = props[i];
594
- descriptor.enumerable = descriptor.enumerable || false;
595
- descriptor.configurable = true;
596
- if ("value" in descriptor) descriptor.writable = true;
597
- Object.defineProperty(target, descriptor.key, descriptor);
598
- }
599
- }
600
- function _create_class$1(Constructor, protoProps, staticProps) {
601
- if (protoProps) _defineProperties$1(Constructor.prototype, protoProps);
602
- return Constructor;
603
- }
604
- function _define_property$3(obj, key, value) {
605
- if (key in obj) {
606
- Object.defineProperty(obj, key, {
607
- value: value,
608
- enumerable: true,
609
- configurable: true,
610
- writable: true
611
- });
612
- } else {
613
- obj[key] = value;
614
- }
615
- return obj;
616
- }
617
- function _ts_generator(thisArg, body) {
618
- var f, y, t, _ = {
619
- label: 0,
620
- sent: function() {
621
- if (t[0] & 1) throw t[1];
622
- return t[1];
623
- },
624
- trys: [],
625
- ops: []
626
- }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
627
- return d(g, "next", {
628
- value: verb(0)
629
- }), d(g, "throw", {
630
- value: verb(1)
631
- }), d(g, "return", {
632
- value: verb(2)
633
- }), typeof Symbol === "function" && d(g, Symbol.iterator, {
634
- value: function() {
635
- return this;
636
- }
637
- }), g;
638
- function verb(n) {
639
- return function(v) {
640
- return step([
641
- n,
642
- v
643
- ]);
644
- };
645
- }
646
- function step(op) {
647
- if (f) throw new TypeError("Generator is already executing.");
648
- while(g && (g = 0, op[0] && (_ = 0)), _)try {
649
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
650
- if (y = 0, t) op = [
651
- op[0] & 2,
652
- t.value
653
- ];
654
- switch(op[0]){
655
- case 0:
656
- case 1:
657
- t = op;
658
- break;
659
- case 4:
660
- _.label++;
661
- return {
662
- value: op[1],
663
- done: false
664
- };
665
- case 5:
666
- _.label++;
667
- y = op[1];
668
- op = [
669
- 0
670
- ];
671
- continue;
672
- case 7:
673
- op = _.ops.pop();
674
- _.trys.pop();
675
- continue;
676
- default:
677
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
678
- _ = 0;
679
- continue;
680
- }
681
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
682
- _.label = op[1];
683
- break;
684
- }
685
- if (op[0] === 6 && _.label < t[1]) {
686
- _.label = t[1];
687
- t = op;
688
- break;
689
- }
690
- if (t && _.label < t[2]) {
691
- _.label = t[2];
692
- _.ops.push(op);
693
- break;
694
- }
695
- if (t[2]) _.ops.pop();
696
- _.trys.pop();
697
- continue;
698
- }
699
- op = body.call(thisArg, _);
700
- } catch (e) {
701
- op = [
702
- 6,
703
- e
704
- ];
705
- y = 0;
706
- } finally{
707
- f = t = 0;
708
- }
709
- if (op[0] & 5) throw op[1];
710
- return {
711
- value: op[0] ? op[1] : void 0,
712
- done: true
713
- };
714
- }
715
- }
716
- exports.TypeformWebhookController = /*#__PURE__*/ function() {
717
- function TypeformWebhookController(typeformWebhookService) {
718
- _class_call_check$4(this, TypeformWebhookController);
719
- _define_property$3(this, "_typeformWebhookService", void 0);
720
- this._typeformWebhookService = typeformWebhookService;
721
- }
722
- _create_class$1(TypeformWebhookController, [
723
- {
724
- key: "handleTypeformWebhook",
725
- value: function handleTypeformWebhook(req, rawBody) {
726
- return _async_to_generator(function() {
727
- return _ts_generator(this, function(_state) {
728
- switch(_state.label){
729
- case 0:
730
- return [
731
- 4,
732
- this._typeformWebhookService.updateForWebhook(req, rawBody)
733
- ];
734
- case 1:
735
- _state.sent();
736
- return [
737
- 2
738
- ];
739
- }
740
- });
741
- }).call(this);
742
- }
743
- }
744
- ]);
745
- return TypeformWebhookController;
746
- }();
747
- __decorate([
748
- common.Post(),
749
- __param(0, common.Req()),
750
- __param(1, nestjs.RawBody())
751
- ], exports.TypeformWebhookController.prototype, "handleTypeformWebhook", null);
752
- exports.TypeformWebhookController = __decorate([
753
- common.Controller('/webhook/typeform'),
754
- __param(0, common.Inject(exports.TypeformWebhookService))
755
- ], exports.TypeformWebhookController);
756
-
757
- function _class_call_check$3(instance, Constructor) {
758
- if (!(instance instanceof Constructor)) {
759
- throw new TypeError("Cannot call a class as a function");
760
- }
761
- }
762
- /**
763
- * Factory that creates a TypeformWebhookServiceConfig from environment variables.
764
- *
765
- * Reads the Typeform webhook secret token from environment variables for signature verification.
766
- *
767
- * @param configService - NestJS config service for reading environment variables.
768
- * @returns A validated TypeformWebhookServiceConfig.
769
- */ function typeFormWebhookServiceConfigFactory(configService) {
770
- var config = {
771
- typeformWebhook: {
772
- secretToken: configService.get(TYPEFORM_WEBHOOK_SECRET_TOKEN_ENV_VAR)
773
- }
774
- };
775
- TypeformWebhookServiceConfig.assertValidConfig(config);
776
- return config;
777
- }
778
- /**
779
- * NestJS module that handles incoming Typeform webhook events.
780
- *
781
- * Provides the TypeformWebhookService and controller for verifying and processing Typeform webhook payloads.
782
- */ exports.TypeformWebhookModule = function TypeformWebhookModule() {
783
- _class_call_check$3(this, TypeformWebhookModule);
784
- };
785
- exports.TypeformWebhookModule = __decorate([
786
- common.Module({
787
- imports: [
788
- config.ConfigModule
789
- ],
790
- controllers: [
791
- exports.TypeformWebhookController
792
- ],
793
- providers: [
794
- {
795
- provide: TypeformWebhookServiceConfig,
796
- inject: [
797
- config.ConfigService
798
- ],
799
- useFactory: typeFormWebhookServiceConfigFactory
800
- },
801
- exports.TypeformWebhookService
802
- ],
803
- exports: [
804
- exports.TypeformWebhookService
805
- ]
806
- })
807
- ], exports.TypeformWebhookModule);
808
-
809
- /**
810
- * Finds all Typeform field template references (e.g., `{{field:uuid}}`) within a string.
811
- *
812
- * Returns an array of TypeformTemplateRef objects describing each match, its type, and its ref value.
813
- *
814
- * @param input - Source string to search for template references.
815
- * @returns One TypeformTemplateRef per match, in left-to-right order.
816
- */ function findTypeformTemplateRefsInString(input) {
817
- /**
818
- * Used to search the input string to find field refs like the following:
819
- *
820
- * {{field:8f7adc1e-c3b8-44bd-b00c-1b6c8de65797}}
821
- * {{field:01H7G3DCZ1FZV4KYZGM755MXZZ}}
822
- */ var regex = /\{\{\s*(field)\s*:\s*([A-Za-z0-9-]+)\s*\}\}/g;
823
- var matches = input.matchAll(regex);
824
- var result = [];
825
- var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
826
- try {
827
- for(var _iterator = matches[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
828
- var regexMatch = _step.value;
829
- var match = regexMatch[0]; // {{field:8f7adc1e-c3b8-44bd-b00c-1b6c8de65797}}
830
- var type = regexMatch[1]; // field
831
- var ref = regexMatch[2]; // 8f7adc1e-c3b8-44bd-b00c-1b6c8de65797
832
- result.push({
833
- type: type,
834
- match: match,
835
- ref: ref
836
- });
837
- }
838
- } catch (err) {
839
- _didIteratorError = true;
840
- _iteratorError = err;
841
- } finally{
842
- try {
843
- if (!_iteratorNormalCompletion && _iterator.return != null) {
844
- _iterator.return();
845
- }
846
- } finally{
847
- if (_didIteratorError) {
848
- throw _iteratorError;
849
- }
850
- }
851
- }
852
- return result;
853
- }
854
-
855
- function _define_property$2(obj, key, value) {
856
- if (key in obj) {
857
- Object.defineProperty(obj, key, {
858
- value: value,
859
- enumerable: true,
860
- configurable: true,
861
- writable: true
862
- });
863
- } else {
864
- obj[key] = value;
865
- }
866
- return obj;
867
- }
868
- function _object_spread(target) {
869
- for(var i = 1; i < arguments.length; i++){
870
- var source = arguments[i] != null ? arguments[i] : {};
871
- var ownKeys = Object.keys(source);
872
- if (typeof Object.getOwnPropertySymbols === "function") {
873
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
874
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
875
- }));
876
- }
877
- ownKeys.forEach(function(key) {
878
- _define_property$2(target, key, source[key]);
879
- });
880
- }
881
- return target;
882
- }
883
- function ownKeys(object, enumerableOnly) {
884
- var keys = Object.keys(object);
885
- if (Object.getOwnPropertySymbols) {
886
- var symbols = Object.getOwnPropertySymbols(object);
887
- keys.push.apply(keys, symbols);
888
- }
889
- return keys;
890
- }
891
- function _object_spread_props(target, source) {
892
- source = source != null ? source : {};
893
- if (Object.getOwnPropertyDescriptors) {
894
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
895
- } else {
896
- ownKeys(Object(source)).forEach(function(key) {
897
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
898
- });
899
- }
900
- return target;
901
- }
902
- /**
903
- * Creates an ExpandedTypeformWebhookFormResponse from a TypeformWebhookFormResponse.
904
- *
905
- * Pairs each answer with its definition field and expands any field reference templates in question titles.
906
- *
907
- * @param formResponse - The raw Typeform webhook form response to expand.
908
- * @returns An ExpandedTypeformWebhookFormResponse with the original response and paired question/answer data.
909
- */ function expandTypeformWebhookFormResponse(formResponse) {
910
- var answers = formResponse.answers, definition = formResponse.definition;
911
- var _definition_fields = definition.fields, fields = _definition_fields === void 0 ? [] : _definition_fields;
912
- var questionFieldMap = new Map(util.filterMaybeArrayValues(fields.map(function(x) {
913
- return x.id ? [
914
- x.id,
915
- x
916
- ] : null;
917
- })));
918
- var answerValuePairs = answers.map(function(answer) {
919
- return makeTypeformFormResponseAnswerValuePair(answer);
920
- });
921
- var answerValueFieldRefMap = new Map(util.filterMaybeArrayValues(answerValuePairs.map(function(x) {
922
- return x.answer.field.ref ? [
923
- x.answer.field.ref,
924
- x
925
- ] : null;
926
- })));
927
- function expandQuestionTitle(title) {
928
- var result = title;
929
- var hadReferenceInTitle = false;
930
- if (result) {
931
- var refsInTitle = findTypeformTemplateRefsInString(result);
932
- if (refsInTitle.length > 0) {
933
- hadReferenceInTitle = true;
934
- refsInTitle.forEach(function(refInTitle) {
935
- var match = refInTitle.match, ref = refInTitle.ref;
936
- var fullMatch = match;
937
- var answer = answerValueFieldRefMap.get(ref);
938
- var answerValue = answer === null || answer === void 0 ? void 0 : answer.valueString;
939
- var replacedTitle = result.replaceAll(fullMatch, answerValue !== null && answerValue !== void 0 ? answerValue : '');
940
- result = replacedTitle;
941
- });
942
- }
943
- }
944
- return {
945
- questionTitle: result,
946
- hadReferenceInTitle: hadReferenceInTitle
947
- };
948
- }
949
- var pairs = answerValuePairs.map(function(answerValue) {
950
- var definitionField = questionFieldMap.get(answerValue.answer.field.id);
951
- var _expandQuestionTitle = expandQuestionTitle(definitionField === null || definitionField === void 0 ? void 0 : definitionField.title), questionTitle = _expandQuestionTitle.questionTitle, hadReferenceInTitle = _expandQuestionTitle.hadReferenceInTitle;
952
- var result = _object_spread_props(_object_spread({}, answerValue), {
953
- definitionField: definitionField,
954
- questionTitle: questionTitle,
955
- hadReferenceInTitle: hadReferenceInTitle
956
- });
957
- return result;
958
- });
959
- return {
960
- formResponse: formResponse,
961
- pairs: pairs
962
- };
963
- }
964
- /**
965
- * Creates a TypeformFormResponseAnswerValuePair from a raw TypeformFormResponseAnswer.
966
- *
967
- * Extracts the typed value and a string representation based on the answer type.
968
- *
969
- * @param answer - The raw Typeform form response answer to convert.
970
- * @returns A TypeformFormResponseAnswerValuePair containing the answer, its typed value, and a string representation.
971
- */ function makeTypeformFormResponseAnswerValuePair(answer) {
972
- var value;
973
- var valueString;
974
- switch(answer.type){
975
- case 'number':
976
- value = answer.number;
977
- valueString = answer.number.toString();
978
- break;
979
- case 'boolean':
980
- value = answer.boolean;
981
- valueString = answer.boolean.toString();
982
- break;
983
- case 'email':
984
- value = answer.email;
985
- valueString = answer.email;
986
- break;
987
- case 'phone_number':
988
- value = answer.phone_number;
989
- valueString = answer.phone_number;
990
- break;
991
- case 'date':
992
- value = answer.date;
993
- valueString = answer.date;
994
- break;
995
- case 'payment':
996
- value = answer.payment;
997
- valueString = answer.payment.amount.toString();
998
- break;
999
- case 'text':
1000
- value = answer.text;
1001
- valueString = answer.text;
1002
- break;
1003
- case 'choices':
1004
- var _answer_choices_other;
1005
- value = answer.choices;
1006
- valueString = (_answer_choices_other = answer.choices.other) !== null && _answer_choices_other !== void 0 ? _answer_choices_other : util.joinStringsWithCommas(answer.choices.labels);
1007
- break;
1008
- case 'choice':
1009
- var _ref, _answer_choice_other;
1010
- value = answer.choice;
1011
- valueString = (_ref = (_answer_choice_other = answer.choice.other) !== null && _answer_choice_other !== void 0 ? _answer_choice_other : answer.choice.label) !== null && _ref !== void 0 ? _ref : '';
1012
- break;
1013
- case 'url':
1014
- value = answer.url;
1015
- valueString = answer.url;
1016
- break;
1017
- case 'file_url':
1018
- value = answer.file_url;
1019
- valueString = answer.file_url;
1020
- break;
1021
- }
1022
- var result = {
1023
- answer: answer,
1024
- value: value,
1025
- valueString: valueString
1026
- };
1027
- return result;
1028
- }
1029
-
1030
- function _class_call_check$2(instance, Constructor) {
1031
- if (!(instance instanceof Constructor)) {
1032
- throw new TypeError("Cannot call a class as a function");
1033
- }
1034
- }
1035
- function _defineProperties(target, props) {
1036
- for(var i = 0; i < props.length; i++){
1037
- var descriptor = props[i];
1038
- descriptor.enumerable = descriptor.enumerable || false;
1039
- descriptor.configurable = true;
1040
- if ("value" in descriptor) descriptor.writable = true;
1041
- Object.defineProperty(target, descriptor.key, descriptor);
1042
- }
1043
- }
1044
- function _create_class(Constructor, protoProps, staticProps) {
1045
- if (staticProps) _defineProperties(Constructor, staticProps);
1046
- return Constructor;
1047
- }
1048
- function _define_property$1(obj, key, value) {
1049
- if (key in obj) {
1050
- Object.defineProperty(obj, key, {
1051
- value: value,
1052
- enumerable: true,
1053
- configurable: true,
1054
- writable: true
1055
- });
1056
- } else {
1057
- obj[key] = value;
1058
- }
1059
- return obj;
1060
- }
1061
- /**
1062
- * Default environment variable for the Typeform API key.
1063
- */ var TYPEFORM_SECRET_TOKEN_ENV_VAR = 'TYPEFORM_SECRET_TOKEN';
1064
- var TYPEFORM_BASE_URL_ENV_VAR = 'TYPEFORM_BASE_URL';
1065
- /**
1066
- * Configuration for TypeformService
1067
- */ var TypeformServiceConfig = /*#__PURE__*/ function() {
1068
- function TypeformServiceConfig() {
1069
- _class_call_check$2(this, TypeformServiceConfig);
1070
- _define_property$1(this, "typeform", void 0);
1071
- }
1072
- _create_class(TypeformServiceConfig, null, [
1073
- {
1074
- key: "assertValidConfig",
1075
- value: function assertValidConfig(config) {
1076
- if (!config.typeform.config.token) {
1077
- throw new Error('No Typeform token specified.');
1078
- }
1079
- }
1080
- }
1081
- ]);
1082
- return TypeformServiceConfig;
1083
- }
1084
- ();
1085
-
1086
- function _class_call_check$1(instance, Constructor) {
1087
- if (!(instance instanceof Constructor)) {
1088
- throw new TypeError("Cannot call a class as a function");
1089
- }
1090
- }
1091
- function _define_property(obj, key, value) {
1092
- if (key in obj) {
1093
- Object.defineProperty(obj, key, {
1094
- value: value,
1095
- enumerable: true,
1096
- configurable: true,
1097
- writable: true
1098
- });
1099
- } else {
1100
- obj[key] = value;
1101
- }
1102
- return obj;
1103
- }
1104
- exports.TypeformApi = function TypeformApi(config) {
1105
- _class_call_check$1(this, TypeformApi);
1106
- _define_property(this, "config", void 0);
1107
- _define_property(this, "client", void 0);
1108
- this.config = config;
1109
- this.client = apiClient.createClient(config.typeform.config);
1110
- };
1111
- exports.TypeformApi = __decorate([
1112
- common.Injectable(),
1113
- __param(0, common.Inject(TypeformServiceConfig))
1114
- ], exports.TypeformApi);
1115
-
1116
- function _class_call_check(instance, Constructor) {
1117
- if (!(instance instanceof Constructor)) {
1118
- throw new TypeError("Cannot call a class as a function");
1119
- }
1120
- }
1121
- /**
1122
- * Factory that creates a TypeformServiceConfig from environment variables.
1123
- *
1124
- * Reads the Typeform API token and optional base URL from environment variables.
1125
- *
1126
- * @param configService - NestJS config service for reading environment variables.
1127
- * @returns A validated TypeformServiceConfig.
1128
- */ function typeFormServiceConfigFactory(configService) {
1129
- var _configService_get;
1130
- var config = {
1131
- typeform: {
1132
- config: {
1133
- token: configService.get(TYPEFORM_SECRET_TOKEN_ENV_VAR),
1134
- baseURL: (_configService_get = configService.get(TYPEFORM_BASE_URL_ENV_VAR)) !== null && _configService_get !== void 0 ? _configService_get : undefined
1135
- }
1136
- }
1137
- };
1138
- TypeformServiceConfig.assertValidConfig(config);
1139
- return config;
1140
- }
1141
- /**
1142
- * NestJS module that provides the TypeformApi service.
1143
- *
1144
- * Reads the Typeform API token and optional base URL from environment variables.
1145
- */ exports.TypeformModule = function TypeformModule() {
1146
- _class_call_check(this, TypeformModule);
1147
- };
1148
- exports.TypeformModule = __decorate([
1149
- common.Module({
1150
- imports: [
1151
- config.ConfigModule
1152
- ],
1153
- providers: [
1154
- {
1155
- provide: TypeformServiceConfig,
1156
- inject: [
1157
- config.ConfigService
1158
- ],
1159
- useFactory: typeFormServiceConfigFactory
1160
- },
1161
- exports.TypeformApi
1162
- ],
1163
- exports: [
1164
- exports.TypeformApi
1165
- ]
1166
- })
1167
- ], exports.TypeformModule);
1168
-
1169
- exports.TYPEFORM_BASE_URL_ENV_VAR = TYPEFORM_BASE_URL_ENV_VAR;
1170
- exports.TYPEFORM_SECRET_TOKEN_ENV_VAR = TYPEFORM_SECRET_TOKEN_ENV_VAR;
1171
- exports.TYPEFORM_WEBHOOK_SECRET_TOKEN_ENV_VAR = TYPEFORM_WEBHOOK_SECRET_TOKEN_ENV_VAR;
1172
- exports.TypeformServiceConfig = TypeformServiceConfig;
1173
- exports.TypeformWebhookServiceConfig = TypeformWebhookServiceConfig;
1174
- exports.expandTypeformWebhookFormResponse = expandTypeformWebhookFormResponse;
1175
- exports.findTypeformTemplateRefsInString = findTypeformTemplateRefsInString;
1176
- exports.makeTypeformFormResponseAnswerValuePair = makeTypeformFormResponseAnswerValuePair;
1177
- exports.typeFormServiceConfigFactory = typeFormServiceConfigFactory;
1178
- exports.typeFormWebhookEvent = typeFormWebhookEvent;
1179
- exports.typeFormWebhookEventVerifier = typeFormWebhookEventVerifier;
1180
- exports.typeFormWebhookServiceConfigFactory = typeFormWebhookServiceConfigFactory;
1181
- exports.typeformEventHandlerConfigurerFactory = typeformEventHandlerConfigurerFactory;
1182
- exports.typeformEventHandlerFactory = typeformEventHandlerFactory;