feat(lasso): send source.type=litellm for Used By attribution

This commit is contained in:
Or Gershoni 2026-06-03 10:36:41 +03:00
parent d45e9e4d56
commit f0f411cb3c
2 changed files with 10 additions and 1 deletions

View file

@ -829,7 +829,13 @@ class LassoGuardrail(CustomGuardrail):
data: Request data (used for conversation_id generation and tools extraction)
cache: Cache instance for storing conversation_id (optional for post-call)
"""
payload: Dict[str, Any] = {"messages": messages, "messageType": message_type}
payload: Dict[str, Any] = {
"messages": messages,
"messageType": message_type,
# Drives the "Used By" badge on Lasso Application API Keys: every call from this
# integration is attributed as "litellm" on the keys list.
"source": {"type": "litellm"},
}
# Add optional parameters if available
if self.user_id:

View file

@ -693,6 +693,8 @@ class TestLassoGuardrail:
assert prompt_payload["messages"] == messages
assert prompt_payload["userId"] == "test-user"
assert prompt_payload["sessionId"] == "test-conversation"
# Every call is attributed to the "litellm" integration for the "Used By" badge.
assert prompt_payload["source"] == {"type": "litellm"}
# Test COMPLETION payload
completion_messages = [{"role": "assistant", "content": "Test response"}]
@ -703,6 +705,7 @@ class TestLassoGuardrail:
assert completion_payload["messages"] == completion_messages
assert completion_payload["userId"] == "test-user"
assert completion_payload["sessionId"] == "test-conversation"
assert completion_payload["source"] == {"type": "litellm"}
def test_header_preparation(self):
"""Test header preparation."""