openai 0.101.1 → 0.103.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/README.md +1 -1
  4. data/lib/openai/models/beta/agent_session_environment_expired_event.rb +57 -0
  5. data/lib/openai/models/beta/agent_session_environment_state.rb +6 -0
  6. data/lib/openai/models/beta/agent_session_environment_suspended_event.rb +57 -0
  7. data/lib/openai/models/beta/agent_session_event.rb +7 -1
  8. data/lib/openai/models/beta/agents/environment_create_params.rb +300 -0
  9. data/lib/openai/models/beta/agents/environment_info.rb +7 -1
  10. data/lib/openai/models/beta/agents/environment_list_params.rb +78 -0
  11. data/lib/openai/models/beta/environment_param.rb +12 -1
  12. data/lib/openai/models/webhooks/agent_environment_expired_webhook_event.rb +72 -0
  13. data/lib/openai/models/webhooks/agent_environment_failed_webhook_event.rb +73 -0
  14. data/lib/openai/models/webhooks/agent_environment_ready_webhook_event.rb +73 -0
  15. data/lib/openai/models/webhooks/agent_environment_suspended_webhook_event.rb +72 -0
  16. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +14 -3
  17. data/lib/openai/models/webhooks/webhook_create_params.rb +4 -0
  18. data/lib/openai/models/webhooks/webhook_test_params.rb +4 -0
  19. data/lib/openai/models/webhooks/webhook_update_params.rb +4 -0
  20. data/lib/openai/resources/beta/agents/environments/files.rb +4 -2
  21. data/lib/openai/resources/beta/agents/environments/templates.rb +10 -5
  22. data/lib/openai/resources/beta/agents/environments.rb +80 -1
  23. data/lib/openai/resources/beta/agents/sessions/artifacts.rb +8 -5
  24. data/lib/openai/resources/beta/agents/sessions/events.rb +11 -5
  25. data/lib/openai/resources/beta/agents/sessions/items.rb +2 -1
  26. data/lib/openai/resources/beta/agents/sessions/subagents/items.rb +2 -1
  27. data/lib/openai/resources/beta/agents/sessions/subagents/turns/items.rb +2 -1
  28. data/lib/openai/resources/beta/agents/sessions/subagents/turns.rb +4 -2
  29. data/lib/openai/resources/beta/agents/sessions/subagents.rb +4 -2
  30. data/lib/openai/resources/beta/agents/sessions/traces.rb +2 -1
  31. data/lib/openai/resources/beta/agents/sessions/turns/items.rb +2 -1
  32. data/lib/openai/resources/beta/agents/sessions/turns.rb +4 -2
  33. data/lib/openai/resources/beta/agents/sessions.rb +16 -7
  34. data/lib/openai/resources/beta/agents/vaults/credentials.rb +10 -5
  35. data/lib/openai/resources/beta/agents/vaults.rb +8 -4
  36. data/lib/openai/resources/beta/agents.rb +10 -5
  37. data/lib/openai/resources/beta/assistants.rb +10 -5
  38. data/lib/openai/resources/beta/chatkit/sessions.rb +4 -2
  39. data/lib/openai/resources/beta/chatkit/threads.rb +8 -4
  40. data/lib/openai/resources/beta/threads/messages.rb +10 -5
  41. data/lib/openai/resources/beta/threads/runs/steps.rb +4 -2
  42. data/lib/openai/resources/beta/threads/runs.rb +24 -10
  43. data/lib/openai/resources/beta/threads.rb +16 -7
  44. data/lib/openai/resources/vector_stores/file_batches.rb +8 -10
  45. data/lib/openai/resources/vector_stores/files.rb +12 -12
  46. data/lib/openai/resources/vector_stores.rb +12 -6
  47. data/lib/openai/resources/webhooks.rb +1 -1
  48. data/lib/openai/version.rb +1 -1
  49. data/lib/openai.rb +8 -0
  50. data/rbi/openai/models/beta/agent_session_environment_expired_event.rbi +95 -0
  51. data/rbi/openai/models/beta/agent_session_environment_state.rbi +6 -0
  52. data/rbi/openai/models/beta/agent_session_environment_suspended_event.rbi +95 -0
  53. data/rbi/openai/models/beta/agent_session_event.rbi +2 -0
  54. data/rbi/openai/models/beta/agents/environment_create_params.rbi +499 -0
  55. data/rbi/openai/models/beta/agents/environment_info.rbi +6 -0
  56. data/rbi/openai/models/beta/agents/environment_list_params.rbi +136 -0
  57. data/rbi/openai/models/beta/environment_param.rbi +15 -0
  58. data/rbi/openai/models/webhooks/agent_environment_expired_webhook_event.rbi +133 -0
  59. data/rbi/openai/models/webhooks/agent_environment_failed_webhook_event.rbi +134 -0
  60. data/rbi/openai/models/webhooks/agent_environment_ready_webhook_event.rbi +134 -0
  61. data/rbi/openai/models/webhooks/agent_environment_suspended_webhook_event.rbi +133 -0
  62. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +5 -2
  63. data/rbi/openai/models/webhooks/webhook_create_params.rbi +16 -0
  64. data/rbi/openai/models/webhooks/webhook_test_params.rbi +16 -0
  65. data/rbi/openai/models/webhooks/webhook_update_params.rbi +16 -0
  66. data/rbi/openai/resources/beta/agents/environments.rbi +53 -0
  67. data/rbi/openai/resources/webhooks.rbi +4 -0
  68. data/sig/openai/models/beta/agent_session_environment_expired_event.rbs +57 -0
  69. data/sig/openai/models/beta/agent_session_environment_state.rbs +14 -1
  70. data/sig/openai/models/beta/agent_session_environment_suspended_event.rbs +57 -0
  71. data/sig/openai/models/beta/agent_session_event.rbs +2 -0
  72. data/sig/openai/models/beta/agents/environment_create_params.rbs +268 -0
  73. data/sig/openai/models/beta/agents/environment_info.rbs +15 -1
  74. data/sig/openai/models/beta/agents/environment_list_params.rbs +97 -0
  75. data/sig/openai/models/beta/environment_param.rbs +14 -0
  76. data/sig/openai/models/webhooks/agent_environment_expired_webhook_event.rbs +70 -0
  77. data/sig/openai/models/webhooks/agent_environment_failed_webhook_event.rbs +70 -0
  78. data/sig/openai/models/webhooks/agent_environment_ready_webhook_event.rbs +70 -0
  79. data/sig/openai/models/webhooks/agent_environment_suspended_webhook_event.rbs +70 -0
  80. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +5 -1
  81. data/sig/openai/models/webhooks/webhook_create_params.rbs +8 -0
  82. data/sig/openai/models/webhooks/webhook_test_params.rbs +8 -0
  83. data/sig/openai/models/webhooks/webhook_update_params.rbs +8 -0
  84. data/sig/openai/resources/beta/agents/environments.rbs +15 -0
  85. data/sig/openai/resources/webhooks.rbs +5 -1
  86. metadata +25 -1
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Webhooks
6
+ class AgentEnvironmentExpiredWebhookEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # The unique ID of the event.
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute created_at
14
+ # The Unix timestamp, in seconds, when the event was created.
15
+ #
16
+ # @return [Integer]
17
+ required :created_at, Integer
18
+
19
+ # @!attribute data
20
+ # Identifies the environment whose lifecycle changed.
21
+ #
22
+ # @return [OpenAI::Models::Webhooks::AgentEnvironmentExpiredWebhookEvent::Data]
23
+ required :data, -> { OpenAI::Webhooks::AgentEnvironmentExpiredWebhookEvent::Data }
24
+
25
+ # @!attribute object
26
+ # The object type. Always `event`.
27
+ #
28
+ # @return [Symbol, :event]
29
+ required :object, const: :event
30
+
31
+ # @!attribute type
32
+ # The event type. Always `agent.environment.expired`.
33
+ #
34
+ # @return [Symbol, :"agent.environment.expired"]
35
+ required :type, const: :"agent.environment.expired"
36
+
37
+ # @!method initialize(id:, created_at:, data:, object: :event, type: :"agent.environment.expired")
38
+ # Sent when an agent environment expires and can no longer resume from a snapshot.
39
+ #
40
+ # @param id [String]
41
+ # The unique ID of the event.
42
+ #
43
+ # @param created_at [Integer]
44
+ # The Unix timestamp, in seconds, when the event was created.
45
+ #
46
+ # @param data [OpenAI::Models::Webhooks::AgentEnvironmentExpiredWebhookEvent::Data]
47
+ # Identifies the environment whose lifecycle changed.
48
+ #
49
+ # @param object [Symbol, :event]
50
+ # The object type. Always `event`.
51
+ #
52
+ # @param type [Symbol, :"agent.environment.expired"]
53
+ # The event type. Always `agent.environment.expired`.
54
+
55
+ # @see OpenAI::Models::Webhooks::AgentEnvironmentExpiredWebhookEvent#data
56
+ class Data < OpenAI::Internal::Type::BaseModel
57
+ # @!attribute id
58
+ # The ID of the environment.
59
+ #
60
+ # @return [String]
61
+ required :id, String
62
+
63
+ # @!method initialize(id:)
64
+ # Identifies the environment whose lifecycle changed.
65
+ #
66
+ # @param id [String]
67
+ # The ID of the environment.
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,73 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Webhooks
6
+ class AgentEnvironmentFailedWebhookEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # The unique ID of the event.
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute created_at
14
+ # The Unix timestamp, in seconds, when the event was created.
15
+ #
16
+ # @return [Integer]
17
+ required :created_at, Integer
18
+
19
+ # @!attribute data
20
+ # Identifies the environment whose lifecycle changed.
21
+ #
22
+ # @return [OpenAI::Models::Webhooks::AgentEnvironmentFailedWebhookEvent::Data]
23
+ required :data, -> { OpenAI::Webhooks::AgentEnvironmentFailedWebhookEvent::Data }
24
+
25
+ # @!attribute object
26
+ # The object type. Always `event`.
27
+ #
28
+ # @return [Symbol, :event]
29
+ required :object, const: :event
30
+
31
+ # @!attribute type
32
+ # The event type. Always `agent.environment.failed`.
33
+ #
34
+ # @return [Symbol, :"agent.environment.failed"]
35
+ required :type, const: :"agent.environment.failed"
36
+
37
+ # @!method initialize(id:, created_at:, data:, object: :event, type: :"agent.environment.failed")
38
+ # Sent when setup fails for a prewarmed OpenAI-hosted environment before it is
39
+ # attached to a session.
40
+ #
41
+ # @param id [String]
42
+ # The unique ID of the event.
43
+ #
44
+ # @param created_at [Integer]
45
+ # The Unix timestamp, in seconds, when the event was created.
46
+ #
47
+ # @param data [OpenAI::Models::Webhooks::AgentEnvironmentFailedWebhookEvent::Data]
48
+ # Identifies the environment whose lifecycle changed.
49
+ #
50
+ # @param object [Symbol, :event]
51
+ # The object type. Always `event`.
52
+ #
53
+ # @param type [Symbol, :"agent.environment.failed"]
54
+ # The event type. Always `agent.environment.failed`.
55
+
56
+ # @see OpenAI::Models::Webhooks::AgentEnvironmentFailedWebhookEvent#data
57
+ class Data < OpenAI::Internal::Type::BaseModel
58
+ # @!attribute id
59
+ # The ID of the environment.
60
+ #
61
+ # @return [String]
62
+ required :id, String
63
+
64
+ # @!method initialize(id:)
65
+ # Identifies the environment whose lifecycle changed.
66
+ #
67
+ # @param id [String]
68
+ # The ID of the environment.
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,73 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Webhooks
6
+ class AgentEnvironmentReadyWebhookEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # The unique ID of the event.
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute created_at
14
+ # The Unix timestamp, in seconds, when the event was created.
15
+ #
16
+ # @return [Integer]
17
+ required :created_at, Integer
18
+
19
+ # @!attribute data
20
+ # Identifies the environment whose lifecycle changed.
21
+ #
22
+ # @return [OpenAI::Models::Webhooks::AgentEnvironmentReadyWebhookEvent::Data]
23
+ required :data, -> { OpenAI::Webhooks::AgentEnvironmentReadyWebhookEvent::Data }
24
+
25
+ # @!attribute object
26
+ # The object type. Always `event`.
27
+ #
28
+ # @return [Symbol, :event]
29
+ required :object, const: :event
30
+
31
+ # @!attribute type
32
+ # The event type. Always `agent.environment.ready`.
33
+ #
34
+ # @return [Symbol, :"agent.environment.ready"]
35
+ required :type, const: :"agent.environment.ready"
36
+
37
+ # @!method initialize(id:, created_at:, data:, object: :event, type: :"agent.environment.ready")
38
+ # Sent when a prewarmed OpenAI-hosted environment finishes setup before being
39
+ # attached to a session.
40
+ #
41
+ # @param id [String]
42
+ # The unique ID of the event.
43
+ #
44
+ # @param created_at [Integer]
45
+ # The Unix timestamp, in seconds, when the event was created.
46
+ #
47
+ # @param data [OpenAI::Models::Webhooks::AgentEnvironmentReadyWebhookEvent::Data]
48
+ # Identifies the environment whose lifecycle changed.
49
+ #
50
+ # @param object [Symbol, :event]
51
+ # The object type. Always `event`.
52
+ #
53
+ # @param type [Symbol, :"agent.environment.ready"]
54
+ # The event type. Always `agent.environment.ready`.
55
+
56
+ # @see OpenAI::Models::Webhooks::AgentEnvironmentReadyWebhookEvent#data
57
+ class Data < OpenAI::Internal::Type::BaseModel
58
+ # @!attribute id
59
+ # The ID of the environment.
60
+ #
61
+ # @return [String]
62
+ required :id, String
63
+
64
+ # @!method initialize(id:)
65
+ # Identifies the environment whose lifecycle changed.
66
+ #
67
+ # @param id [String]
68
+ # The ID of the environment.
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Webhooks
6
+ class AgentEnvironmentSuspendedWebhookEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # The unique ID of the event.
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute created_at
14
+ # The Unix timestamp, in seconds, when the event was created.
15
+ #
16
+ # @return [Integer]
17
+ required :created_at, Integer
18
+
19
+ # @!attribute data
20
+ # Identifies the environment whose lifecycle changed.
21
+ #
22
+ # @return [OpenAI::Models::Webhooks::AgentEnvironmentSuspendedWebhookEvent::Data]
23
+ required :data, -> { OpenAI::Webhooks::AgentEnvironmentSuspendedWebhookEvent::Data }
24
+
25
+ # @!attribute object
26
+ # The object type. Always `event`.
27
+ #
28
+ # @return [Symbol, :event]
29
+ required :object, const: :event
30
+
31
+ # @!attribute type
32
+ # The event type. Always `agent.environment.suspended`.
33
+ #
34
+ # @return [Symbol, :"agent.environment.suspended"]
35
+ required :type, const: :"agent.environment.suspended"
36
+
37
+ # @!method initialize(id:, created_at:, data:, object: :event, type: :"agent.environment.suspended")
38
+ # Sent when an agent environment is suspended and can resume from a snapshot.
39
+ #
40
+ # @param id [String]
41
+ # The unique ID of the event.
42
+ #
43
+ # @param created_at [Integer]
44
+ # The Unix timestamp, in seconds, when the event was created.
45
+ #
46
+ # @param data [OpenAI::Models::Webhooks::AgentEnvironmentSuspendedWebhookEvent::Data]
47
+ # Identifies the environment whose lifecycle changed.
48
+ #
49
+ # @param object [Symbol, :event]
50
+ # The object type. Always `event`.
51
+ #
52
+ # @param type [Symbol, :"agent.environment.suspended"]
53
+ # The event type. Always `agent.environment.suspended`.
54
+
55
+ # @see OpenAI::Models::Webhooks::AgentEnvironmentSuspendedWebhookEvent#data
56
+ class Data < OpenAI::Internal::Type::BaseModel
57
+ # @!attribute id
58
+ # The ID of the environment.
59
+ #
60
+ # @return [String]
61
+ required :id, String
62
+
63
+ # @!method initialize(id:)
64
+ # Identifies the environment whose lifecycle changed.
65
+ #
66
+ # @param id [String]
67
+ # The ID of the environment.
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
@@ -3,13 +3,24 @@
3
3
  module OpenAI
