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
@@ -166,10 +166,11 @@ module OpenAI
166
166
  method: :post,
167
167
  path: ["threads/%1$s/runs", thread_id],
168
168
  query: query,
169
+ headers: {"openai-beta" => "assistants=v2"},
169
170
  body: parsed.except(*query_params),
170
171
  model: OpenAI::Beta::Threads::Run,
171
172
  security: {bearer_auth: true},
172
- options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
173
+ options: options
173
174
  )
174
175
  end
175
176
 
@@ -328,12 +329,16 @@ module OpenAI
328
329
  method: :post,
329
330
  path: ["threads/%1$s/runs", thread_id],
330
331
  query: query,
331
- headers: {"accept" => "text/event-stream", "accept-encoding" => "identity"},
332
+ headers: {
333
+ "openai-beta" => "assistants=v2",
334
+ "accept" => "text/event-stream",
335
+ "accept-encoding" => "identity"
336
+ },
332
337
  body: parsed.except(*query_params),
333
338
  stream: OpenAI::Internal::Stream,
334
339
  model: OpenAI::Beta::AssistantStreamEvent,
335
340
  security: {bearer_auth: true},
336
- options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
341
+ options: options
337
342
  )
338
343
  end
339
344
 
@@ -365,9 +370,10 @@ module OpenAI
365
370
  @client.request(
366
371
  method: :get,
367
372
  path: ["threads/%1$s/runs/%2$s", thread_id, run_id],
373
+ headers: {"openai-beta" => "assistants=v2"},
368
374
  model: OpenAI::Beta::Threads::Run,
369
375
  security: {bearer_auth: true},
370
- options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
376
+ options: options
371
377
  )
372
378
  end
373
379
 
@@ -407,10 +413,11 @@ module OpenAI
407
413
  @client.request(
408
414
  method: :post,
409
415
  path: ["threads/%1$s/runs/%2$s", thread_id, run_id],
416
+ headers: {"openai-beta" => "assistants=v2"},
410
417
  body: parsed,
411
418
  model: OpenAI::Beta::Threads::Run,
412
419
  security: {bearer_auth: true},
413
- options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
420
+ options: options
414
421
  )
415
422
  end
416
423
 
@@ -455,10 +462,11 @@ module OpenAI
455
462
  method: :get,
456
463
  path: ["threads/%1$s/runs", thread_id],
457
464
  query: query,
465
+ headers: {"openai-beta" => "assistants=v2"},
458
466
  page: OpenAI::Internal::CursorPage,
459
467
  model: OpenAI::Beta::Threads::Run,
460
468
  security: {bearer_auth: true},
461
- options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
469
+ options: options
462
470
  )
463
471
  end
464
472
 
@@ -488,9 +496,10 @@ module OpenAI
488
496
  @client.request(
489
497
  method: :post,
490
498
  path: ["threads/%1$s/runs/%2$s/cancel", thread_id, run_id],
499
+ headers: {"openai-beta" => "assistants=v2"},
491
500
  model: OpenAI::Beta::Threads::Run,
492
501
  security: {bearer_auth: true},
493
- options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
502
+ options: options
494
503
  )
495
504
  end
496
505
 
@@ -536,10 +545,11 @@ module OpenAI
536
545
  @client.request(
537
546
  method: :post,
538
547
  path: ["threads/%1$s/runs/%2$s/submit_tool_outputs", thread_id, run_id],
548
+ headers: {"openai-beta" => "assistants=v2"},
539
549
  body: parsed,
540
550
  model: OpenAI::Beta::Threads::Run,
541
551
  security: {bearer_auth: true},
542
- options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
552
+ options: options
543
553
  )
544
554
  end
545
555
 
