♻️ fix: Prevent Instructions from Removal when nearing Max Context (#5516)

* refactor: getMessagesWithinTokenLimit to accept params object

* refactor: always include instructions in payload if provided

* ci: remove obsolete test

* refactor: update logoutUser to accept request object and handle session destruction

* test: enhance getMessagesWithinTokenLimit tests for instruction handling
This commit is contained in:
Danny Avila 2025-01-27 20:37:38 -05:00 committed by GitHub
parent 528ee62eb1
commit 4110209494
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 185 additions and 83 deletions

View file

@ -35,13 +35,14 @@ const genericVerificationMessage = 'Please check your email to verify your email
/**
* Logout user
*
* @param {String} userId
* @param {*} refreshToken
* @param {ServerRequest} req
* @param {string} refreshToken
* @returns
*/
const logoutUser = async (userId, refreshToken) => {
const logoutUser = async (req, refreshToken) => {
try {
const session = await findSession({ userId: userId, refreshToken: refreshToken });
const userId = req.user._id;
const session = await findSession({ userId: userId, refreshToken });
if (session) {
try {
@ -52,6 +53,12 @@ const logoutUser = async (userId, refreshToken) => {
}
}
try {
req.session.destroy();
} catch (destroyErr) {
logger.error('[logoutUser] Failed to destroy session.', destroyErr);
}
return { status: 200, message: 'Logout successful' };
} catch (err) {
return { status: 500, message: err.message };