4
4
  module Models
5
5
  module Webhooks
6
- # Sent when an agent session requires an action. Retrieve the session for action
7
- # details.
6
+ # Sent when an agent environment expires and can no longer resume from a snapshot.
8
7
  module UnwrapWebhookEvent
9
8
  extend OpenAI::Internal::Type::Union
10
9
 
11
10
  discriminator :type
12
11
 
12
+ # Sent when an agent environment expires and can no longer resume from a snapshot.
13
+ variant :"agent.environment.expired", -> { OpenAI::Webhooks::AgentEnvironmentExpiredWebhookEvent }
14
+
15
+ # Sent when an agent environment is suspended and can resume from a snapshot.
16
+ variant :"agent.environment.suspended", -> { OpenAI::Webhooks::AgentEnvironmentSuspendedWebhookEvent }
17
+
18
+ # Sent when setup fails for a prewarmed OpenAI-hosted environment before it is attached to a session.
19
+ variant :"agent.environment.failed", -> { OpenAI::Webhooks::AgentEnvironmentFailedWebhookEvent }
20
+
21
+ # Sent when a prewarmed OpenAI-hosted environment finishes setup before being attached to a session.
22
+ variant :"agent.environment.ready", -> { OpenAI::Webhooks::AgentEnvironmentReadyWebhookEvent }
23
+
13
24
  # Sent when an agent session requires an action. Retrieve the session for action details.
