feat: support auth attributes in inference/responses stores (#2389)

# What does this PR do?
Inference/Response stores now store user attributes when inserting, and
respects them when fetching.

## Test Plan
pytest tests/unit/utils/test_sqlstore.py
This commit is contained in:
ehhuang 2025-06-20 10:24:45 -07:00 committed by GitHub
parent 7930c524f9
commit d3b60507d7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 575 additions and 32 deletions

View file

@ -49,7 +49,7 @@ async def test_responses_store_pagination_basic():
"""Test basic pagination functionality for responses store."""
with TemporaryDirectory() as tmp_dir:
db_path = tmp_dir + "/test.db"
store = ResponsesStore(SqliteSqlStoreConfig(db_path=db_path))
store = ResponsesStore(SqliteSqlStoreConfig(db_path=db_path), policy=[])
await store.initialize()
# Create test data with different timestamps
@ -95,7 +95,7 @@ async def test_responses_store_pagination_ascending():
"""Test pagination with ascending order."""
with TemporaryDirectory() as tmp_dir:
db_path = tmp_dir + "/test.db"
store = ResponsesStore(SqliteSqlStoreConfig(db_path=db_path))
store = ResponsesStore(SqliteSqlStoreConfig(db_path=db_path), policy=[])
await store.initialize()
# Create test data
@ -130,7 +130,7 @@ async def test_responses_store_pagination_with_model_filter():
"""Test pagination combined with model filtering."""
with TemporaryDirectory() as tmp_dir:
db_path = tmp_dir + "/test.db"
store = ResponsesStore(SqliteSqlStoreConfig(db_path=db_path))
store = ResponsesStore(SqliteSqlStoreConfig(db_path=db_path), policy=[])
await store.initialize()
# Create test data with different models
@ -168,7 +168,7 @@ async def test_responses_store_pagination_invalid_after():
"""Test error handling for invalid 'after' parameter."""
with TemporaryDirectory() as tmp_dir:
db_path = tmp_dir + "/test.db"
store = ResponsesStore(SqliteSqlStoreConfig(db_path=db_path))
store = ResponsesStore(SqliteSqlStoreConfig(db_path=db_path), policy=[])
await store.initialize()
# Try to paginate with non-existent ID
@ -181,7 +181,7 @@ async def test_responses_store_pagination_no_limit():
"""Test pagination behavior when no limit is specified."""
with TemporaryDirectory() as tmp_dir:
db_path = tmp_dir + "/test.db"
store = ResponsesStore(SqliteSqlStoreConfig(db_path=db_path))
store = ResponsesStore(SqliteSqlStoreConfig(db_path=db_path), policy=[])
await store.initialize()
# Create test data
@ -210,7 +210,7 @@ async def test_responses_store_get_response_object():
"""Test retrieving a single response object."""
with TemporaryDirectory() as tmp_dir:
db_path = tmp_dir + "/test.db"
store = ResponsesStore(SqliteSqlStoreConfig(db_path=db_path))
store = ResponsesStore(SqliteSqlStoreConfig(db_path=db_path), policy=[])
await store.initialize()
# Store a test response
@ -235,7 +235,7 @@ async def test_responses_store_input_items_pagination():
"""Test pagination functionality for input items."""
with TemporaryDirectory() as tmp_dir:
db_path = tmp_dir + "/test.db"
store = ResponsesStore(SqliteSqlStoreConfig(db_path=db_path))
store = ResponsesStore(SqliteSqlStoreConfig(db_path=db_path), policy=[])
await store.initialize()
# Store a test response with many inputs with explicit IDs
@ -313,7 +313,7 @@ async def test_responses_store_input_items_before_pagination():
"""Test before pagination functionality for input items."""
with TemporaryDirectory() as tmp_dir:
db_path = tmp_dir + "/test.db"
store = ResponsesStore(SqliteSqlStoreConfig(db_path=db_path))
store = ResponsesStore(SqliteSqlStoreConfig(db_path=db_path), policy=[])
await store.initialize()
# Store a test response with many inputs with explicit IDs