librechat-data-provider 0.1.6 → 0.1.8

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.es.js CHANGED
@@ -73,6 +73,70 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
73
73
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
74
74
  };
75
75
 
76
+ function setAcceptLanguageHeader(value) {
77
+ axios.defaults.headers.common['Accept-Language'] = value;
78
+ }
79
+ function setTokenHeader(token) {
80
+ axios.defaults.headers.common['Authorization'] = 'Bearer ' + token;
81
+ }
82
+
83
+ var isRefreshing = false;
84
+ var failedQueue = [];
85
+ var processQueue = function (error, token) {
86
+ if (token === void 0) { token = null; }
87
+ failedQueue.forEach(function (prom) {
88
+ if (error) {
89
+ prom.reject(error);
90
+ }
91
+ else {
92
+ prom.resolve(token);
93
+ }
94
+ });
95
+ failedQueue = [];
96
+ };
97
+ axios.interceptors.response.use(function (response) { return response; }, function (error) {
98
+ var originalRequest = error.config;
99
+ if (error.response.status === 401 && !originalRequest._retry) {
100
+ if (isRefreshing) {
101
+ return new Promise(function (resolve, reject) {
102
+ failedQueue.push({ resolve: resolve, reject: reject });
103
+ })
104
+ .then(function (token) {
105
+ originalRequest.headers['Authorization'] = 'Bearer ' + token;
106
+ return axios(originalRequest);
107
+ })
108
+ .catch(function (err) {
109
+ return Promise.reject(err);
110
+ });
111
+ }
112
+ originalRequest._retry = true;
113
+ isRefreshing = true;
114
+ return new Promise(function (resolve, reject) {
115
+ refreshToken()
116
+ .then(function (_a) {
117
+ var token = _a.token;
118
+ if (token) {
119
+ originalRequest.headers['Authorization'] = 'Bearer ' + token;
120
+ setTokenHeader(token);
121
+ window.dispatchEvent(new CustomEvent('tokenUpdated', { detail: token }));
122
+ processQueue(null, token);
123
+ resolve(axios(originalRequest));
124
+ }
125
+ else {
126
+ window.location.href = '/login';
127
+ }
128
+ })
129
+ .catch(function (err) {
130
+ processQueue(err, null);
131
+ reject(err);
132
+ })
133
+ .then(function () {
134
+ isRefreshing = false;
135
+ });
136
+ });
137
+ }
138
+ return Promise.reject(error);
139
+ });
76
140
  function _get(url, options) {
77
141
  return __awaiter(this, void 0, void 0, function () {
78
142
  var response;
@@ -180,75 +244,38 @@ var request = {
180
244
  patch: _patch,
181
245
  };
182
246
 
183
- var user = function () {
184
- return '/api/user';
185
- };
186
- var userPlugins = function () {
187
- return '/api/user/plugins';
188
- };
247
+ var user = function () { return '/api/user'; };
248
+ var userPlugins = function () { return '/api/user/plugins'; };
189
249
  var messages = function (conversationId, messageId) {
190
250
  return "/api/messages/".concat(conversationId).concat(messageId ? "/".concat(messageId) : '');
191
251
  };
192
- var abortRequest = function (endpoint) {
193
- return "/api/ask/".concat(endpoint, "/abort");
194
- };
195
- var conversations = function (pageNumber) {
196
- return "/api/convos?pageNumber=".concat(pageNumber);
197
- };
198
- var conversationById = function (id) {
199
- return "/api/convos/".concat(id);
200
- };
201
- var updateConversation$1 = function () {
202
- return '/api/convos/update';
203
- };
204
- var deleteConversation$1 = function () {
205
- return '/api/convos/clear';
206
- };
252
+ var keysEndpoint = '/api/keys';
253
+ var keys = function () { return keysEndpoint; };
254
+ var userKeyQuery$1 = function (name) { return "".concat(keysEndpoint, "?name=").concat(name); };
255
+ var revokeUserKey$1 = function (name) { return "".concat(keysEndpoint, "/").concat(name); };
256
+ var revokeAllUserKeys$1 = function () { return "".concat(keysEndpoint, "?all=true"); };
257
+ var abortRequest = function (endpoint) { return "/api/ask/".concat(endpoint, "/abort"); };
258
+ var conversations = function (pageNumber) { return "/api/convos?pageNumber=".concat(pageNumber); };
259
+ var conversationById = function (id) { return "/api/convos/".concat(id); };
260
+ var updateConversation$1 = function () { return '/api/convos/update'; };
261
+ var deleteConversation$1 = function () { return '/api/convos/clear'; };
207
262
  var search = function (q, pageNumber) {
208
263
  return "/api/search?q=".concat(q, "&pageNumber=").concat(pageNumber);
209
264
  };
210
- var searchEnabled = function () {
211
- return '/api/search/enable';
212
- };
213
- var presets = function () {
214
- return '/api/presets';
215
- };
216
- var deletePreset$1 = function () {
217
- return '/api/presets/delete';
218
- };
219
- var aiEndpoints = function () {
220
- return '/api/endpoints';
221
- };
222
- var tokenizer = function () {
223
- return '/api/tokenizer';
224
- };
225
- var login$1 = function () {
226
- return '/api/auth/login';
227
- };
228
- var logout$1 = function () {
229
- return '/api/auth/logout';
230
- };
231
- var register$1 = function () {
232
- return '/api/auth/register';
233
- };
234
- var loginGoogle = function () {
235
- return '/api/auth/google';
236
- };
237
- var refreshToken$1 = function () {
238
- return '/api/auth/refresh';
239
- };
240
- var requestPasswordReset$1 = function () {
241
- return '/api/auth/requestPasswordReset';
242
- };
243
- var resetPassword$1 = function () {
244
- return '/api/auth/resetPassword';
245
- };
246
- var plugins = function () {
247
- return '/api/plugins';
248
- };
249
- var config = function () {
250
- return '/api/config';
251
- };
265
+ var searchEnabled = function () { return '/api/search/enable'; };
266
+ var presets = function () { return '/api/presets'; };
267
+ var deletePreset$1 = function () { return '/api/presets/delete'; };
268
+ var aiEndpoints = function () { return '/api/endpoints'; };
269
+ var tokenizer = function () { return '/api/tokenizer'; };
270
+ var login$1 = function () { return '/api/auth/login'; };
271
+ var logout$1 = function () { return '/api/auth/logout'; };
272
+ var register$1 = function () { return '/api/auth/register'; };
273
+ var loginGoogle = function () { return '/api/auth/google'; };
274
+ var refreshToken$1 = function () { return '/api/auth/refresh'; };
275
+ var requestPasswordReset$1 = function () { return '/api/auth/requestPasswordReset'; };
276
+ var resetPassword$1 = function () { return '/api/auth/resetPassword'; };
277
+ var plugins = function () { return '/api/plugins'; };
278
+ var config = function () { return '/api/config'; };
252
279
 
253
280
  function getConversations(pageNumber) {
254
281
  return request.get(conversations(pageNumber));
@@ -263,6 +290,12 @@ function deleteConversation(payload) {
263
290
  function clearAllConversations() {
264
291
  return request.post(deleteConversation$1(), { arg: {} });
265
292
  }
293
+ function revokeUserKey(name) {
294
+ return request.delete(revokeUserKey$1(name));
295
+ }
296
+ function revokeAllUserKeys() {
297
+ return request.delete(revokeAllUserKeys$1());
298
+ }
266
299
  function getMessagesByConvoId(conversationId) {
267
300
  return request.get(messages(conversationId));
268
301
  }
@@ -279,6 +312,13 @@ function updateMessage(payload) {
279
312
  }
280
313
  return request.put(messages(conversationId, messageId), { text: text });
281
314
  }
315
+ function updateUserKey(payload) {
316
+ var value = payload.value;
317
+ if (!value) {
318
+ throw new Error('value is required');
319
+ }
320
+ return request.put(keys(), payload);
321
+ }
282
322
  function getPresets() {
283
323
  return request.get(presets());
284
324
  }
@@ -317,8 +357,9 @@ var logout = function () {
317
357
  var register = function (payload) {
318
358
  return request.post(register$1(), payload);
319
359
  };
320
- var refreshToken = function () {
321
- return request.post(refreshToken$1());
360
+ var refreshToken = function () { return request.post(refreshToken$1()); };
361
+ var userKeyQuery = function (name) {
362
+ return request.get(userKeyQuery$1(name));
322
363
  };
323
364
  var getLoginGoogle = function () {
324
365
  return request.get(loginGoogle());
@@ -391,6 +432,7 @@ var tMessageSchema = z.object({
391
432
  sender: z.string(),
392
433
  text: z.string(),
393
434
  generation: z.string().nullable().optional(),
435
+ isEdited: z.boolean().optional(),
394
436
  isCreatedByUser: z.boolean(),
395
437
  error: z.boolean(),
396
438
  createdAt: z
@@ -538,14 +580,14 @@ var anthropicSchema = tConversationSchema
538
580
  })
539
581
  .transform(function (obj) {
540
582
  var _a, _b, _c, _d, _e, _f, _g;
541
- 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 : 1024, topP: (_f = obj.topP) !== null && _f !== void 0 ? _f : 0.7, topK: (_g = obj.topK) !== null && _g !== void 0 ? _g : 5 }));
583
+ 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 }));
542
584
  })
543
585
  .catch(function () { return ({
544
586
  model: 'claude-1',
545
587
  modelLabel: null,
546
588
  promptPrefix: null,
547
589
  temperature: 1,
548
- maxOutputTokens: 1024,
590
+ maxOutputTokens: 4000,
549
591
  topP: 0.7,
550
592
  topK: 5,
551
593
  }); });
@@ -653,6 +695,7 @@ var QueryKeys;
653
695
  QueryKeys["conversation"] = "conversation";
654
696
  QueryKeys["searchEnabled"] = "searchEnabled";
655
697
  QueryKeys["user"] = "user";
698
+ QueryKeys["name"] = "name";
656
699
  QueryKeys["endpoints"] = "endpoints";
657
700
  QueryKeys["presets"] = "presets";
658
701
  QueryKeys["searchResults"] = "searchResults";
@@ -703,6 +746,14 @@ var useUpdateMessageMutation = function (id) {
703
746
  },
704
747
  });