14
25
  variant :"agent.session.action_required", -> { OpenAI::Webhooks::AgentSessionActionRequiredWebhookEvent }
15
26
 
@@ -97,7 +108,7 @@ module OpenAI
97
108
  variant :"safety.warning_issued", -> { OpenAI::Webhooks::SafetyWarningIssuedWebhookEvent }
98
109
 
99
110
  # @!method self.variants
100
- # @return [Array(OpenAI::Models::Webhooks::AgentSessionActionRequiredWebhookEvent, OpenAI::Models::Webhooks::AgentSessionCreatedWebhookEvent, OpenAI::Models::Webhooks::AgentSessionFailedWebhookEvent, OpenAI::Models::Webhooks::AgentSessionIdleWebhookEvent, OpenAI::Models::Webhooks::AgentSessionInProgressWebhookEvent, OpenAI::Models::Webhooks::BatchCancelledWebhookEvent, OpenAI::Models::Webhooks::BatchCompletedWebhookEvent, OpenAI::Models::Webhooks::BatchExpiredWebhookEvent, OpenAI::Models::Webhooks::BatchFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunCanceledWebhookEvent, OpenAI::Models::Webhooks::EvalRunFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunSucceededWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobCancelledWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobFailedWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobSucceededWebhookEvent, OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent, OpenAI::Models::Webhooks::LiveTransportIncomingWebhookEvent, OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent, OpenAI::Models::Webhooks::ResponseCancelledWebhookEvent, OpenAI::Models::Webhooks::ResponseCompletedWebhookEvent, OpenAI::Models::Webhooks::ResponseFailedWebhookEvent, OpenAI::Models::Webhooks::ResponseIncompleteWebhookEvent, OpenAI::Models::Webhooks::SafetyAlertCreatedWebhookEvent, OpenAI::Models::Webhooks::SafetyDeactivationIssuedWebhookEvent, OpenAI::Models::Webhooks::SafetyOrgAlertCreatedWebhookEvent, OpenAI::Models::Webhooks::SafetyWarningIssuedWebhookEvent)]
111
+ # @return [Array(OpenAI::Models::Webhooks::AgentEnvironmentExpiredWebhookEvent, OpenAI::Models::Webhooks::AgentEnvironmentSuspendedWebhookEvent, OpenAI::Models::Webhooks::AgentEnvironmentFailedWebhookEvent, OpenAI::Models::Webhooks::AgentEnvironmentReadyWebhookEvent, OpenAI::Models::Webhooks::AgentSessionActionRequiredWebhookEvent, OpenAI::Models::Webhooks::AgentSessionCreatedWebhookEvent, OpenAI::Models::Webhooks::AgentSessionFailedWebhookEvent, OpenAI::Models::Webhooks::AgentSessionIdleWebhookEvent, OpenAI::Models::Webhooks::AgentSessionInProgressWebhookEvent, OpenAI::Models::Webhooks::BatchCancelledWebhookEvent, OpenAI::Models::Webhooks::BatchCompletedWebhookEvent, OpenAI::Models::Webhooks::BatchExpiredWebhookEvent, OpenAI::Models::Webhooks::BatchFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunCanceledWebhookEvent, OpenAI::Models::Webhooks::EvalRunFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunSucceededWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobCancelledWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobFailedWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobSucceededWebhookEvent, OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent, OpenAI::Models::Webhooks::LiveTransportIncomingWebhookEvent, OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent, OpenAI::Models::Webhooks::ResponseCancelledWebhookEvent, OpenAI::Models::Webhooks::ResponseCompletedWebhookEvent, OpenAI::Models::Webhooks::ResponseFailedWebhookEvent, OpenAI::Models::Webhooks::ResponseIncompleteWebhookEvent, OpenAI::Models::Webhooks::SafetyAlertCreatedWebhookEvent, OpenAI::Models::Webhooks::SafetyDeactivationIssuedWebhookEvent, OpenAI::Models::Webhooks::SafetyOrgAlertCreatedWebhookEvent, OpenAI::Models::Webhooks::SafetyWarningIssuedWebhookEvent)]
101
112
  end
