mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-05 08:07:05 +00:00
* fix(spend_tracking): leave SpendLogs.session_id null when no client session id was established Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * chore(lint): ratchet basedpyright budget after session_id fix Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix(spend_tracking): ignore trace ids as session ids Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix(spend_tracking): gate null SpendLogs.session_id behind missing_session_id: omit Unset, generate and reject keep the legacy trace id fallback. omit records only metadata.session_id, the key Langfuse reads, so a trace id copied into litellm_session_id by get_litellm_params never becomes a session. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix(spend_tracking): stamp the omit decision on the request so a config reload cannot fabricate a session Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix(spend_tracking): keep omit covering requests the pre-call stamp never reaches Router-model provider pass-through calls allm_passthrough_route directly and skips add_litellm_data_to_request, so those requests never run the pre-call helper and carry no omit stamp. Reading only the stamp made POST /anthropic/v1/messages write a fabricated uuid into SpendLogs.session_id under missing_session_id: omit while its Langfuse trace had no session, the exact divergence the policy exists to remove. The stamp now only pins omit on, and an unstamped request falls back to the configured policy, so a config reload still cannot fabricate a session for a request that was decided pre-call. * fix(spend_tracking): make the session-omission marker proxy-owned so clients cannot forge it * fix(spend_tracking): strip the client-sent omission marker from both metadata buckets before they merge Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix(spend_tracking): strip the session-omission marker from both metadata buckets The pre-call policy ran before litellm_metadata is merged into metadata, so a client that planted the marker in litellm_metadata had it copied back into the route's own bucket after the strip and still got a null SpendLogs.session_id. --------- Co-authored-by: yassin <yassin@berri.ai> Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: mateo-berri <277851410+mateo-berri@users.noreply.github.com>
146 lines
2.4 KiB
JSON
146 lines
2.4 KiB
JSON
{
|
|
"reportAny": {
|
|
"limit": 14074
|
|
},
|
|
"reportArgumentType": {
|
|
"limit": 2215
|
|
},
|
|
"reportAssignmentType": {
|
|
"limit": 319
|
|
},
|
|
"reportAttributeAccessIssue": {
|
|
"limit": 480
|
|
},
|
|
"reportCallIssue": {
|
|
"limit": 112
|
|
},
|
|
"reportConstantRedefinition": {
|
|
"limit": 40
|
|
},
|
|
"reportDeprecated": {
|
|
"limit": 211
|
|
},
|
|
"reportDuplicateImport": {
|
|
"limit": 19
|
|
},
|
|
"reportExplicitAny": {
|
|
"limit": 4124
|
|
},
|
|
"reportFunctionMemberAccess": {
|
|
"limit": 7
|
|
},
|
|
"reportGeneralTypeIssues": {
|
|
"limit": 101
|
|
},
|
|
"reportIncompatibleMethodOverride": {
|
|
"limit": 56
|
|
},
|
|
"reportIncompatibleVariableOverride": {
|
|
"limit": 8
|
|
},
|
|
"reportInconsistentOverload": {
|
|
"limit": 12
|
|
},
|
|
"reportIndexIssue": {
|
|
"limit": 25
|
|
},
|
|
"reportInvalidTypeForm": {
|
|
"limit": 34
|
|
},
|
|
"reportInvalidTypeVarUse": {
|
|
"limit": 2
|
|
},
|
|
"reportMatchNotExhaustive": {
|
|
"limit": 0
|
|
},
|
|
"reportMissingParameterType": {
|
|
"limit": 5601
|
|
},
|
|
"reportMissingTypeArgument": {
|
|
"limit": 15287
|
|
},
|
|
"reportMissingTypeStubs": {
|
|
"limit": 40
|
|
},
|
|
"reportOperatorIssue": {
|
|
"limit": 0
|
|
},
|
|
"reportOptionalCall": {
|
|
"limit": 0
|
|
},
|
|
"reportOptionalIterable": {
|
|
"limit": 0
|
|
},
|
|
"reportOptionalMemberAccess": {
|
|
"limit": 0
|
|
},
|
|
"reportOptionalOperand": {
|
|
"limit": 0
|
|
},
|
|
"reportOptionalSubscript": {
|
|
"limit": 0
|
|
},
|
|
"reportPossiblyUnboundVariable": {
|
|
"limit": 56
|
|
},
|
|
"reportPrivateUsage": {
|
|
"limit": 1808
|
|
},
|
|
"reportRedeclaration": {
|
|
"limit": 8
|
|
},
|
|
"reportReturnType": {
|
|
"limit": 181
|
|
},
|
|
"reportTypedDictNotRequiredAccess": {
|
|
"limit": 24
|
|
},
|
|
"reportUndefinedVariable": {
|
|
"limit": 0
|
|
},
|
|
"reportUnknownArgumentType": {
|
|
"limit": 44362
|
|
},
|
|
"reportUnknownLambdaType": {
|
|
"limit": 109
|
|
},
|
|
"reportUnknownMemberType": {
|
|
"limit": 38323
|
|
},
|
|
"reportUnknownParameterType": {
|
|
"limit": 19624
|
|
},
|
|
"reportUnknownVariableType": {
|
|
"limit": 29861
|
|
},
|
|
"reportUnnecessaryCast": {
|
|
"limit": 111
|
|
},
|
|
"reportUnnecessaryComparison": {
|
|
"limit": 687
|
|
},
|
|
"reportUnnecessaryContains": {
|
|
"limit": 4
|
|
},
|
|
"reportUnnecessaryIsInstance": {
|
|
"limit": 819
|
|
},
|
|
"reportUntypedBaseClass": {
|
|
"limit": 0
|
|
},
|
|
"reportUntypedFunctionDecorator": {
|
|
"limit": 27
|
|
},
|
|
"reportUnusedClass": {
|
|
"limit": 21
|
|
},
|
|
"reportUnusedFunction": {
|
|
"limit": 138
|
|
},
|
|
"reportUnusedImport": {
|
|
"limit": 542
|
|
},
|
|
"reportUnusedVariable": {
|
|
"limit": 137
|
|
}
|
|
}
|