-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
🚀 Describe the new functionality needed
Support include on /responses/{id}/input_items, or reject unsupported values before the storage layer. The endpoint already accepts include, but list_response_input_items(..., include=...) still raises NotImplementedError when it is set.
The main work here is to decide the supported include subset for stored input-item readback, implement that behavior, and align schema, validation, and tests with the final contract.
For reference, OpenAI docs list these include values on the Responses / Conversations item-style surfaces:
file_search_call.resultsweb_search_call.resultsweb_search_call.action.sourcesmessage.input_image.image_urlcomputer_call_output.output.image_urlcode_interpreter_call.outputsreasoning.encrypted_contentmessage.output_text.logprobs
Current llama-stack exposes these values in ResponseItemInclude:
file_search_call.resultsweb_search_call.action.sourcesmessage.input_image.image_urlcomputer_call_output.output.image_urlcode_interpreter_call.outputsreasoning.encrypted_contentmessage.output_text.logprobs
💡 Why is this needed? What if we don't build it?
This keeps stored retrieval aligned with the exposed Responses surface and avoids a late failure on an accepted parameter. If we do not build this, clients can send include to the endpoint and still hit NotImplementedError, which makes the retrieval contract harder to rely on.
Other thoughts
Worth checking chained responses too, since previous_response_id can pull prior response output into later input state. This may also be a good place to decide whether /responses/{id}/input_items should support the full documented set, a smaller supported subset, or a narrowed contract.