diff --git a/src/app/endpoints/query.py b/src/app/endpoints/query.py index 709998ae..e91b8afd 100644 --- a/src/app/endpoints/query.py +++ b/src/app/endpoints/query.py @@ -439,8 +439,8 @@ async def query_endpoint_handler_base( # pylint: disable=R0914 response = QueryResponse( conversation_id=conversation_id, response=summary.llm_response, - tool_calls=summary.tool_calls if summary.tool_calls else None, - tool_results=summary.tool_results if summary.tool_results else None, + tool_calls=summary.tool_calls, + tool_results=summary.tool_results, referenced_documents=referenced_documents, truncated=False, # TODO: implement truncation detection input_tokens=token_usage.input_tokens, diff --git a/src/app/endpoints/query_v2.py b/src/app/endpoints/query_v2.py index ec14c2c4..1ce31ac6 100644 --- a/src/app/endpoints/query_v2.py +++ b/src/app/endpoints/query_v2.py @@ -93,7 +93,6 @@ def _build_tool_call_summary( # pylint: disable=too-many-return-statements,too- Args: output_item: An OpenAIResponseOutput item from the response.output array rag_chunks: List to append extracted RAG chunks to (from file_search_call items) - Returns: A tuple of (ToolCallSummary, ToolResultSummary) one of them possibly None if current llama stack Responses API does not provide the information. diff --git a/src/models/responses.py b/src/models/responses.py index 44036234..9b005131 100644 --- a/src/models/responses.py +++ b/src/models/responses.py @@ -408,13 +408,13 @@ class QueryResponse(AbstractSuccessfulResponse): examples=[{"daily": 1000, "monthly": 50000}], ) - tool_calls: Optional[list[ToolCallSummary]] = Field( - None, + tool_calls: list[ToolCallSummary] = Field( + default_factory=list, description="List of tool calls made during response generation", ) - tool_results: Optional[list[ToolResultSummary]] = Field( - None, + tool_results: list[ToolResultSummary] = Field( + default_factory=list, description="List of tool results", ) diff --git a/tests/unit/models/responses/test_successful_responses.py b/tests/unit/models/responses/test_successful_responses.py index 880b8c49..7e4a6366 100644 --- a/tests/unit/models/responses/test_successful_responses.py +++ b/tests/unit/models/responses/test_successful_responses.py @@ -268,8 +268,8 @@ def test_constructor_minimal(self) -> None: assert isinstance(response_obj, AbstractSuccessfulResponse) assert response_obj.response == "Test response" assert response_obj.conversation_id is None - assert response_obj.tool_calls is None - assert response_obj.tool_results is None + assert response_obj.tool_calls == [] + assert response_obj.tool_results == [] assert response_obj.referenced_documents == [] assert response_obj.truncated is False assert response_obj.input_tokens == 0