mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-01-02 08:38:51 +01:00
* feat: Implement concurrent request handling in ResumableAgentController - Introduced a new concurrency management system by adding `checkAndIncrementPendingRequest` and `decrementPendingRequest` functions to manage user request limits. - Replaced the previous `concurrentLimiter` middleware with a more integrated approach directly within the `ResumableAgentController`. - Enhanced violation logging and request denial for users exceeding their concurrent request limits. - Removed the obsolete `concurrentLimiter` middleware file and updated related imports across the codebase. * refactor: Simplify error handling in ResumableAgentController and enhance SSE error management - Removed the `denyRequest` middleware and replaced it with a direct response for concurrent request violations in the ResumableAgentController. - Improved error handling in the `useResumableSSE` hook to differentiate between network errors and other error types, ensuring more informative error responses are sent to the error handler. * test: Enhance MCP server configuration tests with new mocks and improved logging - Added mocks for MCP server registry and manager in `index.spec.js` to facilitate testing of server configurations. - Updated debug logging in `initializeMCPs.spec.js` to simplify messages regarding server configurations, improving clarity in test outputs. * refactor: Enhance concurrency management in request handling - Updated `checkAndIncrementPendingRequest` and `decrementPendingRequest` functions to utilize Redis for atomic request counting, improving concurrency control. - Added error handling for Redis operations to ensure requests can proceed even during Redis failures. - Streamlined cache key generation for both Redis and in-memory fallback, enhancing clarity and performance in managing pending requests. - Improved comments and documentation for better understanding of the concurrency logic and its implications. * refactor: Improve atomicity in Redis operations for pending request management - Updated `checkAndIncrementPendingRequest` to utilize Redis pipelines for atomic INCR and EXPIRE operations, enhancing concurrency control and preventing edge cases. - Added error handling for pipeline execution failures to ensure robust request management. - Improved comments for clarity on the concurrency logic and its implications.
49 lines
1.6 KiB
JavaScript
49 lines
1.6 KiB
JavaScript
const validatePasswordReset = require('./validatePasswordReset');
|
|
const validateRegistration = require('./validateRegistration');
|
|
const buildEndpointOption = require('./buildEndpointOption');
|
|
const validateMessageReq = require('./validateMessageReq');
|
|
const checkDomainAllowed = require('./checkDomainAllowed');
|
|
const requireLocalAuth = require('./requireLocalAuth');
|
|
const canDeleteAccount = require('./canDeleteAccount');
|
|
const accessResources = require('./accessResources');
|
|
const requireLdapAuth = require('./requireLdapAuth');
|
|
const abortMiddleware = require('./abortMiddleware');
|
|
const checkInviteUser = require('./checkInviteUser');
|
|
const requireJwtAuth = require('./requireJwtAuth');
|
|
const configMiddleware = require('./config/app');
|
|
const validateModel = require('./validateModel');
|
|
const moderateText = require('./moderateText');
|
|
const logHeaders = require('./logHeaders');
|
|
const setHeaders = require('./setHeaders');
|
|
const validate = require('./validate');
|
|
const limiters = require('./limiters');
|
|
const uaParser = require('./uaParser');
|
|
const checkBan = require('./checkBan');
|
|
const noIndex = require('./noIndex');
|
|
const roles = require('./roles');
|
|
|
|
module.exports = {
|
|
...abortMiddleware,
|
|
...validate,
|
|
...limiters,
|
|
...roles,
|
|
...accessResources,
|
|
noIndex,
|
|
checkBan,
|
|
uaParser,
|
|
setHeaders,
|
|
logHeaders,
|
|
moderateText,
|
|
validateModel,
|
|
requireJwtAuth,
|
|
checkInviteUser,
|
|
requireLdapAuth,
|
|
requireLocalAuth,
|
|
canDeleteAccount,
|
|
configMiddleware,
|
|
checkDomainAllowed,
|
|
validateMessageReq,
|
|
buildEndpointOption,
|
|
validateRegistration,
|
|
validatePasswordReset,
|
|
};
|