102
113
  end
103
114
  end
@@ -62,6 +62,10 @@ module OpenAI
62
62
  REALTIME_CALL_INCOMING = :"realtime.call.incoming"
63
63
  VIDEO_COMPLETED = :"video.completed"
64
64
  VIDEO_FAILED = :"video.failed"
65
+ AGENT_ENVIRONMENT_READY = :"agent.environment.ready"
66
+ AGENT_ENVIRONMENT_FAILED = :"agent.environment.failed"
67
+ AGENT_ENVIRONMENT_SUSPENDED = :"agent.environment.suspended"
68
+ AGENT_ENVIRONMENT_EXPIRED = :"agent.environment.expired"
65
69
  AGENT_SESSION_CREATED = :"agent.session.created"
66
70
  AGENT_SESSION_ACTION_REQUIRED = :"agent.session.action_required"
67
71
  AGENT_SESSION_IN_PROGRESS = :"agent.session.in_progress"
@@ -48,6 +48,10 @@ module OpenAI
48
48
  REALTIME_CALL_INCOMING = :"realtime.call.incoming"
49
49
  VIDEO_COMPLETED = :"video.completed"
50
50
  VIDEO_FAILED = :"video.failed"
51
+ AGENT_ENVIRONMENT_READY = :"agent.environment.ready"
52
+ AGENT_ENVIRONMENT_FAILED = :"agent.environment.failed"
53
+ AGENT_ENVIRONMENT_SUSPENDED = :"agent.environment.suspended"
54
+ AGENT_ENVIRONMENT_EXPIRED = :"agent.environment.expired"
51
55
  AGENT_SESSION_CREATED = :"agent.session.created"
