librechat-data-provider 0.8.402 → 0.8.403

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.
Files changed (103) hide show
  1. package/dist/types/accessPermissions.d.ts +744 -0
  2. package/dist/types/actions.d.ts +118 -0
  3. package/dist/types/api-endpoints.d.ts +149 -0
  4. package/dist/types/artifacts.d.ts +97 -0
  5. package/dist/types/azure.d.ts +22 -0
  6. package/dist/types/bedrock.d.ts +1220 -0
  7. package/dist/types/config.d.ts +13916 -0
  8. package/dist/types/config.spec.d.ts +1 -0
  9. package/dist/types/createPayload.d.ts +5 -0
  10. package/dist/types/data-service.d.ts +284 -0
  11. package/dist/types/feedback.d.ts +36 -0
  12. package/dist/types/file-config.d.ts +263 -0
  13. package/dist/types/file-config.spec.d.ts +1 -0
  14. package/dist/types/generate.d.ts +597 -0
  15. package/dist/types/headers-helpers.d.ts +2 -0
  16. package/{src/index.ts → dist/types/index.d.ts} +0 -15
  17. package/dist/types/keys.d.ts +92 -0
  18. package/dist/types/mcp.d.ts +2760 -0
  19. package/dist/types/messages.d.ts +10 -0
  20. package/dist/types/models.d.ts +1677 -0
  21. package/dist/types/parameterSettings.d.ts +69 -0
  22. package/dist/types/parsers.d.ts +110 -0
  23. package/dist/types/permissions.d.ts +522 -0
  24. package/dist/types/react-query/react-query-service.d.ts +85 -0
  25. package/dist/types/request.d.ts +25 -0
  26. package/dist/types/roles.d.ts +554 -0
  27. package/dist/types/roles.spec.d.ts +1 -0
  28. package/dist/types/schemas.d.ts +4815 -0
  29. package/dist/types/schemas.spec.d.ts +1 -0
  30. package/dist/types/types/agents.d.ts +433 -0
  31. package/dist/types/types/assistants.d.ts +547 -0
  32. package/dist/types/types/files.d.ts +172 -0
  33. package/dist/types/types/graph.d.ts +135 -0
  34. package/{src/types/mcpServers.ts → dist/types/types/mcpServers.d.ts} +12 -18
  35. package/dist/types/types/mutations.d.ts +209 -0
  36. package/dist/types/types/queries.d.ts +169 -0
  37. package/dist/types/types/runs.d.ts +36 -0
  38. package/dist/types/types/web.d.ts +520 -0
  39. package/dist/types/types.d.ts +503 -0
  40. package/dist/types/utils.d.ts +12 -0
  41. package/package.json +4 -1
  42. package/babel.config.js +0 -4
  43. package/check_updates.sh +0 -52
  44. package/jest.config.js +0 -19
  45. package/react-query/package-lock.json +0 -292
  46. package/react-query/package.json +0 -10
  47. package/rollup.config.js +0 -74
  48. package/server-rollup.config.js +0 -40
  49. package/specs/actions.spec.ts +0 -2533
  50. package/specs/api-endpoints-subdir.spec.ts +0 -140
  51. package/specs/api-endpoints.spec.ts +0 -74
  52. package/specs/azure.spec.ts +0 -844
  53. package/specs/bedrock.spec.ts +0 -862
  54. package/specs/filetypes.spec.ts +0 -175
  55. package/specs/generate.spec.ts +0 -770
  56. package/specs/headers-helpers.spec.ts +0 -24
  57. package/specs/mcp.spec.ts +0 -147
  58. package/specs/openapiSpecs.ts +0 -524
  59. package/specs/parsers.spec.ts +0 -601
  60. package/specs/request-interceptor.spec.ts +0 -304
  61. package/specs/utils.spec.ts +0 -196
  62. package/src/accessPermissions.ts +0 -346
  63. package/src/actions.ts +0 -813
  64. package/src/api-endpoints.ts +0 -440
  65. package/src/artifacts.ts +0 -3104
  66. package/src/azure.ts +0 -328
  67. package/src/bedrock.ts +0 -425
  68. package/src/config.spec.ts +0 -315
  69. package/src/config.ts +0 -2006
  70. package/src/createPayload.ts +0 -46
  71. package/src/data-service.ts +0 -1087
  72. package/src/feedback.ts +0 -141
  73. package/src/file-config.spec.ts +0 -1248
  74. package/src/file-config.ts +0 -764
  75. package/src/generate.ts +0 -634
  76. package/src/headers-helpers.ts +0 -13
  77. package/src/keys.ts +0 -99
  78. package/src/mcp.ts +0 -271
  79. package/src/messages.ts +0 -50
  80. package/src/models.ts +0 -69
  81. package/src/parameterSettings.ts +0 -1111
  82. package/src/parsers.ts +0 -563
  83. package/src/permissions.ts +0 -188
  84. package/src/react-query/react-query-service.ts +0 -566
  85. package/src/request.ts +0 -171
  86. package/src/roles.spec.ts +0 -132
  87. package/src/roles.ts +0 -225
  88. package/src/schemas.spec.ts +0 -355
  89. package/src/schemas.ts +0 -1234
  90. package/src/types/agents.ts +0 -470
  91. package/src/types/assistants.ts +0 -654
  92. package/src/types/files.ts +0 -191
  93. package/src/types/graph.ts +0 -145
  94. package/src/types/mutations.ts +0 -422
  95. package/src/types/queries.ts +0 -208
  96. package/src/types/runs.ts +0 -40
  97. package/src/types/web.ts +0 -588
  98. package/src/types.ts +0 -676
  99. package/src/utils.ts +0 -85
  100. package/tsconfig.json +0 -28
  101. package/tsconfig.spec.json +0 -10
  102. /package/{src/react-query/index.ts → dist/types/react-query/index.d.ts} +0 -0
  103. /package/{src/types/index.ts → dist/types/types/index.d.ts} +0 -0
