LibreChat/packages/data-provider/src/keys.ts
Danny Avila eed43e6662
feat: Add granular role-based permissions system with Entra ID integration
- Implement RBAC with viewer/editor/owner roles using bitwise permissions
      - Add AccessRole, AclEntry, and Group models for permission management
      - Create PermissionService for core permission logic and validation
      - Integrate Microsoft Graph API for Entra ID user/group search
      - Add middleware for resource access validation with custom ID resolvers
      - Implement bulk permission updates with transaction support
      - Create permission management UI with people picker and role selection
      - Add public sharing capabilities for resources
      - Include database migration for existing agent ownership
      - Support hybrid local/Entra ID identity management
      - Add comprehensive test coverage for all new services

chore: Update @librechat/data-schemas to version 0.0.9 and export common module in index.ts

fix: Update userGroup tests to mock logger correctly and change principalId expectation from null to undefined
2025-06-20 16:22:36 -04:00

80 lines
2.4 KiB
TypeScript

export enum QueryKeys {
messages = 'messages',
sharedMessages = 'sharedMessages',
sharedLinks = 'sharedLinks',
allConversations = 'allConversations',
archivedConversations = 'archivedConversations',
searchConversations = 'searchConversations',
conversation = 'conversation',
searchEnabled = 'searchEnabled',
user = 'user',
name = 'name', // user key name
models = 'models',
balance = 'balance',
endpoints = 'endpoints',
presets = 'presets',
searchResults = 'searchResults',
tokenCount = 'tokenCount',
availablePlugins = 'availablePlugins',
startupConfig = 'startupConfig',
assistants = 'assistants',
assistant = 'assistant',
agents = 'agents',
agent = 'agent',
endpointsConfigOverride = 'endpointsConfigOverride',
files = 'files',
fileConfig = 'fileConfig',
tools = 'tools',
toolAuth = 'toolAuth',
toolCalls = 'toolCalls',
agentTools = 'agentTools',
actions = 'actions',
assistantDocs = 'assistantDocs',
agentDocs = 'agentDocs',
fileDownload = 'fileDownload',
voices = 'voices',
customConfigSpeech = 'customConfigSpeech',
prompts = 'prompts',
prompt = 'prompt',
promptGroups = 'promptGroups',
allPromptGroups = 'allPromptGroups',
promptGroup = 'promptGroup',
categories = 'categories',
randomPrompts = 'randomPrompts',
roles = 'roles',
conversationTags = 'conversationTags',
health = 'health',
userTerms = 'userTerms',
banner = 'banner',
/* Memories */
memories = 'memories',
principalSearch = 'principalSearch',
accessRoles = 'accessRoles',
resourcePermissions = 'resourcePermissions',
effectivePermissions = 'effectivePermissions',
}
export enum MutationKeys {
fileUpload = 'fileUpload',
fileDelete = 'fileDelete',
updatePreset = 'updatePreset',
deletePreset = 'deletePreset',
loginUser = 'loginUser',
logoutUser = 'logoutUser',
refreshToken = 'refreshToken',
avatarUpload = 'avatarUpload',
speechToText = 'speechToText',
textToSpeech = 'textToSpeech',
assistantAvatarUpload = 'assistantAvatarUpload',
agentAvatarUpload = 'agentAvatarUpload',
updateAction = 'updateAction',
updateAgentAction = 'updateAgentAction',
deleteAction = 'deleteAction',
deleteAgentAction = 'deleteAgentAction',
revertAgentVersion = 'revertAgentVersion',
deleteUser = 'deleteUser',
updateRole = 'updateRole',
enableTwoFactor = 'enableTwoFactor',
verifyTwoFactor = 'verifyTwoFactor',
updateMemoryPreferences = 'updateMemoryPreferences',
}