-record(response, { background :: gleam@option:option(boolean()), billing :: gleam@option:option(glopenai@response:billing()), conversation :: gleam@option:option(glopenai@response:conversation()), created_at :: integer(), completed_at :: gleam@option:option(integer()), error :: gleam@option:option(glopenai@response:error_object()), id :: binary(), incomplete_details :: gleam@option:option(glopenai@response:incomplete_details()), instructions :: gleam@option:option(glopenai@response:instructions()), max_output_tokens :: gleam@option:option(integer()), metadata :: gleam@option:option(gleam@dict:dict(binary(), binary())), model :: binary(), object :: binary(), output :: list(glopenai@response:output_item()), parallel_tool_calls :: gleam@option:option(boolean()), previous_response_id :: gleam@option:option(binary()), prompt :: gleam@option:option(glopenai@response:prompt()), prompt_cache_key :: gleam@option:option(binary()), prompt_cache_retention :: gleam@option:option(glopenai@response:prompt_cache_retention()), reasoning :: gleam@option:option(glopenai@response:reasoning()), safety_identifier :: gleam@option:option(binary()), service_tier :: gleam@option:option(glopenai@response:service_tier()), status :: glopenai@response:response_status(), temperature :: gleam@option:option(float()), text :: gleam@option:option(glopenai@response:response_text_param()), tool_choice :: gleam@option:option(glopenai@response:tool_choice_param()), tools :: gleam@option:option(list(glopenai@response:tool())), top_logprobs :: gleam@option:option(integer()), top_p :: gleam@option:option(float()), truncation :: gleam@option:option(glopenai@response:truncation()), usage :: gleam@option:option(glopenai@shared:response_usage()) }).