openai 0.94.0 → 0.96.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 (170) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +57 -0
  3. data/README.md +5 -2
  4. data/docs/architecture/security-model.md +2 -2
  5. data/examples/audio/record_and_play.rb +1 -1
  6. data/lib/openai/helpers/live/transcript_grouper.rb +264 -0
  7. data/lib/openai/helpers/live/transcript_grouping.rb +309 -0
  8. data/lib/openai/helpers/live/websocket.rb +454 -0
  9. data/lib/openai/helpers/realtime/translation.rb +440 -0
  10. data/lib/openai/helpers/realtime.rb +1 -0
  11. data/lib/openai/helpers/responses_websocket/incremental.rb +246 -0
  12. data/lib/openai/helpers/responses_websocket/transports/async_websocket.rb +183 -0
  13. data/lib/openai/helpers/responses_websocket.rb +1 -0
  14. data/lib/openai/helpers/streaming/response_stream.rb +19 -11
  15. data/lib/openai/helpers/structured_output/chat_completion_parser.rb +0 -2
  16. data/lib/openai/helpers/structured_output/response_parser.rb +1 -2
  17. data/lib/openai/helpers/structured_output/union_of.rb +0 -2
  18. data/lib/openai/helpers/websocket/async_websocket_transport.rb +11 -6
  19. data/lib/openai/helpers/websocket/connection_manager.rb +9 -0
  20. data/lib/openai/internal/read_io_adapter.rb +0 -2
  21. data/lib/openai/internal/stream.rb +0 -2
  22. data/lib/openai/internal/type/base_model.rb +4 -6
  23. data/lib/openai/internal/type/converter.rb +5 -3
  24. data/lib/openai/internal/type/enum.rb +0 -2
  25. data/lib/openai/internal/type/union.rb +0 -6
  26. data/lib/openai/internal/type/unknown.rb +34 -6
  27. data/lib/openai/internal/util.rb +0 -4
  28. data/lib/openai/models/admin/organization/audit_log_list_response.rb +5 -3
  29. data/lib/openai/models/admin/organization/external_storage_configuration.rb +5 -3
  30. data/lib/openai/models/admin/organization/external_storage_create_params.rb +39 -3
  31. data/lib/openai/models/admin/organization/gcp_external_storage_provider.rb +55 -0
  32. data/lib/openai/models/all_models.rb +1 -0
  33. data/lib/openai/models/audio/speech_create_params.rb +9 -0
  34. data/lib/openai/models/audio/transcription_create_response.rb +4 -1
  35. data/lib/openai/models/audio/translation_create_response.rb +4 -1
  36. data/lib/openai/models/beta/agent.rb +1 -0
  37. data/lib/openai/models/beta/agent_create_params.rb +3 -0
  38. data/lib/openai/models/beta/agent_session.rb +1 -0
  39. data/lib/openai/models/beta/agent_update_params.rb +3 -0
  40. data/lib/openai/models/beta/agents/environments/template_create_params.rb +3 -3
  41. data/lib/openai/models/beta/agents/environments/template_update_params.rb +6 -6
  42. data/lib/openai/models/beta/agents/session_create_params.rb +3 -0
  43. data/lib/openai/models/beta/agents/session_update_params.rb +3 -0
  44. data/lib/openai/models/beta/agents/vaults/credential.rb +10 -1
  45. data/lib/openai/models/beta/agents/vaults/credential_create_params.rb +12 -1
  46. data/lib/openai/models/beta/agents/vaults/credential_update_params.rb +14 -3
  47. data/lib/openai/models/beta/beta_response.rb +41 -1
  48. data/lib/openai/models/beta/beta_responses_client_event.rb +80 -1
  49. data/lib/openai/models/beta/beta_web_search_preview_tool.rb +9 -3
  50. data/lib/openai/models/beta/beta_web_search_tool.rb +9 -3
  51. data/lib/openai/models/beta/environment_param.rb +6 -5
  52. data/lib/openai/models/beta/response_compact_params.rb +6 -0
  53. data/lib/openai/models/beta/response_create_params.rb +71 -1
  54. data/lib/openai/models/beta/session_turn_error.rb +3 -0
  55. data/lib/openai/models/chat_model.rb +1 -0
  56. data/lib/openai/models/responses/response.rb +35 -1
  57. data/lib/openai/models/responses/response_compact_params.rb +6 -0
  58. data/lib/openai/models/responses/response_create_params.rb +65 -1
  59. data/lib/openai/models/responses/responses_client_event.rb +70 -1
  60. data/lib/openai/models/responses/web_search_preview_tool.rb +9 -3
  61. data/lib/openai/models/responses/web_search_tool.rb +9 -3
  62. data/lib/openai/models/responses_model.rb +1 -0
  63. data/lib/openai/models/video_create_error.rb +12 -1
  64. data/lib/openai/net_http_client.rb +0 -2
  65. data/lib/openai/resources/admin/organization/external_storage.rb +1 -1
  66. data/lib/openai/resources/audio/transcriptions.rb +5 -3
  67. data/lib/openai/resources/audio/translations.rb +1 -1
  68. data/lib/openai/resources/beta/agents/environments/templates.rb +3 -3
  69. data/lib/openai/resources/beta/agents/vaults/credentials.rb +12 -4
  70. data/lib/openai/resources/beta/responses.rb +8 -2
  71. data/lib/openai/resources/responses.rb +8 -1
  72. data/lib/openai/version.rb +1 -1
  73. data/lib/openai.rb +2 -0
  74. data/rbi/openai/helpers/live/transcript_grouper.rbi +67 -0
  75. data/rbi/openai/helpers/live/websocket.rbi +299 -0
  76. data/rbi/openai/helpers/realtime/translation.rbi +137 -0
  77. data/rbi/openai/helpers/responses_websocket/incremental.rbi +32 -0
  78. data/rbi/openai/helpers/responses_websocket/transports/async_websocket.rbi +24 -0
  79. data/rbi/openai/helpers/streaming/response_stream.rbi +5 -0
  80. data/rbi/openai/internal/type/converter.rbi +3 -2
  81. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +6 -3
  82. data/rbi/openai/models/admin/organization/external_storage_configuration.rbi +4 -2
  83. data/rbi/openai/models/admin/organization/external_storage_create_params.rbi +76 -4
  84. data/rbi/openai/models/admin/organization/gcp_external_storage_provider.rbi +100 -0
  85. data/rbi/openai/models/all_models.rbi +1 -0
  86. data/rbi/openai/models/audio/speech_create_params.rbi +3 -0
  87. data/rbi/openai/models/audio/transcription_create_response.rbi +2 -1
  88. data/rbi/openai/models/audio/translation_create_response.rbi +2 -1
  89. data/rbi/openai/models/beta/agent.rbi +1 -0
  90. data/rbi/openai/models/beta/agent_create_params.rbi +3 -0
  91. data/rbi/openai/models/beta/agent_session.rbi +1 -0
  92. data/rbi/openai/models/beta/agent_update_params.rbi +3 -0
  93. data/rbi/openai/models/beta/agents/environments/template_create_params.rbi +3 -3
  94. data/rbi/openai/models/beta/agents/environments/template_update_params.rbi +6 -6
  95. data/rbi/openai/models/beta/agents/session_create_params.rbi +3 -0
  96. data/rbi/openai/models/beta/agents/session_update_params.rbi +3 -0
  97. data/rbi/openai/models/beta/agents/vaults/credential.rbi +10 -0
  98. data/rbi/openai/models/beta/agents/vaults/credential_create_params.rbi +15 -0
  99. data/rbi/openai/models/beta/agents/vaults/credential_update_params.rbi +35 -6
  100. data/rbi/openai/models/beta/beta_response.rbi +65 -0
  101. data/rbi/openai/models/beta/beta_responses_client_event.rbi +132 -0
  102. data/rbi/openai/models/beta/beta_web_search_preview_tool.rbi +9 -3
  103. data/rbi/openai/models/beta/beta_web_search_tool.rbi +9 -3
  104. data/rbi/openai/models/beta/environment_param.rbi +5 -4
  105. data/rbi/openai/models/beta/response_compact_params.rbi +5 -0
  106. data/rbi/openai/models/beta/response_create_params.rbi +104 -0
  107. data/rbi/openai/models/beta/session_turn_error.rbi +6 -0
  108. data/rbi/openai/models/chat_model.rbi +1 -0
  109. data/rbi/openai/models/responses/response.rbi +63 -0
  110. data/rbi/openai/models/responses/response_compact_params.rbi +5 -0
  111. data/rbi/openai/models/responses/response_create_params.rbi +106 -0
  112. data/rbi/openai/models/responses/responses_client_event.rbi +125 -0
  113. data/rbi/openai/models/responses/web_search_preview_tool.rbi +9 -3
  114. data/rbi/openai/models/responses/web_search_tool.rbi +9 -3
  115. data/rbi/openai/models/responses_model.rbi +4 -0
  116. data/rbi/openai/models/video_create_error.rbi +20 -1
  117. data/rbi/openai/resources/admin/organization/external_storage.rbi +2 -1
  118. data/rbi/openai/resources/audio/transcriptions.rbi +4 -2
  119. data/rbi/openai/resources/beta/agents/environments/templates.rbi +3 -3
  120. data/rbi/openai/resources/beta/agents/vaults/credentials.rbi +11 -3
  121. data/rbi/openai/resources/beta/responses.rbi +6 -0
  122. data/rbi/openai/resources/responses.rbi +11 -0
  123. data/responses-websocket.md +55 -0
  124. data/sig/openai/helpers/live/transcript_grouper.rbs +42 -0
  125. data/sig/openai/helpers/live/websocket.rbs +152 -0
  126. data/sig/openai/helpers/realtime/translation.rbs +81 -0
  127. data/sig/openai/helpers/responses_websocket/incremental.rbs +14 -0
  128. data/sig/openai/helpers/responses_websocket/transports/async_websocket.rbs +21 -0
  129. data/sig/openai/helpers/streaming/response_stream.rbs +9 -0
  130. data/sig/openai/internal/type/converter.rbs +3 -1
  131. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +1 -0
  132. data/sig/openai/models/admin/organization/external_storage_configuration.rbs +1 -0
  133. data/sig/openai/models/admin/organization/external_storage_create_params.rbs +38 -0
  134. data/sig/openai/models/admin/organization/gcp_external_storage_provider.rbs +54 -0
  135. data/sig/openai/models/all_models.rbs +2 -0
  136. data/sig/openai/models/audio/speech_create_params.rbs +6 -0
  137. data/sig/openai/models/audio/transcription_create_response.rbs +1 -0
  138. data/sig/openai/models/audio/translation_create_response.rbs +3 -1
  139. data/sig/openai/models/beta/agent.rbs +3 -1
  140. data/sig/openai/models/beta/agent_create_params.rbs +5 -1
  141. data/sig/openai/models/beta/agent_session.rbs +3 -1
  142. data/sig/openai/models/beta/agent_update_params.rbs +5 -1
  143. data/sig/openai/models/beta/agents/environments/template_create_params.rbs +2 -2
  144. data/sig/openai/models/beta/agents/environments/template_update_params.rbs +4 -4
  145. data/sig/openai/models/beta/agents/session_create_params.rbs +5 -1
  146. data/sig/openai/models/beta/agents/session_update_params.rbs +5 -1
  147. data/sig/openai/models/beta/agents/vaults/credential.rbs +8 -0
  148. data/sig/openai/models/beta/agents/vaults/credential_create_params.rbs +14 -0
  149. data/sig/openai/models/beta/agents/vaults/credential_update_params.rbs +23 -4
  150. data/sig/openai/models/beta/beta_response.rbs +39 -0
  151. data/sig/openai/models/beta/beta_responses_client_event.rbs +81 -0
  152. data/sig/openai/models/beta/beta_web_search_preview_tool.rbs +6 -2
  153. data/sig/openai/models/beta/beta_web_search_tool.rbs +6 -2
  154. data/sig/openai/models/beta/environment_param.rbs +2 -2
  155. data/sig/openai/models/beta/response_compact_params.rbs +4 -0
  156. data/sig/openai/models/beta/response_create_params.rbs +81 -0
  157. data/sig/openai/models/beta/session_turn_error.rbs +4 -0
  158. data/sig/openai/models/chat_model.rbs +2 -0
  159. data/sig/openai/models/responses/response.rbs +35 -0
  160. data/sig/openai/models/responses/response_compact_params.rbs +4 -0
  161. data/sig/openai/models/responses/response_create_params.rbs +77 -0
  162. data/sig/openai/models/responses/responses_client_event.rbs +77 -0
  163. data/sig/openai/models/responses/web_search_preview_tool.rbs +6 -2
  164. data/sig/openai/models/responses/web_search_tool.rbs +6 -2
  165. data/sig/openai/models/responses_model.rbs +2 -0
  166. data/sig/openai/models/video_create_error.rbs +14 -0
  167. data/sig/openai/resources/beta/agents/vaults/credentials.rbs +3 -1
  168. data/sig/openai/resources/beta/responses.rbs +2 -0
  169. data/sig/openai/resources/responses.rbs +4 -0
  170. metadata +17 -1