52
56
  AGENT_SESSION_ACTION_REQUIRED = :"agent.session.action_required"
53
57
  AGENT_SESSION_IN_PROGRESS = :"agent.session.in_progress"
@@ -69,6 +69,10 @@ module OpenAI
69
69
  REALTIME_CALL_INCOMING = :"realtime.call.incoming"
70
70
  VIDEO_COMPLETED = :"video.completed"
71
71
  VIDEO_FAILED = :"video.failed"
72
+ AGENT_ENVIRONMENT_READY = :"agent.environment.ready"
73
+ AGENT_ENVIRONMENT_FAILED = :"agent.environment.failed"
74
+ AGENT_ENVIRONMENT_SUSPENDED = :"agent.environment.suspended"
75
+ AGENT_ENVIRONMENT_EXPIRED = :"agent.environment.expired"
72
76
  AGENT_SESSION_CREATED = :"agent.session.created"
73
77
  AGENT_SESSION_ACTION_REQUIRED = :"agent.session.action_required"
74
78
  AGENT_SESSION_IN_PROGRESS = :"agent.session.in_progress"
@@ -59,10 +59,11 @@ module OpenAI
59
59
  @client.request(
60
60
  method: :post,
61
61
  path: ["agents/environments/%1$s/files", environment_id],
62
+ headers: {"openai-beta" => "agents=v1"},
62
63
  body: parsed[:hosted_environment_file_param],
63
64
  model: OpenAI::Beta::Agents::Environments::EnvironmentFile,
64
65
  security: {bearer_auth: true},
65
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
66
+ options: options
66
67
  )
67
68
  end
68
69
 
@@ -99,10 +100,11 @@ module OpenAI
99
100
  method: :get,
100
101
  path: ["agents/environments/%1$s/files", environment_id],
101
102
  query: query,
103
+ headers: {"openai-beta" => "agents=v1"},
102
104
  page: OpenAI::Internal::TokenPage,
103
105
  model: OpenAI::Beta::Agents::Environments::EnvironmentFile,
104
106
  security: {bearer_auth: true},
105
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
107
+ options: options
106
108
  )
107
109
  end
108
110
 
@@ -56,10 +56,11 @@ module OpenAI
56
56
  @client.request(
57
57
  method: :post,
58
58
  path: "agents/environments/templates",
59
+ headers: {"openai-beta" => "agents=v1"},
59
60
  body: parsed,
60
61
  model: OpenAI::Beta::Agents::Environments::EnvironmentTemplate,
61
62
  security: {bearer_auth: true},
62
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
63
+ options: options
63
64
  )
64
65
  end
65
66
 
