🥷 fix: Correct Agents Handling for Marketplace Users (#9065)

* refactor: Introduce ModelSelectorChatContext and integrate with ModelSelector

* fix: agents handling in ModelSelector to show expected agents if user has marketplace access
This commit is contained in:
Danny Avila 2025-08-14 19:13:48 -04:00 committed by GitHub
parent e4e25aaf2b
commit d57e7aec73
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 124 additions and 57 deletions

View file

@ -1,6 +1,7 @@
import React, { useMemo } from 'react';
import type { ModelSelectorProps } from '~/common';
import { ModelSelectorProvider, useModelSelectorContext } from './ModelSelectorContext';
import { ModelSelectorChatProvider } from './ModelSelectorChatContext';
import { renderModelSpecs, renderEndpoints, renderSearchResults } from './components';
import { getSelectedIcon, getDisplayValue } from './utils';
import { CustomMenu as Menu } from './CustomMenu';
@ -12,6 +13,7 @@ function ModelSelectorContent() {
const {
// LibreChat
agentsMap,
modelSpecs,
mappedEndpoints,
endpointsConfig,
@ -43,11 +45,12 @@ function ModelSelectorContent() {
() =>
getDisplayValue({
localize,
agentsMap,
modelSpecs,
selectedValues,
mappedEndpoints,
}),
[localize, modelSpecs, selectedValues, mappedEndpoints],
[localize, agentsMap, modelSpecs, selectedValues, mappedEndpoints],
);
const trigger = (
@ -100,8 +103,10 @@ function ModelSelectorContent() {
export default function ModelSelector({ startupConfig }: ModelSelectorProps) {
return (
<ModelSelectorProvider startupConfig={startupConfig}>
<ModelSelectorContent />
</ModelSelectorProvider>
<ModelSelectorChatProvider>
<ModelSelectorProvider startupConfig={startupConfig}>
<ModelSelectorContent />
</ModelSelectorProvider>
</ModelSelectorChatProvider>
);
}