Danny Avila
66bd419baa
🔐 feat: Granular Role-based Permissions + Entra ID Group Discovery ( #7804 )
...
WIP: pre-granular-permissions commit
feat: Add category and support contact fields to Agent schema and UI components
Revert "feat: Add category and support contact fields to Agent schema and UI components"
This reverts commit c43a52b4c9
.
Fix: Update import for renderHook in useAgentCategories.spec.tsx
fix: Update icon rendering in AgentCategoryDisplay tests to use empty spans
refactor: Improve category synchronization logic and clean up AgentConfig component
refactor: Remove unused UI flow translations from translation.json
feat: agent marketplace features
🔐 feat: Granular Role-based Permissions + Entra ID Group Discovery (#7804 )
2025-08-13 16:24:17 -04:00
Jordi Higuera
aa42759ffd
🍃 feat: Add MongoDB Connection Pool Configuration Options ( #8537 )
...
* 🔧 Feat: Add MongoDB connection pool configuration options to environment variables
* 🔧 feat: Add environment variables for automatic index creation and collection creation in MongoDB connection
---------
Co-authored-by: Atef Bellaaj <slalom.bellaaj@external.daimlertruck.com>
2025-08-13 16:24:17 -04:00
Danny Avila
52e59e40be
📚 feat: Add Source Citations for File Search in Agents ( #8652 )
...
* feat: Source Citations for file_search in Agents
* Fix: Added citation limits and relevance score to app service. Removed duplicate tests
* ✨ feat: implement Role-level toggle to optionally disable file Source Citation in Agents
* 🐛 fix: update mock for librechat-data-provider to include PermissionTypes and SystemRoles
---------
Co-authored-by: “Praneeth <praneeth.goparaju@slalom.com>
2025-08-13 16:24:16 -04:00
Danny Avila
a955097faf
📁 feat: Integrate SharePoint File Picker and Download Workflow ( #8651 )
...
* feat(sharepoint): integrate SharePoint file picker and download workflow
Introduces end‑to‑end SharePoint import support:
* Token exchange with Microsoft Graph and scope management (`useSharePointToken`)
* Re‑usable hooks: `useSharePointPicker`, `useSharePointDownload`,
`useSharePointFileHandling`
* FileSearch dropdown now offers **From Local Machine** / **From SharePoint**
sources and gracefully falls back when SharePoint is disabled
* Agent upload model, `AttachFileMenu`, and `DropdownPopup` extended for
SharePoint files and sub‑menus
* Blurry overlay with progress indicator and `maxSelectionCount` limit during
downloads
* Cache‑flush utility (`config/flush-cache.js`) supporting Redis & filesystem,
with dry‑run and npm script
* Updated `SharePointIcon` (uses `currentColor`) and new i18n keys
* Bug fixes: placeholder syntax in progress message, picker event‑listener
cleanup
* Misc style and performance optimizations
* Fix ESLint warnings
---------
Co-authored-by: Atef Bellaaj <slalom.bellaaj@external.daimlertruck.com>
2025-08-13 16:24:16 -04:00
Theo N. Truong
b6413b06bc
🐞 fix: Update MCP server initialization to skip non-startup and oauth servers ( #9049 )
2025-08-13 16:19:55 -04:00
Danny Avila
e6cebdf2b6
🚌 fix: MCP Runtime Errors while Initializing ( #9046 )
...
* chore: Remove eslint-plugin-perfectionist from dependencies
* 🚌 fix: MCP Runtime Errors while Initializing
* chore: Bump @librechat/api version to 1.3.1
* chore: import order
* chore: import order
2025-08-13 14:41:38 -04:00
github-actions[bot]
3eb6debe6a
🌍 i18n: Update translation.json with latest translations ( #9020 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-13 11:47:59 -04:00
Theo N. Truong
8780a78165
♻️ refactor: MCPManager for Scalability, Fix App-Level Detection, Add Lazy Connections ( #8930 )
...
* feat: MCP Connection management overhaul - Making MCPManager manageable
Refactor the monolithic MCPManager into focused, single-responsibility classes:
• MCPServersRegistry: Server configuration discovery and metadata management
• UserConnectionManager: Manages user-level connections
• ConnectionsRepository: Low-level connection pool with lazy loading
• MCPConnectionFactory: Handles MCP connection creation with OAuth support
New Features:
• Lazy loading of app-level connections for horizontal scaling
• Automatic reconnection for app-level connections
• Enhanced OAuth detection with explicit requiresOAuth flag
• Centralized MCP configuration management
Bug Fixes:
• App-level connection detection in MCPManager.callTool
• MCP Connection Reinitialization route behavior
Optimizations:
• MCPConnection.isConnected() caching to reduce overhead
• Concurrent server metadata retrieval instead of sequential
This refactoring addresses scalability bottlenecks and improves reliability
while maintaining backward compatibility with existing configurations.
* feat: Enabled import order in eslint.
* # Moved tests to __tests__ folder
# added tests for MCPServersRegistry.ts
* # Add unit tests for ConnectionsRepository functionality
* # Add unit tests for MCPConnectionFactory functionality
* # Reorganize MCP connection tests and improve error handling
* # reordering imports
* # Update testPathIgnorePatterns in jest.config.mjs to exclude development TypeScript files
* # removed mcp/manager.ts
2025-08-13 11:45:06 -04:00
Joseph Licata
9dbf153489
🐞 fix: Prevent Type Error in Successful Bookmark Deletion ( #9014 )
2025-08-12 22:38:20 -04:00
Theo N. Truong
4799593e1a
🔧 fix: Redis cluster connection errors and configuration ( #9016 )
...
- Fix ioredis cluster initialization to use proper node array format
- Fix reconnectOnError to return numeric delay instead of boolean
- Fix keyv redis cluster configuration to use proper URL objects
- Resolves "undefinedms" reconnection delay errors
2025-08-12 22:23:29 -04:00
faustoFF
a199b87478
🐋 ci: Optimize Dockerfile Caching ( #8480 )
...
* 🐳 chore(docker): optimize Docker npm dependency caching
* Update Dockerfile
---------
Co-authored-by: Danny Avila <danacordially@gmail.com>
2025-08-12 20:00:59 -04:00
Danny Avila
007570b5c6
🎨 style: Add missing markdown font size variable to CSS ( #9011 )
2025-08-12 10:19:29 -04:00
Jeffrey Bulanadi
5943d5346c
📑 docs: Fix Typos in JSDoc and Doc Files ( #8998 )
...
- Fix grammar in translations README: 'if has not been ran' 'if it has not been run'
- Fix spacing in JSDoc comments: 'at theend' 'at the end' (2 instances)
2025-08-12 10:18:55 -04:00
Danny Avila
052e61b735
✨ v0.8.0-rc2 ( #9000 )
2025-08-11 18:58:21 -04:00
Danny Avila
1ccac58403
🔒 fix: Provider Validation for Social, OpenID, SAML, and LDAP Logins ( #8999 )
...
* fix: social login provider crossover
* feat: Enhance OpenID login handling and add tests for provider validation
* refactor: authentication error handling to use ErrorTypes.AUTH_FAILED enum
* refactor: update authentication error handling in LDAP and SAML strategies to use ErrorTypes.AUTH_FAILED enum
* ci: Add validation for login with existing email and different provider in SAML strategy
chore: Add logging for existing users with different providers in LDAP, SAML, and Social Login strategies
2025-08-11 18:51:46 -04:00
Clay Rosenthal
04d74a7e07
🪖 ci: Helm OCI Publishing ( #7256 )
...
* Adding helm oci publishing (#3 )
Signed-off-by: Clay Rosenthal <clayros@amazon.com>
* Update chart version
Signed-off-by: Clay Rosenthal <clayros@amazon.com>
* Update helm release
Signed-off-by: Clay Rosenthal <clayros@amazon.com>
* Update helm chart package path
Signed-off-by: Clay Rosenthal <clayros@amazon.com>
---------
Signed-off-by: Clay Rosenthal <clayros@amazon.com>
2025-08-11 16:21:05 -04:00
github-actions[bot]
0fdca8ddbd
🌍 i18n: Update translation.json with latest translations ( #8996 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-11 16:19:37 -04:00
Danny Avila
c5ca621efd
🧑💼 feat: Add Agent Model Validation ( #8995 )
...
* fix: Update logger import to use data-schemas module
* feat: agent model validation
* fix: Remove invalid error messages from translation file
2025-08-11 14:26:28 -04:00
Danny Avila
8cefa566da
📸 fix: Avatar Handling for Social Login ( #8993 )
...
- Updated `handleExistingUser` function to improve avatar handling logic, including checks for manual flags and null/undefined avatars.
- Introduced a new test suite for `handleExistingUser` covering various scenarios, ensuring robust functionality for avatar updates in both local and non-local storage contexts.
2025-08-11 11:50:46 -04:00
Danny Avila
7e4c8a5d0d
🛡️ fix: OTP Verification For 2FA Disable Operation ( #8975 )
2025-08-10 15:05:16 -04:00
Danny Avila
edf33bedcb
🛂 feat: Payload limits and Validation for User-created Memories ( #8974 )
2025-08-10 14:46:16 -04:00
Dustin Healy
21e00168b1
🪙 fix: Max Output Tokens Refactor for Responses API ( #8972 )
...
🪙 fix: Max Output Tokens Refactor for Responses API (#8972 )
chore: Remove `max_output_tokens` from model kwargs in `titleConvo` if provided
2025-08-10 14:08:35 -04:00
github-actions[bot]
da3730b7d6
🌍 i18n: Update translation.json with latest translations ( #8957 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-09 12:04:56 -04:00
Danny Avila
770c766d50
🔧 refactor: Move Plugin-related Helpers to TS API and Add Tests ( #8961 )
2025-08-09 12:02:44 -04:00
alkshmir
5eb6926464
🪖 chore: Fix Typo in helm/librechat/values.yaml
( #8960 )
2025-08-09 12:00:37 -04:00
Danny Avila
e478ae1c28
📦 chore: Bump @librechat/agents
to v2.4.75 ( #8956 )
2025-08-09 00:01:21 -04:00
Danny Avila
0c9284c8ae
🧠 refactor: Memory Timeout after Completion and Guarantee Stream Final Event ( #8955 )
2025-08-09 00:01:10 -04:00
Danny Avila
4eeadddfe6
🔮 fix: Artifacts readOnly
to Re-render when Expected ( #8954 )
2025-08-08 22:44:58 -04:00
Dustin Healy
9ca1847535
🔧 refactor: customUserVar
Error Normalization ( #8950 )
...
* fix: localization string had unused template var
* fix: add normalizeHttpError to hopefully stop UI hangs when an error is returned in UserController
- Ensures updateUserPluginsController always returns valid HTTP status codes instead of undefined
- Add normalizeHttpError() helper to safely extract status/message from errors
- Default to 400 status code when Error.status is undefined/invalid
* refactor: move normalizeHttpError to packages/api
2025-08-08 15:53:04 -04:00
Danny Avila
5d0bc95193
🧪 fix: Editor Styling, Incomplete Artifact Editing, Optimize Artifact Context ( #8953 )
...
* refactor: optimize artifacts context for improved performance
* fix: layout classes for artifacts editor
* chore: linting
* fix: enhance artifact mutation handling in CodeEditor to prevent infinite retries
* fix: handle incomplete artifacts in replaceArtifactContent and add regression tests
2025-08-08 15:49:58 -04:00
github-actions[bot]
e7d6100fe4
🌍 i18n: Update translation.json with latest translations ( #8934 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-08 12:21:27 -04:00
Danny Avila
01a95229f2
📦 chore: Bump @librechat/agents
to v2.4.73 ( #8949 )
2025-08-08 12:19:36 -04:00
Danny Avila
0939250f07
🛣️ fix: Remove Title Tokens Limit for GPT-5 Models ( #8948 )
...
* 🛣️ fix: Remove Title Tokens Limit for GPT-5 Models
* 🛣️ fix: Remove max_completion_tokens from modelKwargs when maxTokens is disabled
* chore: Add test-image* to .gitignore for CI/CD data
2025-08-08 11:15:29 -04:00
Danny Avila
7147bce3c3
✨ feat: Add OpenAI Verbosity Parameter ( #8929 )
...
* WIP: Verbosity OpenAI Parameter
* 🔧 chore: remove unused import of extractEnvVariable from parsers.ts
* ✨ feat: add comprehensive tests for getOpenAIConfig and enhance verbosity handling
* fix: Handling for maxTokens in GPT-5+ models and add corresponding tests
* feat: Implement GPT-5+ model handling in processMemory function
2025-08-07 20:49:40 -04:00
github-actions[bot]
486fe34a2b
🌍 i18n: Update translation.json with latest translations ( #8924 )
...
* 🌍 i18n: Update translation.json with latest translations
* Update translation.json
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Danny Avila <danny@librechat.ai>
2025-08-07 20:42:44 -04:00
github-actions[bot]
922f43f520
🌍 i18n: Update translation.json with latest translations ( #8907 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-07 16:25:24 -04:00
Marco Beretta
e6fa01d514
💬 style: Enhance Tooltip with HTML support and Improve Styling ( #8915 )
...
* ✨ feat: Enhance Tooltip component with HTML support and styling improvements
* ✨ feat: Integrate DOMPurify for HTML sanitization in Tooltip component
2025-08-07 16:24:42 -04:00
Danny Avila
8238fb49e0
📦 chore: bump @librechat/agents
to v2.4.72
2025-08-07 16:23:12 -04:00
Danny Avila
430557676d
✨ feat: GPT-5 Token Limits, Rates, Icon, Reasoning Support
2025-08-07 16:23:11 -04:00
Danny Avila
8a5047c456
📦 chore: bump @librechat/agents
to v2.4.71
2025-08-07 16:23:11 -04:00
Danny Avila
c787515894
🧠 feat: Add minimal
Reasoning Effort option
2025-08-07 16:23:11 -04:00
Danny Avila
d95d8032cc
✨ feat: GPT-OSS models Token Limits & Rates
2025-08-07 16:23:10 -04:00
Joseph Licata
b9f72f4869
🎚️ refactor: Update Min. Values for OpenAI Parameters ( #8922 )
2025-08-07 14:38:08 -04:00
Danny Avila
429bb6653a
📦 chore: bump @librechat/agents
to v2.4.70 ( #8923 )
2025-08-07 14:36:10 -04:00
Dustin Healy
47caafa8f8
🔧 fix: MCP Queries and Connections ( #8870 )
...
* fix: add refetchQueries on connection success so ToolSelectDialog doesn't require hard refresh
* fix: change hook so we only query connection status when mcpServers are configured
* fix: change refetchQueries to invalidateQueries for tools after server connection update
---------
Co-authored-by: Danny Avila <danny@librechat.ai>
2025-08-07 02:31:05 -04:00
Dustin Healy
8530594f37
🟢 fix: Incorrect customUserVars
Set States ( #8905 )
2025-08-07 02:19:06 -04:00
Sebastien Bruel
0b071c06f6
🥞 refactor: Duplicate Agent Versions as Informational Instead of Errors ( #8881 )
...
* Fix error when updating an agent with no changes
* Add tests
* Revert translation file changes
2025-08-07 02:12:05 -04:00
Danny Avila
1092392ed8
📂 fix: File Cleanup for Uploaded "Agent" Files ( #8900 )
2025-08-06 19:45:57 -04:00
Danny Avila
36c8947029
🔄 refactor: Select OpenRouter LLM Class Dynamically by baseURL
( #8898 )
2025-08-06 19:26:40 -04:00
Danny Avila
4175a3ea19
✨ v0.8.0-rc1 ( #8846 )
2025-08-04 15:25:07 -04:00