Class: OpenAI::Models::Responses::ResponseSteerEvent

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

Instance Attribute Summary collapse

Attributes inherited from Internal::Type::BaseModel

#last_response

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(input:, previous_response_id:, type: :"response.steer") ⇒ Object

Queues user input to steer a response on this WebSocket connection. Input can contain text, images, and files. Steering is supported only for single-agent responses on models and execution modes that support steering. Responses bound to a conversation or using automatic compaction do not support steering.

A response.steer.accepted event acknowledges that the server owns the queued input, not that it has been applied. The successor's response.created event is the commit point. Input that cannot be committed is returned in response.steer.failed.

Steering may cause the active response to finish at a safe output boundary with response.incomplete and incomplete_details.reason set to steered, followed automatically by a successor response.created. Normal completion can also be followed by an automatic successor. Automatic successors inherit the previous response's settings and continue from it with the queued input.

If the response stops for client-owned tool output or approval, accepted steering input remains queued and response.steer.pending is emitted after response.completed. Fill the required_input stubs from that event with saved tool results or approval decisions, and send one explicit response.create per parent with the same previous_response_id and WebSocket lane. Do not rerun tools or resend accepted steering input. The queued input is prepended in submission order to that request's input, and the explicit request retains its own settings.

This event accepts only type, previous_response_id, and input. Do not send stream_id; the target response determines the WebSocket lane.

Parameters:

  • input (String, Array<Hash{Symbol=>Object}>)

    Input to queue for a continuation of the response. Uses the same string or input-item shape as response.create.input, with a non-empty array when supplying input items.

    Steering accepts only messages with the user role. Each message may contain only type, role, and content, with content as a string or an array of input_text, input_image, and input_file parts. The optional type must be message. Other roles, tool outputs, and item types are not supported for steering.

  • previous_response_id (String)

    The ID of the response to steer on this WebSocket connection.

  • type (Symbol, :"response.steer") (defaults to: :"response.steer")

    The event discriminator. Always response.steer.



# File 'lib/openai/models/responses/response_steer_event.rb', line 33

Instance Attribute Details

#inputString, Array<Hash{Symbol=>Object}>

Input to queue for a continuation of the response. Uses the same string or input-item shape as response.create.input, with a non-empty array when supplying input items.

Steering accepts only messages with the user role. Each message may contain only type, role, and content, with content as a string or an array of input_text, input_image, and input_file parts. The optional type must be message. Other roles, tool outputs, and item types are not supported for steering.

Parameters:

  • value (OpenAI::Models::Responses::response_steer_input)

Returns:

  • (String, Array<Hash{Symbol=>Object}>)


19
# File 'lib/openai/models/responses/response_steer_event.rb', line 19

required :input, union: -> { OpenAI::Responses::ResponseSteerInput }

#previous_response_idString

The ID of the response to steer on this WebSocket connection.

Parameters:

  • value (String)

Returns:

  • (String)


25
# File 'lib/openai/models/responses/response_steer_event.rb', line 25

required :previous_response_id, String

#typeSymbol, :"response.steer"

The event discriminator. Always response.steer.

Parameters:

  • value (:"response.steer")

Returns:

  • (Symbol, :"response.steer")


31
# File 'lib/openai/models/responses/response_steer_event.rb', line 31

required :type, const: :"response.steer"

Instance Method Details

#to_hash{

Returns:

  • ({)


24
# File 'sig/openai/models/responses/response_steer_event.rbs', line 24

def to_hash: -> {