fix: support LiteLLM Responses streaming
PR and Push Build/Test / build-and-test (push) Successful in 14m17s

This commit is contained in:
2026-07-27 14:44:32 +02:00
parent 3cadf08fa2
commit e192ae7cd8
16 changed files with 682 additions and 541 deletions
@@ -0,0 +1,26 @@
## Why
The configured LiteLLM Responses endpoint can return successful responses as Server-Sent Events even when the request sets `stream: false`. Meeting Assistant currently treats every successful body as one JSON document, and it also lets malformed function-call argument JSON escape as a fatal parse exception, so either condition can abort an otherwise recoverable summary run.
## What Changes
- Consume the configured LiteLLM Responses endpoint through the supported OpenAI Responses streaming transport and Agent Framework adapter.
- Assemble completed response output items and usage metadata from Responses SSE events before returning them through the existing non-streaming chat-client interface.
- Add an agent setting that selects streaming or non-streaming Responses transport, with streaming enabled by default.
- Preserve valid Responses item discriminators when translating agent messages through the OpenAI SDK request model.
- Treat malformed function-call arguments as invalid tool input that is returned to the agent for correction without invoking the tool or terminating the summary run.
- Add behavior tests for streamed text, streamed function calls, and invalid function-call arguments.
## Capabilities
### New Capabilities
- None.
### Modified Capabilities
- `meeting-summary`: Make the existing Responses-based summary pipeline interoperable with SSE responses and resilient to malformed tool-call input.
## Impact
The change affects agent configuration, the custom LiteLLM Responses chat client, its summary-agent integration, and focused tests. It does not change the public HTTP API.