openai 0.102.0 → 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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -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_info.rb +3 -0
  9. data/lib/openai/models/webhooks/agent_environment_expired_webhook_event.rb +72 -0
  10. data/lib/openai/models/webhooks/agent_environment_suspended_webhook_event.rb +72 -0
  11. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +8 -3
  12. data/lib/openai/models/webhooks/webhook_create_params.rb +2 -0
  13. data/lib/openai/models/webhooks/webhook_test_params.rb +2 -0
  14. data/lib/openai/models/webhooks/webhook_update_params.rb +2 -0
  15. data/lib/openai/resources/beta/agents/sessions/events.rb +1 -1
  16. data/lib/openai/resources/webhooks.rb +1 -1
  17. data/lib/openai/version.rb +1 -1
  18. data/lib/openai.rb +4 -0
  19. data/rbi/openai/models/beta/agent_session_environment_expired_event.rbi +95 -0
  20. data/rbi/openai/models/beta/agent_session_environment_state.rbi +6 -0
  21. data/rbi/openai/models/beta/agent_session_environment_suspended_event.rbi +95 -0
  22. data/rbi/openai/models/beta/agent_session_event.rbi +2 -0
  23. data/rbi/openai/models/beta/agents/environment_info.rbi +3 -0
  24. data/rbi/openai/models/webhooks/agent_environment_expired_webhook_event.rbi +133 -0
  25. data/rbi/openai/models/webhooks/agent_environment_suspended_webhook_event.rbi +133 -0
  26. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +3 -2
  27. data/rbi/openai/models/webhooks/webhook_create_params.rbi +8 -0
  28. data/rbi/openai/models/webhooks/webhook_test_params.rbi +8 -0
  29. data/rbi/openai/models/webhooks/webhook_update_params.rbi +8 -0
  30. data/rbi/openai/resources/webhooks.rbi +2 -0
  31. data/sig/openai/models/beta/agent_session_environment_expired_event.rbs +57 -0
  32. data/sig/openai/models/beta/agent_session_environment_state.rbs +14 -1
  33. data/sig/openai/models/beta/agent_session_environment_suspended_event.rbs +57 -0
  34. data/sig/openai/models/beta/agent_session_event.rbs +2 -0
  35. data/sig/openai/models/beta/agents/environment_info.rbs +11 -1
  36. data/sig/openai/models/webhooks/agent_environment_expired_webhook_event.rbs +70 -0
  37. data/sig/openai/models/webhooks/agent_environment_suspended_webhook_event.rbs +70 -0
  38. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +3 -1
  39. data/sig/openai/models/webhooks/webhook_create_params.rbs +4 -0
  40. data/sig/openai/models/webhooks/webhook_test_params.rbs +4 -0
  41. data/sig/openai/models/webhooks/webhook_update_params.rbs +4 -0
  42. data/sig/openai/resources/webhooks.rbs +3 -1
  43. metadata +13 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e214fa257d53a7b24aa14ad9d7bbabb907c47e3b50b2fbf769177dac7bfe04b8
4
- data.tar.gz: 4356c890b1060157f4d252b411eb234f6987782cea1ab79a4eba9d8d00028a87
3
+ metadata.gz: 1b50a0bb1c17d033d4179a483168878412ecc245f68bd4192692600581db9bc0
4
+ data.tar.gz: 13eff5cdbaa168cb9837a9a04fc5b39a8cf8d19374d65a4f67be7028bb369d0f
5
5
  SHA512:
