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