@dereekb/nestjs 13.2.2 → 13.3.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.
@@ -6,22 +6,69 @@ var common = require('@nestjs/common');
6
6
  var openai = require('openai');
7
7
  var config = require('@nestjs/config');
8
8
 
9
+ function _define_property$5(obj, key, value) {
10
+ if (key in obj) {
11
+ Object.defineProperty(obj, key, {
12
+ value: value,
13
+ enumerable: true,
14
+ configurable: true,
15
+ writable: true
16
+ });
17
+ } else {
18
+ obj[key] = value;
19
+ }
20
+ return obj;
21
+ }
22
+ function _object_spread(target) {
23
+ for(var i = 1; i < arguments.length; i++){
24
+ var source = arguments[i] != null ? arguments[i] : {};
25
+ var ownKeys = Object.keys(source);
26
+ if (typeof Object.getOwnPropertySymbols === "function") {
27
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
28
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
29
+ }));
30
+ }
31
+ ownKeys.forEach(function(key) {
32
+ _define_property$5(target, key, source[key]);
33
+ });
34
+ }
35
+ return target;
36
+ }
37
+ function ownKeys(object, enumerableOnly) {
38
+ var keys = Object.keys(object);
39
+ if (Object.getOwnPropertySymbols) {
40
+ var symbols = Object.getOwnPropertySymbols(object);
41
+ keys.push.apply(keys, symbols);
42
+ }
43
+ return keys;
44
+ }
45
+ function _object_spread_props(target, source) {
46
+ source = source != null ? source : {};
47
+ if (Object.getOwnPropertyDescriptors) {
48
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
49
+ } else {
50
+ ownKeys(Object(source)).forEach(function(key) {
51
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
52
+ });
53
+ }
54
+ return target;
55
+ }
9
56
  /**
10
57
  * Creates a OpenAIWebhookEvent and treats the data as the input type.
11
58
  *
12
59
  * @param event
13
60
  * @returns
14
- */
15
- function openAIWebhookEvent(event) {
61
+ */ function openAIWebhookEvent(event) {
16
62
  return event;
17
63
  }
18
- const openaiEventHandlerFactory = util.handlerFactory((x) => x.type);
19
- const openaiEventHandlerConfigurerFactory = util.handlerConfigurerFactory({
20
- configurerForAccessor: (accessor) => {
64
+ var openaiEventHandlerFactory = util.handlerFactory(function(x) {
65
+ return x.type;
66
+ });
67
+ var openaiEventHandlerConfigurerFactory = util.handlerConfigurerFactory({
68
+ configurerForAccessor: function configurerForAccessor(accessor) {
21
69
  // eslint-disable-next-line
22
- const fnWithKey = util.handlerMappedSetFunctionFactory(accessor, openAIWebhookEvent);
23
- const configurer = {
24
- ...accessor,
70
+ var fnWithKey = util.handlerMappedSetFunctionFactory(accessor, openAIWebhookEvent);
71
+ var configurer = _object_spread_props(_object_spread({}, accessor), {
25
72
  handleBatchCancelled: fnWithKey('batch.cancelled'),
26
73
  handleBatchCompleted: fnWithKey('batch.completed'),
27
74
  handleBatchExpired: fnWithKey('batch.expired'),
@@ -36,174 +83,811 @@ const openaiEventHandlerConfigurerFactory = util.handlerConfigurerFactory({
36
83
  handleResponseCompleted: fnWithKey('response.completed'),
37
84
  handleResponseFailed: fnWithKey('response.failed'),
38
85
  handleResponseIncomplete: fnWithKey('response.incomplete')
39
- };
86
+ });
40
87
  return configurer;
41
88
  }
42
89
  });
43
90
 
44
- const OPENAI_WEBHOOK_SECRET_TOKEN_ENV_VAR = 'OPENAI_WEBHOOK_SECRET_TOKEN';
91
+ function _class_call_check$6(instance, Constructor) {
92
+ if (!(instance instanceof Constructor)) {
93
+ throw new TypeError("Cannot call a class as a function");
94
+ }
95
+ }
96
+ function _defineProperties$3(target, props) {
97
+ for(var i = 0; i < props.length; i++){
98
+ var descriptor = props[i];
99
+ descriptor.enumerable = descriptor.enumerable || false;
100
+ descriptor.configurable = true;
101
+ if ("value" in descriptor) descriptor.writable = true;
102
+ Object.defineProperty(target, descriptor.key, descriptor);
103
+ }
104
+ }
105
+ function _create_class$3(Constructor, protoProps, staticProps) {
106
+ if (staticProps) _defineProperties$3(Constructor, staticProps);
107
+ return Constructor;
108
+ }
109
+ function _define_property$4(obj, key, value) {
110
+ if (key in obj) {
111
+ Object.defineProperty(obj, key, {
112
+ value: value,
113
+ enumerable: true,
114
+ configurable: true,
115
+ writable: true
116
+ });
117
+ } else {
118
+ obj[key] = value;
119
+ }
120
+ return obj;
121
+ }
122
+ var OPENAI_WEBHOOK_SECRET_TOKEN_ENV_VAR = 'OPENAI_WEBHOOK_SECRET_TOKEN';
45
123
  /**
46
124
  * Configuration for OpenAIService
47
- */
48
- class OpenAIWebhookServiceConfig {
49
- openaiWebhook;
50
- static assertValidConfig(config) {
51
- if (!config.openaiWebhook.webhookSecret) {
52
- throw new Error('No OpenAI webhook secret specified.');
53
- }
125
+ */ var OpenAIWebhookServiceConfig = /*#__PURE__*/ function() {
126
+ function OpenAIWebhookServiceConfig() {
127
+ _class_call_check$6(this, OpenAIWebhookServiceConfig);
128
+ _define_property$4(this, "openaiWebhook", void 0);
54
129
  }
55
- }
130
+ _create_class$3(OpenAIWebhookServiceConfig, null, [
131
+ {
132
+ key: "assertValidConfig",
133
+ value: function assertValidConfig(config) {
134
+ if (!config.openaiWebhook.webhookSecret) {
135
+ throw new Error('No OpenAI webhook secret specified.');
136
+ }
137
+ }
138
+ }
139
+ ]);
140
+ return OpenAIWebhookServiceConfig;
141
+ }
142
+ ();
56
143
 
57
- /******************************************************************************
58
- Copyright (c) Microsoft Corporation.
59
-
60
- Permission to use, copy, modify, and/or distribute this software for any
61
- purpose with or without fee is hereby granted.
62
-
63
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
64
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
65
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
66
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
67
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
68
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
69
- PERFORMANCE OF THIS SOFTWARE.
70
- ***************************************************************************** */
71
- /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
72
-
73
-
74
- function __decorate(decorators, target, key, desc) {
75
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
76
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
77
- 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;
78
- return c > 3 && r && Object.defineProperty(target, key, r), r;
79
- }
80
-
81
- function __param(paramIndex, decorator) {
82
- return function (target, key) { decorator(target, key, paramIndex); }
83
- }
84
-
85
- typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
86
- var e = new Error(message);
87
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
144
+ function _type_of(obj) {
145
+ "@swc/helpers - typeof";
146
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
147
+ }
148
+ function __decorate(decorators, target, key, desc) {
149
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
150
+ if ((typeof Reflect === "undefined" ? "undefined" : _type_of(Reflect)) === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
151
+ 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;
152
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
153
+ }
154
+ function __param(paramIndex, decorator) {
155
+ return function(target, key) {
156
+ decorator(target, key, paramIndex);
157
+ };
158
+ }
159
+ typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
160
+ var e = new Error(message);
161
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
88
162
  };
89
163
 
164
+ function _class_call_check$5(instance, Constructor) {
165
+ if (!(instance instanceof Constructor)) {
166
+ throw new TypeError("Cannot call a class as a function");
167
+ }
168
+ }
169
+ function _defineProperties$2(target, props) {
170
+ for(var i = 0; i < props.length; i++){
171
+ var descriptor = props[i];
172
+ descriptor.enumerable = descriptor.enumerable || false;
173
+ descriptor.configurable = true;
174
+ if ("value" in descriptor) descriptor.writable = true;
175
+ Object.defineProperty(target, descriptor.key, descriptor);
176
+ }
177
+ }
178
+ function _create_class$2(Constructor, protoProps, staticProps) {
179
+ if (staticProps) _defineProperties$2(Constructor, staticProps);
180
+ return Constructor;
181
+ }
182
+ function _define_property$3(obj, key, value) {
183
+ if (key in obj) {
184
+ Object.defineProperty(obj, key, {
185
+ value: value,
186
+ enumerable: true,
187
+ configurable: true,
188
+ writable: true
189
+ });
190
+ } else {
191
+ obj[key] = value;
192
+ }
193
+ return obj;
194
+ }
90
195
  /**
91
196
  * Default environment variable for the OpenAI API key.
92
- */
93
- const OPENAI_API_KEY_ENV_VAR = 'OPENAI_API_KEY';
94
- const OPENAI_BASE_URL_ENV_VAR = 'OPENAI_BASE_URL';
95
- const OPENAI_ORGANIZATION_ID_ENV_VAR = 'OPENAI_ORG_ID';
96
- const OPENAI_PROJECT_ID_ENV_VAR = 'OPENAI_PROJECT_ID';
197
+ */ var OPENAI_API_KEY_ENV_VAR = 'OPENAI_API_KEY';
198
+ var OPENAI_BASE_URL_ENV_VAR = 'OPENAI_BASE_URL';
199
+ var OPENAI_ORGANIZATION_ID_ENV_VAR = 'OPENAI_ORG_ID';
200
+ var OPENAI_PROJECT_ID_ENV_VAR = 'OPENAI_PROJECT_ID';
97
201
  /**
98
202
  * Configuration for OpenAIService
99
- */
100
- class OpenAIServiceConfig {
101
- openai;
102
- static assertValidConfig(config) {
103
- if (!config.openai.config.apiKey) {
104
- throw new Error('No OpenAI API key specified.');
105
- }
106
- else if (!config.openai.config.organization) {
107
- throw new Error('No OpenAI organization specified.');
108
- }
109
- else if (!config.openai.config.project) {
110
- throw new Error('No OpenAI project specified.');
203
+ */ var OpenAIServiceConfig = /*#__PURE__*/ function() {
204
+ function OpenAIServiceConfig() {
205
+ _class_call_check$5(this, OpenAIServiceConfig);
206
+ _define_property$3(this, "openai", void 0);
207
+ }
208
+ _create_class$2(OpenAIServiceConfig, null, [
209
+ {
210
+ key: "assertValidConfig",
211
+ value: function assertValidConfig(config) {
212
+ if (!config.openai.config.apiKey) {
213
+ throw new Error('No OpenAI API key specified.');
214
+ } else if (!config.openai.config.organization) {
215
+ throw new Error('No OpenAI organization specified.');
216
+ } else if (!config.openai.config.project) {
217
+ throw new Error('No OpenAI project specified.');
218
+ }
219
+ }
111
220
  }
221
+ ]);
222
+ return OpenAIServiceConfig;
223
+ }
224
+ ();
225
+
226
+ function _class_call_check$4(instance, Constructor) {
227
+ if (!(instance instanceof Constructor)) {
228
+ throw new TypeError("Cannot call a class as a function");
112
229
  }
113
230
  }
114
-
115
- exports.OpenAIApi = class OpenAIApi {
116
- config;
117
- openAIClient;
118
- constructor(config) {
119
- this.config = config;
120
- this.openAIClient = new openai.OpenAI(config.openai.config);
231
+ function _define_property$2(obj, key, value) {
232
+ if (key in obj) {
233
+ Object.defineProperty(obj, key, {
234
+ value: value,
235
+ enumerable: true,
236
+ configurable: true,
237
+ writable: true
238
+ });
239
+ } else {
240
+ obj[key] = value;
121
241
  }
242
+ return obj;
243
+ }
244
+ exports.OpenAIApi = function OpenAIApi(config) {
245
+ _class_call_check$4(this, OpenAIApi);
246
+ _define_property$2(this, "config", void 0);
247
+ _define_property$2(this, "openAIClient", void 0);
248
+ this.config = config;
249
+ this.openAIClient = new openai.OpenAI(config.openai.config);
122
250
  };
123
251
  exports.OpenAIApi = __decorate([
124
252
  common.Injectable(),
125
253
  __param(0, common.Inject(OpenAIServiceConfig))
126
254
  ], exports.OpenAIApi);
127
255
 
256
+ function asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, key, arg) {
257
+ try {
258
+ var info = gen[key](arg);
259
+ var value = info.value;
260
+ } catch (error) {
261
+ reject(error);
262
+ return;
263
+ }
264
+ if (info.done) {
265
+ resolve(value);
266
+ } else {
267
+ Promise.resolve(value).then(_next, _throw);
268
+ }
269
+ }
270
+ function _async_to_generator$2(fn) {
271
+ return function() {
272
+ var self = this, args = arguments;
273
+ return new Promise(function(resolve, reject) {
274
+ var gen = fn.apply(self, args);
275
+ function _next(value) {
276
+ asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, "next", value);
277
+ }
278
+ function _throw(err) {
279
+ asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, "throw", err);
280
+ }
281
+ _next(undefined);
282
+ });
283
+ };
284
+ }
285
+ function _instanceof(left, right) {
286
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
287
+ return !!right[Symbol.hasInstance](left);
288
+ } else {
289
+ return left instanceof right;
290
+ }
291
+ }
292
+ function _ts_generator$2(thisArg, body) {
293
+ var f, y, t, _ = {
294
+ label: 0,
295
+ sent: function() {
296
+ if (t[0] & 1) throw t[1];
297
+ return t[1];
298
+ },
299
+ trys: [],
300
+ ops: []
301
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
302
+ return d(g, "next", {
303
+ value: verb(0)
304
+ }), d(g, "throw", {
305
+ value: verb(1)
306
+ }), d(g, "return", {
307
+ value: verb(2)
308
+ }), typeof Symbol === "function" && d(g, Symbol.iterator, {
309
+ value: function() {
310
+ return this;
311
+ }
312
+ }), g;
313
+ function verb(n) {
314
+ return function(v) {
315
+ return step([
316
+ n,
317
+ v
318
+ ]);
319
+ };
320
+ }
321
+ function step(op) {
322
+ if (f) throw new TypeError("Generator is already executing.");
323
+ while(g && (g = 0, op[0] && (_ = 0)), _)try {
324
+ 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;
325
+ if (y = 0, t) op = [
326
+ op[0] & 2,
327
+ t.value
328
+ ];
329
+ switch(op[0]){
330
+ case 0:
331
+ case 1:
332
+ t = op;
333
+ break;
334
+ case 4:
335
+ _.label++;
336
+ return {
337
+ value: op[1],
338
+ done: false
339
+ };
340
+ case 5:
341
+ _.label++;
342
+ y = op[1];
343
+ op = [
344
+ 0
345
+ ];
346
+ continue;
347
+ case 7:
348
+ op = _.ops.pop();
349
+ _.trys.pop();
350
+ continue;
351
+ default:
352
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
353
+ _ = 0;
354
+ continue;
355
+ }
356
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
357
+ _.label = op[1];
358
+ break;
359
+ }
360
+ if (op[0] === 6 && _.label < t[1]) {
361
+ _.label = t[1];
362
+ t = op;
363
+ break;
364
+ }
365
+ if (t && _.label < t[2]) {
366
+ _.label = t[2];
367
+ _.ops.push(op);
368
+ break;
369
+ }
370
+ if (t[2]) _.ops.pop();
371
+ _.trys.pop();
372
+ continue;
373
+ }
374
+ op = body.call(thisArg, _);
375
+ } catch (e) {
376
+ op = [
377
+ 6,
378
+ e
379
+ ];
380
+ y = 0;
381
+ } finally{
382
+ f = t = 0;
383
+ }
384
+ if (op[0] & 5) throw op[1];
385
+ return {
386
+ value: op[0] ? op[1] : void 0,
387
+ done: true
388
+ };
389
+ }
390
+ }
128
391
  /**
129
392
  * Verifies a OpenAI webhook event header.
130
393
  *
131
394
  * @param vapiSecretTokenGetter The OpenAI secret token. The Vapi client allows for using an AsyncGetterOrValue type, so the verifier supports that as well.
132
395
  * @returns A function that verifies a OpenAI webhook event.
133
- */
134
- function openAIWebhookEventVerifier(config) {
135
- const { secret, client } = config;
136
- return async (request, rawBody) => {
137
- const headers = request.headers;
138
- const requestBodyString = String(request.body);
139
- let event;
140
- let valid = false;
141
- try {
142
- event = await client.webhooks.unwrap(requestBodyString, headers, secret);
143
- valid = true;
144
- }
145
- catch (e) {
146
- if (e instanceof openai.InvalidWebhookSignatureError) {
147
- valid = false;
396
+ */ function openAIWebhookEventVerifier(config) {
397
+ var secret = config.secret, client = config.client;
398
+ return function(request, rawBody) {
399
+ return _async_to_generator$2(function() {
400
+ var headers, requestBodyString, event, valid, e, result;
401
+ return _ts_generator$2(this, function(_state) {
402
+ switch(_state.label){
403
+ case 0:
404
+ headers = request.headers;
405
+ requestBodyString = String(request.body);
406
+ valid = false;
407
+ _state.label = 1;
408
+ case 1:
409
+ _state.trys.push([
410
+ 1,
411
+ 3,
412
+ ,
413
+ 4
414
+ ]);
415
+ return [
416
+ 4,
417
+ client.webhooks.unwrap(requestBodyString, headers, secret)
418
+ ];
419
+ case 2:
420
+ event = _state.sent();
421
+ valid = true;
422
+ return [
423
+ 3,
424
+ 4
425
+ ];
426
+ case 3:
427
+ e = _state.sent();
428
+ if (_instanceof(e, openai.InvalidWebhookSignatureError)) {
429
+ valid = false;
430
+ } else {
431
+ throw e;
432
+ }
433
+ return [
434
+ 3,
435
+ 4
436
+ ];
437
+ case 4:
438
+ result = {
439
+ valid: valid,
440
+ event: event
441
+ };
442
+ return [
443
+ 2,
444
+ result
445
+ ];
446
+ }
447
+ });
448
+ })();
449
+ };
450
+ }
451
+
452
+ function asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, key, arg) {
453
+ try {
454
+ var info = gen[key](arg);
455
+ var value = info.value;
456
+ } catch (error) {
457
+ reject(error);
458
+ return;
459
+ }
460
+ if (info.done) {
461
+ resolve(value);
462
+ } else {
463
+ Promise.resolve(value).then(_next, _throw);
464
+ }
465
+ }
466
+ function _async_to_generator$1(fn) {
467
+ return function() {
468
+ var self = this, args = arguments;
469
+ return new Promise(function(resolve, reject) {
470
+ var gen = fn.apply(self, args);
471
+ function _next(value) {
472
+ asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, "next", value);
148
473
  }
149
- else {
150
- throw e;
474
+ function _throw(err) {
475
+ asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, "throw", err);
151
476
  }
477
+ _next(undefined);
478
+ });
479
+ };
480
+ }
481
+ function _class_call_check$3(instance, Constructor) {
482
+ if (!(instance instanceof Constructor)) {
483
+ throw new TypeError("Cannot call a class as a function");
484
+ }
485
+ }
486
+ function _defineProperties$1(target, props) {
487
+ for(var i = 0; i < props.length; i++){
488
+ var descriptor = props[i];
489
+ descriptor.enumerable = descriptor.enumerable || false;
490
+ descriptor.configurable = true;
491
+ if ("value" in descriptor) descriptor.writable = true;
492
+ Object.defineProperty(target, descriptor.key, descriptor);
493
+ }
494
+ }
495
+ function _create_class$1(Constructor, protoProps, staticProps) {
496
+ if (protoProps) _defineProperties$1(Constructor.prototype, protoProps);
497
+ return Constructor;
498
+ }
499
+ function _define_property$1(obj, key, value) {
500
+ if (key in obj) {
501
+ Object.defineProperty(obj, key, {
502
+ value: value,
503
+ enumerable: true,
504
+ configurable: true,
505
+ writable: true
506
+ });
507
+ } else {
508
+ obj[key] = value;
509
+ }
510
+ return obj;
511
+ }
512
+ function _ts_generator$1(thisArg, body) {
513
+ var f, y, t, _ = {
514
+ label: 0,
515
+ sent: function() {
516
+ if (t[0] & 1) throw t[1];
517
+ return t[1];
518
+ },
519
+ trys: [],
520
+ ops: []
521
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
522
+ return d(g, "next", {
523
+ value: verb(0)
524
+ }), d(g, "throw", {
525
+ value: verb(1)
526
+ }), d(g, "return", {
527
+ value: verb(2)
528
+ }), typeof Symbol === "function" && d(g, Symbol.iterator, {
529
+ value: function() {
530
+ return this;
152
531
  }
153
- const result = {
154
- valid,
155
- event
532
+ }), g;
533
+ function verb(n) {
534
+ return function(v) {
535
+ return step([
536
+ n,
537
+ v
538
+ ]);
156
539
  };
157
- return result;
158
- };
540
+ }
541
+ function step(op) {
542
+ if (f) throw new TypeError("Generator is already executing.");
543
+ while(g && (g = 0, op[0] && (_ = 0)), _)try {
544
+ 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;
545
+ if (y = 0, t) op = [
546
+ op[0] & 2,
547
+ t.value
548
+ ];
549
+ switch(op[0]){
550
+ case 0:
551
+ case 1:
552
+ t = op;
553
+ break;
554
+ case 4:
555
+ _.label++;
556
+ return {
557
+ value: op[1],
558
+ done: false
559
+ };
560
+ case 5:
561
+ _.label++;
562
+ y = op[1];
563
+ op = [
564
+ 0
565
+ ];
566
+ continue;
567
+ case 7:
568
+ op = _.ops.pop();
569
+ _.trys.pop();
570
+ continue;
571
+ default:
572
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
573
+ _ = 0;
574
+ continue;
575
+ }
576
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
577
+ _.label = op[1];
578
+ break;
579
+ }
580
+ if (op[0] === 6 && _.label < t[1]) {
581
+ _.label = t[1];
582
+ t = op;
583
+ break;
584
+ }
585
+ if (t && _.label < t[2]) {
586
+ _.label = t[2];
587
+ _.ops.push(op);
588
+ break;
589
+ }
590
+ if (t[2]) _.ops.pop();
591
+ _.trys.pop();
592
+ continue;
593
+ }
594
+ op = body.call(thisArg, _);
595
+ } catch (e) {
596
+ op = [
597
+ 6,
598
+ e
599
+ ];
600
+ y = 0;
601
+ } finally{
602
+ f = t = 0;
603
+ }
604
+ if (op[0] & 5) throw op[1];
605
+ return {
606
+ value: op[0] ? op[1] : void 0,
607
+ done: true
608
+ };
609
+ }
159
610
  }
160
-
161
611
  /**
162
612
  * Service that makes system changes based on OpenAI webhook events.
163
- */
164
- exports.OpenAIWebhookService = class OpenAIWebhookService {
165
- logger = new common.Logger('OpenAIWebhookService');
166
- _verifier;
167
- handler = openaiEventHandlerFactory();
168
- configure = openaiEventHandlerConfigurerFactory(this.handler);
169
- constructor(openAiApi, openAIWebhookServiceConfig) {
170
- const { webhookSecret } = openAIWebhookServiceConfig.openaiWebhook;
613
+ */ exports.OpenAIWebhookService = /*#__PURE__*/ function() {
614
+ function OpenAIWebhookService(openAiApi, openAIWebhookServiceConfig) {
615
+ _class_call_check$3(this, OpenAIWebhookService);
616
+ _define_property$1(this, "logger", new common.Logger('OpenAIWebhookService'));
617
+ _define_property$1(this, "_verifier", void 0);
618
+ _define_property$1(this, "handler", openaiEventHandlerFactory());
619
+ _define_property$1(this, "configure", openaiEventHandlerConfigurerFactory(this.handler));
620
+ var webhookSecret = openAIWebhookServiceConfig.openaiWebhook.webhookSecret;
171
621
  this._verifier = openAIWebhookEventVerifier({
172
622
  secret: webhookSecret,
173
623
  client: openAiApi.openAIClient
174
624
  });
175
625
  }
176
- async updateForWebhook(req, rawBody) {
177
- const result = await this._verifier(req, rawBody);
178
- if (!result.valid) {
179
- this.logger.warn('Received invalid OpenAI event.', req);
180
- }
181
- else {
182
- await this.updateForOpenAIEvent(result.event);
183
- }
184
- }
185
- async updateForOpenAIEvent(event) {
186
- const result = await this.handler(event);
187
- if (!result) {
188
- this.logger.warn('Received unexpected/unhandled OpenAI event.', event);
626
+ _create_class$1(OpenAIWebhookService, [
627
+ {
628
+ key: "updateForWebhook",
629
+ value: function updateForWebhook(req, rawBody) {
630
+ return _async_to_generator$1(function() {
631
+ var result;
632
+ return _ts_generator$1(this, function(_state) {
633
+ switch(_state.label){
634
+ case 0:
635
+ return [
636
+ 4,
637
+ this._verifier(req, rawBody)
638
+ ];
639
+ case 1:
640
+ result = _state.sent();
641
+ if (!!result.valid) return [
642
+ 3,
643
+ 2
644
+ ];
645
+ this.logger.warn('Received invalid OpenAI event.', req);
646
+ return [
647
+ 3,
648
+ 4
649
+ ];
650
+ case 2:
651
+ return [
652
+ 4,
653
+ this.updateForOpenAIEvent(result.event)
654
+ ];
655
+ case 3:
656
+ _state.sent();
657
+ _state.label = 4;
658
+ case 4:
659
+ return [
660
+ 2
661
+ ];
662
+ }
663
+ });
664
+ }).call(this);
665
+ }
666
+ },
667
+ {
668
+ key: "updateForOpenAIEvent",
669
+ value: function updateForOpenAIEvent(event) {
670
+ return _async_to_generator$1(function() {
671
+ var result;
672
+ return _ts_generator$1(this, function(_state) {
673
+ switch(_state.label){
674
+ case 0:
675
+ return [
676
+ 4,
677
+ this.handler(event)
678
+ ];
679
+ case 1:
680
+ result = _state.sent();
681
+ if (!result) {
682
+ this.logger.warn('Received unexpected/unhandled OpenAI event.', event);
683
+ }
684
+ return [
685
+ 2
686
+ ];
687
+ }
688
+ });
689
+ }).call(this);
690
+ }
189
691
  }
190
- }
191
- };
692
+ ]);
693
+ return OpenAIWebhookService;
694
+ }();
192
695
  exports.OpenAIWebhookService = __decorate([
193
696
  common.Injectable(),
194
697
  __param(0, common.Inject(exports.OpenAIApi)),
195
698
  __param(1, common.Inject(OpenAIWebhookServiceConfig))
196
699
  ], exports.OpenAIWebhookService);
197
700
 
198
- exports.OpenAIWebhookController = class OpenAIWebhookController {
199
- _openaiWebhookService;
200
- constructor(openaiWebhookService) {
201
- this._openaiWebhookService = openaiWebhookService;
701
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
702
+ try {
703
+ var info = gen[key](arg);
704
+ var value = info.value;
705
+ } catch (error) {
706
+ reject(error);
707
+ return;
202
708
  }
203
- async handleOpenAIWebhook(req, rawBody) {
204
- await this._openaiWebhookService.updateForWebhook(req, rawBody);
709
+ if (info.done) {
710
+ resolve(value);
711
+ } else {
712
+ Promise.resolve(value).then(_next, _throw);
205
713
  }
206
- };
714
+ }
715
+ function _async_to_generator(fn) {
716
+ return function() {
717
+ var self = this, args = arguments;
718
+ return new Promise(function(resolve, reject) {
719
+ var gen = fn.apply(self, args);
720
+ function _next(value) {
721
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
722
+ }
723
+ function _throw(err) {
724
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
725
+ }
726
+ _next(undefined);
727
+ });
728
+ };
729
+ }
730
+ function _class_call_check$2(instance, Constructor) {
731
+ if (!(instance instanceof Constructor)) {
732
+ throw new TypeError("Cannot call a class as a function");
733
+ }
734
+ }
735
+ function _defineProperties(target, props) {
736
+ for(var i = 0; i < props.length; i++){
737
+ var descriptor = props[i];
738
+ descriptor.enumerable = descriptor.enumerable || false;
739
+ descriptor.configurable = true;
740
+ if ("value" in descriptor) descriptor.writable = true;
741
+ Object.defineProperty(target, descriptor.key, descriptor);
742
+ }
743
+ }
744
+ function _create_class(Constructor, protoProps, staticProps) {
745
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
746
+ return Constructor;
747
+ }
748
+ function _define_property(obj, key, value) {
749
+ if (key in obj) {
750
+ Object.defineProperty(obj, key, {
751
+ value: value,
752
+ enumerable: true,
753
+ configurable: true,
754
+ writable: true
755
+ });
756
+ } else {
757
+ obj[key] = value;
758
+ }
759
+ return obj;
760
+ }
761
+ function _ts_generator(thisArg, body) {
762
+ var f, y, t, _ = {
763
+ label: 0,
764
+ sent: function() {
765
+ if (t[0] & 1) throw t[1];
766
+ return t[1];
767
+ },
768
+ trys: [],
769
+ ops: []
770
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
771
+ return d(g, "next", {
772
+ value: verb(0)
773
+ }), d(g, "throw", {
774
+ value: verb(1)
775
+ }), d(g, "return", {
776
+ value: verb(2)
777
+ }), typeof Symbol === "function" && d(g, Symbol.iterator, {
778
+ value: function() {
779
+ return this;
780
+ }
781
+ }), g;
782
+ function verb(n) {
783
+ return function(v) {
784
+ return step([
785
+ n,
786
+ v
787
+ ]);
788
+ };
789
+ }
790
+ function step(op) {
791
+ if (f) throw new TypeError("Generator is already executing.");
792
+ while(g && (g = 0, op[0] && (_ = 0)), _)try {
793
+ 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;
794
+ if (y = 0, t) op = [
795
+ op[0] & 2,
796
+ t.value
797
+ ];
798
+ switch(op[0]){
799
+ case 0:
800
+ case 1:
801
+ t = op;
802
+ break;
803
+ case 4:
804
+ _.label++;
805
+ return {
806
+ value: op[1],
807
+ done: false
808
+ };
809
+ case 5:
810
+ _.label++;
811
+ y = op[1];
812
+ op = [
813
+ 0
814
+ ];
815
+ continue;
816
+ case 7:
817
+ op = _.ops.pop();
818
+ _.trys.pop();
819
+ continue;
820
+ default:
821
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
822
+ _ = 0;
823
+ continue;
824
+ }
825
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
826
+ _.label = op[1];
827
+ break;
828
+ }
829
+ if (op[0] === 6 && _.label < t[1]) {
830
+ _.label = t[1];
831
+ t = op;
832
+ break;
833
+ }
834
+ if (t && _.label < t[2]) {
835
+ _.label = t[2];
836
+ _.ops.push(op);
837
+ break;
838
+ }
839
+ if (t[2]) _.ops.pop();
840
+ _.trys.pop();
841
+ continue;
842
+ }
843
+ op = body.call(thisArg, _);
844
+ } catch (e) {
845
+ op = [
846
+ 6,
847
+ e
848
+ ];
849
+ y = 0;
850
+ } finally{
851
+ f = t = 0;
852
+ }
853
+ if (op[0] & 5) throw op[1];
854
+ return {
855
+ value: op[0] ? op[1] : void 0,
856
+ done: true
857
+ };
858
+ }
859
+ }
860
+ exports.OpenAIWebhookController = /*#__PURE__*/ function() {
861
+ function OpenAIWebhookController(openaiWebhookService) {
862
+ _class_call_check$2(this, OpenAIWebhookController);
863
+ _define_property(this, "_openaiWebhookService", void 0);
864
+ this._openaiWebhookService = openaiWebhookService;
865
+ }
866
+ _create_class(OpenAIWebhookController, [
867
+ {
868
+ key: "handleOpenAIWebhook",
869
+ value: function handleOpenAIWebhook(req, rawBody) {
870
+ return _async_to_generator(function() {
871
+ return _ts_generator(this, function(_state) {
872
+ switch(_state.label){
873
+ case 0:
874
+ return [
875
+ 4,
876
+ this._openaiWebhookService.updateForWebhook(req, rawBody)
877
+ ];
878
+ case 1:
879
+ _state.sent();
880
+ return [
881
+ 2
882
+ ];
883
+ }
884
+ });
885
+ }).call(this);
886
+ }
887
+ }
888
+ ]);
889
+ return OpenAIWebhookController;
890
+ }();
207
891
  __decorate([
208
892
  common.Post(),
209
893
  __param(0, common.Req()),
@@ -214,12 +898,18 @@ exports.OpenAIWebhookController = __decorate([
214
898
  __param(0, common.Inject(exports.OpenAIWebhookService))
215
899
  ], exports.OpenAIWebhookController);
216
900
 
901
+ function _class_call_check$1(instance, Constructor) {
902
+ if (!(instance instanceof Constructor)) {
903
+ throw new TypeError("Cannot call a class as a function");
904
+ }
905
+ }
217
906
  function openAIServiceConfigFactory(configService) {
218
- const config = {
907
+ var _configService_get;
908
+ var config = {
219
909
  openai: {
220
910
  config: {
221
911
  apiKey: configService.get(OPENAI_API_KEY_ENV_VAR),
222
- baseURL: configService.get(OPENAI_BASE_URL_ENV_VAR) ?? undefined,
912
+ baseURL: (_configService_get = configService.get(OPENAI_BASE_URL_ENV_VAR)) !== null && _configService_get !== void 0 ? _configService_get : undefined,
223
913
  organization: configService.get(OPENAI_ORGANIZATION_ID_ENV_VAR),
224
914
  project: configService.get(OPENAI_PROJECT_ID_ENV_VAR)
225
915
  }
@@ -228,25 +918,37 @@ function openAIServiceConfigFactory(configService) {
228
918
  OpenAIServiceConfig.assertValidConfig(config);
229
919
  return config;
230
920
  }
231
- exports.OpenAIModule = class OpenAIModule {
921
+ exports.OpenAIModule = function OpenAIModule() {
922
+ _class_call_check$1(this, OpenAIModule);
232
923
  };
233
924
  exports.OpenAIModule = __decorate([
234
925
  common.Module({
235
- imports: [config.ConfigModule],
926
+ imports: [
927
+ config.ConfigModule
928
+ ],
236
929
  providers: [
237
930
  {
238
931
  provide: OpenAIServiceConfig,
239
- inject: [config.ConfigService],
932
+ inject: [
933
+ config.ConfigService
934
+ ],
240
935
  useFactory: openAIServiceConfigFactory
241
936
  },
242
937
  exports.OpenAIApi
243
938
  ],
244
- exports: [exports.OpenAIApi]
939
+ exports: [
940
+ exports.OpenAIApi
941
+ ]
245
942
  })
246
943
  ], exports.OpenAIModule);
247
944
 
945
+ function _class_call_check(instance, Constructor) {
946
+ if (!(instance instanceof Constructor)) {
947
+ throw new TypeError("Cannot call a class as a function");
948
+ }
949
+ }
248
950
  function openAIWebhookServiceConfigFactory(configService) {
249
- const config = {
951
+ var config = {
250
952
  openaiWebhook: {
251
953
  webhookSecret: configService.get(OPENAI_WEBHOOK_SECRET_TOKEN_ENV_VAR)
252
954
  }
@@ -254,21 +956,31 @@ function openAIWebhookServiceConfigFactory(configService) {
254
956
  OpenAIWebhookServiceConfig.assertValidConfig(config);
255
957
  return config;
256
958
  }
257
- exports.OpenAIWebhookModule = class OpenAIWebhookModule {
959
+ exports.OpenAIWebhookModule = function OpenAIWebhookModule() {
960
+ _class_call_check(this, OpenAIWebhookModule);
258
961
  };
259
962
  exports.OpenAIWebhookModule = __decorate([
260
963
  common.Module({
261
- imports: [config.ConfigModule, exports.OpenAIModule],
262
- controllers: [exports.OpenAIWebhookController],
964
+ imports: [
965
+ config.ConfigModule,
966
+ exports.OpenAIModule
967
+ ],
968
+ controllers: [
969
+ exports.OpenAIWebhookController
970
+ ],
263
971
  providers: [
264
972
  {
265
973
  provide: OpenAIWebhookServiceConfig,
266
- inject: [config.ConfigService],
974
+ inject: [
975
+ config.ConfigService
976
+ ],
267
977
  useFactory: openAIWebhookServiceConfigFactory
268
978
  },
269
979
  exports.OpenAIWebhookService
270
980
  ],
271
- exports: [exports.OpenAIWebhookService]
981
+ exports: [
982
+ exports.OpenAIWebhookService
983
+ ]
272
984
  })
273
985
  ], exports.OpenAIWebhookModule);
274
986
 
@@ -277,8 +989,7 @@ exports.OpenAIWebhookModule = __decorate([
277
989
  *
278
990
  * @param response
279
991
  * @returns
280
- */
281
- function isParsedOpenAIJsonResponseWithJson(response) {
992
+ */ function isParsedOpenAIJsonResponseWithJson(response) {
282
993
  return response.isJsonResponse && Boolean(response.jsonResponse) && Boolean(response.jsonResponseFieldMap);
283
994
  }
284
995
  /**
@@ -286,23 +997,21 @@ function isParsedOpenAIJsonResponseWithJson(response) {
286
997
  *
287
998
  * @param response The OpenAI response to parse.
288
999
  * @returns The parsed OpenAI response.
289
- */
290
- function parseOpenAIJsonResponse(response) {
291
- const output_text = typeof response === 'string' ? response : response.output_text;
292
- let jsonResponse = undefined;
293
- let jsonResponseFieldMap = undefined;
1000
+ */ function parseOpenAIJsonResponse(response) {
1001
+ var output_text = typeof response === 'string' ? response : response.output_text;
1002
+ var jsonResponse = undefined;
1003
+ var jsonResponseFieldMap = undefined;
294
1004
  try {
295
1005
  jsonResponse = JSON.parse(output_text);
296
1006
  jsonResponseFieldMap = openAIJsonResponseFieldsMap(jsonResponse);
297
- }
298
- catch (e) {
299
- // ignore
1007
+ } catch (e) {
1008
+ // ignore
300
1009
  }
301
1010
  return {
302
- output_text,
1011
+ output_text: output_text,
303
1012
  isJsonResponse: Boolean(jsonResponse),
304
- jsonResponse,
305
- jsonResponseFieldMap
1013
+ jsonResponse: jsonResponse,
1014
+ jsonResponseFieldMap: jsonResponseFieldMap
306
1015
  };
307
1016
  }
308
1017
  /**
@@ -310,9 +1019,13 @@ function parseOpenAIJsonResponse(response) {
310
1019
  *
311
1020
  * @param response The OpenAI json response to create a map from.
312
1021
  * @returns The map of the OpenAI json response fields.
313
- */
314
- function openAIJsonResponseFieldsMap(response) {
315
- return new Map(response.fields.map((x) => [x.field_name, x.field_value]));
1022
+ */ function openAIJsonResponseFieldsMap(response) {
1023
+ return new Map(response.fields.map(function(x) {
1024
+ return [
1025
+ x.field_name,
1026
+ x.field_value
1027
+ ];
1028
+ }));
316
1029
  }
317
1030
 
318
1031
  exports.OPENAI_API_KEY_ENV_VAR = OPENAI_API_KEY_ENV_VAR;