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 +161 -77
- package/dist/index.js +168 -76
- package/package.json +5 -3
- package/src/api-endpoints.ts +36 -72
- package/src/data-service.ts +21 -3
- package/src/react-query-service.ts +55 -0
- package/src/request.ts +66 -1
- package/src/schemas.ts +5 -3
- package/src/sse.js +20 -2
- package/src/types.ts +15 -0
- package/types/api-endpoints.d.ts +4 -0
- package/types/createPayload.d.ts +3 -1
- package/types/data-service.d.ts +4 -0
- package/types/react-query-service.d.ts +5 -0
- package/types/schemas.d.ts +5 -1
- package/types/types.d.ts +12 -0
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
|
-
|
|
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
|
|
193
|
-
|
|
194
|
-
};
|
|
195
|
-
var
|
|
196
|
-
|
|
197
|
-
};
|
|
198
|
-
var
|
|
199
|
-
|
|
200
|
-
};
|
|
201
|
-
var
|
|
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
|
-
|
|
212
|
-
};
|
|
213
|
-
var
|
|
214
|
-
|
|
215
|
-
};
|
|
216
|
-
var
|
|
217
|
-
|
|
218
|
-
};
|
|
219
|
-
var
|
|
220
|
-
|
|
221
|
-
};
|
|
222
|
-
var
|
|
223
|
-
|
|
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
|
-
|
|
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 :
|
|
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:
|
|
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
|
|
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 };
|