@@ -586,12 +596,16 @@ module OpenAI
586
596
  @client.request(
587
597
  method: :post,
588
598
  path: ["threads/%1$s/runs/%2$s/submit_tool_outputs", thread_id, run_id],
589
- headers: {"accept" => "text/event-stream", "accept-encoding" => "identity"},
599
+ headers: {
600
+ "openai-beta" => "assistants=v2",
601
+ "accept" => "text/event-stream",
602
+ "accept-encoding" => "identity"
603
+ },
590
604
  body: parsed,
591
605
  stream: OpenAI::Internal::Stream,
592
606
  model: OpenAI::Beta::AssistantStreamEvent,
593
607
  security: {bearer_auth: true},
594
- options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
608
+ options: options
595
609
  )
596
610
  end
597
611
 
@@ -50,10 +50,11 @@ module OpenAI
50
50
  @client.request(
51
51
  method: :post,
52
52
  path: "threads",
53
+ headers: {"openai-beta" => "assistants=v2"},
53
54
  body: parsed,
54
55
  model: OpenAI::Beta::Thread,
55
56
  security: {bearer_auth: true},
56
- options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
57
+ options: options
57
58
  )
58
59
  end
59
60
 
@@ -75,9 +76,10 @@ module OpenAI
75
76
  @client.request(
76
77
  method: :get,
77
78
  path: ["threads/%1$s", thread_id],
79
+ headers: {"openai-beta" => "assistants=v2"},
78
80
  model: OpenAI::Beta::Thread,
79
81
  security: {bearer_auth: true},
80
- options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **params[:request_options].to_h}
82
+ options: params[:request_options]
81
83
  )
82
84
  end
83
85
 
@@ -114,10 +116,11 @@ module OpenAI
114
116
  @client.request(
115
117
  method: :post,
116
118
  path: ["threads/%1$s", thread_id],
119
+ headers: {"openai-beta" => "assistants=v2"},
117
120
  body: parsed,
118
121
  model: OpenAI::Beta::Thread,
119
122
  security: {bearer_auth: true},
120
- options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
123
+ options: options
121
124
  )
122
125
  end
123
126
 
@@ -139,9 +142,10 @@ module OpenAI
139
142
  @client.request(
140
143
  method: :delete,
141
144
  path: ["threads/%1$s", thread_id],
145
+ headers: {"openai-beta" => "assistants=v2"},
142
146
  model: OpenAI::Beta::ThreadDeleted,
143
147
  security: {bearer_auth: true},
144
- options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **params[:request_options].to_h}
148
+ options: params[:request_options]
145
149
  )
146
150
  end
147
151
 
@@ -272,10 +276,11 @@ module OpenAI
272
276
  @client.request(
273
277
  method: :post,
274
278
  path: "threads/runs",
279
+ headers: {"openai-beta" => "assistants=v2"},
275
280
  body: parsed,
276
281
  model: OpenAI::Beta::Threads::Run,
277
282
  security: {bearer_auth: true},
278
- options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
283
+ options: options
279
284
  )
280
285
  end
281
286
 
@@ -412,12 +417,16 @@ module OpenAI
412
417
  @client.request(
413
418
  method: :post,
414
419
  path: "threads/runs",
415
- headers: {"accept" => "text/event-stream", "accept-encoding" => "identity"},
420
+ headers: {
421
+ "openai-beta" => "assistants=v2",
422
+ "accept" => "text/event-stream",
423
+ "accept-encoding" => "identity"
424
+ },
416
425
  body: parsed,
417
426
  stream: OpenAI::Internal::Stream,
418
427
  model: OpenAI::Beta::AssistantStreamEvent,
419
428
  security: {bearer_auth: true},
420
- options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
429
+ options: options
421
430
  )
422
431
  end
423
432
 
@@ -50,16 +50,11 @@ module OpenAI
50
50
  @client.request(
51
51
  method: :post,
52
52
  path: ["vector_stores/%1$s/file_batches", vector_store_id],
53
+ headers: {"openai-beta" => "assistants=v2"},
53
54
  body: parsed,
54
55
  model: OpenAI::VectorStores::VectorStoreFileBatch,
55
56
  security: {bearer_auth: true},
56
- options: {
57
- **options,
58
- extra_headers: OpenAI::Internal::Util.normalized_headers(
59
- {"OpenAI-Beta" => "assistants=v2"},
60
- options[:extra_headers].to_h
61
- )
62
- }
57
+ options: options
63
58
  )
