LibreChat/api/server/services/start/migration.js
Danny Avila e4e25aaf2b
🔎 feat: Add Prompt and Agent Permissions Migration Checks (#9063)
* chore: fix mock typing in packages/api tests

* chore: improve imports, type handling and method signatures for MCPServersRegistry

* chore: use enum in migration scripts

* chore: ParsedServerConfig type to enhance server configuration handling

* feat: Implement agent permissions migration check and logging

* feat: Integrate migration checks into server initialization process

* feat: Add prompt permissions migration check and logging to server initialization

* chore: move prompt formatting functions to dedicated prompts dir
2025-08-14 17:20:00 -04:00

45 lines
1.3 KiB
JavaScript

const { logger } = require('@librechat/data-schemas');
const {
logAgentMigrationWarning,
logPromptMigrationWarning,
checkAgentPermissionsMigration,
checkPromptPermissionsMigration,
} = require('@librechat/api');
const { getProjectByName } = require('~/models/Project');
const { Agent, PromptGroup } = require('~/db/models');
const { findRoleByIdentifier } = require('~/models');
/**
* Check if permissions migrations are needed for shared resources
* This runs at the end to ensure all systems are initialized
*/
async function checkMigrations() {
try {
const agentMigrationResult = await checkAgentPermissionsMigration({
db: {
findRoleByIdentifier,
getProjectByName,
},
AgentModel: Agent,
});
logAgentMigrationWarning(agentMigrationResult);
} catch (error) {
logger.error('Failed to check agent permissions migration:', error);
}
try {
const promptMigrationResult = await checkPromptPermissionsMigration({
db: {
findRoleByIdentifier,
getProjectByName,
},
PromptGroupModel: PromptGroup,
});
logPromptMigrationWarning(promptMigrationResult);
} catch (error) {
logger.error('Failed to check prompt permissions migration:', error);
}
}
module.exports = {
checkMigrations,
};