diff --git a/llama_stack/providers/utils/responses/responses_store.py b/llama_stack/providers/utils/responses/responses_store.py index 1b1cb66d4..ea6db7991 100644 --- a/llama_stack/providers/utils/responses/responses_store.py +++ b/llama_stack/providers/utils/responses/responses_store.py @@ -116,7 +116,7 @@ class ResponsesStore: return OpenAIResponseObjectWithInput(**row["response_object"]) async def delete_response_object(self, response_id: str) -> OpenAIDeleteResponseObject: - row = await self.sql_store.fetch_one("openai_responses", where={"id": response_id}) + row = await self.sql_store.fetch_one("openai_responses", where={"id": response_id}, policy=self.policy) if not row: raise ValueError(f"Response with id {response_id} not found") await self.sql_store.delete("openai_responses", where={"id": response_id}) diff --git a/llama_stack/providers/utils/sqlstore/authorized_sqlstore.py b/llama_stack/providers/utils/sqlstore/authorized_sqlstore.py index 520c8203b..65401382f 100644 --- a/llama_stack/providers/utils/sqlstore/authorized_sqlstore.py +++ b/llama_stack/providers/utils/sqlstore/authorized_sqlstore.py @@ -166,6 +166,10 @@ class AuthorizedSqlStore: return results.data[0] if results.data else None + async def delete(self, table: str, where: Mapping[str, Any]) -> None: + """Delete rows with automatic access control filtering.""" + await self.sql_store.delete(table, where) + def _build_access_control_where_clause(self, policy: list[AccessRule]) -> str: """Build SQL WHERE clause for access control filtering.