The fastest, litest AI Gateway. Rust core with Python SDK. Call 100+ LLM APIs in OpenAI (or native) format with cost tracking, guardrails, load balancing, and logging [Bedrock, Azure, OpenAI, Anthropic, OpenAI, VertexAI, vLLM, Nvidia NIM]
This report presents the forensic synthetic code analysis of BerriAI/litellm, a Python project with 57,487 GitHub stars. SynthScan v2.0 examined 2,620,758 lines of code across 8165 source files, recording 70337 pattern matches distributed across 28 syntactic categories. The overall adjusted score of 29.7 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 70337 distinct pattern matches across 28 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ARCHITECTURE.md | 406 | def test_prompt_caching_transform(): | CODE |
| LOW | ui/litellm-dashboard/src/app/model_hub_table/page.tsx | 6 | function PublicModelHubTableContent() { | CODE |
| LOW | ui/litellm-dashboard/src/app/(dashboard)/layout.tsx | 24 | function PluginModeProviderWithAuth({ children }: { children: React.ReactNode }) { | CODE |
| LOW | …ashboard)/guardrails/_components/TeamGuardrailsTab.tsx | 138 | function submissionToTeamGuardrail(item: GuardrailSubmissionItem): TeamGuardrail { | CODE |
| LOW | …ashboard)/guardrails/_components/TeamGuardrailsTab.tsx | 210 | function buildEquivalentConfigYaml(g: TeamGuardrail): string { | CODE |
| LOW | …ard)/guardrails/_components/guardrail_info_helpers.tsx | 239 | export function skipSystemMessageToChoice(v: boolean | null | undefined): SkipSystemMessageChoice { | CODE |
| LOW | …ard)/guardrails/_components/guardrail_info_helpers.tsx | 246 | export function choiceToSkipSystemForCreate(choice: SkipSystemMessageChoice | undefined): boolean | undefined { | CODE |
| LOW | …ard)/guardrails/_components/guardrail_info_helpers.tsx | 262 | export function choiceToSkipToolForCreate(choice: SkipToolMessageChoice | undefined): boolean | undefined { | CODE |
| LOW | …/app/(dashboard)/playground/llm_calls/audio_speech.tsx | 6 | export async function makeOpenAIAudioSpeechRequest( | CODE |
| LOW | …c/app/(dashboard)/playground/llm_calls/image_edits.tsx | 5 | export async function makeOpenAIImageEditsRequest( | CODE |
| LOW | …dashboard)/playground/llm_calls/anthropic_messages.tsx | 10 | export async function makeAnthropicMessagesRequest( | CODE |
| LOW | …/(dashboard)/playground/llm_calls/image_generation.tsx | 5 | export async function makeOpenAIImageGenerationRequest( | CODE |
| LOW | …pp/(dashboard)/playground/llm_calls/embeddings_api.tsx | 4 | export async function makeOpenAIEmbeddingsRequest( | CODE |
| LOW | …shboard)/playground/llm_calls/audio_transcriptions.tsx | 5 | export async function makeOpenAIAudioTranscriptionRequest( | CODE |
| LOW | …shboard)/playground/components/chat_ui/ChatUI.test.tsx | 36 | async function openComboboxByPlaceholder(placeholder: string) { | CODE |
| LOW | …ts/EndpointUsage/components/EndpointUsageLineChart.tsx | 11 | function transformDailyDataToChart(dailyData: DailyData[]): Array<Record<string, string | number>> { | CODE |
| LOW | …)/usage/_components/hooks/usePaginatedDailyActivity.ts | 189 | export function usePaginatedDailyActivity({ | CODE |
| LOW | …app/(dashboard)/hooks/useHideAutoRouterAnnouncement.ts | 33 | export function useHideAutoRouterAnnouncement() { | CODE |
| LOW | …/app/(dashboard)/users/_components/view_users.test.tsx | 41 | DefaultUserSettingsForm: function DefaultUserSettingsFormMock() { | CODE |
| LOW | …cp-servers/_components/PassthroughAuthorizeSection.tsx | 38 | export default function PassthroughAuthorizeSection({ | CODE |
| LOW | ui/litellm-dashboard/src/utils/mcpHeaderUtils.ts | 7 | export function sanitizeMcpAliasForHeader(alias: string): string { | CODE |
| LOW | ui/litellm-dashboard/src/utils/mcpHeaderUtils.ts | 22 | export function buildMcpPassthroughAuthHeader( | CODE |
| LOW | ui/litellm-dashboard/src/utils/keyExpiryUtils.ts | 41 | export function calculateExpiryPreviewFromDuration(duration: string | undefined): string | null { | CODE |
| LOW | ui/litellm-dashboard/src/components/networking.tsx | 414 | export function setGlobalLitellmHeaderName(headerName: string = "Authorization") { | CODE |
| LOW | ui/litellm-dashboard/src/components/networking.tsx | 419 | export function getGlobalLitellmHeaderName(): string { | CODE |
| LOW | …oard/src/components/update_model_credentials_modal.tsx | 31 | export default function UpdateModelCredentialsModal({ | CODE |
| LOW | ui/litellm-dashboard/src/components/ui/chart.tsx | 303 | function getPayloadConfigFromPayload(config: ChartConfig, payload: unknown, key: string) { | CODE |
| LOW | …ings/HashicorpVault/HashicorpVaultEmptyPlaceholder.tsx | 9 | export default function HashicorpVaultEmptyPlaceholder({ onAdd }: HashicorpVaultEmptyPlaceholderProps) { | CODE |
| LOW | …minSettings/SSOSettings/SSOSettingsLoadingSkeleton.tsx | 10 | export default function SSOSettingsLoadingSkeleton() { | CODE |
| LOW | …inSettings/SSOSettings/SSOSettingsEmptyPlaceholder.tsx | 9 | export default function SSOSettingsEmptyPlaceholder({ onAdd }: SSOSettingsEmptyPlaceholderProps) { | CODE |
| LOW | …CPSemanticFilterSettings/MCPSemanticFilterSettings.tsx | 103 | export default function MCPSemanticFilterSettings({ accessToken }: MCPSemanticFilterSettingsProps) { | CODE |
| LOW | …PSemanticFilterSettings/MCPSemanticFilterTestPanel.tsx | 24 | export default function MCPSemanticFilterTestPanel({ | CODE |
| LOW | …onents/Settings/RouterSettings/Fallbacks/Fallbacks.tsx | 77 | async function testFallbackModelResponse(selectedModel: string, accessToken: string) { | CODE |
| LOW | …ents/PassThroughSettings/PassThroughEndpointsTable.tsx | 30 | export function PassThroughEndpointsTable({ | CODE |
| LOW | …shboard/src/components/view_logs/ToolsSection/utils.ts | 48 | function extractToolCallsFromResponse(log: LogEntry): ToolCall[] { | CODE |
| LOW | …nts/view_logs/LogDetailsDrawer/RoutingDecisionCard.tsx | 43 | function describeScoreAgainstBoundaries( | CODE |
| LOW | …nts/view_logs/LogDetailsDrawer/RoutingDecisionCard.tsx | 80 | function describeReasoningOverride(tierLabel: string | undefined, floor: number | undefined): string { | CODE |
| LOW | …ard/src/components/view_logs/LogDetailsDrawer/utils.ts | 63 | export function normalizeGuardrailEntries(guardrailInfo: any): any[] { | CODE |
| LOW | …ard/src/components/view_logs/LogDetailsDrawer/utils.ts | 74 | export function calculateTotalMaskedEntities(entries: any[]): number { | CODE |
| LOW | …onents/view_logs/LogDetailsDrawer/LogDetailContent.tsx | 338 | function getUncachedInputTextTokens(metadata: Record<string, any>): number | undefined { | CODE |
| LOW | …m-dashboard/src/components/llm_calls/responses_api.tsx | 61 | export async function makeOpenAIResponsesRequest( | CODE |
| LOW | …d/src/components/llm_calls/code_interpreter_handler.ts | 27 | export function handleCodeInterpreterCall(event: any, state: CodeInterpreterState): CodeInterpreterState { | CODE |
| LOW | …d/src/components/llm_calls/code_interpreter_handler.ts | 41 | export function handleCodeInterpreterOutput( | CODE |
| LOW | …dashboard/src/components/llm_calls/chat_completion.tsx | 25 | export async function makeOpenAIChatCompletionRequest( | CODE |
| LOW | …rd/src/components/shared/table_cells/AutoRouterTag.tsx | 14 | export function AutoRouterModelGroupsProvider({ children }: { children: ReactNode }) { | CODE |
| LOW | …rd/src/components/shared/table_cells/AutoRouterTag.tsx | 24 | export function useIsAutoRoutedModelGroup(modelGroup?: string | null): boolean { | CODE |
| LOW | …rd/src/components/model_add/credential_form_helpers.ts | 26 | export function resetCredentialFormOnProviderChange( | CODE |
| LOW | …tellm-dashboard/src/components/team/teamModelAccess.ts | 18 | export function normalizeTeamModelSelection(models: string[] | undefined): string[] { | CODE |
| LOW | …CloudZeroCostTracking/CloudZeroIntegrationSettings.tsx | 45 | export function CloudZeroIntegrationSettings({ settings, onSettingsUpdated }: CloudZeroIntegrationSettingsProps) { | CODE |
| LOW | …ts/CloudZeroCostTracking/CloudZeroEmptyPlaceholder.tsx | 8 | export default function CloudZeroEmptyPlaceholder({ startCreation }: CloudZeroEmptyPlaceholderProps) { | CODE |
| LOW | ui/litellm-dashboard/src/data/compliancePrompts.ts | 566 | export function getComplianceDatasetPrompts(): CompliancePrompt[] { | CODE |
| LOW | ci_cd/run_migration.py | 17 | def _find_destructive_statements(sql: str) -> list: | CODE |
| LOW | ci_cd/run_migration.py | 58 | def _print_stale_branch_refusal(base_branch: str, behind: int) -> None: | CODE |
| LOW | ci_cd/run_migration.py | 149 | def _print_destructive_refusal(destructive_lines: list) -> None: | CODE |
| LOW | enterprise/litellm_enterprise/proxy/proxy_server.py | 10 | async def load_custom_auth_settings( | CODE |
| LOW | enterprise/litellm_enterprise/proxy/proxy_server.py | 26 | def get_custom_docs_description() -> Optional[str]: | CODE |
| LOW | …se/litellm_enterprise/proxy/audit_logging_endpoints.py | 25 | def _build_json_field_or_condition(json_key: str, value: str) -> Dict[str, Any]: | CODE |
| LOW | …se/litellm_enterprise/proxy/vector_stores/endpoints.py | 60 | def managed_vector_store_table(prisma_client: "PrismaClient") -> ManagedVectorStoreTable: | CODE |
| LOW⚡ | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 64 | def _is_missing_batch_processed_column_error(err: Exception) -> bool: | CODE |
| LOW⚡ | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 68 | async def confirm_batch_processed_support(self) -> None: | CODE |
| 47456 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …shboard/src/app/(dashboard)/workflows/WorkflowRuns.tsx | 62 | // ── design tokens ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …shboard/src/app/(dashboard)/workflows/WorkflowRuns.tsx | 92 | // ── helpers ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …shboard/src/app/(dashboard)/workflows/WorkflowRuns.tsx | 122 | // ── status dot ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …shboard/src/app/(dashboard)/workflows/WorkflowRuns.tsx | 128 | // ── truncated text value ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …shboard/src/app/(dashboard)/workflows/WorkflowRuns.tsx | 147 | // ── metadata card ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …shboard/src/app/(dashboard)/workflows/WorkflowRuns.tsx | 229 | // ── gantt timeline ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …shboard/src/app/(dashboard)/workflows/WorkflowRuns.tsx | 340 | // ── message row ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …shboard/src/app/(dashboard)/workflows/WorkflowRuns.tsx | 359 | // ── collapsible section ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …shboard/src/app/(dashboard)/workflows/WorkflowRuns.tsx | 379 | // ── main component ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …p/(dashboard)/policies/_components/add_policy_form.tsx | 333 | // ── Mode Picker Step ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …p/(dashboard)/policies/_components/add_policy_form.tsx | 362 | // ── Simple Form Step ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 106 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 108 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 217 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 219 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 256 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 258 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 516 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 518 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 663 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 665 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 770 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 772 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 1211 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 1213 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 1446 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 1448 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/src/app/(dashboard)/hooks/guardrails/useGuardrails.ts | 6 | // ── Types ──────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/src/app/(dashboard)/hooks/guardrails/useGuardrails.ts | 30 | // ── Hook ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …p/(dashboard)/hooks/guardrails/useRegisterGuardrail.ts | 6 | // ── Types ──────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …p/(dashboard)/hooks/guardrails/useRegisterGuardrail.ts | 22 | // ── Fetch function ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …p/(dashboard)/hooks/guardrails/useRegisterGuardrail.ts | 50 | // ── Hook ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rc/app/(dashboard)/hooks/projects/useProjectDetails.ts | 7 | // ── Fetch function ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rc/app/(dashboard)/hooks/projects/useProjectDetails.ts | 31 | // ── Hook ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …src/app/(dashboard)/hooks/projects/useDeleteProject.ts | 6 | // ── Fetch function ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …src/app/(dashboard)/hooks/projects/useDeleteProject.ts | 29 | // ── Hook ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …src/app/(dashboard)/hooks/projects/useUpdateProject.ts | 6 | // ── Types ──────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …src/app/(dashboard)/hooks/projects/useUpdateProject.ts | 23 | // ── Fetch function ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …src/app/(dashboard)/hooks/projects/useUpdateProject.ts | 52 | // ── Hook ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …oard/src/app/(dashboard)/hooks/projects/useProjects.ts | 7 | // ── Types ──────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …oard/src/app/(dashboard)/hooks/projects/useProjects.ts | 41 | // ── Query keys (shared across project hooks) ───────────────────────────────── | COMMENT |
| MEDIUM | …oard/src/app/(dashboard)/hooks/projects/useProjects.ts | 47 | // ── Fetch function ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …oard/src/app/(dashboard)/hooks/projects/useProjects.ts | 71 | // ── Hook ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …src/app/(dashboard)/hooks/projects/useCreateProject.ts | 6 | // ── Types ──────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …src/app/(dashboard)/hooks/projects/useCreateProject.ts | 23 | // ── Fetch function ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …src/app/(dashboard)/hooks/projects/useCreateProject.ts | 48 | // ── Hook ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ard/src/app/(dashboard)/hooks/keys/useResetKeySpend.ts | 6 | // ── Types ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ard/src/app/(dashboard)/hooks/keys/useResetKeySpend.ts | 16 | // ── Fetch function ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ard/src/app/(dashboard)/hooks/keys/useResetKeySpend.ts | 41 | // ── Hook ────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …dashboard)/hooks/accessGroups/useAccessGroupDetails.ts | 7 | // ── Fetch function ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …dashboard)/hooks/accessGroups/useAccessGroupDetails.ts | 31 | // ── Hook ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/app/(dashboard)/hooks/accessGroups/useAccessGroups.ts | 7 | // ── Types ──────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/app/(dashboard)/hooks/accessGroups/useAccessGroups.ts | 24 | // ── Query keys (shared across access-group hooks) ──────────────────────────── | COMMENT |
| MEDIUM | …/app/(dashboard)/hooks/accessGroups/useAccessGroups.ts | 28 | // ── Fetch function ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/app/(dashboard)/hooks/accessGroups/useAccessGroups.ts | 52 | // ── Hook ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …(dashboard)/hooks/accessGroups/useDeleteAccessGroup.ts | 6 | // ── Fetch function ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …(dashboard)/hooks/accessGroups/useDeleteAccessGroup.ts | 30 | // ── Hook ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …p/(dashboard)/hooks/accessGroups/useEditAccessGroup.ts | 6 | // ── Types ──────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …p/(dashboard)/hooks/accessGroups/useEditAccessGroup.ts | 23 | // ── Fetch function ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …p/(dashboard)/hooks/accessGroups/useEditAccessGroup.ts | 52 | // ── Hook ───────────────────────────────────────────────────────────────────── | COMMENT |
| 3197 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …tellm-dashboard/scripts/generate_compliance_prompts.py | 85 | print(f"Error: CSV file not found: {csv_path}", file=sys.stderr) | CODE |
| MEDIUM | …tellm-dashboard/scripts/generate_compliance_prompts.py | 95 | print("Error: CSV file is empty.", file=sys.stderr) | CODE |
| LOW | …/litellm-dashboard/src/components/public_model_hub.tsx | 1275 | except Exception as e_extended: | CODE |
| LOW | …/litellm-dashboard/src/components/public_model_hub.tsx | 1324 | except Exception as e_extended: | CODE |
| MEDIUM⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 259 | print(f"An error occurred: {e}") | CODE |
| LOW⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 258 | except Exception as e: | CODE |
| MEDIUM⚡ | ci_cd/baseline_db.py | 52 | print(f"Error running prisma command: {e.stderr}") | CODE |
| LOW⚡ | ci_cd/baseline_db.py | 54 | except Exception as e: | CODE |
| MEDIUM⚡ | ci_cd/baseline_db.py | 55 | print(f"Error creating baseline migration: {str(e)}") | CODE |
| MEDIUM⚡ | ci_cd/run_migration.py | 314 | print(f"Error generating migration: {e.stderr}") | CODE |
| LOW⚡ | ci_cd/run_migration.py | 316 | except Exception as e: | CODE |
| MEDIUM⚡ | ci_cd/run_migration.py | 317 | print(f"Error creating migration: {str(e)}") | CODE |
| LOW | …se/litellm_enterprise/proxy/vector_stores/endpoints.py | 145 | except Exception as e: | CODE |
| LOW | …se/litellm_enterprise/proxy/vector_stores/endpoints.py | 215 | except Exception as e: | CODE |
| LOW | …se/litellm_enterprise/proxy/vector_stores/endpoints.py | 265 | except Exception as e: | CODE |
| LOW | …se/litellm_enterprise/proxy/vector_stores/endpoints.py | 330 | except Exception as e: | CODE |
| LOW | …se/litellm_enterprise/proxy/vector_stores/endpoints.py | 372 | except Exception as e: | CODE |
| LOW⚡ | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 78 | except Exception as probe_err: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 108 | except Exception as e: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 121 | except Exception as e: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 134 | except Exception as e: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 250 | except Exception as db_err: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 279 | except Exception as db_err: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 300 | except Exception as db_err: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 387 | except Exception as db_err: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 525 | except Exception: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 565 | except Exception: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 609 | except Exception: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 698 | except Exception: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 750 | except Exception as _e: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 809 | except Exception: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 836 | except Exception as e: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 844 | except Exception as cleanup_err: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 876 | except Exception as query_err: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 908 | except Exception as e: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 931 | except Exception as tracking_err: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 965 | except Exception as db_err: | CODE |
| LOW | …_enterprise/proxy/common_utils/check_responses_cost.py | 126 | except Exception as cleanup_err: | CODE |
| LOW | …_enterprise/proxy/common_utils/check_responses_cost.py | 178 | except Exception as e: | CODE |
| LOW | …ise/litellm_enterprise/proxy/auth/user_api_key_auth.py | 29 | except Exception as e: | CODE |
| LOW⚡ | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 120 | except Exception as e: | CODE |
| LOW⚡ | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 132 | except Exception as e: | CODE |
| LOW⚡ | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1470 | except Exception: | CODE |
| LOW⚡ | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1475 | except Exception as e: | CODE |
| LOW⚡ | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1541 | except Exception as e: | CODE |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 531 | except Exception as e: | CODE |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1236 | except Exception as e: | CODE |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1274 | except Exception: | CODE |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1374 | except Exception as e: | CODE |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1501 | except Exception as e: | CODE |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1677 | except Exception as e: | CODE |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1742 | except Exception as e: | CODE |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 597 | except Exception as e: | CODE |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 833 | except Exception as e: | CODE |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 941 | except Exception as e: | CODE |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 1016 | except Exception as e: | CODE |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 1072 | except Exception as e: | CODE |
| LOW | …enterprise/enterprise_callbacks/example_logging_api.py | 20 | except Exception: | CODE |
| LOW | …e/litellm_enterprise/enterprise_callbacks/llm_guard.py | 46 | except Exception: | CODE |
| LOW | …e/litellm_enterprise/enterprise_callbacks/llm_guard.py | 87 | except Exception as e: | CODE |
| 5603 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ci_cd/generate_model_prices_schema.py | 1 | CODE | |
| LOW | enterprise/__init__.py | 1 | CODE | |
| LOW | …terprise/litellm_enterprise/proxy/enterprise_routes.py | 7 | CODE | |
| LOW | …se/litellm_enterprise/proxy/audit_logging_endpoints.py | 10 | CODE | |
| LOW | …se/litellm_enterprise/proxy/vector_stores/endpoints.py | 11 | CODE | |
| LOW | …se/litellm_enterprise/proxy/vector_stores/endpoints.py | 37 | CODE | |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 17 | CODE | |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 20 | CODE | |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 23 | CODE | |
| LOW | enterprise/litellm_enterprise/proxy/auth/__init__.py | 8 | CODE | |
| LOW | …itellm_enterprise/proxy/hooks/managed_vector_stores.py | 9 | CODE | |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 65 | CODE | |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 84 | CODE | |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 89 | CODE | |
| LOW | …litellm_enterprise/proxy/ui_crud_endpoints/__init__.py | 1 | CODE | |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 21 | CODE | |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 38 | CODE | |
| LOW | …litellm_enterprise/enterprise_callbacks/llama_guard.py | 18 | CODE | |
| LOW | enterprise/enterprise_hooks/aporia_ai.py | 18 | CODE | |
| LOW | enterprise/enterprise_hooks/aporia_ai.py | 22 | CODE | |
| LOW | tests/test_openai_endpoints.py | 6 | CODE | |
| LOW | tests/test_openai_endpoints.py | 7 | CODE | |
| LOW | tests/_flush_vcr_cache.py | 1 | CODE | |
| LOW | tests/_flush_vcr_cache.py | 3 | CODE | |
| LOW | tests/test_team_logging.py | 4 | CODE | |
| LOW | tests/test_team_logging.py | 5 | CODE | |
| LOW | tests/test_team_logging.py | 6 | CODE | |
| LOW | tests/test_team_logging.py | 7 | CODE | |
| LOW | tests/test_team_logging.py | 8 | CODE | |
| LOW | tests/test_end_users.py | 6 | CODE | |
| LOW | tests/_openai_record_replay_proxy.py | 34 | CODE | |
| LOW | tests/test_fallbacks.py | 293 | CODE | |
| LOW | tests/test_gpt5_azure_temperature_support.py | 5 | CODE | |
| LOW | tests/_vcr_redis_persister.py | 1 | CODE | |
| LOW | tests/test_resource_cleanup.py | 7 | CODE | |
| LOW | tests/test_callbacks_on_proxy.py | 11 | CODE | |
| LOW | tests/test_callbacks_on_proxy.py | 13 | CODE | |
| LOW | tests/test_team.py | 7 | CODE | |
| LOW | tests/test_team.py | 10 | CODE | |
| LOW | tests/fake_openai_endpoint.py | 24 | CODE | |
| LOW | tests/test_keys.py | 8 | CODE | |
| LOW | tests/test_keys.py | 8 | CODE | |
| LOW | tests/test_presidio_latency.py | 4 | CODE | |
| LOW | tests/_ws_vcr.py | 20 | CODE | |
| LOW | tests/test_new_vector_store_endpoints.py | 7 | CODE | |
| LOW | tests/test_new_vector_store_endpoints.py | 13 | CODE | |
| LOW | tests/test_organizations.py | 6 | CODE | |
| LOW | tests/test_organizations.py | 7 | CODE | |
| LOW | tests/eval_swe_bench.py | 30 | CODE | |
| LOW | tests/_vcr_conftest_common.py | 6 | CODE | |
| LOW | tests/test_users.py | 8 | CODE | |
| LOW | tests/test_users.py | 10 | CODE | |
| LOW | tests/test_models.py | 8 | CODE | |
| LOW | tests/test_proxy_server_non_root.py | 13 | CODE | |
| LOW | tests/_fake_openai_endpoint_server.py | 18 | CODE | |
| LOW | tests/logging_callback_tests/base_test.py | 1 | CODE | |
| LOW | tests/logging_callback_tests/base_test.py | 2 | CODE | |
| LOW | tests/logging_callback_tests/base_test.py | 3 | CODE | |
| LOW | tests/logging_callback_tests/base_test.py | 5 | CODE | |
| LOW | tests/logging_callback_tests/base_test.py | 5 | CODE | |
| 5547 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | terraform/litellm/gcp/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …aform/litellm/gcp/examples/default/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | terraform/litellm/aws/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …aform/litellm/aws/examples/default/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM⚡ | …/litellm-dashboard/src/components/public_model_hub.tsx | 1488 | # Create a client that connects to the server | COMMENT |
| MEDIUM⚡ | …/litellm-dashboard/src/components/public_model_hub.tsx | 1528 | # Create a client that connects to the server | COMMENT |
| MEDIUM⚡ | …tellm-dashboard/src/components/AIHub/ModelHubTable.tsx | 1080 | # Create a client that connects to the server | COMMENT |
| MEDIUM | …terprise/enterprise_callbacks/send_emails/endpoints.py | 130 | # Create a response with all events (enabled or disabled) | COMMENT |
| MEDIUM | tests/test_users.py | 351 | # Create an additional key for user1 | COMMENT |
| MEDIUM | tests/test_models.py | 533 | # Create a team | COMMENT |
| MEDIUM | tests/logging_callback_tests/base_test.py | 36 | # Create a mock response object with the structure you need | COMMENT |
| MEDIUM | …ogging_callback_tests/test_standard_logging_payload.py | 474 | # Create a mock Logging object | COMMENT |
| MEDIUM | …ogging_callback_tests/test_standard_logging_payload.py | 768 | # Create a mock logging object with cost breakdown | COMMENT |
| MEDIUM | …ogging_callback_tests/test_standard_logging_payload.py | 852 | # Create a mock logging object without cost breakdown | COMMENT |
| MEDIUM | …sts/logging_callback_tests/test_langfuse_unit_tests.py | 267 | # Create a mock logging payload with tags | COMMENT |
| MEDIUM | tests/logging_callback_tests/test_spend_logs.py | 209 | # Define the expected metadata keys | COMMENT |
| MEDIUM | tests/logging_callback_tests/test_spend_logs.py | 352 | # Create a standard logging payload | COMMENT |
| MEDIUM | tests/logging_callback_tests/test_spend_logs.py | 407 | # Create a large string that exceeds the threshold | COMMENT |
| MEDIUM | tests/logging_callback_tests/test_spend_logs.py | 445 | # Create a small string that's under the threshold | COMMENT |
| MEDIUM | tests/logging_callback_tests/test_langfuse_e2e_test.py | 151 | # Create a mock Response object | COMMENT |
| MEDIUM | …ogging_callback_tests/test_opentelemetry_unit_tests.py | 125 | # Create a mock span | COMMENT |
| MEDIUM | …ogging_callback_tests/test_opentelemetry_unit_tests.py | 186 | # Create a mock span | COMMENT |
| MEDIUM | tests/logging_callback_tests/test_gcs_pub_sub.py | 188 | # Create a mock for the async_httpx_client's post method | COMMENT |
| MEDIUM | tests/logging_callback_tests/test_gcs_pub_sub.py | 244 | # Create a mock for the async_httpx_client's post method | COMMENT |
| MEDIUM | …s/logging_callback_tests/test_log_db_redis_services.py | 138 | # Create a failing function | COMMENT |
| MEDIUM | tests/logging_callback_tests/test_alerting.py | 105 | # Create a mock environment for testing | COMMENT |
| MEDIUM | tests/logging_callback_tests/test_alerting.py | 845 | # Create a string buffer to capture log output | COMMENT |
| MEDIUM⚡ | tests/logging_callback_tests/test_datadog.py | 500 | # Create the payload | COMMENT |
| MEDIUM⚡ | tests/logging_callback_tests/test_datadog.py | 536 | # Create a standard payload with very long content | COMMENT |
| MEDIUM | tests/logging_callback_tests/test_datadog.py | 187 | # Create a mock for the async_client's post method | COMMENT |
| MEDIUM | tests/logging_callback_tests/test_datadog.py | 403 | # Create a mock for the async_client's post method | COMMENT |
| MEDIUM | tests/logging_callback_tests/test_datadog.py | 558 | # Create the payload | COMMENT |
| MEDIUM | …ts/logging_callback_tests/test_generic_api_callback.py | 40 | # Create a mock for the async_httpx_client's post method | COMMENT |
| MEDIUM | …ts/logging_callback_tests/test_generic_api_callback.py | 127 | # Create a mock for the async_httpx_client's post method | COMMENT |
| MEDIUM | …ts/logging_callback_tests/test_generic_api_callback.py | 216 | # Create a mock for the async_httpx_client's post method | COMMENT |
| MEDIUM | …ts/logging_callback_tests/test_generic_api_callback.py | 291 | # Create a mock for the async_httpx_client's post method | COMMENT |
| MEDIUM | …ts/logging_callback_tests/test_generic_api_callback.py | 354 | # Create a mock for the async_httpx_client's post method | COMMENT |
| MEDIUM | …ts/logging_callback_tests/test_generic_api_callback.py | 413 | # Create a mock for the async_httpx_client's post method | COMMENT |
| MEDIUM | tests/litellm_utils_tests/test_aws_secret_manager.py | 173 | # Create a primary secret with multiple key-value pairs | COMMENT |
| MEDIUM | tests/litellm_utils_tests/test_utils.py | 678 | # Create a test EmbeddingResponse with usage data | COMMENT |
| MEDIUM | tests/litellm_utils_tests/test_utils.py | 1629 | # Create a mock response object | COMMENT |
| MEDIUM | tests/litellm_utils_tests/test_utils.py | 1708 | # Create a mock response object | COMMENT |
| MEDIUM | tests/litellm_utils_tests/test_utils.py | 1815 | # Create a mock CustomLogger class | COMMENT |
| MEDIUM⚡ | tests/litellm_utils_tests/test_secret_manager.py | 28 | # Define the path to the vertex_key.json file | COMMENT |
| MEDIUM | tests/litellm_utils_tests/test_secret_manager.py | 58 | # Create a temporary file | COMMENT |
| MEDIUM | tests/litellm_utils_tests/test_secret_manager.py | 169 | # Create a unique environment variable name | COMMENT |
| MEDIUM | tests/litellm_utils_tests/test_secret_manager.py | 183 | # Create a temporary file inside a directory added to the allowlist. | COMMENT |
| MEDIUM | tests/litellm_utils_tests/test_secret_manager.py | 199 | # Create a temporary file | COMMENT |
| MEDIUM | tests/litellm_utils_tests/test_secret_manager.py | 206 | # Create a unique environment variable name | COMMENT |
| MEDIUM | …s/litellm_utils_tests/test_logging_callback_manager.py | 250 | # Create a fresh ProxyLogging instance | COMMENT |
| MEDIUM | tests/litellm_utils_tests/test_hashicorp.py | 288 | # Create a new instance with TLS cert config | COMMENT |
| MEDIUM | tests/litellm_utils_tests/test_aiohttp_handler.py | 23 | # Create a transport with the new helper | COMMENT |
| MEDIUM⚡ | tests/litellm_utils_tests/test_aiohttp_handler.py | 91 | # Create a simple httpx request to test with | COMMENT |
| MEDIUM | tests/otel_tests/test_prometheus.py | 807 | # Create a user with user_email | COMMENT |
| MEDIUM | tests/otel_tests/test_prometheus.py | 846 | # Create a user with user_email | COMMENT |
| MEDIUM | tests/otel_tests/test_team_member_permissions.py | 230 | # Create a team | COMMENT |
| MEDIUM | tests/otel_tests/test_team_member_permissions.py | 249 | # Create a user key | COMMENT |
| MEDIUM | tests/otel_tests/test_team_member_permissions.py | 252 | # Create a user key | COMMENT |
| MEDIUM | tests/otel_tests/test_team_member_permissions.py | 349 | # Create a team with specific member permissions | COMMENT |
| MEDIUM | tests/otel_tests/test_team_member_permissions.py | 370 | # Create a user key | COMMENT |
| 1035 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/test_end_users.py | 0 | make 20 parallel calls to /user/new. assert all worked. | STRING |
| HIGH | tests/test_team.py | 0 | make 20 parallel calls to /user/new. assert all worked. | STRING |
| HIGH | tests/test_users.py | 0 | make 20 parallel calls to /user/new. assert all worked. | STRING |
| HIGH | tests/test_team.py | 0 | make sure only models user has access to are returned | STRING |
| HIGH | tests/test_keys.py | 0 | make sure only models user has access to are returned | STRING |
| HIGH | tests/test_users.py | 0 | make sure only models user has access to are returned | STRING |
| HIGH | tests/test_models.py | 0 | make sure only models user has access to are returned | STRING |
| HIGH | tests/large_text.py | 0 | alexander the great this article is about the ancient king of macedonia. for other uses, see alexander the great (disamb | STRING |
| HIGH | tests/proxy_unit_tests/large_text.py | 0 | alexander the great this article is about the ancient king of macedonia. for other uses, see alexander the great (disamb | STRING |
| HIGH | tests/local_testing/large_text.py | 0 | alexander the great this article is about the ancient king of macedonia. for other uses, see alexander the great (disamb | STRING |
| HIGH | tests/logging_callback_tests/base_test.py | 0 | abstract base test class that enforces a common test across all test classes. | STRING |
| HIGH | …sts/pass_through_tests/base_anthropic_messages_test.py | 0 | abstract base test class that enforces a common test across all test classes. | STRING |
| HIGH | tests/llm_responses_api_testing/base_responses_api.py | 0 | abstract base test class that enforces a common test across all test classes. | STRING |
| HIGH | tests/vector_store_tests/base_vector_store_test.py | 0 | abstract base test class that enforces a common test across all test classes. | STRING |
| HIGH | tests/llm_translation/base_rerank_unit_tests.py | 0 | abstract base test class that enforces a common test across all test classes. | STRING |
| HIGH | tests/llm_translation/base_embedding_unit_tests.py | 0 | abstract base test class that enforces a common test across all test classes. | STRING |
| HIGH | tests/llm_translation/base_llm_unit_tests.py | 0 | abstract base test class that enforces a common test across all test classes. | STRING |
| HIGH | tests/image_gen_tests/base_image_generation_test.py | 0 | abstract base test class that enforces a common test across all test classes. | STRING |
| HIGH | tests/logging_callback_tests/conftest.py | 0 | module-scoped setup. reloads litellm only in single-process mode (skipped under xdist to avoid cross-worker interference | STRING |
| HIGH | tests/guardrails_tests/conftest.py | 0 | module-scoped setup. reloads litellm only in single-process mode (skipped under xdist to avoid cross-worker interference | STRING |
| HIGH | tests/local_testing/conftest.py | 0 | module-scoped setup. reloads litellm only in single-process mode (skipped under xdist to avoid cross-worker interference | STRING |
| HIGH | …/logging_callback_tests/test_custom_callback_router.py | 0 | the set of expected inputs to a custom handler for a | STRING |
| HIGH | tests/proxy_unit_tests/test_custom_callback_input.py | 0 | the set of expected inputs to a custom handler for a | STRING |
| HIGH | tests/local_testing/test_custom_callback_input.py | 0 | the set of expected inputs to a custom handler for a | STRING |
| HIGH | tests/litellm_utils_tests/conftest.py | 0 | this fixture reloads litellm before every function. to speed up testing by removing callbacks being chained. | STRING |
| HIGH | tests/enterprise/conftest.py | 0 | this fixture reloads litellm before every function. to speed up testing by removing callbacks being chained. | STRING |
| HIGH | tests/unified_google_tests/conftest.py | 0 | this fixture reloads litellm before every function. to speed up testing by removing callbacks being chained. | STRING |
| HIGH | tests/proxy_admin_ui_tests/conftest.py | 0 | this fixture reloads litellm before every function. to speed up testing by removing callbacks being chained. | STRING |
| HIGH | tests/llm_responses_api_testing/conftest.py | 0 | this fixture reloads litellm before every function. to speed up testing by removing callbacks being chained. | STRING |
| HIGH | tests/vector_store_tests/conftest.py | 0 | this fixture reloads litellm before every function. to speed up testing by removing callbacks being chained. | STRING |
| HIGH | tests/router_unit_tests/conftest.py | 0 | this fixture reloads litellm before every function. to speed up testing by removing callbacks being chained. | STRING |
| HIGH | tests/mcp_tests/conftest.py | 0 | this fixture reloads litellm before every function. to speed up testing by removing callbacks being chained. | STRING |
| HIGH | tests/unified_google_tests/base_interactions_test.py | 0 | test creating an interaction with a simple string input. | STRING |
| HIGH | …m/interactions/test_google_interactions_integration.py | 0 | test creating an interaction with a simple string input. | STRING |
| HIGH | …ts/test_litellm/interactions/base_interactions_test.py | 0 | test creating an interaction with a simple string input. | STRING |
| HIGH | tests/vector_store_tests/rag/test_rag_s3_vectors.py | 0 | check required environment variables before each test. | STRING |
| HIGH | tests/vector_store_tests/rag/test_rag_bedrock.py | 0 | check required environment variables before each test. | STRING |
| HIGH | tests/vector_store_tests/rag/test_rag_vertex_ai.py | 0 | check required environment variables before each test. | STRING |
| HIGH | tests/search_tests/base_search_unit_tests.py | 0 | fixture to handle rate limit errors for all test methods | STRING |
| HIGH | tests/llm_translation/base_llm_unit_tests.py | 0 | fixture to handle rate limit errors for all test methods | STRING |
| HIGH | tests/image_gen_tests/test_image_edits.py | 0 | fixture to handle rate limit errors for all test methods | STRING |
| HIGH | tests/search_tests/base_search_unit_tests.py | 0 | test basic search functionality with a simple query. | STRING |
| HIGH | tests/search_tests/test_duckduckgo_search.py | 0 | test basic search functionality with a simple query. | STRING |
| HIGH | tests/search_tests/test_brave_search.py | 0 | test basic search functionality with a simple query. | STRING |
| HIGH | tests/search_tests/test_duckduckgo_search.py | 0 | test that validates the tavily search request payload structure without making real api calls. | STRING |
| HIGH | tests/search_tests/test_serper_search.py | 0 | test that validates the tavily search request payload structure without making real api calls. | STRING |
| HIGH | tests/search_tests/test_tavily_search.py | 0 | test that validates the tavily search request payload structure without making real api calls. | STRING |
| HIGH | tests/load_tests/test_otel_load_test.py | 0 | creates an async task for the litellm.acompletion function. this is just the task, but it is not run here. to run the ta | STRING |
| HIGH | tests/load_tests/test_langsmith_load_test.py | 0 | creates an async task for the litellm.acompletion function. this is just the task, but it is not run here. to run the ta | STRING |
| HIGH | tests/local_testing/test_alangfuse.py | 0 | creates an async task for the litellm.acompletion function. this is just the task, but it is not run here. to run the ta | STRING |
| HIGH | tests/code_coverage_tests/router_code_coverage.py | 0 | extracts all function names from a given python file. | STRING |
| HIGH | …code_coverage_tests/user_api_key_auth_code_coverage.py | 0 | extracts all function names from a given python file. | STRING |
| HIGH | tests/code_coverage_tests/pass_through_code_coverage.py | 0 | extracts all function names from a given python file. | STRING |
| HIGH | tests/code_coverage_tests/router_code_coverage.py | 0 | returns a set of function names that are called in test functions inside 'local_testing' and 'proxy_unit_tests' director | STRING |
| HIGH | tests/code_coverage_tests/pass_through_code_coverage.py | 0 | returns a set of function names that are called in test functions inside 'local_testing' and 'proxy_unit_tests' director | STRING |
| HIGH | …code_coverage_tests/user_api_key_auth_code_coverage.py | 0 | returns a set of function names that are called in test functions inside 'local_testing' and 'proxy_unit_tests' director | STRING |
| HIGH | tests/llm_translation/test_openai.py | 0 | test that tool calls with no arguments is translated correctly. relevant issue: https://github.com/berriai/litellm/issue | STRING |
| HIGH | tests/llm_translation/test_mistral_api.py | 0 | test that tool calls with no arguments is translated correctly. relevant issue: https://github.com/berriai/litellm/issue | STRING |
| HIGH | tests/llm_translation/test_databricks.py | 0 | test that tool calls with no arguments is translated correctly. relevant issue: https://github.com/berriai/litellm/issue | STRING |
| HIGH | tests/llm_translation/test_together_ai.py | 0 | test that tool calls with no arguments is translated correctly. relevant issue: https://github.com/berriai/litellm/issue | STRING |
| 416 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | terraform/provider/docs/resources/vector_store.md | 118 | ### Vertex AI RAG Engine | COMMENT |
| MEDIUM | terraform/provider/docs/resources/vector_store.md | 243 | ### Vertex AI RAG Engine | COMMENT |
| MEDIUM | terraform/provider/docs/resources/vector_store.md | 247 | vector_store_id = "6917529027641081856" # Your Vertex AI RAG Engine ID | CODE |
| MEDIUM | …shboard)/guardrails/_components/add_guardrail_form.tsx | 543 | // For some guardrails, the config values need to be in litellm_params | COMMENT |
| MEDIUM | …guardrails/_components/custom_code/CustomCodeModal.tsx | 571 | onClick={() => window.open("https://models.litellm.ai/guardrails", "_blank")} | CODE |
| MEDIUM | …guardrails/_components/custom_code/CustomCodeModal.tsx | 771 | <Button size="sm" onClick={() => window.open("https://github.com/BerriAI/litellm-guardrails", "_blank")}> | CODE |
| MEDIUM⚡ | …/app/(dashboard)/agents/_components/add_agent_form.tsx | 156 | // Tracing & guardrails state | COMMENT |
| MEDIUM | …ard/src/app/(dashboard)/policies/_components/index.tsx | 74 | href="https://docs.litellm.ai/docs/proxy/guardrails/guardrail_policies" | CODE |
| MEDIUM | …ard/src/app/(dashboard)/policies/_components/index.tsx | 343 | // Create selected guardrails | COMMENT |
| MEDIUM | …ard/src/app/(dashboard)/policies/_components/index.tsx | 356 | // Refresh guardrails list | COMMENT |
| MEDIUM | …ard/src/app/(dashboard)/policies/_components/index.tsx | 565 | href="https://docs.litellm.ai/docs/proxy/guardrails/guardrail_policies#attachments" | CODE |
| MEDIUM | …c/app/(dashboard)/policies/_components/policy_info.tsx | 65 | // Also fetch resolved guardrails | COMMENT |
| MEDIUM | …rd)/policies/_components/guardrail_selection_modal.tsx | 53 | // Initialize selection: select only new guardrails by default | COMMENT |
| MEDIUM | …ashboard)/policies/_components/ai_suggestion_modal.tsx | 293 | // Keep existing guardrails until streaming completes to avoid temporary empty payloads. | COMMENT |
| MEDIUM | …ashboard)/guardrails-monitor/page.integration.test.tsx | 21 | // `/guardrails/usage/*` aggregates across tenants and is listed in | COMMENT |
| MEDIUM | …app/(dashboard)/hooks/guardrails/useGuardrails.test.ts | 220 | // Mock API returning empty guardrails array | COMMENT |
| MEDIUM | ui/litellm-dashboard/src/components/leftnav.test.tsx | 411 | // than degrade into a leaf link to the non-route `?page=agentic`. | COMMENT |
| MEDIUM | …litellm-dashboard/src/components/ModelInfoEditForm.tsx | 564 | href="https://docs.litellm.ai/docs/proxy/guardrails/quick_start" | CODE |
| MEDIUM | ui/litellm-dashboard/src/components/Teams.tsx | 289 | // Add this useEffect to fetch guardrails | COMMENT |
| MEDIUM | ui/litellm-dashboard/src/components/Teams.tsx | 914 | "https://docs.litellm.ai/docs/proxy/guardrails/quick_start", | CODE |
| MEDIUM | ui/litellm-dashboard/src/components/Teams.tsx | 959 | "https://docs.litellm.ai/docs/proxy/guardrails/guardrail_policies", | CODE |
| MEDIUM | …mponents/view_logs/GuardrailViewer/GuardrailViewer.tsx | 337 | // Pre-call guardrails — use modeMatches so array modes (e.g. ["pre_call", "post_call"]) | COMMENT |
| MEDIUM | …mponents/view_logs/GuardrailViewer/GuardrailViewer.tsx | 368 | // During-call guardrails (rare) | COMMENT |
| MEDIUM | …mponents/view_logs/GuardrailViewer/GuardrailViewer.tsx | 380 | // Post-call guardrails | COMMENT |
| MEDIUM | …oard/src/components/llm_calls/chat_completion.test.tsx | 102 | undefined, // guardrails | CODE |
| MEDIUM | …oard/src/components/llm_calls/chat_completion.test.tsx | 165 | undefined, // guardrails | CODE |
| MEDIUM | …oard/src/components/llm_calls/chat_completion.test.tsx | 212 | undefined, // guardrails | CODE |
| MEDIUM | …oard/src/components/llm_calls/chat_completion.test.tsx | 271 | undefined, // guardrails | CODE |
| MEDIUM | …oard/src/components/llm_calls/chat_completion.test.tsx | 343 | undefined, // guardrails | CODE |
| MEDIUM | …oard/src/components/llm_calls/chat_completion.test.tsx | 386 | undefined, // guardrails | CODE |
| MEDIUM | …oard/src/components/llm_calls/chat_completion.test.tsx | 511 | undefined, // guardrails | CODE |
| MEDIUM | …hboard/src/components/llm_calls/responses_api.test.tsx | 110 | undefined, // guardrails | CODE |
| MEDIUM | …hboard/src/components/llm_calls/responses_api.test.tsx | 151 | undefined, // guardrails | CODE |
| MEDIUM | …hboard/src/components/llm_calls/responses_api.test.tsx | 261 | undefined, // guardrails | CODE |
| MEDIUM | …hboard/src/components/llm_calls/responses_api.test.tsx | 326 | undefined, // guardrails | CODE |
| MEDIUM | …hboard/src/components/llm_calls/responses_api.test.tsx | 466 | undefined, // guardrails | CODE |
| MEDIUM | …hboard/src/components/llm_calls/responses_api.test.tsx | 510 | undefined, // guardrails | CODE |
| MEDIUM | ui/litellm-dashboard/src/components/team/TeamInfo.tsx | 563 | // Fetch resolved guardrails for all policies | COMMENT |
| MEDIUM | ui/litellm-dashboard/src/components/team/TeamInfo.tsx | 1473 | "https://docs.litellm.ai/docs/proxy/guardrails/quick_start", | CODE |
| MEDIUM | ui/litellm-dashboard/src/components/team/TeamInfo.tsx | 1521 | "https://docs.litellm.ai/docs/proxy/guardrails/guardrail_policies", | CODE |
| MEDIUM | …m-dashboard/src/components/templates/key_info_view.tsx | 117 | // Fetch resolved guardrails for all policies | COMMENT |
| MEDIUM | …shboard/src/components/add_model/advanced_settings.tsx | 157 | href="https://docs.litellm.ai/docs/proxy/guardrails/quick_start" | CODE |
| MEDIUM | …/add_model/ClassifierPromptEditor.integration.test.tsx | 66 | // The editor is how an operator inspects the rubric before replacing it. Prefilling the agentic | COMMENT |
| MEDIUM | …shboard/src/components/organisms/create_key_button.tsx | 1208 | href="https://docs.litellm.ai/docs/proxy/guardrails/quick_start" | CODE |
| MEDIUM | …shboard/src/components/organisms/create_key_button.tsx | 1247 | href="https://docs.litellm.ai/docs/proxy/guardrails/quick_start" | CODE |
| MEDIUM | …shboard/src/components/organisms/create_key_button.tsx | 1282 | href="https://docs.litellm.ai/docs/proxy/guardrails/guardrail_policies" | CODE |
| MEDIUM | ui/litellm-dashboard/src/lib/autorouter_presets.test.ts | 83 | // The lite preset ships the LLM classifier with the bundled agentic rubric rather than an inline | COMMENT |
| MEDIUM | ui/litellm-dashboard/src/lib/autorouter_presets.test.ts | 497 | // Bugbot-found bug class from #35199's history: a classifier/embedding model left selected | COMMENT |
| MEDIUM | tests/otel_tests/test_guardrails.py | 174 | # test no guardrails triggered for key without guardrails | COMMENT |
| MEDIUM | tests/otel_tests/test_guardrails.py | 186 | # test guardrails triggered for key with guardrails | COMMENT |
| MEDIUM | tests/otel_tests/test_guardrails.py | 270 | # Create team with guardrails | COMMENT |
| MEDIUM | tests/otel_tests/test_guardrails.py | 292 | # Test no guardrails triggered for key without a team | COMMENT |
| MEDIUM | tests/vector_store_tests/rag/test_rag_s3_vectors.py | 60 | # dimension is auto-detected from embedding model (text-embedding-3-small = 1536) | COMMENT |
| MEDIUM | tests/vector_store_tests/rag/test_rag_openai.py | 73 | # Query with RAG | COMMENT |
| MEDIUM | tests/vector_store_tests/rag/test_rag_openai.py | 120 | # Query with RAG and rerank | COMMENT |
| MEDIUM | tests/proxy_unit_tests/test_proxy_routes.py | 109 | # LiteLLM native RAG routes | COMMENT |
| MEDIUM | tests/proxy_unit_tests/test_key_generate_prisma.py | 3231 | # team update with guardrails | COMMENT |
| MEDIUM | tests/mcp_tests/test_mcp_server.py | 2997 | # - and inside `call_tool` for guardrails/hooks | COMMENT |
| MEDIUM | tests/mcp_tests/test_mcp_guardrails.py | 691 | proxy_logging = MockProxyLogging([]) # No guardrails | CODE |
| MEDIUM | tests/llm_translation/test_bedrock_completion.py | 1316 | "text": "<environment_details>\n# VSCode Visible Files\ncomputer-vision/hm-open3d/src/main.py\n\ | CODE |
| 426 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ci_cd/run_migration.py | 198 | CODE | |
| LOW | …se/litellm_enterprise/proxy/vector_stores/endpoints.py | 156 | CODE | |
| LOW | …se/litellm_enterprise/proxy/vector_stores/endpoints.py | 275 | CODE | |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 612 | CODE | |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 825 | CODE | |
| LOW | …ise/litellm_enterprise/proxy/auth/user_api_key_auth.py | 9 | CODE | |
| LOW | …itellm_enterprise/proxy/hooks/managed_vector_stores.py | 301 | CODE | |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 597 | CODE | |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 798 | CODE | |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 818 | CODE | |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 857 | CODE | |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1170 | CODE | |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1646 | CODE | |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1767 | CODE | |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 126 | CODE | |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 611 | CODE | |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 956 | CODE | |
| LOW | …lm_enterprise/enterprise_callbacks/secret_detection.py | 467 | CODE | |
| LOW | …e/litellm_enterprise/enterprise_callbacks/llm_guard.py | 95 | CODE | |
| LOW | …m_enterprise/enterprise_callbacks/callback_controls.py | 16 | CODE | |
| LOW | …erprise/enterprise_callbacks/send_emails/base_email.py | 419 | CODE | |
| LOW | …terprise/enterprise_callbacks/send_emails/endpoints.py | 24 | CODE | |
| LOW | enterprise/enterprise_hooks/blocked_user_list.py | 57 | CODE | |
| LOW | tests/test_team.py | 41 | CODE | |
| LOW | tests/test_team.py | 728 | CODE | |
| LOW | tests/eval_swe_bench.py | 212 | CODE | |
| LOW | tests/eval_swe_bench.py | 249 | CODE | |
| LOW | tests/eval_swe_bench.py | 359 | CODE | |
| LOW | tests/_vcr_conftest_common.py | 262 | CODE | |
| LOW | …ging_callback_tests/test_logging_redaction_e2e_test.py | 189 | CODE | |
| LOW | …ging_callback_tests/test_logging_redaction_e2e_test.py | 233 | CODE | |
| LOW | …gging_callback_tests/test_unit_tests_init_callbacks.py | 87 | CODE | |
| LOW | tests/logging_callback_tests/test_langfuse_e2e_test.py | 28 | CODE | |
| LOW | tests/logging_callback_tests/test_gcs_pub_sub.py | 48 | CODE | |
| LOW | …ging_callback_tests/test_bedrock_knowledgebase_hook.py | 184 | CODE | |
| LOW | tests/logging_callback_tests/test_datadog.py | 168 | CODE | |
| LOW | tests/logging_callback_tests/test_otel_logging.py | 37 | CODE | |
| LOW | tests/litellm_utils_tests/test_utils.py | 1343 | CODE | |
| LOW | tests/litellm_utils_tests/test_proxy_budget_reset.py | 480 | CODE | |
| LOW | tests/litellm_utils_tests/test_proxy_budget_reset.py | 517 | CODE | |
| LOW | tests/otel_tests/test_prometheus.py | 81 | CODE | |
| LOW | …erprise_callbacks/test_prometheus_logging_callbacks.py | 2282 | CODE | |
| LOW | …ise/litellm_enterprise/integrations/test_prometheus.py | 83 | CODE | |
| LOW | tests/agent_tests/local_only_agent_tests/test_a2a.py | 267 | CODE | |
| LOW | …ent_tests/local_only_agent_tests/local_vertex_agent.py | 34 | CODE | |
| LOW | …sts/pass_through_tests/base_anthropic_messages_test.py | 72 | CODE | |
| LOW | tests/unified_google_tests/test_google_ai_studio.py | 25 | CODE | |
| LOW | tests/proxy_admin_ui_tests/test_key_management.py | 727 | CODE | |
| LOW | …llm_responses_api_testing/test_openai_responses_api.py | 279 | CODE | |
| LOW | …llm_responses_api_testing/test_openai_responses_api.py | 992 | CODE | |
| LOW | …ses_api_testing/test_google_ai_studio_responses_api.py | 187 | CODE | |
| LOW | tests/llm_responses_api_testing/base_responses_api.py | 145 | CODE | |
| LOW | tests/llm_responses_api_testing/base_responses_api.py | 270 | CODE | |
| LOW | tests/llm_responses_api_testing/base_responses_api.py | 783 | CODE | |
| LOW | tests/llm_responses_api_testing/test_responses_hooks.py | 749 | CODE | |
| LOW | tests/documentation_tests/test_circular_imports.py | 7 | CODE | |
| LOW | tests/documentation_tests/test_circular_imports.py | 20 | CODE | |
| LOW | tests/documentation_tests/test_circular_imports.py | 71 | CODE | |
| LOW | tests/documentation_tests/test_requests_lib_usage.py | 11 | CODE | |
| LOW | tests/documentation_tests/test_requests_lib_usage.py | 67 | CODE | |
| 1955 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ui/litellm-dashboard/build_ui_custom_path.sh | 3 | # Check if UI_BASE_PATH argument is provided | COMMENT |
| LOW | ui/litellm-dashboard/build_ui_custom_path.sh | 13 | # Check if nvm is not installed | COMMENT |
| LOW | ui/litellm-dashboard/build_ui_custom_path.sh | 39 | # Check if nvm use was successful | COMMENT |
| LOW | ui/litellm-dashboard/build_ui_custom_path.sh | 48 | # Check if the build was successful | COMMENT |
| LOW | ui/litellm-dashboard/build_ui.sh | 3 | # Check if nvm is not installed | COMMENT |
| LOW | ui/litellm-dashboard/build_ui.sh | 29 | # Check if nvm use was successful | COMMENT |
| LOW | ui/litellm-dashboard/build_ui.sh | 39 | # Check if the build was successful | COMMENT |
| LOW | docker/build_admin_ui.sh | 20 | # Check if we are on macOS | COMMENT |
| LOW | …se/litellm_enterprise/proxy/vector_stores/endpoints.py | 94 | # Check if vector store already exists | COMMENT |
| LOW | …se/litellm_enterprise/proxy/vector_stores/endpoints.py | 241 | # Check if vector store exists | COMMENT |
| LOW | …terprise/litellm_enterprise/proxy/auth/route_checks.py | 16 | ## Check if DISABLE_LLM_API_ENDPOINTS is set | COMMENT |
| LOW | …itellm_enterprise/proxy/hooks/managed_vector_stores.py | 335 | # Check if it's a managed vector store ID | COMMENT |
| LOW⚡ | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1174 | ## Check if unified_file_id is in the response | COMMENT |
| LOW⚡ | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1460 | # Check if the scheduler has the batch cost checking job registered | COMMENT |
| LOW⚡ | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1465 | # Check if the check_batch_cost_job exists in the scheduler | COMMENT |
| LOW⚡ | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1532 | # Check if any referenced file ID matches the file we're trying to delete | COMMENT |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 630 | # Check if any files are stored in storage backends and need base64 conversion | COMMENT |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1286 | ## Check if unified_file_id is in the response | COMMENT |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1561 | # Check if batch polling is enabled | COMMENT |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1566 | # Check if file is referenced by any non-terminal batches | COMMENT |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1616 | # Check if file deletion should be blocked due to batch references | COMMENT |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1699 | # Check if this is a base64 encoded unified file ID | COMMENT |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1795 | # Set format to help Gemini determine mime type | COMMENT |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 518 | # Check if user has permission to create projects for this team | COMMENT |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 539 | # Check if project_id already exists | COMMENT |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 887 | # Check if user is admin (only admins can delete projects) | COMMENT |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 904 | # Check if project exists | COMMENT |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 915 | # Check if there are any keys associated with this project | COMMENT |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 995 | # Check if user has access to this project (admin or team member) | COMMENT |
| LOW | …m_enterprise/enterprise_callbacks/callback_controls.py | 91 | # Check if admin has disabled this feature | COMMENT |
| LOW | …erprise/enterprise_callbacks/send_emails/base_email.py | 134 | # Check if API key should be included in email | COMMENT |
| LOW | …erprise/enterprise_callbacks/send_emails/base_email.py | 181 | # Check if API key should be included in email | COMMENT |
| LOW | …se/litellm_enterprise/integrations/custom_guardrail.py | 44 | # Check if any request tag matches a Mode tag key | COMMENT |
| LOW | tests/logging_callback_tests/test_gcs_pub_sub.py | 54 | # Check if current path should be ignored | COMMENT |
| LOW | tests/logging_callback_tests/test_alerting.py | 876 | # Check if the payload was logged | COMMENT |
| LOW | …ging_callback_tests/test_bedrock_knowledgebase_hook.py | 209 | # Check if this chunk has search_results in provider_specific_fields | COMMENT |
| LOW | tests/logging_callback_tests/test_datadog.py | 142 | standard_payload["status"] = "failure" # Set status to failure | CODE |
| LOW | tests/litellm_utils_tests/test_utils.py | 1190 | # Set force_ipv4 to True | COMMENT |
| LOW⚡ | tests/litellm_utils_tests/test_secret_manager.py | 36 | # Read the file content | COMMENT |
| LOW | tests/litellm_utils_tests/test_health_check.py | 106 | # Check if response is successful (no error) | COMMENT |
| LOW | tests/litellm_utils_tests/test_health_check.py | 110 | # Check if error is a transient Azure internal server error | COMMENT |
| LOW | tests/litellm_utils_tests/test_bedrock_token_counter.py | 94 | # Check if the model doesn't support token counting | COMMENT |
| LOW | tests/otel_tests/test_prometheus.py | 94 | # Check if the request failed as expected | COMMENT |
| LOW | tests/otel_tests/test_prometheus.py | 103 | # Check if the failure metric is present and correct - use pattern matching for robustness | COMMENT |
| LOW | tests/otel_tests/test_prometheus.py | 120 | # Check if either pattern is in metrics and contains required fields | COMMENT |
| LOW | tests/otel_tests/test_prometheus.py | 186 | # Check if the request succeeded as expected | COMMENT |
| LOW | tests/otel_tests/test_prometheus.py | 203 | # Check if the success metric is present and correct - use flexible matching | COMMENT |
| LOW | tests/otel_tests/test_prometheus.py | 310 | # Check if successful fallback metric is incremented - use flexible matching | COMMENT |
| LOW | tests/otel_tests/test_prometheus.py | 330 | # Check if failed fallback metric is incremented - use flexible matching | COMMENT |
| LOW | …tellm_enterprise/integrations/test_custom_guardrail.py | 207 | ) # Set premium_user to True | CODE |
| LOW⚡ | tests/pass_through_tests/test_vertex_ai.py | 29 | # Read the file content | COMMENT |
| LOW | tests/pass_through_tests/test_anthropic_passthrough.py | 75 | # Check if spend data exists and has entries | COMMENT |
| LOW | tests/pass_through_tests/test_anthropic_passthrough.py | 241 | # Check if spend data exists and has entries | COMMENT |
| LOW | …/openai_endpoints_tests/test_openai_files_endpoints.py | 99 | assert content # Check if content is not empty | CODE |
| LOW⚡ | tests/unified_google_tests/base_google_test.py | 34 | # Read the file content | COMMENT |
| LOW | tests/proxy_admin_ui_tests/test_usage_endpoints.py | 212 | # Check if the response has the expected shape for both admin and internal user | COMMENT |
| LOW | tests/proxy_admin_ui_tests/test_usage_endpoints.py | 237 | # Check if the lists are sorted by total_spend in descending order | COMMENT |
| LOW | tests/proxy_admin_ui_tests/test_usage_endpoints.py | 252 | # Check if admin has access to more or equal models compared to internal user | COMMENT |
| LOW | tests/proxy_admin_ui_tests/test_usage_endpoints.py | 257 | # Check if the response contains expected fields | COMMENT |
| LOW | tests/proxy_admin_ui_tests/test_usage_endpoints.py | 305 | # Check if admin has access to more or equal keys compared to internal user | COMMENT |
| 750 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …se/litellm_enterprise/proxy/audit_logging_endpoints.py | 181 | Get detailed information about a specific audit log entry by its ID. Args: id (str): The unique identi | STRING |
| HIGH | …se/litellm_enterprise/proxy/auth/custom_sso_handler.py | 32 | Allow a user to execute their custom code to parse incoming request headers and return a OpenID object | STRING |
| HIGH | …itellm_enterprise/proxy/hooks/managed_vector_stores.py | 264 | Check if user has access to a managed vector store in request data. Args: data: Re | STRING |
| HIGH | tests/local_testing/test_alangfuse.py | 55 | Searches the given log file for logs containing the "/api/public" string. Parameters: - log_file_path (str | STRING |
| HIGH | …mock_guardrail_server/mock_bedrock_guardrail_server.py | 164 | Verify the Bearer token from the Authorization header. Args: authorization: The Authorization header v | STRING |
| HIGH | …mpt_management_server/mock_prompt_management_server.py | 207 | Get a prompt by ID with optional filtering. This endpoint implements the LiteLLM Generic Prompt Management API | STRING |
| HIGH | litellm/cost_calculator.py | 2020 | Default image cost calculator for image generation Args: model (str): Model name image_respons | STRING |
| HIGH | litellm/cost_calculator.py | 2094 | Default video cost calculator for video generation Args: model (str): Model name duration_seco | STRING |
| HIGH | litellm/utils.py | 2353 | Check if the given model supports system messages and return a boolean value. Parameters: model (str): The | STRING |
| HIGH | litellm/utils.py | 2374 | Check if the given model supports web search and return a boolean value. Parameters: model (str): The mode | STRING |
| HIGH | litellm/utils.py | 2395 | Check if the given model supports URL context and return a boolean value. Parameters: model (str): The mod | STRING |
| HIGH | litellm/utils.py | 2416 | Check if the given model supports native streaming and return a boolean value. Parameters: model (str): Th | STRING |
| HIGH | litellm/utils.py | 2505 | Check if the given model supports function calling and return a boolean value. Parameters: model (str): Th | STRING |
| HIGH | litellm/utils.py | 2545 | Check if the given model supports function calling and return a boolean value. Parameters: model (str): Th | STRING |
| HIGH | litellm/utils.py | 2654 | Check if the given model supports prompt caching and return a boolean value. Parameters: model (str): The | STRING |
| HIGH | litellm/utils.py | 2683 | Check if the given model supports computer use and return a boolean value. Parameters: model (str): The mo | STRING |
| HIGH | litellm/utils.py | 5094 | Get the maximum number of output tokens allowed for a given model. Parameters: model (str): The name of th | STRING |
| HIGH | litellm/utils.py | 5961 | Get a dict for the maximum tokens (context window), input_cost_per_token, output_cost_per_token for a given model. | STRING |
| HIGH | litellm/utils.py | 7823 | Ensures all user messages are valid OpenAI chat completion messages. Args: messages: List of message d | STRING |
| HIGH | litellm/router.py | 12627 | Returns deployments available for pass-through endpoints (based on load balancing strategy) Similar to | STRING |
| HIGH | litellm/main.py | 442 | Asynchronously executes a litellm.completion() call for any of litellm supported llms (example gpt-4, gpt-3.5-turbo | STRING |
| HIGH | litellm/main.py | 842 | Generate a mock completion response for testing or debugging purposes. This is a helper function that simulate | STRING |
| HIGH | litellm/main.py | 6092 | Embedding function that calls an API to generate embeddings for the given input. Parameters: - model: The | STRING |
| HIGH | litellm/proxy/common_utils/performance_utils.py | 200 | Wrap a function directly with line_profiler. This is the recommended way to profile functions, especially closures | STRING |
| HIGH | litellm/proxy/common_utils/path_utils.py | 14 | Join path components and verify the result stays within base_dir. Resolves symlinks and '..' sequences, then c | STRING |
| HIGH | litellm/proxy/common_utils/path_utils.py | 42 | Extract a safe filename from a user-supplied path. Strips all directory components (both Unix and Windows sepa | STRING |
| HIGH | …proxy/guardrails/guardrail_hooks/bedrock_guardrails.py | 3039 | Apply Bedrock guardrail to a batch of texts for testing purposes. This method allows users to test Bed | STRING |
| HIGH | …ils/guardrail_hooks/prompt_security/prompt_security.py | 125 | Apply Prompt Security guardrail to the given inputs. This method is called by LiteLLM's guardrail fram | STRING |
| HIGH | …s/guardrail_hooks/zscaler_ai_guard/zscaler_ai_guard.py | 156 | Apply Zscaler AI Guard guardrail to batch of texts. Args: inputs: Dictionary containing te | STRING |
| HIGH | …s/guardrail_hooks/custom_code/custom_code_guardrail.py | 198 | Apply the custom code guardrail to the inputs. This method calls the user-defined apply_guardrail func | STRING |
| HIGH | …s/guardrail_hooks/custom_code/custom_code_guardrail.py | 294 | Process the result from the custom code function. Args: result: The return value from appl | STRING |
| HIGH | …roxy/guardrails/guardrail_hooks/qualifire/qualifire.py | 403 | Apply Qualifire guardrail to the given inputs. This method is called by the unified guardrail system f | STRING |
| HIGH | …ellm/proxy/guardrails/guardrail_hooks/pillar/pillar.py | 298 | Pre-call hook to scan the request for security threats before sending to LLM. Args: user_a | STRING |
| HIGH | …ellm/proxy/guardrails/guardrail_hooks/pillar/pillar.py | 342 | During-call hook to scan the request in parallel with LLM processing. Args: data: Request | STRING |
| HIGH | …ellm/proxy/guardrails/guardrail_hooks/pillar/pillar.py | 376 | Post-call hook to scan LLM responses before returning to user. Args: data: Original reques | STRING |
| HIGH | …ellm/proxy/guardrails/guardrail_hooks/pillar/pillar.py | 424 | Core method to run the Pillar guardrail scan. Args: data: Request data containing messages | STRING |
| HIGH | …ellm/proxy/guardrails/guardrail_hooks/pillar/pillar.py | 470 | Handle API errors based on fallback_on_error configuration. Args: error: The exception tha | STRING |
| HIGH | …/proxy/guardrails/guardrail_hooks/deepkeep/deepkeep.py | 279 | Apply the DeepKeep AI Firewall guardrail to the given inputs. This is the main method called by the Li | STRING |
| HIGH | …s/guardrail_hooks/crowdstrike_aidr/crowdstrike_aidr.py | 280 | Makes the API call to the CrowdStrike AIDR AI Guard endpoint. The function itself will raise an error i | STRING |
| HIGH | …roxy/guardrails/guardrail_hooks/enkryptai/enkryptai.py | 431 | Apply EnkryptAI guardrail to a batch of texts. Args: inputs: Dictionary containing texts a | STRING |
| HIGH | …ils/guardrail_hooks/litellm_content_filter/patterns.py | 59 | Get a compiled regex pattern by name. Args: pattern_name: Name of the prebuilt pattern Returns: | STRING |
| HIGH | …ardrail_hooks/litellm_content_filter/content_filter.py | 360 | Resolve a category file path that may be relative. Paths in policy templates (e.g. category_file) are | STRING |
| HIGH | …ardrail_hooks/litellm_content_filter/content_filter.py | 1367 | Apply all content filtering checks to a single text. This method performs: 1. Category keyword | STRING |
| HIGH | …ardrail_hooks/litellm_content_filter/content_filter.py | 1874 | Apply content filtering guardrail to a batch of texts. This method checks for sensitive patterns and b | STRING |
| HIGH | …/proxy/guardrails/guardrail_hooks/grayswan/grayswan.py | 167 | Apply Gray Swan guardrail to extracted text content. This method is called by the unified guardrail sy | STRING |
| HIGH | …/proxy/guardrails/guardrail_hooks/grayswan/grayswan.py | 414 | Process GraySwan API response and handle violations. Args: response_json: Response from Gr | STRING |
| HIGH | …ellm/proxy/guardrails/guardrail_hooks/pangea/pangea.py | 104 | Makes the API call to the Pangea AI Guard endpoint. The function itself will raise an error in the case | STRING |
| HIGH | …l_hooks/generic_guardrail_api/generic_guardrail_api.py | 370 | Apply the Generic Guardrail API to the given inputs. This is the main method that gets called by the f | STRING |
| HIGH | …proxy/guardrails/guardrail_hooks/openai/moderations.py | 177 | Apply OpenAI moderation guardrail using the unified guardrail interface. This method is called by the | STRING |
| HIGH | …tellm/proxy/_experimental/mcp_server/rest_endpoints.py | 427 | Resolve allowed MCP servers for a tool call with IP filtering. Args: request: The HTTP req | STRING |
| HIGH | litellm/proxy/_experimental/mcp_server/server.py | 977 | Call a specific tool with the provided arguments Args: name (str): Name of the tool to call | STRING |
| HIGH | …oxy/_experimental/mcp_server/discoverable_endpoints.py | 185 | Decode an encrypted state to retrieve all OAuth session data. Args: encrypted_state: The encrypted str | STRING |
| HIGH | …m/proxy/_experimental/mcp_server/mcp_server_manager.py | 1783 | Join the bounded discovery task and return the resolved server. Concurrent callers share one task per server. A | STRING |
| HIGH | …m/proxy/_experimental/mcp_server/mcp_server_manager.py | 4853 | Filter arguments to only include allowed parameters for the given tool. Args: tool_name: B | STRING |
| HIGH | …m/proxy/_experimental/mcp_server/mcp_server_manager.py | 5244 | Call a regular MCP tool using the MCP client. Args: mcp_server: The MCP server configurati | STRING |
| HIGH | …_experimental/mcp_server/auth/user_api_key_auth_mcp.py | 362 | Process and validate MCP request headers from the ASGI scope. This includes: 1. Extracting and | STRING |
| HIGH | …roxy/openai_files_endpoints/storage_backend_service.py | 43 | Upload a file to a storage backend and create a file object. Args: file_data: File data di | STRING |
| HIGH | litellm/proxy/openai_files_endpoints/common_utils.py | 181 | Encode a file/batch ID with model routing information. Format: <prefix><base64(litellm:<original_id>;model,<mo | STRING |
| HIGH | litellm/proxy/openai_files_endpoints/common_utils.py | 348 | Retrieve API credentials for a model from the LLM Router. Args: llm_router: LiteLLM Router instance | STRING |
| HIGH | litellm/proxy/openai_files_endpoints/common_utils.py | 580 | Orchestrate model-based credential routing for file operations. Args: file_id: File ID (may contain em | STRING |
| 147 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | ci_cd/run_migration.py | 77 | print(f" git fetch origin && git rebase origin/{base_branch}", file=out) | CODE |
| HIGH | ci_cd/run_migration.py | 177 | " 1. git fetch origin && git status # confirm branch is up to date", file=out | CODE |
| HIGH | …rprise/proxy/management_endpoints/project_endpoints.py | 217 | A valid quota is a positive integer; null, zero, and negative are rejected | STRING |
| HIGH⚡ | …oxy_admin_ui_tests/test_team_delete_member_add_race.py | 168 | seeded_roster = '[{"user_id": "%s", "user_email": null, "role": "user"}]' % user_id | CODE |
| HIGH⚡ | …oxy_admin_ui_tests/test_team_delete_member_add_race.py | 170 | '[{"user_id": "%s", "user_email": null, "role": "user"}, ' | CODE |
| HIGH⚡ | …oxy_admin_ui_tests/test_team_delete_member_add_race.py | 171 | '{"user_id": "%s", "user_email": null, "role": "user"}]' % (user_id, other_user) | CODE |
| HIGH | …gh_unit_tests/test_unit_test_anthropic_pass_through.py | 247 | 'data: {"type":"message_start","message":{"id":"msg_01G7T4YSBzHjmgTyizv1UfkB","type":"message","role":"assistant | CODE |
| HIGH | …gh_unit_tests/test_unit_test_anthropic_pass_through.py | 301 | 'data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null},"usage":{"output_tokens": | CODE |
| HIGH | tests/proxy_unit_tests/messages_with_counts.py | 732 | null, | CODE |
| HIGH | …s/proxy_behavior/management/test_team_budget_limits.py | 396 | """A team admin cannot strip the team's cap (max_budget=null); removing the | STRING |
| HIGH | …s/proxy_behavior/management/test_team_budget_limits.py | 418 | """A proxy admin may remove a team's cap (max_budget=null).""" | STRING |
| HIGH | tests/llm_translation/test_openai.py | 915 | "description": 'Executes a given bash command in a persistent shell session with optional timeout, e | CODE |
| HIGH | tests/llm_translation/test_prompt_factory.py | 339 | "arguments": '{"completed_steps": [], "next_steps": [{"tool_name": "AccountingResearchTool", "de | CODE |
| HIGH | tests/llm_translation/test_prompt_factory.py | 348 | "content": '{"completed_steps":[],"next_steps":[{"tool_name":"AccountingResearchTool","description":"Researc | CODE |
| HIGH | tests/llm_translation/test_bedrock_completion.py | 1308 | "content": "You are Claude Dev, a highly skilled software developer with extensive knowledge in many pro | CODE |
| HIGH | tests/llm_translation/test_anthropic_completion.py | 653 | "text": '<extra_info>\nThe following information has been included based on a keyword match for "git | CODE |
| HIGH | tests/test_litellm/test_video_generation.py | 1414 | """first_id / last_id may be absent or null; should not raise.""" | STRING |
| HIGH⚡ | tests/test_litellm/test_assert_workflow_dir_hygiene.py | 114 | directory = _populate(tmp_path, {"deploy.yaml": "on: {workflow_call: null}\njobs: {}\n"}) | CODE |
| HIGH⚡ | …/test_litellm/test_anthropic_beta_headers_filtering.py | 407 | must be forwarded instead of stripped (it was previously mapped to null, | STRING |
| HIGH⚡ | …/test_litellm/test_anthropic_beta_headers_filtering.py | 419 | mapped to null) silently re-enables Anthropic's server-side buffering of | STRING |
| HIGH | tests/test_litellm/test_check_licenses.py | 5 | legacy ``info.license`` field null, so the checker must read the new field (and | STRING |
| HIGH⚡ | tests/test_litellm/types/test_types_utils.py | 274 | Test that invalid (non-list, non-null) top_logprobs values are still | STRING |
| HIGH⚡ | tests/test_litellm/types/test_types_utils.py | 275 | rejected by Pydantic validation. The validator only normalizes null, | STRING |
| HIGH | tests/test_litellm/types/llms/test_types_llms_openai.py | 278 | status=null). | STRING |
| HIGH⚡ | tests/test_litellm/proxy/test_proxy_server.py | 9787 | must stay a deliberate config.yaml act (max_ui_session_budget: null).""" | STRING |
| HIGH | tests/test_litellm/proxy/test_proxy_server.py | 3126 | null) must be stored as-is and not gain a max_budget key. | STRING |
| HIGH⚡ | …s/test_litellm/proxy/test_common_request_processing.py | 1461 | 'data: {"error": {"code": null, "message": "code is null"}}', | CODE |
| HIGH | …t_litellm/proxy/guardrails/test_guardrail_endpoints.py | 2008 | """List submissions only returns team guardrails (team_id not null).""" | STRING |
| HIGH | …xy/guardrails/guardrail_hooks/test_panw_prisma_airs.py | 2460 | b'data: {"type":"content_block_delta","index":0,"delta":null}\n', | CODE |
| HIGH | …xy/guardrails/guardrail_hooks/test_panw_prisma_airs.py | 2443 | """Non-dict JSON (null, arrays, ints) should be silently skipped.""" | STRING |
| HIGH | …/guardrails/guardrail_hooks/test_bedrock_guardrails.py | 1440 | # No BLOCKED actions found (all lists null) → should return False | COMMENT |
| HIGH | …roxy/spend_tracking/test_spend_management_endpoints.py | 2868 | "metadata": '{"applied_guardrails": [], "attempted_fallbacks": null, "original_model_group": null, " | CODE |
| HIGH | …roxy/spend_tracking/test_spend_management_endpoints.py | 2964 | "metadata": '{"applied_guardrails": [], "attempted_fallbacks": null, "original_model_group": null, " | CODE |
| HIGH | …roxy/spend_tracking/test_spend_management_endpoints.py | 3058 | "metadata": '{"applied_guardrails": [], "attempted_fallbacks": 0, "original_model_group": "my-anthro | CODE |
| HIGH | …roxy/spend_tracking/test_spend_management_endpoints.py | 1927 | /spend/logs/ui does (#29674). Property access on a string is silently undefined, | STRING |
| HIGH | …sts/test_litellm/proxy/memory/test_memory_endpoints.py | 720 | expectation of `PUT {"metadata": null}`. | STRING |
| HIGH | …ellm/proxy/_experimental/mcp_server/test_mcp_server.py | 7983 | left unstamped (null).""" | STRING |
| HIGH | …/proxy/_experimental/mcp_server/test_mcp_sigv4_auth.py | 1101 | # Credentials should be cleared. The clear reaches prisma as Json(None) (SQL null), which | COMMENT |
| HIGH | …/proxy/_experimental/mcp_server/test_rest_endpoints.py | 1098 | {"tools": [], "error": null} body a caller cannot distinguish from a toolless server.""" | STRING |
| HIGH | …xy/_experimental/mcp_server/test_mcp_partial_update.py | 805 | # The clear must reach prisma as Json(None) (SQL null), never a raw None, which prisma rejects. | COMMENT |
| HIGH | …xy/_experimental/mcp_server/test_mcp_partial_update.py | 24 | """The clear sentinel after the edge translation: prisma Json(None) (SQL null) or a bare None.""" | STRING |
| HIGH | …xy/_experimental/mcp_server/test_mcp_partial_update.py | 579 | columns null) must move the settings to the columns and drop them from the | STRING |
| HIGH⚡ | tests/test_litellm/proxy/auth/test_auth_checks.py | 5937 | restriction field null, so a high-cardinality deployment misses the per-pod cache on virtually | STRING |
| HIGH | …roxy/ui_crud_endpoints/test_proxy_setting_endpoints.py | 935 | # Send mixed SSO settings - some null, some valid | COMMENT |
| HIGH | …lm/proxy/management_endpoints/test_budget_endpoints.py | 381 | """Clearing budget_duration (explicit null) must not recompute against a None duration.""" | STRING |
| HIGH | …xy/management_endpoints/test_access_group_endpoints.py | 1312 | # Verify the DB update was called with [] (not null) for list fields | COMMENT |
| HIGH | …ellm/proxy/management_endpoints/test_team_endpoints.py | 5796 | (max_budget=null), which is the strongest possible raise (finite -> unlimited). | STRING |
| HIGH | …ellm/proxy/management_endpoints/test_team_endpoints.py | 10394 | When budget_duration is explicitly set to null, _set_budget_reset_at | STRING |
| HIGH | …ellm/proxy/management_endpoints/test_team_endpoints.py | 10494 | When team_member_budget is explicitly null, clear_team_member_budget_fields | STRING |
| HIGH | …ellm/proxy/management_endpoints/test_team_endpoints.py | 10540 | When team_member_rpm_limit and team_member_tpm_limit are explicitly null, | STRING |
| HIGH | …ellm/proxy/management_endpoints/test_team_endpoints.py | 10590 | When all team_member fields are explicitly null, all corresponding | STRING |
| HIGH⚡ | …/proxy/management_endpoints/test_ptu_model_settings.py | 324 | """update_db_model drops a PTU field a patch sends as null, so the merged view has to | STRING |
| HIGH | …/management_endpoints/test_key_management_endpoints.py | 2032 | """budget_limits=[] / None must serialize to JSON null, never reach Prisma raw.""" | STRING |
| HIGH | …/management_endpoints/test_key_management_endpoints.py | 13495 | When budget_duration is explicitly set to null, prepare_key_update_data | STRING |
| HIGH⚡ | …tellm/proxy/proxy_server/test_routes_model_cost_map.py | 273 | """No prisma client → returns the not-scheduled shape (4 keys, all-null).""" | STRING |
| HIGH⚡ | …_through_endpoints/test_streaming_handler_interrupt.py | 483 | b'"choices":[{"index":0,"delta":{"content":"Hi"}}],"usage":null}\n\n' | CODE |
| HIGH | …_through_endpoints/test_streaming_handler_interrupt.py | 370 | b'"choices":[{"index":0,"delta":{"content":"Hi"}}],"usage":null}\n\n' | CODE |
| HIGH⚡ | …handlers/test_anthropic_passthrough_logging_handler.py | 1125 | 'event: message_start\ndata: {"type":"message_start","message":{"id":"msg_1","type":"message","role":"assist | CODE |
| HIGH⚡ | …handlers/test_anthropic_passthrough_logging_handler.py | 1129 | 'event: message_delta\ndata: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null} | CODE |
| HIGH⚡ | …handlers/test_anthropic_passthrough_logging_handler.py | 1141 | 'event: message_start\ndata: {"type":"message_start","message":{"id":"msg_1","type":"message","role":"assist | CODE |
| 152 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | proxy_server_config.yaml | 66 | api_key: fake-key | CODE |
| LOW⚡ | proxy_server_config.yaml | 71 | api_key: my-fake-key | CODE |
| LOW⚡ | proxy_server_config.yaml | 78 | api_key: my-fake-key | CODE |
| LOW⚡ | proxy_server_config.yaml | 85 | api_key: my-fake-key | CODE |
| LOW⚡ | proxy_server_config.yaml | 91 | api_key: my-fake-key | CODE |
| LOW | proxy_server_config.yaml | 150 | api_key: my-fake-key | CODE |
| LOW | proxy_server_config.yaml | 156 | api_key: my-fake-key | CODE |
| LOW | policy_templates.json | 1549 | "placeholder": "e.g. Acme Airlines" | CODE |
| LOW | policy_templates.json | 1923 | "placeholder": "e.g. Acme Airlines" | CODE |
| LOW | terraform/provider/docs/resources/team_member_add.md | 25 | user_email = "user@example.com" | CODE |
| LOW | terraform/provider/litellm/resource_team_member_test.go | 28 | "user_email": "user@example.com", | CODE |
| LOW | …lm-dashboard/tests/CreateKeyPage.expiredToken.test.tsx | 257 | user_email: "user@example.com", | CODE |
| LOW | …lm-dashboard/tests/CreateKeyPage.expiredToken.test.tsx | 288 | user_email: "user@example.com", | CODE |
| LOW | ui/litellm-dashboard/tests/setupTests.ts | 108 | userEmail: "user@example.com", | CODE |
| LOW | ui/litellm-dashboard/src/app/chat/layout.test.tsx | 18 | userEmail: "user@example.com", | CODE |
| LOW | …nd-endpoints/components/ModelRetrySettingsTab.test.tsx | 104 | expect(inputs[2]).toHaveAttribute("placeholder", "7"); // inherited from global | CODE |
| LOW | …nd-endpoints/components/ModelRetrySettingsTab.test.tsx | 106 | expect(inputs[0]).toHaveAttribute("placeholder", "1"); // inherited from defaultRetry | CODE |
| LOW | …pp/(dashboard)/tag-management/_components/tag_info.tsx | 191 | fetchUserModels("dummy-user", "Admin", accessToken, setUserModels); | CODE |
| LOW | …ils/_components/TeamGuardrailsTab.integration.test.tsx | 38 | userEmail: "user@example.com", | CODE |
| LOW | …ard)/guardrails/_components/TeamGuardrailsTab.test.tsx | 52 | userEmail: "user@example.com", | CODE |
| LOW | …src/app/(dashboard)/api-keys/ApiKeysDashboard.test.tsx | 33 | userEmail: "admin@example.com", | CODE |
| LOW | …components/components/EntityUsage/EntityUsage.test.tsx | 1087 | expect(userCombobox()).toHaveAttribute("placeholder", "Search users by email…"); | CODE |
| LOW | …hboard/src/app/(dashboard)/hooks/useAuthorized.test.ts | 132 | user_email: "user@example.com", | CODE |
| LOW | …hboard/src/app/(dashboard)/hooks/useAuthorized.test.ts | 153 | expect(result.current.userEmail).toBe("user@example.com"); | CODE |
| LOW | …hboard/src/app/(dashboard)/hooks/useAuthorized.test.ts | 239 | user_email: "user@example.com", | CODE |
| LOW | …hboard/src/app/(dashboard)/hooks/useAuthorized.test.ts | 260 | expect(result.current.userEmail).toBe("user@example.com"); | CODE |
| LOW | …hboard/src/app/(dashboard)/hooks/useAuthorized.test.ts | 298 | user_email: "user@example.com", | CODE |
| LOW | …board)/vector-stores/_components/IndexesTable.test.tsx | 17 | created_by: "admin@example.com", | CODE |
| LOW | …board)/vector-stores/_components/IndexesTable.test.tsx | 25 | created_by: "admin@example.com", | CODE |
| LOW | …board)/vector-stores/_components/IndexesTable.test.tsx | 52 | expect(screen.getByText("admin@example.com")).toBeInTheDocument(); | CODE |
| LOW | …board)/vector-stores/_components/IndexesTable.test.tsx | 89 | const link = screen.getByRole("link", { name: "admin@example.com" }); | CODE |
| LOW | …_components/coordination_redis_settings/index.test.tsx | 187 | expect(password).toHaveAttribute("placeholder", expect.stringMatching(/already set/i)); | CODE |
| LOW | …shboard/src/app/onboarding/OnboardingFormBody.test.tsx | 41 | render(<OnboardingFormBody {...defaultProps} userEmail="user@example.com" />); | CODE |
| LOW | …shboard/src/app/onboarding/OnboardingFormBody.test.tsx | 43 | expect(screen.getByLabelText("Email Address")).toHaveValue("user@example.com"); | CODE |
| LOW | ui/litellm-dashboard/src/utils/jwtUtils.test.ts | 67 | user_email: "user@example.com", | CODE |
| LOW | …/litellm-dashboard/src/components/public_model_hub.tsx | 1266 | 'Authorization': 'Bearer dummy-token-for-extended-card' | CODE |
| LOW | …/litellm-dashboard/src/components/public_model_hub.tsx | 1315 | 'Authorization': 'Bearer dummy-token-for-extended-card' | CODE |
| LOW | ui/litellm-dashboard/src/components/SSOModals.test.tsx | 244 | user_email: "admin@example.com", | CODE |
| LOW | ui/litellm-dashboard/src/components/SSOModals.test.tsx | 289 | expect(emailInput.value).toBe("admin@example.com"); | CODE |
| LOW | ui/litellm-dashboard/src/components/SSOModals.test.tsx | 349 | fireEvent.change(emailInput, { target: { value: "admin@example.com" } }); | CODE |
| LOW | ui/litellm-dashboard/src/components/SSOModals.test.tsx | 385 | user_email: "admin@example.com", | CODE |
| LOW | ui/litellm-dashboard/src/components/SSOModals.test.tsx | 449 | target: { value: "admin@example.com" }, | CODE |
| LOW | …src/components/organization/organization_view.test.tsx | 84 | organization_alias: "Acme Corp", | CODE |
| LOW | …src/components/organization/organization_view.test.tsx | 88 | created_by: "admin@example.com", | CODE |
| LOW | …src/components/organization/organization_view.test.tsx | 123 | const [orgName] = await findAllByText("Acme Corp"); | CODE |
| LOW | …src/components/organization/organization_view.test.tsx | 144 | expect(screen.getByText("Acme Corp")).toBeInTheDocument(); | CODE |
| LOW | …ttings/HashicorpVault/EditHashicorpVaultModal.test.tsx | 167 | "placeholder", | CODE |
| LOW | …ttings/HashicorpVault/EditHashicorpVaultModal.test.tsx | 176 | expect(screen.getByLabelText("Token")).toHaveAttribute("placeholder", "vault_token description"); | CODE |
| LOW | …tings/Modals/EditSSOSettingsModal.integration.test.tsx | 17 | user_email: "admin@example.com", | CODE |
| LOW | …tings/Modals/EditSSOSettingsModal.integration.test.tsx | 65 | user_email: "admin@example.com", | CODE |
| LOW | …ttings/SSOSettings/Modals/BaseSSOSettingsForm.test.tsx | 306 | user_email: "admin@example.com", | CODE |
| LOW | …ttings/SSOSettings/Modals/BaseSSOSettingsForm.test.tsx | 376 | user_email: "admin@example.com", | CODE |
| LOW | …ard/src/components/claude_code_plugins/helpers.test.ts | 304 | expect(isValidEmail("user@example.com")).toBe(true); | CODE |
| LOW | …src/components/agent_management/AgentSelector.test.tsx | 56 | expect(screen.getByRole("combobox")).toHaveAttribute("placeholder", "Loading..."); | CODE |
| LOW | …src/components/agent_management/AgentSelector.test.tsx | 61 | expect(screen.getByRole("combobox")).toHaveAttribute("placeholder", "Select agents"); | CODE |
| LOW | …src/components/agent_management/AgentSelector.test.tsx | 115 | expect(screen.getByRole("combobox")).toHaveAttribute("placeholder", "Select agents"); | CODE |
| LOW | …rc/components/DeletedKeysPage/DeletedKeysPage.test.tsx | 70 | user_email: "user@example.com", | CODE |
| LOW | …tedKeysPage/DeletedKeysTable/DeletedKeysTable.test.tsx | 24 | user_email: "user@example.com", | CODE |
| LOW | …tedKeysPage/DeletedKeysTable/DeletedKeysTable.test.tsx | 47 | expect(screen.getByText("user@example.com")).toBeInTheDocument(); | CODE |
| LOW | …c/components/VirtualKeysPage/VirtualKeysTable.test.tsx | 131 | user_email: "user@example.com", | CODE |
| 893 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ruff-tests.toml | 1 | # Lint config for the test tree, which ruff.toml excludes from `ruff check`. | COMMENT |
| LOW | ruff-tests.toml | 21 | # that call is dead, so an `assert` sitting there is never checked. Keep the | COMMENT |
| LOW | ruff-tests.toml | 41 | # UnboundLocalError, and in an autouse fixture that takes every test in the | COMMENT |
| LOW | ruff-tests.toml | 61 | # first is always truthy and the second is an attribute nobody calls | COMMENT |
| LOW | ruff-tests.toml | 81 | # a TypeError from the raise itself | COMMENT |
| LOW | pyproject.toml | 341 | # sandbox and the test conftest imports from across the litellm package. | COMMENT |
| LOW | pyproject.toml | 361 | mutate_only_covered_lines = true | COMMENT |
| LOW | ruff.toml | 1 | lint.ignore = ["F405", "E402", "F403"] | COMMENT |
| LOW | packaging/homebrew/lite.rb | 1 | # Homebrew formula for the thin LiteLLM `lite` CLI (litellm[cli]). | COMMENT |
| LOW | terraform/provider/RELEASING.md | 41 | ```bash | COMMENT |
| LOW | terraform/litellm/gcp/locals.tf | 1 | # Gateway path prefixes — mirrored verbatim from gateway/routes/allowlist.py | COMMENT |
| LOW | terraform/litellm/gcp/cloudsql.tf | 1 | # Cloud SQL for PostgreSQL — one primary + one read replica. | COMMENT |
| LOW | terraform/litellm/gcp/bootstrap.tf | 1 | # Auto-runs the prisma schema migration as part of `terraform apply`. Mirrors | COMMENT |
| LOW | terraform/litellm/gcp/examples/default/main.tf | 1 | # One-command deploy of the LiteLLM GCP stack. | COMMENT |
| LOW | terraform/litellm/aws/ecs.tf | 41 | # Shared env block fed to gateway, backend, and the migration task. Mirrors | COMMENT |
| LOW | terraform/litellm/aws/ecs.tf | 241 | # when its own PEM is supplied, so an endpoint set with a missing key would | COMMENT |
| LOW | terraform/litellm/aws/autoscaling.tf | 1 | # Application Auto Scaling for the three ECS services. Mirrors the HPA values | COMMENT |
| LOW | terraform/litellm/aws/locals.tf | 1 | # Gateway path prefixes — mirrored verbatim from gateway/routes/allowlist.py | COMMENT |
| LOW | terraform/litellm/aws/s3.tf | 1 | # General-purpose S3 bucket for the proxy. LiteLLM uses S3 for: | COMMENT |
| LOW | terraform/litellm/aws/migrations.tf | 1 | # Task definition for the dedicated litellm-migrations image. Mirrors the | COMMENT |
| LOW | terraform/litellm/aws/rds.tf | 1 | # Aurora Postgres cluster with one writer + one reader instance, IAM | COMMENT |
| LOW | terraform/litellm/aws/bootstrap.tf | 1 | # Auto-runs the two manual steps that used to follow `terraform apply`: | COMMENT |
| LOW | terraform/litellm/aws/examples/default/main.tf | 1 | # One-command deploy of the LiteLLM AWS stack. | COMMENT |
| LOW | terraform/litellm/aws/examples/default/providers.tf | 1 | # The provider is configured HERE, in the root, not in the module. That is | COMMENT |
| LOW | terraform/litellm/aws/examples/default/providers.tf | 21 | # "cost-center" = "platform" | COMMENT |
| LOW | …dashboard)/agents/_components/agent_card_discovery.tsx | 81 | COMMENT | |
| LOW | …dashboard)/mcp-servers/_components/mcp_server_edit.tsx | 461 | // Invalidate a token authorized in this edit session once any mint-relevant field diverges from the | COMMENT |
| LOW | ui/litellm-dashboard/src/utils/maskedSecretUtils.ts | 1 | // The proxy redacts secrets in API responses by masking them (e.g. "sk-1****2345"), | COMMENT |
| LOW | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 121 | return base64.b64encode(image_file.read()).decode('utf-8') | COMMENT |
| LOW | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 141 | # "text": "${safePrompt}" | COMMENT |
| LOW | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 181 | return base64.b64encode(image_file.read()).decode('utf-8') | COMMENT |
| LOW | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 201 | # "type": "input_image", | COMMENT |
| LOW | …m-dashboard/src/components/templates/key_edit_view.tsx | 241 | if (neverExpire) { | COMMENT |
| LOW | ui/litellm-dashboard/src/components/mcp_tools/types.tsx | 101 | // endpoints (authorization_url / token_url / registration_url). Grounded in RFC 8707 / RFC 8693 and the MCP | COMMENT |
| LOW | ui/litellm-dashboard/src/components/mcp_tools/types.tsx | 141 | // is ALWAYS admin-typed in every reachable state: the create form holds the DCR-minted client in a | COMMENT |
| LOW | ui/litellm-dashboard/src/components/mcp_tools/types.tsx | 221 | // from the UI-local OAUTH_FLOW.M2M ("m2m"); this is what the API actually returns. | COMMENT |
| LOW | ui/litellm-dashboard/src/lib/autorouter_presets.ts | 241 | // `availability` is required, not optional: every model reference gets rewritten to the | COMMENT |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 641 | f"Batch ID: {batch_id} is complete, tracking cost and usage" | COMMENT |
| LOW | …e/litellm_enterprise/enterprise_callbacks/llm_guard.py | 221 | # asyncio.run( | COMMENT |
| LOW | tests/test_callbacks_on_proxy.py | 21 | # other tests sharing this proxy (this suite runs `pytest -n 4` against a single | COMMENT |
| LOW | tests/_vcr_conftest_common.py | 401 | # until it overflows ``MAX_EPISODES_PER_CASSETTE`` and re-records live forever. | COMMENT |
| LOW | tests/_vcr_conftest_common.py | 561 | return str(getattr(request, "method", "") or "").upper() == "POST" | COMMENT |
| LOW | tests/_vcr_conftest_common.py | 1481 | continue | COMMENT |
| LOW | …/logging_callback_tests/test_custom_callback_router.py | 21 | ## 2: Post-API-Call | COMMENT |
| LOW | tests/logging_callback_tests/test_alerting.py | 541 | mock_send_alert.assert_awaited_once() | COMMENT |
| LOW | …ging_callback_tests/test_bedrock_knowledgebase_hook.py | 641 | # litellm.set_verbose = True | COMMENT |
| LOW | …ging_callback_tests/test_bedrock_knowledgebase_hook.py | 661 | # print("standard_logging_vector_store_request_metadata:", json.dumps(standard_logging_vector_store_request_metadata | COMMENT |
| LOW | …e/litellm_enterprise/proxy/hooks/test_managed_files.py | 221 | COMMENT | |
| LOW | …e/litellm_enterprise/proxy/hooks/test_managed_files.py | 241 | # assert any(f.filename == "test1.txt" for f in files) | COMMENT |
| LOW | …e/litellm_enterprise/proxy/hooks/test_managed_files.py | 261 | # assert retrieved_file.purpose == "assistants" | COMMENT |
| LOW | …e/litellm_enterprise/proxy/hooks/test_managed_files.py | 281 | # # Verify file is no longer retrievable | COMMENT |
| LOW | …e/litellm_enterprise/proxy/hooks/test_managed_files.py | 301 | # proxy_managed_files.delete_file("nonexistent-file-id") | COMMENT |
| LOW | …s/local_only_agent_tests/test_a2a_completion_bridge.py | 281 | COMMENT | |
| LOW | tests/pass_through_tests/test_gemini.js | 1 | // const { GoogleGenerativeAI } = require("@google/generative-ai"); | COMMENT |
| LOW | tests/pass_through_tests/test_gemini.js | 21 | // } | COMMENT |
| LOW | tests/proxy_admin_ui_tests/ui_unit_tests/jest.setup.js | 1 | // Add any global setup here | COMMENT |
| LOW | tests/vector_store_tests/test_milvus_vector_store.py | 441 | request_data = self._extract_request_body(mock_post) | COMMENT |
| LOW | tests/vector_store_tests/test_milvus_vector_store.py | 461 | # "default_output_fields": [ | COMMENT |
| LOW | …ough_unit_tests/test_anthropic_messages_tool_search.py | 41 | # """ | COMMENT |
| LOW | …ough_unit_tests/test_anthropic_messages_tool_search.py | 61 | # """ | COMMENT |
| 519 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | tests/audio_tests/test_whisper.py | 260 | mock_azure_client.audio.transcriptions.with_raw_response.create.assert_called_once() | CODE |
| CRITICAL | tests/proxy_unit_tests/test_check_batch_cost.py | 2344 | instance.prisma_client.db.litellm_usertable.find_unique.assert_not_called() | CODE |
| CRITICAL | …xy/guardrails/guardrail_hooks/test_panw_prisma_airs.py | 2221 | sent_payload = mock_client.client.post.call_args.kwargs.get( | CODE |
| CRITICAL | …xy/guardrails/guardrail_hooks/test_panw_prisma_airs.py | 2256 | sent_payload = mock_client.client.post.call_args.kwargs.get( | CODE |
| CRITICAL | …sts/test_litellm/proxy/memory/test_memory_endpoints.py | 854 | self.prisma.db.litellm_teamtable.teams.append( | CODE |
| CRITICAL | …sts/test_litellm/proxy/memory/test_memory_endpoints.py | 879 | self.prisma.db.litellm_teamtable.teams.append( | CODE |
| CRITICAL | …sts/test_litellm/proxy/memory/test_memory_endpoints.py | 899 | self.prisma.db.litellm_teamtable.teams.append( | CODE |
| CRITICAL | tests/test_litellm/proxy/auth/test_auth_utils.py | 1874 | authorization = route.calls.last.request.headers.get("authorization") | CODE |
| CRITICAL⚡ | …test_litellm/proxy/batches_endpoints/test_endpoints.py | 2682 | metadata = retrieve_harness.router.aretrieve_batch.await_args.kwargs.get("litellm_metadata") or {} | CODE |
| CRITICAL⚡ | …test_litellm/proxy/batches_endpoints/test_endpoints.py | 2692 | metadata = retrieve_harness.router.aretrieve_batch.await_args.kwargs.get("litellm_metadata") or {} | CODE |
| CRITICAL⚡ | …llm/proxy/openai_files_endpoint/test_files_endpoint.py | 751 | print(f"Content: {gemini_route.calls.last.request.content.decode()}") | CODE |
| CRITICAL⚡ | …llm/proxy/openai_files_endpoint/test_files_endpoint.py | 752 | print(f"Response: {gemini_route.calls.last.response.content.decode()}") | CODE |
| CRITICAL⚡ | …llm/proxy/openai_files_endpoint/test_files_endpoint.py | 754 | assert "test-file-id" in gemini_route.calls.last.request.content.decode() | CODE |
| CRITICAL⚡ | …est_litellm/proxy/hooks/test_sensitive_data_routing.py | 639 | handler_with_redis.internal_usage_cache.dual_cache.redis_cache.async_set_cache.assert_called_once() | CODE |
| CRITICAL | …gement_endpoints/test_workflow_management_endpoints.py | 195 | self._prisma.db.litellm_workflowrun.create.assert_awaited_once() | CODE |
| CRITICAL | …gement_endpoints/test_workflow_management_endpoints.py | 298 | self._prisma.db.litellm_workflowrun.update.assert_awaited_once() | CODE |
| CRITICAL | …gement_endpoints/test_workflow_management_endpoints.py | 627 | self._prisma.db.litellm_workflowrun.update.assert_not_awaited() | CODE |
| CRITICAL | …gement_endpoints/test_workflow_management_endpoints.py | 725 | self._prisma.db.litellm_workflowrun.update.assert_not_awaited() | CODE |
| CRITICAL | tests/test_litellm/proxy/client/test_models.py | 344 | assert "not found" in exc_info.value.orig_exception.response.text.lower() | CODE |
| CRITICAL | tests/test_litellm/proxy/client/test_models.py | 715 | assert "not found" in exc_info.value.orig_exception.response.text.lower() | CODE |
| CRITICAL | …st_litellm/enterprise/proxy/test_managed_files_hook.py | 325 | managed_files.prisma_client.db.litellm_managedfiletable.find_many.assert_awaited_once_with( | CODE |
| CRITICAL | tests/test_litellm/repositories/test_repositories.py | 1676 | repo._prisma_client.db.litellm_deletedverificationtoken._records.values() | CODE |
| CRITICAL⚡ | …ellm/integrations/test_prometheus_rate_limit_labels.py | 427 | logger.litellm_remaining_api_key_requests_for_model.labels.return_value.set.assert_called_once_with( | CODE |
| CRITICAL⚡ | …ellm/integrations/test_prometheus_rate_limit_labels.py | 430 | logger.litellm_remaining_api_key_tokens_for_model.labels.return_value.set.assert_called_once_with( | CODE |
| CRITICAL | …ellm/integrations/test_prometheus_rate_limit_labels.py | 383 | logger.litellm_remaining_api_key_requests_for_model.labels.return_value.set.assert_called_once_with( | CODE |
| CRITICAL | …ellm/integrations/test_prometheus_rate_limit_labels.py | 386 | logger.litellm_remaining_api_key_tokens_for_model.labels.return_value.set.assert_called_once_with( | CODE |
| CRITICAL | …ellm/integrations/test_prometheus_rate_limit_labels.py | 408 | logger.litellm_remaining_api_key_requests_for_model.labels.return_value.set.assert_called_once_with( | CODE |
| CRITICAL | …ellm/integrations/test_prometheus_rate_limit_labels.py | 411 | logger.litellm_remaining_api_key_tokens_for_model.labels.return_value.set.assert_called_once_with( | CODE |
| CRITICAL | …ellm/integrations/test_prometheus_rate_limit_labels.py | 446 | logger.litellm_remaining_api_key_requests_for_model.labels.return_value.set.assert_called_once_with( | CODE |
| CRITICAL | …ellm/integrations/test_prometheus_rate_limit_labels.py | 449 | logger.litellm_remaining_api_key_tokens_for_model.labels.return_value.set.assert_called_once_with( | CODE |
| CRITICAL | …ellm/integrations/test_prometheus_rate_limit_labels.py | 468 | logger.litellm_remaining_api_key_requests_for_model.labels.return_value.set.assert_called_once_with( | CODE |
| CRITICAL | …ellm/integrations/test_prometheus_rate_limit_labels.py | 471 | logger.litellm_remaining_api_key_tokens_for_model.labels.return_value.set.assert_called_once_with( | CODE |
| CRITICAL | …st_litellm/llms/base_llm/test_base_managed_resource.py | 108 | resource.prisma_client.db.litellm_test_resource_table.find_many.assert_not_awaited() | CODE |
| CRITICAL | tests/test_litellm/caching/test_azure_blob_cache.py | 90 | from azure.core.exceptions import ResourceNotFoundError | CODE |
| CRITICAL | tests/test_litellm/caching/test_azure_blob_cache.py | 167 | from azure.core.exceptions import ResourceNotFoundError | CODE |
| CRITICAL | litellm/proxy/public_endpoints/public_v1/model_hub.py | 233 | "litellm.proxy.public_endpoints.public_v1.model_hub.public_model_hub_list(): Exception occured - %s", e | CODE |
| CRITICAL | litellm/proxy/hooks/azure_content_safety.py | 33 | from azure.core.exceptions import HttpResponseError | CODE |
| CRITICAL | …proxy/management_endpoints/management_v1/spend_logs.py | 159 | "litellm.proxy.management_endpoints.management_v1.spend_logs._list_spend_log_facet(): Exception occured - %s | CODE |
| CRITICAL | …lm/proxy/management_endpoints/management_v1/budgets.py | 194 | "litellm.proxy.management_endpoints.management_v1.budgets.list_budgets(): Exception occured - %s", e | CODE |
| CRITICAL | litellm/caching/azure_blob_cache.py | 23 | from azure.core.exceptions import ResourceExistsError | CODE |
| CRITICAL⚡ | litellm/caching/azure_blob_cache.py | 62 | from azure.core.exceptions import ResourceNotFoundError | CODE |
| CRITICAL | litellm/caching/azure_blob_cache.py | 82 | from azure.core.exceptions import ResourceNotFoundError | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …/app/(dashboard)/agents/_components/add_agent_form.tsx | 139 | // Step 3: key assignment state | COMMENT |
| LOW⚡ | …/app/(dashboard)/agents/_components/add_agent_form.tsx | 151 | // Step 4: results | COMMENT |
| LOW⚡ | tests/litellm_utils_tests/test_cyberark.py | 376 | # Step 1: Create initial secret with old alias | COMMENT |
| LOW⚡ | tests/litellm_utils_tests/test_cyberark.py | 384 | # Step 2: Rotate to new alias with new value | COMMENT |
| LOW⚡ | tests/litellm_utils_tests/test_cyberark.py | 396 | # Step 3: Verify new alias has new value | COMMENT |
| LOW⚡ | tests/litellm_utils_tests/test_cyberark.py | 401 | # Step 4: Verify old alias still exists (CyberArk doesn't delete via API) | COMMENT |
| LOW | tests/litellm_utils_tests/test_cyberark.py | 249 | # Step 1: Write initial secret (simulates key creation) | COMMENT |
| LOW | tests/litellm_utils_tests/test_cyberark.py | 262 | # Step 2: Rotate the secret (simulates key rotation) | COMMENT |
| LOW | tests/litellm_utils_tests/test_cyberark.py | 275 | # Step 3: Verify the secret now returns the NEW value | COMMENT |
| LOW⚡ | …ent_tests/local_only_agent_tests/local_vertex_agent.py | 37 | # Step 1: Authenticate with Google Cloud | COMMENT |
| LOW⚡ | …ent_tests/local_only_agent_tests/local_vertex_agent.py | 46 | # Step 2: Build the endpoint URL | COMMENT |
| LOW⚡ | …ent_tests/local_only_agent_tests/local_vertex_agent.py | 57 | # Step 3: Create authenticated httpx client | COMMENT |
| LOW⚡ | …ent_tests/local_only_agent_tests/local_vertex_agent.py | 67 | # Step 4: Build the query request (non-streaming) | COMMENT |
| LOW | …_responses_api_testing/test_anthropic_responses_api.py | 77 | # Step 1: Initial request with the tool | COMMENT |
| LOW | …_responses_api_testing/test_anthropic_responses_api.py | 95 | # Step 2: Send the results of the tool call back to the model | COMMENT |
| LOW | …llm_responses_api_testing/test_openai_responses_api.py | 1226 | # Step 1: OpenAI will use MCP LIST, and return a list of MCP calls for our approval | COMMENT |
| LOW | …llm_responses_api_testing/test_openai_responses_api.py | 1239 | # Step 2: Send followup with approval for the MCP call | COMMENT |
| LOW | …ses_api_testing/test_google_ai_studio_responses_api.py | 124 | # Step 1: Initial request with tools | COMMENT |
| LOW | …ses_api_testing/test_google_ai_studio_responses_api.py | 224 | # Step 1: Streaming request with tools | COMMENT |
| LOW⚡ | tests/documentation_tests/test_exception_types.py | 45 | # Step 2: Extract the table content | COMMENT |
| LOW⚡ | tests/documentation_tests/test_exception_types.py | 48 | # Step 3: Create a pattern to capture the Error Types from each row | COMMENT |
| LOW | tests/vector_store_tests/rag/base_rag_tests.py | 133 | # Step 1: Ingest | STRING |
| LOW | tests/vector_store_tests/rag/base_rag_tests.py | 144 | # Step 2: Query with retry (indexing may take time) | STRING |
| LOW⚡ | tests/llm_translation/test_bedrock_completion.py | 2832 | "thinking": "Alright, let's get started with resolving this issue about implementing `__len__` f | CODE |
| LOW⚡ | tests/llm_translation/test_bedrock_completion.py | 2837 | "text": "I'll help you implement the `__len__` method for Pipeline in scikit-learn to fix the is | CODE |
| LOW⚡ | tests/llm_translation/test_anthropic_completion.py | 1159 | "thinking": "Alright, let's get started with resolving this issue about implementing `__len__` f | CODE |
| LOW⚡ | tests/llm_translation/test_anthropic_completion.py | 1164 | "text": "I'll help you implement the `__len__` method for Pipeline in scikit-learn to fix the is | CODE |
| LOW⚡ | tests/llm_translation/test_gemini.py | 1169 | # Step 2: check if the model wanted to call a function | COMMENT |
| LOW⚡ | tests/llm_translation/test_gemini.py | 1172 | # Step 3: call the function | COMMENT |
| LOW⚡ | tests/llm_translation/test_gemini.py | 1179 | # Step 4: send the info for each function call and function response to the model | COMMENT |
| LOW | tests/llm_translation/realtime/base_realtime_tests.py | 341 | # Step 1: Send a user message after connection is established | COMMENT |
| LOW | tests/llm_translation/realtime/base_realtime_tests.py | 364 | # Step 2: Trigger the response after user message is acknowledged | COMMENT |
| LOW | tests/llm_translation/realtime/base_realtime_tests.py | 381 | # Step 3: Wait for LLM responses | COMMENT |
| LOW⚡ | tests/test_litellm/test_aembedding_session_reuse_e2e.py | 35 | # Step 1: litellm.embedding() extracts and passes shared_session | COMMENT |
| LOW⚡ | tests/test_litellm/test_aembedding_session_reuse_e2e.py | 39 | # Step 2: OpenAI handlers pass it forward | COMMENT |
| LOW⚡ | tests/test_litellm/test_aembedding_session_reuse_e2e.py | 45 | # Step 3: _get_openai_client passes it to AsyncHTTPHandler | COMMENT |
| LOW⚡ | tests/test_litellm/test_aembedding_session_reuse_e2e.py | 49 | # Step 4: AsyncHTTPHandler.create_client passes it to _create_async_transport | COMMENT |
| LOW⚡ | tests/test_litellm/test_aembedding_session_reuse_e2e.py | 53 | # Step 5: _create_async_transport passes it to _create_aiohttp_transport | COMMENT |
| LOW⚡ | tests/test_litellm/test_aembedding_session_reuse_e2e.py | 57 | # Step 6: _create_aiohttp_transport uses it | COMMENT |
| LOW⚡ | tests/test_litellm/test_project_alias_tracking.py | 118 | # Step 1: Auth → sanitized metadata | COMMENT |
| LOW⚡ | tests/test_litellm/test_project_alias_tracking.py | 123 | # Step 2: Sanitized metadata → standard logging metadata | COMMENT |
| LOW | tests/test_litellm/test_cost_calculator.py | 265 | # Step 1: Test a model where input_cost_per_image_token is not set. | COMMENT |
| LOW | tests/test_litellm/test_cost_calculator.py | 281 | # Step 2: Set input_cost_per_image_token. | COMMENT |
| LOW⚡ | tests/test_litellm/proxy/test_proxy_server.py | 337 | # Step 1: login — get code | COMMENT |
| LOW⚡ | tests/test_litellm/proxy/test_proxy_server.py | 345 | # Step 2: exchange — get JWT | COMMENT |
| LOW | …y/_experimental/mcp_server/test_jwt_mcp_enforcement.py | 267 | # Step 1: Verify JWT auth returns correct team_id | COMMENT |
| LOW⚡ | …y/_experimental/mcp_server/test_jwt_mcp_enforcement.py | 289 | # Step 2: Create UserAPIKeyAuth with the team_id from JWT auth | COMMENT |
| LOW⚡ | …y/_experimental/mcp_server/test_jwt_mcp_enforcement.py | 296 | # Step 3: Verify MCPRequestHandler returns team's MCP servers | COMMENT |
| LOW⚡ | …/vector_store_endpoints/test_vector_store_endpoints.py | 1910 | # Step 1: Create vector store on Instance 1 | COMMENT |
| LOW⚡ | …/vector_store_endpoints/test_vector_store_endpoints.py | 1916 | # Step 2: Instance 2 fetches and caches the vector store | COMMENT |
| LOW | …/vector_store_endpoints/test_vector_store_endpoints.py | 1663 | # Step 1: Create vector store on Instance 1 | COMMENT |
| LOW | …/vector_store_endpoints/test_vector_store_endpoints.py | 1684 | # Step 2: Instance 2 should be able to find it via database fallback | COMMENT |
| LOW | …/vector_store_endpoints/test_vector_store_endpoints.py | 1702 | # Step 3: Test that Instance 2 can list vector stores from database | COMMENT |
| LOW | …/vector_store_endpoints/test_vector_store_endpoints.py | 1737 | # Step 4: Delete vector store on Instance 1 | COMMENT |
| LOW | …/vector_store_endpoints/test_vector_store_endpoints.py | 1762 | # Step 5: Instance 2 should NOT show it in the list (database is source of truth) | COMMENT |
| LOW | …/vector_store_endpoints/test_vector_store_endpoints.py | 1799 | # Step 6: Test that using a deleted vector store fails gracefully | COMMENT |
| LOW | …/vector_store_endpoints/test_vector_store_endpoints.py | 1934 | # Step 3: Instance 1 updates the vector store in the database | COMMENT |
| LOW | …/vector_store_endpoints/test_vector_store_endpoints.py | 1966 | # Step 4: Instance 2 calls list endpoint (which should sync with database) | COMMENT |
| LOW | …/vector_store_endpoints/test_vector_store_endpoints.py | 1986 | # Step 5: Verify Instance 2 now has the updated data | COMMENT |
| LOW⚡ | …xy/management_endpoints/scim/test_scim_v2_endpoints.py | 325 | # Step 1: Start with no default params (fresh proxy state) | COMMENT |
| 204 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …/app/(dashboard)/agents/_components/add_agent_form.tsx | 139 | // Step 3: key assignment state | COMMENT |
| LOW⚡ | …/app/(dashboard)/agents/_components/add_agent_form.tsx | 151 | // Step 4: results | COMMENT |
| LOW | …itellm_enterprise/proxy/hooks/managed_vector_stores.py | 89 | # For TypedDict responses, we need to check if _hidden_params was added | COMMENT |
| LOW⚡ | tests/litellm_utils_tests/test_cyberark.py | 376 | # Step 1: Create initial secret with old alias | COMMENT |
| LOW⚡ | tests/litellm_utils_tests/test_cyberark.py | 384 | # Step 2: Rotate to new alias with new value | COMMENT |
| LOW⚡ | tests/litellm_utils_tests/test_cyberark.py | 396 | # Step 3: Verify new alias has new value | COMMENT |
| LOW⚡ | tests/litellm_utils_tests/test_cyberark.py | 401 | # Step 4: Verify old alias still exists (CyberArk doesn't delete via API) | COMMENT |
| LOW | tests/litellm_utils_tests/test_cyberark.py | 249 | # Step 1: Write initial secret (simulates key creation) | COMMENT |
| LOW | tests/litellm_utils_tests/test_cyberark.py | 262 | # Step 2: Rotate the secret (simulates key rotation) | COMMENT |
| LOW | tests/litellm_utils_tests/test_cyberark.py | 275 | # Step 3: Verify the secret now returns the NEW value | COMMENT |
| LOW⚡ | …ent_tests/local_only_agent_tests/local_vertex_agent.py | 37 | # Step 1: Authenticate with Google Cloud | COMMENT |
| LOW⚡ | …ent_tests/local_only_agent_tests/local_vertex_agent.py | 46 | # Step 2: Build the endpoint URL | COMMENT |
| LOW⚡ | …ent_tests/local_only_agent_tests/local_vertex_agent.py | 57 | # Step 3: Create authenticated httpx client | COMMENT |
| LOW⚡ | …ent_tests/local_only_agent_tests/local_vertex_agent.py | 67 | # Step 4: Build the query request (non-streaming) | COMMENT |
| LOW | …_responses_api_testing/test_anthropic_responses_api.py | 77 | # Step 1: Initial request with the tool | COMMENT |
| LOW | …_responses_api_testing/test_anthropic_responses_api.py | 95 | # Step 2: Send the results of the tool call back to the model | COMMENT |
| LOW | …llm_responses_api_testing/test_openai_responses_api.py | 1226 | # Step 1: OpenAI will use MCP LIST, and return a list of MCP calls for our approval | COMMENT |
| LOW | …llm_responses_api_testing/test_openai_responses_api.py | 1239 | # Step 2: Send followup with approval for the MCP call | COMMENT |
| LOW | …ses_api_testing/test_google_ai_studio_responses_api.py | 124 | # Step 1: Initial request with tools | COMMENT |
| LOW | …ses_api_testing/test_google_ai_studio_responses_api.py | 224 | # Step 1: Streaming request with tools | COMMENT |
| LOW⚡ | tests/documentation_tests/test_exception_types.py | 45 | # Step 2: Extract the table content | COMMENT |
| LOW⚡ | tests/documentation_tests/test_exception_types.py | 48 | # Step 3: Create a pattern to capture the Error Types from each row | COMMENT |
| LOW | tests/vector_store_tests/rag/base_rag_tests.py | 133 | # Step 1: Ingest | STRING |
| LOW | tests/vector_store_tests/rag/base_rag_tests.py | 144 | # Step 2: Query with retry (indexing may take time) | STRING |
| LOW⚡ | tests/llm_translation/test_bedrock_completion.py | 2832 | "thinking": "Alright, let's get started with resolving this issue about implementing `__len__` f | CODE |
| LOW⚡ | tests/llm_translation/test_bedrock_completion.py | 2837 | "text": "I'll help you implement the `__len__` method for Pipeline in scikit-learn to fix the is | CODE |
| LOW⚡ | tests/llm_translation/test_anthropic_completion.py | 1159 | "thinking": "Alright, let's get started with resolving this issue about implementing `__len__` f | CODE |
| LOW⚡ | tests/llm_translation/test_anthropic_completion.py | 1164 | "text": "I'll help you implement the `__len__` method for Pipeline in scikit-learn to fix the is | CODE |
| LOW⚡ | tests/llm_translation/test_gemini.py | 1169 | # Step 2: check if the model wanted to call a function | COMMENT |
| LOW⚡ | tests/llm_translation/test_gemini.py | 1172 | # Step 3: call the function | COMMENT |
| LOW⚡ | tests/llm_translation/test_gemini.py | 1179 | # Step 4: send the info for each function call and function response to the model | COMMENT |
| LOW | tests/llm_translation/realtime/base_realtime_tests.py | 341 | # Step 1: Send a user message after connection is established | COMMENT |
| LOW | tests/llm_translation/realtime/base_realtime_tests.py | 364 | # Step 2: Trigger the response after user message is acknowledged | COMMENT |
| LOW | tests/llm_translation/realtime/base_realtime_tests.py | 381 | # Step 3: Wait for LLM responses | COMMENT |
| LOW⚡ | tests/test_litellm/test_aembedding_session_reuse_e2e.py | 35 | # Step 1: litellm.embedding() extracts and passes shared_session | COMMENT |
| LOW⚡ | tests/test_litellm/test_aembedding_session_reuse_e2e.py | 39 | # Step 2: OpenAI handlers pass it forward | COMMENT |
| LOW⚡ | tests/test_litellm/test_aembedding_session_reuse_e2e.py | 45 | # Step 3: _get_openai_client passes it to AsyncHTTPHandler | COMMENT |
| LOW⚡ | tests/test_litellm/test_aembedding_session_reuse_e2e.py | 49 | # Step 4: AsyncHTTPHandler.create_client passes it to _create_async_transport | COMMENT |
| LOW⚡ | tests/test_litellm/test_aembedding_session_reuse_e2e.py | 53 | # Step 5: _create_async_transport passes it to _create_aiohttp_transport | COMMENT |
| LOW⚡ | tests/test_litellm/test_aembedding_session_reuse_e2e.py | 57 | # Step 6: _create_aiohttp_transport uses it | COMMENT |
| LOW⚡ | tests/test_litellm/test_project_alias_tracking.py | 118 | # Step 1: Auth → sanitized metadata | COMMENT |
| LOW⚡ | tests/test_litellm/test_project_alias_tracking.py | 123 | # Step 2: Sanitized metadata → standard logging metadata | COMMENT |
| LOW | tests/test_litellm/test_cost_calculator.py | 265 | # Step 1: Test a model where input_cost_per_image_token is not set. | COMMENT |
| LOW | tests/test_litellm/test_cost_calculator.py | 281 | # Step 2: Set input_cost_per_image_token. | COMMENT |
| LOW⚡ | tests/test_litellm/proxy/test_proxy_server.py | 337 | # Step 1: login — get code | COMMENT |
| LOW⚡ | tests/test_litellm/proxy/test_proxy_server.py | 345 | # Step 2: exchange — get JWT | COMMENT |
| LOW | …y/_experimental/mcp_server/test_jwt_mcp_enforcement.py | 267 | # Step 1: Verify JWT auth returns correct team_id | COMMENT |
| LOW⚡ | …y/_experimental/mcp_server/test_jwt_mcp_enforcement.py | 289 | # Step 2: Create UserAPIKeyAuth with the team_id from JWT auth | COMMENT |
| LOW⚡ | …y/_experimental/mcp_server/test_jwt_mcp_enforcement.py | 296 | # Step 3: Verify MCPRequestHandler returns team's MCP servers | COMMENT |
| LOW⚡ | …/vector_store_endpoints/test_vector_store_endpoints.py | 1910 | # Step 1: Create vector store on Instance 1 | COMMENT |
| LOW⚡ | …/vector_store_endpoints/test_vector_store_endpoints.py | 1916 | # Step 2: Instance 2 fetches and caches the vector store | COMMENT |
| LOW | …/vector_store_endpoints/test_vector_store_endpoints.py | 1663 | # Step 1: Create vector store on Instance 1 | COMMENT |
| LOW | …/vector_store_endpoints/test_vector_store_endpoints.py | 1684 | # Step 2: Instance 2 should be able to find it via database fallback | COMMENT |
| LOW | …/vector_store_endpoints/test_vector_store_endpoints.py | 1702 | # Step 3: Test that Instance 2 can list vector stores from database | COMMENT |
| LOW | …/vector_store_endpoints/test_vector_store_endpoints.py | 1737 | # Step 4: Delete vector store on Instance 1 | COMMENT |
| LOW | …/vector_store_endpoints/test_vector_store_endpoints.py | 1762 | # Step 5: Instance 2 should NOT show it in the list (database is source of truth) | COMMENT |
| LOW | …/vector_store_endpoints/test_vector_store_endpoints.py | 1799 | # Step 6: Test that using a deleted vector store fails gracefully | COMMENT |
| LOW | …/vector_store_endpoints/test_vector_store_endpoints.py | 1934 | # Step 3: Instance 1 updates the vector store in the database | COMMENT |
| LOW | …/vector_store_endpoints/test_vector_store_endpoints.py | 1966 | # Step 4: Instance 2 calls list endpoint (which should sync with database) | COMMENT |
| LOW | …/vector_store_endpoints/test_vector_store_endpoints.py | 1986 | # Step 5: Verify Instance 2 now has the updated data | COMMENT |
| 179 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | terraform/provider/docs/index.md | 75 | export LITELLM_API_KEY="your-api-key" | CODE |
| HIGH | …guardrails/_components/custom_code/CustomCodeModal.tsx | 95 | headers={"Authorization": "Bearer YOUR_API_KEY"}, | CODE |
| HIGH | …d)/playground/components/chat_ui/SessionManagement.tsx | 121 | -H "Authorization: Bearer your-api-key" \\ | CODE |
| HIGH | …hboard)/api-reference/_components/APIReferenceView.tsx | 54 | api_key="your_api_key", | CODE |
| HIGH | …(dashboard)/mcp-servers/_components/MCPToolsetsTab.tsx | 338 | "headers": { "x-litellm-api-key": "Bearer <your-api-key>" } | CODE |
| HIGH | …/litellm-dashboard/src/components/public_model_hub.tsx | 1046 | apiKey: "your_api_key", | CODE |
| HIGH | …/litellm-dashboard/src/components/public_model_hub.tsx | 1070 | apiKey: "your_api_key", | CODE |
| HIGH | …tellm-dashboard/src/components/AIHub/ModelHubTable.tsx | 747 | api_key="your_api_key", | CODE |
| HIGH | tests/llm_translation/test_minimax_tts.py | 222 | os.environ["MINIMAX_API_KEY"] = "your-api-key-here" | CODE |
| HIGH | tests/llm_translation/test_minimax_tts.py | 244 | os.environ["MINIMAX_API_KEY"] = "your-api-key-here" | CODE |
| HIGH | cookbook/codellama-server/README.MD | 124 | os.environ['OPENAI_API_KEY]` = "YOUR_API_KEY" | CODE |
| HIGH | cookbook/litellm_proxy_server/readme.md | 145 | os.environ['OPENAI_API_KEY]` = "YOUR_API_KEY" | CODE |
| HIGH⚡ | scripts/health_check/health_check_client_README.md | 21 | export LITELLM_API_KEY="your-api-key" | CODE |
| HIGH⚡ | scripts/health_check/health_check_client_README.md | 28 | export LITELLM_API_KEY="your-api-key" | CODE |
| HIGH⚡ | scripts/health_check/health_check_client_README.md | 36 | export LITELLM_API_KEY="your-api-key" | CODE |
| HIGH | scripts/health_check/health_check_client_README.md | 54 | -e LITELLM_API_KEY="your-api-key" \ | CODE |
| HIGH | scripts/health_check/health_check_client_README.md | 63 | -e LITELLM_API_KEY="your-api-key" \ | CODE |
| HIGH⚡ | scripts/health_check/health_check_client_README.md | 75 | $env:LITELLM_API_KEY="your-api-key" | CODE |
| HIGH⚡ | scripts/health_check/health_check_client_README.md | 82 | export LITELLM_API_KEY="your-api-key" | CODE |
| HIGH⚡ | scripts/health_check/health_check_client_README.md | 89 | $env:LITELLM_API_KEY="your-api-key" | CODE |
| HIGH⚡ | scripts/health_check/health_check_client_README.md | 97 | $env:LITELLM_API_KEY="your-api-key" | CODE |
| HIGH⚡ | scripts/health_check/health_check_client_README.md | 105 | export LITELLM_API_KEY="your-api-key" | CODE |
| HIGH | scripts/health_check/run_parallel_health_checks.sh | 8 | # export LITELLM_API_KEY="your-api-key" | COMMENT |
| HIGH⚡ | litellm/router.py | 687 | "api_key": <your-api-key>, | STRING |
| HIGH⚡ | litellm/router.py | 696 | "api_key": <your-api-key>, | STRING |
| HIGH⚡ | litellm/router.py | 705 | "api_key": <your-api-key>, | STRING |
| HIGH⚡ | litellm/proxy/guardrails/guardrail_endpoints.py | 137 | curl -X GET "http://localhost:4000/guardrails/list" -H "Authorization: Bearer <your_api_key>" | STRING |
| HIGH⚡ | litellm/proxy/guardrails/guardrail_endpoints.py | 191 | curl -X GET "http://localhost:4000/v2/guardrails/list" -H "Authorization: Bearer <your_api_key>" | STRING |
| HIGH⚡ | litellm/proxy/guardrails/guardrail_endpoints.py | 338 | -H "Authorization: Bearer <your_api_key>" \\ | STRING |
| HIGH⚡ | litellm/proxy/guardrails/guardrail_endpoints.py | 446 | -H "Authorization: Bearer <your_api_key>" \\ | STRING |
| HIGH⚡ | litellm/proxy/guardrails/guardrail_endpoints.py | 554 | -H "Authorization: Bearer <your_api_key>" | STRING |
| HIGH⚡ | litellm/proxy/guardrails/guardrail_endpoints.py | 1123 | -H "Authorization: Bearer <your_api_key>" \\ | STRING |
| HIGH⚡ | litellm/proxy/guardrails/guardrail_endpoints.py | 1256 | -H "Authorization: Bearer <your_api_key>" | STRING |
| HIGH⚡ | litellm/proxy/guardrails/guardrail_endpoints.py | 1995 | -H "Authorization: Bearer <your_api_key>" \\ | STRING |
| HIGH | …m/proxy/_experimental/mcp_server/mcp_server_manager.py | 1511 | "url": "https://actions.zapier.com/mcp/<your-api-key>/sse" | STRING |
| HIGH | …m/proxy/_experimental/mcp_server/mcp_server_manager.py | 1517 | "url": "https://actions.zapier.com/mcp/<your-api-key>/sse" | STRING |
| HIGH | litellm/proxy/agent_endpoints/endpoints.py | 374 | -H "Authorization: Bearer <your_api_key>" \\ | STRING |
| HIGH | litellm/proxy/agent_endpoints/endpoints.py | 490 | -H "Authorization: Bearer <your_api_key>" | STRING |
| HIGH | litellm/proxy/agent_endpoints/endpoints.py | 572 | -H "Authorization: Bearer <your_api_key>" \\ | STRING |
| HIGH | litellm/proxy/agent_endpoints/endpoints.py | 674 | -H "Authorization: Bearer <your_api_key>" \\ | STRING |
| HIGH | litellm/proxy/agent_endpoints/endpoints.py | 774 | -H "Authorization: Bearer <your_api_key>" | STRING |
| HIGH | litellm/proxy/agent_endpoints/endpoints.py | 830 | -H "Authorization: Bearer <your_api_key>" \\ | STRING |
| HIGH | litellm/proxy/agent_endpoints/endpoints.py | 936 | -H "Authorization: Bearer <your_api_key>" \\ | STRING |
| HIGH | litellm/proxy/policy_engine/policy_resolve_endpoints.py | 238 | -H "Authorization: Bearer <your_api_key>" \\ | STRING |
| HIGH | litellm/proxy/policy_engine/policy_resolve_endpoints.py | 339 | -H "Authorization: Bearer <your_api_key>" \\ | STRING |
| HIGH | litellm/proxy/policy_engine/policy_endpoints.py | 95 | -H "Authorization: Bearer <your_api_key>" | STRING |
| HIGH | litellm/proxy/policy_engine/policy_endpoints.py | 97 | -H "Authorization: Bearer <your_api_key>" | STRING |
| HIGH | litellm/proxy/policy_engine/policy_endpoints.py | 167 | -H "Authorization: Bearer <your_api_key>" \\ | STRING |
| HIGH | litellm/proxy/policy_engine/policy_endpoints.py | 394 | -H "Authorization: Bearer <your_api_key>" | STRING |
| HIGH | litellm/proxy/policy_engine/policy_endpoints.py | 434 | -H "Authorization: Bearer <your_api_key>" \\ | STRING |
| HIGH | litellm/proxy/policy_engine/policy_endpoints.py | 488 | -H "Authorization: Bearer <your_api_key>" | STRING |
| HIGH | litellm/proxy/policy_engine/policy_endpoints.py | 540 | -H "Authorization: Bearer <your_api_key>" | STRING |
| HIGH | litellm/proxy/policy_engine/policy_endpoints.py | 610 | -H "Authorization: Bearer <your_api_key>" \\ | STRING |
| HIGH | litellm/proxy/policy_engine/policy_endpoints.py | 670 | -H "Authorization: Bearer <your_api_key>" | STRING |
| HIGH | litellm/proxy/policy_engine/policy_endpoints.py | 724 | -H "Authorization: Bearer <your_api_key>" \\ | STRING |
| HIGH | litellm/proxy/policy_engine/policy_endpoints.py | 735 | -H "Authorization: Bearer <your_api_key>" \\ | STRING |
| HIGH | litellm/proxy/policy_engine/policy_endpoints.py | 813 | -H "Authorization: Bearer <your_api_key>" | STRING |
| HIGH | litellm/proxy/policy_engine/policy_endpoints.py | 851 | -H "Authorization: Bearer <your_api_key>" | STRING |
| HIGH | litellm/proxy/prompts/prompt_endpoints.py | 375 | curl -X GET "http://localhost:4000/prompts/list" -H "Authorization: Bearer <your_api_key>" | STRING |
| HIGH | litellm/proxy/prompts/prompt_endpoints.py | 471 | -H "Authorization: Bearer <your_api_key>" | STRING |
| 35 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …terprise/litellm_enterprise/proxy/enterprise_routes.py | 12 | __all__ = ["router", "ui_crud_endpoints"] | CODE |
| LOW | enterprise/litellm_enterprise/proxy/auth/__init__.py | 10 | __all__ = ["EnterpriseCustomSSOHandler"] | CODE |
| LOW | …litellm_enterprise/proxy/ui_crud_endpoints/__init__.py | 3 | __all__ = ["ui_settings_extensions"] | CODE |
| LOW | …ellm_enterprise/proxy/management_endpoints/__init__.py | 10 | __all__ = ["management_endpoints_router"] | CODE |
| LOW | tests/test_team_members.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/test_litellm/test_pre_commit_lint.py | 142 | def _set_base_ref(repo: Path) -> None: | STRING |
| LOW | …drails/guardrail_hooks/_cisco_ai_defense_test_utils.py | 310 | __all__ = [ | CODE |
| LOW | …test_litellm/proxy/batches_endpoints/test_endpoints.py | 231 | def set_body(harness: Harness, body: Dict[str, Any]) -> None: | CODE |
| LOW | …lm/proxy/management_endpoints/test_policy_endpoints.py | 28 | def set_return(self, return_inputs: GenericGuardrailAPIInputs) -> None: | CODE |
| LOW | …t_litellm/secret_managers/test_secret_managers_main.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | …m/ocr/test_ocr_azure_document_intelligence_api_base.py | 22 | def update_from_kwargs(self, **kwargs: object) -> None: | CODE |
| LOW | tests/test_litellm/repositories/test_unit_of_work.py | 20 | def update_many(self, where: Mapping[str, object], data: Mapping[str, object]) -> None: | CODE |
| LOW⚡ | …itellm/integrations/test_prometheus_caller_identity.py | 63 | def _set_caller_identity(monkeypatch: pytest.MonkeyPatch, mode: str) -> None: | CODE |
| LOW | …ellm/integrations/test_prometheus_rate_limit_labels.py | 352 | def _set_virtual_key_metrics(logger: PrometheusLogger, kwargs: dict) -> None: | CODE |
| LOW | …t_litellm/caching/test_redis_cluster_node_isolation.py | 32 | def update_active_connections_for_reconnect(self) -> None: ... | CODE |
| LOW | tests/e2e/proxy_client.py | 364 | def update_model(self, model_id: str, litellm_params: LiteLLMParamsBody) -> None: | CODE |
| LOW | …2e/quota_management/spend_tracking/spend_e2e_client.py | 49 | __all__ = [ | CODE |
| LOW | tests/e2e/management/test_team_management_e2e.py | 121 | def _set_blocked(client: ManagementClient, team_id: str, *, blocked: bool) -> None: | CODE |
| LOW | tests/e2e/management/management_client.py | 147 | def update_key_models(self, key: str, models: list[str]) -> None: | CODE |
| LOW | tests/e2e/management/management_client.py | 253 | def update_team(self, body: TeamUpdateBody) -> None: | CODE |
| LOW | tests/e2e/management/management_client.py | 397 | def update_user(self, body: UserUpdateBody) -> None: | CODE |
| LOW | tests/e2e/management/management_client.py | 468 | def update_org(self, body: OrgUpdateBody) -> None: | CODE |
| LOW⚡ | tests/e2e/mcp/oauth_chat_client.py | 62 | async def set_tokens(self, tokens: OAuthToken) -> None: | CODE |
| LOW⚡ | tests/e2e/mcp/oauth_chat_client.py | 68 | async def set_client_info(self, client_info: OAuthClientInformationFull) -> None: | CODE |
| LOW | tests/e2e/access_control/access_control_client.py | 95 | def set_team_models(self, team_id: str, team_alias: str, models: list[str]) -> None: | CODE |
| LOW | tests/e2e/llm_translation/endpoints_client.py | 21 | __all__ = [ | CODE |
| LOW⚡ | litellm/__init__.py | 1474 | def set_global_bitbucket_config(config: Dict[str, Any]) -> None: | CODE |
| LOW⚡ | litellm/__init__.py | 1484 | def set_global_gitlab_config(config: Dict[str, Any]) -> None: | CODE |
| LOW | litellm/_lazy_imports_registry.py | 1473 | __all__ = [ | CODE |
| LOW | litellm/utils.py | 2916 | def set_live_deployment_replay(replay: Callable[[], None]) -> None: | CODE |
| LOW | litellm/router.py | 3308 | def _set_deployment_num_retries_on_exception(self, exception: Exception, deployment: dict) -> None: | CODE |
| LOW | litellm/router.py | 3327 | def _set_failed_deployment_id_on_exception(self, exception: Exception, deployment: Mapping[str, Any]) -> None: | CODE |
| LOW | litellm/router.py | 9024 | def _update_deployment_indices_after_removal(self, model_id: str, removal_idx: int) -> None: | CODE |
| LOW | litellm/router.py | 9092 | def _update_team_model_index(self, model: dict, idx: int) -> None: | CODE |
| LOW | litellm/vector_stores/__init__.py | 4 | __all__ = ["VectorStoreRegistry", "acreate", "asearch", "create", "search"] | CODE |
| LOW | litellm/interactions/__init__.py | 68 | __all__ = [ | CODE |
| LOW | …eractions/litellm_responses_transformation/__init__.py | 12 | __all__ = [ | CODE |
| LOW | litellm/interactions/agents/__init__.py | 28 | __all__ = [ | CODE |
| LOW | litellm/evals/__init__.py | 20 | __all__ = [ | CODE |
| LOW | litellm/types/policy_engine.py | 22 | __all__ = [ | CODE |
| LOW | litellm/types/utils.py | 1937 | def set_provider_response_headers(self, headers: httpx.Headers) -> None: | CODE |
| LOW | litellm/types/search.py | 14 | __all__ = ["SearchProvider", "SearchProviders"] | CODE |
| LOW | litellm/types/interactions/__init__.py | 75 | __all__ = [ | CODE |
| LOW | …types/proxy/guardrails/guardrail_hooks/ibm/__init__.py | 12 | __all__ = [ | CODE |
| LOW | litellm/types/proxy/policy_engine/__init__.py | 61 | __all__ = [ | CODE |
| LOW | litellm/types/management_endpoints/__init__.py | 22 | __all__ = [ | CODE |
| LOW | litellm/types/llms/openai.py | 116 | def set_response_cost(self, response_cost: float | None) -> None: | CODE |
| LOW | litellm/types/google_genai/__init__.py | 8 | __all__ = [ | CODE |
| LOW | litellm/proxy/proxy_server.py | 3973 | def _set_redis_usage_cache(coordination_redis_cache: RedisCache | None) -> None: | CODE |
| LOW | litellm/proxy/utils.py | 5711 | async def _set_spend_logs_row_count_in_proxy_state(self) -> None: | STRING |
| LOW | litellm/proxy/rag_endpoints/__init__.py | 5 | __all__ = ["router"] | CODE |
| LOW | litellm/proxy/common_utils/performance_utils.py | 101 | def set_last_profile_path(path: PathLib) -> None: | CODE |
| LOW | litellm/proxy/image_endpoints/__init__.py | 3 | __all__ = ["image_generation"] | CODE |
| LOW | litellm/proxy/response_polling/__init__.py | 13 | __all__ = [ | CODE |
| LOW | litellm/proxy/guardrails/guardrail_hooks/presidio.py | 1623 | def update_in_memory_litellm_params(self, litellm_params: LitellmParams) -> None: | CODE |
| LOW | …lm/proxy/guardrails/guardrail_hooks/tool_permission.py | 140 | def update_in_memory_litellm_params(self, litellm_params: LitellmParams | dict) -> None: | CODE |
| LOW | …s/guardrail_hooks/panw_prisma_airs/panw_prisma_airs.py | 1530 | def _set_tool_call_arguments(tool_call: ToolCallLike, masked_text: str) -> None: | CODE |
| LOW | …s/guardrail_hooks/zscaler_ai_guard/zscaler_ai_guard.py | 105 | def update_in_memory_litellm_params(self, litellm_params: "LitellmParams") -> None: | CODE |
| LOW | …uardrails/guardrail_hooks/cisco_ai_defense/__init__.py | 83 | __all__ = [ | CODE |
| LOW | …s/guardrail_hooks/custom_code/custom_code_guardrail.py | 374 | def update_custom_code(self, new_code: str) -> None: | CODE |
| 282 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …hboard)/api-reference/_components/APIReferenceView.tsx | 68 | print(response)`} | CODE |
| HIGH | …hboard)/api-reference/_components/APIReferenceView.tsx | 102 | print(response)`} | CODE |
| HIGH | …hboard)/api-reference/_components/APIReferenceView.tsx | 133 | print(response)`} | CODE |
| HIGH | …d/src/app/(dashboard)/budgets/_components/constants.ts | 42 | print(completion.choices[0].message)`; | CODE |
| HIGH | …/_components/prompt_editor_view/PromptCodeSnippets.tsx | 139 | print(response)`; | CODE |
| HIGH | …/_components/prompt_editor_view/PromptCodeSnippets.tsx | 157 | print(response)`; | CODE |
| HIGH | …/_components/prompt_editor_view/PromptCodeSnippets.tsx | 171 | print(response)`; | CODE |
| HIGH | ui/litellm-dashboard/src/components/networking.tsx | 6562 | // if 404 - return None | COMMENT |
| HIGH | …/litellm-dashboard/src/components/public_model_hub.tsx | 1361 | print(response.model_dump(mode='json', exclude_none=True))`} | CODE |
| HIGH | …/litellm-dashboard/src/components/public_model_hub.tsx | 1385 | print(response.model_dump(mode='json', exclude_none=True))`; | CODE |
| HIGH⚡ | …/litellm-dashboard/src/components/public_model_hub.tsx | 1495 | print(f"Available tools: {[tool.name for tool in tools]}") | CODE |
| HIGH⚡ | …/litellm-dashboard/src/components/public_model_hub.tsx | 1502 | print(f"Response: {response}") | CODE |
| HIGH⚡ | …/litellm-dashboard/src/components/public_model_hub.tsx | 1535 | print(f"Available tools: {[tool.name for tool in tools]}") | CODE |
| HIGH⚡ | …/litellm-dashboard/src/components/public_model_hub.tsx | 1542 | print(f"Response: {response}") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 251 | print(f"Image saved to {image_path}") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 256 | print("Could not find image URL in response.") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 257 | print("Full response:", json_response) | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 259 | print(f"An error occurred: {e}") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 260 | print("Full response:", json_response) | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 336 | print(f"Image saved to {image_filename}") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 341 | print("No image generated. Model response:") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 342 | print("\\n".join(text_response)) | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 344 | print("No image data found in response.") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 345 | print("Full response for debugging:") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 346 | print(response) | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 420 | print(f"Image saved to {image_filename}") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 425 | print("No image generated. Model response:") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 426 | print("\\n".join(text_response)) | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 428 | print("No image data found in response.") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 429 | print("Full response for debugging:") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 430 | print(response) | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 503 | print(f"Image saved to {image_filename}") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 508 | print("No image generated. Model response:") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 509 | print("\\n".join(text_response)) | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 511 | print("No image data found in response.") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 512 | print("Full response for debugging:") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 513 | print(response) | CODE |
| HIGH | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 129 | print(response) | CODE |
| HIGH | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 189 | print(response.output_text) | CODE |
| HIGH | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 525 | print(response.data[0].embedding) | CODE |
| HIGH | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 539 | print(response.text) | CODE |
| HIGH | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 554 | print(f"Audio saved to {output_filename}") | CODE |
| HIGH | …c/components/routing_groups/RoutingGroupUsagePanel.tsx | 41 | print(response)`; | CODE |
| HIGH | …tellm-dashboard/src/components/AIHub/ModelHubTable.tsx | 761 | print(response.choices[0].message.content)`} | CODE |
| HIGH⚡ | …tellm-dashboard/src/components/AIHub/ModelHubTable.tsx | 1087 | print(f"Available tools: {[tool.name for tool in tools]}") | CODE |
| HIGH⚡ | …tellm-dashboard/src/components/AIHub/ModelHubTable.tsx | 1094 | print(f"Response: {response}") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …se/litellm_enterprise/proxy/audit_logging_endpoints.py | 52 | CODE | |
| LOW | …itellm_enterprise/proxy/hooks/managed_vector_stores.py | 126 | CODE | |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1138 | CODE | |
| LOW | …proxy/management_endpoints/key_management_endpoints.py | 42 | CODE | |
| LOW | tests/test_keys.py | 57 | CODE | |
| LOW | tests/test_users.py | 43 | CODE | |
| LOW | tests/otel_tests/test_e2e_model_access.py | 56 | CODE | |
| LOW | tests/otel_tests/test_e2e_budgeting.py | 82 | CODE | |
| LOW | …/llm_responses_api_testing/test_azure_responses_api.py | 131 | CODE | |
| LOW | …/llm_responses_api_testing/test_azure_responses_api.py | 233 | CODE | |
| LOW | …_through_unit_tests/test_websearch_interception_e2e.py | 943 | CODE | |
| LOW | …_unit_tests/test_unit_test_max_model_budget_limiter.py | 580 | CODE | |
| LOW | tests/proxy_unit_tests/test_proxy_utils.py | 1592 | CODE | |
| LOW | tests/search_tests/test_searxng_search.py | 207 | CODE | |
| LOW | tests/spend_tracking_tests/test_spend_accuracy_tests.py | 114 | CODE | |
| LOW | tests/proxy_behavior/management/conftest.py | 136 | CODE | |
| LOW | …proxy_behavior/spend/test_autorouter_session_rollup.py | 29 | CODE | |
| LOW | tests/test_litellm/test_video_generation.py | 989 | CODE | |
| LOW | tests/test_litellm/test_video_generation.py | 117 | CODE | |
| LOW | tests/test_litellm/test_video_generation.py | 815 | CODE | |
| LOW | …m/interactions/test_google_interactions_integration.py | 338 | CODE | |
| LOW | …drails/guardrail_hooks/_cisco_ai_defense_test_utils.py | 175 | CODE | |
| LOW | …experimental/mcp_server/test_discoverable_endpoints.py | 3463 | CODE | |
| LOW | …rimental/mcp_server/auth/test_user_api_key_auth_mcp.py | 5151 | CODE | |
| LOW | …rver/outbound_credentials/test_authz_code_refresher.py | 14 | CODE | |
| LOW | …test_litellm/proxy/batches_endpoints/test_endpoints.py | 1612 | CODE | |
| LOW | …_litellm/proxy/policy_engine/test_policy_versioning.py | 24 | CODE | |
| LOW | …ellm/proxy/policy_engine/test_policy_versioning_e2e.py | 14 | CODE | |
| LOW | …xy/management_endpoints/test_access_group_endpoints.py | 24 | CODE | |
| LOW | …oxy/management_endpoints/test_common_daily_activity.py | 1286 | CODE | |
| LOW | …/test_litellm/responses/test_text_format_conversion.py | 90 | CODE | |
| LOW | tests/test_litellm/ocr/test_rust_bridge.py | 185 | CODE | |
| LOW | …litellm/integrations/newrelic/test_newrelic_metrics.py | 32 | CODE | |
| LOW | …s/github_copilot/test_github_copilot_transformation.py | 546 | CODE | |
| LOW | …ts/test_litellm/llms/databricks/test_databricks_e2e.py | 694 | CODE | |
| LOW | …mental_pass_through/context_management/test_compact.py | 1197 | CODE | |
| LOW | tests/e2e/test_fixture_canonical.py | 19 | CODE | |
| LOW | tests/e2e/quota_management/budgets/budget_client.py | 205 | CODE | |
| LOW | tests/e2e/claude_code/cli_driver.py | 308 | CODE | |
| LOW | tests/batches_tests/test_bedrock_files_and_batches.py | 70 | CODE | |
| LOW | tests/local_testing/test_completion.py | 4246 | CODE | |
| LOW | tests/multi_instance_e2e_tests/test_update_team_e2e.py | 64 | CODE | |
| LOW | .github/scripts/triage_with_llm.py | 1200 | CODE | |
| LOW | litellm/cost_calculator.py | 307 | CODE | |
| LOW | litellm/cost_calculator.py | 1085 | CODE | |
| LOW | litellm/cost_calculator.py | 1155 | CODE | |
| LOW | litellm/cost_calculator.py | 1773 | CODE | |
| LOW | litellm/utils.py | 2301 | CODE | |
| LOW | litellm/utils.py | 3241 | CODE | |
| LOW | litellm/utils.py | 4067 | CODE | |
| LOW | litellm/exceptions.py | 426 | CODE | |
| LOW | litellm/router.py | 567 | CODE | |
| LOW | litellm/router.py | 7346 | CODE | |
| LOW | litellm/main.py | 389 | CODE | |
| LOW | litellm/main.py | 829 | CODE | |
| LOW | litellm/main.py | 4955 | CODE | |
| LOW | litellm/main.py | 6020 | CODE | |
| LOW | litellm/main.py | 6046 | CODE | |
| LOW | litellm/main.py | 6073 | CODE | |
| LOW | litellm/main.py | 7204 | CODE | |
| 260 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | terraform/litellm/gcp/network.tf | 35 | # min/max instances are required by the API now (you can't just set | COMMENT |
| MEDIUM | terraform/litellm/aws/iam.tf | 31 | # the first 7 components — robust to any combination of empty/non-empty | COMMENT |
| MEDIUM | …/(dashboard)/prompts/_components/variable_textarea.tsx | 57 | // "Tags Below" approach which is robust and functional. | COMMENT |
| LOW | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 279 | # For this example, we'll just return a placeholder ID | COMMENT |
| LOW | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 446 | # For this example, we'll just return a placeholder ID | COMMENT |
| MEDIUM | …proxy_behavior/management/test_f7_coverage_closeout.py | 289 | # cleanup contract uniform with the sibling test and is robust to | COMMENT |
| MEDIUM | …ts/proxy_behavior/management/test_key_budget_limits.py | 381 | # that the harness does not yet ship; pinning it would force a wider | COMMENT |
| MEDIUM | …s/proxy_behavior/management/test_team_member_update.py | 12 | # org may update members; else 403. (The harness forces premium_user, so the | COMMENT |
| MEDIUM⚡ | tests/llm_translation/test_bedrock_completion.py | 2832 | "thinking": "Alright, let's get started with resolving this issue about implementing `__len__` f | CODE |
| MEDIUM⚡ | tests/llm_translation/test_bedrock_completion.py | 2832 | "thinking": "Alright, let's get started with resolving this issue about implementing `__len__` f | CODE |
| MEDIUM⚡ | tests/llm_translation/test_anthropic_completion.py | 1159 | "thinking": "Alright, let's get started with resolving this issue about implementing `__len__` f | CODE |
| MEDIUM⚡ | tests/llm_translation/test_anthropic_completion.py | 1159 | "thinking": "Alright, let's get started with resolving this issue about implementing `__len__` f | CODE |
| MEDIUM | …gement_endpoints/test_callback_management_endpoints.py | 120 | # Add string representations to different callback types to test comprehensive categorization | COMMENT |
| LOW | …/management_endpoints/test_key_management_endpoints.py | 5608 | # Patch attach_object_permission_to_dict to just return the dict unchanged | COMMENT |
| MEDIUM⚡ | tests/test_litellm/proxy/proxy_server/conftest.py | 22 | # — but it lets the harness work in editable-source layouts too. | COMMENT |
| MEDIUM | tests/test_litellm/proxy/proxy_server/_pin_check.py | 114 | # Skip the harness's own smoke tests — they don't count toward | COMMENT |
| MEDIUM⚡ | …ts/test_litellm/integrations/newrelic/test_newrelic.py | 807 | # _process_success — comprehensive happy-path | COMMENT |
| MEDIUM | …re_utils/llm_cost_calc/test_tool_call_cost_tracking.py | 867 | # The unit tests in test_azure_assistant_cost_tracking.py provide comprehensive coverage | COMMENT |
| MEDIUM | tests/test_litellm/llms/volcengine/test_volcengine.py | 46 | """Test comprehensive thinking parameter handling scenarios""" | STRING |
| MEDIUM | tests/test_litellm/llms/bedrock/test_base_aws_llm.py | 1123 | # The harness has to have produced real concurrency, or the assertion below proves nothing | COMMENT |
| MEDIUM | …ts/test_litellm/llms/anthropic/batches/test_handler.py | 264 | # Await directly - robust under asyncio_mode=auto's session-scoped loop | COMMENT |
| MEDIUM | tests/test_litellm/batches/test_main.py | 40 | # Seam harness - one mock per provider handler instance + the Bedrock ARN | COMMENT |
| MEDIUM | tests/e2e/e2e_config.py | 99 | # for empty values) means the harness behaves exactly as before this knob | COMMENT |
| MEDIUM | tests/e2e/ui/run_e2e.sh | 35 | # Ports, overridable so two checkouts can run this harness at the same time -- | COMMENT |
| MEDIUM | tests/e2e/claude_code/conftest.py | 467 | # robust to malformed shards, and a stale row landing in | COMMENT |
| MEDIUM | tests/e2e/claude_code/manifest.yaml | 10 | # `feature_id` MUST match the directory name on disk; the test harness | COMMENT |
| MEDIUM⚡ | tests/e2e/claude_code/cron_vm/run_daily.sh | 357 | # The `_*_unit_tests` ignore is defensive: those harness-only trees are | COMMENT |
| MEDIUM | tests/e2e/claude_code/cron_vm/run_daily.sh | 232 | # * The tag's own tests/e2e/ ships the full EKS e2e harness, whose | COMMENT |
| LOW | tests/local_testing/test_dual_cache.py | 46 | # this should only read in memory since we just set test_key | COMMENT |
| MEDIUM | scripts/benchmark_proxy_vs_provider.py | 559 | # 7. Combined options for comprehensive testing | COMMENT |
| MEDIUM⚡ | scripts/eval_compression.py | 952 | # Main harness | COMMENT |
| LOW | .github/scripts/triage_with_llm.py | 1493 | # Short-circuit: if body very clearly links a related issue, just pass. | COMMENT |
| LOW | litellm/constants.py | 1005 | # supports all together ai models, just pass in the model id e.g. completion(model="together_computer/replit_code_3b",.. | COMMENT |
| LOW⚡ | litellm/_lazy_imports.py | 238 | # Step 3: If we've already imported it, just return the cached version | COMMENT |
| LOW⚡ | litellm/_lazy_imports.py | 271 | # Most of them just call _generic_lazy_import with their specific import map. | COMMENT |
| LOW⚡ | litellm/_lazy_imports.py | 344 | # If we've already imported it, just return the cached version | COMMENT |
| LOW | litellm/utils.py | 7154 | # do nothing, just return messages | COMMENT |
| LOW | litellm/utils.py | 7215 | except Exception as e: # [NON-Blocking, if error occurs just return final_messages | CODE |
| LOW | litellm/proxy/proxy_server.py | 5012 | ## to pass a complete url, or set ssl=True, etc. just set it as `os.environ[REDIS_URL] = <your-redis | COMMENT |
| LOW | litellm/proxy/utils.py | 3625 | # Check to see if all of the necessary views exist and if they do, simply return | COMMENT |
| MEDIUM | litellm/proxy/common_utils/callback_utils.py | 715 | # prefix check is robust under salt-key rotation; a decrypt-based | COMMENT |
| MEDIUM⚡ | litellm/proxy/common_utils/key_rotation_manager.py | 167 | # Create regenerate request with grace period for seamless cutover | COMMENT |
| LOW⚡ | litellm/proxy/guardrails/guardrail_hooks/presidio.py | 678 | # No need to build numbered tokens — just use Presidio's | COMMENT |
| LOW | …guardrail_hooks/unified_guardrail/unified_guardrail.py | 999 | # If call type not supported, just pass through all chunks | COMMENT |
| LOW | litellm/proxy/openai_files_endpoints/common_utils.py | 858 | # Extract target_storage (simplified - just use form parameter) | COMMENT |
| MEDIUM | …proxy/management_endpoints/key_management_endpoints.py | 4927 | # non-admin can't elevate via a key_type preset that the | COMMENT |
| MEDIUM | litellm/proxy/prompts/prompt_endpoints.py | 1230 | # Create PromptTemplate to leverage existing parameter extraction logic | COMMENT |
| MEDIUM | litellm/proxy/db/db_spend_update_writer.py | 1614 | # robust to future changes in the key format. | COMMENT |
| LOW | litellm/proxy/client/cli/interface.py | 20 | # If terminal is too small, just add some newlines to push content up | COMMENT |
| LOW | litellm/litellm_core_utils/safe_json_dumps.py | 37 | # Base-case: if it is a primitive, simply return it. | COMMENT |
| LOW | litellm/litellm_core_utils/streaming_handler.py | 685 | else: # function/tool calling chunk - when content is None. in this case we just return the original ch | CODE |
| LOW | litellm/router_utils/common_utils.py | 196 | # rather than a list - nothing to filter, just pass through | COMMENT |
| LOW | litellm/llms/github_copilot/chat/transformation.py | 64 | # No conversion needed - just return messages as-is | COMMENT |
| LOW | litellm/llms/deepinfra/rerank/transformation.py | 232 | # If parsing fails, just use the original error_message | COMMENT |
| LOW | …ellm/llms/soniox/audio_transcription/transformation.py | 138 | # we just return the resolved base. | COMMENT |
| LOW | litellm/llms/searxng/search/transformation.py | 166 | # For simplicity, we'll just use page 1 and let SearXNG return its default number of results | COMMENT |
| LOW | litellm/llms/bedrock/chat/converse_transformation.py | 526 | if "arn" in model: # we can't infer the model from the arn, so just add all params | CODE |
| LOW | litellm/llms/anthropic/chat/handler.py | 1026 | # These are automatically handled by Anthropic API, we just pass them through | COMMENT |
| LOW | litellm/llms/openai/responses/transformation.py | 217 | # For other dict items, just pass through | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/test_litellm/test_router.py | 9290 | CODE | |
| MEDIUM | tests/test_litellm/test_router.py | 2227 | CODE | |
| MEDIUM | tests/test_litellm/test_router.py | 6888 | CODE | |
| MEDIUM | …st_litellm/proxy/agent_endpoints/test_a2a_endpoints.py | 1215 | CODE | |
| MEDIUM | …/hooks/test_async_post_call_streaming_iterator_hook.py | 169 | CODE | |
| MEDIUM | …/pass_through_endpoints/test_pass_through_endpoints.py | 1407 | CODE | |
| MEDIUM | …/pass_through_endpoints/test_pass_through_endpoints.py | 1469 | CODE | |
| MEDIUM | …lm/responses/test_responses_websocket_all_providers.py | 242 | CODE | |
| MEDIUM | …lm/responses/test_responses_websocket_all_providers.py | 364 | CODE | |
| MEDIUM | …lm/responses/test_responses_websocket_all_providers.py | 1107 | CODE | |
| MEDIUM | …on_transformation/test_litellm_completion_responses.py | 3222 | CODE | |
| MEDIUM | …tellm/a2a_protocol/test_a2a_exception_mapping_utils.py | 154 | CODE | |
| MEDIUM | …st_litellm/a2a_protocol/test_a2a_streaming_iterator.py | 87 | CODE | |
| MEDIUM | …t_litellm/litellm_core_utils/test_streaming_handler.py | 4237 | CODE | |
| MEDIUM | …t_litellm/litellm_core_utils/test_streaming_handler.py | 4290 | CODE | |
| MEDIUM | …t_litellm/litellm_core_utils/test_streaming_handler.py | 4335 | CODE | |
| MEDIUM | tests/test_litellm/llms/chat/test_converse_handler.py | 278 | CODE | |
| MEDIUM | …/test_litellm/llms/bedrock/chat/test_invoke_handler.py | 478 | CODE | |
| MEDIUM | …ental_pass_through/messages/test_streaming_iterator.py | 122 | CODE | |
| MEDIUM | …/responses_adapters/test_responses_adapters_handler.py | 71 | CODE | |
| MEDIUM | …m/llms/sagemaker/test_sagemaker_nova_transformation.py | 340 | CODE | |
| MEDIUM | litellm/proxy/_experimental/post_call_rules.py | 4 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/llm_translation/test_openai.py | 842 | "text": '\nYou are an interactive CLI tool that helps users with software engineering tasks. Use | CODE |
| MEDIUM⚡ | …rdrail_hooks/test_response_rejection_guardrail_code.py | 38 | inputs={"texts": ["Here is how you can do that: step 1, step 2."]}, | CODE |
| MEDIUM⚡ | …rdrail_hooks/test_response_rejection_guardrail_code.py | 42 | assert result["texts"] == ["Here is how you can do that: step 1, step 2."] | CODE |
| MEDIUM⚡ | tests/local_testing/test_basic_python_version.py | 36 | # Assertion to satisfy the test, you can add other checks as needed | COMMENT |
| MEDIUM | cookbook/litellm_router/load_test_proxy.py | 113 | # Number of concurrent calls (you can adjust this) | COMMENT |
| MEDIUM⚡ | cookbook/litellm_router/load_test_queuing.py | 135 | # Number of concurrent calls (you can adjust this) | COMMENT |
| MEDIUM | cookbook/litellm_router/load_test_router.py | 108 | # Number of concurrent calls (you can adjust this) | COMMENT |
| MEDIUM | litellm/proxy/proxy_server.py | 17077 | Note: This is a mock endpoint primarily meant for demonstration purposes, and does not actually provide or change an | STRING |
| MEDIUM | litellm/proxy/utils.py | 1035 | # This is a basic implementation - can be enhanced based on specific guardrail formats | COMMENT |
| MEDIUM | …guardrail_hooks/custom_code/response_rejection_code.py | 21 | "i'm unable to help", | CODE |
| MEDIUM | …guardrail_hooks/custom_code/response_rejection_code.py | 50 | "i'm unable to help", | CODE |
| LOW⚡ | litellm/integrations/SlackAlerting/slack_alerting.py | 1764 | # Also, don't forget to update the report_sent time after sending the report! | COMMENT |
| LOW⚡ | litellm/integrations/SlackAlerting/slack_alerting.py | 1764 | # Also, don't forget to update the report_sent time after sending the report! | COMMENT |
| LOW | litellm/llms/anthropic/chat/transformation.py | 683 | else: # use anthropic defaults and make sure to send the disable_parallel_tool_use flag | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/code_coverage_tests/recursive_detector.py | 128 | # Example usage | COMMENT |
| LOW | tests/e2e/ui/run_e2e.sh | 10 | # Usage: | COMMENT |
| LOW | scripts/test_guardrails_register_endpoints.sh | 6 | # Usage: | COMMENT |
| LOW | scripts/create_team_key_and_submit_guardrail.sh | 6 | # Usage: | COMMENT |
| LOW | scripts/test_agent_mcp_endpoints.sh | 6 | # Usage: | COMMENT |
| LOW | scripts/health_check/run_parallel_health_checks.sh | 6 | # Usage: | COMMENT |
| LOW | litellm/proxy/common_utils/load_config_utils.py | 166 | # # Example usage | COMMENT |
| LOW | litellm/litellm_core_utils/sensitive_data_masker.py | 217 | # Usage example: | COMMENT |
| LOW | litellm/router_utils/cooldown_cache.py | 200 | # Usage example: | COMMENT |
| LOW | litellm/router_utils/pattern_match_deployments.py | 248 | # Example usage: | COMMENT |
| LOW | litellm/llms/vertex_ai/vertex_embeddings/types.py | 57 | # Example usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | tests/llm_translation/test_bedrock_completion.py | 2832 | "thinking": "Alright, let's get started with resolving this issue about implementing `__len__` f | CODE |
| HIGH⚡ | tests/llm_translation/test_anthropic_completion.py | 1159 | "thinking": "Alright, let's get started with resolving this issue about implementing `__len__` f | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | litellm/proxy/hooks/litellm_skills/main.py | 654 | # Auto-generated code to execute skill | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/litellm_utils_tests/test_utils.py | 2053 | async def test_function(**kwargs): | CODE |
| LOW⚡ | tests/test_litellm/test_compression.py | 174 | "content": "# utils.py\n" + "def helper():\n pass\n" * 2000, | STRING |
| LOW | litellm/llms/custom_httpx/mock_transport.py | 85 | def handle_request(self, request: httpx.Request) -> httpx.Response: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | litellm/secret_managers/main.py | 205 | # TODO: Add caching for HTTP requests | COMMENT |