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

Inherits:
Object
  • Object
show all
Defined in:
lib/openai/resources/beta/agents/sessions/subagents.rb,
lib/openai/resources/beta/agents/sessions/subagents/items.rb,
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.rbs,
sig/openai/resources/beta/agents/sessions/subagents/items.rbs,
sig/openai/resources/beta/agents/sessions/subagents/turns.rbs,
sig/openai/resources/beta/agents/sessions/subagents/turns/items.rbs

Defined Under Namespace

Classes: Items, Turns

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Subagents

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 Subagents.

Parameters:



85
86
87
88
89
# File 'lib/openai/resources/beta/agents/sessions/subagents.rb', line 85

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

Instance Attribute Details

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



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

def items
  @items
end

#turnsOpenAI::Resources::Beta::Agents::Sessions::Subagents::Turns (readonly)



13
14
15
# File 'lib/openai/resources/beta/agents/sessions/subagents.rb', line 13

def turns
  @turns
end

Instance Method Details

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

Lists subagents in a session, including nested and closed subagents. See subagent workflows.

Parameters:

  • session_id (String)

    The ID of the session.

  • after (String)

    Return resources after this resource ID in the selected order.

  • limit (Integer)

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

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

    The order in which resources are returned. Defaults to desc.

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

Returns:

See Also:



68
69
70
71
72
73
74
75
76
77
78
79
80
# File 'lib/openai/resources/beta/agents/sessions/subagents.rb', line 68

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

#retrieve(subagent_id, session_id:, request_options: {}) ⇒ OpenAI::Models::Beta::Subagent

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

Parameters:

  • subagent_id (String)

    The ID of the subagent in this session.

  • session_id (String)

    The ID of the session.

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

Returns:

See Also:



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

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

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