Guard openai-responses compression: skip Headroom when body.input contains non-message items (function_call, function_call_output, reasoning) to preserve the Responses contract instead of collapsing them into chat messages. Co-authored-by: Cursor <cursoragent@cursor.com>