@@ -14,6 +14,7 @@ module OpenAI
14
14
  type response_create =
15
15
  {
16
16
  ?type: :"response.create",
17
+ ?access_programs: OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::AccessPrograms,
17
18
  ?background: bool?,
18
19
  ?context_management: ::Array[OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::ContextManagement]?,
19
20
  ?conversation: OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::conversation?,
@@ -53,6 +54,14 @@ module OpenAI
53
54
  # The type of the client event. Always `response.create`.
54
55
  attr_accessor type: :"response.create"
55
56
 
57
+ # Domain-specific access programs to use for this request.
58
+ attr_reader access_programs: OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::AccessPrograms?
59
+
60
+ # Domain-specific access programs to use for this request.
61
+ def access_programs=: (
62
+ OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::AccessPrograms
63
+ ) -> OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::AccessPrograms
64
+
56
65
  # Whether to run the model response in the background.
57
66
  # [Learn more](https://developers.openai.com/api/docs/guides/background).
58
67
  attr_accessor background: bool?
@@ -405,6 +414,8 @@ module OpenAI
405
414
  # [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
406
415
  def user=: (String) -> String
407
416
 
417
+ # @param access_programs
418
+ # Domain-specific access programs to use for this request.
408
419
  # @param background
409
420
  # Whether to run the model response in the background.
410
421
  # [Learn more](https://developers.openai.com/api/docs/guides/background).
@@ -638,6 +649,7 @@ module OpenAI
638
649
  # @param type
639
650
  # The type of the client event. Always `response.create`.
640
651
  def initialize: (
652
+ ?access_programs: OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::AccessPrograms,
641
653
  ?background: bool?,
642
654
  ?context_management: ::Array[OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::ContextManagement]?,
643
655
  ?conversation: OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::conversation?,
@@ -676,6 +688,7 @@ module OpenAI
676
688
 
677
689
  def to_hash: -> {
678
690
  ?type: :"response.create",
691
+ ?access_programs: OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::AccessPrograms,
679
692
  ?background: bool?,
680
693
  ?context_management: ::Array[OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::ContextManagement]?,
681
694
  ?conversation: OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::conversation?,
@@ -711,6 +724,70 @@ module OpenAI
711
724
  ?user: String
712
725
  }
713
726
 
727
+ type access_programs =
728
+ {
729
+ ?cyber: OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::AccessPrograms::cyber
730
+ }
731
+
732
+ class AccessPrograms < OpenAI::Internal::Type::BaseModel
733
+ # The Cyber access program to use for this request. Supported values are
734
+ # `standard`, `daybreak_blue`, and `daybreak_red`. If omitted, the API resolves
735
+ # the program from the model's Cyber tier and your organization and project
736
+ # access, subject to model-specific eligibility restrictions. By default, models
737
+ # without a Cyber tier use Standard. Blue-tier models use Daybreak Blue when
738
+ # authorized; otherwise they fall back to Standard unless the model requires
739
+ # Daybreak access. Red-tier models use Daybreak Red and require authorization.
740
+ # Requests that require unavailable Daybreak access return 403. An implicit
741
+ # Standard fallback is represented by null in the response's access_programs
742
+ # field, rather than an explicit Standard selection.
743
+ attr_reader cyber: OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::AccessPrograms::cyber?
744
+
745
+ # The Cyber access program to use for this request. Supported values are
746
+ # `standard`, `daybreak_blue`, and `daybreak_red`. If omitted, the API resolves
747
+ # the program from the model's Cyber tier and your organization and project
748
+ # access, subject to model-specific eligibility restrictions. By default, models
749
+ # without a Cyber tier use Standard. Blue-tier models use Daybreak Blue when
750
+ # authorized; otherwise they fall back to Standard unless the model requires
751
+ # Daybreak access. Red-tier models use Daybreak Red and require authorization.
752
+ # Requests that require unavailable Daybreak access return 403. An implicit
753
+ # Standard fallback is represented by null in the response's access_programs
754
+ # field, rather than an explicit Standard selection.
755
+ def cyber=: (
756
+ OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::AccessPrograms::cyber
757
+ ) -> OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::AccessPrograms::cyber
758
+
759
+ # @param cyber
760
+ # The Cyber access program to use for this request. Supported values are
761
+ # `standard`, `daybreak_blue`, and `daybreak_red`. If omitted, the API resolves
762
+ # the program from the model's Cyber tier and your organization and project
763
+ # access, subject to model-specific eligibility restrictions. By default, models
764
+ # without a Cyber tier use Standard. Blue-tier models use Daybreak Blue when
765
+ # authorized; otherwise they fall back to Standard unless the model requires
766
+ # Daybreak access. Red-tier models use Daybreak Red and require authorization.
767
+ # Requests that require unavailable Daybreak access return 403. An implicit
768
+ # Standard fallback is represented by null in the response's access_programs
769
+ # field, rather than an explicit Standard selection.
770
+ def initialize: (
771
+ ?cyber: OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::AccessPrograms::cyber
772
+ ) -> void
773
+
774
+ def to_hash: -> {
775
+ ?cyber: OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::AccessPrograms::cyber
776
+ }
777
+
778
+ type cyber = :standard | :daybreak_blue | :daybreak_red
779
+
780
+ module Cyber
781
+ extend OpenAI::Internal::Type::Enum
782
+
783
+ STANDARD: :standard
784
+ DAYBREAK_BLUE: :daybreak_blue
785
+ DAYBREAK_RED: :daybreak_red
786
+
787
+ def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::AccessPrograms::cyber]
788
+ end
789
+ end
790
+
714
791
  type context_management =
715
792
  { type: String, ?compact_threshold: Integer? }
716
793
 
@@ -749,6 +826,7 @@ module OpenAI
749
826
 
750
827
  type model =
751
828
  :"gpt-6-astra"
829
+ | :"gpt-6.1-sol"
752
830
  | :"gpt-6-sol"
753
831
  | :"gpt-6-luna"
754
832
  | :"gpt-5.6-sol"
@@ -855,6 +933,7 @@ module OpenAI
855
933
  | :"gpt-daybreak-blue-latest"
856
934
  | :"gpt-daybreak-red-latest"
857
935
  | :"gpt-5.6-cyber"
936
+ | :"gpt-rosalind-research"
858
937
  | String
859
938
 
860
939
  module Model
@@ -863,6 +942,7 @@ module OpenAI
863
942
  def self?.variants: -> ::Array[OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::model]
864
943
 
865
944
  GPT_6_ASTRA: :"gpt-6-astra"
945
+ GPT_6_1_SOL: :"gpt-6.1-sol"
866
946
  GPT_6_SOL: :"gpt-6-sol"
867
947
  GPT_6_LUNA: :"gpt-6-luna"
868
948
  GPT_5_6_SOL: :"gpt-5.6-sol"
@@ -969,6 +1049,7 @@ module OpenAI
969
1049
  GPT_DAYBREAK_BLUE_LATEST: :"gpt-daybreak-blue-latest"
970
1050
  GPT_DAYBREAK_RED_LATEST: :"gpt-daybreak-red-latest"
971
1051
  GPT_5_6_CYBER: :"gpt-5.6-cyber"
1052
+ GPT_ROSALIND_RESEARCH: :"gpt-rosalind-research"
972
1053
  end
973
1054
 
974
1055
  type moderation =
@@ -32,7 +32,9 @@ module OpenAI
32
32
  OpenAI::Models::Beta::BetaWebSearchPreviewTool::search_context_size
33
33
  ) -> OpenAI::Models::Beta::BetaWebSearchPreviewTool::search_context_size