package/src/azure.ts DELETED
@@ -1,328 +0,0 @@
1
- import type { ZodError } from 'zod';
2
- import type {
3
- TAzureGroups,
4
- TAzureGroupMap,
5
- TAzureModelGroupMap,
6
- TValidatedAzureConfig,
7
- TAzureConfigValidationResult,
8
- } from '../src/config';
9
- import { extractEnvVariable, envVarRegex } from '../src/utils';
10
- import { azureGroupConfigsSchema } from '../src/config';
11
- import { errorsToString } from '../src/parsers';
12
-
13
- export function validateAzureGroups(configs: TAzureGroups): TAzureConfigValidationResult {
14
- let isValid = true;
15
- const modelNames: string[] = [];
16
- const modelGroupMap: TAzureModelGroupMap = {};
17
- const groupMap: TAzureGroupMap = {};
18
- const errors: (ZodError | string)[] = [];
19
-
20
- const result = azureGroupConfigsSchema.safeParse(configs);
21
- if (!result.success) {
22
- isValid = false;
23
- errors.push(errorsToString(result.error.errors));
24
- } else {
25
- for (const group of result.data) {
26
- const {
27
- group: groupName,
28
- apiKey,
29
- instanceName = '',
30
- deploymentName = '',
31
- version = '',
32
- baseURL = '',
33
- additionalHeaders,
34
- models,
35
- serverless = false,
36
- ...rest
37
- } = group;
38
-
39
- if (groupMap[groupName]) {
40
- errors.push(`Duplicate group name detected: "${groupName}". Group names must be unique.`);
41
- return { isValid: false, modelNames, modelGroupMap, groupMap, errors };
42
- }
43
-
44
- if (serverless && !baseURL) {
45
- errors.push(`Group "${groupName}" is serverless but missing mandatory "baseURL."`);
46
- return { isValid: false, modelNames, modelGroupMap, groupMap, errors };
47
- }
48
-
49
- if (!instanceName && !serverless) {
50
- errors.push(
51
- `Group "${groupName}" is missing an "instanceName" for non-serverless configuration.`,
52
- );
53
- return { isValid: false, modelNames, modelGroupMap, groupMap, errors };
54
- }
55
-
56
- groupMap[groupName] = {
57
- apiKey,
58
- instanceName,
59
- deploymentName,
60
- version,
61
- baseURL,
62
- additionalHeaders,
63
- models,
64
- serverless,
65
- ...rest,
66
- };
67
-
68
- for (const modelName in group.models) {
69
- modelNames.push(modelName);
70
- const model = group.models[modelName];
71
-
72
- if (modelGroupMap[modelName]) {
73
- errors.push(
74
- `Duplicate model name detected: "${modelName}". Model names must be unique across groups.`,
75
- );
76
- return { isValid: false, modelNames, modelGroupMap, groupMap, errors };
77
- }
78
-
79
- if (serverless) {
80
- modelGroupMap[modelName] = {
81
- group: groupName,
82
- };
83
- continue;
84
- }
85
-
86
- const groupDeploymentName = group.deploymentName ?? '';
87
- const groupVersion = group.version ?? '';
88
- if (typeof model === 'boolean') {
89
- // For boolean models, check if group-level deploymentName and version are present.
90
- if (!groupDeploymentName || !groupVersion) {
91
- errors.push(
92
- `Model "${modelName}" in group "${groupName}" is missing a deploymentName or version.`,
93
- );
94
- return { isValid: false, modelNames, modelGroupMap, groupMap, errors };
95
- }
96
-
97
- modelGroupMap[modelName] = {
98
- group: groupName,
99
- };
100
- } else {
101
- const modelDeploymentName = model.deploymentName ?? '';
102
- const modelVersion = model.version ?? '';
103
- // For object models, check if deploymentName and version are required but missing.
104
- if ((!modelDeploymentName && !groupDeploymentName) || (!modelVersion && !groupVersion)) {
105
- errors.push(
106
- `Model "${modelName}" in group "${groupName}" is missing a required deploymentName or version.`,
107
- );
108
- return { isValid: false, modelNames, modelGroupMap, groupMap, errors };
109
- }
110
-
111
- modelGroupMap[modelName] = {
112
- group: groupName,
113
- // deploymentName: modelDeploymentName || groupDeploymentName,
114
- // version: modelVersion || groupVersion,
115
- };
116
- }
117
- }
118
- }
119
- }
120
-
121
- return { isValid, modelNames, modelGroupMap, groupMap, errors };
122
- }
123
-
124
- type AzureOptions = {
125
- azureOpenAIApiKey: string;
126
- azureOpenAIApiInstanceName?: string;
127
- azureOpenAIApiDeploymentName?: string;
128
- azureOpenAIApiVersion?: string;
129
- };
130
-
131
- type MappedAzureConfig = {
132
- azureOptions: AzureOptions;
133
- baseURL?: string;
134
- headers?: Record<string, string>;
135
- serverless?: boolean;
136
- };
137
-
138
- export function mapModelToAzureConfig({
139
- modelName,
140
- modelGroupMap,
141
- groupMap,
142
- }: Omit<TValidatedAzureConfig, 'modelNames'> & {
143
- modelName: string;
144
- }): MappedAzureConfig {
145
- const modelConfig = modelGroupMap[modelName];
146
- if (!modelConfig) {
147
- throw new Error(`Model named "${modelName}" not found in configuration.`);
148
- }
149
-
150
- const groupConfig = groupMap[modelConfig.group];
151
- if (!groupConfig) {
152
- throw new Error(
153
- `Group "${modelConfig.group}" for model "${modelName}" not found in configuration.`,
154
- );
155
- }
156
-
157
- const instanceName = groupConfig.instanceName ?? '';
158
-
159
- if (!instanceName && groupConfig.serverless !== true) {
160
- throw new Error(
161
- `Group "${modelConfig.group}" is missing an instanceName for non-serverless configuration.`,
162
- );
163
- }
164
-
165
- const baseURL = groupConfig.baseURL ?? '';
166
- if (groupConfig.serverless === true && !baseURL) {
167
- throw new Error(
168
- `Group "${modelConfig.group}" is missing the required base URL for serverless configuration.`,
169
- );
170
- }
171
-
172
- if (groupConfig.serverless === true) {
173
- const result: MappedAzureConfig = {
174
- azureOptions: {
175
- azureOpenAIApiVersion: extractEnvVariable(groupConfig.version ?? ''),
176
- azureOpenAIApiKey: extractEnvVariable(groupConfig.apiKey),
177
- },
178
- baseURL: extractEnvVariable(baseURL),
179
- serverless: true,
180
- };
181
-
182
- const apiKeyValue = result.azureOptions.azureOpenAIApiKey;
183
- if (typeof apiKeyValue === 'string' && envVarRegex.test(apiKeyValue)) {
184
- throw new Error(`Azure configuration environment variable "${apiKeyValue}" was not found.`);
185
- }
186
-
187
- if (groupConfig.additionalHeaders) {
188
- result.headers = groupConfig.additionalHeaders;
189
- }
190
-
191
- return result;
192
- }
193
-
194
- if (!instanceName) {
195
- throw new Error(
196
- `Group "${modelConfig.group}" is missing an instanceName for non-serverless configuration.`,
197
- );
198
- }
199
-
200
- const modelDetails = groupConfig.models[modelName];
201
- const { deploymentName = '', version = '' } =
202
- typeof modelDetails === 'object'
203
- ? {
204
- deploymentName: modelDetails.deploymentName ?? groupConfig.deploymentName,
205
- version: modelDetails.version ?? groupConfig.version,
206
- }
207
- : {
208
- deploymentName: groupConfig.deploymentName,
209
- version: groupConfig.version,
210
- };
211
-
212
- if (!deploymentName || !version) {
213
- throw new Error(
214
- `Model "${modelName}" in group "${modelConfig.group}" is missing a deploymentName ("${deploymentName}") or version ("${version}").`,
215
- );
216
- }
217
-
218
- const azureOptions: AzureOptions = {
219
- azureOpenAIApiKey: extractEnvVariable(groupConfig.apiKey),
220
- azureOpenAIApiInstanceName: extractEnvVariable(instanceName),
221
- azureOpenAIApiDeploymentName: extractEnvVariable(deploymentName),
222
- azureOpenAIApiVersion: extractEnvVariable(version),
223
- };
224
-
225
- for (const value of Object.values(azureOptions)) {
226
- if (typeof value === 'string' && envVarRegex.test(value)) {
227
- throw new Error(`Azure configuration environment variable "${value}" was not found.`);
228
- }
229
- }
230
-
231
- const result: MappedAzureConfig = { azureOptions };
232
-
233
- if (baseURL) {
234
- result.baseURL = extractEnvVariable(baseURL);
235
- }
236
-
237
- if (groupConfig.additionalHeaders) {
238
- result.headers = groupConfig.additionalHeaders;
239
- }
240
-
241
- return result;
242
- }
243
-
244
- export function mapGroupToAzureConfig({
245
- groupName,
246
- groupMap,
247
- }: {
248
- groupName: string;
249
- groupMap: TAzureGroupMap;
250
- }): MappedAzureConfig {
251
- const groupConfig = groupMap[groupName];
252
- if (!groupConfig) {
253
- throw new Error(`Group named "${groupName}" not found in configuration.`);
254
- }
255
-
256
- const instanceName = groupConfig.instanceName ?? '';
257
- const serverless = groupConfig.serverless ?? false;
258
- const baseURL = groupConfig.baseURL ?? '';
259
-
260
- if (!instanceName && !serverless) {
261
- throw new Error(
262
- `Group "${groupName}" is missing an instanceName for non-serverless configuration.`,
263
- );
264
- }
265
-
266
- if (serverless && !baseURL) {
267
- throw new Error(
268
- `Group "${groupName}" is missing the required base URL for serverless configuration.`,
269
- );
270
- }
271
-
272
- const models = Object.keys(groupConfig.models);
273
- if (models.length === 0) {
274
- throw new Error(`Group "${groupName}" does not have any models configured.`);
275
- }
276
-
277
- // Use the first available model in the group
278
- const firstModelName = models[0];
279
- const modelDetails = groupConfig.models[firstModelName];
280
-
281
- const azureOptions: AzureOptions = {
282
- azureOpenAIApiVersion: extractEnvVariable(groupConfig.version ?? ''),
283
- azureOpenAIApiKey: extractEnvVariable(groupConfig.apiKey),
284
- azureOpenAIApiInstanceName: extractEnvVariable(instanceName),
285
- // DeploymentName and Version set below
286
- };
287
-
288
- if (serverless) {
289
- return {
290
- azureOptions,
291
- baseURL: extractEnvVariable(baseURL),
292
- serverless: true,
293
- ...(groupConfig.additionalHeaders && { headers: groupConfig.additionalHeaders }),
294
- };
295
- }
296
-
297
- const { deploymentName = '', version = '' } =
298
- typeof modelDetails === 'object'
299
- ? {
300
- deploymentName: modelDetails.deploymentName ?? groupConfig.deploymentName,
301
- version: modelDetails.version ?? groupConfig.version,
302
- }
303
- : {
304
- deploymentName: groupConfig.deploymentName,
305
- version: groupConfig.version,
306
- };
307
-
308
- if (!deploymentName || !version) {
309
- throw new Error(
310
- `Model "${firstModelName}" in group "${groupName}" or the group itself is missing a deploymentName ("${deploymentName}") or version ("${version}").`,
311
- );
312
- }
313
-
314
- azureOptions.azureOpenAIApiDeploymentName = extractEnvVariable(deploymentName);
315
- azureOptions.azureOpenAIApiVersion = extractEnvVariable(version);
316
-
317
- const result: MappedAzureConfig = { azureOptions };
318
-
319
- if (baseURL) {
320
- result.baseURL = extractEnvVariable(baseURL);
321
- }
322
-
323
- if (groupConfig.additionalHeaders) {
324
- result.headers = groupConfig.additionalHeaders;
325
- }
326
-
327
- return result;
328
- }