diff --git a/ui/litellm-dashboard/src/components/policies/template_parameter_modal.tsx b/ui/litellm-dashboard/src/components/policies/template_parameter_modal.tsx index 379270aba82..1bbb73db9ef 100644 --- a/ui/litellm-dashboard/src/components/policies/template_parameter_modal.tsx +++ b/ui/litellm-dashboard/src/components/policies/template_parameter_modal.tsx @@ -42,6 +42,7 @@ const TemplateParameterModal: React.FC = ({ const [refinementInput, setRefinementInput] = useState(""); const [isRefining, setIsRefining] = useState(false); const [hasGenerated, setHasGenerated] = useState(false); + const [statusMessage, setStatusMessage] = useState(""); const parameters: TemplateParameter[] = template?.parameters || []; const hasEnrichment = !!template?.llm_enrichment; @@ -66,6 +67,7 @@ const TemplateParameterModal: React.FC = ({ setRefinementInput(""); setIsRefining(false); setHasGenerated(false); + setStatusMessage(""); } }, [visible, template]); @@ -101,6 +103,7 @@ const TemplateParameterModal: React.FC = ({ setIsGenerating(true); setCompetitorTags([]); setVariationsMap({}); + setStatusMessage(""); try { await enrichPolicyTemplateStream( accessToken, @@ -115,11 +118,15 @@ const TemplateParameterModal: React.FC = ({ setVariationsMap(result.competitor_variations || {}); setIsGenerating(false); setHasGenerated(true); + setStatusMessage(""); }, (error) => { console.error("Streaming error:", error); setIsGenerating(false); - } + setStatusMessage(""); + }, + undefined, + (status) => setStatusMessage(status), ); } catch (error) { console.error("Error generating competitor names:", error); @@ -131,6 +138,7 @@ const TemplateParameterModal: React.FC = ({ if (!accessToken || !selectedModel || !template || !refinementInput.trim()) return; setIsRefining(true); + setStatusMessage(""); try { await enrichPolicyTemplateStream( accessToken, @@ -148,15 +156,18 @@ const TemplateParameterModal: React.FC = ({ setVariationsMap(result.competitor_variations || {}); setIsRefining(false); setRefinementInput(""); + setStatusMessage(""); }, (error) => { console.error("Refinement error:", error); setIsRefining(false); + setStatusMessage(""); }, { instruction: refinementInput.trim(), existingCompetitors: competitorTags, - } + }, + (status) => setStatusMessage(status), ); } catch (error) { console.error("Error refining competitor names:", error); @@ -192,7 +203,7 @@ const TemplateParameterModal: React.FC = ({ } open={visible} onCancel={onCancel} - width={550} + width={700} footer={[