mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-15 23:31:29 +00:00
Maintainer finding on BerriAI/litellm#34940: guardrails for the same hook run sequentially over one shared, progressively-mutated request dict, so declaring a masking guardrail before a blocking one hides the violation from it (200 vs 400 depending purely on YAML order). scan_raw_request opts a guardrail into always evaluating a snapshot taken before any guardrail in the hook ran, regardless of its declared position. Same contract as run_in_parallel: block-only, its own mutations discarded. Verified live: real proxy, real Gemini call, two custom guardrails (a redactor then a blocker). Same request, same declared order -- without the flag the blocker never sees the raw secret (200); with it, the blocker correctly rejects before any provider call (400).
146 lines
2.4 KiB
JSON
146 lines
2.4 KiB
JSON
{
|
|
"reportAny": {
|
|
"limit": 18483
|
|
},
|
|
"reportArgumentType": {
|
|
"limit": 2561
|
|
},
|
|
"reportAssignmentType": {
|
|
"limit": 319
|
|
},
|
|
"reportAttributeAccessIssue": {
|
|
"limit": 480
|
|
},
|
|
"reportCallIssue": {
|
|
"limit": 113
|
|
},
|
|
"reportConstantRedefinition": {
|
|
"limit": 40
|
|
},
|
|
"reportDeprecated": {
|
|
"limit": 213
|
|
},
|
|
"reportDuplicateImport": {
|
|
"limit": 19
|
|
},
|
|
"reportExplicitAny": {
|
|
"limit": 5960
|
|
},
|
|
"reportFunctionMemberAccess": {
|
|
"limit": 7
|
|
},
|
|
"reportGeneralTypeIssues": {
|
|
"limit": 105
|
|
},
|
|
"reportIncompatibleMethodOverride": {
|
|
"limit": 56
|
|
},
|
|
"reportIncompatibleVariableOverride": {
|
|
"limit": 8
|
|
},
|
|
"reportInconsistentOverload": {
|
|
"limit": 12
|
|
},
|
|
"reportIndexIssue": {
|
|
"limit": 35
|
|
},
|
|
"reportInvalidTypeForm": {
|
|
"limit": 34
|
|
},
|
|
"reportInvalidTypeVarUse": {
|
|
"limit": 2
|
|
},
|
|
"reportMatchNotExhaustive": {
|
|
"limit": 0
|
|
},
|
|
"reportMissingParameterType": {
|
|
"limit": 5659
|
|
},
|
|
"reportMissingTypeArgument": {
|
|
"limit": 15484
|
|
},
|
|
"reportMissingTypeStubs": {
|
|
"limit": 40
|
|
},
|
|
"reportOperatorIssue": {
|
|
"limit": 0
|
|
},
|
|
"reportOptionalCall": {
|
|
"limit": 0
|
|
},
|
|
"reportOptionalIterable": {
|
|
"limit": 0
|
|
},
|
|
"reportOptionalMemberAccess": {
|
|
"limit": 1058
|
|
},
|
|
"reportOptionalOperand": {
|
|
"limit": 0
|
|
},
|
|
"reportOptionalSubscript": {
|
|
"limit": 0
|
|
},
|
|
"reportPossiblyUnboundVariable": {
|
|
"limit": 56
|
|
},
|
|
"reportPrivateUsage": {
|
|
"limit": 1808
|
|
},
|
|
"reportRedeclaration": {
|
|
"limit": 8
|
|
},
|
|
"reportReturnType": {
|
|
"limit": 213
|
|
},
|
|
"reportTypedDictNotRequiredAccess": {
|
|
"limit": 26
|
|
},
|
|
"reportUndefinedVariable": {
|
|
"limit": 0
|
|
},
|
|
"reportUnknownArgumentType": {
|
|
"limit": 44526
|
|
},
|
|
"reportUnknownLambdaType": {
|
|
"limit": 109
|
|
},
|
|
"reportUnknownMemberType": {
|
|
"limit": 38782
|
|
},
|
|
"reportUnknownParameterType": {
|
|
"limit": 19829
|
|
},
|
|
"reportUnknownVariableType": {
|
|
"limit": 30349
|
|
},
|
|
"reportUnnecessaryCast": {
|
|
"limit": 117
|
|
},
|
|
"reportUnnecessaryComparison": {
|
|
"limit": 697
|
|
},
|
|
"reportUnnecessaryContains": {
|
|
"limit": 5
|
|
},
|
|
"reportUnnecessaryIsInstance": {
|
|
"limit": 831
|
|
},
|
|
"reportUntypedBaseClass": {
|
|
"limit": 0
|
|
},
|
|
"reportUntypedFunctionDecorator": {
|
|
"limit": 27
|
|
},
|
|
"reportUnusedClass": {
|
|
"limit": 21
|
|
},
|
|
"reportUnusedFunction": {
|
|
"limit": 138
|
|
},
|
|
"reportUnusedImport": {
|
|
"limit": 544
|
|
},
|
|
"reportUnusedVariable": {
|
|
"limit": 145
|
|
}
|
|
}
|