6
- metadata.gz: 1b6c400866161baef0e067c3ebd597b483249954373a32e193e58b8383638d52a977d10270f8e0d876b8838109ec3d086049548d20e77aa9d2d6adbd21a778ea
7
- data.tar.gz: dfa20d336ce432cd06d9a65e4ef94575581783885fed890600f35dc32a54b69af9cc2ef63b3d474d561edc88fcc9f944423832e5aa55812f550395a8622bb35e
6
+ metadata.gz: 63338541f098246944ee6a1e761d0c47ad8434eb722302059205ce4c75a92cb8ab92916d7d3d2156f6882a55ebeb79d051fd51ec25c9db8c6f515bf556d1151d
7
+ data.tar.gz: a8b900d61a286c864507f0a3ab0195a9df0886b825d10cb4beaa7d9125e918176a1f08f3dba71bcfd7d700df87f4a54c2ad62a0ff26232276dbb6e41d1a4d740
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.103.0](https://github.com/openai/openai-ruby/compare/v0.102.0...v0.103.0) (2026-10-09)
4
+
5
+
6
+ ### Features
7
+
8
+ * **api:** add agent environment suspension and expiration ([#821](https://github.com/openai/openai-ruby/issues/821)) ([7405e40](https://github.com/openai/openai-ruby/commit/7405e4011978083f3c8599dc4e3a40a5ca6ecc5d))
9
+
3
10
  ## [0.102.0](https://github.com/openai/openai-ruby/compare/v0.101.1...v0.102.0) (2026-10-09)
4
11
 
5
12
 
data/README.md CHANGED
@@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application
15
15
  <!-- x-release-please-start-version -->
16
16
 
17
17
  ```ruby
18
- gem "openai", "~> 0.102.0"
18
+ gem "openai", "~> 0.103.0"
19
19
  ```
20
20
 
21
21
  <!-- x-release-please-end -->
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ class AgentSessionEnvironmentExpiredEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute environment
8
+ # The current environment state.
9
+ #
10
+ # @return [OpenAI::Models::Beta::AgentSessionEnvironmentState]
11
+ required :environment, -> { OpenAI::Beta::AgentSessionEnvironmentState }
12
+
13
+ # @!attribute event_id
14
+ # The unique ID of the event.
15
+ #
16
+ # @return [String]
17
+ required :event_id, String
18
+
19
+ # @!attribute session_id
20
+ # The ID of the session associated with the event.
21
+ #
22
+ # @return [String]
23
+ required :session_id, String
24
+
25
+ # @!attribute turn_id
26
+ # The ID of the turn associated with the event, when applicable.
27
+ #
28
+ # @return [String, nil]
29
+ required :turn_id, String, nil?: true
30
+
31
+ # @!attribute type
32
+ # The type of the object. Always `agent.session.environment.expired`.
33
+ #
34
+ # @return [Symbol, :"agent.session.environment.expired"]
35
+ required :type, const: :"agent.session.environment.expired"
36
+
37
+ # @!method initialize(environment:, event_id:, session_id:, turn_id:, type: :"agent.session.environment.expired")
38
+ # Emitted after a suspended hosted session environment and its checkpoint expire.
39
+ #
40
+ # @param environment [OpenAI::Models::Beta::AgentSessionEnvironmentState]
41
+ # The current environment state.
42
+ #
43
+ # @param event_id [String]
44
+ # The unique ID of the event.
45
+ #
46
+ # @param session_id [String]
47
+ # The ID of the session associated with the event.
48
+ #
49
+ # @param turn_id [String, nil]
50
+ # The ID of the turn associated with the event, when applicable.
51
+ #
52
+ # @param type [Symbol, :"agent.session.environment.expired"]
53
+ # The type of the object. Always `agent.session.environment.expired`.
54
+ end
55
+ end
56
+ end
57
+ end
@@ -94,6 +94,12 @@ module OpenAI
94
94
  # The environment is disconnected.
95
95
  DISCONNECTED = :disconnected
96
96
 
97
+ # The environment is stopped and can be resumed from its private checkpoint.
98
+ SUSPENDED = :suspended
99
+
100
+ # The environment and its private checkpoint have expired.
101
+ EXPIRED = :expired
102
+
97
103
  # The environment failed to connect.
98
104
  FAILED = :failed
99
105
 
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ class AgentSessionEnvironmentSuspendedEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute environment
8
+ # The current environment state.
9
+ #
10
+ # @return [OpenAI::Models::Beta::AgentSessionEnvironmentState]
11
+ required :environment, -> { OpenAI::Beta::AgentSessionEnvironmentState }
12
+
13
+ # @!attribute event_id
14
+ # The unique ID of the event.
15
+ #
16
+ # @return [String]
17
+ required :event_id, String
18
+
19
+ # @!attribute session_id
20
+ # The ID of the session associated with the event.
21
+ #
22
+ # @return [String]
23
+ required :session_id, String
24
+
25
+ # @!attribute turn_id
26
+ # The ID of the turn associated with the event, when applicable.
27
+ #
28
+ # @return [String, nil]
29
+ required :turn_id, String, nil?: true
30
+
31
+ # @!attribute type
32
+ # The type of the object. Always `agent.session.environment.suspended`.
33
+ #
34
+ # @return [Symbol, :"agent.session.environment.suspended"]
35
+ required :type, const: :"agent.session.environment.suspended"
36
+
37
+ # @!method initialize(environment:, event_id:, session_id:, turn_id:, type: :"agent.session.environment.suspended")
38
+ # Emitted after an idle hosted session environment is checkpointed and stopped.
39
+ #
40
+ # @param environment [OpenAI::Models::Beta::AgentSessionEnvironmentState]
41
+ # The current environment state.
42
+ #
43
+ # @param event_id [String]
44
+ # The unique ID of the event.
45
+ #
46
+ # @param session_id [String]
47
+ # The ID of the session associated with the event.
48
+ #
49
+ # @param turn_id [String, nil]
50
+ # The ID of the turn associated with the event, when applicable.
51
+ #
52
+ # @param type [Symbol, :"agent.session.environment.suspended"]
53
+ # The type of the object. Always `agent.session.environment.suspended`.
54
+ end
55
+ end
56
+ end
57
+ end
@@ -15,6 +15,12 @@ module OpenAI
15
15
  # Emitted when a hosted session environment is ready to connect.
16
16
  variant :"agent.session.environment.ready", -> { OpenAI::Beta::AgentSessionEnvironmentReadyEvent }
17
17
 
18
+ # Emitted after an idle hosted session environment is checkpointed and stopped.
19
+ variant :"agent.session.environment.suspended", -> { OpenAI::Beta::AgentSessionEnvironmentSuspendedEvent }
20
+
21
+ # Emitted after a suspended hosted session environment and its checkpoint expire.
22
+ variant :"agent.session.environment.expired", -> { OpenAI::Beta::AgentSessionEnvironmentExpiredEvent }
23
+
18
24
  # Emitted after a hosted sandbox is replaced. Conversation history survives; changes to the previous sandbox's files and processes do not.
19
25
  variant :"agent.session.environment.reset", -> { OpenAI::Beta::AgentSessionEnvironmentResetEvent }
20
26
 
@@ -124,7 +130,7 @@ module OpenAI
124
130
  )
125
131
 
126
132
  # @!method self.variants
127
- # @return [Array(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)]
133
+ # @return [Array(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)]
128
134
  end
129
135
  end
130
136
  end
@@ -84,6 +84,9 @@ module OpenAI
84
84
 
85
85
  CONNECTED = :connected
86
86
  DISCONNECTED = :disconnected
87
+ # The sandbox is stopped and can be resumed from its private checkpoint.
88
+ SUSPENDED = :suspended
89
+
87
90
  EXPIRED = :expired
88
91
  FAILED = :failed
89
92
 
@@ -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,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,18 @@
3
3
  module OpenAI
4
4
  module Models
5
5
  module Webhooks
6
- # Sent when setup fails for a prewarmed OpenAI-hosted environment before it is
7
- # attached to a session.
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
+
13
18
  # Sent when setup fails for a prewarmed OpenAI-hosted environment before it is attached to a session.
14
19
  variant :"agent.environment.failed", -> { OpenAI::Webhooks::AgentEnvironmentFailedWebhookEvent }
15
20
 
@@ -103,7 +108,7 @@ module OpenAI
103
108
  variant :"safety.warning_issued", -> { OpenAI::Webhooks::SafetyWarningIssuedWebhookEvent }
104
109
 
105
110
  # @!method self.variants
106
- # @return [Array(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)]
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)]
107
112
  end
