Class: OpenAI::Models::Conversations::Message

Inherits:
Internal::Type::BaseModel show all
Defined in:
lib/openai/models/conversations/message.rb,
sig/openai/models/conversations/message.rbs

Defined Under Namespace

Modules: Content, Phase, Role, Status

Instance Attribute Summary collapse

Attributes inherited from Internal::Type::BaseModel

#last_response

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Internal::Type::BaseModel

==, #==, #[], #_request_id, #_set_last_response, coerce, #deconstruct_keys, #deep_to_h, dump, #encode_with, fields, hash, #hash, inherited, #inspect, inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml

Methods included from Internal::Type::Converter

#coerce, coerce, coerce_with_error, dump, #dump, #inspect, inspect, meta_info, new_coerce_state, type_info

Methods included from Internal::Util::SorbetRuntimeSupport

#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type

Constructor Details

#initialize(text:, type: :reasoning_text) ⇒ Object

Parameters:

  • id —

    The unique ID of the message.

  • content —

    The content of the message

  • role —

    The role of the message. One of unknown, user, assistant, system, critic, discriminator, developer, or tool.

  • status —

    The status of item. One of in_progress, completed, or incomplete. Populated when items are returned via API.

  • phase —

    Labels an assistant message as intermediate commentary (commentary) or the final answer (final_answer). For models like gpt-5.3-codex and beyond, when sending follow-up requests, preserve and resend phase on all assistant messages — dropping it can degrade performance. Not used for user messages.

  • type (defaults to: :reasoning_text) —

    The type of the message. Always set to message.



# File 'lib/openai/models/conversations/message.rb', line 48

Instance Attribute Details

#content ⇒ ::Array[OpenAI::Models::Conversations::Message::content]

The content of the message

Returns:

  • (::Array[OpenAI::Models::Conversations::Message::content])


17
# File 'lib/openai/models/conversations/message.rb', line 17

required :content, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Conversations::Message::Content] }

#id ⇒ String

The unique ID of the message.

Returns:

  • (String)


11
# File 'lib/openai/models/conversations/message.rb', line 11

required :id, String

#phase ⇒ OpenAI::Models::Conversations::Message::phase?

Labels an assistant message as intermediate commentary (commentary) or the final answer (final_answer). For models like gpt-5.3-codex and beyond, when sending follow-up requests, preserve and resend phase on all assistant messages — dropping it can degrade performance. Not used for user messages.

Returns:

  • (OpenAI::Models::Conversations::Message::phase, nil)


46
# File 'lib/openai/models/conversations/message.rb', line 46

optional :phase, enum: -> { OpenAI::Conversations::Message::Phase }, nil?: true

#role ⇒ OpenAI::Models::Conversations::Message::role

The role of the message. One of unknown, user, assistant, system, critic, discriminator, developer, or tool.

Returns:

  • (OpenAI::Models::Conversations::Message::role)


24
# File 'lib/openai/models/conversations/message.rb', line 24

required :role, enum: -> { OpenAI::Conversations::Message::Role }

#status ⇒ OpenAI::Models::Conversations::Message::status

The status of item. One of in_progress, completed, or incomplete. Populated when items are returned via API.

Returns:

  • (OpenAI::Models::Conversations::Message::status)


31
# File 'lib/openai/models/conversations/message.rb', line 31

required :status, enum: -> { OpenAI::Conversations::Message::Status }

#type ⇒ :message

The type of the message. Always set to message.

Returns:

  • (:message)


37
# File 'lib/openai/models/conversations/message.rb', line 37

required :type, const: :message

Class Method Details

.values ⇒ Array<Symbol>

Returns:

  • (Array<Symbol>)


# File 'lib/openai/models/conversations/message.rb', line 150

Instance Method Details

#to_hash ⇒ {

Returns:

  • ({)


64
# File 'sig/openai/models/conversations/message.rbs', line 64

def to_hash: -> {