librechat-data-provider 0.8.504 → 0.8.505
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/{data-service-Dk-uLruo.js → data-service-CG5e1FOi.js} +80 -5
- package/dist/data-service-CG5e1FOi.js.map +1 -0
- package/dist/{data-service-BFGYAHRx.mjs → data-service-CwM4Cew0.mjs} +69 -6
- package/dist/data-service-CwM4Cew0.mjs.map +1 -0
- package/dist/index.js +10 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +8 -2
- package/dist/index.mjs.map +1 -1
- package/dist/react-query/index.js +5 -1
- package/dist/react-query/index.js.map +1 -1
- package/dist/react-query/index.mjs +5 -1
- package/dist/react-query/index.mjs.map +1 -1
- package/dist/types/api-endpoints.d.ts +1 -0
- package/dist/types/config.d.ts +611 -90
- package/dist/types/data-service.d.ts +1 -0
- package/dist/types/keys.d.ts +1 -0
- package/dist/types/models.d.ts +10 -0
- package/dist/types/react-query/react-query-service.d.ts +2 -2
- package/dist/types/schemas.d.ts +14 -0
- package/dist/types/types/agents.d.ts +5 -0
- package/dist/types/types/runs.d.ts +81 -0
- package/dist/types/types.d.ts +10 -0
- package/package.json +1 -1
- package/dist/data-service-BFGYAHRx.mjs.map +0 -1
- package/dist/data-service-Dk-uLruo.js.map +0 -1
|
@@ -372,6 +372,27 @@ const openAILikeProviders = new Set([
|
|
|
372
372
|
const isOpenAILikeProvider = (provider) => {
|
|
373
373
|
return openAILikeProviders.has(provider ?? "");
|
|
374
374
|
};
|
|
375
|
+
/**
|
|
376
|
+
* Providers whose `usage_metadata.input_tokens` ALREADY INCLUDES cached tokens
|
|
377
|
+
* (`input_token_details.cache_*` is a subset, not an additional charge):
|
|
378
|
+
* Google/Vertex (`promptTokenCount`), OpenAI/Azure (`prompt_tokens`), and the
|
|
379
|
+
* OpenAI-compatible family. Anthropic/Bedrock keep cache values separate and
|
|
380
|
+
* additive. Single source of truth shared by the backend billing path
|
|
381
|
+
* (`packages/api/src/agents/usage.ts`) and the client usage normalization.
|
|
382
|
+
*/
|
|
383
|
+
const cacheSubsetProviders = new Set([
|
|
384
|
+
"openAI",
|
|
385
|
+
"azureOpenAI",
|
|
386
|
+
"google",
|
|
387
|
+
"vertexai",
|
|
388
|
+
"xai",
|
|
389
|
+
"deepseek",
|
|
390
|
+
"openrouter",
|
|
391
|
+
"moonshot"
|
|
392
|
+
]);
|
|
393
|
+
const inputTokensIncludesCache = (provider) => {
|
|
394
|
+
return cacheSubsetProviders.has(provider ?? "");
|
|
395
|
+
};
|
|
375
396
|
const isDocumentSupportedProvider = (provider) => {
|
|
376
397
|
return documentSupportedProviders.has(provider ?? "");
|
|
377
398
|
};
|
|
@@ -889,6 +910,8 @@ const tMessageSchema = z.object({
|
|
|
889
910
|
feedback: feedbackSchema.optional(),
|
|
890
911
|
/** metadata */
|
|
891
912
|
metadata: z.record(z.unknown()).optional(),
|
|
913
|
+
/** Output tokens for assistant messages, calibrated prompt-side estimate for user messages */
|
|
914
|
+
tokenCount: z.number().optional(),
|
|
892
915
|
contextMeta: z.object({
|
|
893
916
|
calibrationRatio: z.number().optional().describe("EMA ratio of provider-reported vs local token estimates; seeds the pruner on subsequent runs"),
|
|
894
917
|
encoding: z.string().optional().describe("Tokenizer encoding used when this ratio was computed (e.g. \"claude\", \"o200k_base\")")
|
|
@@ -1747,6 +1770,7 @@ const tModelSpecSchema = z.object({
|
|
|
1747
1770
|
showIconInMenu: z.boolean().optional(),
|
|
1748
1771
|
showIconInHeader: z.boolean().optional(),
|
|
1749
1772
|
showOnLanding: z.boolean().optional(),
|
|
1773
|
+
conversation_starters: z.array(z.string()).optional(),
|
|
1750
1774
|
iconURL: z.union([z.string(), eModelEndpointSchema]).optional(),
|
|
1751
1775
|
authType: authTypeSchema.optional(),
|
|
1752
1776
|
hideBadgeRow: z.boolean().optional(),
|
|
@@ -2433,6 +2457,7 @@ const searchEnabled = () => `${BASE_URL}/api/search/enable`;
|
|
|
2433
2457
|
const presets = () => `${BASE_URL}/api/presets`;
|
|
2434
2458
|
const deletePreset$1 = () => `${BASE_URL}/api/presets/delete`;
|
|
2435
2459
|
const aiEndpoints = () => `${BASE_URL}/api/endpoints`;
|
|
2460
|
+
const tokenConfig = () => `${BASE_URL}/api/endpoints/token-config`;
|
|
2436
2461
|
const models = () => `${BASE_URL}/api/models`;
|
|
2437
2462
|
const tokenizer = () => `${BASE_URL}/api/tokenizer`;
|
|
2438
2463
|
const login$1 = () => `${BASE_URL}/api/auth/login`;
|
|
@@ -3340,6 +3365,15 @@ const defaultAssistantsVersion = {
|
|
|
3340
3365
|
const baseEndpointSchema = z.object({
|
|
3341
3366
|
streamRate: z.number().optional(),
|
|
3342
3367
|
baseURL: z.string().optional(),
|
|
3368
|
+
/**
|
|
3369
|
+
* Custom request headers forwarded to the provider on every request. Values
|
|
3370
|
+
* support the same placeholder resolution as custom endpoints — env vars
|
|
3371
|
+
* (`${VAR}`), user fields (`{{LIBRECHAT_USER_*}}`), and request-body fields
|
|
3372
|
+
* (`{{LIBRECHAT_BODY_CONVERSATIONID}}`). Primarily for routing built-in
|
|
3373
|
+
* providers through an AI gateway / reverse proxy that consumes metadata
|
|
3374
|
+
* headers (provider-native request shaping is preserved).
|
|
3375
|
+
*/
|
|
3376
|
+
headers: z.record(z.string()).optional(),
|
|
3343
3377
|
titlePrompt: z.string().optional(),
|
|
3344
3378
|
titleModel: z.string().optional(),
|
|
3345
3379
|
titleConvo: z.boolean().optional(),
|
|
@@ -3536,6 +3570,14 @@ const endpointSchema = baseEndpointSchema.merge(z.object({
|
|
|
3536
3570
|
}),
|
|
3537
3571
|
iconURL: z.string().optional(),
|
|
3538
3572
|
modelDisplayLabel: z.string().optional(),
|
|
3573
|
+
/**
|
|
3574
|
+
* Forces the endpoint to use a provider's native client / request format
|
|
3575
|
+
* instead of the default OpenAI-compatible client. Currently supports
|
|
3576
|
+
* `anthropic`, for endpoints that speak the Anthropic `/v1/messages` API
|
|
3577
|
+
* (Anthropic itself or Anthropic-compatible gateways). Omit for
|
|
3578
|
+
* OpenAI-compatible endpoints.
|
|
3579
|
+
*/
|
|
3580
|
+
provider: z.literal("anthropic").optional(),
|
|
3539
3581
|
headers: z.record(z.string()).optional(),
|
|
3540
3582
|
addParams: addParamsSchema.optional(),
|
|
3541
3583
|
dropParams: z.array(z.string()).optional(),
|
|
@@ -3550,7 +3592,15 @@ const endpointSchema = baseEndpointSchema.merge(z.object({
|
|
|
3550
3592
|
"system",
|
|
3551
3593
|
"user",
|
|
3552
3594
|
"assistant"
|
|
3553
|
-
]).optional()
|
|
3595
|
+
]).optional(),
|
|
3596
|
+
/** Static per-model token config: context window and per-million-token rates */
|
|
3597
|
+
tokenConfig: z.record(z.object({
|
|
3598
|
+
prompt: z.number(),
|
|
3599
|
+
completion: z.number(),
|
|
3600
|
+
context: z.number(),
|
|
3601
|
+
cacheRead: z.number().optional(),
|
|
3602
|
+
cacheWrite: z.number().optional()
|
|
3603
|
+
})).optional()
|
|
3554
3604
|
}));
|
|
3555
3605
|
const azureEndpointSchema = z.object({
|
|
3556
3606
|
groups: azureGroupConfigsSchema,
|
|
@@ -3777,6 +3827,12 @@ const interfaceSchema = z.object({
|
|
|
3777
3827
|
retainAgentFiles: z.boolean().optional(),
|
|
3778
3828
|
runCode: z.boolean().optional(),
|
|
3779
3829
|
webSearch: z.boolean().optional(),
|
|
3830
|
+
contextUsage: z.boolean().optional(),
|
|
3831
|
+
contextCost: z.boolean().optional(),
|
|
3832
|
+
currency: z.object({
|
|
3833
|
+
code: z.string(),
|
|
3834
|
+
rate: z.number().positive()
|
|
3835
|
+
}).optional(),
|
|
3780
3836
|
peoplePicker: z.object({
|
|
3781
3837
|
users: z.boolean().optional(),
|
|
3782
3838
|
groups: z.boolean().optional(),
|
|
@@ -3827,6 +3883,8 @@ const interfaceSchema = z.object({
|
|
|
3827
3883
|
autoSubmitFromUrl: true,
|
|
3828
3884
|
runCode: true,
|
|
3829
3885
|
webSearch: true,
|
|
3886
|
+
contextUsage: true,
|
|
3887
|
+
contextCost: true,
|
|
3830
3888
|
peoplePicker: {
|
|
3831
3889
|
users: true,
|
|
3832
3890
|
groups: true,
|
|
@@ -4810,7 +4868,7 @@ let TTSProviders = /* @__PURE__ */ function(TTSProviders) {
|
|
|
4810
4868
|
/** Enum for app-wide constants */
|
|
4811
4869
|
let Constants = /* @__PURE__ */ function(Constants) {
|
|
4812
4870
|
/**
|
|
4813
|
-
* Key for the app's version. The placeholder `v0.8.
|
|
4871
|
+
* Key for the app's version. The placeholder `v0.8.7-rc1` is
|
|
4814
4872
|
* swapped in by `@rollup/plugin-replace` during `npm run build:data-provider`
|
|
4815
4873
|
* using the value of the root `package.json`'s `version` field. Consumers
|
|
4816
4874
|
* always import this via the built dist bundle (see `main` field in
|
|
@@ -4818,9 +4876,9 @@ let Constants = /* @__PURE__ */ function(Constants) {
|
|
|
4818
4876
|
* substituted value. Only tests that import the TypeScript source directly
|
|
4819
4877
|
* would observe the raw placeholder.
|
|
4820
4878
|
*/
|
|
4821
|
-
Constants["VERSION"] = "v0.8.
|
|
4879
|
+
Constants["VERSION"] = "v0.8.7-rc1";
|
|
4822
4880
|
/** Key for the Custom Config's version (librechat.yaml). */
|
|
4823
|
-
Constants["CONFIG_VERSION"] = "1.3.
|
|
4881
|
+
Constants["CONFIG_VERSION"] = "1.3.13";
|
|
4824
4882
|
/** Standard value for the first message's `parentMessageId` value, to indicate no parent exists. */
|
|
4825
4883
|
Constants["NO_PARENT"] = "00000000-0000-0000-0000-000000000000";
|
|
4826
4884
|
/** Standard value to use whatever the submission prelim. `responseMessageId` is */
|
|
@@ -5247,6 +5305,7 @@ let QueryKeys = /* @__PURE__ */ function(QueryKeys) {
|
|
|
5247
5305
|
QueryKeys["models"] = "models";
|
|
5248
5306
|
QueryKeys["balance"] = "balance";
|
|
5249
5307
|
QueryKeys["endpoints"] = "endpoints";
|
|
5308
|
+
QueryKeys["tokenConfig"] = "tokenConfig";
|
|
5250
5309
|
QueryKeys["presets"] = "presets";
|
|
5251
5310
|
QueryKeys["searchResults"] = "searchResults";
|
|
5252
5311
|
QueryKeys["tokenCount"] = "tokenCount";
|
|
@@ -5672,6 +5731,7 @@ var data_service_exports = /* @__PURE__ */ __exportAll({
|
|
|
5672
5731
|
getSkillStates: () => getSkillStates,
|
|
5673
5732
|
getSkillTree: () => getSkillTree,
|
|
5674
5733
|
getStartupConfig: () => getStartupConfig,
|
|
5734
|
+
getTokenConfig: () => getTokenConfig,
|
|
5675
5735
|
getToolCalls: () => getToolCalls,
|
|
5676
5736
|
getUser: () => getUser,
|
|
5677
5737
|
getUserBalance: () => getUserBalance,
|
|
@@ -5903,6 +5963,9 @@ const getStartupConfig = (options) => {
|
|
|
5903
5963
|
const getAIEndpoints = () => {
|
|
5904
5964
|
return request_default.get(aiEndpoints());
|
|
5905
5965
|
};
|
|
5966
|
+
const getTokenConfig = () => {
|
|
5967
|
+
return request_default.get(tokenConfig());
|
|
5968
|
+
};
|
|
5906
5969
|
const getModels = async () => {
|
|
5907
5970
|
return request_default.get(models());
|
|
5908
5971
|
};
|
|
@@ -6514,6 +6577,6 @@ const getActiveJobs = () => {
|
|
|
6514
6577
|
return request_default.get(activeJobs());
|
|
6515
6578
|
};
|
|
6516
6579
|
//#endregion
|
|
6517
|
-
export { permissionEntrySchema as $,
|
|
6580
|
+
export { permissionEntrySchema as $, feedbackTagKeySchema as $a, getModelKey as $i, MCP_USER_INPUT_FIELDS as $n, tModelSpecSchema as $r, balanceSchema as $t, updateResourcePermissions as A, tPluginSchema as Aa, assistantSchema as Ai, modularEndpoints as An, fileConfigSchema as Ar, SKILL_SYNC_MAX_INTERVAL_MINUTES as At, MutationKeys as B, StepStatus as Ba, documentSupportedProviders as Bi, summarizationTriggerSchema as Bn, megabyte as Br, TTSProviders as Bt, resetPassword as C, tConversationSchema as Ca, Verbosity as Ci, initialModelsConfig as Cn, defaultSTTMimeTypes as Cr, MAX_SUBAGENT_RUN_CONFIGS as Ct, updateFeedback as D, tMessageSchema as Da, anthropicBaseSchema as Di, messageFilterPiiSchema as Dn, excelFileTypes as Dr, RetentionMode as Dt, searchPrincipals as E, tExampleSchema as Ea, agentsSettings as Ei, memorySchema as En, endpointFileConfigSchema as Er, RerankerTypes as Et, request_default as F, AssistantStreamEvents as Fa, compactAgentsSchema as Fi, resolveEndpointType as Fn, imageTypeMapping as Fr, SearchCategories as Ft, PrincipalType as G, hostImageIdSuffix as Ga, eReasoningParameterFormatSchema as Gi, validateVisionModel as Gn, supportedMimeTypes as Gr, allowedAddressesSchema as Gt, AccessRoleIds as H, actionDelimiter as Ha, eImageDetailSchema as Hi, transactionsSchema as Hn, mimeTypeAliases as Hr, ViolationTypes as Ht, getTokenHeader as I, EToolResources as Ia, compactAssistantSchema as Ii, skillSyncConfigSchema as In, inferMimeType as Ir, SearchProviders as It, accessRoleToPermBits as J, FEEDBACK_RATINGS as Ja, eThinkingDisplaySchema as Ji, visionModels as Jn, videoMimeTypes as Jr, assistantEndpointSchema as Jt, ResourceType as K, hostImageNamePrefix as Ka, eReasoningResponseKeySchema as Ki, vertexAISchema as Kn, supportsFiles as Kr, alternateName as Kt, setAcceptLanguageHeader as L, FilePurpose as La, compactGoogleSchema as Li, skillSyncGitHubSourceSchema as Ln, isBedrockDocumentType as Lr, SettingsTabValues as Lt, updateUserKey as M, tQueryParamsSchema as Ma, cacheSubsetProviders as Mi, paramDefinitionSchema as Mn, getEndpointFileConfig as Mr, STTProviders as Mt, updateUserPlugins as N, tSharedLinkSchema as Na, coerceNumber as Ni, providerEndpointMap as Nn, imageExtRegex as Nr, SafeSearchTypes as Nt, updateMessage as O, tModelSpecPresetSchema as Oa, anthropicSchema as Oi, messageFilterSchema as On, excelMimeTypes as Or, SKILL_SYNC_DEFAULT_DISCOVERY_DEPTH as Ot, userKeyQuery as P, AnnotationTypes as Pa, compactAgentsBaseSchema as Pi, rateLimitSchema as Pn, imageMimeTypes as Pr, ScraperProviders as Pt, permBitsToAccessLevel as Q, feedbackSchema as Qa, extendedModelEndpointSchema as Qi, MCPServersSchema as Qn, specsConfigSchema as Qr, azureGroupSchema as Qt, setTokenHeader as R, MessageContentTypes as Ra, defaultAgentFormValues as Ri, specialVariables as Rn, isPermissiveMimeConfig as Rr, SettingsViews as Rt, requestPasswordReset as S, tBannerSchema as Sa, ThinkingLevel as Si, imageGenTools as Sn, defaultOCRMimeTypes as Sr, MAX_SUBAGENT_GRAPH_NODES as St, revokeUserKey as T, tConvoUpdateSchema as Ta, agentsSchema as Ti, isRemoteOidcUrlAllowed as Tn, documentParserMimeTypes as Tr, RateLimitPrefix as Tt, PermissionBits as U, actionDomainSeparator as Ua, eModelEndpointSchema as Ui, turnstileOptionsSchema as Un, retrievalMimeTypes as Ur, VisionModes as Ut, QueryKeys as V, Tools as Va, eAnthropicEffortSchema as Vi, supportsBalanceCheck as Vn, mergeFileConfig as Vr, Time as Vt, PrincipalModel as W, defaultOrderQuery as Wa, eReasoningEffortSchema as Wi, turnstileSchema as Wn, retrievalMimeTypesList as Wr, agentsEndpointSchema as Wt, getResourcePermissionsResponseSchema as X, FEEDBACK_TAGS as Xa, eVerbositySchema as Xi, MCPOptionsSchema as Xn, getRefillEligibilityDate as Xr, azureEndpointSchema as Xt, effectivePermissionsResponseSchema as Y, FEEDBACK_REASON_KEYS as Ya, eThinkingLevelSchema as Yi, webSearchSchema as Yn, REFILL_INTERVAL_UNITS as Yr, azureBaseSchema as Yt, hasPermissions as Z, feedbackRatingSchema as Za, endpointSettings as Zi, MCPServerUserInputSchema as Zn, modelSpecSubagentsSchema as Zr, azureGroupConfigsSchema as Zt, getResourcePermissions as _, openAISchema as _a, ReasoningEffort as _i, fileStrategiesSchema as _n, bedrockDocumentFormats as _r, ImageDetailCost as _t, data_service_exports as a, imageDetailNumeric as aa, generateGoogleSchema as ai, configSchema as an, extractVariableName as ao, AuthorizationTypeEnum as ar, AuthKeys as at, register as b, paramEndpoints as ba, ReasoningSummary as bi, getEndpointField as bn, codeTypeMapping as br, LocalStorageKeys as bt, getAccessRoles as c, isAgentsEndpoint as ca, AnthropicEffort as ci, defaultAssistantsVersion as cn, FileSources as cr, Capabilities as ct, getAvailablePlugins as d, isImageVisionTool as da, BedrockReasoningConfig as di, defaultRetrievalModels as dn, buildLoginRedirectUrl as dr, DEFAULT_MEMORY_MAX_INPUT_TOKENS as dt, getSettingsKeys as ea, MAX_SUBAGENTS as ei, baseEndpointSchema as en, getTagByKey as eo, SSEOptionsSchema as er, principalSchema as et, getConversationById as f, isMythosClassModel as fa, EModelEndpoint as fi, defaultSocialLogins as fn, loginPage as fr, EImageOutputType as ft, getModels as g, openAIBaseSchema as ga, Providers as gi, fileStorageSchema as gn, bedrockDocumentExtensions as gr, ForkOptions as gt, getMCPServerConnectionStatus as h, isUUID as ha, MYTHOS_CLASS_FAMILIES as hi, fileSourceSchema as hn, audioMimeTypes as hr, FetchTokenConfig as ht, createPreset as i, googleSettings as ia, generateDynamicSchema as ii, cloudfrontConfigSchema as in, extractEnvVariable as io, AuthTypeEnum as ir, AgentCapabilities as it, updateTokenCount as j, tPresetSchema as ja, authTypeSchema as ji, ocrSchema as jn, fullMimeTypesList as jr, SKILL_SYNC_MIN_INTERVAL_MINUTES as jt, updateMessageContent as k, tPluginAuthConfigSchema as ka, anthropicSettings as ki, modelConfigSchema as kn, fileConfig as kr, SKILL_SYNC_MAX_DISCOVERY_DEPTH as kt, getAgentApiKeys as l, isAssistantsEndpoint as la, AuthType as li, defaultEndpoints as ln, checkOpenAIStorage as lr, CohereConstants as lt, getEffectivePermissions as m, isParamEndpoint as ma, ImageVisionTool as mi, excludedKeys as mn, applicationMimeTypes as mr, ErrorTypes as mt, clearAllConversations as n, googleGenConfigSchema as na, OptionTypes as ni, bedrockGuardrailConfigSchema as nn, toMinimalFeedback as no, StreamableHTTPOptionsSchema as nr, updateResourcePermissionsRequestSchema as nt, deleteAgentApiKey as o, imageDetailValue as oa, generateOpenAISchema as oi, contextPruningSchema as on, isSensitiveEnvVar as oo, TokenExchangeMethodEnum as or, BASE_ONLY_CONFIG_SECTIONS as ot, getCustomConfigSpeech as p, isOpenAILikeProvider as pa, ImageDetail as pi, endpointSchema as pn, registerPage as pr, EndpointURLs as pt, accessRoleSchema as q, isActionTool as qa, eReasoningSummarySchema as qi, vertexModelConfigSchema as qn, textMimeTypes as qr, anthropicEndpointSchema as qt, createAgentApiKey as r, googleSchema as ra, SettingTypes as ri, bedrockModels as rn, envVarRegex as ro, WebSocketOptionsSchema as rr, updateResourcePermissionsResponseSchema as rt, deletePreset as s, inputTokensIncludesCache as sa, validateSettingDefinitions as si, defaultAgentCapabilities as sn, normalizeEndpointName as so, FileContext as sr, CacheKeys as st, cancelMCPOAuth as t, googleBaseSchema as ta, ComponentTypes as ti, bedrockEndpointSchema as tn, getTagsForRating as to, StdioOptionsSchema as tr, resourcePermissionsResponseSchema as tt, getAllEffectivePermissions as u, isDocumentSupportedProvider as ua, BedrockProviders as ui, defaultModels as un, apiBaseUrl as ur, Constants as ut, getSharedLink as v, openAISettings as va, ReasoningParameterFormat as vi, getConfigDefaults as vn, codeInterpreterMimeTypes as vr, InfiniteCollections as vt, revokeAllUserKeys as w, tConversationTagSchema as wa, agentsBaseSchema as wi, interfaceSchema as wn, defaultTextMimeTypes as wr, OCRStrategy as wt, reinitializeMCPServer as x, removeNullishValues as xa, ThinkingDisplay as xi, getSchemaDefaults as xn, convertStringsToRegex as xr, MAX_SUBAGENT_DEPTH as xt, getSharedMessages as y, openRouterSchema as ya, ReasoningResponseKey as yi, getDefaultParamsEndpoint as yn, codeInterpreterMimeTypesList as yr, KnownEndpoints as yt, DynamicQueryKeys as z, RunStatus as za, defaultAssistantFormValues as zi, summarizationConfigSchema as zn, mbToBytes as zr, SystemCategories as zt };
|
|
6518
6581
|
|
|
6519
|
-
//# sourceMappingURL=data-service-
|
|
6582
|
+
//# sourceMappingURL=data-service-CwM4Cew0.mjs.map
|