108
113
  end
109
114
  end
@@ -64,6 +64,8 @@ module OpenAI
64
64
  VIDEO_FAILED = :"video.failed"
65
65
  AGENT_ENVIRONMENT_READY = :"agent.environment.ready"
66
66
  AGENT_ENVIRONMENT_FAILED = :"agent.environment.failed"
67
+ AGENT_ENVIRONMENT_SUSPENDED = :"agent.environment.suspended"
68
+ AGENT_ENVIRONMENT_EXPIRED = :"agent.environment.expired"
67
69
  AGENT_SESSION_CREATED = :"agent.session.created"
68
70
  AGENT_SESSION_ACTION_REQUIRED = :"agent.session.action_required"
69
71
  AGENT_SESSION_IN_PROGRESS = :"agent.session.in_progress"
@@ -50,6 +50,8 @@ module OpenAI
50
50
  VIDEO_FAILED = :"video.failed"
51
51
  AGENT_ENVIRONMENT_READY = :"agent.environment.ready"
52
52
  AGENT_ENVIRONMENT_FAILED = :"agent.environment.failed"
53
+ AGENT_ENVIRONMENT_SUSPENDED = :"agent.environment.suspended"
54
+ AGENT_ENVIRONMENT_EXPIRED = :"agent.environment.expired"
53
55
  AGENT_SESSION_CREATED = :"agent.session.created"