705
748
  };
749
+ var useUpdateUserKeysMutation = function () {
750
+ var queryClient = useQueryClient();
751
+ return useMutation(function (payload) { return updateUserKey(payload); }, {
752
+ onSuccess: function () {
753
+ queryClient.invalidateQueries([QueryKeys.name]);
754
+ },
755
+ });
756
+ };
706
757
  var useDeleteConversationMutation = function (id) {
707
758
  var queryClient = useQueryClient();
708
759
  return useMutation(function (payload) { return deleteConversation(payload); }, {
@@ -720,6 +771,22 @@ var useClearConversationsMutation = function () {
720
771
  },
721
772
  });
722
773
  };
774
+ var useRevokeUserKeyMutation = function (name) {
775
+ var queryClient = useQueryClient();
776
+ return useMutation(function () { return revokeUserKey(name); }, {
777
+ onSuccess: function () {
778
+ queryClient.invalidateQueries([QueryKeys.name]);
779
+ },
780
+ });
781
+ };
782
+ var useRevokeAllUserKeysMutation = function () {
783
+ var queryClient = useQueryClient();
784
+ return useMutation(function () { return revokeAllUserKeys(); }, {
785
+ onSuccess: function () {
786
+ queryClient.invalidateQueries([QueryKeys.name]);
787
+ },
788
+ });
789
+ };
723
790
  var useGetConversationsQuery = function (pageNumber, config) {
724
791
  return useQuery([QueryKeys.allConversations, pageNumber], function () { return getConversations(pageNumber); }, __assign({ refetchOnReconnect: false, refetchOnMount: false, retry: 1 }, config));
725
792
  };
