librechat-data-provider 0.2.5 → 0.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/dist/index.js CHANGED
@@ -1,1303 +1,2 @@
1
- 'use strict';
2
-
3
- var axios = require('axios');
4
- var zod = require('zod');
5
- var reactQuery = require('@tanstack/react-query');
6
-
7
- /******************************************************************************
8
- Copyright (c) Microsoft Corporation.
9
-
10
- Permission to use, copy, modify, and/or distribute this software for any
11
- purpose with or without fee is hereby granted.
12
-
13
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
14
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
15
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
16
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
17
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
18
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19
- PERFORMANCE OF THIS SOFTWARE.
20
- ***************************************************************************** */
21
- /* global Reflect, Promise, SuppressedError, Symbol */
22
-
23
-
24
- var __assign = function() {
25
- __assign = Object.assign || function __assign(t) {
26
- for (var s, i = 1, n = arguments.length; i < n; i++) {
27
- s = arguments[i];
28
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
29
- }
30
- return t;
31
- };
32
- return __assign.apply(this, arguments);
33
- };
34
-
35
- function __awaiter(thisArg, _arguments, P, generator) {
36
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
- return new (P || (P = Promise))(function (resolve, reject) {
38
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
- step((generator = generator.apply(thisArg, _arguments || [])).next());
42
- });
43
- }
44
-
45
- function __generator(thisArg, body) {
46
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
47
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
48
- function verb(n) { return function (v) { return step([n, v]); }; }
49
- function step(op) {
50
- if (f) throw new TypeError("Generator is already executing.");
51
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
52
- 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;
53
- if (y = 0, t) op = [op[0] & 2, t.value];
54
- switch (op[0]) {
55
- case 0: case 1: t = op; break;
56
- case 4: _.label++; return { value: op[1], done: false };
57
- case 5: _.label++; y = op[1]; op = [0]; continue;
58
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
59
- default:
60
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
61
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
62
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
63
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
64
- if (t[2]) _.ops.pop();
65
- _.trys.pop(); continue;
66
- }
67
- op = body.call(thisArg, _);
68
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
69
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
70
- }
71
- }
72
-
73
- typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
74
- var e = new Error(message);
75
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
76
- };
77
-
78
- function setAcceptLanguageHeader(value) {
79
- axios.defaults.headers.common['Accept-Language'] = value;
80
- }
81
- function setTokenHeader(token) {
82
- axios.defaults.headers.common['Authorization'] = 'Bearer ' + token;
83
- }
84
-
85
- var isRefreshing = false;
86
- var failedQueue = [];
87
- var processQueue = function (error, token) {
88
- if (token === void 0) { token = null; }
89
- failedQueue.forEach(function (prom) {
90
- if (error) {
91
- prom.reject(error);
92
- }
93
- else {
94
- prom.resolve(token);
95
- }
96
- });
97
- failedQueue = [];
98
- };
99
- axios.interceptors.response.use(function (response) { return response; }, function (error) { return __awaiter(void 0, void 0, void 0, function () {
100
- var originalRequest, token, err_1, token, err_2;
101
- var _a;
102
- return __generator(this, function (_b) {
103
- switch (_b.label) {
104
- case 0:
105
- originalRequest = error.config;
106
- if (!(error.response.status === 401 && !originalRequest._retry)) return [3 /*break*/, 13];
107
- originalRequest._retry = true;
108
- if (!isRefreshing) return [3 /*break*/, 5];
109
- _b.label = 1;
110
- case 1:
111
- _b.trys.push([1, 4, , 5]);
112
- return [4 /*yield*/, new Promise(function (resolve, reject) {
113
- failedQueue.push({ resolve: resolve, reject: reject });
114
- })];
115
- case 2:
116
- token = _b.sent();
117
- originalRequest.headers['Authorization'] = 'Bearer ' + token;
118
- return [4 /*yield*/, axios(originalRequest)];
119
- case 3: return [2 /*return*/, _b.sent()];
120
- case 4:
121
- err_1 = _b.sent();
122
- return [2 /*return*/, Promise.reject(err_1)];
123
- case 5:
124
- isRefreshing = true;
125
- _b.label = 6;
126
- case 6:
127
- _b.trys.push([6, 11, 12, 13]);
128
- return [4 /*yield*/, refreshToken(
129
- // Handle edge case where we get a blank screen if the initial 401 error is from a refresh token request
130
- ((_a = originalRequest.url) === null || _a === void 0 ? void 0 : _a.includes('api/auth/refresh')) ? true : false)];
131
- case 7:
132
- token = (_b.sent()).token;
133
- if (!token) return [3 /*break*/, 9];
134
- originalRequest.headers['Authorization'] = 'Bearer ' + token;
135
- setTokenHeader(token);
136
- window.dispatchEvent(new CustomEvent('tokenUpdated', { detail: token }));
137
- processQueue(null, token);
138
- return [4 /*yield*/, axios(originalRequest)];
139
- case 8: return [2 /*return*/, _b.sent()];
140
- case 9:
141
- window.location.href = '/login';
142
- _b.label = 10;
143
- case 10: return [3 /*break*/, 13];
144
- case 11:
145
- err_2 = _b.sent();
146
- processQueue(err_2, null);
147
- return [2 /*return*/, Promise.reject(err_2)];
148
- case 12:
149
- isRefreshing = false;
150
- return [7 /*endfinally*/];
151
- case 13: return [2 /*return*/, Promise.reject(error)];
152
- }
153
- });
154
- }); });
155
- function _get(url, options) {
156
- return __awaiter(this, void 0, void 0, function () {
157
- var response;
158
- return __generator(this, function (_a) {
159
- switch (_a.label) {
160
- case 0: return [4 /*yield*/, axios.get(url, __assign({}, options))];
161
- case 1:
162
- response = _a.sent();
163
- return [2 /*return*/, response.data];
164
- }
165
- });
166
- });
167
- }
168
- function _post(url, data) {
169
- return __awaiter(this, void 0, void 0, function () {
170
- var response;
171
- return __generator(this, function (_a) {
172
- switch (_a.label) {
173
- case 0: return [4 /*yield*/, axios.post(url, JSON.stringify(data), {
174
- headers: { 'Content-Type': 'application/json' },
175
- })];
176
- case 1:
177
- response = _a.sent();
178
- return [2 /*return*/, response.data];
179
- }
180
- });
181
- });
182
- }
183
- function _postMultiPart(url, formData, options) {
184
- return __awaiter(this, void 0, void 0, function () {
185
- var response;
186
- return __generator(this, function (_a) {
187
- switch (_a.label) {
188
- case 0: return [4 /*yield*/, axios.post(url, formData, __assign(__assign({}, options), { headers: { 'Content-Type': 'multipart/form-data' } }))];
189
- case 1:
190
- response = _a.sent();
191
- return [2 /*return*/, response.data];
192
- }
193
- });
194
- });
195
- }
196
- function _put(url, data) {
197
- return __awaiter(this, void 0, void 0, function () {
198
- var response;
199
- return __generator(this, function (_a) {
200
- switch (_a.label) {
201
- case 0: return [4 /*yield*/, axios.put(url, JSON.stringify(data), {
202
- headers: { 'Content-Type': 'application/json' },
203
- })];
204
- case 1:
205
- response = _a.sent();
206
- return [2 /*return*/, response.data];
207
- }
208
- });
209
- });
210
- }
211
- function _delete(url) {
212
- return __awaiter(this, void 0, void 0, function () {
213
- var response;
214
- return __generator(this, function (_a) {
215
- switch (_a.label) {
216
- case 0: return [4 /*yield*/, axios.delete(url)];
217
- case 1:
218
- response = _a.sent();
219
- return [2 /*return*/, response.data];
220
- }
221
- });
222
- });
223
- }
224
- function _deleteWithOptions(url, options) {
225
- return __awaiter(this, void 0, void 0, function () {
226
- var response;
227
- return __generator(this, function (_a) {
228
- switch (_a.label) {
229
- case 0: return [4 /*yield*/, axios.delete(url, __assign({}, options))];
230
- case 1:
231
- response = _a.sent();
232
- return [2 /*return*/, response.data];
233
- }
234
- });
235
- });
236
- }
237
- function _patch(url, data) {
238
- return __awaiter(this, void 0, void 0, function () {
239
- var response;
240
- return __generator(this, function (_a) {
241
- switch (_a.label) {
242
- case 0: return [4 /*yield*/, axios.patch(url, JSON.stringify(data), {
243
- headers: { 'Content-Type': 'application/json' },
244
- })];
245
- case 1:
246
- response = _a.sent();
247
- return [2 /*return*/, response.data];
248
- }
249
- });
250
- });
251
- }
252
- var request = {
253
- get: _get,
254
- post: _post,
255
- postMultiPart: _postMultiPart,
256
- put: _put,
257
- delete: _delete,
258
- deleteWithOptions: _deleteWithOptions,
259
- patch: _patch,
260
- };
261
-
262
- var user = function () { return '/api/user'; };
263
- var balance = function () { return '/api/balance'; };
264
- var userPlugins = function () { return '/api/user/plugins'; };
265
- var messages = function (conversationId, messageId) {
266
- return "/api/messages/".concat(conversationId).concat(messageId ? "/".concat(messageId) : '');
267
- };
268
- var keysEndpoint = '/api/keys';
269
- var keys = function () { return keysEndpoint; };
270
- var userKeyQuery$1 = function (name) { return "".concat(keysEndpoint, "?name=").concat(name); };
271
- var revokeUserKey$1 = function (name) { return "".concat(keysEndpoint, "/").concat(name); };
272
- var revokeAllUserKeys$1 = function () { return "".concat(keysEndpoint, "?all=true"); };
273
- var abortRequest = function (endpoint) { return "/api/ask/".concat(endpoint, "/abort"); };
274
- var conversations = function (pageNumber) { return "/api/convos?pageNumber=".concat(pageNumber); };
275
- var conversationById = function (id) { return "/api/convos/".concat(id); };
276
- var updateConversation$1 = function () { return '/api/convos/update'; };
277
- var deleteConversation$1 = function () { return '/api/convos/clear'; };
278
- var search = function (q, pageNumber) {
279
- return "/api/search?q=".concat(q, "&pageNumber=").concat(pageNumber);
280
- };
281
- var searchEnabled = function () { return '/api/search/enable'; };
282
- var presets = function () { return '/api/presets'; };
283
- var deletePreset$1 = function () { return '/api/presets/delete'; };
284
- var aiEndpoints = function () { return '/api/endpoints'; };
285
- var models = function () { return '/api/models'; };
286
- var tokenizer = function () { return '/api/tokenizer'; };
287
- var login$1 = function () { return '/api/auth/login'; };
288
- var logout$1 = function () { return '/api/auth/logout'; };
289
- var register$1 = function () { return '/api/auth/register'; };
290
- var loginGoogle = function () { return '/api/auth/google'; };
291
- var refreshToken$1 = function (retry) { return "/api/auth/refresh".concat(retry ? '?retry=true' : ''); };
292
- var requestPasswordReset$1 = function () { return '/api/auth/requestPasswordReset'; };
293
- var resetPassword$1 = function () { return '/api/auth/resetPassword'; };
294
- var plugins = function () { return '/api/plugins'; };
295
- var config = function () { return '/api/config'; };
296
-
297
- function getConversations(pageNumber) {
298
- return request.get(conversations(pageNumber));
299
- }
300
- function abortRequestWithMessage(endpoint, abortKey, message) {
301
- return request.post(abortRequest(endpoint), { arg: { abortKey: abortKey, message: message } });
302
- }
303
- function deleteConversation(payload) {
304
- //todo: this should be a DELETE request
305
- return request.post(deleteConversation$1(), { arg: payload });
306
- }
307
- function clearAllConversations() {
308
- return request.post(deleteConversation$1(), { arg: {} });
309
- }
310
- function revokeUserKey(name) {
311
- return request.delete(revokeUserKey$1(name));
312
- }
313
- function revokeAllUserKeys() {
314
- return request.delete(revokeAllUserKeys$1());
315
- }
316
- function getMessagesByConvoId(conversationId) {
317
- return request.get(messages(conversationId));
318
- }
319
- function getConversationById(id) {
320
- return request.get(conversationById(id));
321
- }
322
- function updateConversation(payload) {
323
- return request.post(updateConversation$1(), { arg: payload });
324
- }
325
- function updateMessage(payload) {
326
- var conversationId = payload.conversationId, messageId = payload.messageId, text = payload.text;
327
- if (!conversationId) {
328
- throw new Error('conversationId is required');
329
- }
330
- return request.put(messages(conversationId, messageId), { text: text });
331
- }
332
- function updateUserKey(payload) {
333
- var value = payload.value;
334
- if (!value) {
335
- throw new Error('value is required');
336
- }
337
- return request.put(keys(), payload);
338
- }
339
- function getPresets() {
340
- return request.get(presets());
341
- }
342
- function createPreset(payload) {
343
- return request.post(presets(), payload);
344
- }
345
- function updatePreset(payload) {
346
- return request.post(presets(), payload);
347
- }
348
- function deletePreset(arg) {
349
- return request.post(deletePreset$1(), arg);
350
- }
351
- function getSearchEnabled() {
352
- return request.get(searchEnabled());
353
- }
354
- function getUser() {
355
- return request.get(user());
356
- }
357
- function getUserBalance() {
358
- return request.get(balance());
359
- }
360
- var searchConversations = function (q, pageNumber) { return __awaiter(void 0, void 0, void 0, function () {
361
- return __generator(this, function (_a) {
362
- return [2 /*return*/, request.get(search(q, pageNumber))];
363
- });
364
- }); };
365
- var getAIEndpoints = function () {
366
- return request.get(aiEndpoints());
367
- };
368
- var getModels = function () { return __awaiter(void 0, void 0, void 0, function () {
369
- return __generator(this, function (_a) {
370
- return [2 /*return*/, request.get(models())];
371
- });
372
- }); };
373
- var updateTokenCount = function (text) {
374
- return request.post(tokenizer(), { arg: text });
375
- };
376
- var login = function (payload) {
377
- return request.post(login$1(), payload);
378
- };
379
- var logout = function () {
380
- return request.post(logout$1());
381
- };
382
- var register = function (payload) {
383
- return request.post(register$1(), payload);
384
- };
385
- var refreshToken = function (retry) { return request.post(refreshToken$1(retry)); };
386
- var userKeyQuery = function (name) {
387
- return request.get(userKeyQuery$1(name));
388
- };
389
- var getLoginGoogle = function () {
390
- return request.get(loginGoogle());
391
- };
392
- var requestPasswordReset = function (payload) {
393
- return request.post(requestPasswordReset$1(), payload);
394
- };
395
- var resetPassword = function (payload) {
396
- return request.post(resetPassword$1(), payload);
397
- };
398
- var getAvailablePlugins = function () {
399
- return request.get(plugins());
400
- };
401
- var updateUserPlugins = function (payload) {
402
- return request.post(userPlugins(), payload);
403
- };
404
- var getStartupConfig = function () {
405
- return request.get(config());
406
- };
407
-
408
- exports.EModelEndpoint = void 0;
409
- (function (EModelEndpoint) {
410
- EModelEndpoint["azureOpenAI"] = "azureOpenAI";
411
- EModelEndpoint["openAI"] = "openAI";
412
- EModelEndpoint["bingAI"] = "bingAI";
413
- EModelEndpoint["chatGPTBrowser"] = "chatGPTBrowser";
414
- EModelEndpoint["google"] = "google";
415
- EModelEndpoint["gptPlugins"] = "gptPlugins";
416
- EModelEndpoint["anthropic"] = "anthropic";
417
- })(exports.EModelEndpoint || (exports.EModelEndpoint = {}));
418
- var eModelEndpointSchema = zod.z.nativeEnum(exports.EModelEndpoint);
419
- var tPluginAuthConfigSchema = zod.z.object({
420
- authField: zod.z.string(),
421
- label: zod.z.string(),
422
- description: zod.z.string(),
423
- });
424
- var tPluginSchema = zod.z.object({
425
- name: zod.z.string(),
426
- pluginKey: zod.z.string(),
427
- description: zod.z.string(),
428
- icon: zod.z.string(),
429
- authConfig: zod.z.array(tPluginAuthConfigSchema),
430
- authenticated: zod.z.boolean().optional(),
431
- isButton: zod.z.boolean().optional(),
432
- });
433
- var tExampleSchema = zod.z.object({
434
- input: zod.z.object({
435
- content: zod.z.string(),
436
- }),
437
- output: zod.z.object({
438
- content: zod.z.string(),
439
- }),
440
- });
441
- var tAgentOptionsSchema = zod.z.object({
442
- agent: zod.z.string(),
443
- skipCompletion: zod.z.boolean(),
444
- model: zod.z.string(),
445
- temperature: zod.z.number(),
446
- });
447
- var tMessageSchema = zod.z.object({
448
- messageId: zod.z.string(),
449
- clientId: zod.z.string().nullable().optional(),
450
- conversationId: zod.z.string().nullable(),
451
- parentMessageId: zod.z.string().nullable(),
452
- responseMessageId: zod.z.string().nullable().optional(),
453
- overrideParentMessageId: zod.z.string().nullable().optional(),
454
- bg: zod.z.string().nullable().optional(),
455
- model: zod.z.string().nullable().optional(),
456
- title: zod.z.string().nullable().or(zod.z.literal('New Chat')).default('New Chat'),
457
- sender: zod.z.string(),
458
- text: zod.z.string(),
459
- generation: zod.z.string().nullable().optional(),
460
- isEdited: zod.z.boolean().optional(),
461
- isCreatedByUser: zod.z.boolean(),
462
- error: zod.z.boolean(),
463
- createdAt: zod.z
464
- .string()
465
- .optional()
466
- .default(function () { return new Date().toISOString(); }),
467
- updatedAt: zod.z
468
- .string()
469
- .optional()
470
- .default(function () { return new Date().toISOString(); }),
471
- current: zod.z.boolean().optional(),
472
- unfinished: zod.z.boolean().optional(),
473
- submitting: zod.z.boolean().optional(),
474
- searchResult: zod.z.boolean().optional(),
475
- finish_reason: zod.z.string().optional(),
476
- });
477
- var tConversationSchema = zod.z.object({
478
- conversationId: zod.z.string().nullable(),
479
- title: zod.z.string().nullable().or(zod.z.literal('New Chat')).default('New Chat'),
480
- user: zod.z.string().optional(),
481
- endpoint: eModelEndpointSchema.nullable(),
482
- suggestions: zod.z.array(zod.z.string()).optional(),
483
- messages: zod.z.array(zod.z.string()).optional(),
484
- tools: zod.z.array(tPluginSchema).optional(),
485
- createdAt: zod.z.string(),
486
- updatedAt: zod.z.string(),
487
- systemMessage: zod.z.string().nullable().optional(),
488
- modelLabel: zod.z.string().nullable().optional(),
489
- examples: zod.z.array(tExampleSchema).optional(),
490
- chatGptLabel: zod.z.string().nullable().optional(),
491
- userLabel: zod.z.string().optional(),
492
- model: zod.z.string().nullable().optional(),
493
- promptPrefix: zod.z.string().nullable().optional(),
494
- temperature: zod.z.number().optional(),
495
- topP: zod.z.number().optional(),
496
- topK: zod.z.number().optional(),
497
- context: zod.z.string().nullable().optional(),
498
- top_p: zod.z.number().optional(),
499
- frequency_penalty: zod.z.number().optional(),
500
- presence_penalty: zod.z.number().optional(),
501
- jailbreak: zod.z.boolean().optional(),
502
- jailbreakConversationId: zod.z.string().nullable().optional(),
503
- conversationSignature: zod.z.string().nullable().optional(),
504
- parentMessageId: zod.z.string().optional(),
505
- clientId: zod.z.string().nullable().optional(),
506
- invocationId: zod.z.number().nullable().optional(),
507
- toneStyle: zod.z.string().nullable().optional(),
508
- maxOutputTokens: zod.z.number().optional(),
509
- agentOptions: tAgentOptionsSchema.nullable().optional(),
510
- });
511
- var tPresetSchema = tConversationSchema
512
- .omit({
513
- conversationId: true,
514
- createdAt: true,
515
- updatedAt: true,
516
- title: true,
517
- })
518
- .merge(zod.z.object({
519
- conversationId: zod.z.string().optional(),
520
- presetId: zod.z.string().nullable().optional(),
521
- title: zod.z.string().nullable().optional(),
522
- }));
523
- var openAISchema = tConversationSchema
524
- .pick({
525
- model: true,
526
- chatGptLabel: true,
527
- promptPrefix: true,
528
- temperature: true,
529
- top_p: true,
530
- presence_penalty: true,
531
- frequency_penalty: true,
532
- })
533
- .transform(function (obj) {
534
- var _a, _b, _c, _d, _e, _f, _g;
535
- return (__assign(__assign({}, obj), { model: (_a = obj.model) !== null && _a !== void 0 ? _a : 'gpt-3.5-turbo', chatGptLabel: (_b = obj.chatGptLabel) !== null && _b !== void 0 ? _b : null, promptPrefix: (_c = obj.promptPrefix) !== null && _c !== void 0 ? _c : null, temperature: (_d = obj.temperature) !== null && _d !== void 0 ? _d : 1, top_p: (_e = obj.top_p) !== null && _e !== void 0 ? _e : 1, presence_penalty: (_f = obj.presence_penalty) !== null && _f !== void 0 ? _f : 0, frequency_penalty: (_g = obj.frequency_penalty) !== null && _g !== void 0 ? _g : 0 }));
536
- })
537
- .catch(function () { return ({
538
- model: 'gpt-3.5-turbo',
539
- chatGptLabel: null,
540
- promptPrefix: null,
541
- temperature: 1,
542
- top_p: 1,
543
- presence_penalty: 0,
544
- frequency_penalty: 0,
545
- }); });
546
- var googleSchema = tConversationSchema
547
- .pick({
548
- model: true,
549
- modelLabel: true,
550
- promptPrefix: true,
551
- examples: true,
552
- temperature: true,
553
- maxOutputTokens: true,
554
- topP: true,
555
- topK: true,
556
- })
557
- .transform(function (obj) {
558
- var _a, _b, _c, _d, _e, _f, _g;
559
- return (__assign(__assign({}, obj), { model: (_a = obj.model) !== null && _a !== void 0 ? _a : 'chat-bison', modelLabel: (_b = obj.modelLabel) !== null && _b !== void 0 ? _b : null, promptPrefix: (_c = obj.promptPrefix) !== null && _c !== void 0 ? _c : null, temperature: (_d = obj.temperature) !== null && _d !== void 0 ? _d : 0.2, maxOutputTokens: (_e = obj.maxOutputTokens) !== null && _e !== void 0 ? _e : 1024, topP: (_f = obj.topP) !== null && _f !== void 0 ? _f : 0.95, topK: (_g = obj.topK) !== null && _g !== void 0 ? _g : 40 }));
560
- })
561
- .catch(function () { return ({
562
- model: 'chat-bison',
563
- modelLabel: null,
564
- promptPrefix: null,
565
- temperature: 0.2,
566
- maxOutputTokens: 1024,
567
- topP: 0.95,
568
- topK: 40,
569
- }); });
570
- var bingAISchema = tConversationSchema
571
- .pick({
572
- jailbreak: true,
573
- systemMessage: true,
574
- context: true,
575
- toneStyle: true,
576
- jailbreakConversationId: true,
577
- conversationSignature: true,
578
- clientId: true,
579
- invocationId: true,
580
- })
581
- .transform(function (obj) {
582
- var _a, _b, _c, _d, _e, _f, _g, _h;
583
- return (__assign(__assign({}, obj), { model: '', jailbreak: (_a = obj.jailbreak) !== null && _a !== void 0 ? _a : false, systemMessage: (_b = obj.systemMessage) !== null && _b !== void 0 ? _b : null, context: (_c = obj.context) !== null && _c !== void 0 ? _c : null, toneStyle: (_d = obj.toneStyle) !== null && _d !== void 0 ? _d : 'creative', jailbreakConversationId: (_e = obj.jailbreakConversationId) !== null && _e !== void 0 ? _e : null, conversationSignature: (_f = obj.conversationSignature) !== null && _f !== void 0 ? _f : null, clientId: (_g = obj.clientId) !== null && _g !== void 0 ? _g : null, invocationId: (_h = obj.invocationId) !== null && _h !== void 0 ? _h : 1 }));
584
- })
585
- .catch(function () { return ({
586
- model: '',
587
- jailbreak: false,
588
- systemMessage: null,
589
- context: null,
590
- toneStyle: 'creative',
591
- jailbreakConversationId: null,
592
- conversationSignature: null,
593
- clientId: null,
594
- invocationId: 1,
595
- }); });
596
- var anthropicSchema = tConversationSchema
597
- .pick({
598
- model: true,
599
- modelLabel: true,
600
- promptPrefix: true,
601
- temperature: true,
602
- maxOutputTokens: true,
603
- topP: true,
604
- topK: true,
605
- })
606
- .transform(function (obj) {
607
- var _a, _b, _c, _d, _e, _f, _g;
608
- return (__assign(__assign({}, obj), { model: (_a = obj.model) !== null && _a !== void 0 ? _a : 'claude-1', modelLabel: (_b = obj.modelLabel) !== null && _b !== void 0 ? _b : null, promptPrefix: (_c = obj.promptPrefix) !== null && _c !== void 0 ? _c : null, temperature: (_d = obj.temperature) !== null && _d !== void 0 ? _d : 1, maxOutputTokens: (_e = obj.maxOutputTokens) !== null && _e !== void 0 ? _e : 4000, topP: (_f = obj.topP) !== null && _f !== void 0 ? _f : 0.7, topK: (_g = obj.topK) !== null && _g !== void 0 ? _g : 5 }));
609
- })
610
- .catch(function () { return ({
611
- model: 'claude-1',
612
- modelLabel: null,
613
- promptPrefix: null,
614
- temperature: 1,
615
- maxOutputTokens: 4000,
616
- topP: 0.7,
617
- topK: 5,
618
- }); });
619
- var chatGPTBrowserSchema = tConversationSchema
620
- .pick({
621
- model: true,
622
- })
623
- .transform(function (obj) {
624
- var _a;
625
- return (__assign(__assign({}, obj), { model: (_a = obj.model) !== null && _a !== void 0 ? _a : 'text-davinci-002-render-sha' }));
626
- })
627
- .catch(function () { return ({
628
- model: 'text-davinci-002-render-sha',
629
- }); });
630
- var gptPluginsSchema = tConversationSchema
631
- .pick({
632
- model: true,
633
- chatGptLabel: true,
634
- promptPrefix: true,
635
- temperature: true,
636
- top_p: true,
637
- presence_penalty: true,
638
- frequency_penalty: true,
639
- tools: true,
640
- agentOptions: true,
641
- })
642
- .transform(function (obj) {
643
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
644
- return (__assign(__assign({}, obj), { model: (_a = obj.model) !== null && _a !== void 0 ? _a : 'gpt-3.5-turbo', chatGptLabel: (_b = obj.chatGptLabel) !== null && _b !== void 0 ? _b : null, promptPrefix: (_c = obj.promptPrefix) !== null && _c !== void 0 ? _c : null, temperature: (_d = obj.temperature) !== null && _d !== void 0 ? _d : 0.8, top_p: (_e = obj.top_p) !== null && _e !== void 0 ? _e : 1, presence_penalty: (_f = obj.presence_penalty) !== null && _f !== void 0 ? _f : 0, frequency_penalty: (_g = obj.frequency_penalty) !== null && _g !== void 0 ? _g : 0, tools: (_h = obj.tools) !== null && _h !== void 0 ? _h : [], agentOptions: (_j = obj.agentOptions) !== null && _j !== void 0 ? _j : {
645
- agent: 'functions',
646
- skipCompletion: true,
647
- model: 'gpt-3.5-turbo',
648
- temperature: 0,
649
- } }));
650
- })
651
- .catch(function () { return ({
652
- model: 'gpt-3.5-turbo',
653
- chatGptLabel: null,
654
- promptPrefix: null,
655
- temperature: 0.8,
656
- top_p: 1,
657
- presence_penalty: 0,
658
- frequency_penalty: 0,
659
- tools: [],
660
- agentOptions: {
661
- agent: 'functions',
662
- skipCompletion: true,
663
- model: 'gpt-3.5-turbo',
664
- temperature: 0,
665
- },
666
- }); });
667
- var endpointSchemas = {
668
- openAI: openAISchema,
669
- azureOpenAI: openAISchema,
670
- google: googleSchema,
671
- bingAI: bingAISchema,
672
- anthropic: anthropicSchema,
673
- chatGPTBrowser: chatGPTBrowserSchema,
674
- gptPlugins: gptPluginsSchema,
675
- };
676
- function getFirstDefinedValue(possibleValues) {
677
- var returnValue;
678
- for (var _i = 0, possibleValues_1 = possibleValues; _i < possibleValues_1.length; _i++) {
679
- var value = possibleValues_1[_i];
680
- if (value) {
681
- returnValue = value;
682
- break;
683
- }
684
- }
685
- return returnValue;
686
- }
687
- var parseConvo = function (endpoint, conversation, possibleValues) {
688
- var _a, _b;
689
- var schema = endpointSchemas[endpoint];
690
- if (!schema) {
691
- throw new Error("Unknown endpoint: ".concat(endpoint));
692
- }
693
- var convo = schema.parse(conversation);
694
- var _c = possibleValues !== null && possibleValues !== void 0 ? possibleValues : {}, models = _c.models, secondaryModels = _c.secondaryModels;
695
- if (models && convo) {
696
- convo.model = (_a = getFirstDefinedValue(models)) !== null && _a !== void 0 ? _a : convo.model;
697
- }
698
- if (secondaryModels && convo.agentOptions) {
699
- convo.agentOptions.model = (_b = getFirstDefinedValue(secondaryModels)) !== null && _b !== void 0 ? _b : convo.agentOptions.model;
700
- }
701
- return convo;
702
- };
703
- var getResponseSender = function (endpointOption) {
704
- var endpoint = endpointOption.endpoint, chatGptLabel = endpointOption.chatGptLabel, modelLabel = endpointOption.modelLabel, jailbreak = endpointOption.jailbreak;
705
- if (['openAI', 'azureOpenAI', 'gptPlugins', 'chatGPTBrowser'].includes(endpoint)) {
706
- return chatGptLabel !== null && chatGptLabel !== void 0 ? chatGptLabel : 'ChatGPT';
707
- }
708
- if (endpoint === 'bingAI') {
709
- return jailbreak ? 'Sydney' : 'BingAI';
710
- }
711
- if (endpoint === 'anthropic') {
712
- return modelLabel !== null && modelLabel !== void 0 ? modelLabel : 'Anthropic';
713
- }
714
- if (endpoint === 'google') {
715
- return modelLabel !== null && modelLabel !== void 0 ? modelLabel : 'PaLM2';
716
- }
717
- return '';
718
- };
719
-
720
- exports.QueryKeys = void 0;
721
- (function (QueryKeys) {
722
- QueryKeys["messages"] = "messages";
723
- QueryKeys["allConversations"] = "allConversations";
724
- QueryKeys["conversation"] = "conversation";
725
- QueryKeys["searchEnabled"] = "searchEnabled";
726
- QueryKeys["user"] = "user";
727
- QueryKeys["name"] = "name";
728
- QueryKeys["models"] = "models";
729
- QueryKeys["balance"] = "balance";
730
- QueryKeys["endpoints"] = "endpoints";
731
- QueryKeys["presets"] = "presets";
732
- QueryKeys["searchResults"] = "searchResults";
733
- QueryKeys["tokenCount"] = "tokenCount";
734
- QueryKeys["availablePlugins"] = "availablePlugins";
735
- QueryKeys["startupConfig"] = "startupConfig";
736
- })(exports.QueryKeys || (exports.QueryKeys = {}));
737
- var useAbortRequestWithMessage = function () {
738
- var queryClient = reactQuery.useQueryClient();
739
- return reactQuery.useMutation(function (_a) {
740
- var endpoint = _a.endpoint, abortKey = _a.abortKey, message = _a.message;
741
- return abortRequestWithMessage(endpoint, abortKey, message);
742
- }, {
743
- onSuccess: function () {
744
- queryClient.invalidateQueries([exports.QueryKeys.balance]);
745
- },
746
- });
747
- };
748
- var useGetUserQuery = function (config) {
749
- return reactQuery.useQuery([exports.QueryKeys.user], function () { return getUser(); }, __assign({ refetchOnWindowFocus: false, refetchOnReconnect: false, refetchOnMount: false, retry: false }, config));
750
- };
751
- var useGetMessagesByConvoId = function (id, config) {
752
- return reactQuery.useQuery([exports.QueryKeys.messages, id], function () { return getMessagesByConvoId(id); }, __assign({ refetchOnWindowFocus: false, refetchOnReconnect: false, refetchOnMount: false }, config));
753
- };
754
- var useGetUserBalance = function (config) {
755
- return reactQuery.useQuery([exports.QueryKeys.balance], function () { return getUserBalance(); }, __assign({ refetchOnWindowFocus: true, refetchOnReconnect: true, refetchOnMount: true }, config));
756
- };
757
- var useGetConversationByIdQuery = function (id, config) {
758
- return reactQuery.useQuery([exports.QueryKeys.conversation, id], function () { return getConversationById(id); }, __assign({ refetchOnWindowFocus: false, refetchOnReconnect: false, refetchOnMount: false }, config));
759
- };
760
- //This isn't ideal because its just a query and we're using mutation, but it was the only way
761
- //to make it work with how the Chat component is structured
762
- var useGetConversationByIdMutation = function (id) {
763
- var queryClient = reactQuery.useQueryClient();
764
- return reactQuery.useMutation(function () { return getConversationById(id); }, {
765
- // onSuccess: (res: s.TConversation) => {
766
- onSuccess: function () {
767
- queryClient.invalidateQueries([exports.QueryKeys.conversation, id]);
768
- },
769
- });
770
- };
771
- var useUpdateConversationMutation = function (id) {
772
- var queryClient = reactQuery.useQueryClient();
773
- return reactQuery.useMutation(function (payload) { return updateConversation(payload); }, {
774
- onSuccess: function () {
775
- queryClient.invalidateQueries([exports.QueryKeys.conversation, id]);
776
- queryClient.invalidateQueries([exports.QueryKeys.allConversations]);
777
- },
778
- });
779
- };
780
- var useUpdateMessageMutation = function (id) {
781
- var queryClient = reactQuery.useQueryClient();
782
- return reactQuery.useMutation(function (payload) { return updateMessage(payload); }, {
783
- onSuccess: function () {
784
- queryClient.invalidateQueries([exports.QueryKeys.messages, id]);
785
- },
786
- });
787
- };
788
- var useUpdateUserKeysMutation = function () {
789
- var queryClient = reactQuery.useQueryClient();
790
- return reactQuery.useMutation(function (payload) { return updateUserKey(payload); }, {
791
- onSuccess: function () {
792
- queryClient.invalidateQueries([exports.QueryKeys.name]);
793
- },
794
- });
795
- };
796
- var useDeleteConversationMutation = function (id) {
797
- var queryClient = reactQuery.useQueryClient();
798
- return reactQuery.useMutation(function (payload) { return deleteConversation(payload); }, {
799
- onSuccess: function () {
800
- queryClient.invalidateQueries([exports.QueryKeys.conversation, id]);
801
- queryClient.invalidateQueries([exports.QueryKeys.allConversations]);
802
- },
803
- });
804
- };
805
- var useClearConversationsMutation = function () {
806
- var queryClient = reactQuery.useQueryClient();
807
- return reactQuery.useMutation(function () { return clearAllConversations(); }, {
808
- onSuccess: function () {
809
- queryClient.invalidateQueries([exports.QueryKeys.allConversations]);
810
- },
811
- });
812
- };
813
- var useRevokeUserKeyMutation = function (name) {
814
- var queryClient = reactQuery.useQueryClient();
815
- return reactQuery.useMutation(function () { return revokeUserKey(name); }, {
816
- onSuccess: function () {
817
- queryClient.invalidateQueries([exports.QueryKeys.name]);
818
- },
819
- });
820
- };
821
- var useRevokeAllUserKeysMutation = function () {
822
- var queryClient = reactQuery.useQueryClient();
823
- return reactQuery.useMutation(function () { return revokeAllUserKeys(); }, {
824
- onSuccess: function () {
825
- queryClient.invalidateQueries([exports.QueryKeys.name]);
826
- },
827
- });
828
- };
829
- var useGetConversationsQuery = function (pageNumber, config) {
830
- return reactQuery.useQuery([exports.QueryKeys.allConversations, pageNumber], function () { return getConversations(pageNumber); }, __assign({ refetchOnReconnect: false, refetchOnMount: false, retry: 1 }, config));
831
- };
832
- var useGetSearchEnabledQuery = function (config) {
833
- return reactQuery.useQuery([exports.QueryKeys.searchEnabled], function () { return getSearchEnabled(); }, __assign({ refetchOnWindowFocus: false, refetchOnReconnect: false, refetchOnMount: false }, config));
834
- };
835
- var useGetEndpointsQuery = function (config) {
836
- return reactQuery.useQuery([exports.QueryKeys.endpoints], function () { return getAIEndpoints(); }, __assign({ refetchOnWindowFocus: false, refetchOnReconnect: false, refetchOnMount: false }, config));
837
- };
838
- var useGetModelsQuery = function (config) {
839
- return reactQuery.useQuery([exports.QueryKeys.models], function () { return getModels(); }, __assign({ refetchOnWindowFocus: false, refetchOnReconnect: false, refetchOnMount: false }, config));
840
- };
841
- var useCreatePresetMutation = function () {
842
- var queryClient = reactQuery.useQueryClient();
843
- return reactQuery.useMutation(function (payload) { return createPreset(payload); }, {
844
- onSuccess: function () {
845
- queryClient.invalidateQueries([exports.QueryKeys.presets]);
846
- },
847
- });
848
- };
849
- var useUpdatePresetMutation = function () {
850
- var queryClient = reactQuery.useQueryClient();
851
- return reactQuery.useMutation(function (payload) { return updatePreset(payload); }, {
852
- onSuccess: function () {
853
- queryClient.invalidateQueries([exports.QueryKeys.presets]);
854
- },
855
- });
856
- };
857
- var useGetPresetsQuery = function (config) {
858
- return reactQuery.useQuery([exports.QueryKeys.presets], function () { return getPresets(); }, __assign({ refetchOnWindowFocus: false, refetchOnReconnect: false, refetchOnMount: false }, config));
859
- };
860
- var useDeletePresetMutation = function () {
861
- var queryClient = reactQuery.useQueryClient();
862
- return reactQuery.useMutation(function (payload) { return deletePreset(payload); }, {
863
- onSuccess: function () {
864
- queryClient.invalidateQueries([exports.QueryKeys.presets]);
865
- },
866
- });
867
- };
868
- var useSearchQuery = function (searchQuery, pageNumber, config) {
869
- return reactQuery.useQuery([exports.QueryKeys.searchResults, pageNumber, searchQuery], function () { return searchConversations(searchQuery, pageNumber); }, __assign({ refetchOnWindowFocus: false, refetchOnReconnect: false, refetchOnMount: false }, config));
870
- };
871
- var useUpdateTokenCountMutation = function () {
872
- var queryClient = reactQuery.useQueryClient();
873
- return reactQuery.useMutation(function (_a) {
874
- var text = _a.text;
875
- return updateTokenCount(text);
876
- }, {
877
- onSuccess: function () {
878
- queryClient.invalidateQueries([exports.QueryKeys.tokenCount]);
879
- },
880
- });
881
- };
882
- var useLoginUserMutation = function () {
883
- var queryClient = reactQuery.useQueryClient();
884
- return reactQuery.useMutation(function (payload) { return login(payload); }, {
885
- onSuccess: function () {
886
- queryClient.invalidateQueries([exports.QueryKeys.user]);
887
- },
888
- onMutate: function () {
889
- queryClient.invalidateQueries([exports.QueryKeys.models]);
890
- },
891
- });
892
- };
893
- var useRegisterUserMutation = function () {
894
- var queryClient = reactQuery.useQueryClient();
895
- return reactQuery.useMutation(function (payload) { return register(payload); }, {
896
- onSuccess: function () {
897
- queryClient.invalidateQueries([exports.QueryKeys.user]);
898
- },
899
- });
900
- };
901
- var useLogoutUserMutation = function () {
902
- var queryClient = reactQuery.useQueryClient();
903
- return reactQuery.useMutation(function () { return logout(); }, {
904
- onSuccess: function () {
905
- queryClient.invalidateQueries([exports.QueryKeys.user]);
906
- },
907
- });
908
- };
909
- var useRefreshTokenMutation = function () {
910
- var queryClient = reactQuery.useQueryClient();
911
- return reactQuery.useMutation(function () { return refreshToken(); }, {
912
- onMutate: function () {
913
- queryClient.invalidateQueries([exports.QueryKeys.models]);
914
- },
915
- });
916
- };
917
- var useUserKeyQuery = function (name, config) {
918
- return reactQuery.useQuery([exports.QueryKeys.name, name], function () {
919
- if (!name) {
920
- return Promise.resolve({ expiresAt: '' });
921
- }
922
- return userKeyQuery(name);
923
- }, __assign({ refetchOnWindowFocus: false, refetchOnReconnect: false, refetchOnMount: false, retry: false }, config));
924
- };
925
- var useRequestPasswordResetMutation = function () {
926
- return reactQuery.useMutation(function (payload) {
927
- return requestPasswordReset(payload);
928
- });
929
- };
930
- var useResetPasswordMutation = function () {
931
- return reactQuery.useMutation(function (payload) { return resetPassword(payload); });
932
- };
933
- var useAvailablePluginsQuery = function () {
934
- return reactQuery.useQuery([exports.QueryKeys.availablePlugins], function () { return getAvailablePlugins(); }, {
935
- refetchOnWindowFocus: false,
936
- refetchOnReconnect: false,
937
- refetchOnMount: false,
938
- });
939
- };
940
- var useUpdateUserPluginsMutation = function () {
941
- var queryClient = reactQuery.useQueryClient();
942
- return reactQuery.useMutation(function (payload) { return updateUserPlugins(payload); }, {
943
- onSuccess: function () {
944
- queryClient.invalidateQueries([exports.QueryKeys.user]);
945
- },
946
- });
947
- };
948
- var useGetStartupConfig = function () {
949
- return reactQuery.useQuery([exports.QueryKeys.startupConfig], function () { return getStartupConfig(); }, {
950
- refetchOnWindowFocus: false,
951
- refetchOnReconnect: false,
952
- refetchOnMount: false,
953
- });
954
- };
955
-
956
- /* eslint-disable */
957
- /**
958
- * Copyright (C) 2016 Maxime Petazzoni <maxime.petazzoni@bulix.org>.
959
- * All rights reserved.
960
- */
961
-
962
-
963
- var SSE = function (url, options) {
964
- if (!(this instanceof SSE)) {
965
- return new SSE(url, options);
966
- }
967
-
968
- this.INITIALIZING = -1;
969
- this.CONNECTING = 0;
970
- this.OPEN = 1;
971
- this.CLOSED = 2;
972
-
973
- this.url = url;
974
-
975
- options = options || {};
976
- this.headers = options.headers || {};
977
- this.payload = options.payload !== undefined ? options.payload : '';
978
- this.method = options.method || (this.payload && 'POST') || 'GET';
979
- this.withCredentials = !!options.withCredentials;
980
-
981
- this.FIELD_SEPARATOR = ':';
982
- this.listeners = {};
983
-
984
- this.xhr = null;
985
- this.readyState = this.INITIALIZING;
986
- this.progress = 0;
987
- this.chunk = '';
988
-
989
- this.addEventListener = function (type, listener) {
990
- if (this.listeners[type] === undefined) {
991
- this.listeners[type] = [];
992
- }
993
-
994
- if (this.listeners[type].indexOf(listener) === -1) {
995
- this.listeners[type].push(listener);
996
- }
997
- };
998
-
999
- this.removeEventListener = function (type, listener) {
1000
- if (this.listeners[type] === undefined) {
1001
- return;
1002
- }
1003
-
1004
- var filtered = [];
1005
- this.listeners[type].forEach(function (element) {
1006
- if (element !== listener) {
1007
- filtered.push(element);
1008
- }
1009
- });
1010
- if (filtered.length === 0) {
1011
- delete this.listeners[type];
1012
- } else {
1013
- this.listeners[type] = filtered;
1014
- }
1015
- };
1016
-
1017
- this.dispatchEvent = function (e) {
1018
- if (!e) {
1019
- return true;
1020
- }
1021
-
1022
- e.source = this;
1023
-
1024
- var onHandler = 'on' + e.type;
1025
- if (this.hasOwnProperty(onHandler)) {
1026
- this[onHandler].call(this, e);
1027
- if (e.defaultPrevented) {
1028
- return false;
1029
- }
1030
- }
1031
-
1032
- if (this.listeners[e.type]) {
1033
- return this.listeners[e.type].every(function (callback) {
1034
- callback(e);
1035
- return !e.defaultPrevented;
1036
- });
1037
- }
1038
-
1039
- return true;
1040
- };
1041
-
1042
- this._setReadyState = function (state) {
1043
- var event = new CustomEvent('readystatechange');
1044
- event.readyState = state;
1045
- this.readyState = state;
1046
- this.dispatchEvent(event);
1047
- };
1048
-
1049
- this._onStreamFailure = function (e) {
1050
- var event = new CustomEvent('error');
1051
- event.data = e.currentTarget.response;
1052
- this.dispatchEvent(event);
1053
- this.close();
1054
- };
1055
-
1056
- this._onStreamAbort = function (e) {
1057
- this.dispatchEvent(new CustomEvent('abort'));
1058
- this.close();
1059
- };
1060
-
1061
- this._onStreamProgress = async function (e) {
1062
- if (!this.xhr) {
1063
- return;
1064
- }
1065
-
1066
- if (this.xhr.status === 401 && !this._retry) {
1067
- this._retry = true;
1068
- try {
1069
- const refreshResponse = await refreshToken();
1070
- this.headers = {
1071
- 'Content-Type': 'application/json',
1072
- Authorization: `Bearer ${refreshResponse.token}`,
1073
- };
1074
- setTokenHeader(refreshResponse.token);
1075
- window.dispatchEvent(new CustomEvent('tokenUpdated', { detail: refreshResponse.token }));
1076
- this.stream();
1077
- } catch (err) {
1078
- this._onStreamFailure(e);
1079
- return;
1080
- }
1081
- } else if (this.xhr.status !== 200) {
1082
- this._onStreamFailure(e);
1083
- return;
1084
- }
1085
-
1086
- if (this.readyState == this.CONNECTING) {
1087
- this.dispatchEvent(new CustomEvent('open'));
1088
- this._setReadyState(this.OPEN);
1089
- }
1090
-
1091
- var data = this.xhr.responseText.substring(this.progress);
1092
- this.progress += data.length;
1093
- data.split(/(\r\n|\r|\n){2}/g).forEach(
1094
- function (part) {
1095
- if (part.trim().length === 0) {
1096
- this.dispatchEvent(this._parseEventChunk(this.chunk.trim()));
1097
- this.chunk = '';
1098
- } else {
1099
- this.chunk += part;
1100
- }
1101
- }.bind(this),
1102
- );
1103
- };
1104
-
1105
- this._onStreamLoaded = function (e) {
1106
- this._onStreamProgress(e);
1107
-
1108
- // Parse the last chunk.
1109
- this.dispatchEvent(this._parseEventChunk(this.chunk));
1110
- this.chunk = '';
1111
- };
1112
-
1113
- /**
1114
- * Parse a received SSE event chunk into a constructed event object.
1115
- */
1116
- this._parseEventChunk = function (chunk) {
1117
- if (!chunk || chunk.length === 0) {
1118
- return null;
1119
- }
1120
-
1121
- var e = { id: null, retry: null, data: '', event: 'message' };
1122
- chunk.split(/\n|\r\n|\r/).forEach(
1123
- function (line) {
1124
- line = line.trimRight();
1125
- var index = line.indexOf(this.FIELD_SEPARATOR);
1126
- if (index <= 0) {
1127
- // Line was either empty, or started with a separator and is a comment.
1128
- // Either way, ignore.
1129
- return;
1130
- }
1131
-
1132
- var field = line.substring(0, index);
1133
- if (!(field in e)) {
1134
- return;
1135
- }
1136
-
1137
- var value = line.substring(index + 1).trimLeft();
1138
- if (field === 'data') {
1139
- e[field] += value;
1140
- } else {
1141
- e[field] = value;
1142
- }
1143
- }.bind(this),
1144
- );
1145
-
1146
- var event = new CustomEvent(e.event);
1147
- event.data = e.data;
1148
- event.id = e.id;
1149
- return event;
1150
- };
1151
-
1152
- this._checkStreamClosed = function () {
1153
- if (!this.xhr) {
1154
- return;
1155
- }
1156
-
1157
- if (this.xhr.readyState === XMLHttpRequest.DONE) {
1158
- this._setReadyState(this.CLOSED);
1159
- }
1160
- };
1161
-
1162
- this.stream = function () {
1163
- this._setReadyState(this.CONNECTING);
1164
-
1165
- this.xhr = new XMLHttpRequest();
1166
- this.xhr.addEventListener('progress', this._onStreamProgress.bind(this));
1167
- this.xhr.addEventListener('load', this._onStreamLoaded.bind(this));
1168
- this.xhr.addEventListener('readystatechange', this._checkStreamClosed.bind(this));
1169
- this.xhr.addEventListener('error', this._onStreamFailure.bind(this));
1170
- this.xhr.addEventListener('abort', this._onStreamAbort.bind(this));
1171
- this.xhr.open(this.method, this.url);
1172
- for (var header in this.headers) {
1173
- this.xhr.setRequestHeader(header, this.headers[header]);
1174
- }
1175
- this.xhr.withCredentials = this.withCredentials;
1176
- this.xhr.send(this.payload);
1177
- };
1178
-
1179
- this.close = function () {
1180
- if (this.readyState === this.CLOSED) {
1181
- return;
1182
- }
1183
-
1184
- this.xhr.abort();
1185
- this.xhr = null;
1186
- this._setReadyState(this.CLOSED);
1187
- };
1188
- };
1189
- // Export our SSE module for npm.js
1190
- // if (typeof exports !== 'undefined') {
1191
- // // exports.SSE = SSE;
1192
- // module.exports = { SSE };
1193
- // }
1194
-
1195
- function createPayload(submission) {
1196
- var conversation = submission.conversation, message = submission.message, endpointOption = submission.endpointOption, isEdited = submission.isEdited, isContinued = submission.isContinued;
1197
- var conversationId = tConversationSchema.parse(conversation).conversationId;
1198
- var endpoint = endpointOption.endpoint;
1199
- var endpointUrlMap = {
1200
- azureOpenAI: '/api/ask/azureOpenAI',
1201
- openAI: '/api/ask/openAI',
1202
- google: '/api/ask/google',
1203
- bingAI: '/api/ask/bingAI',
1204
- chatGPT: '/api/ask/chatGPT',
1205
- chatGPTBrowser: '/api/ask/chatGPTBrowser',
1206
- gptPlugins: '/api/ask/gptPlugins',
1207
- anthropic: '/api/ask/anthropic',
1208
- };
1209
- var server = endpointUrlMap[endpoint];
1210
- if (isEdited) {
1211
- server = server.replace('/ask/', '/edit/');
1212
- }
1213
- var payload = __assign(__assign(__assign({}, message), endpointOption), { isContinued: isEdited && isContinued, conversationId: conversationId });
1214
- return { server: server, payload: payload };
1215
- }
1216
-
1217
- exports.SSE = SSE;
1218
- exports.abortRequestWithMessage = abortRequestWithMessage;
1219
- exports.anthropicSchema = anthropicSchema;
1220
- exports.bingAISchema = bingAISchema;
1221
- exports.chatGPTBrowserSchema = chatGPTBrowserSchema;
1222
- exports.clearAllConversations = clearAllConversations;
1223
- exports.createPayload = createPayload;
1224
- exports.createPreset = createPreset;
1225
- exports.deleteConversation = deleteConversation;
1226
- exports.deletePreset = deletePreset;
1227
- exports.eModelEndpointSchema = eModelEndpointSchema;
1228
- exports.getAIEndpoints = getAIEndpoints;
1229
- exports.getAvailablePlugins = getAvailablePlugins;
1230
- exports.getConversationById = getConversationById;
1231
- exports.getConversations = getConversations;
1232
- exports.getLoginGoogle = getLoginGoogle;
1233
- exports.getMessagesByConvoId = getMessagesByConvoId;
1234
- exports.getModels = getModels;
1235
- exports.getPresets = getPresets;
1236
- exports.getResponseSender = getResponseSender;
1237
- exports.getSearchEnabled = getSearchEnabled;
1238
- exports.getStartupConfig = getStartupConfig;
1239
- exports.getUser = getUser;
1240
- exports.getUserBalance = getUserBalance;
1241
- exports.googleSchema = googleSchema;
1242
- exports.gptPluginsSchema = gptPluginsSchema;
1243
- exports.login = login;
1244
- exports.logout = logout;
1245
- exports.openAISchema = openAISchema;
1246
- exports.parseConvo = parseConvo;
1247
- exports.refreshToken = refreshToken;
1248
- exports.register = register;
1249
- exports.request = request;
1250
- exports.requestPasswordReset = requestPasswordReset;
1251
- exports.resetPassword = resetPassword;
1252
- exports.revokeAllUserKeys = revokeAllUserKeys;
1253
- exports.revokeUserKey = revokeUserKey;
1254
- exports.searchConversations = searchConversations;
1255
- exports.setAcceptLanguageHeader = setAcceptLanguageHeader;
1256
- exports.setTokenHeader = setTokenHeader;
1257
- exports.tAgentOptionsSchema = tAgentOptionsSchema;
1258
- exports.tConversationSchema = tConversationSchema;
1259
- exports.tExampleSchema = tExampleSchema;
1260
- exports.tMessageSchema = tMessageSchema;
1261
- exports.tPluginAuthConfigSchema = tPluginAuthConfigSchema;
1262
- exports.tPluginSchema = tPluginSchema;
1263
- exports.tPresetSchema = tPresetSchema;
1264
- exports.updateConversation = updateConversation;
1265
- exports.updateMessage = updateMessage;
1266
- exports.updatePreset = updatePreset;
1267
- exports.updateTokenCount = updateTokenCount;
1268
- exports.updateUserKey = updateUserKey;
1269
- exports.updateUserPlugins = updateUserPlugins;
1270
- exports.useAbortRequestWithMessage = useAbortRequestWithMessage;
1271
- exports.useAvailablePluginsQuery = useAvailablePluginsQuery;
1272
- exports.useClearConversationsMutation = useClearConversationsMutation;
1273
- exports.useCreatePresetMutation = useCreatePresetMutation;
1274
- exports.useDeleteConversationMutation = useDeleteConversationMutation;
1275
- exports.useDeletePresetMutation = useDeletePresetMutation;
1276
- exports.useGetConversationByIdMutation = useGetConversationByIdMutation;
1277
- exports.useGetConversationByIdQuery = useGetConversationByIdQuery;
1278
- exports.useGetConversationsQuery = useGetConversationsQuery;
1279
- exports.useGetEndpointsQuery = useGetEndpointsQuery;
1280
- exports.useGetMessagesByConvoId = useGetMessagesByConvoId;
1281
- exports.useGetModelsQuery = useGetModelsQuery;
1282
- exports.useGetPresetsQuery = useGetPresetsQuery;
1283
- exports.useGetSearchEnabledQuery = useGetSearchEnabledQuery;
1284
- exports.useGetStartupConfig = useGetStartupConfig;
1285
- exports.useGetUserBalance = useGetUserBalance;
1286
- exports.useGetUserQuery = useGetUserQuery;
1287
- exports.useLoginUserMutation = useLoginUserMutation;
1288
- exports.useLogoutUserMutation = useLogoutUserMutation;
1289
- exports.useRefreshTokenMutation = useRefreshTokenMutation;
1290
- exports.useRegisterUserMutation = useRegisterUserMutation;
1291
- exports.useRequestPasswordResetMutation = useRequestPasswordResetMutation;
1292
- exports.useResetPasswordMutation = useResetPasswordMutation;
1293
- exports.useRevokeAllUserKeysMutation = useRevokeAllUserKeysMutation;
1294
- exports.useRevokeUserKeyMutation = useRevokeUserKeyMutation;
1295
- exports.useSearchQuery = useSearchQuery;
1296
- exports.useUpdateConversationMutation = useUpdateConversationMutation;
1297
- exports.useUpdateMessageMutation = useUpdateMessageMutation;
1298
- exports.useUpdatePresetMutation = useUpdatePresetMutation;
1299
- exports.useUpdateTokenCountMutation = useUpdateTokenCountMutation;
1300
- exports.useUpdateUserKeysMutation = useUpdateUserKeysMutation;
1301
- exports.useUpdateUserPluginsMutation = useUpdateUserPluginsMutation;
1302
- exports.useUserKeyQuery = useUserKeyQuery;
1303
- exports.userKeyQuery = userKeyQuery;
1
+ "use strict";var e,t,n,o,r,i,a=require("zod"),s=require("axios"),l=function(){return l=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},l.apply(this,arguments)};function p(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}l((o=o.apply(e,t||[])).next())}))}function u(e,t){var n,o,r,i,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(l){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(a=0)),a;)try{if(n=1,o&&(r=2&s[0]?o.return:s[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,s[1])).done)return r;switch(o=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,o=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(r=a.trys,(r=r.length>0&&r[r.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){a.label=s[1];break}if(6===s[0]&&a.label<r[1]){a.label=r[1],r=s;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(s);break}r[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],o=0}finally{n=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}"function"==typeof SuppressedError&&SuppressedError,exports.EModelEndpoint=void 0,(i=exports.EModelEndpoint||(exports.EModelEndpoint={})).azureOpenAI="azureOpenAI",i.openAI="openAI",i.bingAI="bingAI",i.chatGPTBrowser="chatGPTBrowser",i.google="google",i.gptPlugins="gptPlugins",i.anthropic="anthropic",i.assistant="assistant";var d=[exports.EModelEndpoint.openAI,exports.EModelEndpoint.assistant,exports.EModelEndpoint.azureOpenAI,exports.EModelEndpoint.bingAI,exports.EModelEndpoint.chatGPTBrowser,exports.EModelEndpoint.gptPlugins,exports.EModelEndpoint.google,exports.EModelEndpoint.anthropic],c=((e={})[exports.EModelEndpoint.openAI]="OpenAI",e[exports.EModelEndpoint.assistant]="Assistants",e[exports.EModelEndpoint.azureOpenAI]="Azure OpenAI",e[exports.EModelEndpoint.bingAI]="Bing",e[exports.EModelEndpoint.chatGPTBrowser]="ChatGPT",e[exports.EModelEndpoint.gptPlugins]="Plugins",e[exports.EModelEndpoint.google]="Google",e[exports.EModelEndpoint.anthropic]="Anthropic",e),h=((t={})[exports.EModelEndpoint.google]={model:{default:"chat-bison"},maxOutputTokens:{min:1,max:2048,step:1,default:1024},temperature:{min:0,max:1,step:.01,default:.2},topP:{min:0,max:1,step:.01,default:.8},topK:{min:1,max:40,step:.01,default:40}},t),f=h[exports.EModelEndpoint.google],g=((n={})[exports.EModelEndpoint.azureOpenAI]="/api/ask/azureOpenAI",n[exports.EModelEndpoint.openAI]="/api/ask/openAI",n[exports.EModelEndpoint.bingAI]="/api/ask/bingAI",n[exports.EModelEndpoint.chatGPTBrowser]="/api/ask/chatGPTBrowser",n[exports.EModelEndpoint.google]="/api/ask/google",n[exports.EModelEndpoint.gptPlugins]="/api/ask/gptPlugins",n[exports.EModelEndpoint.anthropic]="/api/ask/anthropic",n[exports.EModelEndpoint.assistant]="/api/assistants/chat",n),m=new Set([exports.EModelEndpoint.gptPlugins,exports.EModelEndpoint.anthropic,exports.EModelEndpoint.google,exports.EModelEndpoint.openAI]),v=((o={})[exports.EModelEndpoint.openAI]=!0,o[exports.EModelEndpoint.assistant]=!0,o),x=a.z.nativeEnum(exports.EModelEndpoint),b=a.z.object({authField:a.z.string(),label:a.z.string(),description:a.z.string()}),E=a.z.object({name:a.z.string(),pluginKey:a.z.string(),description:a.z.string(),icon:a.z.string(),authConfig:a.z.array(b),authenticated:a.z.boolean().optional(),isButton:a.z.boolean().optional()}),y=a.z.object({input:a.z.object({content:a.z.string()}),output:a.z.object({content:a.z.string()})}),P=a.z.object({agent:a.z.string(),skipCompletion:a.z.boolean(),model:a.z.string(),temperature:a.z.number()}),z=a.z.object({messageId:a.z.string(),clientId:a.z.string().nullable().optional(),conversationId:a.z.string().nullable(),parentMessageId:a.z.string().nullable(),responseMessageId:a.z.string().nullable().optional(),overrideParentMessageId:a.z.string().nullable().optional(),bg:a.z.string().nullable().optional(),model:a.z.string().nullable().optional(),title:a.z.string().nullable().or(a.z.literal("New Chat")).default("New Chat"),sender:a.z.string(),text:a.z.string(),generation:a.z.string().nullable().optional(),isEdited:a.z.boolean().optional(),isCreatedByUser:a.z.boolean(),error:a.z.boolean(),createdAt:a.z.string().optional().default((function(){return(new Date).toISOString()})),updatedAt:a.z.string().optional().default((function(){return(new Date).toISOString()})),current:a.z.boolean().optional(),unfinished:a.z.boolean().optional(),submitting:a.z.boolean().optional(),searchResult:a.z.boolean().optional(),finish_reason:a.z.string().optional()}),k=a.z.object({conversationId:a.z.string().nullable(),title:a.z.string().nullable().or(a.z.literal("New Chat")).default("New Chat"),user:a.z.string().optional(),endpoint:x.nullable(),suggestions:a.z.array(a.z.string()).optional(),messages:a.z.array(a.z.string()).optional(),tools:a.z.array(E).optional(),createdAt:a.z.string(),updatedAt:a.z.string(),systemMessage:a.z.string().nullable().optional(),modelLabel:a.z.string().nullable().optional(),examples:a.z.array(y).optional(),chatGptLabel:a.z.string().nullable().optional(),userLabel:a.z.string().optional(),model:a.z.string().nullable().optional(),promptPrefix:a.z.string().nullable().optional(),temperature:a.z.number().optional(),topP:a.z.number().optional(),topK:a.z.number().optional(),context:a.z.string().nullable().optional(),top_p:a.z.number().optional(),frequency_penalty:a.z.number().optional(),presence_penalty:a.z.number().optional(),jailbreak:a.z.boolean().optional(),jailbreakConversationId:a.z.string().nullable().optional(),conversationSignature:a.z.string().nullable().optional(),parentMessageId:a.z.string().optional(),clientId:a.z.string().nullable().optional(),invocationId:a.z.number().nullable().optional(),toneStyle:a.z.string().nullable().optional(),maxOutputTokens:a.z.number().optional(),agentOptions:P.nullable().optional(),assistant_id:a.z.string().optional(),thread_id:a.z.string().optional()}),I=k.omit({conversationId:!0,createdAt:!0,updatedAt:!0,title:!0}).merge(a.z.object({conversationId:a.z.string().optional(),presetId:a.z.string().nullable().optional(),title:a.z.string().nullable().optional(),defaultPreset:a.z.boolean().optional(),order:a.z.number().optional()})),_=k.pick({model:!0,chatGptLabel:!0,promptPrefix:!0,temperature:!0,top_p:!0,presence_penalty:!0,frequency_penalty:!0}).transform((function(e){var t,n,o,r,i,a,s;return l(l({},e),{model:null!==(t=e.model)&&void 0!==t?t:"gpt-3.5-turbo",chatGptLabel:null!==(n=e.chatGptLabel)&&void 0!==n?n:null,promptPrefix:null!==(o=e.promptPrefix)&&void 0!==o?o:null,temperature:null!==(r=e.temperature)&&void 0!==r?r:1,top_p:null!==(i=e.top_p)&&void 0!==i?i:1,presence_penalty:null!==(a=e.presence_penalty)&&void 0!==a?a:0,frequency_penalty:null!==(s=e.frequency_penalty)&&void 0!==s?s:0})})).catch((function(){return{model:"gpt-3.5-turbo",chatGptLabel:null,promptPrefix:null,temperature:1,top_p:1,presence_penalty:0,frequency_penalty:0}})),S=k.pick({model:!0,modelLabel:!0,promptPrefix:!0,examples:!0,temperature:!0,maxOutputTokens:!0,topP:!0,topK:!0}).transform((function(e){var t,n,o,r,i,a,s,p;return l(l({},e),{model:null!==(t=e.model)&&void 0!==t?t:f.model.default,modelLabel:null!==(n=e.modelLabel)&&void 0!==n?n:null,promptPrefix:null!==(o=e.promptPrefix)&&void 0!==o?o:null,examples:null!==(r=e.examples)&&void 0!==r?r:[{input:{content:""},output:{content:""}}],temperature:null!==(i=e.temperature)&&void 0!==i?i:f.temperature.default,maxOutputTokens:null!==(a=e.maxOutputTokens)&&void 0!==a?a:f.maxOutputTokens.default,topP:null!==(s=e.topP)&&void 0!==s?s:f.topP.default,topK:null!==(p=e.topK)&&void 0!==p?p:f.topK.default})})).catch((function(){return{model:f.model.default,modelLabel:null,promptPrefix:null,examples:[{input:{content:""},output:{content:""}}],temperature:f.temperature.default,maxOutputTokens:f.maxOutputTokens.default,topP:f.topP.default,topK:f.topK.default}})),M=k.pick({jailbreak:!0,systemMessage:!0,context:!0,toneStyle:!0,jailbreakConversationId:!0,conversationSignature:!0,clientId:!0,invocationId:!0}).transform((function(e){var t,n,o,r,i,a,s,p;return l(l({},e),{model:"",jailbreak:null!==(t=e.jailbreak)&&void 0!==t&&t,systemMessage:null!==(n=e.systemMessage)&&void 0!==n?n:null,context:null!==(o=e.context)&&void 0!==o?o:null,toneStyle:null!==(r=e.toneStyle)&&void 0!==r?r:"creative",jailbreakConversationId:null!==(i=e.jailbreakConversationId)&&void 0!==i?i:null,conversationSignature:null!==(a=e.conversationSignature)&&void 0!==a?a:null,clientId:null!==(s=e.clientId)&&void 0!==s?s:null,invocationId:null!==(p=e.invocationId)&&void 0!==p?p:1})})).catch((function(){return{model:"",jailbreak:!1,systemMessage:null,context:null,toneStyle:"creative",jailbreakConversationId:null,conversationSignature:null,clientId:null,invocationId:1}})),O=k.pick({model:!0,modelLabel:!0,promptPrefix:!0,temperature:!0,maxOutputTokens:!0,topP:!0,topK:!0}).transform((function(e){var t,n,o,r,i,a,s;return l(l({},e),{model:null!==(t=e.model)&&void 0!==t?t:"claude-1",modelLabel:null!==(n=e.modelLabel)&&void 0!==n?n:null,promptPrefix:null!==(o=e.promptPrefix)&&void 0!==o?o:null,temperature:null!==(r=e.temperature)&&void 0!==r?r:1,maxOutputTokens:null!==(i=e.maxOutputTokens)&&void 0!==i?i:4e3,topP:null!==(a=e.topP)&&void 0!==a?a:.7,topK:null!==(s=e.topK)&&void 0!==s?s:5})})).catch((function(){return{model:"claude-1",modelLabel:null,promptPrefix:null,temperature:1,maxOutputTokens:4e3,topP:.7,topK:5}})),w=k.pick({model:!0}).transform((function(e){var t;return l(l({},e),{model:null!==(t=e.model)&&void 0!==t?t:"text-davinci-002-render-sha"})})).catch((function(){return{model:"text-davinci-002-render-sha"}})),C=k.pick({model:!0,chatGptLabel:!0,promptPrefix:!0,temperature:!0,top_p:!0,presence_penalty:!0,frequency_penalty:!0,tools:!0,agentOptions:!0}).transform((function(e){var t,n,o,r,i,a,s,p,u;return l(l({},e),{model:null!==(t=e.model)&&void 0!==t?t:"gpt-3.5-turbo",chatGptLabel:null!==(n=e.chatGptLabel)&&void 0!==n?n:null,promptPrefix:null!==(o=e.promptPrefix)&&void 0!==o?o:null,temperature:null!==(r=e.temperature)&&void 0!==r?r:.8,top_p:null!==(i=e.top_p)&&void 0!==i?i:1,presence_penalty:null!==(a=e.presence_penalty)&&void 0!==a?a:0,frequency_penalty:null!==(s=e.frequency_penalty)&&void 0!==s?s:0,tools:null!==(p=e.tools)&&void 0!==p?p:[],agentOptions:null!==(u=e.agentOptions)&&void 0!==u?u:{agent:"functions",skipCompletion:!0,model:"gpt-3.5-turbo",temperature:0}})})).catch((function(){return{model:"gpt-3.5-turbo",chatGptLabel:null,promptPrefix:null,temperature:.8,top_p:1,presence_penalty:0,frequency_penalty:0,tools:[],agentOptions:{agent:"functions",skipCompletion:!0,model:"gpt-3.5-turbo",temperature:0}}}));function A(e){var t=l({},e);return Object.keys(t).forEach((function(e){void 0!==t[e]&&null!==t[e]&&""!==t[e]||delete t[e]})),t}var T=k.pick({model:!0,assistant_id:!0,thread_id:!0}).transform(A).catch((function(){return{}})),L=((r={})[exports.EModelEndpoint.openAI]=_,r[exports.EModelEndpoint.azureOpenAI]=_,r[exports.EModelEndpoint.google]=S,r[exports.EModelEndpoint.bingAI]=M,r[exports.EModelEndpoint.anthropic]=O,r[exports.EModelEndpoint.chatGPTBrowser]=w,r[exports.EModelEndpoint.gptPlugins]=C,r[exports.EModelEndpoint.assistant]=T,r);function G(e){for(var t,n=0,o=e;n<o.length;n++){var r=o[n];if(r){t=r;break}}return t}var j,K,q,N=k.pick({model:!0,chatGptLabel:!0,promptPrefix:!0,temperature:!0,top_p:!0,presence_penalty:!0,frequency_penalty:!0}).transform((function(e){var t=l({},e);return"gpt-3.5-turbo"===t.model&&delete t.model,1===t.temperature&&delete t.temperature,1===t.top_p&&delete t.top_p,0===t.presence_penalty&&delete t.presence_penalty,0===t.frequency_penalty&&delete t.frequency_penalty,A(t)})).catch((function(){return{}})),B=k.pick({model:!0,modelLabel:!0,promptPrefix:!0,examples:!0,temperature:!0,maxOutputTokens:!0,topP:!0,topK:!0}).transform((function(e){var t=l({},e);return t.model===f.model.default&&delete t.model,t.temperature===f.temperature.default&&delete t.temperature,t.maxOutputTokens===f.maxOutputTokens.default&&delete t.maxOutputTokens,t.topP===f.topP.default&&delete t.topP,t.topK===f.topK.default&&delete t.topK,A(t)})).catch((function(){return{}})),R=k.pick({model:!0,modelLabel:!0,promptPrefix:!0,temperature:!0,maxOutputTokens:!0,topP:!0,topK:!0}).transform((function(e){var t=l({},e);return"claude-1"===t.model&&delete t.model,1===t.temperature&&delete t.temperature,4e3===t.maxOutputTokens&&delete t.maxOutputTokens,.7===t.topP&&delete t.topP,5===t.topK&&delete t.topK,A(t)})).catch((function(){return{}})),U=k.pick({model:!0}).transform((function(e){var t=l({},e);return"text-davinci-002-render-sha"===t.model&&delete t.model,A(t)})).catch((function(){return{}})),D=k.pick({model:!0,chatGptLabel:!0,promptPrefix:!0,temperature:!0,top_p:!0,presence_penalty:!0,frequency_penalty:!0,tools:!0,agentOptions:!0}).transform((function(e){var t,n=l({},e);return"gpt-3.5-turbo"===n.model&&delete n.model,null===n.chatGptLabel&&delete n.chatGptLabel,null===n.promptPrefix&&delete n.promptPrefix,.8===n.temperature&&delete n.temperature,1===n.top_p&&delete n.top_p,0===n.presence_penalty&&delete n.presence_penalty,0===n.frequency_penalty&&delete n.frequency_penalty,0===(null===(t=n.tools)||void 0===t?void 0:t.length)&&delete n.tools,n.agentOptions&&"functions"===n.agentOptions.agent&&!0===n.agentOptions.skipCompletion&&"gpt-3.5-turbo"===n.agentOptions.model&&0===n.agentOptions.temperature&&delete n.agentOptions,A(n)})).catch((function(){return{}})),F={openAI:N,azureOpenAI:N,assistant:T,google:B,bingAI:M,anthropic:R,chatGPTBrowser:U,gptPlugins:D};function H(e){s.defaults.headers.common.Authorization="Bearer "+e}exports.Tools=void 0,(j=exports.Tools||(exports.Tools={})).code_interpreter="code_interpreter",j.retrieval="retrieval",j.function="function",exports.QueryKeys=void 0,(K=exports.QueryKeys||(exports.QueryKeys={})).messages="messages",K.allConversations="allConversations",K.conversation="conversation",K.searchEnabled="searchEnabled",K.user="user",K.name="name",K.models="models",K.balance="balance",K.endpoints="endpoints",K.presets="presets",K.searchResults="searchResults",K.tokenCount="tokenCount",K.availablePlugins="availablePlugins",K.startupConfig="startupConfig",K.assistants="assistants",K.assistant="assistant",K.endpointsConfigOverride="endpointsConfigOverride",exports.MutationKeys=void 0,(q=exports.MutationKeys||(exports.MutationKeys={})).imageUpload="imageUpload",q.fileDelete="fileDelete",q.updatePreset="updatePreset",q.deletePreset="deletePreset",q.logoutUser="logoutUser";var Q=function(e,t){return"/api/messages/".concat(e).concat(t?"/".concat(t):"")},J="/api/keys",W=function(e,t){return"/api/search?q=".concat(e,"&pageNumber=").concat(t)},V=function(e){return"/api/assistants".concat(e?"/".concat(e):"")};function X(e,t){return p(this,void 0,void 0,(function(){return u(this,(function(n){switch(n.label){case 0:return[4,s.post(e,JSON.stringify(t),{headers:{"Content-Type":"application/json"}})];case 1:return[2,n.sent().data]}}))}))}var Z=!1,$=[],Y=function(e){return X(function(e){return"/api/auth/refresh".concat(e?"?retry=true":"")}(e))},ee=function(e,t){void 0===t&&(t=null),$.forEach((function(n){e?n.reject(e):n.resolve(t)})),$=[]};s.interceptors.response.use((function(e){return e}),(function(e){return p(void 0,void 0,void 0,(function(){var t,n,o,r,i;return u(this,(function(a){switch(a.label){case 0:if(t=e.config,401!==e.response.status||t._retry)return[3,13];if(t._retry=!0,!Z)return[3,5];a.label=1;case 1:return a.trys.push([1,4,,5]),[4,new Promise((function(e,t){$.push({resolve:e,reject:t})}))];case 2:return o=a.sent(),t.headers.Authorization="Bearer "+o,[4,s(t)];case 3:return[2,a.sent()];case 4:return n=a.sent(),[2,Promise.reject(n)];case 5:Z=!0,a.label=6;case 6:return a.trys.push([6,11,12,13]),[4,Y(!!(null===(i=t.url)||void 0===i?void 0:i.includes("api/auth/refresh")))];case 7:return(o=a.sent().token)?(t.headers.Authorization="Bearer "+o,H(o),window.dispatchEvent(new CustomEvent("tokenUpdated",{detail:o})),ee(null,o),[4,s(t)]):[3,9];case 8:return[2,a.sent()];case 9:window.location.href="/login",a.label=10;case 10:return[3,13];case 11:return r=a.sent(),ee(r,null),[2,Promise.reject(r)];case 12:return Z=!1,[7];case 13:return[2,Promise.reject(e)]}}))}))}));var te={get:function(e,t){return p(this,void 0,void 0,(function(){return u(this,(function(n){switch(n.label){case 0:return[4,s.get(e,l({},t))];case 1:return[2,n.sent().data]}}))}))},post:X,postMultiPart:function(e,t,n){return p(this,void 0,void 0,(function(){return u(this,(function(o){switch(o.label){case 0:return[4,s.post(e,t,l(l({},n),{headers:{"Content-Type":"multipart/form-data"}}))];case 1:return[2,o.sent().data]}}))}))},put:function(e,t){return p(this,void 0,void 0,(function(){return u(this,(function(n){switch(n.label){case 0:return[4,s.put(e,JSON.stringify(t),{headers:{"Content-Type":"application/json"}})];case 1:return[2,n.sent().data]}}))}))},delete:function(e){return p(this,void 0,void 0,(function(){return u(this,(function(t){switch(t.label){case 0:return[4,s.delete(e)];case 1:return[2,t.sent().data]}}))}))},deleteWithOptions:function(e,t){return p(this,void 0,void 0,(function(){return u(this,(function(n){switch(n.label){case 0:return[4,s.delete(e,l({},t))];case 1:return[2,n.sent().data]}}))}))},patch:function(e,t){return p(this,void 0,void 0,(function(){return u(this,(function(n){switch(n.label){case 0:return[4,s.patch(e,JSON.stringify(t),{headers:{"Content-Type":"application/json"}})];case 1:return[2,n.sent().data]}}))}))},refreshToken:Y};var ne=Object.freeze({__proto__:null,abortRequestWithMessage:function(e,t,n){return te.post(function(e){return"/api/ask/".concat(e,"/abort")}(e),{arg:{abortKey:t,message:n}})},clearAllConversations:function(){return te.post("/api/convos/clear",{arg:{}})},createAssistant:function(e){return te.post(V(),e)},createPreset:function(e){return te.post("/api/presets",e)},deleteAssistant:function(e){return te.delete(V(e))},deleteConversation:function(e){return te.post("/api/convos/clear",{arg:e})},deleteFiles:function(e){return p(void 0,void 0,void 0,(function(){return u(this,(function(t){return[2,te.deleteWithOptions("/api/files",{data:{files:e}})]}))}))},deletePreset:function(e){return te.post("/api/presets/delete",e)},getAIEndpoints:function(){return te.get("/api/endpoints")},getAssistantById:function(e){return te.get(V(e))},getAvailablePlugins:function(){return te.get("/api/plugins")},getConversationById:function(e){return te.get(function(e){return"/api/convos/".concat(e)}(e))},getConversations:function(e){return te.get(function(e){return"/api/convos?pageNumber=".concat(e)}(e))},getEndpointsConfigOverride:function(){return te.get("/api/endpoints/config/override")},getLoginGoogle:function(){return te.get("/api/auth/google")},getMessagesByConvoId:function(e){return"new"===e?Promise.resolve([]):te.get(Q(e))},getModels:function(){return p(void 0,void 0,void 0,(function(){return u(this,(function(e){return[2,te.get("/api/models")]}))}))},getPresets:function(){return te.get("/api/presets")},getSearchEnabled:function(){return te.get("/api/search/enable")},getStartupConfig:function(){return te.get("/api/config")},getUser:function(){return te.get("/api/user")},getUserBalance:function(){return te.get("/api/balance")},listAssistants:function(e){return te.get(V(),{params:e})},login:function(e){return te.post("/api/auth/login",e)},logout:function(){return te.post("/api/auth/logout")},register:function(e){return te.post("/api/auth/register",e)},requestPasswordReset:function(e){return te.post("/api/auth/requestPasswordReset",e)},resetPassword:function(e){return te.post("/api/auth/resetPassword",e)},revokeAllUserKeys:function(){return te.delete("".concat(J,"?all=true"))},revokeUserKey:function(e){return te.delete(function(e){return"".concat(J,"/").concat(e)}(e))},searchConversations:function(e,t){return p(void 0,void 0,void 0,(function(){return u(this,(function(n){return[2,te.get(W(e,t))]}))}))},updateAssistant:function(e,t){return te.patch(V(e),t)},updateConversation:function(e){return te.post("/api/convos/update",{arg:e})},updateMessage:function(e){var t=e.conversationId,n=e.messageId,o=e.text;if(!t)throw new Error("conversationId is required");return te.put(Q(t,n),{text:o})},updatePreset:function(e){return te.post("/api/presets",e)},updateTokenCount:function(e){return te.post("/api/tokenizer",{arg:e})},updateUserKey:function(e){if(!e.value)throw new Error("value is required");return te.put(J,e)},updateUserPlugins:function(e){return te.post("/api/user/plugins",e)},uploadImage:function(e){return te.postMultiPart("".concat("/api/files","/images"),e)},userKeyQuery:function(e){return te.get(function(e){return"".concat(J,"?name=").concat(e)}(e))}}),oe=function(e,t){if(!(this instanceof oe))return new oe(e,t);this.INITIALIZING=-1,this.CONNECTING=0,this.OPEN=1,this.CLOSED=2,this.url=e,t=t||{},this.headers=t.headers||{},this.payload=void 0!==t.payload?t.payload:"",this.method=t.method||this.payload&&"POST"||"GET",this.withCredentials=!!t.withCredentials,this.FIELD_SEPARATOR=":",this.listeners={},this.xhr=null,this.readyState=this.INITIALIZING,this.progress=0,this.chunk="",this.addEventListener=function(e,t){void 0===this.listeners[e]&&(this.listeners[e]=[]),-1===this.listeners[e].indexOf(t)&&this.listeners[e].push(t)},this.removeEventListener=function(e,t){if(void 0!==this.listeners[e]){var n=[];this.listeners[e].forEach((function(e){e!==t&&n.push(e)})),0===n.length?delete this.listeners[e]:this.listeners[e]=n}},this.dispatchEvent=function(e){if(!e)return!0;e.source=this;var t="on"+e.type;return(!this.hasOwnProperty(t)||(this[t].call(this,e),!e.defaultPrevented))&&(!this.listeners[e.type]||this.listeners[e.type].every((function(t){return t(e),!e.defaultPrevented})))},this._setReadyState=function(e){var t=new CustomEvent("readystatechange");t.readyState=e,this.readyState=e,this.dispatchEvent(t)},this._onStreamFailure=function(e){var t=new CustomEvent("error");t.data=e.currentTarget.response,this.dispatchEvent(t),this.close()},this._onStreamAbort=function(e){this.dispatchEvent(new CustomEvent("abort")),this.close()},this._onStreamProgress=async function(e){if(this.xhr){if(401!==this.xhr.status||this._retry){if(200!==this.xhr.status)return void this._onStreamFailure(e)}else{this._retry=!0;try{const e=await te.refreshToken();this.headers={"Content-Type":"application/json",Authorization:`Bearer ${e.token}`},H(e.token),window.dispatchEvent(new CustomEvent("tokenUpdated",{detail:e.token})),this.stream()}catch(t){return void this._onStreamFailure(e)}}this.readyState==this.CONNECTING&&(this.dispatchEvent(new CustomEvent("open")),this._setReadyState(this.OPEN));var t=this.xhr.responseText.substring(this.progress);this.progress+=t.length,t.split(/(\r\n|\r|\n){2}/g).forEach(function(e){0===e.trim().length?(this.dispatchEvent(this._parseEventChunk(this.chunk.trim())),this.chunk=""):this.chunk+=e}.bind(this))}},this._onStreamLoaded=function(e){this._onStreamProgress(e),this.dispatchEvent(this._parseEventChunk(this.chunk)),this.chunk=""},this._parseEventChunk=function(e){if(!e||0===e.length)return null;var t={id:null,retry:null,data:"",event:"message"};e.split(/\n|\r\n|\r/).forEach(function(e){var n=(e=e.trimRight()).indexOf(this.FIELD_SEPARATOR);if(!(n<=0)){var o=e.substring(0,n);if(o in t){var r=e.substring(n+1).trimLeft();"data"===o?t[o]+=r:t[o]=r}}}.bind(this));var n=new CustomEvent(t.event);return n.data=t.data,n.id=t.id,n},this._checkStreamClosed=function(){this.xhr&&this.xhr.readyState===XMLHttpRequest.DONE&&this._setReadyState(this.CLOSED)},this.stream=function(){for(var e in this._setReadyState(this.CONNECTING),this.xhr=new XMLHttpRequest,this.xhr.addEventListener("progress",this._onStreamProgress.bind(this)),this.xhr.addEventListener("load",this._onStreamLoaded.bind(this)),this.xhr.addEventListener("readystatechange",this._checkStreamClosed.bind(this)),this.xhr.addEventListener("error",this._onStreamFailure.bind(this)),this.xhr.addEventListener("abort",this._onStreamAbort.bind(this)),this.xhr.open(this.method,this.url),this.headers)this.xhr.setRequestHeader(e,this.headers[e]);this.xhr.withCredentials=this.withCredentials,this.xhr.send(this.payload)},this.close=function(){this.readyState!==this.CLOSED&&(this.xhr.abort(),this.xhr=null,this._setReadyState(this.CLOSED))}};exports.EndpointURLs=g,exports.SSE=oe,exports.alternateName=c,exports.anthropicSchema=O,exports.assistantSchema=T,exports.bingAISchema=M,exports.chatGPTBrowserSchema=w,exports.compactAnthropicSchema=R,exports.compactChatGPTSchema=U,exports.compactGoogleSchema=B,exports.compactOpenAISchema=N,exports.compactPluginsSchema=D,exports.createPayload=function(e){var t=e.conversation,n=e.message,o=e.messages,r=e.endpointOption,i=e.isEdited,a=e.isContinued,s=k.parse(t).conversationId,p=r.endpoint,u=g[p];i&&p===exports.EModelEndpoint.assistant?u+="/modify":i&&(u=u.replace("/ask/","/edit/"));var d=l(l(l({},n),r),{isContinued:!(!i||!a),conversationId:s});return p===exports.EModelEndpoint.assistant&&(d.messages=o),{server:u,payload:d}},exports.dataService=ne,exports.defaultEndpoints=d,exports.eModelEndpointSchema=x,exports.endpointSettings=h,exports.getFirstDefinedValue=G,exports.getResponseSender=function(e){var t,n=e.model,o=e.endpoint,r=e.chatGptLabel,i=e.modelLabel,a=e.jailbreak;return[exports.EModelEndpoint.openAI,exports.EModelEndpoint.azureOpenAI,exports.EModelEndpoint.gptPlugins,exports.EModelEndpoint.chatGPTBrowser].includes(o)?r||(n&&n.includes("gpt-3")?"GPT-3.5":n&&n.includes("gpt-4")?"GPT-4":null!==(t=c[o])&&void 0!==t?t:"ChatGPT"):o===exports.EModelEndpoint.bingAI?a?"Sydney":"BingAI":o===exports.EModelEndpoint.anthropic?null!=i?i:"Claude":o===exports.EModelEndpoint.google?i||(n&&n.includes("code")?"Codey":"PaLM2"):""},exports.googleSchema=S,exports.gptPluginsSchema=C,exports.modularEndpoints=m,exports.openAIModels=["gpt-3.5-turbo-16k-0613","gpt-3.5-turbo-16k","gpt-4-1106-preview","gpt-3.5-turbo","gpt-3.5-turbo-1106","gpt-4-vision-preview","gpt-4","gpt-3.5-turbo-instruct-0914","gpt-3.5-turbo-0613","gpt-3.5-turbo-0301","gpt-3.5-turbo-instruct","gpt-4-0613","text-davinci-003","gpt-4-0314"],exports.openAISchema=_,exports.parseCompactConvo=function(e,t,n){var o;if(!e)throw new Error("undefined endpoint: ".concat(e));var r=F[e];if(!r)throw new Error("Unknown endpoint: ".concat(e));var i=r.parse(t),a=(null!=n?n:{}).models;return a&&i&&(i.model=null!==(o=G(a))&&void 0!==o?o:i.model),i},exports.parseConvo=function(e,t,n){var o,r,i=L[e];if(!i)throw new Error("Unknown endpoint: ".concat(e));var a=i.parse(t),s=null!=n?n:{},l=s.models,p=s.secondaryModels;return l&&a&&(a.model=null!==(o=G(l))&&void 0!==o?o:a.model),p&&a.agentOptions&&(a.agentOptions.model=null!==(r=G(p))&&void 0!==r?r:a.agentOptions.model),a},exports.removeNullishValues=A,exports.request=te,exports.setAcceptLanguageHeader=function(e){s.defaults.headers.common["Accept-Language"]=e},exports.setTokenHeader=H,exports.supportsFiles=v,exports.tAgentOptionsSchema=P,exports.tConversationSchema=k,exports.tExampleSchema=y,exports.tMessageSchema=z,exports.tPluginAuthConfigSchema=b,exports.tPluginSchema=E,exports.tPresetSchema=I,exports.visionModels=["gpt-4-vision","llava-13b"];
2
+ //# sourceMappingURL=index.js.map