64
59
  end
65
60
 
@@ -144,9 +139,10 @@ module OpenAI
144
139
  @client.request(
145
140
  method: :get,
146
141
  path: ["vector_stores/%1$s/file_batches/%2$s", vector_store_id, batch_id],
142
+ headers: {"openai-beta" => "assistants=v2"},
147
143
  model: OpenAI::VectorStores::VectorStoreFileBatch,
148
144
  security: {bearer_auth: true},
149
- options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
145
+ options: options
150
146
  )
151
147
  end
152
148
 
@@ -175,9 +171,10 @@ module OpenAI
175
171
  @client.request(
176
172
  method: :post,
177
173
  path: ["vector_stores/%1$s/file_batches/%2$s/cancel", vector_store_id, batch_id],
174
+ headers: {"openai-beta" => "assistants=v2"},
178
175
  model: OpenAI::VectorStores::VectorStoreFileBatch,
179
176
  security: {bearer_auth: true},
180
- options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
177
+ options: options
181
178
  )
182
179
  end
183
180
 
@@ -231,10 +228,11 @@ module OpenAI
231
228
  method: :get,
232
229
  path: ["vector_stores/%1$s/file_batches/%2$s/files", vector_store_id, batch_id],
233
230
  query: query,
231
+ headers: {"openai-beta" => "assistants=v2"},
234
232
  page: OpenAI::Internal::CursorPage,
235
233
  model: OpenAI::VectorStores::VectorStoreFile,
236
234
  security: {bearer_auth: true},
237
- options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
235
+ options: options
238
236
  )
239
237
  end
240
238
 
@@ -43,16 +43,11 @@ module OpenAI
43
43
  @client.request(
44
44
  method: :post,
45
45
  path: ["vector_stores/%1$s/files", vector_store_id],
46
+ headers: {"openai-beta" => "assistants=v2"},
46
47
  body: parsed,
47
48
  model: OpenAI::VectorStores::VectorStoreFile,
48
49
  security: {bearer_auth: true},
49
- options: {
50
- **options,
51
- extra_headers: OpenAI::Internal::Util.normalized_headers(
52
- {"OpenAI-Beta" => "assistants=v2"},
53
- options[:extra_headers].to_h
54
- )
55
- }
50
+ options: options
56
51
  )
57
52
  end
58
53
 
@@ -132,9 +127,10 @@ module OpenAI
132
127
  @client.request(
133
128
  method: :get,
134
129
  path: ["vector_stores/%1$s/files/%2$s", vector_store_id, file_id],
130
+ headers: {"openai-beta" => "assistants=v2"},
135
131
  model: OpenAI::VectorStores::VectorStoreFile,
136
132
  security: {bearer_auth: true},
137
- options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
133
+ options: options
138
134
  )
139
135
  end
140
136
 
@@ -169,10 +165,11 @@ module OpenAI
169
165
  @client.request(
170
166
  method: :post,
171
167
  path: ["vector_stores/%1$s/files/%2$s", vector_store_id, file_id],
168
+ headers: {"openai-beta" => "assistants=v2"},
172
169
  body: parsed,
173
170
  model: OpenAI::VectorStores::VectorStoreFile,
174
171
  security: {bearer_auth: true},
175
- options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
172
+ options: options
176
173
  )
177
174
  end
178
175
 
@@ -218,10 +215,11 @@ module OpenAI
218
215
  method: :get,
219
216
  path: ["vector_stores/%1$s/files", vector_store_id],
220
217
  query: query,
218
+ headers: {"openai-beta" => "assistants=v2"},
221
219
  page: OpenAI::Internal::CursorPage,
222
220
  model: OpenAI::VectorStores::VectorStoreFile,
223
221
  security: {bearer_auth: true},
224
- options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
222
+ options: options
225
223
  )
226
224
  end
227
225
 