54
56
  AGENT_SESSION_ACTION_REQUIRED = :"agent.session.action_required"
55
57
  AGENT_SESSION_IN_PROGRESS = :"agent.session.in_progress"
@@ -71,6 +71,8 @@ module OpenAI
71
71
  VIDEO_FAILED = :"video.failed"
72
72
  AGENT_ENVIRONMENT_READY = :"agent.environment.ready"
73
73
  AGENT_ENVIRONMENT_FAILED = :"agent.environment.failed"
74
+ AGENT_ENVIRONMENT_SUSPENDED = :"agent.environment.suspended"
75
+ AGENT_ENVIRONMENT_EXPIRED = :"agent.environment.expired"
74
76
  AGENT_SESSION_CREATED = :"agent.session.created"
75
77
  AGENT_SESSION_ACTION_REQUIRED = :"agent.session.action_required"
76
78
  AGENT_SESSION_IN_PROGRESS = :"agent.session.in_progress"
@@ -57,7 +57,7 @@ module OpenAI
57
57
  #
58
58
  # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
59
59
  #
60
- # @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>]
61
61
  #
62
62
  # @see OpenAI::Models::Beta::Agents::Sessions::EventStreamParams
63
63
  def stream_streaming(session_id, params = {})
@@ -203,7 +203,7 @@ module OpenAI
203
203
  # @param headers [Hash] The webhook headers
204
204
  # @param webhook_secret [String, nil] The webhook secret (optional, will use client webhook secret or ENV["OPENAI_WEBHOOK_SECRET"] if not provided)
205
205
  #
206
- # @return [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]
206
+ # @return [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]
207
207
  #
208
208
  # @raise [ArgumentError] if signature verification fails
