Files
codex e192ae7cd8
PR and Push Build/Test / build-and-test (push) Successful in 14m17s
fix: support LiteLLM Responses streaming
2026-07-27 14:44:32 +02:00

2.7 KiB

ADDED Requirements

Requirement: Summary agents tolerate Responses event streams and malformed tool arguments

Meeting Assistant SHALL consume successful summary-agent Responses results through the supported OpenAI Responses and Agent Framework Server-Sent Events adapter.

When a Responses event stream delivers completed output items separately from the final response metadata, Meeting Assistant SHALL assemble those output items into one agent response while preserving final response metadata and usage.

Meeting Assistant SHALL provide an agent setting that selects streaming or non-streaming Responses transport. Streaming SHALL be enabled by default. When streaming is disabled, Meeting Assistant SHALL use the supported non-streaming OpenAI Responses client and adapter.

When a returned function call contains arguments that are not a valid JSON object, Meeting Assistant SHALL NOT invoke the requested function and SHALL return an invalid-tool-arguments result associated with the original call ID to the agent so it can correct the call.

When Meeting Assistant translates chat messages into a Responses request, every message input item SHALL retain the message item discriminator required by the OpenAI SDK and Responses API.

Scenario: Streamed text response is assembled

  • WHEN the configured Responses endpoint returns completed message output in Server-Sent Events followed by final response metadata
  • THEN the summary agent receives the completed message text, response metadata, and usage without a JSON document parse failure

Scenario: Streamed function call is assembled

  • WHEN the configured Responses endpoint returns a completed function-call output item in Server-Sent Events
  • THEN the summary agent receives the function call with its call ID, function name, and parsed arguments

Scenario: Streaming transport can be disabled

  • WHEN MeetingAssistant:Agent:UseStreaming is false
  • THEN the summary agent requests a non-streaming Responses result
  • AND converts the response through the supported OpenAI Responses adapter

Scenario: Chat message input remains a Responses message

  • WHEN the summary agent sends a user or assistant chat message through the Responses client
  • THEN the outbound Responses input item has type message
  • AND the request does not contain an unknown input item type

Scenario: Malformed function arguments are returned to the agent

  • WHEN the model returns a function call whose arguments are not a valid JSON object
  • THEN Meeting Assistant does not invoke the requested function
  • AND sends a function result with an invalid-tool-arguments error for the original call ID back to the agent
  • AND allows the agent loop to continue