34
34
 
35
- # The user's location.
35
+ # The approximate location of the user. If omitted or null, defaults to the United
36
+ # States. To avoid this fallback, pass `{"type": "approximate"}` without location
37
+ # fields. To localize results, provide the relevant location fields.
36
38
  attr_accessor user_location: OpenAI::Beta::BetaWebSearchPreviewTool::UserLocation?
37
39
 
38
40
  # @param type
@@ -42,7 +44,9 @@ module OpenAI
42
44
  # High level guidance for the amount of context window space to use for the
43
45
  # search. One of `low`, `medium`, or `high`. `medium` is the default.
44
46
  # @param user_location
45
- # The user's location.
47
+ # The approximate location of the user. If omitted or null, defaults to the United
48
+ # States. To avoid this fallback, pass `{"type": "approximate"}` without location
49
+ # fields. To localize results, provide the relevant location fields.
46
50
  def initialize: (
47
51
  type: OpenAI::Models::Beta::BetaWebSearchPreviewTool::type_,
48
52
  ?search_content_types: ::Array[OpenAI::Models::Beta::BetaWebSearchPreviewTool::search_content_type],
@@ -39,7 +39,9 @@ module OpenAI
39
39
  OpenAI::Models::Beta::BetaWebSearchTool::search_context_size
40
40
  ) -> OpenAI::Models::Beta::BetaWebSearchTool::search_context_size
