Python SDK, Proxy Server (AI Gateway) to call 100+ LLM APIs in OpenAI (or native) format, with cost tracking, guardrails, loadbalancing and logging. [Bedrock, Azure, OpenAI, VertexAI, Cohere, Anthropic, Sagemaker, HuggingFace, VLLM, NVIDIA NIM]
This report presents the forensic synthetic code analysis of BerriAI/litellm, a Python project with 53,517 GitHub stars. SynthScan v2.0 examined 2,179,318 lines of code across 6928 source files, recording 56900 pattern matches distributed across 28 syntactic categories. The overall adjusted score of 30.5 places this repository in the Strong 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 56900 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 | …oard/e2e_tests/migration.serverRootPath.globalSetup.ts | 3 | export default async function migrationServerRootPathGlobalSetup() { | 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 | 22 | function PluginModeProviderWithAuth({ children }: { children: React.ReactNode }) { | CODE |
| LOW | …ashboard)/guardrails/_components/TeamGuardrailsTab.tsx | 72 | function submissionToTeamGuardrail(item: GuardrailSubmissionItem): TeamGuardrail { | CODE |
| LOW | …ashboard)/guardrails/_components/TeamGuardrailsTab.tsx | 144 | function buildEquivalentConfigYaml(g: TeamGuardrail): string { | CODE |
| LOW | …ard)/guardrails/_components/guardrail_info_helpers.tsx | 196 | export function skipSystemMessageToChoice(v: boolean | null | undefined): SkipSystemMessageChoice { | CODE |
| LOW | …ard)/guardrails/_components/guardrail_info_helpers.tsx | 203 | export function choiceToSkipSystemForCreate(choice: SkipSystemMessageChoice | undefined): boolean | undefined { | CODE |
| LOW | …ard)/guardrails/_components/guardrail_info_helpers.tsx | 219 | 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 | 7 | 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 | …ts/EndpointUsage/components/EndpointUsageLineChart.tsx | 11 | function transformDailyDataToChart(dailyData: DailyData[]): Array<Record<string, string | number>> { | CODE |
| LOW | …)/usage/_components/hooks/usePaginatedDailyActivity.ts | 89 | export function usePaginatedDailyActivity({ | CODE |
| LOW | …rc/app/(dashboard)/hooks/useHideAgentPlatformBanner.ts | 34 | export function useHideAgentPlatformBanner() { | CODE |
| LOW | …cp-servers/_components/PassthroughAuthorizeSection.tsx | 33 | 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 | 366 | export function setGlobalLitellmHeaderName(headerName: string = "Authorization") { | CODE |
| LOW | ui/litellm-dashboard/src/components/networking.tsx | 371 | export function getGlobalLitellmHeaderName(): string { | CODE |
| LOW | …oard/src/components/update_model_credentials_modal.tsx | 16 | export default function UpdateModelCredentialsModal({ | CODE |
| LOW | ui/litellm-dashboard/src/components/ui/chart.tsx | 299 | 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 | 7 | export default function SSOSettingsLoadingSkeleton() { | CODE |
| LOW | …inSettings/SSOSettings/SSOSettingsEmptyPlaceholder.tsx | 9 | export default function SSOSettingsEmptyPlaceholder({ onAdd }: SSOSettingsEmptyPlaceholderProps) { | CODE |
| LOW | …CPSemanticFilterSettings/MCPSemanticFilterSettings.tsx | 32 | export default function MCPSemanticFilterSettings({ accessToken }: MCPSemanticFilterSettingsProps) { | CODE |
| LOW | …PSemanticFilterSettings/MCPSemanticFilterTestPanel.tsx | 20 | export default function MCPSemanticFilterTestPanel({ | CODE |
| LOW | …onents/Settings/RouterSettings/Fallbacks/Fallbacks.tsx | 70 | async function testFallbackModelResponse(selectedModel: string, accessToken: string) { | CODE |
| LOW | …shboard/src/components/view_logs/ToolsSection/utils.ts | 48 | function extractToolCallsFromResponse(log: LogEntry): ToolCall[] { | 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 | 272 | function getUncachedInputTextTokens(metadata: Record<string, any>): number | undefined { | CODE |
| LOW | …m-dashboard/src/components/llm_calls/responses_api.tsx | 17 | 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 | 8 | export async function makeOpenAIChatCompletionRequest( | CODE |
| LOW | …rd/src/components/model_add/credential_form_helpers.ts | 21 | export function resetCredentialFormOnProviderChange( | CODE |
| LOW | …CloudZeroCostTracking/CloudZeroIntegrationSettings.tsx | 18 | export function CloudZeroIntegrationSettings({ settings, onSettingsUpdated }: CloudZeroIntegrationSettingsProps) { | CODE |
| LOW | …ts/CloudZeroCostTracking/CloudZeroEmptyPlaceholder.tsx | 9 | 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 | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 64 | async def _cleanup_stale_managed_objects(self) -> None: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 189 | def _resolve_unmanaged_provider_routing( | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 207 | def _get_deployment_id_for_bare_model( | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 221 | def _get_deployment_id_from_matching_deployments( | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 260 | def _get_deployment_id_for_provider( | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 303 | async def _track_completed_batch_cost( | CODE |
| LOW | …_enterprise/proxy/common_utils/check_responses_cost.py | 66 | async def _cleanup_stale_managed_objects(self) -> None: | CODE |
| LOW | …terprise/litellm_enterprise/proxy/auth/route_checks.py | 8 | def is_llm_api_route_disabled() -> bool: | CODE |
| LOW | …terprise/litellm_enterprise/proxy/auth/route_checks.py | 27 | def is_management_routes_disabled() -> bool: | CODE |
| LOW | …se/litellm_enterprise/proxy/auth/custom_sso_handler.py | 29 | async def handle_custom_ui_sso_sign_in( | CODE |
| 34895 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | ui/litellm-dashboard/e2e_tests/run_e2e.sh | 4 | # ================================================================ | COMMENT |
| MEDIUM⚡ | ui/litellm-dashboard/e2e_tests/run_e2e.sh | 20 | # ================================================================ | COMMENT |
| MEDIUM | …shboard/src/app/(dashboard)/workflows/WorkflowRuns.tsx | 59 | // ── design tokens ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …shboard/src/app/(dashboard)/workflows/WorkflowRuns.tsx | 89 | // ── helpers ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …shboard/src/app/(dashboard)/workflows/WorkflowRuns.tsx | 119 | // ── status dot ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …shboard/src/app/(dashboard)/workflows/WorkflowRuns.tsx | 134 | // ── truncated text value ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …shboard/src/app/(dashboard)/workflows/WorkflowRuns.tsx | 164 | // ── metadata card ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …shboard/src/app/(dashboard)/workflows/WorkflowRuns.tsx | 289 | // ── gantt timeline ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …shboard/src/app/(dashboard)/workflows/WorkflowRuns.tsx | 446 | // ── message row ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …shboard/src/app/(dashboard)/workflows/WorkflowRuns.tsx | 491 | // ── main component ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …p/(dashboard)/policies/_components/add_policy_form.tsx | 26 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …p/(dashboard)/policies/_components/add_policy_form.tsx | 28 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …p/(dashboard)/policies/_components/add_policy_form.tsx | 146 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …p/(dashboard)/policies/_components/add_policy_form.tsx | 148 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …p/(dashboard)/policies/_components/add_policy_form.tsx | 361 | // ── Mode Picker Step ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …p/(dashboard)/policies/_components/add_policy_form.tsx | 398 | // ── Simple Form Step ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 107 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 109 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 210 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 212 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 250 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 252 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 436 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 438 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 578 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 580 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 683 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 685 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 1076 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 1078 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 1310 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …hboard)/policies/_components/pipeline_flow_builder.tsx | 1312 | // ───────────────────────────────────────────────────────────────────────────── | 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 | 21 | // ── Fetch function ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …src/app/(dashboard)/hooks/projects/useUpdateProject.ts | 50 | // ── 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 | 21 | // ── Fetch function ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …src/app/(dashboard)/hooks/projects/useCreateProject.ts | 46 | // ── 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/useCreateAccessGroup.ts | 6 | // ── Types ──────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …(dashboard)/hooks/accessGroups/useCreateAccessGroup.ts | 18 | // ── Fetch function ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …(dashboard)/hooks/accessGroups/useCreateAccessGroup.ts | 46 | // ── 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 |
| 3004 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 | 1695 | except Exception as e_extended: | CODE |
| LOW | …/litellm-dashboard/src/components/public_model_hub.tsx | 1744 | except Exception as e_extended: | CODE |
| MEDIUM⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 262 | print(f"An error occurred: {e}") | CODE |
| LOW⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 261 | 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 | 118 | except Exception as e: | CODE |
| LOW | …se/litellm_enterprise/proxy/vector_stores/endpoints.py | 188 | except Exception as e: | CODE |
| LOW | …se/litellm_enterprise/proxy/vector_stores/endpoints.py | 238 | except Exception as e: | CODE |
| LOW | …se/litellm_enterprise/proxy/vector_stores/endpoints.py | 303 | except Exception as e: | CODE |
| LOW | …se/litellm_enterprise/proxy/vector_stores/endpoints.py | 345 | except Exception as e: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 60 | except Exception as e: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 238 | except Exception: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 278 | except Exception: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 300 | except Exception: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 386 | except Exception: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 434 | except Exception as _e: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 510 | except Exception as e: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 518 | except Exception as cleanup_err: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 549 | except Exception as query_err: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 579 | except Exception as e: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 600 | except Exception as tracking_err: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 625 | except Exception as db_err: | CODE |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 645 | except Exception as db_err: | CODE |
| LOW | …_enterprise/proxy/common_utils/check_responses_cost.py | 95 | except Exception as cleanup_err: | CODE |
| LOW | …_enterprise/proxy/common_utils/check_responses_cost.py | 146 | 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 | 1342 | except Exception: | CODE |
| LOW⚡ | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1347 | except Exception as e: | CODE |
| LOW⚡ | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1424 | except Exception as e: | CODE |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 348 | except Exception as e: | CODE |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1174 | except Exception as e: | CODE |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1209 | except Exception: | CODE |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1308 | except Exception as e: | CODE |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1377 | except Exception as e: | CODE |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1579 | except Exception as e: | CODE |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1650 | except Exception as e: | CODE |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 470 | except Exception as e: | CODE |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 708 | except Exception as e: | CODE |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 816 | except Exception as e: | CODE |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 897 | except Exception as e: | CODE |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 957 | 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 | 88 | except Exception as e: | CODE |
| LOW | …e/litellm_enterprise/enterprise_callbacks/llm_guard.py | 149 | except Exception: | CODE |
| MEDIUM | …e/litellm_enterprise/enterprise_callbacks/llm_guard.py | 41 | def print_verbose(self, print_statement): | CODE |
| LOW | …m_enterprise/enterprise_callbacks/callback_controls.py | 57 | except Exception as e: | CODE |
| LOW | …litellm_enterprise/enterprise_callbacks/llama_guard.py | 45 | except Exception as e: | CODE |
| LOW | …litellm_enterprise/enterprise_callbacks/llama_guard.py | 59 | except Exception: | CODE |
| MEDIUM | …litellm_enterprise/enterprise_callbacks/llama_guard.py | 54 | def print_verbose(self, print_statement): | CODE |
| LOW | …erprise/enterprise_callbacks/send_emails/base_email.py | 514 | except Exception as e: | CODE |
| LOW | …erprise/enterprise_callbacks/send_emails/base_email.py | 579 | except Exception as e: | CODE |
| LOW⚡ | …erprise/enterprise_callbacks/send_emails/base_email.py | 661 | except Exception as e: | CODE |
| 5487 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| 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 | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 17 | 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 | 39 | CODE | |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 58 | CODE | |
| LOW | …litellm_enterprise/proxy/ui_crud_endpoints/__init__.py | 1 | CODE | |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 20 | CODE | |
| LOW | …e/litellm_enterprise/enterprise_callbacks/llm_guard.py | 10 | 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_team_logging.py | 10 | CODE | |
| LOW | tests/test_end_users.py | 6 | CODE | |
| LOW | tests/_openai_record_replay_proxy.py | 34 | CODE | |
| LOW | tests/test_fallbacks.py | 294 | 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/test_passthrough_endpoints.py | 3 | CODE | |
| LOW | tests/test_passthrough_endpoints.py | 4 | CODE | |
| LOW | tests/test_passthrough_endpoints.py | 4 | CODE | |
| LOW | tests/test_passthrough_endpoints.py | 5 | CODE | |
| LOW | tests/test_passthrough_endpoints.py | 5 | CODE | |
| LOW | tests/test_passthrough_endpoints.py | 5 | CODE | |
| LOW | tests/fake_openai_endpoint.py | 24 | CODE | |
| LOW | tests/test_presidio_latency.py | 4 | CODE | |
| LOW | tests/_ws_vcr.py | 20 | CODE | |
| LOW | tests/test_new_vector_store_endpoints.py | 9 | CODE | |
| LOW | tests/test_new_vector_store_endpoints.py | 16 | 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/test_entrypoint.py | 11 | CODE | |
| LOW | tests/test_config.py | 8 | CODE | |
| LOW | tests/_vcr_conftest_common.py | 6 | CODE | |
| LOW | tests/test_users.py | 8 | CODE | |
| LOW | tests/test_users.py | 11 | 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 | |
| 5273 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 | 1905 | # Create a client that connects to the server | COMMENT |
| MEDIUM⚡ | …/litellm-dashboard/src/components/public_model_hub.tsx | 1945 | # Create a client that connects to the server | COMMENT |
| MEDIUM⚡ | …tellm-dashboard/src/components/AIHub/ModelHubTable.tsx | 1034 | # 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 | 353 | # 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 | 41 | # Create a mock response object with the structure you need | COMMENT |
| MEDIUM | …ogging_callback_tests/test_standard_logging_payload.py | 479 | # Create a mock Logging object | COMMENT |
| MEDIUM | …ogging_callback_tests/test_standard_logging_payload.py | 672 | # Create a mock logging object with cost breakdown | COMMENT |
| MEDIUM | …ogging_callback_tests/test_standard_logging_payload.py | 756 | # Create a mock logging object without cost breakdown | COMMENT |
| MEDIUM | …ging_callback_tests/test_logging_redaction_e2e_test.py | 322 | # Create a simple mock object with output items that have reasoning summaries | COMMENT |
| MEDIUM | …sts/logging_callback_tests/test_langfuse_unit_tests.py | 275 | # Create a mock logging payload with tags | COMMENT |
| MEDIUM | tests/logging_callback_tests/test_spend_logs.py | 216 | # Define the expected metadata keys | COMMENT |
| MEDIUM | tests/logging_callback_tests/test_spend_logs.py | 359 | # Create a standard logging payload | COMMENT |
| MEDIUM | tests/logging_callback_tests/test_spend_logs.py | 414 | # Create a large string that exceeds the threshold | COMMENT |
| MEDIUM | tests/logging_callback_tests/test_spend_logs.py | 452 | # Create a small string that's under the threshold | COMMENT |
| MEDIUM | tests/logging_callback_tests/test_langfuse_e2e_test.py | 153 | # Create a mock Response object | COMMENT |
| MEDIUM | …ogging_callback_tests/test_opentelemetry_unit_tests.py | 130 | # Create a mock span | COMMENT |
| MEDIUM | …ogging_callback_tests/test_opentelemetry_unit_tests.py | 191 | # Create a mock span | COMMENT |
| MEDIUM | tests/logging_callback_tests/test_gcs_pub_sub.py | 190 | # Create a mock for the async_httpx_client's post method | COMMENT |
| MEDIUM | tests/logging_callback_tests/test_gcs_pub_sub.py | 246 | # Create a mock for the async_httpx_client's post method | COMMENT |
| MEDIUM | …s/logging_callback_tests/test_log_db_redis_services.py | 141 | # Create a failing function | COMMENT |
| MEDIUM | tests/logging_callback_tests/test_alerting.py | 109 | # Create a mock environment for testing | COMMENT |
| MEDIUM | tests/logging_callback_tests/test_alerting.py | 853 | # Create a string buffer to capture log output | COMMENT |
| MEDIUM⚡ | tests/logging_callback_tests/test_datadog.py | 502 | # Create the payload | COMMENT |
| MEDIUM⚡ | tests/logging_callback_tests/test_datadog.py | 538 | # Create a standard payload with very long content | COMMENT |
| MEDIUM | tests/logging_callback_tests/test_datadog.py | 189 | # Create a mock for the async_client's post method | COMMENT |
| MEDIUM | tests/logging_callback_tests/test_datadog.py | 405 | # Create a mock for the async_client's post method | COMMENT |
| MEDIUM | tests/logging_callback_tests/test_datadog.py | 560 | # Create the payload | COMMENT |
| MEDIUM | …ts/logging_callback_tests/test_generic_api_callback.py | 43 | # Create a mock for the async_httpx_client's post method | COMMENT |
| MEDIUM | …ts/logging_callback_tests/test_generic_api_callback.py | 130 | # Create a mock for the async_httpx_client's post method | COMMENT |
| MEDIUM | …ts/logging_callback_tests/test_generic_api_callback.py | 219 | # Create a mock for the async_httpx_client's post method | COMMENT |
| MEDIUM | …ts/logging_callback_tests/test_generic_api_callback.py | 294 | # Create a mock for the async_httpx_client's post method | COMMENT |
| MEDIUM | …ts/logging_callback_tests/test_generic_api_callback.py | 357 | # Create a mock for the async_httpx_client's post method | COMMENT |
| MEDIUM | …ts/logging_callback_tests/test_generic_api_callback.py | 416 | # Create a mock for the async_httpx_client's post method | COMMENT |
| MEDIUM | tests/litellm_utils_tests/test_aws_secret_manager.py | 175 | # Create a primary secret with multiple key-value pairs | COMMENT |
| MEDIUM | tests/litellm_utils_tests/test_utils.py | 693 | # Create a test EmbeddingResponse with usage data | COMMENT |
| MEDIUM | tests/litellm_utils_tests/test_utils.py | 1647 | # Create a mock response object | COMMENT |
| MEDIUM | tests/litellm_utils_tests/test_utils.py | 1726 | # Create a mock response object | COMMENT |
| MEDIUM | tests/litellm_utils_tests/test_utils.py | 1833 | # Create a mock CustomLogger class | COMMENT |
| MEDIUM⚡ | tests/litellm_utils_tests/test_secret_manager.py | 32 | # Define the path to the vertex_key.json file | COMMENT |
| MEDIUM | tests/litellm_utils_tests/test_secret_manager.py | 62 | # Create a temporary file | COMMENT |
| MEDIUM | tests/litellm_utils_tests/test_secret_manager.py | 173 | # Create a unique environment variable name | COMMENT |
| MEDIUM | tests/litellm_utils_tests/test_secret_manager.py | 187 | # Create a temporary file inside a directory added to the allowlist. | COMMENT |
| MEDIUM | tests/litellm_utils_tests/test_secret_manager.py | 203 | # Create a temporary file | COMMENT |
| MEDIUM | tests/litellm_utils_tests/test_secret_manager.py | 210 | # Create a unique environment variable name | COMMENT |
| MEDIUM | …s/litellm_utils_tests/test_logging_callback_manager.py | 254 | # Create a fresh ProxyLogging instance | COMMENT |
| MEDIUM | tests/litellm_utils_tests/test_hashicorp.py | 293 | # Create a new instance with TLS cert config | COMMENT |
| MEDIUM | tests/litellm_utils_tests/test_aiohttp_handler.py | 28 | # Create a transport with the new helper | COMMENT |
| MEDIUM⚡ | tests/litellm_utils_tests/test_aiohttp_handler.py | 96 | # Create a simple httpx request to test with | COMMENT |
| MEDIUM | tests/otel_tests/test_prometheus.py | 812 | # Create a user with user_email | COMMENT |
| MEDIUM | tests/otel_tests/test_prometheus.py | 851 | # 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 |
| 1072 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/old_proxy_tests/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/proxy_unit_tests/conftest copy.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 |
| 295 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 | 129 | CODE | |
| LOW | …se/litellm_enterprise/proxy/vector_stores/endpoints.py | 248 | CODE | |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 303 | CODE | |
| LOW | …ellm_enterprise/proxy/common_utils/check_batch_cost.py | 499 | 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 | 427 | CODE | |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 661 | CODE | |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 681 | CODE | |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 725 | CODE | |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1078 | CODE | |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1543 | CODE | |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1677 | CODE | |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 90 | CODE | |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 486 | CODE | |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 831 | CODE | |
| LOW | …lm_enterprise/enterprise_callbacks/secret_detection.py | 467 | CODE | |
| LOW | …e/litellm_enterprise/enterprise_callbacks/llm_guard.py | 96 | CODE | |
| LOW | …m_enterprise/enterprise_callbacks/callback_controls.py | 16 | CODE | |
| LOW | …erprise/enterprise_callbacks/send_emails/base_email.py | 418 | CODE | |
| LOW | …terprise/enterprise_callbacks/send_emails/endpoints.py | 24 | CODE | |
| LOW | enterprise/enterprise_hooks/blocked_user_list.py | 56 | 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 | 192 | CODE | |
| LOW | …ging_callback_tests/test_logging_redaction_e2e_test.py | 236 | CODE | |
| LOW | …gging_callback_tests/test_unit_tests_init_callbacks.py | 91 | CODE | |
| LOW | tests/logging_callback_tests/test_langfuse_e2e_test.py | 30 | CODE | |
| LOW | tests/logging_callback_tests/test_gcs_pub_sub.py | 50 | CODE | |
| LOW | …ging_callback_tests/test_bedrock_knowledgebase_hook.py | 186 | CODE | |
| LOW | tests/logging_callback_tests/test_datadog.py | 170 | CODE | |
| LOW | tests/logging_callback_tests/test_otel_logging.py | 42 | CODE | |
| LOW | tests/litellm_utils_tests/test_utils.py | 1361 | CODE | |
| LOW | tests/litellm_utils_tests/test_proxy_budget_reset.py | 434 | CODE | |
| LOW | tests/litellm_utils_tests/test_proxy_budget_reset.py | 471 | CODE | |
| LOW | tests/otel_tests/test_prometheus.py | 86 | CODE | |
| LOW | …erprise_callbacks/test_prometheus_logging_callbacks.py | 2291 | CODE | |
| LOW | …ise/litellm_enterprise/integrations/test_prometheus.py | 88 | CODE | |
| LOW | tests/agent_tests/local_only_agent_tests/test_a2a.py | 272 | 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 | …ss_through_tests/test_openai_assistants_passthrough.py | 61 | CODE | |
| LOW | tests/unified_google_tests/test_google_ai_studio.py | 30 | CODE | |
| LOW | tests/proxy_admin_ui_tests/test_key_management.py | 738 | CODE | |
| LOW | …llm_responses_api_testing/test_openai_responses_api.py | 282 | CODE | |
| LOW | …llm_responses_api_testing/test_openai_responses_api.py | 995 | CODE | |
| LOW | …ses_api_testing/test_google_ai_studio_responses_api.py | 190 | CODE | |
| LOW | tests/llm_responses_api_testing/base_responses_api.py | 150 | CODE | |
| LOW | tests/llm_responses_api_testing/base_responses_api.py | 275 | CODE | |
| LOW | tests/llm_responses_api_testing/base_responses_api.py | 788 | 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 | |
| 1960 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 | 575 | // For some guardrails, the config values need to be in litellm_params | COMMENT |
| MEDIUM | …hboard)/guardrails/_components/edit_guardrail_form.tsx | 171 | // For some guardrails, the config values need to be in litellm_params | COMMENT |
| MEDIUM | …guardrails/_components/custom_code/CustomCodeModal.tsx | 534 | window.open("https://models.litellm.ai/guardrails", "_blank"); | CODE |
| MEDIUM | …guardrails/_components/custom_code/CustomCodeModal.tsx | 753 | onClick={() => window.open("https://github.com/BerriAI/litellm-guardrails", "_blank")} | CODE |
| MEDIUM⚡ | …/app/(dashboard)/agents/_components/add_agent_form.tsx | 69 | // Tracing & guardrails state | COMMENT |
| MEDIUM | …ard/src/app/(dashboard)/policies/_components/index.tsx | 295 | // Create selected guardrails | COMMENT |
| MEDIUM | …ard/src/app/(dashboard)/policies/_components/index.tsx | 308 | // Refresh guardrails list | COMMENT |
| MEDIUM | …ard/src/app/(dashboard)/policies/_components/index.tsx | 387 | href="https://docs.litellm.ai/docs/proxy/guardrails/guardrail_policies" | CODE |
| MEDIUM | …ard/src/app/(dashboard)/policies/_components/index.tsx | 425 | href="https://docs.litellm.ai/docs/proxy/guardrails/guardrail_policies" | CODE |
| MEDIUM | …ard/src/app/(dashboard)/policies/_components/index.tsx | 557 | href="https://docs.litellm.ai/docs/proxy/guardrails/guardrail_policies#attachments" | CODE |
| MEDIUM | …c/app/(dashboard)/policies/_components/policy_info.tsx | 41 | // Also fetch resolved guardrails | COMMENT |
| MEDIUM | …rd)/policies/_components/guardrail_selection_modal.tsx | 41 | // Initialize selection: select only new guardrails by default | COMMENT |
| MEDIUM | …ashboard)/policies/_components/ai_suggestion_modal.tsx | 295 | // Keep existing guardrails until streaming completes to avoid temporary empty payloads. | COMMENT |
| MEDIUM | …app/(dashboard)/hooks/guardrails/useGuardrails.test.ts | 220 | // Mock API returning empty guardrails array | COMMENT |
| MEDIUM | …/litellm-dashboard/src/components/add_pass_through.tsx | 77 | // Add guardrails to formValues (only if not empty) | COMMENT |
| MEDIUM | ui/litellm-dashboard/src/components/model_info_view.tsx | 1021 | href="https://docs.litellm.ai/docs/proxy/guardrails/quick_start" | CODE |
| MEDIUM | ui/litellm-dashboard/src/components/Teams.tsx | 184 | // Add this useEffect to fetch guardrails | COMMENT |
| MEDIUM | ui/litellm-dashboard/src/components/Teams.tsx | 841 | href="https://docs.litellm.ai/docs/proxy/guardrails/quick_start" | CODE |
| MEDIUM | ui/litellm-dashboard/src/components/Teams.tsx | 895 | href="https://docs.litellm.ai/docs/proxy/guardrails/guardrail_policies" | CODE |
| MEDIUM | …mponents/view_logs/GuardrailViewer/GuardrailViewer.tsx | 345 | // Pre-call guardrails — use modeMatches so array modes (e.g. ["pre_call", "post_call"]) | COMMENT |
| MEDIUM | …mponents/view_logs/GuardrailViewer/GuardrailViewer.tsx | 376 | // During-call guardrails (rare) | COMMENT |
| MEDIUM | …mponents/view_logs/GuardrailViewer/GuardrailViewer.tsx | 388 | // Post-call guardrails | COMMENT |
| MEDIUM | …oard/src/components/llm_calls/chat_completion.test.tsx | 97 | undefined, // guardrails | CODE |
| MEDIUM | …oard/src/components/llm_calls/chat_completion.test.tsx | 160 | undefined, // guardrails | CODE |
| MEDIUM | …oard/src/components/llm_calls/chat_completion.test.tsx | 207 | undefined, // guardrails | CODE |
| MEDIUM | …oard/src/components/llm_calls/chat_completion.test.tsx | 240 | undefined, // guardrails | CODE |
| MEDIUM | …hboard/src/components/llm_calls/responses_api.test.tsx | 112 | undefined, // guardrails | CODE |
| MEDIUM | ui/litellm-dashboard/src/components/team/TeamInfo.tsx | 311 | // Fetch resolved guardrails for all policies | COMMENT |
| MEDIUM | ui/litellm-dashboard/src/components/team/TeamInfo.tsx | 1249 | href="https://docs.litellm.ai/docs/proxy/guardrails/quick_start" | CODE |
| MEDIUM | ui/litellm-dashboard/src/components/team/TeamInfo.tsx | 1321 | href="https://docs.litellm.ai/docs/proxy/guardrails/guardrail_policies" | CODE |
| MEDIUM | …m-dashboard/src/components/templates/key_info_view.tsx | 97 | // Fetch resolved guardrails for all policies | COMMENT |
| MEDIUM | …shboard/src/components/add_model/advanced_settings.tsx | 150 | href="https://docs.litellm.ai/docs/proxy/guardrails/quick_start" | CODE |
| MEDIUM | …nts/common_components/PassThroughGuardrailsSection.tsx | 33 | // Create new settings object with selected guardrails | COMMENT |
| MEDIUM | …shboard/src/components/organisms/create_key_button.tsx | 1219 | href="https://docs.litellm.ai/docs/proxy/guardrails/quick_start" | CODE |
| MEDIUM | …shboard/src/components/organisms/create_key_button.tsx | 1255 | 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 | tests/otel_tests/test_guardrails.py | 175 | # test no guardrails triggered for key without guardrails | COMMENT |
| MEDIUM | tests/otel_tests/test_guardrails.py | 187 | # test guardrails triggered for key with guardrails | COMMENT |
| MEDIUM | tests/otel_tests/test_guardrails.py | 273 | # Create team with guardrails | COMMENT |
| MEDIUM | tests/otel_tests/test_guardrails.py | 295 | # Test no guardrails triggered for key without a team | COMMENT |
| MEDIUM | tests/vector_store_tests/rag/test_rag_s3_vectors.py | 62 | # dimension is auto-detected from embedding model (text-embedding-3-small = 1536) | COMMENT |
| MEDIUM | tests/vector_store_tests/rag/test_rag_openai.py | 76 | # Query with RAG | COMMENT |
| MEDIUM | tests/vector_store_tests/rag/test_rag_openai.py | 123 | # Query with RAG and rerank | COMMENT |
| MEDIUM | tests/proxy_unit_tests/test_proxy_routes.py | 115 | # LiteLLM native RAG routes | COMMENT |
| MEDIUM | tests/proxy_unit_tests/test_key_generate_prisma.py | 3279 | # team update with guardrails | COMMENT |
| MEDIUM | tests/mcp_tests/test_mcp_server.py | 2936 | # - and inside `call_tool` for guardrails/hooks | COMMENT |
| MEDIUM | tests/mcp_tests/test_mcp_guardrails.py | 694 | proxy_logging = MockProxyLogging([]) # No guardrails | CODE |
| MEDIUM⚡ | tests/load_tests/test_linear_memory_growth.py | 25 | limit_memory, # noqa: F401 # pytest fixture used via dependency injection | CODE |
| MEDIUM⚡ | tests/load_tests/test_linear_memory_growth.py | 26 | mock_server, # noqa: F401 # pytest fixture used via dependency injection | CODE |
| MEDIUM⚡ | tests/load_tests/test_linear_memory_growth.py | 28 | test_router, # noqa: F401 # pytest fixture used via dependency injection | CODE |
| MEDIUM | tests/llm_translation/test_bedrock_completion.py | 1338 | "text": "<environment_details>\n# VSCode Visible Files\ncomputer-vision/hm-open3d/src/main.py\n\ | CODE |
| MEDIUM | tests/llm_translation/test_bedrock_completion.py | 1641 | "text": "<environment_details>\n# VSCode Visible Files\ncomputer-vision/hm-open3d/src/main.py\n\ | CODE |
| MEDIUM | tests/llm_translation/test_bedrock_completion.py | 1864 | "text": "<environment_details>\n# VSCode Visible Files\ncomputer-vision/hm-open3d/src/main.py\n\ | CODE |
| MEDIUM | tests/guardrails_tests/conftest.py | 3 | # xdist-compatible test isolation for guardrails tests. | COMMENT |
| MEDIUM⚡ | tests/guardrails_tests/test_guardrail_load_balancing.py | 45 | # Create two mock guardrails with same name | COMMENT |
| MEDIUM⚡ | tests/guardrails_tests/test_guardrail_load_balancing.py | 49 | # Create router with multiple guardrails of same name | COMMENT |
| MEDIUM | tests/guardrails_tests/test_guardrail_load_balancing.py | 92 | # Both guardrails should have been called (load balanced) | COMMENT |
| 378 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 | 38 | # Check if nvm use was successful | COMMENT |
| LOW | ui/litellm-dashboard/build_ui_custom_path.sh | 47 | # 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 | 28 | # Check if nvm use was successful | COMMENT |
| LOW | ui/litellm-dashboard/build_ui.sh | 38 | # 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 | 67 | # Check if vector store already exists | COMMENT |
| LOW | …se/litellm_enterprise/proxy/vector_stores/endpoints.py | 214 | # Check if vector store exists | COMMENT |
| LOW | …_enterprise/proxy/common_utils/check_responses_cost.py | 152 | # Check if response is in a terminal state | 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 | 1082 | ## Check if unified_file_id is in the response | COMMENT |
| LOW⚡ | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1332 | # Check if the scheduler has the batch cost checking job registered | COMMENT |
| LOW⚡ | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1337 | # Check if the check_batch_cost_job exists in the scheduler | COMMENT |
| LOW⚡ | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1415 | # Check if any referenced file ID matches the file we're trying to delete | COMMENT |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 463 | # Check if any files are stored in storage backends and need base64 conversion | COMMENT |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1221 | ## Check if unified_file_id is in the response | COMMENT |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1446 | # Check if batch polling is enabled | COMMENT |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1451 | # Check if file is referenced by any non-terminal batches | COMMENT |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1507 | # Check if file deletion should be blocked due to batch references | COMMENT |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1601 | # Check if this is a base64 encoded unified file ID | COMMENT |
| LOW | …rprise/litellm_enterprise/proxy/hooks/managed_files.py | 1705 | # Set format to help Gemini determine mime type | COMMENT |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 388 | # Check if user has permission to create projects for this team | COMMENT |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 409 | # Check if project_id already exists | COMMENT |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 763 | # Check if user is admin (only admins can delete projects) | COMMENT |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 780 | # Check if project exists | COMMENT |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 793 | # Check if there are any keys associated with this project | COMMENT |
| LOW | …rprise/proxy/management_endpoints/project_endpoints.py | 870 | # 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 | 133 | # Check if API key should be included in email | COMMENT |
| LOW | …erprise/enterprise_callbacks/send_emails/base_email.py | 180 | # 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/test_entrypoint.py | 46 | # Print the output for debugging purposes | COMMENT |
| LOW | …sts/logging_callback_tests/test_langfuse_unit_tests.py | 130 | # Check if the logger is cached | COMMENT |
| LOW | tests/logging_callback_tests/test_gcs_pub_sub.py | 56 | # Check if current path should be ignored | COMMENT |
| LOW | tests/logging_callback_tests/test_alerting.py | 884 | # Check if the payload was logged | COMMENT |
| LOW | …ging_callback_tests/test_bedrock_knowledgebase_hook.py | 211 | # Check if this chunk has search_results in provider_specific_fields | COMMENT |
| LOW | tests/logging_callback_tests/test_datadog.py | 144 | standard_payload["status"] = "failure" # Set status to failure | CODE |
| LOW | tests/litellm_utils_tests/test_utils.py | 1208 | # Set force_ipv4 to True | COMMENT |
| LOW⚡ | tests/litellm_utils_tests/test_secret_manager.py | 40 | # Read the file content | COMMENT |
| LOW | tests/litellm_utils_tests/test_health_check.py | 110 | # Check if response is successful (no error) | COMMENT |
| LOW | tests/litellm_utils_tests/test_health_check.py | 114 | # Check if error is a transient Azure internal server error | COMMENT |
| LOW | tests/litellm_utils_tests/test_bedrock_token_counter.py | 98 | # Check if the model doesn't support token counting | COMMENT |
| LOW | tests/otel_tests/test_prometheus.py | 99 | # Check if the request failed as expected | COMMENT |
| LOW | tests/otel_tests/test_prometheus.py | 108 | # Check if the failure metric is present and correct - use pattern matching for robustness | COMMENT |
| LOW | tests/otel_tests/test_prometheus.py | 125 | # Check if either pattern is in metrics and contains required fields | COMMENT |
| LOW | tests/otel_tests/test_prometheus.py | 191 | # Check if the request succeeded as expected | COMMENT |
| LOW | tests/otel_tests/test_prometheus.py | 208 | # Check if the success metric is present and correct - use flexible matching | COMMENT |
| LOW | tests/otel_tests/test_prometheus.py | 315 | # Check if successful fallback metric is incremented - use flexible matching | COMMENT |
| LOW | tests/otel_tests/test_prometheus.py | 335 | # Check if failed fallback metric is incremented - use flexible matching | COMMENT |
| LOW | …tellm_enterprise/integrations/test_custom_guardrail.py | 212 | ) # 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 | 38 | # Read the file content | COMMENT |
| LOW | tests/proxy_admin_ui_tests/test_usage_endpoints.py | 217 | # 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 | 242 | # Check if the lists are sorted by total_spend in descending order | COMMENT |
| 782 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 | 57 | 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 | 1956 | Default image cost calculator for image generation Args: model (str): Model name image_respons | STRING |
| HIGH | litellm/cost_calculator.py | 2030 | Default video cost calculator for video generation Args: model (str): Model name duration_seco | STRING |
| HIGH | litellm/utils.py | 2145 | Check if the given model supports system messages and return a boolean value. Parameters: model (str): The | STRING |
| HIGH | litellm/utils.py | 2166 | Check if the given model supports web search and return a boolean value. Parameters: model (str): The mode | STRING |
| HIGH | litellm/utils.py | 2187 | Check if the given model supports URL context and return a boolean value. Parameters: model (str): The mod | STRING |
| HIGH | litellm/utils.py | 2208 | Check if the given model supports native streaming and return a boolean value. Parameters: model (str): Th | STRING |
| HIGH | litellm/utils.py | 2291 | Check if the given model supports function calling and return a boolean value. Parameters: model (str): Th | STRING |
| HIGH | litellm/utils.py | 2333 | Check if the given model supports function calling and return a boolean value. Parameters: model (str): Th | STRING |
| HIGH | litellm/utils.py | 2436 | Check if the given model supports prompt caching and return a boolean value. Parameters: model (str): The | STRING |
| HIGH | litellm/utils.py | 2457 | Check if the given model supports computer use and return a boolean value. Parameters: model (str): The mo | STRING |
| HIGH | litellm/utils.py | 4778 | Get the maximum number of output tokens allowed for a given model. Parameters: model (str): The name of th | STRING |
| HIGH | litellm/utils.py | 5580 | 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 | 7447 | Ensures all user messages are valid OpenAI chat completion messages. Args: messages: List of message d | STRING |
| HIGH | litellm/router.py | 10893 | Returns deployments available for pass-through endpoints (based on load balancing strategy) Similar to | STRING |
| HIGH | litellm/main.py | 457 | Asynchronously executes a litellm.completion() call for any of litellm supported llms (example gpt-4, gpt-3.5-turbo | STRING |
| HIGH | litellm/main.py | 824 | Generate a mock completion response for testing or debugging purposes. This is a helper function that simulate | STRING |
| HIGH | litellm/main.py | 5912 | 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 | 199 | 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 | 13 | 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 | 41 | 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 | 1645 | 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 | 85 | 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 | 129 | 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 | 301 | 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 | 345 | 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 | 379 | 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 | 427 | Core method to run the Pillar guardrail scan. Args: data: Request data containing messages | STRING |
| HIGH | …ellm/proxy/guardrails/guardrail_hooks/pillar/pillar.py | 473 | Handle API errors based on fallback_on_error configuration. Args: error: The exception tha | STRING |
| HIGH | …s/guardrail_hooks/crowdstrike_aidr/crowdstrike_aidr.py | 288 | 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 | 439 | Apply EnkryptAI guardrail to a batch of texts. Args: inputs: Dictionary containing texts a | STRING |
| HIGH | …ils/guardrail_hooks/litellm_content_filter/patterns.py | 60 | 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 | 320 | 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 | 1312 | 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 | 1755 | 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 | 103 | 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 | 360 | 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 | 185 | 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 | 409 | 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 | 880 | 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 | 148 | 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 | 3473 | Filter arguments to only include allowed parameters for the given tool. Args: tool_name: N | STRING |
| HIGH | …m/proxy/_experimental/mcp_server/mcp_server_manager.py | 3826 | 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 | 154 | 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 | 42 | 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 | 95 | 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 | 262 | 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 | 408 | Orchestrate model-based credential routing for file operations. Args: file_id: File ID (may contain em | STRING |
| HIGH | litellm/proxy/auth/route_checks.py | 538 | Check if route matches the allowed_route pattern. Supports both exact match and prefix match. | STRING |
| HIGH | litellm/proxy/auth/login_utils.py | 56 | Get UI username and password from environment variables or master key. Args: master_key: Master key fo | STRING |
| 145 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 | …gh_unit_tests/test_unit_test_anthropic_pass_through.py | 252 | 'data: {"type":"message_start","message":{"id":"msg_01G7T4YSBzHjmgTyizv1UfkB","type":"message","role":"assistant | CODE |
| HIGH | …gh_unit_tests/test_unit_test_anthropic_pass_through.py | 306 | '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 | 377 | """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 | 401 | """A proxy admin may remove a team's cap (max_budget=null).""" | STRING |
| HIGH | tests/llm_translation/test_openai.py | 926 | "description": 'Executes a given bash command in a persistent shell session with optional timeout, e | CODE |
| HIGH | tests/llm_translation/test_prompt_factory.py | 342 | "arguments": '{"completed_steps": [], "next_steps": [{"tool_name": "AccountingResearchTool", "de | CODE |
| HIGH | tests/llm_translation/test_prompt_factory.py | 351 | "content": '{"completed_steps":[],"next_steps":[{"tool_name":"AccountingResearchTool","description":"Researc | CODE |
| HIGH | tests/llm_translation/test_bedrock_completion.py | 1330 | "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 | 659 | "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 | 1308 | """first_id / last_id may be absent or null; should not raise.""" | STRING |
| 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__types.py | 10 | When budget_id is null, DB join returns no litellm_budget_table key. | STRING |
| HIGH⚡ | tests/test_litellm/test__types.py | 17 | # litellm_budget_table intentionally absent (as DB join returns when budget_id is null) | COMMENT |
| 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 | 249 | Test that invalid (non-list, non-null) top_logprobs values are still | STRING |
| HIGH⚡ | tests/test_litellm/types/test_types_utils.py | 250 | rejected by Pydantic validation. The validator only normalizes null, | STRING |
| HIGH | tests/test_litellm/types/llms/test_types_llms_openai.py | 280 | status=null). | STRING |
| HIGH⚡ | …s/test_litellm/proxy/test_common_request_processing.py | 1142 | 'data: {"error": {"code": null, "message": "code is null"}}', | CODE |
| HIGH | …t_litellm/proxy/guardrails/test_guardrail_endpoints.py | 1672 | """List submissions only returns team guardrails (team_id not null).""" | STRING |
| HIGH | …xy/guardrails/guardrail_hooks/test_panw_prisma_airs.py | 2427 | b'data: {"type":"content_block_delta","index":0,"delta":null}\n', | CODE |
| HIGH | …xy/guardrails/guardrail_hooks/test_panw_prisma_airs.py | 2410 | """Non-dict JSON (null, arrays, ints) should be silently skipped.""" | STRING |
| HIGH | …/guardrails/guardrail_hooks/test_bedrock_guardrails.py | 1468 | # No BLOCKED actions found (all lists null) → should return False | COMMENT |
| HIGH | …roxy/spend_tracking/test_spend_management_endpoints.py | 2001 | "metadata": '{"applied_guardrails": [], "batch_models": null, "mcp_tool_call_metadata": null, "vecto | CODE |
| HIGH | …roxy/spend_tracking/test_spend_management_endpoints.py | 2097 | "metadata": '{"applied_guardrails": [], "batch_models": null, "mcp_tool_call_metadata": null, "vecto | CODE |
| HIGH | …roxy/spend_tracking/test_spend_management_endpoints.py | 2191 | "metadata": '{"applied_guardrails": [], "batch_models": null, "mcp_tool_call_metadata": null, "vecto | CODE |
| HIGH | …sts/test_litellm/proxy/memory/test_memory_endpoints.py | 659 | expectation of `PUT {"metadata": null}`. | STRING |
| HIGH | …/proxy/_experimental/mcp_server/test_mcp_sigv4_auth.py | 1099 | # Credentials should be cleared. The clear reaches prisma as Json(None) (SQL null), which | COMMENT |
| HIGH | …xy/_experimental/mcp_server/test_mcp_partial_update.py | 622 | # 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 | 396 | columns null) must move the settings to the columns and drop them from the | STRING |
| HIGH | …roxy/ui_crud_endpoints/test_proxy_setting_endpoints.py | 720 | # Send mixed SSO settings - some null, some valid | COMMENT |
| HIGH | …lm/proxy/management_endpoints/test_budget_endpoints.py | 351 | """Clearing budget_duration (explicit null) must not recompute against a None duration.""" | STRING |
| HIGH | …xy/management_endpoints/test_access_group_endpoints.py | 1315 | # Verify the DB update was called with [] (not null) for list fields | COMMENT |
| HIGH | …ellm/proxy/management_endpoints/test_team_endpoints.py | 4806 | (max_budget=null), which is the strongest possible raise (finite -> unlimited). | STRING |
| HIGH | …ellm/proxy/management_endpoints/test_team_endpoints.py | 9087 | When budget_duration is explicitly set to null, _set_budget_reset_at | STRING |
| HIGH | …ellm/proxy/management_endpoints/test_team_endpoints.py | 9187 | When team_member_budget is explicitly null, clear_team_member_budget_fields | STRING |
| HIGH | …ellm/proxy/management_endpoints/test_team_endpoints.py | 9233 | When team_member_rpm_limit and team_member_tpm_limit are explicitly null, | STRING |
| HIGH | …ellm/proxy/management_endpoints/test_team_endpoints.py | 9283 | When all team_member fields are explicitly null, all corresponding | STRING |
| HIGH | …/management_endpoints/test_key_management_endpoints.py | 1791 | """budget_limits=[] / None must serialize to JSON null, never reach Prisma raw.""" | STRING |
| HIGH | …/management_endpoints/test_key_management_endpoints.py | 13173 | When budget_duration is explicitly set to null, prepare_key_update_data | STRING |
| HIGH⚡ | …tellm/proxy/proxy_server/test_routes_model_cost_map.py | 227 | """No prisma client → returns the not-scheduled shape (4 keys, all-null).""" | STRING |
| HIGH⚡ | …handlers/test_anthropic_passthrough_logging_handler.py | 1003 | 'event: message_start\ndata: {"type":"message_start","message":{"id":"msg_1","type":"message","role":"assist | CODE |
| HIGH⚡ | …handlers/test_anthropic_passthrough_logging_handler.py | 1007 | 'event: message_delta\ndata: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null} | CODE |
| HIGH⚡ | …handlers/test_anthropic_passthrough_logging_handler.py | 1019 | 'event: message_start\ndata: {"type":"message_start","message":{"id":"msg_1","type":"message","role":"assist | CODE |
| HIGH⚡ | …handlers/test_anthropic_passthrough_logging_handler.py | 1029 | 'event: message_start\ndata: {"type":"message_start","message":{"id":"msg_1","type":"message","role":"assist | CODE |
| HIGH⚡ | …handlers/test_anthropic_passthrough_logging_handler.py | 1036 | 'event: message_delta\ndata: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null} | CODE |
| HIGH⚡ | …handlers/test_anthropic_passthrough_logging_handler.py | 1046 | 'event: message_start\ndata: {"type":"message_start","message":{"id":"msg_1","type":"message","role":"assist | CODE |
| HIGH⚡ | …handlers/test_anthropic_passthrough_logging_handler.py | 1050 | 'event: message_delta\ndata: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null} | CODE |
| HIGH | tests/test_litellm/passthrough/test_passthrough_main.py | 656 | so the client saw HTTP 200 + unparseable SSE body → silent task_complete(null). | STRING |
| HIGH⚡ | …lm/responses/test_responses_websocket_all_providers.py | 1073 | event = '{"type":"response.completed","response":null}' | CODE |
| HIGH⚡ | tests/test_litellm/repositories/test_repositories.py | 1476 | "param_value": '{"new_key": "value", "null_key": null}', | CODE |
| HIGH⚡ | …rations/open_telemetry/test_passthrough_parent_span.py | 134 | 'data: {"type":"message_start","message":{"id":"msg_1","type":"message","role":"assistant","model":"claude-sonnet-4- | CODE |
| HIGH⚡ | …rations/open_telemetry/test_passthrough_parent_span.py | 142 | 'data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null},"usage":{"output_tokens":2}}' | CODE |
| HIGH | …est_litellm/litellm_core_utils/messages_with_counts.py | 740 | null, | CODE |
| HIGH | tests/test_litellm/llms/sap/chat/test_sap_chat_calls.py | 43 | b'data: {"request_id": "a07127d3-cb74-9427-a4dc-ef9bf424fb43", "intermediate_results": {"templating": [{"content": " | CODE |
| HIGH⚡ | …ertex_ai/gemini/test_gemini_image_url_missing_field.py | 34 | """When image_url key is present but explicitly null, a BadRequestError is raised.""" | STRING |
| 126 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 | 144 | userEmail: "user@example.com", | CODE |
| LOW | …-dashboard/e2e_tests/tests/modelsPage/addModel.spec.ts | 49 | api_key: "fake-key", | CODE |
| LOW | ui/litellm-dashboard/src/app/chat/layout.test.tsx | 18 | userEmail: "user@example.com", | CODE |
| LOW | …nd-endpoints/components/ModelRetrySettingsTab.test.tsx | 113 | expect(inputs[2]).toHaveAttribute("placeholder", "7"); // inherited from global | CODE |
| LOW | …nd-endpoints/components/ModelRetrySettingsTab.test.tsx | 115 | expect(inputs[0]).toHaveAttribute("placeholder", "1"); // inherited from defaultRetry | CODE |
| LOW | …pp/(dashboard)/tag-management/_components/tag_info.tsx | 82 | fetchUserModels("dummy-user", "Admin", accessToken, setUserModels); | CODE |
| LOW | …src/app/(dashboard)/api-keys/ApiKeysDashboard.test.tsx | 33 | userEmail: "admin@example.com", | CODE |
| LOW | …d)/usage/_components/components/UsagePageView.test.tsx | 752 | const userSelect = userSelects.find((el) => el.getAttribute("placeholder") === "Select user to filter..."); | CODE |
| LOW | …d)/usage/_components/components/UsagePageView.test.tsx | 863 | const userSelect = userSelects.find((el) => el.getAttribute("placeholder") === "Select user to filter..."); | CODE |
| LOW | …hboard/src/app/(dashboard)/hooks/useAuthorized.test.ts | 117 | user_email: "user@example.com", | CODE |
| LOW | …hboard/src/app/(dashboard)/hooks/useAuthorized.test.ts | 138 | expect(result.current.userEmail).toBe("user@example.com"); | CODE |
| LOW | …hboard/src/app/(dashboard)/hooks/useAuthorized.test.ts | 184 | user_email: "user@example.com", | CODE |
| LOW | …hboard/src/app/(dashboard)/hooks/useAuthorized.test.ts | 205 | expect(result.current.userEmail).toBe("user@example.com"); | CODE |
| LOW | …hboard/src/app/(dashboard)/hooks/useAuthorized.test.ts | 243 | user_email: "user@example.com", | CODE |
| LOW | …_components/coordination_redis_settings/index.test.tsx | 191 | 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 | 1686 | 'Authorization': 'Bearer dummy-token-for-extended-card' | CODE |
| LOW | …/litellm-dashboard/src/components/public_model_hub.tsx | 1735 | 'Authorization': 'Bearer dummy-token-for-extended-card' | CODE |
| LOW | …-dashboard/src/components/bulk_create_users_button.tsx | 86 | ["user@example.com", "internal_user", "team-id-1,team-id-2", "100", "30d", "gpt-3.5-turbo,gpt-4"], | CODE |
| LOW | ui/litellm-dashboard/src/components/SSOModals.test.tsx | 250 | user_email: "admin@example.com", | CODE |
| LOW | ui/litellm-dashboard/src/components/SSOModals.test.tsx | 295 | expect(emailInput.value).toBe("admin@example.com"); | CODE |
| LOW | ui/litellm-dashboard/src/components/SSOModals.test.tsx | 355 | fireEvent.change(emailInput, { target: { value: "admin@example.com" } }); | CODE |
| LOW | ui/litellm-dashboard/src/components/SSOModals.test.tsx | 391 | user_email: "admin@example.com", | CODE |
| LOW | …src/components/organization/organization_view.test.tsx | 79 | organization_alias: "Acme Corp", | CODE |
| LOW | …src/components/organization/organization_view.test.tsx | 83 | created_by: "admin@example.com", | CODE |
| LOW | …src/components/organization/organization_view.test.tsx | 119 | expect(findAllByText("Acme Corp")).toBeTruthy(); | CODE |
| LOW | …src/components/organization/organization_view.test.tsx | 140 | expect(screen.getByText("Acme Corp")).toBeInTheDocument(); | CODE |
| LOW | …ard/src/components/claude_code_plugins/helpers.test.ts | 304 | expect(isValidEmail("user@example.com")).toBe(true); | CODE |
| LOW | …rc/components/DeletedKeysPage/DeletedKeysPage.test.tsx | 66 | user_email: "user@example.com", | CODE |
| LOW | …tedKeysPage/DeletedKeysTable/DeletedKeysTable.test.tsx | 60 | user_email: "user@example.com", | CODE |
| LOW | …c/components/VirtualKeysPage/VirtualKeysTable.test.tsx | 117 | user_email: "user@example.com", | CODE |
| LOW | …c/components/VirtualKeysPage/VirtualKeysTable.test.tsx | 119 | user_email: "user@example.com", | CODE |
| LOW⚡ | …c/components/VirtualKeysPage/VirtualKeysTable.test.tsx | 198 | expect(screen.getByText("user@example.com")).toBeInTheDocument(); | CODE |
| LOW⚡ | …c/components/VirtualKeysPage/VirtualKeysTable.test.tsx | 204 | keysResult([{ ...mockKey, user: { user_id: "user-1", user_email: "user@example.com", user_alias: "The User" } }]), | CODE |
| LOW⚡ | …c/components/VirtualKeysPage/VirtualKeysTable.test.tsx | 211 | expect(within(row).queryByText("user@example.com")).not.toBeInTheDocument(); | CODE |
| LOW | …-dashboard/src/components/team/EditMembership.test.tsx | 48 | const emailInput = screen.getByPlaceholderText("user@example.com"); | CODE |
| LOW | …tellm-dashboard/src/components/team/EditMembership.tsx | 179 | <TextInput placeholder="user@example.com" /> | CODE |
| LOW | …hboard/src/components/templates/KeyInfoHeader.test.tsx | 12 | createdBy: "admin@example.com", | CODE |
| LOW | …components/add_model/provider_specific_fields.test.tsx | 200 | expect(apiKeyInput).toHaveAttribute("placeholder", "Enter your Azure API Key"); | CODE |
| LOW | …components/add_model/provider_specific_fields.test.tsx | 205 | expect(azureAdTokenInput).toHaveAttribute("placeholder", "Enter your Azure AD Token"); | CODE |
| LOW | …onents/common_components/KeyLifecycleSettings.test.tsx | 99 | expect(input).toHaveAttribute("placeholder", "e.g., 30d or leave empty to never expire"); | CODE |
| LOW | …onents/common_components/KeyLifecycleSettings.test.tsx | 106 | expect(input).toHaveAttribute("placeholder", "e.g., 30d"); | CODE |
| LOW | …s/UsagePage/components/EntityUsage/TopKeyView.test.tsx | 41 | userEmail: "user@example.com", | CODE |
| LOW | docker/build_from_pip/litellm_config.yaml | 5 | api_key: fake-key | CODE |
| LOW | tests/test_otel_thread_leak.py | 42 | return {"Authorization": "Bearer fake_token"} | CODE |
| 764 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 | 81 | headers={"Authorization": "Bearer YOUR_API_KEY"}, | CODE |
| HIGH | …d)/playground/components/chat_ui/SessionManagement.tsx | 92 | -H "Authorization: Bearer your-api-key" \\ | CODE |
| HIGH | …hboard)/api-reference/_components/APIReferenceView.tsx | 52 | api_key="your_api_key", | CODE |
| HIGH | …(dashboard)/mcp-servers/_components/MCPToolsetsTab.tsx | 404 | "headers": { "x-litellm-api-key": "Bearer <your-api-key>" } | CODE |
| HIGH | …/litellm-dashboard/src/components/public_model_hub.tsx | 1471 | apiKey: "your_api_key", | CODE |
| HIGH | …/litellm-dashboard/src/components/public_model_hub.tsx | 1493 | apiKey: "your_api_key", | CODE |
| HIGH | …tellm-dashboard/src/components/AIHub/ModelHubTable.tsx | 695 | api_key="your_api_key", | CODE |
| HIGH | tests/llm_translation/test_minimax_tts.py | 227 | os.environ["MINIMAX_API_KEY"] = "your-api-key-here" | CODE |
| HIGH | tests/llm_translation/test_minimax_tts.py | 249 | 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 | 381 | "api_key": <your-api-key>, | STRING |
| HIGH⚡ | litellm/router.py | 390 | "api_key": <your-api-key>, | STRING |
| HIGH⚡ | litellm/router.py | 399 | "api_key": <your-api-key>, | STRING |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 3174 | "description": "Create a new agent\n\nExample Request:\n```bash\ncurl -X POST \"http://localhost:4000/v1/agent | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 3221 | "description": "Make multiple agents publicly discoverable\n\nExample Request:\n```bash\ncurl -X POST \"http:/ | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 3268 | "description": "Delete an agent\n\nExample Request:\n```bash\ncurl -X DELETE \"http://localhost:4000/agents/12 | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 3312 | "description": "Get a specific agent by ID\n\nExample Request:\n```bash\ncurl -X GET \"http://localhost:4000/a | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 3358 | "description": "Update an existing agent\n\nExample Request:\n```bash\ncurl -X PUT \"http://localhost:4000/age | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 3414 | "description": "Update an existing agent\n\nExample Request:\n```bash\ncurl -X PUT \"http://localhost:4000/age | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 3472 | "description": "Make an agent publicly discoverable\n\nExample Request:\n```bash\ncurl -X POST \"http://localh | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 11489 | "description": "Create a new guardrail\n\n\ud83d\udc49 [Guardrail docs](https://docs.litellm.ai/docs/proxy/gua | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 11581 | "description": "List the guardrails that are available on the proxy server\n\n\ud83d\udc49 [Guardrail docs](ht | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 11882 | "description": "Test custom code guardrail logic without creating a guardrail.\n\nThis endpoint allows admins | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 12396 | "description": "Delete a guardrail\n\n\ud83d\udc49 [Guardrail docs](https://docs.litellm.ai/docs/proxy/guardra | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 12440 | "description": "Get detailed information about a specific guardrail by ID\n\n\ud83d\udc49 [Guardrail docs](htt | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 12484 | "description": "Partially update an existing guardrail\n\n\ud83d\udc49 [Guardrail docs](https://docs.litellm.a | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 12538 | "description": "Update an existing guardrail\n\n\ud83d\udc49 [Guardrail docs](https://docs.litellm.ai/docs/pro | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 12594 | "description": "Get detailed information about a specific guardrail by ID\n\n\ud83d\udc49 [Guardrail docs](htt | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 12715 | "description": "List the guardrails that are available in the database using GuardrailRegistry\n\n\ud83d\udc49 | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 21270 | "description": "Create a new policy.\n\nExample Request:\n```bash\ncurl -X POST \"http://localhost:4000/polici | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 21317 | "description": "Create a new policy attachment.\n\nExample Request:\n```bash\ncurl -X POST \"http://localhost: | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 21364 | "description": "Estimate how many keys and teams would be affected by a policy attachment.\n\nUse this before | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 21411 | "description": "List all policy attachments from the database.\n\nExample Request:\n```bash\ncurl -X GET \"htt | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 21438 | "description": "Delete a policy attachment.\n\nExample Request:\n```bash\ncurl -X DELETE \"http://localhost:40 | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 21482 | "description": "Get a policy attachment by ID.\n\nExample Request:\n```bash\ncurl -X GET \"http://localhost:40 | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 21587 | "description": "List all policies from the database. Optionally filter by version_status.\n\nQuery params:\n- | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 21792 | "description": "Resolve which policies and guardrails apply for a given context.\n\nUse this endpoint to debug | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 21853 | "description": "Test a guardrail pipeline with sample messages.\n\nExecutes the pipeline steps against the pro | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 21973 | "description": "Delete a policy.\n\nExample Request:\n```bash\ncurl -X DELETE \"http://localhost:4000/policies | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 22017 | "description": "Get a policy by ID.\n\nExample Request:\n```bash\ncurl -X GET \"http://localhost:4000/policies | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 22063 | "description": "Update an existing policy.\n\nExample Request:\n```bash\ncurl -X PUT \"http://localhost:4000/p | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 22121 | "description": "Get the resolved guardrails for a policy (including inherited guardrails).\n\nThis endpoint re | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 22523 | "description": "Estimate how many keys and teams would be affected by a policy attachment.\n\nUse this before | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 22570 | "description": "Resolve which policies and guardrails apply for a given context.\n\nUse this endpoint to debug | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 23079 | "description": "Create a new prompt\n\n\ud83d\udc49 [Prompt docs](https://docs.litellm.ai/docs/proxy/prompt_ma | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 23124 | "description": "List the prompts that are available on the proxy server\n\n\ud83d\udc49 [Prompt docs](https:// | CODE |
| HIGH | litellm/proxy/_lazy_openapi_snapshot.json | 23179 | "description": "Test a prompt by rendering it with variables and executing an LLM call.\n\nThis endpoint allow | CODE |
| 82 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …lm-dashboard/e2e_tests/tests/modelHub/modelHub.spec.ts | 24 | // Step 1: pick the seeded models via "Select All" | COMMENT |
| LOW | …/app/(dashboard)/agents/_components/add_agent_form.tsx | 52 | // Step 3: key assignment state | COMMENT |
| LOW⚡ | …/app/(dashboard)/agents/_components/add_agent_form.tsx | 64 | // Step 4: results | COMMENT |
| LOW⚡ | tests/litellm_utils_tests/test_cyberark.py | 378 | # Step 1: Create initial secret with old alias | COMMENT |
| LOW⚡ | tests/litellm_utils_tests/test_cyberark.py | 386 | # Step 2: Rotate to new alias with new value | COMMENT |
| LOW⚡ | tests/litellm_utils_tests/test_cyberark.py | 398 | # Step 3: Verify new alias has new value | COMMENT |
| LOW⚡ | tests/litellm_utils_tests/test_cyberark.py | 403 | # Step 4: Verify old alias still exists (CyberArk doesn't delete via API) | COMMENT |
| LOW | tests/litellm_utils_tests/test_cyberark.py | 251 | # Step 1: Write initial secret (simulates key creation) | COMMENT |
| LOW | tests/litellm_utils_tests/test_cyberark.py | 264 | # Step 2: Rotate the secret (simulates key rotation) | COMMENT |
| LOW | tests/litellm_utils_tests/test_cyberark.py | 277 | # 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 | 81 | # Step 1: Initial request with the tool | COMMENT |
| LOW | …_responses_api_testing/test_anthropic_responses_api.py | 99 | # Step 2: Send the results of the tool call back to the model | COMMENT |
| LOW | …llm_responses_api_testing/test_openai_responses_api.py | 1229 | # 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 | 1242 | # Step 2: Send followup with approval for the MCP call | COMMENT |
| LOW | …ses_api_testing/test_google_ai_studio_responses_api.py | 127 | # Step 1: Initial request with tools | COMMENT |
| LOW | …ses_api_testing/test_google_ai_studio_responses_api.py | 227 | # Step 1: Streaming request with tools | COMMENT |
| LOW⚡ | tests/documentation_tests/test_exception_types.py | 48 | # Step 2: Extract the table content | COMMENT |
| LOW⚡ | tests/documentation_tests/test_exception_types.py | 51 | # Step 3: Create a pattern to capture the Error Types from each row | COMMENT |
| LOW | tests/vector_store_tests/rag/base_rag_tests.py | 136 | # Step 1: Ingest | STRING |
| LOW | tests/vector_store_tests/rag/base_rag_tests.py | 147 | # Step 2: Query with retry (indexing may take time) | STRING |
| LOW | tests/old_proxy_tests/tests/test_q.py | 43 | # Step 2: Queue a request to the proxy, using your generated_key | COMMENT |
| LOW | tests/old_proxy_tests/tests/test_q.py | 67 | # Step 3: Poll the request | COMMENT |
| LOW | tests/old_proxy_tests/tests/load_test_q.py | 55 | # Step 2: Queue 50 requests to the proxy, using your generated_key | COMMENT |
| LOW⚡ | tests/llm_translation/test_bedrock_completion.py | 2856 | "thinking": "Alright, let's get started with resolving this issue about implementing `__len__` f | CODE |
| LOW⚡ | tests/llm_translation/test_bedrock_completion.py | 2861 | "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 | 1169 | "thinking": "Alright, let's get started with resolving this issue about implementing `__len__` f | CODE |
| LOW⚡ | tests/llm_translation/test_anthropic_completion.py | 1174 | "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 | 1173 | # Step 2: check if the model wanted to call a function | COMMENT |
| LOW⚡ | tests/llm_translation/test_gemini.py | 1176 | # Step 3: call the function | COMMENT |
| LOW⚡ | tests/llm_translation/test_gemini.py | 1183 | # 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 | 343 | # Step 1: Send a user message after connection is established | COMMENT |
| LOW | tests/llm_translation/realtime/base_realtime_tests.py | 366 | # Step 2: Trigger the response after user message is acknowledged | COMMENT |
| LOW | tests/llm_translation/realtime/base_realtime_tests.py | 383 | # Step 3: Wait for LLM responses | COMMENT |
| LOW⚡ | tests/test_litellm/test_aembedding_session_reuse_e2e.py | 38 | # Step 1: litellm.embedding() extracts and passes shared_session | COMMENT |
| LOW⚡ | tests/test_litellm/test_aembedding_session_reuse_e2e.py | 42 | # Step 2: OpenAI handlers pass it forward | COMMENT |
| LOW⚡ | tests/test_litellm/test_aembedding_session_reuse_e2e.py | 48 | # Step 3: _get_openai_client passes it to AsyncHTTPHandler | COMMENT |
| LOW⚡ | tests/test_litellm/test_aembedding_session_reuse_e2e.py | 52 | # Step 4: AsyncHTTPHandler.create_client passes it to _create_async_transport | COMMENT |
| LOW⚡ | tests/test_litellm/test_aembedding_session_reuse_e2e.py | 56 | # Step 5: _create_async_transport passes it to _create_aiohttp_transport | COMMENT |
| LOW⚡ | tests/test_litellm/test_aembedding_session_reuse_e2e.py | 60 | # Step 6: _create_aiohttp_transport uses it | COMMENT |
| LOW⚡ | tests/test_litellm/test_project_alias_tracking.py | 121 | # Step 1: Auth → sanitized metadata | COMMENT |
| LOW⚡ | tests/test_litellm/test_project_alias_tracking.py | 126 | # Step 2: Sanitized metadata → standard logging metadata | COMMENT |
| LOW | tests/test_litellm/test_cost_calculator.py | 247 | # Step 1: Test a model where input_cost_per_image_token is not set. | COMMENT |
| LOW | tests/test_litellm/test_cost_calculator.py | 263 | # Step 2: Set input_cost_per_image_token. | COMMENT |
| LOW⚡ | tests/test_litellm/proxy/test_proxy_server.py | 327 | # Step 1: login — get code | COMMENT |
| LOW⚡ | tests/test_litellm/proxy/test_proxy_server.py | 335 | # 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 | 1827 | # Step 1: Create vector store on Instance 1 | COMMENT |
| LOW⚡ | …/vector_store_endpoints/test_vector_store_endpoints.py | 1833 | # Step 2: Instance 2 fetches and caches the vector store | COMMENT |
| LOW | …/vector_store_endpoints/test_vector_store_endpoints.py | 1580 | # Step 1: Create vector store on Instance 1 | COMMENT |
| LOW | …/vector_store_endpoints/test_vector_store_endpoints.py | 1601 | # Step 2: Instance 2 should be able to find it via database fallback | COMMENT |
| LOW | …/vector_store_endpoints/test_vector_store_endpoints.py | 1619 | # Step 3: Test that Instance 2 can list vector stores from database | COMMENT |
| LOW | …/vector_store_endpoints/test_vector_store_endpoints.py | 1654 | # Step 4: Delete vector store on Instance 1 | COMMENT |
| LOW | …/vector_store_endpoints/test_vector_store_endpoints.py | 1679 | # 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 | 1716 | # Step 6: Test that using a deleted vector store fails gracefully | COMMENT |
| 212 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …lm-dashboard/e2e_tests/tests/modelHub/modelHub.spec.ts | 24 | // Step 1: pick the seeded models via "Select All" | COMMENT |
| LOW | …/app/(dashboard)/agents/_components/add_agent_form.tsx | 52 | // Step 3: key assignment state | COMMENT |
| LOW⚡ | …/app/(dashboard)/agents/_components/add_agent_form.tsx | 64 | // 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 | 378 | # Step 1: Create initial secret with old alias | COMMENT |
| LOW⚡ | tests/litellm_utils_tests/test_cyberark.py | 386 | # Step 2: Rotate to new alias with new value | COMMENT |
| LOW⚡ | tests/litellm_utils_tests/test_cyberark.py | 398 | # Step 3: Verify new alias has new value | COMMENT |
| LOW⚡ | tests/litellm_utils_tests/test_cyberark.py | 403 | # Step 4: Verify old alias still exists (CyberArk doesn't delete via API) | COMMENT |
| LOW | tests/litellm_utils_tests/test_cyberark.py | 251 | # Step 1: Write initial secret (simulates key creation) | COMMENT |
| LOW | tests/litellm_utils_tests/test_cyberark.py | 264 | # Step 2: Rotate the secret (simulates key rotation) | COMMENT |
| LOW | tests/litellm_utils_tests/test_cyberark.py | 277 | # 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 | 81 | # Step 1: Initial request with the tool | COMMENT |
| LOW | …_responses_api_testing/test_anthropic_responses_api.py | 99 | # Step 2: Send the results of the tool call back to the model | COMMENT |
| LOW | …llm_responses_api_testing/test_openai_responses_api.py | 1229 | # 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 | 1242 | # Step 2: Send followup with approval for the MCP call | COMMENT |
| LOW | …ses_api_testing/test_google_ai_studio_responses_api.py | 127 | # Step 1: Initial request with tools | COMMENT |
| LOW | …ses_api_testing/test_google_ai_studio_responses_api.py | 227 | # Step 1: Streaming request with tools | COMMENT |
| LOW⚡ | tests/documentation_tests/test_exception_types.py | 48 | # Step 2: Extract the table content | COMMENT |
| LOW⚡ | tests/documentation_tests/test_exception_types.py | 51 | # Step 3: Create a pattern to capture the Error Types from each row | COMMENT |
| LOW | tests/vector_store_tests/rag/base_rag_tests.py | 136 | # Step 1: Ingest | STRING |
| LOW | tests/vector_store_tests/rag/base_rag_tests.py | 147 | # Step 2: Query with retry (indexing may take time) | STRING |
| LOW | tests/old_proxy_tests/tests/test_q.py | 43 | # Step 2: Queue a request to the proxy, using your generated_key | COMMENT |
| LOW | tests/old_proxy_tests/tests/test_q.py | 67 | # Step 3: Poll the request | COMMENT |
| LOW | tests/old_proxy_tests/tests/load_test_q.py | 55 | # Step 2: Queue 50 requests to the proxy, using your generated_key | COMMENT |
| LOW⚡ | tests/llm_translation/test_bedrock_completion.py | 2856 | "thinking": "Alright, let's get started with resolving this issue about implementing `__len__` f | CODE |
| LOW⚡ | tests/llm_translation/test_bedrock_completion.py | 2861 | "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 | 1169 | "thinking": "Alright, let's get started with resolving this issue about implementing `__len__` f | CODE |
| LOW⚡ | tests/llm_translation/test_anthropic_completion.py | 1174 | "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 | 1173 | # Step 2: check if the model wanted to call a function | COMMENT |
| LOW⚡ | tests/llm_translation/test_gemini.py | 1176 | # Step 3: call the function | COMMENT |
| LOW⚡ | tests/llm_translation/test_gemini.py | 1183 | # 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 | 343 | # Step 1: Send a user message after connection is established | COMMENT |
| LOW | tests/llm_translation/realtime/base_realtime_tests.py | 366 | # Step 2: Trigger the response after user message is acknowledged | COMMENT |
| LOW | tests/llm_translation/realtime/base_realtime_tests.py | 383 | # Step 3: Wait for LLM responses | COMMENT |
| LOW⚡ | tests/test_litellm/test_aembedding_session_reuse_e2e.py | 38 | # Step 1: litellm.embedding() extracts and passes shared_session | COMMENT |
| LOW⚡ | tests/test_litellm/test_aembedding_session_reuse_e2e.py | 42 | # Step 2: OpenAI handlers pass it forward | COMMENT |
| LOW⚡ | tests/test_litellm/test_aembedding_session_reuse_e2e.py | 48 | # Step 3: _get_openai_client passes it to AsyncHTTPHandler | COMMENT |
| LOW⚡ | tests/test_litellm/test_aembedding_session_reuse_e2e.py | 52 | # Step 4: AsyncHTTPHandler.create_client passes it to _create_async_transport | COMMENT |
| LOW⚡ | tests/test_litellm/test_aembedding_session_reuse_e2e.py | 56 | # Step 5: _create_async_transport passes it to _create_aiohttp_transport | COMMENT |
| LOW⚡ | tests/test_litellm/test_aembedding_session_reuse_e2e.py | 60 | # Step 6: _create_aiohttp_transport uses it | COMMENT |
| LOW⚡ | tests/test_litellm/test_project_alias_tracking.py | 121 | # Step 1: Auth → sanitized metadata | COMMENT |
| LOW⚡ | tests/test_litellm/test_project_alias_tracking.py | 126 | # Step 2: Sanitized metadata → standard logging metadata | COMMENT |
| LOW | tests/test_litellm/test_cost_calculator.py | 247 | # Step 1: Test a model where input_cost_per_image_token is not set. | COMMENT |
| LOW | tests/test_litellm/test_cost_calculator.py | 263 | # Step 2: Set input_cost_per_image_token. | COMMENT |
| LOW⚡ | tests/test_litellm/proxy/test_proxy_server.py | 327 | # Step 1: login — get code | COMMENT |
| LOW⚡ | tests/test_litellm/proxy/test_proxy_server.py | 335 | # 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 | 1827 | # Step 1: Create vector store on Instance 1 | COMMENT |
| LOW⚡ | …/vector_store_endpoints/test_vector_store_endpoints.py | 1833 | # Step 2: Instance 2 fetches and caches the vector store | COMMENT |
| LOW | …/vector_store_endpoints/test_vector_store_endpoints.py | 1580 | # Step 1: Create vector store on Instance 1 | COMMENT |
| LOW | …/vector_store_endpoints/test_vector_store_endpoints.py | 1601 | # Step 2: Instance 2 should be able to find it via database fallback | COMMENT |
| LOW | …/vector_store_endpoints/test_vector_store_endpoints.py | 1619 | # Step 3: Test that Instance 2 can list vector stores from database | COMMENT |
| LOW | …/vector_store_endpoints/test_vector_store_endpoints.py | 1654 | # Step 4: Delete vector store on Instance 1 | COMMENT |
| LOW | …/vector_store_endpoints/test_vector_store_endpoints.py | 1679 | # Step 5: Instance 2 should NOT show it in the list (database is source of truth) | COMMENT |
| 187 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pyproject.toml | 321 | ] | COMMENT |
| LOW | packaging/homebrew/lite.rb | 1 | # Homebrew formula for the thin LiteLLM `lite` CLI (litellm[cli]). | 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 | # the helm chart's `litellm.serverEnv` helper on the IAM-auth branch: | 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 | ui/litellm-dashboard/e2e_tests/run_e2e.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | …lm-dashboard/e2e_tests/tests/modelHub/modelHub.spec.ts | 41 | COMMENT | |
| LOW | …d/e2e_tests/tests/login/serverRootPathRedirect.spec.ts | 1 | import { expect, test } from "@playwright/test"; | COMMENT |
| LOW | …/app/(dashboard)/agents/_components/add_agent_form.tsx | 161 | COMMENT | |
| LOW | …/app/(dashboard)/agents/_components/add_agent_form.tsx | 601 | setAgentType(value); | COMMENT |
| LOW | …dashboard)/agents/_components/agent_card_discovery.tsx | 81 | const [selectedCapabilities, setSelectedCapabilities] = useState<Record<string, boolean>>({}); | COMMENT |
| LOW | …shboard)/mcp-servers/_components/create_mcp_server.tsx | 741 | }, [isModalVisible, form, clearTools, resetOAuthFlow]); | COMMENT |
| LOW | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 141 | # "content": [ | COMMENT |
| LOW | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 201 | # "content": [ | COMMENT |
| LOW | ui/litellm-dashboard/src/components/mcp_tools/types.tsx | 61 | // (url, or spec_path for OpenAPI servers), the OAuth mode/grant (auth_type, oauth_flow_type), the OAuth | COMMENT |
| LOW | ui/litellm-dashboard/src/components/mcp_tools/types.tsx | 161 | export const MCP_OAUTH2_FLOW_INTERACTIVE = "authorization_code"; | COMMENT |
| LOW | tests/test_callbacks_on_proxy.py | 21 | # sampling window. A one-time bump that then plateaus is benign pollution from | 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 | # Test Scenarios (test across completion, streaming, embedding) | COMMENT |
| LOW | tests/logging_callback_tests/test_alerting.py | 561 | # ) as mock_send_alert: | COMMENT |
| LOW | …ging_callback_tests/test_bedrock_knowledgebase_hook.py | 641 | # """ | COMMENT |
| LOW | …ging_callback_tests/test_bedrock_knowledgebase_hook.py | 661 | # standard_logging_vector_store_request_metadata: Optional[List[StandardLoggingVectorStoreRequest]] = metadata["vect | COMMENT |
| LOW | …e/litellm_enterprise/proxy/hooks/test_managed_files.py | 201 | COMMENT | |
| LOW | …e/litellm_enterprise/proxy/hooks/test_managed_files.py | 221 | # assert all(f.id.startswith(SpecialEnums.LITELM_MANAGED_FILE_ID_PREFIX.value) for f in files) | COMMENT |
| LOW | …e/litellm_enterprise/proxy/hooks/test_managed_files.py | 241 | # assert retrieved_file.filename == "test.txt" | COMMENT |
| LOW | …e/litellm_enterprise/proxy/hooks/test_managed_files.py | 261 | COMMENT | |
| LOW | …e/litellm_enterprise/proxy/hooks/test_managed_files.py | 281 | # with pytest.raises(Exception): | COMMENT |
| LOW | …ise/litellm_enterprise/integrations/test_prometheus.py | 1061 | # ============================================================================== | COMMENT |
| LOW | …s/local_only_agent_tests/test_a2a_completion_bridge.py | 281 | # if hasattr(delta, "content") and delta.content: | 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 | # Vertex AI Anthropic partner models. | COMMENT |
| LOW | …hrough_unit_tests/test_bedrock_tool_use_beta_header.py | 41 | print(f"✅ Test passed! Response: {response}") | COMMENT |
| LOW | …hrough_unit_tests/test_bedrock_tool_use_beta_header.py | 61 | # }, | COMMENT |
| LOW | …ough_unit_tests/test_anthropic_messages_passthrough.py | 581 | COMMENT | |
| LOW | …ough_unit_tests/test_anthropic_messages_passthrough.py | 601 | # handler = BaseLLMHTTPHandler() | COMMENT |
| LOW | …ough_unit_tests/test_anthropic_messages_passthrough.py | 621 | COMMENT | |
| LOW | …ough_unit_tests/test_anthropic_messages_passthrough.py | 641 | # anthropic_messages_provider_config=mock_provider_config, | COMMENT |
| LOW | tests/router_unit_tests/test_router_helper_utils.py | 1541 | COMMENT | |
| LOW | tests/proxy_unit_tests/test_proxy_gunicorn.py | 1 | # #### What this tests #### | COMMENT |
| LOW | tests/proxy_unit_tests/test_proxy_gunicorn.py | 21 | # filepath = os.path.dirname(os.path.abspath(__file__)) | COMMENT |
| LOW | tests/proxy_unit_tests/test_proxy_gunicorn.py | 41 | # os.environ["AZURE_API_BASE"] = azure_info['api_base'] | COMMENT |
| LOW | tests/proxy_unit_tests/test_proxy_server_spend.py | 1 | # import openai, json, time, asyncio | COMMENT |
| 426 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | tests/audio_tests/test_whisper.py | 285 | mock_azure_client.audio.transcriptions.with_raw_response.create.assert_called_once() | CODE |
| CRITICAL | …xy/guardrails/guardrail_hooks/test_panw_prisma_airs.py | 2188 | sent_payload = mock_client.client.post.call_args.kwargs.get( | CODE |
| CRITICAL | …xy/guardrails/guardrail_hooks/test_panw_prisma_airs.py | 2223 | sent_payload = mock_client.client.post.call_args.kwargs.get( | CODE |
| CRITICAL | …sts/test_litellm/proxy/memory/test_memory_endpoints.py | 793 | self.prisma.db.litellm_teamtable.teams.append( | CODE |
| CRITICAL | …sts/test_litellm/proxy/memory/test_memory_endpoints.py | 818 | self.prisma.db.litellm_teamtable.teams.append( | CODE |
| CRITICAL | …sts/test_litellm/proxy/memory/test_memory_endpoints.py | 838 | self.prisma.db.litellm_teamtable.teams.append( | CODE |
| CRITICAL⚡ | …llm/proxy/openai_files_endpoint/test_files_endpoint.py | 736 | print(f"Content: {gemini_route.calls.last.request.content.decode()}") | CODE |
| CRITICAL⚡ | …llm/proxy/openai_files_endpoint/test_files_endpoint.py | 737 | print(f"Response: {gemini_route.calls.last.response.content.decode()}") | CODE |
| CRITICAL⚡ | …llm/proxy/openai_files_endpoint/test_files_endpoint.py | 739 | 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 | 167 | self._prisma.db.litellm_workflowrun.create.assert_awaited_once() | CODE |
| CRITICAL | …gement_endpoints/test_workflow_management_endpoints.py | 270 | self._prisma.db.litellm_workflowrun.update.assert_awaited_once() | CODE |
| CRITICAL | …gement_endpoints/test_workflow_management_endpoints.py | 599 | self._prisma.db.litellm_workflowrun.update.assert_not_awaited() | CODE |
| CRITICAL | tests/test_litellm/proxy/client/test_models.py | 349 | assert "not found" in exc_info.value.orig_exception.response.text.lower() | CODE |
| CRITICAL | tests/test_litellm/proxy/client/test_models.py | 720 | assert "not found" in exc_info.value.orig_exception.response.text.lower() | CODE |
| CRITICAL | tests/test_litellm/repositories/test_repositories.py | 1604 | 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 | 95 | from azure.core.exceptions import ResourceNotFoundError | CODE |
| CRITICAL | tests/test_litellm/caching/test_azure_blob_cache.py | 172 | from azure.core.exceptions import ResourceNotFoundError | CODE |
| CRITICAL | litellm/proxy/hooks/azure_content_safety.py | 31 | from azure.core.exceptions import HttpResponseError | CODE |
| CRITICAL | litellm/caching/azure_blob_cache.py | 23 | from azure.core.exceptions import ResourceExistsError | CODE |
| CRITICAL⚡ | litellm/caching/azure_blob_cache.py | 61 | from azure.core.exceptions import ResourceNotFoundError | CODE |
| CRITICAL | litellm/caching/azure_blob_cache.py | 78 | from azure.core.exceptions import ResourceNotFoundError | CODE |
| 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 | …drails/guardrail_hooks/_cisco_ai_defense_test_utils.py | 312 | __all__ = [ | CODE |
| LOW | …test_litellm/proxy/batches_endpoints/test_endpoints.py | 227 | 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 | 11 | 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 | …ellm/integrations/test_prometheus_rate_limit_labels.py | 352 | def _set_virtual_key_metrics(logger: PrometheusLogger, kwargs: dict) -> None: | CODE |
| LOW | …2e/quota_management/spend_tracking/spend_e2e_client.py | 49 | __all__ = [ | CODE |
| LOW | tests/e2e/management/management_client.py | 58 | def update_key_models(self, key: str, models: list[str]) -> None: | CODE |
| LOW⚡ | litellm/__init__.py | 1430 | def set_global_bitbucket_config(config: Dict[str, Any]) -> None: | CODE |
| LOW⚡ | litellm/__init__.py | 1440 | def set_global_gitlab_config(config: Dict[str, Any]) -> None: | CODE |
| LOW | litellm/_lazy_imports_registry.py | 1461 | __all__ = [ | CODE |
| LOW | litellm/router.py | 2837 | def _set_deployment_num_retries_on_exception(self, exception: Exception, deployment: dict) -> None: | CODE |
| LOW | litellm/router.py | 2856 | def _set_failed_deployment_id_on_exception(self, exception: Exception, deployment: dict) -> None: | CODE |
| LOW | litellm/router.py | 8089 | def _update_deployment_indices_after_removal(self, model_id: str, removal_idx: int) -> None: | CODE |
| LOW | litellm/router.py | 8147 | def _update_team_model_index(self, model: dict, idx: int) -> None: | CODE |
| LOW | litellm/vector_stores/__init__.py | 4 | __all__ = ["search", "asearch", "create", "acreate", "VectorStoreRegistry"] | 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/search.py | 16 | __all__ = ["SearchProvider", "SearchProviders"] | CODE |
| LOW | litellm/types/interactions/__init__.py | 77 | __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/google_genai/__init__.py | 8 | __all__ = [ | CODE |
| LOW | litellm/proxy/proxy_server.py | 3568 | def _set_redis_usage_cache(coordination_redis_cache: RedisCache | None) -> None: | CODE |
| LOW | litellm/proxy/utils.py | 4822 | async def _set_spend_logs_row_count_in_proxy_state(self) -> None: | STRING |
| LOW | litellm/proxy/health_check.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | litellm/proxy/rag_endpoints/__init__.py | 5 | __all__ = ["router"] | CODE |
| LOW | litellm/proxy/common_utils/performance_utils.py | 100 | 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 | 1363 | def update_in_memory_litellm_params(self, litellm_params: LitellmParams) -> None: | CODE |
| LOW | …lm/proxy/guardrails/guardrail_hooks/tool_permission.py | 123 | def update_in_memory_litellm_params(self, litellm_params: Union[LitellmParams, dict]) -> None: | CODE |
| LOW | …s/guardrail_hooks/panw_prisma_airs/panw_prisma_airs.py | 1463 | def _set_tool_call_arguments(tool_call, masked_text: str) -> None: | CODE |
| LOW | …uardrails/guardrail_hooks/cisco_ai_defense/__init__.py | 83 | __all__ = [ | CODE |
| LOW | …s/guardrail_hooks/custom_code/custom_code_guardrail.py | 373 | def update_custom_code(self, new_code: str) -> None: | CODE |
| LOW | …oxy/guardrails/guardrail_hooks/custom_code/__init__.py | 65 | __all__ = [ | CODE |
| LOW | …guardrail_hooks/custom_code/response_rejection_code.py | 73 | __all__ = [ | STRING |
| LOW | …ardrails/guardrail_hooks/unified_guardrail/__init__.py | 11 | __all__ = ["endpoint_translation_mappings"] | CODE |
| LOW | …lm/proxy/guardrails/guardrail_hooks/pillar/__init__.py | 66 | __all__ = [ | CODE |
| LOW | …ellm/proxy/guardrails/guardrail_hooks/pillar/pillar.py | 548 | def _set_bool_header(self, headers: Dict[str, str], header_name: str, value: Optional[bool]) -> None: | CODE |
| LOW | …proxy/guardrails/guardrail_hooks/enkryptai/__init__.py | 3 | __all__ = ["EnkryptAIGuardrails"] | CODE |
| LOW | …s/litellm_content_filter/competitor_intent/__init__.py | 16 | __all__ = [ | CODE |
| LOW | …rails/guardrail_hooks/block_code_execution/__init__.py | 88 | __all__ = [ | CODE |
| LOW | …/proxy/guardrails/guardrail_hooks/grayswan/__init__.py | 66 | __all__ = [ | CODE |
| LOW | …/guardrails/guardrail_hooks/mcp_jwt_signer/__init__.py | 78 | __all__ = [ | CODE |
| LOW | …/guardrails/guardrail_hooks/ibm_guardrails/__init__.py | 68 | __all__ = ["IBMGuardrailDetector", "initialize_guardrail"] | CODE |
| LOW | …/guardrails/guardrail_hooks/llm_as_a_judge/__init__.py | 279 | __all__ = [ | CODE |
| LOW | …ellm/proxy/_experimental/mcp_server/faults/__init__.py | 27 | __all__ = [ | CODE |
| LOW | …perimental/mcp_server/outbound_credentials/__init__.py | 46 | __all__ = [ | CODE |
| LOW | …erimental/mcp_server/guardrail_translation/__init__.py | 16 | __all__ = ["guardrail_translation_mappings", "MCPGuardrailTranslationHandler"] | CODE |
| LOW | litellm/proxy/auth/resolvers/__init__.py | 19 | __all__ = [ | CODE |
| 241 more matches not shown… | ||||
| 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 | 1027 | CODE | |
| LOW | …proxy/management_endpoints/key_management_endpoints.py | 42 | CODE | |
| LOW | tests/test_keys.py | 60 | CODE | |
| LOW | tests/test_users.py | 44 | CODE | |
| LOW | tests/otel_tests/test_e2e_model_access.py | 55 | CODE | |
| LOW | tests/otel_tests/test_e2e_budgeting.py | 82 | CODE | |
| LOW | …/llm_responses_api_testing/test_azure_responses_api.py | 133 | CODE | |
| LOW | …/llm_responses_api_testing/test_azure_responses_api.py | 236 | CODE | |
| LOW | …_through_unit_tests/test_websearch_interception_e2e.py | 945 | CODE | |
| LOW | tests/proxy_unit_tests/test_proxy_utils.py | 1593 | 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 | tests/test_litellm/test_video_generation.py | 883 | CODE | |
| LOW | tests/test_litellm/test_video_generation.py | 121 | CODE | |
| LOW | tests/test_litellm/test_video_generation.py | 709 | CODE | |
| LOW | …m/interactions/test_google_interactions_integration.py | 346 | CODE | |
| LOW | …drails/guardrail_hooks/_cisco_ai_defense_test_utils.py | 177 | CODE | |
| LOW | …rimental/mcp_server/auth/test_user_api_key_auth_mcp.py | 4909 | CODE | |
| LOW | …test_litellm/proxy/batches_endpoints/test_endpoints.py | 1338 | CODE | |
| LOW | …_litellm/proxy/policy_engine/test_policy_versioning.py | 22 | CODE | |
| LOW | …ellm/proxy/policy_engine/test_policy_versioning_e2e.py | 14 | CODE | |
| LOW | …xy/management_endpoints/test_access_group_endpoints.py | 27 | CODE | |
| LOW | …/test_litellm/responses/test_text_format_conversion.py | 95 | CODE | |
| LOW | tests/test_litellm/ocr/test_rust_bridge.py | 185 | CODE | |
| LOW | …s/github_copilot/test_github_copilot_transformation.py | 550 | CODE | |
| LOW | …ts/test_litellm/llms/databricks/test_databricks_e2e.py | 694 | CODE | |
| LOW | tests/e2e/quota_management/budgets/budget_client.py | 168 | CODE | |
| LOW | tests/batches_tests/test_bedrock_files_and_batches.py | 74 | CODE | |
| LOW | tests/local_testing/test_completion.py | 4308 | CODE | |
| LOW | tests/multi_instance_e2e_tests/test_update_team_e2e.py | 64 | CODE | |
| LOW | .github/scripts/triage_with_llm.py | 1181 | CODE | |
| LOW | litellm/cost_calculator.py | 296 | CODE | |
| LOW | litellm/cost_calculator.py | 1046 | CODE | |
| LOW | litellm/cost_calculator.py | 1108 | CODE | |
| LOW | litellm/cost_calculator.py | 1708 | CODE | |
| LOW | litellm/utils.py | 2093 | CODE | |
| LOW | litellm/utils.py | 2942 | CODE | |
| LOW | litellm/utils.py | 3753 | CODE | |
| LOW | litellm/exceptions.py | 426 | CODE | |
| LOW | litellm/router.py | 265 | CODE | |
| LOW | litellm/router.py | 3215 | CODE | |
| LOW | litellm/router.py | 4243 | CODE | |
| LOW | litellm/router.py | 4272 | CODE | |
| LOW | litellm/router.py | 6548 | CODE | |
| LOW | litellm/main.py | 406 | CODE | |
| LOW | litellm/main.py | 811 | CODE | |
| LOW | litellm/main.py | 4798 | CODE | |
| LOW | litellm/main.py | 5840 | CODE | |
| LOW | litellm/main.py | 5866 | CODE | |
| LOW | litellm/main.py | 5893 | CODE | |
| LOW | litellm/main.py | 7023 | CODE | |
| LOW | litellm/main.py | 7498 | CODE | |
| LOW | litellm/main.py | 7776 | CODE | |
| LOW | litellm/vector_stores/vector_store_registry.py | 444 | CODE | |
| LOW | litellm/vector_stores/main.py | 90 | CODE | |
| LOW | litellm/vector_stores/main.py | 154 | CODE | |
| LOW | litellm/vector_stores/main.py | 267 | CODE | |
| 310 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …hboard)/api-reference/_components/APIReferenceView.tsx | 66 | print(response)`} | CODE |
| HIGH | …hboard)/api-reference/_components/APIReferenceView.tsx | 100 | print(response)`} | CODE |
| HIGH | …hboard)/api-reference/_components/APIReferenceView.tsx | 131 | 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 | 128 | print(response)`; | CODE |
| HIGH | …/_components/prompt_editor_view/PromptCodeSnippets.tsx | 146 | print(response)`; | CODE |
| HIGH | …/_components/prompt_editor_view/PromptCodeSnippets.tsx | 160 | print(response)`; | CODE |
| HIGH | ui/litellm-dashboard/src/components/networking.tsx | 6529 | // if 404 - return None | COMMENT |
| HIGH | …/litellm-dashboard/src/components/public_model_hub.tsx | 1781 | print(response.model_dump(mode='json', exclude_none=True))`} | CODE |
| HIGH | …/litellm-dashboard/src/components/public_model_hub.tsx | 1805 | print(response.model_dump(mode='json', exclude_none=True))`; | CODE |
| HIGH⚡ | …/litellm-dashboard/src/components/public_model_hub.tsx | 1912 | print(f"Available tools: {[tool.name for tool in tools]}") | CODE |
| HIGH⚡ | …/litellm-dashboard/src/components/public_model_hub.tsx | 1919 | print(f"Response: {response}") | CODE |
| HIGH⚡ | …/litellm-dashboard/src/components/public_model_hub.tsx | 1952 | print(f"Available tools: {[tool.name for tool in tools]}") | CODE |
| HIGH⚡ | …/litellm-dashboard/src/components/public_model_hub.tsx | 1959 | print(f"Response: {response}") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 254 | print(f"Image saved to {image_path}") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 259 | print("Could not find image URL in response.") | 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 | 262 | print(f"An error occurred: {e}") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 263 | print("Full response:", json_response) | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 339 | print(f"Image saved to {image_filename}") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 344 | print("No image generated. Model response:") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 345 | print("\\n".join(text_response)) | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 347 | print("No image data found in response.") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 348 | print("Full response for debugging:") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 349 | print(response) | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 423 | print(f"Image saved to {image_filename}") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 428 | print("No image generated. Model response:") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 429 | print("\\n".join(text_response)) | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 431 | print("No image data found in response.") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 432 | print("Full response for debugging:") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 433 | print(response) | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 506 | print(f"Image saved to {image_filename}") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 511 | print("No image generated. Model response:") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 512 | print("\\n".join(text_response)) | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 514 | print("No image data found in response.") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 515 | print("Full response for debugging:") | CODE |
| HIGH⚡ | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 516 | print(response) | CODE |
| HIGH | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 132 | print(response) | CODE |
| HIGH | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 192 | print(response.output_text) | CODE |
| HIGH | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 528 | print(response.data[0].embedding) | CODE |
| HIGH | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 542 | print(response.text) | CODE |
| HIGH | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 557 | print(f"Audio saved to {output_filename}") | CODE |
| HIGH | …d/src/components/routing_groups/RoutingGroupsTable.tsx | 64 | print(response)`; | CODE |
| HIGH | …tellm-dashboard/src/components/AIHub/ModelHubTable.tsx | 709 | print(response.choices[0].message.content)`} | CODE |
| HIGH⚡ | …tellm-dashboard/src/components/AIHub/ModelHubTable.tsx | 1041 | print(f"Available tools: {[tool.name for tool in tools]}") | CODE |
| HIGH⚡ | …tellm-dashboard/src/components/AIHub/ModelHubTable.tsx | 1048 | print(f"Response: {response}") | CODE |
| 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 | 55 | // "Tags Below" approach which is robust and functional. | COMMENT |
| LOW | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 282 | # For this example, we'll just return a placeholder ID | COMMENT |
| LOW | …ellm-dashboard/src/components/chat_ui/CodeSnippets.tsx | 449 | # 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 | 2856 | "thinking": "Alright, let's get started with resolving this issue about implementing `__len__` f | CODE |
| MEDIUM⚡ | tests/llm_translation/test_bedrock_completion.py | 2856 | "thinking": "Alright, let's get started with resolving this issue about implementing `__len__` f | CODE |
| MEDIUM⚡ | tests/llm_translation/test_anthropic_completion.py | 1169 | "thinking": "Alright, let's get started with resolving this issue about implementing `__len__` f | CODE |
| MEDIUM⚡ | tests/llm_translation/test_anthropic_completion.py | 1169 | "thinking": "Alright, let's get started with resolving this issue about implementing `__len__` f | CODE |
| MEDIUM | …gement_endpoints/test_callback_management_endpoints.py | 122 | # Add string representations to different callback types to test comprehensive categorization | COMMENT |
| LOW | …/management_endpoints/test_key_management_endpoints.py | 5432 | # 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 | 799 | # _process_success — comprehensive happy-path | COMMENT |
| MEDIUM | …re_utils/llm_cost_calc/test_tool_call_cost_tracking.py | 606 | # 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 | …ts/test_litellm/llms/anthropic/batches/test_handler.py | 267 | # Await directly - robust under asyncio_mode=auto's session-scoped loop | COMMENT |
| LOW | …st_litellm/llms/custom_httpx/test_aiohttp_transport.py | 134 | # It should handle the error gracefully and just return what was received | COMMENT |
| MEDIUM | tests/test_litellm/batches/test_main.py | 42 | # Seam harness - one mock per provider handler instance + the Bedrock ARN | COMMENT |
| LOW | tests/local_testing/test_dual_cache.py | 51 | # 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 | 1474 | # Short-circuit: if body very clearly links a related issue, just pass. | COMMENT |
| LOW | litellm/constants.py | 924 | # 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 | 237 | # Step 3: If we've already imported it, just return the cached version | COMMENT |
| LOW⚡ | litellm/_lazy_imports.py | 270 | # Most of them just call _generic_lazy_import with their specific import map. | COMMENT |
| LOW⚡ | litellm/_lazy_imports.py | 343 | # If we've already imported it, just return the cached version | COMMENT |
| LOW | litellm/utils.py | 6790 | # do nothing, just return messages | COMMENT |
| LOW | litellm/utils.py | 6851 | except Exception as e: # [NON-Blocking, if error occurs just return final_messages | CODE |
| LOW | litellm/proxy/proxy_server.py | 4268 | ## 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 | 2989 | # 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 | 637 | # prefix check is robust under salt-key rotation; a decrypt-based | COMMENT |
| MEDIUM⚡ | litellm/proxy/common_utils/key_rotation_manager.py | 163 | # Create regenerate request with grace period for seamless cutover | COMMENT |
| LOW⚡ | litellm/proxy/guardrails/guardrail_hooks/presidio.py | 433 | # No need to build numbered tokens — just use Presidio's | COMMENT |
| LOW | …guardrail_hooks/unified_guardrail/unified_guardrail.py | 407 | # If call type not supported, just pass through all chunks | COMMENT |
| LOW | litellm/proxy/openai_files_endpoints/common_utils.py | 686 | # Extract target_storage (simplified - just use form parameter) | COMMENT |
| MEDIUM | …proxy/management_endpoints/key_management_endpoints.py | 4618 | # non-admin can't elevate via a key_type preset that the | COMMENT |
| MEDIUM | litellm/proxy/prompts/prompt_endpoints.py | 1177 | # Create PromptTemplate to leverage existing parameter extraction logic | COMMENT |
| MEDIUM | litellm/proxy/db/db_spend_update_writer.py | 1499 | # robust to future changes in the key format. | COMMENT |
| LOW | litellm/proxy/client/cli/interface.py | 23 | # If terminal is too small, just add some newlines to push content up | COMMENT |
| LOW | litellm/litellm_core_utils/safe_json_dumps.py | 25 | # Base-case: if it is a primitive, simply return it. | COMMENT |
| LOW | litellm/litellm_core_utils/streaming_handler.py | 529 | 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 | 110 | # rather than a list - nothing to filter, just pass through | COMMENT |
| LOW | litellm/llms/github_copilot/chat/transformation.py | 65 | # 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 | 514 | 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 | 915 | # 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/old_proxy_tests/tests/load_test_embedding.py | 68 | # Number of concurrent calls (you can adjust this) | COMMENT |
| MEDIUM | …sts/old_proxy_tests/tests/load_test_embedding_proxy.py | 68 | # Number of concurrent calls (you can adjust this) | COMMENT |
| MEDIUM | tests/llm_translation/test_openai.py | 853 | "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_azure_content_safety.py | 227 | mock_response="I'm unable to help with you with hate speech", | CODE |
| MEDIUM | tests/local_testing/test_azure_content_safety.py | 305 | mock_response="I'm unable to help with you with hate speech", | CODE |
| MEDIUM⚡ | tests/local_testing/test_basic_python_version.py | 40 | # 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 | 15276 | 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 | 779 | # This is a basic implementation - can be enhanced based on specific guardrail formats | COMMENT |
| MEDIUM | …guardrail_hooks/custom_code/response_rejection_code.py | 19 | "i'm unable to help", | CODE |
| MEDIUM | …guardrail_hooks/custom_code/response_rejection_code.py | 48 | "i'm unable to help", | CODE |
| LOW⚡ | litellm/integrations/SlackAlerting/slack_alerting.py | 1595 | # Also, don't forget to update the report_sent time after sending the report! | COMMENT |
| LOW⚡ | litellm/integrations/SlackAlerting/slack_alerting.py | 1595 | # Also, don't forget to update the report_sent time after sending the report! | COMMENT |
| LOW | litellm/llms/anthropic/chat/transformation.py | 622 | else: # use anthropic defaults and make sure to send the disable_parallel_tool_use flag | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/test_litellm/test_router.py | 1865 | CODE | |
| MEDIUM | …st_litellm/proxy/agent_endpoints/test_a2a_endpoints.py | 1215 | CODE | |
| MEDIUM | …/hooks/test_async_post_call_streaming_iterator_hook.py | 174 | CODE | |
| MEDIUM | …/pass_through_endpoints/test_pass_through_endpoints.py | 1279 | CODE | |
| MEDIUM | …/pass_through_endpoints/test_pass_through_endpoints.py | 1347 | CODE | |
| MEDIUM | …lm/responses/test_responses_websocket_all_providers.py | 242 | CODE | |
| MEDIUM | …lm/responses/test_responses_websocket_all_providers.py | 364 | CODE | |
| MEDIUM | …on_transformation/test_litellm_completion_responses.py | 2534 | CODE | |
| MEDIUM | …tellm/a2a_protocol/test_a2a_exception_mapping_utils.py | 128 | CODE | |
| MEDIUM | …st_litellm/a2a_protocol/test_a2a_streaming_iterator.py | 87 | CODE | |
| MEDIUM | …ental_pass_through/messages/test_streaming_iterator.py | 116 | 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 |
|---|---|---|---|---|
| LOW⚡ | ui/litellm-dashboard/e2e_tests/run_e2e.sh | 10 | # Usage: | COMMENT |
| LOW | tests/code_coverage_tests/recursive_detector.py | 121 | # Example 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 | 167 | # Usage example: | COMMENT |
| LOW | litellm/router_utils/pattern_match_deployments.py | 237 | # Example usage: | COMMENT |
| LOW | litellm/llms/vertex_ai/vertex_embeddings/types.py | 62 | # Example usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | tests/llm_translation/test_bedrock_completion.py | 2856 | "thinking": "Alright, let's get started with resolving this issue about implementing `__len__` f | CODE |
| HIGH⚡ | tests/llm_translation/test_anthropic_completion.py | 1169 | "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 | 622 | # Auto-generated code to execute skill | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/litellm_utils_tests/test_utils.py | 2071 | 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 | 175 | # TODO: Add caching for HTTP requests | COMMENT |