librechat-data-provider 0.2.0 → 0.2.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.es.js CHANGED
@@ -94,49 +94,59 @@ var processQueue = function (error, token) {
94
94
  });
95
95
  failedQueue = [];
96
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) {
97
+ axios.interceptors.response.use(function (response) { return response; }, function (error) { return __awaiter(void 0, void 0, void 0, function () {
98
+ var originalRequest, token, err_1;
99
+ return __generator(this, function (_a) {
100
+ switch (_a.label) {
101
+ case 0:
102
+ originalRequest = error.config;
103
+ if (!(error.response.status === 401 && !originalRequest._retry)) return [3 /*break*/, 7];
104
+ if (!isRefreshing) return [3 /*break*/, 6];
105
+ _a.label = 1;
106
+ case 1:
107
+ _a.trys.push([1, 4, , 6]);
108
+ return [4 /*yield*/, new Promise(function (resolve, reject) {
109
+ failedQueue.push({ resolve: resolve, reject: reject });
110
+ })];
111
+ case 2:
112
+ token = _a.sent();
105
113
  originalRequest.headers['Authorization'] = 'Bearer ' + token;
106
- return axios(originalRequest);
107
- })
108
- .catch(function (err) {
109
- return Promise.reject(err);
110
- });
114
+ return [4 /*yield*/, axios(originalRequest)];
115
+ case 3: return [2 /*return*/, _a.sent()];
116
+ case 4:
117
+ err_1 = _a.sent();
118
+ return [4 /*yield*/, Promise.reject(err_1)];
119
+ case 5: return [2 /*return*/, _a.sent()];
120
+ case 6:
121
+ originalRequest._retry = true;
122
+ isRefreshing = true;
123
+ return [2 /*return*/, new Promise(function (resolve, reject) {
124
+ refreshToken()
125
+ .then(function (_a) {
126
+ var token = _a.token;
127
+ if (token) {
128
+ originalRequest.headers['Authorization'] = 'Bearer ' + token;
129
+ setTokenHeader(token);
130
+ window.dispatchEvent(new CustomEvent('tokenUpdated', { detail: token }));
131
+ processQueue(null, token);
132
+ resolve(axios(originalRequest));
133
+ }
134
+ else {
135
+ window.location.href = '/login';
136
+ }
137
+ })
138
+ .catch(function (err) {
139
+ processQueue(err, null);
140
+ reject(err);
141
+ })
142
+ .then(function () {
143
+ isRefreshing = false;
144
+ });
145
+ })];
146
+ case 7: return [2 /*return*/, Promise.reject(error)];
111
147
  }
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
- });
148
+ });
149
+ }); });
140
150
  function _get(url, options) {
141
151
  return __awaiter(this, void 0, void 0, function () {
142
152
  var response;
@@ -350,9 +360,11 @@ var searchConversations = function (q, pageNumber) { return __awaiter(void 0, vo
350
360
  var getAIEndpoints = function () {
351
361
  return request.get(aiEndpoints());
352
362
  };
353
- var getModels = function () {
354
- return request.get(models());
355
- };
363
+ var getModels = function () { return __awaiter(void 0, void 0, void 0, function () {
364
+ return __generator(this, function (_a) {
365
+ return [2 /*return*/, request.get(models())];
366
+ });
367
+ }); };
356
368
  var updateTokenCount = function (text) {
357
369
  return request.post(tokenizer(), { arg: text });
358
370
  };
@@ -702,7 +714,7 @@ var getResponseSender = function (endpointOption) {
702
714
 
703
715
  var QueryKeys;
704
716
  (function (QueryKeys) {
705
- QueryKeys["messages"] = "messsages";
717
+ QueryKeys["messages"] = "messages";
706
718
  QueryKeys["allConversations"] = "allConversations";
707
719
  QueryKeys["conversation"] = "conversation";
708
720
  QueryKeys["searchEnabled"] = "searchEnabled";
@@ -822,12 +834,8 @@ var useGetEndpointsQuery = function () {
822
834
  refetchOnMount: false,
823
835
  });
824
836
  };
825
- var useGetModelsQuery = function () {
826
- return useQuery([QueryKeys.models], function () { return getModels(); }, {
827
- refetchOnWindowFocus: false,
828
- refetchOnReconnect: false,
829
- refetchOnMount: false,
830
- });
837
+ var useGetModelsQuery = function (config) {
838
+ return useQuery([QueryKeys.models], function () { return getModels(); }, __assign({ refetchOnWindowFocus: false, refetchOnReconnect: false, refetchOnMount: false }, config));
831
839
  };
832
840
  var useCreatePresetMutation = function () {
833
841
  var queryClient = useQueryClient();
@@ -1205,4 +1213,4 @@ function createPayload(submission) {
1205
1213
  return { server: server, payload: payload };
1206
1214
  }
1207
1215
 
1208
- export { EModelEndpoint, QueryKeys, SSE, abortRequestWithMessage, anthropicSchema, bingAISchema, chatGPTBrowserSchema, clearAllConversations, createPayload, createPreset, deleteConversation, deletePreset, eModelEndpointSchema, getAIEndpoints, getAvailablePlugins, getConversationById, getConversations, getLoginGoogle, getMessagesByConvoId, getModels, getPresets, getResponseSender, getSearchEnabled, getStartupConfig, getUser, getUserBalance, 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, useGetModelsQuery, useGetPresetsQuery, useGetSearchEnabledQuery, useGetStartupConfig, useGetUserBalance, useGetUserQuery, useLoginUserMutation, useLogoutUserMutation, useRefreshTokenMutation, useRegisterUserMutation, useRequestPasswordResetMutation, useResetPasswordMutation, useRevokeAllUserKeysMutation, useRevokeUserKeyMutation, useSearchQuery, useUpdateConversationMutation, useUpdateMessageMutation, useUpdatePresetMutation, useUpdateTokenCountMutation, useUpdateUserKeysMutation, useUpdateUserPluginsMutation, useUserKeyQuery, userKeyQuery };
1216
+ export { EModelEndpoint, QueryKeys, SSE, abortRequestWithMessage, anthropicSchema, bingAISchema, chatGPTBrowserSchema, clearAllConversations, createPayload, createPreset, deleteConversation, deletePreset, eModelEndpointSchema, getAIEndpoints, getAvailablePlugins, getConversationById, getConversations, getLoginGoogle, getMessagesByConvoId, getModels, getPresets, getResponseSender, getSearchEnabled, getStartupConfig, getUser, getUserBalance, googleSchema, gptPluginsSchema, login, logout, openAISchema, parseConvo, refreshToken, register, request, 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, useGetModelsQuery, useGetPresetsQuery, useGetSearchEnabledQuery, useGetStartupConfig, useGetUserBalance, useGetUserQuery, useLoginUserMutation, useLogoutUserMutation, useRefreshTokenMutation, useRegisterUserMutation, useRequestPasswordResetMutation, useResetPasswordMutation, useRevokeAllUserKeysMutation, useRevokeUserKeyMutation, useSearchQuery, useUpdateConversationMutation, useUpdateMessageMutation, useUpdatePresetMutation, useUpdateTokenCountMutation, useUpdateUserKeysMutation, useUpdateUserPluginsMutation, useUserKeyQuery, userKeyQuery };
package/dist/index.js CHANGED
@@ -96,49 +96,59 @@ var processQueue = function (error, token) {
96
96
  });
97
97
  failedQueue = [];
98
98
  };
99
- axios.interceptors.response.use(function (response) { return response; }, function (error) {
100
- var originalRequest = error.config;
101
- if (error.response.status === 401 && !originalRequest._retry) {
102
- if (isRefreshing) {
103
- return new Promise(function (resolve, reject) {
104
- failedQueue.push({ resolve: resolve, reject: reject });
105
- })
106
- .then(function (token) {
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;
101
+ return __generator(this, function (_a) {
102
+ switch (_a.label) {
103
+ case 0:
104
+ originalRequest = error.config;
105
+ if (!(error.response.status === 401 && !originalRequest._retry)) return [3 /*break*/, 7];
106
+ if (!isRefreshing) return [3 /*break*/, 6];
107
+ _a.label = 1;
108
+ case 1:
109
+ _a.trys.push([1, 4, , 6]);
110
+ return [4 /*yield*/, new Promise(function (resolve, reject) {
111
+ failedQueue.push({ resolve: resolve, reject: reject });
112
+ })];
113
+ case 2:
114
+ token = _a.sent();
107
115
  originalRequest.headers['Authorization'] = 'Bearer ' + token;
108
- return axios(originalRequest);
109
- })
110
- .catch(function (err) {
111
- return Promise.reject(err);
112
- });
116
+ return [4 /*yield*/, axios(originalRequest)];
117
+ case 3: return [2 /*return*/, _a.sent()];
118
+ case 4:
119
+ err_1 = _a.sent();
120
+ return [4 /*yield*/, Promise.reject(err_1)];
121
+ case 5: return [2 /*return*/, _a.sent()];
122
+ case 6:
123
+ originalRequest._retry = true;
124
+ isRefreshing = true;
125
+ return [2 /*return*/, new Promise(function (resolve, reject) {
126
+ refreshToken()
127
+ .then(function (_a) {
128
+ var token = _a.token;
129
+ if (token) {
130
+ originalRequest.headers['Authorization'] = 'Bearer ' + token;
131
+ setTokenHeader(token);
132
+ window.dispatchEvent(new CustomEvent('tokenUpdated', { detail: token }));
133
+ processQueue(null, token);
134
+ resolve(axios(originalRequest));
135
+ }
136
+ else {
137
+ window.location.href = '/login';
138
+ }
139
+ })
140
+ .catch(function (err) {
141
+ processQueue(err, null);
142
+ reject(err);
143
+ })
144
+ .then(function () {
145
+ isRefreshing = false;
146
+ });
147
+ })];
148
+ case 7: return [2 /*return*/, Promise.reject(error)];
113
149
  }
114
- originalRequest._retry = true;
115
- isRefreshing = true;
116
- return new Promise(function (resolve, reject) {
117
- refreshToken()
118
- .then(function (_a) {
119
- var token = _a.token;
120
- if (token) {
121
- originalRequest.headers['Authorization'] = 'Bearer ' + token;
122
- setTokenHeader(token);
123
- window.dispatchEvent(new CustomEvent('tokenUpdated', { detail: token }));
124
- processQueue(null, token);
125
- resolve(axios(originalRequest));
126
- }
127
- else {
128
- window.location.href = '/login';
129
- }
130
- })
131
- .catch(function (err) {
132
- processQueue(err, null);
133
- reject(err);
134
- })
135
- .then(function () {
136
- isRefreshing = false;
137
- });
138
- });
139
- }
140
- return Promise.reject(error);
141
- });
150
+ });
151
+ }); });
142
152
  function _get(url, options) {
143
153
  return __awaiter(this, void 0, void 0, function () {
144
154
  var response;
@@ -352,9 +362,11 @@ var searchConversations = function (q, pageNumber) { return __awaiter(void 0, vo
352
362
  var getAIEndpoints = function () {
353
363
  return request.get(aiEndpoints());
354
364
  };
355
- var getModels = function () {
356
- return request.get(models());
357
- };
365
+ var getModels = function () { return __awaiter(void 0, void 0, void 0, function () {
366
+ return __generator(this, function (_a) {
367
+ return [2 /*return*/, request.get(models())];
368
+ });
369
+ }); };
358
370
  var updateTokenCount = function (text) {
359
371
  return request.post(tokenizer(), { arg: text });
360
372
  };
@@ -704,7 +716,7 @@ var getResponseSender = function (endpointOption) {
704
716
 
705
717
  exports.QueryKeys = void 0;
706
718
  (function (QueryKeys) {
707
- QueryKeys["messages"] = "messsages";
719
+ QueryKeys["messages"] = "messages";
708
720
  QueryKeys["allConversations"] = "allConversations";
709
721
  QueryKeys["conversation"] = "conversation";
710
722
  QueryKeys["searchEnabled"] = "searchEnabled";
@@ -824,12 +836,8 @@ var useGetEndpointsQuery = function () {
824
836
  refetchOnMount: false,
825
837
  });
826
838
  };
827
- var useGetModelsQuery = function () {
828
- return reactQuery.useQuery([exports.QueryKeys.models], function () { return getModels(); }, {
829
- refetchOnWindowFocus: false,
830
- refetchOnReconnect: false,
831
- refetchOnMount: false,
832
- });
839
+ var useGetModelsQuery = function (config) {
840
+ return reactQuery.useQuery([exports.QueryKeys.models], function () { return getModels(); }, __assign({ refetchOnWindowFocus: false, refetchOnReconnect: false, refetchOnMount: false }, config));
833
841
  };
834
842
  var useCreatePresetMutation = function () {
835
843
  var queryClient = reactQuery.useQueryClient();
@@ -1239,6 +1247,7 @@ exports.openAISchema = openAISchema;
1239
1247
  exports.parseConvo = parseConvo;
1240
1248
  exports.refreshToken = refreshToken;
1241
1249
  exports.register = register;
1250
+ exports.request = request;
1242
1251
  exports.requestPasswordReset = requestPasswordReset;
1243
1252
  exports.resetPassword = resetPassword;
1244
1253
  exports.revokeAllUserKeys = revokeAllUserKeys;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "librechat-data-provider",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "data services for librechat apps",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.es.js",
@@ -105,7 +105,7 @@ export const getAIEndpoints = () => {
105
105
  return request.get(endpoints.aiEndpoints());
106
106
  };
107
107
 
108
- export const getModels = () => {
108
+ export const getModels = async (): Promise<t.TModelsConfig> => {
109
109
  return request.get(endpoints.models());
110
110
  };
111
111
 
package/src/index.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export * from './data-service';
2
- export * from './request';
2
+ export { default as request } from './request';
3
3
  export * from './types';
4
4
  export * from './react-query-service';
5
5
  export * from './headers-helpers';
@@ -11,7 +11,7 @@ import * as s from './schemas';
11
11
  import * as dataService from './data-service';
12
12
 
13
13
  export enum QueryKeys {
14
- messages = 'messsages',
14
+ messages = 'messages',
15
15
  allConversations = 'allConversations',
16
16
  conversation = 'conversation',
17
17
  searchEnabled = 'searchEnabled',
@@ -238,11 +238,14 @@ export const useGetEndpointsQuery = (): QueryObserverResult<t.TEndpointsConfig>
238
238
  });
239
239
  };
240
240
 
241
- export const useGetModelsQuery = (): QueryObserverResult<t.TModelsConfig> => {
242
- return useQuery([QueryKeys.models], () => dataService.getModels(), {
241
+ export const useGetModelsQuery = (
242
+ config?: UseQueryOptions<t.TModelsConfig>,
243
+ ): QueryObserverResult<t.TModelsConfig> => {
244
+ return useQuery<t.TModelsConfig>([QueryKeys.models], () => dataService.getModels(), {
243
245
  refetchOnWindowFocus: false,
244
246
  refetchOnReconnect: false,
245
247
  refetchOnMount: false,
248
+ ...config,
246
249
  });
247
250
  };
248
251
 
package/src/request.ts CHANGED
@@ -21,20 +21,19 @@ const processQueue = (error: AxiosError | null, token: string | null = null) =>
21
21
 
22
22
  axios.interceptors.response.use(
23
23
  (response) => response,
24
- (error) => {
24
+ async (error) => {
25
25
  const originalRequest = error.config;
26
26
  if (error.response.status === 401 && !originalRequest._retry) {
27
27
  if (isRefreshing) {
28
- return new Promise(function (resolve, reject) {
29
- failedQueue.push({ resolve, reject });
30
- })
31
- .then((token) => {
32
- originalRequest.headers['Authorization'] = 'Bearer ' + token;
33
- return axios(originalRequest);
34
- })
35
- .catch((err) => {
36
- return Promise.reject(err);
28
+ try {
29
+ const token = await new Promise(function (resolve, reject) {
30
+ failedQueue.push({ resolve, reject });
37
31
  });
32
+ originalRequest.headers['Authorization'] = 'Bearer ' + token;
33
+ return await axios(originalRequest);
34
+ } catch (err) {
35
+ return await Promise.reject(err);
36
+ }
38
37
  }
39
38
 
40
39
  originalRequest._retry = true;
@@ -20,7 +20,7 @@ export declare function getUser(): Promise<t.TUser>;
20
20
  export declare function getUserBalance(): Promise<string>;
21
21
  export declare const searchConversations: (q: string, pageNumber: string) => Promise<t.TSearchResults>;
22
22
  export declare const getAIEndpoints: () => Promise<unknown>;
23
- export declare const getModels: () => Promise<unknown>;
23
+ export declare const getModels: () => Promise<t.TModelsConfig>;
24
24
  export declare const updateTokenCount: (text: string) => Promise<any>;
25
25
  export declare const login: (payload: t.TLoginUser) => Promise<any>;
26
26
  export declare const logout: () => Promise<any>;
package/types/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export * from './data-service';
2
- export * from './request';
2
+ export { default as request } from './request';
3
3
  export * from './types';
4
4
  export * from './react-query-service';
5
5
  export * from './headers-helpers';
@@ -2,7 +2,7 @@ import { UseQueryOptions, UseMutationResult, QueryObserverResult } from '@tansta
2
2
  import * as t from './types';
3
3
  import * as s from './schemas';
4
4
  export declare enum QueryKeys {
5
- messages = "messsages",
5
+ messages = "messages",
6
6
  allConversations = "allConversations",
7
7
  conversation = "conversation",
8
8
  searchEnabled = "searchEnabled",
@@ -37,7 +37,7 @@ export declare const useRevokeAllUserKeysMutation: () => UseMutationResult<unkno
37
37
  export declare const useGetConversationsQuery: (pageNumber: string, config?: UseQueryOptions<t.TGetConversationsResponse>) => QueryObserverResult<t.TGetConversationsResponse>;
38
38
  export declare const useGetSearchEnabledQuery: (config?: UseQueryOptions<boolean>) => QueryObserverResult<boolean>;
39
39
  export declare const useGetEndpointsQuery: () => QueryObserverResult<t.TEndpointsConfig>;
40
- export declare const useGetModelsQuery: () => QueryObserverResult<t.TModelsConfig>;
40
+ export declare const useGetModelsQuery: (config?: UseQueryOptions<t.TModelsConfig>) => QueryObserverResult<t.TModelsConfig>;
41
41
  export declare const useCreatePresetMutation: () => UseMutationResult<s.TPreset[], unknown, s.TPreset, unknown>;
42
42
  export declare const useUpdatePresetMutation: () => UseMutationResult<s.TPreset[], unknown, s.TPreset, unknown>;
43
43
  export declare const useGetPresetsQuery: (config?: UseQueryOptions<s.TPreset[]>) => QueryObserverResult<s.TPreset[], unknown>;