@@ -801,6 +868,14 @@ var useLogoutUserMutation = function () {
801
868
  var useRefreshTokenMutation = function () {
802
869
  return useMutation(function () { return refreshToken(); }, {});
803
870
  };
871
+ var useUserKeyQuery = function (name, config) {
872
+ return useQuery([QueryKeys.name, name], function () {
873
+ if (!name) {
874
+ return Promise.resolve({ expiresAt: '' });
875
+ }
876
+ return userKeyQuery(name);
877
+ }, __assign({ refetchOnWindowFocus: false, refetchOnReconnect: false, refetchOnMount: false, retry: false }, config));
878
+ };
804
879
  var useRequestPasswordResetMutation = function () {
805
880
  return useMutation(function (payload) {
806
881
  return requestPasswordReset(payload);
@@ -832,19 +907,13 @@ var useGetStartupConfig = function () {
832
907
  });
833
908
  };
834
909
 
835
- function setAcceptLanguageHeader(value) {
836
- axios.defaults.headers.common['Accept-Language'] = value;
837
- }
838
- function setTokenHeader(token) {
839
- axios.defaults.headers.common['Authorization'] = 'Bearer ' + token;
840
- }
841
-
842
910
  /* eslint-disable */
843
911
  /**
844
912
  * Copyright (C) 2016 Maxime Petazzoni <maxime.petazzoni@bulix.org>.
845
913
  * All rights reserved.
846
914
  */
847
915
 
916
+
848
917
  var SSE = function (url, options) {
849
918
  if (!(this instanceof SSE)) {
850
919
  return new SSE(url, options);
@@ -943,12 +1012,27 @@ var SSE = function (url, options) {
943
1012
  this.close();
944
1013
  };
945
1014
 
946
- this._onStreamProgress = function (e) {
1015
+ this._onStreamProgress = async function (e) {
947
1016
  if (!this.xhr) {
948
1017
  return;
949
1018
  }
950
1019
 
951
- if (this.xhr.status !== 200) {
1020
+ if (this.xhr.status === 401 && !this._retry) {
1021
+ this._retry = true;
1022
+ try {
1023
+ const refreshResponse = await refreshToken();
1024
+ this.headers = {
1025
+ 'Content-Type': 'application/json',
1026
+ Authorization: `Bearer ${refreshResponse.token}`,
1027
+ };
1028
+ setTokenHeader(refreshResponse.token);
1029
+ window.dispatchEvent(new CustomEvent('tokenUpdated', { detail: refreshResponse.token }));
1030
+ this.stream();
1031
+ } catch (err) {
1032
+ this._onStreamFailure(e);
1033
+ return;
1034
+ }
1035
+ } else if (this.xhr.status !== 200) {
952
1036
  this._onStreamFailure(e);
953
1037
  return;
954
1038
  }
@@ -1084,4 +1168,4 @@ function createPayload(submission) {
1084
1168
  return { server: server, payload: payload };
1085
1169
  }
1086
1170
 
1087
- export { EModelEndpoint, QueryKeys, SSE, abortRequestWithMessage, anthropicSchema, bingAISchema, chatGPTBrowserSchema, clearAllConversations, createPayload, createPreset, deleteConversation, deletePreset, eModelEndpointSchema, getAIEndpoints, getAvailablePlugins, getConversationById, getConversations, getLoginGoogle, getMessagesByConvoId, getPresets, getResponseSender, getSearchEnabled, getStartupConfig, getUser, googleSchema, gptPluginsSchema, login, logout, openAISchema, parseConvo, refreshToken, register, requestPasswordReset, resetPassword, searchConversations, setAcceptLanguageHeader, setTokenHeader, tAgentOptionsSchema, tConversationSchema, tExampleSchema, tMessageSchema, tPluginAuthConfigSchema, tPluginSchema, tPresetSchema, updateConversation, updateMessage, updatePreset, updateTokenCount, updateUserPlugins, useAbortRequestWithMessage, useAvailablePluginsQuery, useClearConversationsMutation, useCreatePresetMutation, useDeleteConversationMutation, useDeletePresetMutation, useGetConversationByIdMutation, useGetConversationByIdQuery, useGetConversationsQuery, useGetEndpointsQuery, useGetMessagesByConvoId, useGetPresetsQuery, useGetSearchEnabledQuery, useGetStartupConfig, useGetUserQuery, useLoginUserMutation, useLogoutUserMutation, useRefreshTokenMutation, useRegisterUserMutation, useRequestPasswordResetMutation, useResetPasswordMutation, useSearchQuery, useUpdateConversationMutation, useUpdateMessageMutation, useUpdatePresetMutation, useUpdateTokenCountMutation, useUpdateUserPluginsMutation };
1171
+ export { EModelEndpoint, QueryKeys, SSE, abortRequestWithMessage, anthropicSchema, bingAISchema, chatGPTBrowserSchema, clearAllConversations, createPayload, createPreset, deleteConversation, deletePreset, eModelEndpointSchema, getAIEndpoints, getAvailablePlugins, getConversationById, getConversations, getLoginGoogle, getMessagesByConvoId, getPresets, getResponseSender, getSearchEnabled, getStartupConfig, getUser, googleSchema, gptPluginsSchema, login, logout, openAISchema, parseConvo, refreshToken, register, requestPasswordReset, resetPassword, revokeAllUserKeys, revokeUserKey, searchConversations, setAcceptLanguageHeader, setTokenHeader, tAgentOptionsSchema, tConversationSchema, tExampleSchema, tMessageSchema, tPluginAuthConfigSchema, tPluginSchema, tPresetSchema, updateConversation, updateMessage, updatePreset, updateTokenCount, updateUserKey, updateUserPlugins, useAbortRequestWithMessage, useAvailablePluginsQuery, useClearConversationsMutation, useCreatePresetMutation, useDeleteConversationMutation, useDeletePresetMutation, useGetConversationByIdMutation, useGetConversationByIdQuery, useGetConversationsQuery, useGetEndpointsQuery, useGetMessagesByConvoId, useGetPresetsQuery, useGetSearchEnabledQuery, useGetStartupConfig, useGetUserQuery, useLoginUserMutation, useLogoutUserMutation, useRefreshTokenMutation, useRegisterUserMutation, useRequestPasswordResetMutation, useResetPasswordMutation, useRevokeAllUserKeysMutation, useRevokeUserKeyMutation, useSearchQuery, useUpdateConversationMutation, useUpdateMessageMutation, useUpdatePresetMutation, useUpdateTokenCountMutation, useUpdateUserKeysMutation, useUpdateUserPluginsMutation, useUserKeyQuery, userKeyQuery };