@@ -81,9 +82,10 @@ module OpenAI
81
82
  @client.request(
82
83
  method: :get,
83
84
  path: ["agents/environments/templates/%1$s", environment_template_id],
85
+ headers: {"openai-beta" => "agents=v1"},
84
86
  model: OpenAI::Beta::Agents::Environments::EnvironmentTemplate,
85
87
  security: {bearer_auth: true},
86
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **params[:request_options].to_h}
88
+ options: params[:request_options]
87
89
  )
88
90
  end
89
91
 
@@ -137,10 +139,11 @@ module OpenAI
137
139
  @client.request(
138
140
  method: :post,
139
141
  path: ["agents/environments/templates/%1$s", environment_template_id],
142
+ headers: {"openai-beta" => "agents=v1"},
140
143
  body: parsed,
141
144
  model: OpenAI::Beta::Agents::Environments::EnvironmentTemplate,
142
145
  security: {bearer_auth: true},
143
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
146
+ options: options
144
147
  )
145
148
  end
146
149
 
@@ -170,10 +173,11 @@ module OpenAI
170
173
  method: :get,
171
174
  path: "agents/environments/templates",
172
175
  query: query,
176
+ headers: {"openai-beta" => "agents=v1"},
173
177
  page: OpenAI::Internal::CursorPage,
174
178
  model: OpenAI::Beta::Agents::Environments::EnvironmentTemplate,
175
179
  security: {bearer_auth: true},
176
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
180
+ options: options
177
181
  )
178
182
  end
179
183
 
@@ -195,9 +199,10 @@ module OpenAI
195
199
  @client.request(
196
200
  method: :delete,
197
201
  path: ["agents/environments/templates/%1$s", environment_template_id],
202
+ headers: {"openai-beta" => "agents=v1"},
198
203
  model: OpenAI::Beta::Agents::Environments::EnvironmentTemplateDeleted,
199
204
  security: {bearer_auth: true},
200
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **params[:request_options].to_h}
205
+ options: params[:request_options]
201
206
  )
202
207
  end
203
208
 
@@ -11,6 +11,47 @@ module OpenAI
11
11
  # @return [OpenAI::Resources::Beta::Agents::Environments::Templates]
12
12
  attr_reader :templates
13
13
 
14
+ # Creates an OpenAI-hosted environment before creating a session. Requires access
15
+ # to the prewarming beta.
16
+ #
17
+ # @overload create(environment:, vault_ids: nil, idempotency_key: nil, request_options: {})
18
+ #
19
+ # @param environment [OpenAI::Models::Beta::Agents::EnvironmentCreateParams::Environment]
20
+ # Body param: The required hosting type and its configuration.
21
+ #
22
+ # @param vault_ids [Array<String>, nil]
23
+ # Body param: The IDs of up to 10 vaults made available to an OpenAI-hosted
24
+ # environment.
25
+ #
26
+ # @param idempotency_key [String]
27
+ # Header param: Deduplicates creation for 24 hours within the authenticated
28
+ # organization, project, and creator. Retry the same JSON parameters with the same
29
+ # key to retrieve the original environment in its current state. Different
30
+ # parameters or an incomplete hosted creation return 409. Deleted environments are
31
+ # not recreated. After retention expires, the key may create a new environment.
32
+ # Without this header, each request creates a new environment.
33
+ #
34
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
35
+ #
36
+ # @return [OpenAI::Models::Beta::Agents::EnvironmentInfo]
37
+ #
38
+ # @see OpenAI::Models::Beta::Agents::EnvironmentCreateParams
39
+ def create(params)
40
+ parsed, options = OpenAI::Beta::Agents::EnvironmentCreateParams.dump_request(params)
41
+ header_params = {idempotency_key: "idempotency-key"}
42
+ @client.request(
43
+ method: :post,
44
+ path: "agents/environments",
45
+ headers: {"openai-beta" => "agents=v1"}.merge(
46
+ parsed.slice(*header_params.keys).transform_keys(header_params)
47
+ ),
48
+ body: parsed.except(*header_params.keys),
49
+ model: OpenAI::Beta::Agents::EnvironmentInfo,
50
+ security: {bearer_auth: true},
51
+ options: options
52
+ )
53
+ end
54
+
14
55
  # Retrieves an execution environment's connection status and safe installed
15
56
  # metadata. See
16
57
  # [environment lifecycle](https://developers.openai.com/api/docs/guides/agents-api/environments/lifecycle).
