From 1d1351393abbc82c99dafa0cc9efcf4cd656d3b2 Mon Sep 17 00:00:00 2001 From: Wu Tianwei <30284043+WTW0313@users.noreply.github.com> Date: Wed, 17 Dec 2025 13:48:23 +0800 Subject: [PATCH] feat: update RAG recommended plugins hook to accept type parameter (#29735) --- .../hooks/use-refresh-plugin-list.tsx | 2 +- .../rag-tool-recommendations/index.tsx | 2 +- web/service/use-tools.ts | 17 +++++++++++++---- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/web/app/components/plugins/install-plugin/hooks/use-refresh-plugin-list.tsx b/web/app/components/plugins/install-plugin/hooks/use-refresh-plugin-list.tsx index 264c4782cd..b9413afcdd 100644 --- a/web/app/components/plugins/install-plugin/hooks/use-refresh-plugin-list.tsx +++ b/web/app/components/plugins/install-plugin/hooks/use-refresh-plugin-list.tsx @@ -37,7 +37,7 @@ const useRefreshPluginList = () => { if ((manifest && PluginCategoryEnum.tool.includes(manifest.category)) || refreshAllType) { invalidateAllToolProviders() invalidateAllBuiltInTools() - invalidateRAGRecommendedPlugins() + invalidateRAGRecommendedPlugins('tool') // TODO: update suggested tools. It's a function in hook useMarketplacePlugins,handleUpdatePlugins } diff --git a/web/app/components/workflow/block-selector/rag-tool-recommendations/index.tsx b/web/app/components/workflow/block-selector/rag-tool-recommendations/index.tsx index 240c0814a1..47b158b9b2 100644 --- a/web/app/components/workflow/block-selector/rag-tool-recommendations/index.tsx +++ b/web/app/components/workflow/block-selector/rag-tool-recommendations/index.tsx @@ -52,7 +52,7 @@ const RAGToolRecommendations = ({ data: ragRecommendedPlugins, isLoading: isLoadingRAGRecommendedPlugins, isFetching: isFetchingRAGRecommendedPlugins, - } = useRAGRecommendedPlugins() + } = useRAGRecommendedPlugins('tool') const recommendedPlugins = useMemo(() => { if (ragRecommendedPlugins) diff --git a/web/service/use-tools.ts b/web/service/use-tools.ts index ad483bea11..6ac57e84d3 100644 --- a/web/service/use-tools.ts +++ b/web/service/use-tools.ts @@ -330,15 +330,24 @@ export const useRemoveProviderCredentials = ({ const useRAGRecommendedPluginListKey = [NAME_SPACE, 'rag-recommended-plugins'] -export const useRAGRecommendedPlugins = () => { +export const useRAGRecommendedPlugins = (type: 'tool' | 'datasource' | 'all' = 'all') => { return useQuery({ - queryKey: useRAGRecommendedPluginListKey, - queryFn: () => get('/rag/pipelines/recommended-plugins'), + queryKey: [...useRAGRecommendedPluginListKey, type], + queryFn: () => get('/rag/pipelines/recommended-plugins', { + params: { + type, + }, + }), }) } export const useInvalidateRAGRecommendedPlugins = () => { - return useInvalid(useRAGRecommendedPluginListKey) + const queryClient = useQueryClient() + return (type: 'tool' | 'datasource' | 'all' = 'all') => { + queryClient.invalidateQueries({ + queryKey: [...useRAGRecommendedPluginListKey, type], + }) + } } // App Triggers API hooks