From 38ca018595d9b18a2ebd1045a6170d60a6933934 Mon Sep 17 00:00:00 2001 From: Ishaan Jaffer Date: Thu, 19 Feb 2026 10:59:47 -0800 Subject: [PATCH] wire up AI suggestion modal in policies page --- .../src/components/policies/index.tsx | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/ui/litellm-dashboard/src/components/policies/index.tsx b/ui/litellm-dashboard/src/components/policies/index.tsx index f5fadebdec4..185c17db157 100644 --- a/ui/litellm-dashboard/src/components/policies/index.tsx +++ b/ui/litellm-dashboard/src/components/policies/index.tsx @@ -13,6 +13,7 @@ import PolicyTestPanel from "./policy_test_panel"; import PolicyTemplates from "./policy_templates"; import GuardrailSelectionModal from "./guardrail_selection_modal"; import TemplateParameterModal from "./template_parameter_modal"; +import AiSuggestionModal from "./ai_suggestion_modal"; import { getPoliciesList, deletePolicyCall, @@ -63,6 +64,8 @@ const PoliciesPanel: React.FC = ({ const [isParameterModalOpen, setIsParameterModalOpen] = useState(false); const [isEnrichingTemplate, setIsEnrichingTemplate] = useState(false); const [pendingTemplate, setPendingTemplate] = useState(null); + const [isAiSuggestionModalOpen, setIsAiSuggestionModalOpen] = useState(false); + const [loadedTemplates, setLoadedTemplates] = useState([]); const isAdmin = userRole ? isAdminRole(userRole) : false; @@ -369,7 +372,12 @@ const PoliciesPanel: React.FC = ({ closable className="mb-6" /> - + setIsAiSuggestionModalOpen(true)} + onTemplatesLoaded={setLoadedTemplates} + accessToken={accessToken} + /> @@ -569,6 +577,19 @@ const PoliciesPanel: React.FC = ({ + { + setIsAiSuggestionModalOpen(false); + if (selectedTemplates.length > 0) { + handleUseTemplate(selectedTemplates[0]); + } + }} + onCancel={() => setIsAiSuggestionModalOpen(false)} + accessToken={accessToken} + allTemplates={loadedTemplates} + /> + {showFlowBuilder && ( {