librechat-data-provider 0.1.2 → 0.1.4

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/src/types.ts CHANGED
@@ -1,31 +1,11 @@
1
- export type TMessage = {
2
- messageId: string;
3
- conversationId: string;
4
- clientId: string;
5
- parentMessageId: string;
6
- sender: string;
7
- text: string;
8
- isCreatedByUser: boolean;
9
- error: boolean;
10
- createdAt: string;
11
- updatedAt: string;
12
- };
1
+ import * as React from 'react';
2
+ import { TExample, TMessage, EModelEndpoint, TPlugin, TConversation, TPreset } from './schemas';
13
3
 
14
- export type TExample = {
15
- input: string;
16
- output: string;
17
- };
4
+ export * from './schemas';
18
5
 
19
- export enum EModelEndpoint {
20
- azureOpenAI = 'azureOpenAI',
21
- openAI = 'openAI',
22
- bingAI = 'bingAI',
23
- chatGPT = 'chatGPT',
24
- chatGPTBrowser = 'chatGPTBrowser',
25
- google = 'google',
26
- gptPlugins = 'gptPlugins',
27
- anthropic = 'anthropic',
28
- }
6
+ export type TMessages = TMessage[];
7
+
8
+ export type TMessagesAtom = TMessages | null;
29
9
 
