Class: OpenAI::Resources::Beta::Agents

Inherits:
Object
  • Object
show all
Defined in:
lib/openai/resources/beta/agents.rb,
lib/openai/resources/beta/agents/vaults.rb,
lib/openai/resources/beta/agents/sessions.rb,
lib/openai/resources/beta/agents/environments.rb,
lib/openai/resources/beta/agents/sessions/items.rb,
lib/openai/resources/beta/agents/sessions/turns.rb,
lib/openai/resources/beta/agents/sessions/events.rb,
lib/openai/resources/beta/agents/environments/files.rb,
lib/openai/resources/beta/agents/sessions/artifacts.rb,
lib/openai/resources/beta/agents/sessions/subagents.rb,
lib/openai/resources/beta/agents/vaults/credentials.rb,
lib/openai/resources/beta/agents/environments/templates.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/helpers/agents.rbs,
sig/openai/resources/beta/agents.rbs,
sig/openai/resources/beta/agents/vaults.rbs,
sig/openai/resources/beta/agents/sessions.rbs,
sig/openai/resources/beta/agents/environments.rbs,
sig/openai/resources/beta/agents/sessions/items.rbs,
sig/openai/resources/beta/agents/sessions/turns.rbs,
sig/openai/resources/beta/agents/sessions/events.rbs,
sig/openai/resources/beta/agents/environments/files.rbs,
sig/openai/resources/beta/agents/sessions/artifacts.rbs,
sig/openai/resources/beta/agents/sessions/subagents.rbs,
sig/openai/resources/beta/agents/vaults/credentials.rbs,
sig/openai/resources/beta/agents/environments/templates.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: Environments, Sessions, Vaults

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Agents

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

Parameters:



207
208
209
210
211
212
# File 'lib/openai/resources/beta/agents.rb', line 207

def initialize(client:)
  @client = client
  @environments = OpenAI::Resources::Beta::Agents::Environments.new(client: client)
  @vaults = OpenAI::Resources::Beta::Agents::Vaults.new(client: client)
  @sessions = OpenAI::Resources::Beta::Agents::Sessions.new(client: client)
end

Instance Attribute Details

#environments ⇒ OpenAI::Resources::Beta::Agents::Environments (readonly)



8
9
10
# File 'lib/openai/resources/beta/agents.rb', line 8

def environments
  @environments
end

#sessions ⇒ OpenAI::Resources::Beta::Agents::Sessions (readonly)



14
15
16
# File 'lib/openai/resources/beta/agents.rb', line 14

def sessions
  @sessions
end

#vaults ⇒ OpenAI::Resources::Beta::Agents::Vaults (readonly)



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

def vaults
  @vaults
end

Instance Method Details

#create(model:, instructions: nil, metadata: nil, multi_agent: nil, name: nil, reasoning: nil, service_tier: nil, text: nil, tools: nil, request_options: {}) ⇒ OpenAI::Models::Beta::Agent

Creates a reusable agent without storing credentials. See agent configuration.

Parameters:

Returns:

See Also:



57
58
59
60
61
62
63
64
65
66
67
# File 'lib/openai/resources/beta/agents.rb', line 57

def create(params)
  parsed, options = OpenAI::Beta::AgentCreateParams.dump_request(params)
  @client.request(
    method: :post,
    path: "agents",
    body: parsed,
    model: OpenAI::Beta::Agent,
    security: {bearer_auth: true},
    options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
  )
end

#delete(agent_id, request_options: {}) ⇒ OpenAI::Models::Beta::AgentDeleted

Deletes a reusable agent. See agent configuration.

Parameters:

  • agent_id (String) —

    The ID of the reusable agent.

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

Returns:

See Also:



194
195
196
197
198
199
200
201
202
# File 'lib/openai/resources/beta/agents.rb', line 194

def delete(agent_id, params = {})
  @client.request(
    method: :delete,
    path: ["agents/%1$s", agent_id],
    model: OpenAI::Beta::AgentDeleted,
    security: {bearer_auth: true},
    options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **params[:request_options].to_h}
  )
end

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

Lists reusable agents in the current project. See agent configuration.

Parameters:

  • after (String) —

    Return resources after this resource ID in the selected order.

  • limit (Integer, nil) —

    The maximum number of resources to return.

  • order (Symbol, OpenAI::Models::Beta::AgentListParams::Order) —

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

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

Returns:

See Also:



167
168
169
170
171
172
173
174
175
176
177
178
179
# File 'lib/openai/resources/beta/agents.rb', line 167

def list(params = {})
  parsed, options = OpenAI::Beta::AgentListParams.dump_request(params)
  query = OpenAI::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :get,
    path: "agents",
    query: query,
    page: OpenAI::Internal::CursorPage,
    model: OpenAI::Beta::Agent,
    security: {bearer_auth: true},
    options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
  )
end

#retrieve(agent_id, request_options: {}) ⇒ OpenAI::Models::Beta::Agent

Retrieves a reusable agent by ID. See agent configuration.

Parameters:

  • agent_id (String) —

    The ID of the reusable agent.

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

Returns:

See Also:



82
83
84
85
86
87
88
89
90
# File 'lib/openai/resources/beta/agents.rb', line 82

def retrieve(agent_id, params = {})
  @client.request(
    method: :get,
    path: ["agents/%1$s", agent_id],
    model: OpenAI::Beta::Agent,
    security: {bearer_auth: true},
    options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **params[:request_options].to_h}
  )
end

#update(agent_id, instructions: nil, metadata: nil, model: nil, multi_agent: nil, name: nil, reasoning: nil, service_tier: nil, text: nil, tools: nil, request_options: {}) ⇒ OpenAI::Models::Beta::Agent

Updates a reusable agent. See agent configuration.

Parameters:

Returns:

See Also:



136
137
138
139
140
141
142
143
144
145
146
# File 'lib/openai/resources/beta/agents.rb', line 136

def update(agent_id, params = {})
  parsed, options = OpenAI::Beta::AgentUpdateParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["agents/%1$s", agent_id],
    body: parsed,
    model: OpenAI::Beta::Agent,
    security: {bearer_auth: true},
    options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
  )
end