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:



204
205
206
207
208
209
# File 'lib/openai/resources/beta/agents.rb', line 204

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

#environmentsOpenAI::Resources::Beta::Agents::Environments (readonly)



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

def environments
  @environments
end

#sessionsOpenAI::Resources::Beta::Agents::Sessions (readonly)



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

def sessions
  @sessions
end

#vaultsOpenAI::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:



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

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:



191
192
193
194
195
196
197
198
199
# File 'lib/openai/resources/beta/agents.rb', line 191

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:



164
165
166
167
168
169
170
171
172
173
174
175
176
# File 'lib/openai/resources/beta/agents.rb', line 164

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:



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

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:



133
134
135
136
137
138
139
140
141
142
143
# File 'lib/openai/resources/beta/agents.rb', line 133

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