@@ -29,9 +70,47 @@ module OpenAI
29
70
  @client.request(
30
71
  method: :get,
31
72
  path: ["agents/environments/%1$s", environment_id],
73
+ headers: {"openai-beta" => "agents=v1"},
74
+ model: OpenAI::Beta::Agents::EnvironmentInfo,
75
+ security: {bearer_auth: true},
76
+ options: params[:request_options]
77
+ )
78
+ end
79
+
80
+ # Lists OpenAI-hosted environments owned by the authenticated principal. Requires
81
+ # access to the prewarming beta.
82
+ #
83
+ # @overload list(after: nil, limit: nil, order: nil, type: nil, request_options: {})
84
+ #
85
+ # @param after [String]
86
+ # Return environments after this environment ID in the selected order.
87
+ #
88
+ # @param limit [Integer]
89
+ # The maximum number of environments to return, between 1 and 100. Defaults to 20.
90
+ #
91
+ # @param order [Symbol, OpenAI::Models::Beta::Agents::EnvironmentListParams::Order]
92
+ # The order in which environments are returned. Defaults to `desc`.
93
+ #
94
+ # @param type [Symbol, OpenAI::Models::Beta::Agents::EnvironmentListParams::Type]
95
+ # The hosting type to list. Defaults to `openai_hosted`.
96
+ #
97
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
98
+ #
99
+ # @return [OpenAI::Internal::CursorPage<OpenAI::Models::Beta::Agents::EnvironmentInfo>]
100
+ #
101
+ # @see OpenAI::Models::Beta::Agents::EnvironmentListParams
102
+ def list(params = {})
103
+ parsed, options = OpenAI::Beta::Agents::EnvironmentListParams.dump_request(params)
104
+ query = OpenAI::Internal::Util.encode_query_params(parsed)
105
+ @client.request(
106
+ method: :get,
107
+ path: "agents/environments",
108
+ query: query,
109
+ headers: {"openai-beta" => "agents=v1"},
110
+ page: OpenAI::Internal::CursorPage,
32
111
  model: OpenAI::Beta::Agents::EnvironmentInfo,
33
112
  security: {bearer_auth: true},
34
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **params[:request_options].to_h}
113
+ options: options
35
114
  )
36
115
  end
37
116
 
@@ -39,9 +39,10 @@ module OpenAI
39
39
  @client.request(
40
40
  method: :get,
41
41
  path: ["agents/sessions/%1$s/artifacts/%2$s", session_id, artifact_id],
42
+ headers: {"openai-beta" => "agents=v1"},
42
43
  model: OpenAI::Beta::Agents::Sessions::SessionArtifact,
43
44
  security: {bearer_auth: true},
44
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
45
+ options: options
45
46
  )
46
47
  end
47
48
 
@@ -77,10 +78,11 @@ module OpenAI
77
78
  method: :get,
78
79
  path: ["agents/sessions/%1$s/artifacts", session_id],
79
80
  query: query,
81
+ headers: {"openai-beta" => "agents=v1"},
80
82
  page: OpenAI::Internal::CursorPage,
81
83
  model: OpenAI::Beta::Agents::Sessions::SessionArtifact,
82
84
  security: {bearer_auth: true},
83
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
85
+ options: options
84
86
  )
85
87
  end
86
88
 
@@ -110,9 +112,10 @@ module OpenAI
110
112
  @client.request(
111
113
  method: :delete,
112
114
  path: ["agents/sessions/%1$s/artifacts/%2$s", session_id, artifact_id],
115
+ headers: {"openai-beta" => "agents=v1"},
113
116
  model: OpenAI::Beta::Agents::Sessions::SessionArtifactDeleted,
114
117
  security: {bearer_auth: true},
115
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
118
+ options: options
116
119
  )
117
120
  end
118
121
 
@@ -142,10 +145,10 @@ module OpenAI
142
145
  @client.request(
143
146
  method: :get,
144
147
  path: ["agents/sessions/%1$s/artifacts/%2$s/content", session_id, artifact_id],
145
- headers: {"accept" => "application/octet-stream"},
148
+ headers: {"openai-beta" => "agents=v1", "accept" => "application/octet-stream"},
146
149
  model: StringIO,
147
150
  security: {bearer_auth: true},
148
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
151
+ options: options
149
152
  )
150
153
  end
151
154
 
@@ -37,11 +37,13 @@ module OpenAI
37
37
  @client.request(
38
38
  method: :post,
39
39
  path: ["agents/sessions/%1$s/events", session_id],
40
- headers: parsed.slice(*header_params.keys).transform_keys(header_params),
40
+ headers: {"openai-beta" => "agents=v1"}.merge(
41
+ parsed.slice(*header_params.keys).transform_keys(header_params)
42
+ ),
41
43
  body: parsed.except(*header_params.keys),
42
44
  model: NilClass,
43
45
  security: {bearer_auth: true},
44
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
46
+ options: options
45
47
  )
46
48
  end
47
49
 
@@ -55,18 +57,22 @@ module OpenAI
55
57
  #
56
58
  # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
57
59
  #