41
41
 
42
- # The approximate location of the user.
42
+ # The approximate location of the user. If omitted or null, defaults to the United
43
+ # States. To avoid this fallback, pass `{"type": "approximate"}` without location
44
+ # fields. To localize results, provide the relevant location fields.
43
45
  attr_accessor user_location: OpenAI::Beta::BetaWebSearchTool::UserLocation?
44
46
 
45
47
  # @param type
@@ -54,7 +56,9 @@ module OpenAI
54
56
  # High level guidance for the amount of context window space to use for the
55
57
  # search. One of `low`, `medium`, or `high`. `medium` is the default.
56
58
  # @param user_location
57
- # The approximate location of the user.
59
+ # The approximate location of the user. If omitted or null, defaults to the United
60
+ # States. To avoid this fallback, pass `{"type": "approximate"}` without location
61
+ # fields. To localize results, provide the relevant location fields.
58
62
  def initialize: (
59
63
  type: OpenAI::Models::Beta::BetaWebSearchTool::type_,
60
64
  ?external_web_access: bool,
@@ -59,7 +59,7 @@ module OpenAI
59
59
  attr_accessor files: ::Array[OpenAI::Models::Beta::hosted_environment_file_param]?
60
60
 
61
61
  # Network access policy for the environment. Defaults to disabled for GA requests
62
- # and enabled for alpha/beta requests.
62
+ # and enabled for beta requests.
63
63
  attr_accessor network: OpenAI::Beta::EnvironmentParam::OpenAIHosted::Network?
64
64
 
65
65
  # Packages to install in the environment. Defaults to empty package lists.
@@ -87,7 +87,7 @@ module OpenAI
87
87
  # Files available before the agent starts. Defaults to an empty list.
88
88
  # @param network
89
89
  # Network access policy for the environment. Defaults to disabled for GA requests
90
- # and enabled for alpha/beta requests.
90
+ # and enabled for beta requests.
91
91
  # @param packages
92
92
  # Packages to install in the environment. Defaults to empty package lists.
93
93
  # @param plugins
@@ -159,6 +159,7 @@ module OpenAI
159
159
 
160
160
  type model =
161
161
  :"gpt-6-astra"
162
+ | :"gpt-6.1-sol"
162
163
  | :"gpt-6-sol"
163
164
  | :"gpt-6-luna"
164
165
  | :"gpt-5.6-sol"
@@ -265,6 +266,7 @@ module OpenAI
265
266
  | :"gpt-daybreak-blue-latest"
266
267
  | :"gpt-daybreak-red-latest"
267
268
  | :"gpt-5.6-cyber"
269
+ | :"gpt-rosalind-research"
268
270
  | String
269
271
 
270
272
  module Model
@@ -273,6 +275,7 @@ module OpenAI
273
275
  def self?.variants: -> ::Array[OpenAI::Models::Beta::ResponseCompactParams::model]
274
276
 
275
277
  GPT_6_ASTRA: :"gpt-6-astra"
278
+ GPT_6_1_SOL: :"gpt-6.1-sol"
276
279
  GPT_6_SOL: :"gpt-6-sol"
277
280
  GPT_6_LUNA: :"gpt-6-luna"
278
281
  GPT_5_6_SOL: :"gpt-5.6-sol"
@@ -379,6 +382,7 @@ module OpenAI
379
382
  GPT_DAYBREAK_BLUE_LATEST: :"gpt-daybreak-blue-latest"
380
383
  GPT_DAYBREAK_RED_LATEST: :"gpt-daybreak-red-latest"
381
384
  GPT_5_6_CYBER: :"gpt-5.6-cyber"
385
+ GPT_ROSALIND_RESEARCH: :"gpt-rosalind-research"
382
386
  end
383
387
 
384
388
  type input =
@@ -3,6 +3,7 @@ module OpenAI
3
3
  module Beta
4
4
  type response_create_params =
5
5
  {
6
+ ?access_programs: OpenAI::Beta::ResponseCreateParams::AccessPrograms,
6
7
  ?background: bool?,
7
8
  ?context_management: ::Array[OpenAI::Beta::ResponseCreateParams::ContextManagement]?,
8
9
  ?conversation: OpenAI::Models::Beta::ResponseCreateParams::conversation?,
@@ -42,6 +43,14 @@ module OpenAI
42
43
  extend OpenAI::Internal::Type::RequestParameters::Converter
43
44
  include OpenAI::Internal::Type::RequestParameters
44
45
 
46
+ # Domain-specific access programs to use for this request.
47
+ attr_reader access_programs: OpenAI::Beta::ResponseCreateParams::AccessPrograms?
48
+
49
+ # Domain-specific access programs to use for this request.
50
+ def access_programs=: (
51
+ OpenAI::Beta::ResponseCreateParams::AccessPrograms
52
+ ) -> OpenAI::Beta::ResponseCreateParams::AccessPrograms
53
+
45
54
  # Whether to run the model response in the background.
46
55
  # [Learn more](https://developers.openai.com/api/docs/guides/background).
47
56
  attr_accessor background: bool?
@@ -378,6 +387,8 @@ module OpenAI
378
387
  ::Array[OpenAI::Models::Beta::ResponseCreateParams::beta]
379
388
  ) -> ::Array[OpenAI::Models::Beta::ResponseCreateParams::beta]
380
389
 
390
+ # @param access_programs
391
+ # Domain-specific access programs to use for this request.
381
392
  # @param background
382
393
  # Whether to run the model response in the background.
383
394
  # [Learn more](https://developers.openai.com/api/docs/guides/background).
@@ -596,6 +607,7 @@ module OpenAI
596
607
  # similar requests and to help OpenAI detect and prevent abuse.
597
608
  # [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
598
609
  def initialize: (
610
+ ?access_programs: OpenAI::Beta::ResponseCreateParams::AccessPrograms,
599
611
  ?background: bool?,
600
612
  ?context_management: ::Array[OpenAI::Beta::ResponseCreateParams::ContextManagement]?,
601
613
  ?conversation: OpenAI::Models::Beta::ResponseCreateParams::conversation?,
@@ -632,6 +644,7 @@ module OpenAI
632
644
  ) -> void
633
645
 
634
646
  def to_hash: -> {
647
+ ?access_programs: OpenAI::Beta::ResponseCreateParams::AccessPrograms,
635
648
  ?background: bool?,
636
649
  ?context_management: ::Array[OpenAI::Beta::ResponseCreateParams::ContextManagement]?,
637
650
  ?conversation: OpenAI::Models::Beta::ResponseCreateParams::conversation?,
@@ -667,6 +680,70 @@ module OpenAI
667
680
  ?request_options: OpenAI::RequestOptions
668
681
  }
669
682
 
683
+ type access_programs =
684
+ {
685
+ ?cyber: OpenAI::Models::Beta::ResponseCreateParams::AccessPrograms::cyber
686
+ }
687
+
688
+ class AccessPrograms < OpenAI::Internal::Type::BaseModel
689
+ # The Cyber access program to use for this request. Supported values are
690
+ # `standard`, `daybreak_blue`, and `daybreak_red`. If omitted, the API resolves
691
+ # the program from the model's Cyber tier and your organization and project
692
+ # access, subject to model-specific eligibility restrictions. By default, models
693
+ # without a Cyber tier use Standard. Blue-tier models use Daybreak Blue when
694
+ # authorized; otherwise they fall back to Standard unless the model requires
695
+ # Daybreak access. Red-tier models use Daybreak Red and require authorization.
696
+ # Requests that require unavailable Daybreak access return 403. An implicit
697
+ # Standard fallback is represented by null in the response's access_programs
698
+ # field, rather than an explicit Standard selection.
699
+ attr_reader cyber: OpenAI::Models::Beta::ResponseCreateParams::AccessPrograms::cyber?
700
+
701
+ # The Cyber access program to use for this request. Supported values are
702
+ # `standard`, `daybreak_blue`, and `daybreak_red`. If omitted, the API resolves
703
+ # the program from the model's Cyber tier and your organization and project
704
+ # access, subject to model-specific eligibility restrictions. By default, models
705
+ # without a Cyber tier use Standard. Blue-tier models use Daybreak Blue when
706
+ # authorized; otherwise they fall back to Standard unless the model requires
707
+ # Daybreak access. Red-tier models use Daybreak Red and require authorization.
708
+ # Requests that require unavailable Daybreak access return 403. An implicit
709
+ # Standard fallback is represented by null in the response's access_programs
710
+ # field, rather than an explicit Standard selection.
711
+ def cyber=: (
712
+ OpenAI::Models::Beta::ResponseCreateParams::AccessPrograms::cyber
713
+ ) -> OpenAI::Models::Beta::ResponseCreateParams::AccessPrograms::cyber
714
+
715
+ # @param cyber
716
+ # The Cyber access program to use for this request. Supported values are
717
+ # `standard`, `daybreak_blue`, and `daybreak_red`. If omitted, the API resolves
718
+ # the program from the model's Cyber tier and your organization and project
719
+ # access, subject to model-specific eligibility restrictions. By default, models
720
+ # without a Cyber tier use Standard. Blue-tier models use Daybreak Blue when
721
+ # authorized; otherwise they fall back to Standard unless the model requires
722
+ # Daybreak access. Red-tier models use Daybreak Red and require authorization.
723
+ # Requests that require unavailable Daybreak access return 403. An implicit
724
+ # Standard fallback is represented by null in the response's access_programs
725
+ # field, rather than an explicit Standard selection.
726
+ def initialize: (
727
+ ?cyber: OpenAI::Models::Beta::ResponseCreateParams::AccessPrograms::cyber
728
+ ) -> void
729
+
730
+ def to_hash: -> {
731
+ ?cyber: OpenAI::Models::Beta::ResponseCreateParams::AccessPrograms::cyber
732
+ }
733
+
734
+ type cyber = :standard | :daybreak_blue | :daybreak_red
735
+
736
+ module Cyber
737
+ extend OpenAI::Internal::Type::Enum
738
+
739
+ STANDARD: :standard
740
+ DAYBREAK_BLUE: :daybreak_blue
741
+ DAYBREAK_RED: :daybreak_red
742
+
743
+ def self?.values: -> ::Array[OpenAI::Models::Beta::ResponseCreateParams::AccessPrograms::cyber]
744
+ end
745
+ end
746
+
670
747
  type context_management = { type: String, ?compact_threshold: Integer? }
671
748
 
672
749
  class ContextManagement < OpenAI::Internal::Type::BaseModel
@@ -703,6 +780,7 @@ module OpenAI
703
780
 
704
781
  type model =
705
782
  :"gpt-6-astra"
783
+ | :"gpt-6.1-sol"
706
784
  | :"gpt-6-sol"
707
785
  | :"gpt-6-luna"
708
786
  | :"gpt-5.6-sol"
@@ -809,6 +887,7 @@ module OpenAI
809
887
  | :"gpt-daybreak-blue-latest"
810
888
  | :"gpt-daybreak-red-latest"
811
889
  | :"gpt-5.6-cyber"
890
+ | :"gpt-rosalind-research"
812
891
  | String
813
892
 
814
893
  module Model
@@ -817,6 +896,7 @@ module OpenAI
817
896
  def self?.variants: -> ::Array[OpenAI::Models::Beta::ResponseCreateParams::model]
818
897
 
819
898
  GPT_6_ASTRA: :"gpt-6-astra"
899
+ GPT_6_1_SOL: :"gpt-6.1-sol"
820
900
  GPT_6_SOL: :"gpt-6-sol"
821
901
  GPT_6_LUNA: :"gpt-6-luna"
822
902
  GPT_5_6_SOL: :"gpt-5.6-sol"
@@ -923,6 +1003,7 @@ module OpenAI
923
1003
  GPT_DAYBREAK_BLUE_LATEST: :"gpt-daybreak-blue-latest"
924
1004
  GPT_DAYBREAK_RED_LATEST: :"gpt-daybreak-red-latest"
925
1005
  GPT_5_6_CYBER: :"gpt-5.6-cyber"
1006
+ GPT_ROSALIND_RESEARCH: :"gpt-rosalind-research"
926
1007
  end
927
1008
 
928
1009
  type moderation =
@@ -33,6 +33,7 @@ module OpenAI
33
33
  | :rate_limit_exceeded
34
34
  | :server_overloaded
35
35
  | :cyber_policy
36
+ | :misalignment_policy_violation
36
37
  | :connection_failed
37
38
  | :server_error
38
39
  | :authentication_error
@@ -68,6 +69,9 @@ module OpenAI
68
69
  # The request was rejected by a safety policy.
69
70
  CYBER_POLICY: :cyber_policy
70
71
 
72
+ # The request was blocked by the safety systems.
73
+ MISALIGNMENT_POLICY_VIOLATION: :misalignment_policy_violation
74
+
71
75
  # The request could not connect to the model service.
72
76
  CONNECTION_FAILED: :connection_failed
73
77
 
@@ -2,6 +2,7 @@ module OpenAI
2
2
  module Models
3
3
  type chat_model =
4
4
  :"gpt-6-astra"
5
+ | :"gpt-6.1-sol"
5
6
  | :"gpt-6-sol"
6
7
  | :"gpt-6-luna"
7
8
  | :"gpt-5.6-sol"
@@ -94,6 +95,7 @@ module OpenAI
94
95
  extend OpenAI::Internal::Type::Enum
95
96
 
96
97
  GPT_6_ASTRA: :"gpt-6-astra"
98
+ GPT_6_1_SOL: :"gpt-6.1-sol"
97
99
  GPT_6_SOL: :"gpt-6-sol"
98
100
  GPT_6_LUNA: :"gpt-6-luna"
99
101
  GPT_5_6_SOL: :"gpt-5.6-sol"
@@ -4,6 +4,7 @@ module OpenAI
4
4
  type response =
5
5
  {
6
6
  id: String,
7
+ access_programs: OpenAI::Responses::Response::AccessPrograms?,
7
8
  created_at: Float,
8
9
  error: OpenAI::Responses::ResponseError?,
9
10
  incomplete_details: OpenAI::Responses::Response::IncompleteDetails?,
@@ -44,6 +45,8 @@ module OpenAI
44
45
  # Unique identifier for this Response.
45
46
  attr_accessor id: String
46
47
 
48
+ attr_accessor access_programs: OpenAI::Responses::Response::AccessPrograms?
49
+
47
50
  # Unix timestamp (in seconds) of when this Response was created.
48
51
  attr_accessor created_at: Float
49
52
 
@@ -515,6 +518,7 @@ module OpenAI
515
518
  # The object type of this resource - always set to `response`.
516
519
  def initialize: (
517
520
  id: String,
521
+ access_programs: OpenAI::Responses::Response::AccessPrograms?,
518
522
  created_at: Float,
519
523
  error: OpenAI::Responses::ResponseError?,
520
524
  incomplete_details: OpenAI::Responses::Response::IncompleteDetails?,
@@ -553,6 +557,7 @@ module OpenAI
553
557
 
554
558
  def to_hash: -> {
555
559
  id: String,
560
+ access_programs: OpenAI::Responses::Response::AccessPrograms?,
556
561
  created_at: Float,
557
562
  error: OpenAI::Responses::ResponseError?,
558
563
  incomplete_details: OpenAI::Responses::Response::IncompleteDetails?,
@@ -589,6 +594,36 @@ module OpenAI
589
594
  ?user: String
590
595
  }
591
596
 
597
+ type access_programs =
598
+ { cyber: OpenAI::Models::Responses::Response::AccessPrograms::cyber }
599
+
600
+ class AccessPrograms < OpenAI::Internal::Type::BaseModel
601
+ # The effective Cyber access program used for this response.
602
+ attr_accessor cyber: OpenAI::Models::Responses::Response::AccessPrograms::cyber
603
+
604
+ # @param cyber
605
+ # The effective Cyber access program used for this response.
606
+ def initialize: (
607
+ cyber: OpenAI::Models::Responses::Response::AccessPrograms::cyber
608
+ ) -> void
609
+
610
+ def to_hash: -> {
611
+ cyber: OpenAI::Models::Responses::Response::AccessPrograms::cyber
612
+ }
613
+
614
+ type cyber = :standard | :daybreak_blue | :daybreak_red
615
+
616
+ module Cyber
617
+ extend OpenAI::Internal::Type::Enum
618
+
619
+ STANDARD: :standard
620
+ DAYBREAK_BLUE: :daybreak_blue
621
+ DAYBREAK_RED: :daybreak_red
622
+
623
+ def self?.values: -> ::Array[OpenAI::Models::Responses::Response::AccessPrograms::cyber]
624
+ end
625
+ end
626
+
592
627
  type incomplete_details =
593
628
  {
594
629
  ?reason: OpenAI::Models::Responses::Response::IncompleteDetails::reason
@@ -150,6 +150,7 @@ module OpenAI
150
150
 
151
151
  type model =
152
152
  :"gpt-6-astra"
153
+ | :"gpt-6.1-sol"
153
154
  | :"gpt-6-sol"
154
155
  | :"gpt-6-luna"
155
156
  | :"gpt-5.6-sol"
@@ -256,6 +257,7 @@ module OpenAI
256
257
  | :"gpt-daybreak-blue-latest"
257
258
  | :"gpt-daybreak-red-latest"
258
259
  | :"gpt-5.6-cyber"
260
+ | :"gpt-rosalind-research"
259
261
  | String
260
262
 
261
263
  module Model
@@ -264,6 +266,7 @@ module OpenAI
264
266
  def self?.variants: -> ::Array[OpenAI::Models::Responses::ResponseCompactParams::model]
265
267
 
266
268
  GPT_6_ASTRA: :"gpt-6-astra"
269
+ GPT_6_1_SOL: :"gpt-6.1-sol"
267
270
  GPT_6_SOL: :"gpt-6-sol"
268
271
  GPT_6_LUNA: :"gpt-6-luna"
269
272
  GPT_5_6_SOL: :"gpt-5.6-sol"
@@ -370,6 +373,7 @@ module OpenAI
370
373
  GPT_DAYBREAK_BLUE_LATEST: :"gpt-daybreak-blue-latest"
371
374
  GPT_DAYBREAK_RED_LATEST: :"gpt-daybreak-red-latest"
372
375
  GPT_5_6_CYBER: :"gpt-5.6-cyber"
376
+ GPT_ROSALIND_RESEARCH: :"gpt-rosalind-research"
373
377
  end
374
378
 
375
379
  type input =
@@ -3,6 +3,7 @@ module OpenAI
3
3
  module Responses
4
4
  type response_create_params =
5
5
  {
6
+ ?access_programs: OpenAI::Responses::ResponseCreateParams::AccessPrograms,
6
7
  ?background: bool?,
7
8
  ?context_management: ::Array[OpenAI::Responses::ResponseCreateParams::ContextManagement]?,
8
9
  ?conversation: OpenAI::Models::Responses::ResponseCreateParams::conversation?,
@@ -40,6 +41,14 @@ module OpenAI
40
41
  extend OpenAI::Internal::Type::RequestParameters::Converter
41
42
  include OpenAI::Internal::Type::RequestParameters
42
43
 
44
+ # Domain-specific access programs to use for this request.
45
+ attr_reader access_programs: OpenAI::Responses::ResponseCreateParams::AccessPrograms?
46
+
47
+ # Domain-specific access programs to use for this request.
48
+ def access_programs=: (
49
+ OpenAI::Responses::ResponseCreateParams::AccessPrograms
50
+ ) -> OpenAI::Responses::ResponseCreateParams::AccessPrograms
51
+
43
52
  # Whether to run the model response in the background.
44
53
  # [Learn more](https://developers.openai.com/api/docs/guides/background).
45
54
  attr_accessor background: bool?
@@ -367,6 +376,8 @@ module OpenAI
367
376
  # [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
368
377
  def user=: (String) -> String
369
378
 
379
+ # @param access_programs
380
+ # Domain-specific access programs to use for this request.
370
381
  # @param background
371
382
  # Whether to run the model response in the background.
372
383
  # [Learn more](https://developers.openai.com/api/docs/guides/background).
@@ -583,6 +594,7 @@ module OpenAI
583
594
  # similar requests and to help OpenAI detect and prevent abuse.
584
595
  # [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
585
596
  def initialize: (
597
+ ?access_programs: OpenAI::Responses::ResponseCreateParams::AccessPrograms,
586
598
  ?background: bool?,
587
599
  ?context_management: ::Array[OpenAI::Responses::ResponseCreateParams::ContextManagement]?,
588
600
  ?conversation: OpenAI::Models::Responses::ResponseCreateParams::conversation?,
@@ -617,6 +629,7 @@ module OpenAI
617
629
  ) -> void
618
630
 
619
631
  def to_hash: -> {
632
+ ?access_programs: OpenAI::Responses::ResponseCreateParams::AccessPrograms,
620
633
  ?background: bool?,
621
634
  ?context_management: ::Array[OpenAI::Responses::ResponseCreateParams::ContextManagement]?,
622
635
  ?conversation: OpenAI::Models::Responses::ResponseCreateParams::conversation?,
@@ -650,6 +663,70 @@ module OpenAI
650
663
  ?request_options: OpenAI::RequestOptions
651
664
  }
652
665
 
666
+ type access_programs =
667
+ {
668
+ ?cyber: OpenAI::Models::Responses::ResponseCreateParams::AccessPrograms::cyber
669
+ }
670
+
671
+ class AccessPrograms < OpenAI::Internal::Type::BaseModel
672
+ # The Cyber access program to use for this request. Supported values are
673
+ # `standard`, `daybreak_blue`, and `daybreak_red`. If omitted, the API resolves
674
+ # the program from the model's Cyber tier and your organization and project
675
+ # access, subject to model-specific eligibility restrictions. By default, models
676
+ # without a Cyber tier use Standard. Blue-tier models use Daybreak Blue when
677
+ # authorized; otherwise they fall back to Standard unless the model requires
678
+ # Daybreak access. Red-tier models use Daybreak Red and require authorization.
679
+ # Requests that require unavailable Daybreak access return 403. An implicit
680
+ # Standard fallback is represented by null in the response's access_programs
681
+ # field, rather than an explicit Standard selection.
682
+ attr_reader cyber: OpenAI::Models::Responses::ResponseCreateParams::AccessPrograms::cyber?
683
+
684
+ # The Cyber access program to use for this request. Supported values are
685
+ # `standard`, `daybreak_blue`, and `daybreak_red`. If omitted, the API resolves
686
+ # the program from the model's Cyber tier and your organization and project
687
+ # access, subject to model-specific eligibility restrictions. By default, models
688
+ # without a Cyber tier use Standard. Blue-tier models use Daybreak Blue when
689
+ # authorized; otherwise they fall back to Standard unless the model requires
690
+ # Daybreak access. Red-tier models use Daybreak Red and require authorization.
691
+ # Requests that require unavailable Daybreak access return 403. An implicit
692
+ # Standard fallback is represented by null in the response's access_programs
693
+ # field, rather than an explicit Standard selection.
694
+ def cyber=: (
695
+ OpenAI::Models::Responses::ResponseCreateParams::AccessPrograms::cyber
696
+ ) -> OpenAI::Models::Responses::ResponseCreateParams::AccessPrograms::cyber
697
+
698
+ # @param cyber
699
+ # The Cyber access program to use for this request. Supported values are
700
+ # `standard`, `daybreak_blue`, and `daybreak_red`. If omitted, the API resolves
701
+ # the program from the model's Cyber tier and your organization and project
702
+ # access, subject to model-specific eligibility restrictions. By default, models
703
+ # without a Cyber tier use Standard. Blue-tier models use Daybreak Blue when
704
+ # authorized; otherwise they fall back to Standard unless the model requires
705
+ # Daybreak access. Red-tier models use Daybreak Red and require authorization.
706
+ # Requests that require unavailable Daybreak access return 403. An implicit
707
+ # Standard fallback is represented by null in the response's access_programs
708
+ # field, rather than an explicit Standard selection.
709
+ def initialize: (
710
+ ?cyber: OpenAI::Models::Responses::ResponseCreateParams::AccessPrograms::cyber
711
+ ) -> void
712
+
713
+ def to_hash: -> {
714
+ ?cyber: OpenAI::Models::Responses::ResponseCreateParams::AccessPrograms::cyber
715
+ }
716
+
717
+ type cyber = :standard | :daybreak_blue | :daybreak_red
718
+
719
+ module Cyber
720
+ extend OpenAI::Internal::Type::Enum
721
+
722
+ STANDARD: :standard
723
+ DAYBREAK_BLUE: :daybreak_blue
724
+ DAYBREAK_RED: :daybreak_red
725
+
726
+ def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseCreateParams::AccessPrograms::cyber]
727
+ end
728
+ end
729
+
653
730
  type context_management = { type: String, ?compact_threshold: Integer? }
654
731
 
655
732
  class ContextManagement < OpenAI::Internal::Type::BaseModel