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 && ( {