209
209
  def unwrap(
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OpenAI
4
- VERSION = "0.102.0"
4
+ VERSION = "0.103.0"
5
5
  end
data/lib/openai.rb CHANGED
@@ -563,11 +563,13 @@ require_relative "openai/models/beta/agent_session_created_event"
563
563
  require_relative "openai/models/beta/agent_session_deleted"
564
564
  require_relative "openai/models/beta/agent_session_environment_connected_event"
565
565
  require_relative "openai/models/beta/agent_session_environment_disconnected_event"
566
+ require_relative "openai/models/beta/agent_session_environment_expired_event"
566
567
  require_relative "openai/models/beta/agent_session_environment_failed_event"
567
568
  require_relative "openai/models/beta/agent_session_environment_pending_event"
568
569
  require_relative "openai/models/beta/agent_session_environment_ready_event"
569
570
  require_relative "openai/models/beta/agent_session_environment_reset_event"
570
571
  require_relative "openai/models/beta/agent_session_environment_state"
572
+ require_relative "openai/models/beta/agent_session_environment_suspended_event"
571
573
  require_relative "openai/models/beta/agent_session_error_event"
572
574
  require_relative "openai/models/beta/agent_session_event"
573
575
  require_relative "openai/models/beta/agent_session_failed_event"
@@ -1448,8 +1450,10 @@ require_relative "openai/models/video_remix_params"
1448
1450
  require_relative "openai/models/video_retrieve_params"
1449
1451
  require_relative "openai/models/video_seconds"
1450
1452
  require_relative "openai/models/video_size"
1453
+ require_relative "openai/models/webhooks/agent_environment_expired_webhook_event"
1451
1454
  require_relative "openai/models/webhooks/agent_environment_failed_webhook_event"
1452
1455
  require_relative "openai/models/webhooks/agent_environment_ready_webhook_event"
1456
+ require_relative "openai/models/webhooks/agent_environment_suspended_webhook_event"
1453
1457
  require_relative "openai/models/webhooks/agent_session_action_required_webhook_event"
1454
1458
  require_relative "openai/models/webhooks/agent_session_created_webhook_event"
1455
1459
  require_relative "openai/models/webhooks/agent_session_failed_webhook_event"
@@ -0,0 +1,95 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Beta
7
+
8
+ class AgentSessionEnvironmentExpiredEvent < OpenAI::Internal::Type::BaseModel
9
+
10
+ OrHash = T.type_alias do
11
+ T.any(
12
+ OpenAI::Beta::AgentSessionEnvironmentExpiredEvent,
13
+ OpenAI::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # The current environment state.
18
+ sig { returns(OpenAI::Beta::AgentSessionEnvironmentState) }
19
+ attr_reader :environment
20
+
21
+ sig { params(environment: OpenAI::Beta::AgentSessionEnvironmentState::OrHash).void }
22
+ attr_writer :environment
23
+
24
+ # The unique ID of the event.
25
+ sig { returns(String) }
26
+ attr_accessor :event_id
27
+
28
+ # The ID of the session associated with the event.
29
+ sig { returns(String) }
30
+ attr_accessor :session_id
31
+
32
+ # The ID of the turn associated with the event, when applicable.
33
+ sig { returns(T.nilable(String)) }
34
+ attr_accessor :turn_id
35
+
36
+ # The type of the object. Always `agent.session.environment.expired`.
37
+ sig { returns(Symbol) }
38
+ attr_accessor :type
39
+
40
+ # Emitted after a suspended hosted session environment and its checkpoint expire.
41
+ sig do
42
+ params(
43
+
44
+ environment: OpenAI::Beta::AgentSessionEnvironmentState::OrHash,
45
+
46
+ event_id: String,
47
+
48
+ session_id: String,
49
+
50
+ turn_id: T.nilable(String),
51
+
52
+ type: Symbol
53
+ )
54
+ .returns(T.attached_class)
55
+ end
56
+ def self.new(
57
+
58
+ # The current environment state.
59
+ environment:,
60
+
61
+ # The unique ID of the event.
62
+ event_id:,
63
+
64
+ # The ID of the session associated with the event.
65
+ session_id:,
66
+
67
+ # The ID of the turn associated with the event, when applicable.
68
+ turn_id:,
69
+
70
+ # The type of the object. Always `agent.session.environment.expired`.
71
+
72
+ type: :"agent.session.environment.expired"
73
+ )
74
+ end
75
+
76
+ sig do
77
+ override.returns(
78
+ {
79
+ environment: OpenAI::Beta::AgentSessionEnvironmentState,
80
+ event_id: String,
81
+ session_id: String,
82
+ turn_id: T.nilable(String),
83
+ type: Symbol
84
+ }
85
+ )
86
+ end
87
+ def to_hash
88
+ end
89
+
90
+ end
91
+
92
+ end
93
+
94
+ end
95
+ end
@@ -152,6 +152,12 @@ module OpenAI
152
152
  # The environment is disconnected.
153
153
  DISCONNECTED = T.let(:disconnected, OpenAI::Beta::AgentSessionEnvironmentState::Status::TaggedSymbol)
154
154
 
155
+ # The environment is stopped and can be resumed from its private checkpoint.
156
+ SUSPENDED = T.let(:suspended, OpenAI::Beta::AgentSessionEnvironmentState::Status::TaggedSymbol)
157
+
158
+ # The environment and its private checkpoint have expired.
159
+ EXPIRED = T.let(:expired, OpenAI::Beta::AgentSessionEnvironmentState::Status::TaggedSymbol)
160
+
155
161
  # The environment failed to connect.
156
162
  FAILED = T.let(:failed, OpenAI::Beta::AgentSessionEnvironmentState::Status::TaggedSymbol)
157
163