58
- # @return [OpenAI::Internal::Stream<OpenAI::Models::Beta::AgentSessionErrorEvent, OpenAI::Models::Beta::AgentSessionEnvironmentReadyEvent, OpenAI::Models::Beta::AgentSessionEnvironmentResetEvent, OpenAI::Models::Beta::AgentOutputCommandExecutionOutputDeltaEvent, OpenAI::Models::Beta::AgentSessionCreatedEvent, OpenAI::Models::Beta::AgentSessionTurnCreatedEvent, OpenAI::Models::Beta::AgentSessionTurnInProgressEvent, OpenAI::Models::Beta::AgentSessionTurnCompletedEvent, OpenAI::Models::Beta::AgentSessionTurnFailedEvent, OpenAI::Models::Beta::AgentSessionTurnCancelledEvent, OpenAI::Models::Beta::AgentSessionTurnItemAddedEvent, OpenAI::Models::Beta::AgentSessionIdleEvent, OpenAI::Models::Beta::AgentSessionInProgressEvent, OpenAI::Models::Beta::AgentSessionRequiresActionEvent, OpenAI::Models::Beta::AgentSessionFailedEvent, OpenAI::Models::Beta::AgentSessionEnvironmentPendingEvent, OpenAI::Models::Beta::AgentSessionEnvironmentConnectedEvent, OpenAI::Models::Beta::AgentSessionEnvironmentDisconnectedEvent, OpenAI::Models::Beta::AgentSessionEnvironmentFailedEvent, OpenAI::Models::Beta::AgentSessionSubagentCreatedEvent, OpenAI::Models::Beta::AgentSessionSubagentActiveEvent, OpenAI::Models::Beta::AgentSessionSubagentClosedEvent, OpenAI::Models::Beta::AgentSessionTurnItemDoneEvent, OpenAI::Models::Beta::AgentSessionTurnContentPartAddedEvent, OpenAI::Models::Beta::AgentSessionTurnContentPartDoneEvent, OpenAI::Models::Beta::AgentSessionTurnOutputTextDeltaEvent, OpenAI::Models::Beta::AgentSessionTurnOutputTextDoneEvent, OpenAI::Models::Beta::AgentSessionTurnReasoningSummaryPartAddedEvent, OpenAI::Models::Beta::AgentSessionTurnReasoningSummaryPartDoneEvent, OpenAI::Models::Beta::AgentSessionTurnReasoningSummaryTextDeltaEvent, OpenAI::Models::Beta::AgentSessionTurnReasoningSummaryTextDoneEvent>]
60
+ # @return [OpenAI::Internal::Stream<OpenAI::Models::Beta::AgentSessionErrorEvent, OpenAI::Models::Beta::AgentSessionEnvironmentReadyEvent, OpenAI::Models::Beta::AgentSessionEnvironmentSuspendedEvent, OpenAI::Models::Beta::AgentSessionEnvironmentExpiredEvent, OpenAI::Models::Beta::AgentSessionEnvironmentResetEvent, OpenAI::Models::Beta::AgentOutputCommandExecutionOutputDeltaEvent, OpenAI::Models::Beta::AgentSessionCreatedEvent, OpenAI::Models::Beta::AgentSessionTurnCreatedEvent, OpenAI::Models::Beta::AgentSessionTurnInProgressEvent, OpenAI::Models::Beta::AgentSessionTurnCompletedEvent, OpenAI::Models::Beta::AgentSessionTurnFailedEvent, OpenAI::Models::Beta::AgentSessionTurnCancelledEvent, OpenAI::Models::Beta::AgentSessionTurnItemAddedEvent, OpenAI::Models::Beta::AgentSessionIdleEvent, OpenAI::Models::Beta::AgentSessionInProgressEvent, OpenAI::Models::Beta::AgentSessionRequiresActionEvent, OpenAI::Models::Beta::AgentSessionFailedEvent, OpenAI::Models::Beta::AgentSessionEnvironmentPendingEvent, OpenAI::Models::Beta::AgentSessionEnvironmentConnectedEvent, OpenAI::Models::Beta::AgentSessionEnvironmentDisconnectedEvent, OpenAI::Models::Beta::AgentSessionEnvironmentFailedEvent, OpenAI::Models::Beta::AgentSessionSubagentCreatedEvent, OpenAI::Models::Beta::AgentSessionSubagentActiveEvent, OpenAI::Models::Beta::AgentSessionSubagentClosedEvent, OpenAI::Models::Beta::AgentSessionTurnItemDoneEvent, OpenAI::Models::Beta::AgentSessionTurnContentPartAddedEvent, OpenAI::Models::Beta::AgentSessionTurnContentPartDoneEvent, OpenAI::Models::Beta::AgentSessionTurnOutputTextDeltaEvent, OpenAI::Models::Beta::AgentSessionTurnOutputTextDoneEvent, OpenAI::Models::Beta::AgentSessionTurnReasoningSummaryPartAddedEvent, OpenAI::Models::Beta::AgentSessionTurnReasoningSummaryPartDoneEvent, OpenAI::Models::Beta::AgentSessionTurnReasoningSummaryTextDeltaEvent, OpenAI::Models::Beta::AgentSessionTurnReasoningSummaryTextDoneEvent>]
59
61
  #
60
62
  # @see OpenAI::Models::Beta::Agents::Sessions::EventStreamParams
61
63
  def stream_streaming(session_id, params = {})
62
64
  @client.request(
63
65
  method: :get,
64
66
  path: ["agents/sessions/%1$s/events", session_id],
65
- headers: {"accept" => "text/event-stream", "accept-encoding" => "identity"},
67
+ headers: {
68
+ "openai-beta" => "agents=v1",
69
+ "accept" => "text/event-stream",
70
+ "accept-encoding" => "identity"
71
+ },
66
72
  stream: OpenAI::Internal::Stream,
67
73
  model: OpenAI::Beta::AgentSessionEvent,
68
74
  security: {bearer_auth: true},
69
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **params[:request_options].to_h}
75
+ options: params[:request_options]
70
76
  )
71
77
  end
72
78
 
@@ -36,10 +36,11 @@ module OpenAI
36
36
  method: :get,
37
37
  path: ["agents/sessions/%1$s/items", session_id],
38
38
  query: query,
39
+ headers: {"openai-beta" => "agents=v1"},
39
40
  page: OpenAI::Internal::CursorPage,
40
41
  model: OpenAI::Beta::AgentSessionItem,
41
42
  security: {bearer_auth: true},
42
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
43
+ options: options
43
44
  )
44
45
  end
45
46