From 003cf2e9770ba931d823eb034ebfeeaff8218a06 Mon Sep 17 00:00:00 2001 From: Ishaan Jaffer Date: Thu, 19 Feb 2026 14:07:03 -0800 Subject: [PATCH] feat(ui): add testPolicyTemplate networking function --- .../src/components/networking.tsx | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/ui/litellm-dashboard/src/components/networking.tsx b/ui/litellm-dashboard/src/components/networking.tsx index 3517822985a..8b624f7caf6 100644 --- a/ui/litellm-dashboard/src/components/networking.tsx +++ b/ui/litellm-dashboard/src/components/networking.tsx @@ -5627,6 +5627,41 @@ export const suggestPolicyTemplates = async ( } }; +export const testPolicyTemplate = async ( + accessToken: string, + guardrailDefinitions: any[], + text: string +) => { + try { + const url = proxyBaseUrl + ? `${proxyBaseUrl}/policy/templates/test` + : `/policy/templates/test`; + const response = await fetch(url, { + method: "POST", + headers: { + [globalLitellmHeaderName]: `Bearer ${accessToken}`, + "Content-Type": "application/json", + }, + body: JSON.stringify({ + guardrail_definitions: guardrailDefinitions, + text, + }), + }); + + if (!response.ok) { + const errorData = await response.json(); + const errorMessage = deriveErrorMessage(errorData); + handleError(errorMessage); + throw new Error(errorMessage); + } + + return response.json(); + } catch (error) { + console.error("Failed to test policy template:", error); + throw error; + } +}; + export const enrichPolicyTemplateStream = async ( accessToken: string, templateId: string,