mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-01-26 20:26:13 +01:00
🗄️ feat: Allow Skipping Transactions When Balance is Disabled (#9419)
* Disable transaction creation when balance is disabled * Add configuration to disable transactions creation * chore: remove comments --------- Co-authored-by: Danny Avila <danacordially@gmail.com>
This commit is contained in:
parent
0ecafcd38e
commit
e95e0052da
10 changed files with 544 additions and 7 deletions
|
|
@ -1,7 +1,8 @@
|
|||
import { EModelEndpoint, removeNullishValues } from 'librechat-data-provider';
|
||||
import type { TCustomConfig, TEndpoint } from 'librechat-data-provider';
|
||||
import type { TCustomConfig, TEndpoint, TTransactionsConfig } from 'librechat-data-provider';
|
||||
import type { AppConfig } from '~/types';
|
||||
import { isEnabled, normalizeEndpointName } from '~/utils';
|
||||
import { logger } from '@librechat/data-schemas';
|
||||
|
||||
/**
|
||||
* Retrieves the balance configuration object
|
||||
|
|
@ -20,6 +21,32 @@ export function getBalanceConfig(appConfig?: AppConfig): Partial<TCustomConfig['
|
|||
return { ...config, ...(appConfig?.['balance'] ?? {}) };
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the transactions configuration object
|
||||
* */
|
||||
export function getTransactionsConfig(appConfig?: AppConfig): TTransactionsConfig {
|
||||
const defaultConfig: TTransactionsConfig = { enabled: true };
|
||||
|
||||
if (!appConfig) {
|
||||
return defaultConfig;
|
||||
}
|
||||
|
||||
const transactionsConfig = appConfig?.['transactions'] ?? defaultConfig;
|
||||
const balanceConfig = getBalanceConfig(appConfig);
|
||||
|
||||
// If balance is enabled but transactions are disabled, force transactions to be enabled
|
||||
// and log a warning
|
||||
if (balanceConfig?.enabled && !transactionsConfig.enabled) {
|
||||
logger.warn(
|
||||
'Configuration warning: transactions.enabled=false is incompatible with balance.enabled=true. ' +
|
||||
'Transactions will be enabled to ensure balance tracking works correctly.',
|
||||
);
|
||||
return { ...transactionsConfig, enabled: true };
|
||||
}
|
||||
|
||||
return transactionsConfig;
|
||||
}
|
||||
|
||||
export const getCustomEndpointConfig = ({
|
||||
endpoint,
|
||||
appConfig,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue