mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-09-22 08:12:00 +02:00

* add oauth reconnect tracker * add connection tracker to mcp manager * reconnect oauth mcp servers function * call reconnection in auth controller * make sure to check connection in panel * wait for isConnected * add const for poll interval * add logging to tryReconnect * check expiration * check mcp manager is not null * check mcp manager is not null * add test for reconnecting mcp server * unify logic inside OAuthReconnectionManager * test reconnection manager, adjust * chore: reorder import statements in index.js * chore: imports * chore: imports * chore: imports * chore: imports * chore: imports * chore: imports and use types explicitly --------- Co-authored-by: Danny Avila <danny@librechat.ai>
26 lines
907 B
JavaScript
26 lines
907 B
JavaScript
const { logger } = require('@librechat/data-schemas');
|
|
const { CacheKeys } = require('librechat-data-provider');
|
|
const { createOAuthReconnectionManager, getFlowStateManager } = require('~/config');
|
|
const { findToken, updateToken, createToken, deleteTokens } = require('~/models');
|
|
const { getLogStores } = require('~/cache');
|
|
|
|
/**
|
|
* Initialize OAuth reconnect manager
|
|
*/
|
|
async function initializeOAuthReconnectManager() {
|
|
try {
|
|
const flowManager = getFlowStateManager(getLogStores(CacheKeys.FLOWS));
|
|
const tokenMethods = {
|
|
findToken,
|
|
updateToken,
|
|
createToken,
|
|
deleteTokens,
|
|
};
|
|
await createOAuthReconnectionManager(flowManager, tokenMethods);
|
|
logger.info(`OAuth reconnect manager initialized successfully.`);
|
|
} catch (error) {
|
|
logger.error('Failed to initialize OAuth reconnect manager:', error);
|
|
}
|
|
}
|
|
|
|
module.exports = initializeOAuthReconnectManager;
|