@@ -252,9 +250,10 @@ module OpenAI
252
250
  @client.request(
253
251
  method: :delete,
254
252
  path: ["vector_stores/%1$s/files/%2$s", vector_store_id, file_id],
253
+ headers: {"openai-beta" => "assistants=v2"},
255
254
  model: OpenAI::VectorStores::VectorStoreFileDeleted,
256
255
  security: {bearer_auth: true},
257
- options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
256
+ options: options
258
257
  )
259
258
  end
260
259
 
@@ -416,10 +415,11 @@ module OpenAI
416
415
  @client.request(
417
416
  method: :get,
418
417
  path: ["vector_stores/%1$s/files/%2$s/content", vector_store_id, file_id],
418
+ headers: {"openai-beta" => "assistants=v2"},
419
419
  page: OpenAI::Internal::Page,
420
420
  model: OpenAI::Models::VectorStores::FileContentResponse,
421
421
  security: {bearer_auth: true},
422
- options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
422
+ options: options
423
423
  )
424
424
  end
425
425
 
@@ -50,10 +50,11 @@ module OpenAI
50
50
  @client.request(
51
51
  method: :post,
52
52
  path: "vector_stores",
53
+ headers: {"openai-beta" => "assistants=v2"},
53
54
  body: parsed,
54
55
  model: OpenAI::VectorStore,
55
56
  security: {bearer_auth: true},
56
- options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
57
+ options: options
57
58
  )
58
59
  end
59
60
 
@@ -73,9 +74,10 @@ module OpenAI
73
74
  @client.request(
74
75
  method: :get,
75
76
  path: ["vector_stores/%1$s", vector_store_id],
77
+ headers: {"openai-beta" => "assistants=v2"},
76
78
  model: OpenAI::VectorStore,
77
79
  security: {bearer_auth: true},
78
- options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **params[:request_options].to_h}
80
+ options: params[:request_options]
79
81
  )
80
82
  end
81
83
 
@@ -110,10 +112,11 @@ module OpenAI
110
112
  @client.request(
111
113
  method: :post,
112
114
  path: ["vector_stores/%1$s", vector_store_id],
115
+ headers: {"openai-beta" => "assistants=v2"},
113
116
  body: parsed,
114
117
  model: OpenAI::VectorStore,
115
118
  security: {bearer_auth: true},
116
- options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
119
+ options: options
117
120
  )
118
121
  end
119
122
 
@@ -153,10 +156,11 @@ module OpenAI
153
156
  method: :get,
154
157
  path: "vector_stores",
155
158
  query: query,
159
+ headers: {"openai-beta" => "assistants=v2"},
156
160
  page: OpenAI::Internal::CursorPage,
157
161
  model: OpenAI::VectorStore,
158
162
  security: {bearer_auth: true},
159
- options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
163
+ options: options
160
164
  )
161
165
  end
162
166
 
@@ -176,9 +180,10 @@ module OpenAI
176
180
  @client.request(
177
181
  method: :delete,
178
182
  path: ["vector_stores/%1$s", vector_store_id],
183
+ headers: {"openai-beta" => "assistants=v2"},
179
184
  model: OpenAI::VectorStoreDeleted,
180
185
  security: {bearer_auth: true},
181
- options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **params[:request_options].to_h}
186
+ options: params[:request_options]
182
187
  )
183
188
  end
184
189
 
@@ -216,11 +221,12 @@ module OpenAI
216
221
  @client.request(
217
222
  method: :post,
218
223
  path: ["vector_stores/%1$s/search", vector_store_id],
224
+ headers: {"openai-beta" => "assistants=v2"},
219
225
  body: parsed,
220
226
  page: OpenAI::Internal::Page,
221
227
  model: OpenAI::Models::VectorStoreSearchResponse,
222
228
  security: {bearer_auth: true},
223
- options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
229
+ options: options
224
230
  )
225
231
  end
226
232
 
@@ -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::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.101.1"
4
+ VERSION = "0.103.0"
5
5
  end
