LibreChat/api/server/services
Atef Bellaaj 526b1980bc
🔧 fix: Merge and Rebase Conflicts
- Move AgentCategory from api/models to @packages/data-schemas structure
  - Add schema, types, methods, and model following codebase conventions
  - Implement auto-seeding of default categories during AppService startup
  - Update marketplace controller to use new data-schemas methods
  - Remove old model file and standalone seed script

refactor: unify agent marketplace to single endpoint with cursor pagination

  - Replace multiple marketplace routes with unified /marketplace endpoint
  - Add query string controls: category, search, limit, cursor, promoted, requiredPermission
  - Implement cursor-based pagination replacing page-based system
  - Integrate ACL permissions for proper access control
  - Fix ObjectId constructor error in Agent model
  - Update React components to use unified useGetMarketplaceAgentsQuery hook
  - Enhance type safety and remove deprecated useDynamicAgentQuery
  - Update tests for new marketplace architecture
  -Known issues:
  see more button after category switching + Unit tests

feat: add icon property to ProcessedAgentCategory interface

- Add useMarketplaceAgentsInfiniteQuery and useGetAgentCategoriesQuery to client/src/data-provider/Agents/
  - Replace manual pagination in AgentGrid with infinite query pattern
  - Update imports to use local data provider instead of librechat-data-provider
  - Add proper permission handling with PERMISSION_BITS.VIEW/EDIT constants
  - Improve agent access control by adding requiredPermission validation in backend
  - Remove manual cursor/state management in favor of infinite query built-ins
  - Maintain existing search and category filtering functionality

refactor: consolidate agent marketplace endpoints into main agents API and improve data management consistency

  - Remove dedicated marketplace controller and routes, merging functionality into main agents v1 API
  - Add countPromotedAgents function to Agent model for promoted agents count
  - Enhance getListAgents handler with marketplace filtering (category, search, promoted status)
  - Move getAgentCategories from marketplace to v1 controller with same functionality
  - Update agent mutations to invalidate marketplace queries and handle multiple permission levels
  - Improve cache management by updating all agent query variants (VIEW/EDIT permissions)
  - Consolidate agent data access patterns for better maintainability and consistency
  - Remove duplicate marketplace route definitions and middleware

selected view only agents injected in the drop down

fix: remove minlength validation for support contact name in agent schema

feat: add validation and error messages for agent name in AgentConfig and AgentPanel

fix: update agent permission check logic in AgentPanel to simplify condition

Fix linting WIP

Fix Unit tests WIP

ESLint fixes

eslint fix

refactor: enhance isDuplicateVersion function in Agent model for improved comparison logic

- Introduced handling for undefined/null values in array and object comparisons.
- Normalized array comparisons to treat undefined/null as empty arrays.
- Added deep comparison for objects and improved handling of primitive values.
- Enhanced projectIds comparison to ensure consistent MongoDB ObjectId handling.

refactor: remove redundant properties from IAgent interface in agent schema

chore: update localization for agent detail component and clean up imports

ci: update access middleware tests

chore: remove unused PermissionTypes import from Role model

ci: update AclEntry model tests

ci: update button accessibility labels in AgentDetail tests

refactor: update exhaustive dep. lint warning
2025-06-28 12:37:59 -04:00
..
Artifacts 🏄‍♂️ refactor: Optimize Reasoning UI & Token Streaming (#5546) 2025-01-29 19:46:58 -05:00
Config 🕐 feat: Configurable Retention Period for Temporary Chats (#8056) 2025-06-25 17:16:26 -04:00
Endpoints 🧠 feat: Thinking Budget, Include Thoughts, and Dynamic Thinking for Gemini 2.5 (#8055) 2025-06-25 15:14:33 -04:00
Files 🐛 fix: RAG API failing with OPENID_REUSE_TOKENS Enabled (#8090) 2025-06-26 19:10:21 -04:00
Runs 🕐 feat: Configurable Retention Period for Temporary Chats (#8056) 2025-06-25 17:16:26 -04:00
start feat: Configurable MCP Dropdown Placeholder (#7988) 2025-06-23 13:21:01 -04:00
Threads 🔄 fix: Assistants Endpoint & Minor Issues (#7274) 2025-05-07 17:11:33 -04:00
Tools 🔎 feat: Native Web Search with Citation References (#7516) 2025-05-23 17:40:40 -04:00
ActionService.js 🪐 feat: MCP OAuth 2.0 Discovery Support (#7924) 2025-06-17 13:50:33 -04:00
ActionService.spec.js 🤖 refactor: Improve Agents Memory Usage, Bump Keyv, Grok 3 (#6850) 2025-04-12 18:46:36 -04:00
AppService.interface.spec.js 🔧 fix: Merge and Rebase Conflicts 2025-06-28 12:37:59 -04:00
AppService.js 🔧 fix: Merge and Rebase Conflicts 2025-06-28 12:37:59 -04:00
AppService.spec.js 🔧 fix: Merge and Rebase Conflicts 2025-06-28 12:37:59 -04:00
AssistantService.js 🕐 feat: Configurable Retention Period for Temporary Chats (#8056) 2025-06-25 17:16:26 -04:00
AuthService.js 🐛 fix: RAG API failing with OPENID_REUSE_TOKENS Enabled (#8090) 2025-06-26 19:10:21 -04:00
cleanup.js 🧹 fix: Resolve Unarchive Conversation Bug, Archive Pagination (#4189) 2024-09-22 17:21:50 -04:00
createRunBody.js feat: Add Current Datetime to Assistants (v1/v2) (#4952) 2024-12-11 15:26:18 -05:00
domains.js 🔐 feat: Implement Allowed Action Domains (#4964) 2024-12-12 12:52:42 -05:00
domains.spec.js 🔐 feat: Implement Allowed Action Domains (#4964) 2024-12-12 12:52:42 -05:00
GraphApiService.js 🔐 feat: Granular Role-based Permissions + Entra ID Group Discovery (#7804) 2025-06-28 12:37:58 -04:00
GraphApiService.spec.js 🔐 feat: Granular Role-based Permissions + Entra ID Group Discovery (#7804) 2025-06-28 12:37:58 -04:00
initializeMCP.js 👤 feat: User Placeholder Variables for Custom Endpoint Headers (#7993) 2025-06-23 12:39:27 -04:00
MCP.js 🗝️ feat: User Provided Credentials for MCP Servers (#7980) 2025-06-19 18:27:55 -04:00
ModelService.js 👁️ feat: Azure Mistral OCR Strategy (#7888) 2025-06-13 15:14:57 -04:00
ModelService.spec.js 👁️ feat: Azure Mistral OCR Strategy (#7888) 2025-06-13 15:14:57 -04:00
PermissionService.js 🔐 feat: Granular Role-based Permissions + Entra ID Group Discovery (#7804) 2025-06-28 12:37:58 -04:00
PermissionService.spec.js 🔐 feat: Granular Role-based Permissions + Entra ID Group Discovery (#7804) 2025-06-28 12:37:58 -04:00
PluginService.js 🗝️ feat: User Provided Credentials for MCP Servers (#7980) 2025-06-19 18:27:55 -04:00
ToolService.js 🪐 feat: MCP OAuth 2.0 Discovery Support (#7924) 2025-06-17 13:50:33 -04:00
twoFactorService.js 🪐 feat: MCP OAuth 2.0 Discovery Support (#7924) 2025-06-17 13:50:33 -04:00
UserService.js 🪐 feat: MCP OAuth 2.0 Discovery Support (#7924) 2025-06-17 13:50:33 -04:00