30
10
  export type TSubmission = {
31
11
  clientId?: string;
@@ -33,7 +13,7 @@ export type TSubmission = {
33
13
  conversationId?: string;
34
14
  conversationSignature?: string;
35
15
  current: boolean;
36
- endpoint: EModelEndpoint;
16
+ endpoint: EModelEndpoint | null;
37
17
  invocationId: number;
38
18
  isCreatedByUser: boolean;
39
19
  jailbreak: boolean;
@@ -57,25 +37,20 @@ export type TSubmission = {
57
37
  };
58
38
 
59
39
  export type TEndpointOption = {
60
- endpoint: EModelEndpoint;
40
+ endpoint: EModelEndpoint | null;
61
41
  model?: string;
62
42
  promptPrefix?: string;
63
43
  temperature?: number;
64
44
  };
65
45
 
66
- export type TPluginAuthConfig = {
67
- authField: string;
68
- label: string;
69
- description: string;
46
+ export type TPluginAction = {
47
+ pluginKey: string;
48
+ action: 'install' | 'uninstall';
49
+ auth?: unknown;
70
50
  };
71
51
 
72
- export type TPlugin = {
73
- name: string;
74
- pluginKey: string;
75
- description: string;
76
- icon: string;
77
- authConfig: TPluginAuthConfig[];
78
- authenticated: boolean;
52
+ export type TTemplate = {
53
+ [key: string]: TPlugin;
79
54
  };
80
55
 
81
56
  export type TUpdateUserPlugins = {
@@ -84,64 +59,9 @@ export type TUpdateUserPlugins = {
84
59
  auth?: unknown;
85
60
  };
86
61
 
87
- export type TConversation = {
88
- conversationId: string;
89
- title: string;
90
- user?: string;
91
- endpoint: EModelEndpoint;
92
- suggestions?: string[];
93
- messages?: TMessage[];
94
- tools?: TPlugin[];
95
- createdAt: string;
96
- updatedAt: string;
97
- // google only
98
- modelLabel?: string;
99
- examples?: TExample[];
100
- // for azureOpenAI, openAI only
101
- chatGptLabel?: string;
102
- userLabel?: string;
103
- model?: string;
104
- promptPrefix?: string;
105
- temperature?: number;
106
- topP?: number;
107
- topK?: number;
108
- // bing and google
109
- context?: string;
110
- top_p?: number;
111
- presence_penalty?: number;
112
- // for bingAI only
113
- jailbreak?: boolean;
114
- jailbreakConversationId?: string;
115
- conversationSignature?: string;
116
- parentMessageId?: string;
117
- clientId?: string;
118
- invocationId?: string;
119
- toneStyle?: string;
120
- };
121
-
122
- export type TPreset = {
123
- title: string;
124
- endpoint: EModelEndpoint;
125
- conversationSignature?: string;
126
- createdAt?: string;
127
- updatedAt?: string;
128
- presetId?: string;
129
- user?: string;
130
- // for azureOpenAI, openAI only
131
- chatGptLabel?: string;
132
- frequence_penalty?: number;
133
- model?: string;
134
- presence_penalty?: number;
135
- promptPrefix?: string;
136
- temperature?: number;
137
- top_p?: number;
138
- //for BingAI
139
- clientId?: string;
140
- invocationId?: number;
141
- jailbreak?: boolean;
142
- jailbreakPresetId?: string;
143
- presetSignature?: string;
144
- toneStyle?: string;
62
+ export type TOptionSettings = {
63
+ showExamples?: boolean;
64
+ isCodeChat?: boolean;
145
65
  };
146
66
 
147
67
  export type TUser = {
@@ -196,15 +116,30 @@ export type TSearchResults = {
196
116
  filter: object;
197
117
  };
198
118
 
199
- export type TEndpoints = {
200
- azureOpenAI: boolean;
201
- bingAI: boolean;
202
- ChatGptBrowser: {
119
+ export type TEndpointsConfig = {
120
+ azureOpenAI: {
203
121
  availableModels: [];
204
- };
205
- OpenAI: {
122
+ } | null;
123
+ bingAI: {
206
124
  availableModels: [];
207
- };
125
+ } | null;
126
+ chatGPTBrowser: {
127
+ availableModels: [];
128
+ } | null;
129
+ anthropic: {
130
+ availableModels: [];
131
+ } | null;
132
+ google: {
133
+ availableModels: [];
134
+ } | null;
135
+ openAI: {
136
+ availableModels: [];
137
+ } | null;
138
+ gptPlugins: {
139
+ availableModels: [];
140
+ availableTools?: [];
141
+ plugins?: [];
142
+ } | null;
208
143
  };
209
144
 
210
145
  export type TUpdateTokenCountResponse = {
@@ -257,6 +192,7 @@ export type TStartupConfig = {
257
192
  serverDomain: string;
258
193
  registrationEnabled: boolean;
259
194
  socialLoginEnabled: boolean;
195
+ emailEnabled: boolean;
260
196
  };
261
197
 
262
198
  export type TRefreshTokenResponse = {
@@ -265,7 +201,8 @@ export type TRefreshTokenResponse = {
265
201
  };
266
202
 
267
203
  export type TRequestPasswordResetResponse = {
268
- link: string;
204
+ link?: string;
205
+ message?: string;
269
206
  };
270
207
 
271
208
  export type File = {
@@ -273,3 +210,137 @@ export type File = {
273
210
  date: number;
274
211
  size: number;
275
212
  };
213
+
214
+ export type SetOption = (param: number | string) => (newValue: number | string | boolean) => void;
215
+ export type SetExample = (
216
+ i: number,
217
+ type: string,
218
+ newValue: number | string | boolean | null,
219
+ ) => void;
220
+
221
+ export enum Side {
222
+ Top = 'top',
223
+ Right = 'right',
224
+ Bottom = 'bottom',
225
+ Left = 'left',
226
+ }
227
+
228
+ export type OptionHoverProps = {
229
+ endpoint: string;
230
+ type: string;
231
+ side: Side;
232
+ };
233
+
234
+ export type BaseProps = {
235
+ conversation: TConversation | TPreset | null;
236
+ className?: string;
237
+ isPreset?: boolean;
238
+ readonly?: boolean;
239
+ };
240
+
241
+ export type SettingsProps = BaseProps & {
242
+ setOption: SetOption;
243
+ };
244
+
245
+ export type TModels = {
246
+ models: string[];
247
+ };
248
+
249
+ export type ModelSelectProps = SettingsProps & TModels;
250
+
251
+ export type ExamplesProps = {
252
+ readonly?: boolean;
253
+ className?: string;
254
+ examples: TExample[];
255
+ setExample: SetExample;
256
+ addExample: () => void;
257
+ removeExample: () => void;
258
+ };
259
+
260
+ export type GoogleProps = {
261
+ showExamples: boolean;
262
+ isCodeChat: boolean;
263
+ };
264
+
265
+ export type GoogleViewProps = SettingsProps & GoogleProps;
266
+ export type OptionComponent = React.FC<ModelSelectProps>;
267
+ export type MultiViewComponent = React.FC<BaseProps & TModels>;
268
+
269
+ export type SelectProps = {
270
+ conversation: TConversation | null;
271
+ setOption: SetOption;
272
+ extraProps?: GoogleProps;
273
+ };
274
+
275
+ export type SetOptionsPayload = {
276
+ setOption: SetOption;
277
+ setExample: SetExample;
278
+ addExample: () => void;
279
+ removeExample: () => void;
280
+ setAgentOption: SetOption;
281
+ getConversation: () => TConversation | TPreset | null;
282
+ checkPluginSelection: (value: string) => boolean;
283
+ setTools: (newValue: string) => void;
284
+ };
285
+
286
+ export type UseSetOptions = (preset?: TPreset | boolean | null) => SetOptionsPayload;
287
+ export type UsePresetOptions = (preset?: TPreset | boolean | null) => SetOptionsPayload | boolean;
288
+
289
+ export type PopoverButton = {
290
+ label: string;
291
+ buttonClass: string;
292
+ handler: () => void;
293
+ icon: React.ReactNode;
294
+ };
295
+
296
+ export type EndpointOptionsPopoverProps = {
297
+ children: React.ReactNode;
298
+ visible: boolean;
299
+ endpoint: EModelEndpoint;
300
+ saveAsPreset: () => void;
301
+ closePopover: () => void;
302
+ };
303
+
304
+ export type EditPresetProps = {
305
+ open: boolean;
306
+ onOpenChange: React.Dispatch<React.SetStateAction<boolean>>;
307
+ preset: TPreset;
308
+ title?: string;
309
+ };
310
+
311
+ export type MultiSelectDropDownProps = {
312
+ title?: string;
313
+ value: Array<{ icon?: string; name?: string; isButton?: boolean }>;
314
+ disabled?: boolean;
315
+ setSelected: (option: string) => void;
316
+ availableValues: TPlugin[];
317
+ showAbove?: boolean;
318
+ showLabel?: boolean;
319
+ containerClassName?: string;
320
+ isSelected: (value: string) => boolean;
321
+ className?: string;
322
+ optionValueKey?: string;
323
+ };
324
+
325
+ export type TError = {
326
+ message: string;
327
+ code?: number;
328
+ response?: {
329
+ data?: {
330
+ message?: string;
331
+ };
332
+ };
333
+ };
334
+
335
+ export type CleanupPreset = {
336
+ preset: Partial<TPreset>;
337
+ endpointsConfig?: TEndpointsConfig | Record<string, unknown>;
338
+ };
339
+
340
+ export type PagesProps = {
341
+ pages: number;
342
+ pageNumber: number;
343
+ setPageNumber: (pageNumber: number) => void;
344
+ nextPage: () => Promise<void>;
345
+ previousPage: () => Promise<void>;
346
+ };
@@ -2,19 +2,19 @@ import type { TSubmission, EModelEndpoint } from './types';
2
2
  export default function createPayload(submission: TSubmission): {
3
3
  server: string;
4
4
  payload: {
5
- conversationId: string;
6
- endpoint: EModelEndpoint;
5
+ conversationId: string | null;
6
+ endpoint: EModelEndpoint | null;
7
7
  model?: string | undefined;
8
8
  promptPrefix?: string | undefined;
9
9
  temperature?: number | undefined;
10
- messageId: string;
11
- clientId: string;
10
+ error: boolean;
11
+ createdAt: string;
12
+ updatedAt: string;
12
13
  parentMessageId: string;
14
+ clientId: string;
15
+ messageId: string;
13
16
  sender: string;
14
17
  text: string;
15
18
  isCreatedByUser: boolean;
16
- error: boolean;
17
- createdAt: string;
18
- updatedAt: string;
19
19
  };
20
20
  };
@@ -1,15 +1,16 @@
1
1
  import * as t from './types';
2
+ import * as s from './schemas';
2
3
  export declare function getConversations(pageNumber: string): Promise<t.TGetConversationsResponse>;
3
4
  export declare function abortRequestWithMessage(endpoint: string, abortKey: string, message: string): Promise<void>;
4
5
  export declare function deleteConversation(payload: t.TDeleteConversationRequest): Promise<any>;
5
6
  export declare function clearAllConversations(): Promise<unknown>;
6
- export declare function getMessagesByConvoId(id: string): Promise<t.TMessage[]>;
7
- export declare function getConversationById(id: string): Promise<t.TConversation>;
7
+ export declare function getMessagesByConvoId(id: string): Promise<s.TMessage[]>;
8
+ export declare function getConversationById(id: string): Promise<s.TConversation>;
8
9
  export declare function updateConversation(payload: t.TUpdateConversationRequest): Promise<t.TUpdateConversationResponse>;
9
- export declare function getPresets(): Promise<t.TPreset[]>;
10
- export declare function createPreset(payload: t.TPreset): Promise<t.TPreset[]>;
11
- export declare function updatePreset(payload: t.TPreset): Promise<t.TPreset[]>;
12
- export declare function deletePreset(arg: t.TPreset | object): Promise<t.TPreset[]>;
10
+ export declare function getPresets(): Promise<s.TPreset[]>;
11
+ export declare function createPreset(payload: s.TPreset): Promise<s.TPreset[]>;
12
+ export declare function updatePreset(payload: s.TPreset): Promise<s.TPreset[]>;
13
+ export declare function deletePreset(arg: s.TPreset | object): Promise<s.TPreset[]>;
13
14
  export declare function getSearchEnabled(): Promise<boolean>;
14
15
  export declare function getUser(): Promise<t.TUser>;
15
16
  export declare const searchConversations: (q: string, pageNumber: string) => Promise<t.TSearchResults>;
@@ -22,6 +23,6 @@ export declare const refreshToken: () => Promise<any>;
22
23
  export declare const getLoginGoogle: () => Promise<unknown>;
23
24
  export declare const requestPasswordReset: (payload: t.TRequestPasswordReset) => Promise<t.TRequestPasswordResetResponse>;
24
25
  export declare const resetPassword: (payload: t.TResetPassword) => Promise<any>;
25
- export declare const getAvailablePlugins: () => Promise<t.TPlugin[]>;
26
+ export declare const getAvailablePlugins: () => Promise<s.TPlugin[]>;
26
27
  export declare const updateUserPlugins: (payload: t.TUpdateUserPlugins) => Promise<any>;
27
28
  export declare const getStartupConfig: () => Promise<t.TStartupConfig>;
@@ -1,5 +1,6 @@
1
1
  import { UseQueryOptions, UseMutationResult, QueryObserverResult } from '@tanstack/react-query';
2
2
  import * as t from './types';
3
+ import * as s from './schemas';
3
4
  export declare enum QueryKeys {
4
5
  messages = "messsages",
5
6
  allConversations = "allConversations",
@@ -19,27 +20,29 @@ export declare const useAbortRequestWithMessage: () => UseMutationResult<void, E
19
20
  message: string;
20
21
  }>;
21
22
  export declare const useGetUserQuery: (config?: UseQueryOptions<t.TUser>) => QueryObserverResult<t.TUser>;
22
- export declare const useGetMessagesByConvoId: (id: string, config?: UseQueryOptions<t.TMessage[]>) => QueryObserverResult<t.TMessage[]>;
23
- export declare const useGetConversationByIdQuery: (id: string, config?: UseQueryOptions<t.TConversation>) => QueryObserverResult<t.TConversation>;
24
- export declare const useGetConversationByIdMutation: (id: string) => UseMutationResult<t.TConversation>;
23
+ export declare const useGetMessagesByConvoId: (id: string, config?: UseQueryOptions<s.TMessage[]>) => QueryObserverResult<s.TMessage[]>;
24
+ export declare const useGetConversationByIdQuery: (id: string, config?: UseQueryOptions<s.TConversation>) => QueryObserverResult<s.TConversation>;
25
+ export declare const useGetConversationByIdMutation: (id: string) => UseMutationResult<s.TConversation>;
25
26
  export declare const useUpdateConversationMutation: (id: string) => UseMutationResult<t.TUpdateConversationResponse, unknown, t.TUpdateConversationRequest, unknown>;
26
27
  export declare const useDeleteConversationMutation: (id?: string) => UseMutationResult<t.TDeleteConversationResponse, unknown, t.TDeleteConversationRequest, unknown>;
27
28
  export declare const useClearConversationsMutation: () => UseMutationResult<unknown>;
28
29
  export declare const useGetConversationsQuery: (pageNumber: string, config?: UseQueryOptions<t.TGetConversationsResponse>) => QueryObserverResult<t.TGetConversationsResponse>;
29
30
  export declare const useGetSearchEnabledQuery: (config?: UseQueryOptions<boolean>) => QueryObserverResult<boolean>;
30
- export declare const useGetEndpointsQuery: () => QueryObserverResult<t.TEndpoints>;
31
- export declare const useCreatePresetMutation: () => UseMutationResult<t.TPreset[], unknown, t.TPreset, unknown>;
32
- export declare const useUpdatePresetMutation: () => UseMutationResult<t.TPreset[], unknown, t.TPreset, unknown>;
33
- export declare const useGetPresetsQuery: (config?: UseQueryOptions<t.TPreset[]>) => QueryObserverResult<t.TPreset[], unknown>;
34
- export declare const useDeletePresetMutation: () => UseMutationResult<t.TPreset[], unknown, t.TPreset | object, unknown>;
31
+ export declare const useGetEndpointsQuery: () => QueryObserverResult<t.TEndpointsConfig>;
32
+ export declare const useCreatePresetMutation: () => UseMutationResult<s.TPreset[], unknown, s.TPreset, unknown>;
33
+ export declare const useUpdatePresetMutation: () => UseMutationResult<s.TPreset[], unknown, s.TPreset, unknown>;
34
+ export declare const useGetPresetsQuery: (config?: UseQueryOptions<s.TPreset[]>) => QueryObserverResult<s.TPreset[], unknown>;
35
+ export declare const useDeletePresetMutation: () => UseMutationResult<s.TPreset[], unknown, s.TPreset | object, unknown>;
35
36
  export declare const useSearchQuery: (searchQuery: string, pageNumber: string, config?: UseQueryOptions<t.TSearchResults>) => QueryObserverResult<t.TSearchResults>;
36
- export declare const useUpdateTokenCountMutation: () => UseMutationResult<t.TUpdateTokenCountResponse, unknown, string, unknown>;
37
+ export declare const useUpdateTokenCountMutation: () => UseMutationResult<t.TUpdateTokenCountResponse, unknown, {
38
+ text: string;
39
+ }, unknown>;
37
40
  export declare const useLoginUserMutation: () => UseMutationResult<t.TLoginResponse, unknown, t.TLoginUser, unknown>;
38
41
  export declare const useRegisterUserMutation: () => UseMutationResult<unknown, unknown, t.TRegisterUser, unknown>;
39
42
  export declare const useLogoutUserMutation: () => UseMutationResult<unknown>;
40
43
  export declare const useRefreshTokenMutation: () => UseMutationResult<t.TRefreshTokenResponse, unknown, unknown, unknown>;
41
44
  export declare const useRequestPasswordResetMutation: () => UseMutationResult<t.TRequestPasswordResetResponse, unknown, t.TRequestPasswordReset, unknown>;
42
45
  export declare const useResetPasswordMutation: () => UseMutationResult<unknown, unknown, t.TResetPassword, unknown>;
43
- export declare const useAvailablePluginsQuery: () => QueryObserverResult<t.TPlugin[]>;
46
+ export declare const useAvailablePluginsQuery: () => QueryObserverResult<s.TPlugin[]>;
44
47
  export declare const useUpdateUserPluginsMutation: () => UseMutationResult<t.TUser, unknown, t.TUpdateUserPlugins, unknown>;
45
48
  export declare const useGetStartupConfig: () => QueryObserverResult<t.TStartupConfig>;