data/lib/openai.rb CHANGED
@@ -493,7 +493,9 @@ require_relative "openai/models/beta/agent_reasoning_item"
493
493
  require_relative "openai/models/beta/agent_reasoning_param"
494
494
  require_relative "openai/models/beta/agent_resume_subagent_call_item"
495
495
  require_relative "openai/models/beta/agent_retrieve_params"
496
+ require_relative "openai/models/beta/agents/environment_create_params"
496
497
  require_relative "openai/models/beta/agents/environment_info"
498
+ require_relative "openai/models/beta/agents/environment_list_params"
497
499
  require_relative "openai/models/beta/agents/environment_retrieve_params"
498
500
  require_relative "openai/models/beta/agents/environments/environment_file"
499
501
  require_relative "openai/models/beta/agents/environments/environment_template"
@@ -561,11 +563,13 @@ require_relative "openai/models/beta/agent_session_created_event"
561
563
  require_relative "openai/models/beta/agent_session_deleted"
562
564
  require_relative "openai/models/beta/agent_session_environment_connected_event"
563
565
  require_relative "openai/models/beta/agent_session_environment_disconnected_event"
566
+ require_relative "openai/models/beta/agent_session_environment_expired_event"
564
567
  require_relative "openai/models/beta/agent_session_environment_failed_event"
565
568
  require_relative "openai/models/beta/agent_session_environment_pending_event"
566
569
  require_relative "openai/models/beta/agent_session_environment_ready_event"
567
570
  require_relative "openai/models/beta/agent_session_environment_reset_event"
568
571
  require_relative "openai/models/beta/agent_session_environment_state"
572
+ require_relative "openai/models/beta/agent_session_environment_suspended_event"
569
573
  require_relative "openai/models/beta/agent_session_error_event"
570
574
  require_relative "openai/models/beta/agent_session_event"
571
575
  require_relative "openai/models/beta/agent_session_failed_event"
@@ -1446,6 +1450,10 @@ require_relative "openai/models/video_remix_params"
1446
1450
  require_relative "openai/models/video_retrieve_params"
1447
1451
  require_relative "openai/models/video_seconds"
1448
1452
  require_relative "openai/models/video_size"
1453
+ require_relative "openai/models/webhooks/agent_environment_expired_webhook_event"
1454
+ require_relative "openai/models/webhooks/agent_environment_failed_webhook_event"
1455
+ require_relative "openai/models/webhooks/agent_environment_ready_webhook_event"
1456
+ require_relative "openai/models/webhooks/agent_environment_suspended_webhook_event"
1449
1457
  require_relative "openai/models/webhooks/agent_session_action_required_webhook_event"
1450
1458
  require_relative "openai/models/webhooks/agent_session_created_webhook_event"
1451
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
 
@@ -0,0 +1,95 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Beta
7
+
8
+ class AgentSessionEnvironmentSuspendedEvent < OpenAI::Internal::Type::BaseModel
9
+
10
+ OrHash = T.type_alias do
11
+ T.any(
12
+ OpenAI::Beta::AgentSessionEnvironmentSuspendedEvent,
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.suspended`.
37
+ sig { returns(Symbol) }
38
+ attr_accessor :type
39
+
40
+ # Emitted after an idle hosted session environment is checkpointed and stopped.
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.suspended`.
71
+
72
+ type: :"agent.session.environment.suspended"
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
@@ -13,6 +13,8 @@ module OpenAI
13
13
  T.any(
14
14
  OpenAI::Beta::AgentSessionErrorEvent,
15
15
  OpenAI::Beta::AgentSessionEnvironmentReadyEvent,
16
+ OpenAI::Beta::AgentSessionEnvironmentSuspendedEvent,
17
+ OpenAI::Beta::AgentSessionEnvironmentExpiredEvent,
16
18
  OpenAI::Beta::AgentSessionEnvironmentResetEvent,
17
19
  OpenAI::Beta::AgentOutputCommandExecutionOutputDeltaEvent,
18
20
  OpenAI::Beta::AgentSessionCreatedEvent,