Class: OpenAI::Resources::Beta::Agents::Sessions::Subagents::Turns

Inherits:
Object
  • Object
show all
Defined in:
lib/openai/resources/beta/agents/sessions/subagents/turns.rb,
lib/openai/resources/beta/agents/sessions/subagents/turns/items.rb,
sig/openai/resources/beta/agents/sessions/subagents/turns.rbs,
sig/openai/resources/beta/agents/sessions/subagents/turns/items.rbs

Defined Under Namespace

Classes: Items

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Turns

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of Turns.

Parameters:



98
99
100
101
# File 'lib/openai/resources/beta/agents/sessions/subagents/turns.rb', line 98

def initialize(client:)
  @client = client
  @items = OpenAI::Resources::Beta::Agents::Sessions::Subagents::Turns::Items.new(client: client)
end

Instance Attribute Details

#itemsOpenAI::Resources::Beta::Agents::Sessions::Subagents::Turns::Items (readonly)



11
12
13
# File 'lib/openai/resources/beta/agents/sessions/subagents/turns.rb', line 11

def items
  @items
end

Instance Method Details

#list(subagent_id, session_id:, after: nil, limit: nil, order: nil, request_options: {}) ⇒ OpenAI::Internal::CursorPage<OpenAI::Models::Beta::Agents::Sessions::Turn>

Lists all turns of this subagent, including turns after a resume. See subagent workflows.

Parameters:

  • subagent_id (String)

    Path param: The ID of the subagent in this session.

  • session_id (String)

    Path param: The ID of the session.

  • after (String)

    Query param: Return resources after this resource ID in the selected order.

  • limit (Integer)

    Query param: The maximum number of resources to return, between 1 and 100. Defaults to 20.

  • order (Symbol, OpenAI::Models::Beta::Agents::Sessions::Subagents::TurnListParams::Order)

    Query param: The order in which resources are returned. Defaults to desc.

  • request_options (OpenAI::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# File 'lib/openai/resources/beta/agents/sessions/subagents/turns.rb', line 77

def list(subagent_id, params)
  parsed, options = OpenAI::Beta::Agents::Sessions::Subagents::TurnListParams.dump_request(params)
  session_id = parsed.delete(:session_id) do
    raise ArgumentError.new("missing required path argument #{_1}")
  end

  query = OpenAI::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :get,
    path: ["agents/sessions/%1$s/subagents/%2$s/turns", session_id, subagent_id],
    query: query,
    page: OpenAI::Internal::CursorPage,
    model: OpenAI::Beta::Agents::Sessions::Turn,
    security: {bearer_auth: true},
    options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
  )
end

#retrieve(turn_id, session_id:, subagent_id:, request_options: {}) ⇒ OpenAI::Models::Beta::Agents::Sessions::Turn

Retrieves a turn belonging to this subagent. See subagent workflows.

Parameters:

  • turn_id (String)

    The ID of a turn belonging to this subagent.

  • session_id (String)

    The ID of the session.

  • subagent_id (String)

    The ID of the subagent in this session.

  • request_options (OpenAI::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/openai/resources/beta/agents/sessions/subagents/turns.rb', line 32

def retrieve(turn_id, params)
  parsed, options = OpenAI::Beta::Agents::Sessions::Subagents::TurnRetrieveParams.dump_request(params)
  session_id = parsed.delete(:session_id) do
    raise ArgumentError.new("missing required path argument #{_1}")
  end

  subagent_id = parsed.delete(:subagent_id) do
    raise ArgumentError.new("missing required path argument #{_1}")
  end

  @client.request(
    method: :get,
    path: ["agents/sessions/%1$s/subagents/%2$s/turns/%3$s", session_id, subagent_id, turn_id],
    model: OpenAI::Beta::Agents::Sessions::Turn,
    security: {bearer_auth: true},
    options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
  )
end