diff --git a/ui/litellm-dashboard/src/components/policies/types.ts b/ui/litellm-dashboard/src/components/policies/types.ts index 3e2c6f1966d..b3a373441d7 100644 --- a/ui/litellm-dashboard/src/components/policies/types.ts +++ b/ui/litellm-dashboard/src/components/policies/types.ts @@ -6,6 +6,7 @@ export interface Policy { guardrails_add: string[]; guardrails_remove: string[]; condition: PolicyCondition | null; + pipeline?: GuardrailPipeline | null; created_at?: string; updated_at?: string; created_by?: string; @@ -16,6 +17,19 @@ export interface PolicyCondition { model?: string; } +export interface PipelineStep { + guardrail: string; + on_fail: "block" | "allow" | "next" | "modify_response"; + on_pass: "allow" | "block" | "next" | "modify_response"; + pass_data?: boolean; + modify_response_message?: string | null; +} + +export interface GuardrailPipeline { + mode: "pre_call" | "post_call"; + steps: PipelineStep[]; +} + export interface PolicyAttachment { attachment_id: string; policy_name: string; @@ -37,6 +51,7 @@ export interface PolicyCreateRequest { guardrails_add?: string[]; guardrails_remove?: string[]; condition?: PolicyCondition; + pipeline?: GuardrailPipeline | null; } export interface PolicyUpdateRequest { @@ -46,6 +61,7 @@ export interface PolicyUpdateRequest { guardrails_add?: string[]; guardrails_remove?: string[]; condition?: PolicyCondition; + pipeline?: GuardrailPipeline | null; } export interface PolicyAttachmentCreateRequest {