librechat-data-provider 0.1.9 → 0.2.0
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 +15 -2
- package/dist/index.js +15 -0
- package/package.json +3 -2
- package/src/api-endpoints.ts +2 -0
- package/src/data-service.ts +4 -0
- package/src/react-query-service.ts +21 -2
- package/src/types.ts +8 -1
- package/types/api-endpoints.d.ts +1 -0
- package/types/data-service.d.ts +1 -0
- package/types/react-query-service.d.ts +2 -0
- package/types/types.d.ts +7 -1
package/dist/index.es.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import axios from 'axios';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { useMutation, useQuery
|
|
3
|
+
import { useQueryClient, useMutation, useQuery } from '@tanstack/react-query';
|
|
4
4
|
|
|
5
5
|
/******************************************************************************
|
|
6
6
|
Copyright (c) Microsoft Corporation.
|
|
@@ -245,6 +245,7 @@ var request = {
|
|
|
245
245
|
};
|
|
246
246
|
|
|
247
247
|
var user = function () { return '/api/user'; };
|
|
248
|
+
var balance = function () { return '/api/balance'; };
|
|
248
249
|
var userPlugins = function () { return '/api/user/plugins'; };
|
|
249
250
|
var messages = function (conversationId, messageId) {
|
|
250
251
|
return "/api/messages/".concat(conversationId).concat(messageId ? "/".concat(messageId) : '');
|
|
@@ -338,6 +339,9 @@ function getSearchEnabled() {
|
|
|
338
339
|
function getUser() {
|
|
339
340
|
return request.get(user());
|
|
340
341
|
}
|
|
342
|
+
function getUserBalance() {
|
|
343
|
+
return request.get(balance());
|
|
344
|
+
}
|
|
341
345
|
var searchConversations = function (q, pageNumber) { return __awaiter(void 0, void 0, void 0, function () {
|
|
342
346
|
return __generator(this, function (_a) {
|
|
343
347
|
return [2 /*return*/, request.get(search(q, pageNumber))];
|
|
@@ -705,6 +709,7 @@ var QueryKeys;
|
|
|
705
709
|
QueryKeys["user"] = "user";
|
|
706
710
|
QueryKeys["name"] = "name";
|
|
707
711
|
QueryKeys["models"] = "models";
|
|
712
|
+
QueryKeys["balance"] = "balance";
|
|
708
713
|
QueryKeys["endpoints"] = "endpoints";
|
|
709
714
|
QueryKeys["presets"] = "presets";
|
|
710
715
|
QueryKeys["searchResults"] = "searchResults";
|
|
@@ -713,9 +718,14 @@ var QueryKeys;
|
|
|
713
718
|
QueryKeys["startupConfig"] = "startupConfig";
|
|
714
719
|
})(QueryKeys || (QueryKeys = {}));
|
|
715
720
|
var useAbortRequestWithMessage = function () {
|
|
721
|
+
var queryClient = useQueryClient();
|
|
716
722
|
return useMutation(function (_a) {
|
|
717
723
|
var endpoint = _a.endpoint, abortKey = _a.abortKey, message = _a.message;
|
|
718
724
|
return abortRequestWithMessage(endpoint, abortKey, message);
|
|
725
|
+
}, {
|
|
726
|
+
onSuccess: function () {
|
|
727
|
+
queryClient.invalidateQueries([QueryKeys.balance]);
|
|
728
|
+
},
|
|
719
729
|
});
|
|
720
730
|
};
|
|
721
731
|
var useGetUserQuery = function (config) {
|
|
@@ -724,6 +734,9 @@ var useGetUserQuery = function (config) {
|
|
|
724
734
|
var useGetMessagesByConvoId = function (id, config) {
|
|
725
735
|
return useQuery([QueryKeys.messages, id], function () { return getMessagesByConvoId(id); }, __assign({ refetchOnWindowFocus: false, refetchOnReconnect: false, refetchOnMount: false }, config));
|
|
726
736
|
};
|
|
737
|
+
var useGetUserBalance = function (config) {
|
|
738
|
+
return useQuery([QueryKeys.balance], function () { return getUserBalance(); }, __assign({ refetchOnWindowFocus: true, refetchOnReconnect: true, refetchOnMount: true }, config));
|
|
739
|
+
};
|
|
727
740
|
var useGetConversationByIdQuery = function (id, config) {
|
|
728
741
|
return useQuery([QueryKeys.conversation, id], function () { return getConversationById(id); }, __assign({ refetchOnWindowFocus: false, refetchOnReconnect: false, refetchOnMount: false }, config));
|
|
729
742
|
};
|
|
@@ -1192,4 +1205,4 @@ function createPayload(submission) {
|
|
|
1192
1205
|
return { server: server, payload: payload };
|
|
1193
1206
|
}
|
|
1194
1207
|
|
|
1195
|
-
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, 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, useGetUserQuery, useLoginUserMutation, useLogoutUserMutation, useRefreshTokenMutation, useRegisterUserMutation, useRequestPasswordResetMutation, useResetPasswordMutation, useRevokeAllUserKeysMutation, useRevokeUserKeyMutation, useSearchQuery, useUpdateConversationMutation, useUpdateMessageMutation, useUpdatePresetMutation, useUpdateTokenCountMutation, useUpdateUserKeysMutation, useUpdateUserPluginsMutation, useUserKeyQuery, userKeyQuery };
|
|
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 };
|
package/dist/index.js
CHANGED
|
@@ -247,6 +247,7 @@ var request = {
|
|
|
247
247
|
};
|
|
248
248
|
|
|
249
249
|
var user = function () { return '/api/user'; };
|
|
250
|
+
var balance = function () { return '/api/balance'; };
|
|
250
251
|
var userPlugins = function () { return '/api/user/plugins'; };
|
|
251
252
|
var messages = function (conversationId, messageId) {
|
|
252
253
|
return "/api/messages/".concat(conversationId).concat(messageId ? "/".concat(messageId) : '');
|
|
@@ -340,6 +341,9 @@ function getSearchEnabled() {
|
|
|
340
341
|
function getUser() {
|
|
341
342
|
return request.get(user());
|
|
342
343
|
}
|
|
344
|
+
function getUserBalance() {
|
|
345
|
+
return request.get(balance());
|
|
346
|
+
}
|
|
343
347
|
var searchConversations = function (q, pageNumber) { return __awaiter(void 0, void 0, void 0, function () {
|
|
344
348
|
return __generator(this, function (_a) {
|
|
345
349
|
return [2 /*return*/, request.get(search(q, pageNumber))];
|
|
@@ -707,6 +711,7 @@ exports.QueryKeys = void 0;
|
|
|
707
711
|
QueryKeys["user"] = "user";
|
|
708
712
|
QueryKeys["name"] = "name";
|
|
709
713
|
QueryKeys["models"] = "models";
|
|
714
|
+
QueryKeys["balance"] = "balance";
|
|
710
715
|
QueryKeys["endpoints"] = "endpoints";
|
|
711
716
|
QueryKeys["presets"] = "presets";
|
|
712
717
|
QueryKeys["searchResults"] = "searchResults";
|
|
@@ -715,9 +720,14 @@ exports.QueryKeys = void 0;
|
|
|
715
720
|
QueryKeys["startupConfig"] = "startupConfig";
|
|
716
721
|
})(exports.QueryKeys || (exports.QueryKeys = {}));
|
|
717
722
|
var useAbortRequestWithMessage = function () {
|
|
723
|
+
var queryClient = reactQuery.useQueryClient();
|
|
718
724
|
return reactQuery.useMutation(function (_a) {
|
|
719
725
|
var endpoint = _a.endpoint, abortKey = _a.abortKey, message = _a.message;
|
|
720
726
|
return abortRequestWithMessage(endpoint, abortKey, message);
|
|
727
|
+
}, {
|
|
728
|
+
onSuccess: function () {
|
|
729
|
+
queryClient.invalidateQueries([exports.QueryKeys.balance]);
|
|
730
|
+
},
|
|
721
731
|
});
|
|
722
732
|
};
|
|
723
733
|
var useGetUserQuery = function (config) {
|
|
@@ -726,6 +736,9 @@ var useGetUserQuery = function (config) {
|
|
|
726
736
|
var useGetMessagesByConvoId = function (id, config) {
|
|
727
737
|
return reactQuery.useQuery([exports.QueryKeys.messages, id], function () { return getMessagesByConvoId(id); }, __assign({ refetchOnWindowFocus: false, refetchOnReconnect: false, refetchOnMount: false }, config));
|
|
728
738
|
};
|
|
739
|
+
var useGetUserBalance = function (config) {
|
|
740
|
+
return reactQuery.useQuery([exports.QueryKeys.balance], function () { return getUserBalance(); }, __assign({ refetchOnWindowFocus: true, refetchOnReconnect: true, refetchOnMount: true }, config));
|
|
741
|
+
};
|
|
729
742
|
var useGetConversationByIdQuery = function (id, config) {
|
|
730
743
|
return reactQuery.useQuery([exports.QueryKeys.conversation, id], function () { return getConversationById(id); }, __assign({ refetchOnWindowFocus: false, refetchOnReconnect: false, refetchOnMount: false }, config));
|
|
731
744
|
};
|
|
@@ -1217,6 +1230,7 @@ exports.getResponseSender = getResponseSender;
|
|
|
1217
1230
|
exports.getSearchEnabled = getSearchEnabled;
|
|
1218
1231
|
exports.getStartupConfig = getStartupConfig;
|
|
1219
1232
|
exports.getUser = getUser;
|
|
1233
|
+
exports.getUserBalance = getUserBalance;
|
|
1220
1234
|
exports.googleSchema = googleSchema;
|
|
1221
1235
|
exports.gptPluginsSchema = gptPluginsSchema;
|
|
1222
1236
|
exports.login = login;
|
|
@@ -1260,6 +1274,7 @@ exports.useGetModelsQuery = useGetModelsQuery;
|
|
|
1260
1274
|
exports.useGetPresetsQuery = useGetPresetsQuery;
|
|
1261
1275
|
exports.useGetSearchEnabledQuery = useGetSearchEnabledQuery;
|
|
1262
1276
|
exports.useGetStartupConfig = useGetStartupConfig;
|
|
1277
|
+
exports.useGetUserBalance = useGetUserBalance;
|
|
1263
1278
|
exports.useGetUserQuery = useGetUserQuery;
|
|
1264
1279
|
exports.useLoginUserMutation = useLoginUserMutation;
|
|
1265
1280
|
exports.useLogoutUserMutation = useLogoutUserMutation;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "librechat-data-provider",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "data services for librechat apps",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.es.js",
|
|
@@ -28,7 +28,8 @@
|
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@tanstack/react-query": "^4.28.0",
|
|
30
30
|
"axios": "^1.3.4",
|
|
31
|
-
"
|
|
31
|
+
"openai": "^4.11.1",
|
|
32
|
+
"zod": "^3.22.4"
|
|
32
33
|
},
|
|
33
34
|
"devDependencies": {
|
|
34
35
|
"@babel/preset-env": "^7.21.5",
|
package/src/api-endpoints.ts
CHANGED
package/src/data-service.ts
CHANGED
|
@@ -90,6 +90,10 @@ export function getUser(): Promise<t.TUser> {
|
|
|
90
90
|
return request.get(endpoints.user());
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
+
export function getUserBalance(): Promise<string> {
|
|
94
|
+
return request.get(endpoints.balance());
|
|
95
|
+
}
|
|
96
|
+
|
|
93
97
|
export const searchConversations = async (
|
|
94
98
|
q: string,
|
|
95
99
|
pageNumber: string,
|
|
@@ -18,6 +18,7 @@ export enum QueryKeys {
|
|
|
18
18
|
user = 'user',
|
|
19
19
|
name = 'name', // user key name
|
|
20
20
|
models = 'models',
|
|
21
|
+
balance = 'balance',
|
|
21
22
|
endpoints = 'endpoints',
|
|
22
23
|
presets = 'presets',
|
|
23
24
|
searchResults = 'searchResults',
|
|
@@ -31,8 +32,15 @@ export const useAbortRequestWithMessage = (): UseMutationResult<
|
|
|
31
32
|
Error,
|
|
32
33
|
{ endpoint: string; abortKey: string; message: string }
|
|
33
34
|
> => {
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
const queryClient = useQueryClient();
|
|
36
|
+
return useMutation(
|
|
37
|
+
({ endpoint, abortKey, message }) =>
|
|
38
|
+
dataService.abortRequestWithMessage(endpoint, abortKey, message),
|
|
39
|
+
{
|
|
40
|
+
onSuccess: () => {
|
|
41
|
+
queryClient.invalidateQueries([QueryKeys.balance]);
|
|
42
|
+
},
|
|
43
|
+
},
|
|
36
44
|
);
|
|
37
45
|
};
|
|
38
46
|
|
|
@@ -64,6 +72,17 @@ export const useGetMessagesByConvoId = (
|
|
|
64
72
|
);
|
|
65
73
|
};
|
|
66
74
|
|
|
75
|
+
export const useGetUserBalance = (
|
|
76
|
+
config?: UseQueryOptions<string>,
|
|
77
|
+
): QueryObserverResult<string> => {
|
|
78
|
+
return useQuery<string>([QueryKeys.balance], () => dataService.getUserBalance(), {
|
|
79
|
+
refetchOnWindowFocus: true,
|
|
80
|
+
refetchOnReconnect: true,
|
|
81
|
+
refetchOnMount: true,
|
|
82
|
+
...config,
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
|
|
67
86
|
export const useGetConversationByIdQuery = (
|
|
68
87
|
id: string,
|
|
69
88
|
config?: UseQueryOptions<s.TConversation>,
|
package/src/types.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import OpenAI from 'openai';
|
|
2
2
|
import type { UseMutationResult } from '@tanstack/react-query';
|
|
3
|
+
import type { TResPlugin, TMessage, TConversation, TEndpointOption } from './schemas';
|
|
4
|
+
|
|
5
|
+
export type TOpenAIMessage = OpenAI.Chat.ChatCompletionMessageParam;
|
|
6
|
+
export type TOpenAIFunction = OpenAI.Chat.ChatCompletionCreateParams.Function;
|
|
7
|
+
export type TOpenAIFunctionCall = OpenAI.Chat.ChatCompletionCreateParams.FunctionCallOption;
|
|
3
8
|
|
|
4
9
|
export type TMutation = UseMutationResult<unknown>;
|
|
5
10
|
|
|
@@ -69,6 +74,7 @@ export type TGetConversationsResponse = {
|
|
|
69
74
|
export type TUpdateMessageRequest = {
|
|
70
75
|
conversationId: string;
|
|
71
76
|
messageId: string;
|
|
77
|
+
model: string;
|
|
72
78
|
text: string;
|
|
73
79
|
};
|
|
74
80
|
|
|
@@ -174,6 +180,7 @@ export type TStartupConfig = {
|
|
|
174
180
|
registrationEnabled: boolean;
|
|
175
181
|
socialLoginEnabled: boolean;
|
|
176
182
|
emailEnabled: boolean;
|
|
183
|
+
checkBalance: boolean;
|
|
177
184
|
};
|
|
178
185
|
|
|
179
186
|
export type TRefreshTokenResponse = {
|
package/types/api-endpoints.d.ts
CHANGED
package/types/data-service.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export declare function updatePreset(payload: s.TPreset): Promise<s.TPreset[]>;
|
|
|
17
17
|
export declare function deletePreset(arg: s.TPreset | object): Promise<s.TPreset[]>;
|
|
18
18
|
export declare function getSearchEnabled(): Promise<boolean>;
|
|
19
19
|
export declare function getUser(): Promise<t.TUser>;
|
|
20
|
+
export declare function getUserBalance(): Promise<string>;
|
|
20
21
|
export declare const searchConversations: (q: string, pageNumber: string) => Promise<t.TSearchResults>;
|
|
21
22
|
export declare const getAIEndpoints: () => Promise<unknown>;
|
|
22
23
|
export declare const getModels: () => Promise<unknown>;
|
|
@@ -9,6 +9,7 @@ export declare enum QueryKeys {
|
|
|
9
9
|
user = "user",
|
|
10
10
|
name = "name",
|
|
11
11
|
models = "models",
|
|
12
|
+
balance = "balance",
|
|
12
13
|
endpoints = "endpoints",
|
|
13
14
|
presets = "presets",
|
|
14
15
|
searchResults = "searchResults",
|
|
@@ -23,6 +24,7 @@ export declare const useAbortRequestWithMessage: () => UseMutationResult<void, E
|
|
|
23
24
|
}>;
|
|
24
25
|
export declare const useGetUserQuery: (config?: UseQueryOptions<t.TUser>) => QueryObserverResult<t.TUser>;
|
|
25
26
|
export declare const useGetMessagesByConvoId: (id: string, config?: UseQueryOptions<s.TMessage[]>) => QueryObserverResult<s.TMessage[]>;
|
|
27
|
+
export declare const useGetUserBalance: (config?: UseQueryOptions<string>) => QueryObserverResult<string>;
|
|
26
28
|
export declare const useGetConversationByIdQuery: (id: string, config?: UseQueryOptions<s.TConversation>) => QueryObserverResult<s.TConversation>;
|
|
27
29
|
export declare const useGetConversationByIdMutation: (id: string) => UseMutationResult<s.TConversation>;
|
|
28
30
|
export declare const useUpdateConversationMutation: (id: string) => UseMutationResult<t.TUpdateConversationResponse, unknown, t.TUpdateConversationRequest, unknown>;
|
package/types/types.d.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import OpenAI from 'openai';
|
|
2
2
|
import type { UseMutationResult } from '@tanstack/react-query';
|
|
3
|
+
import type { TResPlugin, TMessage, TConversation, TEndpointOption } from './schemas';
|
|
4
|
+
export type TOpenAIMessage = OpenAI.Chat.ChatCompletionMessageParam;
|
|
5
|
+
export type TOpenAIFunction = OpenAI.Chat.ChatCompletionCreateParams.Function;
|
|
6
|
+
export type TOpenAIFunctionCall = OpenAI.Chat.ChatCompletionCreateParams.FunctionCallOption;
|
|
3
7
|
export type TMutation = UseMutationResult<unknown>;
|
|
4
8
|
export * from './schemas';
|
|
5
9
|
export type TMessages = TMessage[];
|
|
@@ -58,6 +62,7 @@ export type TGetConversationsResponse = {
|
|
|
58
62
|
export type TUpdateMessageRequest = {
|
|
59
63
|
conversationId: string;
|
|
60
64
|
messageId: string;
|
|
65
|
+
model: string;
|
|
61
66
|
text: string;
|
|
62
67
|
};
|
|
63
68
|
export type TUpdateUserKeyRequest = {
|
|
@@ -144,6 +149,7 @@ export type TStartupConfig = {
|
|
|
144
149
|
registrationEnabled: boolean;
|
|
145
150
|
socialLoginEnabled: boolean;
|
|
146
151
|
emailEnabled: boolean;
|
|
152
|
+
checkBalance: boolean;
|
|
147
153
|
};
|
|
148
154
|
export type TRefreshTokenResponse = {
|
|
149
155
|
token: string;
|