openai 0.79.0 → 0.80.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 (106) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -0
  3. data/README.md +1 -1
  4. data/bedrock.md +67 -2
  5. data/lib/openai/models/all_models.rb +2 -0
  6. data/lib/openai/models/beta/beta_mcp_tool_call_error.rb +84 -0
  7. data/lib/openai/models/beta/beta_response.rb +18 -0
  8. data/lib/openai/models/beta/beta_response_input_item.rb +3 -3
  9. data/lib/openai/models/beta/beta_response_item.rb +3 -3
  10. data/lib/openai/models/beta/beta_response_output_item.rb +3 -3
  11. data/lib/openai/models/beta/beta_response_output_item_added_event.rb +5 -2
  12. data/lib/openai/models/beta/beta_response_output_text_annotation_added_event.rb +201 -4
  13. data/lib/openai/models/beta/beta_response_reasoning_item.rb +5 -0
  14. data/lib/openai/models/beta/beta_responses_client_event.rb +18 -0
  15. data/lib/openai/models/beta/beta_responses_server_event.rb +126 -22
  16. data/lib/openai/models/beta/beta_web_search_tool.rb +11 -1
  17. data/lib/openai/models/beta/response_compact_params.rb +9 -0
  18. data/lib/openai/models/beta/response_create_params.rb +18 -0
  19. data/lib/openai/models/chat_model.rb +1 -0
  20. data/lib/openai/models/completion_usage.rb +26 -2
  21. data/lib/openai/models/conversations/conversation_item.rb +3 -3
  22. data/lib/openai/models/model.rb +9 -1
  23. data/lib/openai/models/responses/mcp_tool_call_error.rb +82 -0
  24. data/lib/openai/models/responses/response.rb +9 -0
  25. data/lib/openai/models/responses/response_compact_params.rb +9 -0
  26. data/lib/openai/models/responses/response_create_params.rb +9 -0
  27. data/lib/openai/models/responses/response_input_item.rb +3 -3
  28. data/lib/openai/models/responses/response_item.rb +3 -3
  29. data/lib/openai/models/responses/response_output_item.rb +3 -3
  30. data/lib/openai/models/responses/response_output_item_added_event.rb +5 -2
  31. data/lib/openai/models/responses/response_output_text_annotation_added_event.rb +201 -4
  32. data/lib/openai/models/responses/response_reasoning_item.rb +5 -0
  33. data/lib/openai/models/responses/responses_client_event.rb +9 -0
  34. data/lib/openai/models/responses/responses_server_event.rb +100 -22
  35. data/lib/openai/models/responses/web_search_tool.rb +11 -1
  36. data/lib/openai/models/responses_model.rb +2 -0
  37. data/lib/openai/providers/bedrock.rb +127 -16
  38. data/lib/openai/resources/files.rb +1 -1
  39. data/lib/openai/version.rb +1 -1
  40. data/lib/openai.rb +4 -2
  41. data/rbi/openai/models/all_models.rbi +10 -0
  42. data/rbi/openai/models/beta/beta_mcp_tool_call_error.rbi +122 -0
  43. data/rbi/openai/models/beta/beta_response.rbi +32 -0
  44. data/rbi/openai/models/beta/beta_response_input_item.rbi +27 -3
  45. data/rbi/openai/models/beta/beta_response_item.rbi +27 -3
  46. data/rbi/openai/models/beta/beta_response_output_item.rbi +27 -3
  47. data/rbi/openai/models/beta/beta_response_output_item_added_event.rbi +8 -2
  48. data/rbi/openai/models/beta/beta_response_output_text_annotation_added_event.rbi +297 -5
  49. data/rbi/openai/models/beta/beta_response_reasoning_item.rbi +10 -0
  50. data/rbi/openai/models/beta/beta_responses_client_event.rbi +32 -0
  51. data/rbi/openai/models/beta/beta_responses_server_event.rbi +221 -67
  52. data/rbi/openai/models/beta/beta_web_search_tool.rbi +15 -0
  53. data/rbi/openai/models/beta/response_compact_params.rbi +15 -0
  54. data/rbi/openai/models/beta/response_create_params.rbi +32 -0
  55. data/rbi/openai/models/chat_model.rbi +2 -0
  56. data/rbi/openai/models/completion_usage.rbi +39 -6
  57. data/rbi/openai/models/conversations/conversation_item.rbi +12 -3
  58. data/rbi/openai/models/model.rbi +14 -1
  59. data/rbi/openai/models/responses/mcp_tool_call_error.rbi +120 -0
  60. data/rbi/openai/models/responses/response.rbi +17 -0
  61. data/rbi/openai/models/responses/response_compact_params.rbi +15 -0
  62. data/rbi/openai/models/responses/response_create_params.rbi +17 -0
  63. data/rbi/openai/models/responses/response_input_item.rbi +27 -3
  64. data/rbi/openai/models/responses/response_item.rbi +27 -3
  65. data/rbi/openai/models/responses/response_output_item.rbi +27 -3
  66. data/rbi/openai/models/responses/response_output_item_added_event.rbi +8 -2
  67. data/rbi/openai/models/responses/response_output_text_annotation_added_event.rbi +297 -5
  68. data/rbi/openai/models/responses/response_reasoning_item.rbi +10 -0
  69. data/rbi/openai/models/responses/responses_client_event.rbi +17 -0
  70. data/rbi/openai/models/responses/responses_server_event.rbi +165 -62
  71. data/rbi/openai/models/responses/web_search_tool.rbi +15 -0
  72. data/rbi/openai/models/responses_model.rbi +10 -0
  73. data/rbi/openai/providers.rbi +2 -0
  74. data/rbi/openai/resources/beta/responses.rbi +8 -0
  75. data/rbi/openai/resources/files.rbi +1 -1
  76. data/rbi/openai/resources/responses.rbi +8 -0
  77. data/sig/openai/models/all_models.rbs +4 -0
  78. data/sig/openai/models/beta/beta_mcp_tool_call_error.rbs +75 -0
  79. data/sig/openai/models/beta/beta_response.rbs +8 -1
  80. data/sig/openai/models/beta/beta_response_input_item.rbs +4 -4
  81. data/sig/openai/models/beta/beta_response_item.rbs +4 -4
  82. data/sig/openai/models/beta/beta_response_output_item.rbs +4 -4
  83. data/sig/openai/models/beta/beta_response_output_text_annotation_added_event.rbs +149 -4
  84. data/sig/openai/models/beta/beta_responses_client_event.rbs +8 -1
  85. data/sig/openai/models/beta/beta_responses_server_event.rbs +99 -39
  86. data/sig/openai/models/beta/beta_web_search_tool.rbs +7 -0
  87. data/sig/openai/models/beta/response_compact_params.rbs +6 -0
  88. data/sig/openai/models/beta/response_create_params.rbs +8 -1
  89. data/sig/openai/models/chat_model.rbs +2 -0
  90. data/sig/openai/models/completion_usage.rbs +27 -6
  91. data/sig/openai/models/conversations/conversation_item.rbs +4 -4
  92. data/sig/openai/models/model.rbs +12 -2
  93. data/sig/openai/models/responses/mcp_tool_call_error.rbs +73 -0
  94. data/sig/openai/models/responses/response.rbs +2 -1
  95. data/sig/openai/models/responses/response_compact_params.rbs +6 -0
  96. data/sig/openai/models/responses/response_create_params.rbs +2 -1
  97. data/sig/openai/models/responses/response_input_item.rbs +4 -4
  98. data/sig/openai/models/responses/response_item.rbs +4 -4
  99. data/sig/openai/models/responses/response_output_item.rbs +4 -4
  100. data/sig/openai/models/responses/response_output_text_annotation_added_event.rbs +149 -4
  101. data/sig/openai/models/responses/responses_client_event.rbs +2 -1
  102. data/sig/openai/models/responses/responses_server_event.rbs +84 -36
  103. data/sig/openai/models/responses/web_search_tool.rbs +7 -0
  104. data/sig/openai/models/responses_model.rbs +4 -0
  105. data/sig/openai/providers.rbs +1 -0
  106. metadata +7 -1
@@ -0,0 +1,120 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Responses
6
+ module McpToolCallError
7
+ extend OpenAI::Internal::Type::Union
8
+
9
+ Variants =
10
+ T.type_alias do
11
+ T.any(
12
+ OpenAI::Responses::McpToolCallError::McpProtocolError,
13
+ OpenAI::Responses::McpToolCallError::McpToolExecutionError,
14
+ OpenAI::Responses::McpToolCallError::HTTPError
15
+ )
16
+ end
17
+
18
+ class McpProtocolError < OpenAI::Internal::Type::BaseModel
19
+ OrHash =
20
+ T.type_alias do
21
+ T.any(
22
+ OpenAI::Responses::McpToolCallError::McpProtocolError,
23
+ OpenAI::Internal::AnyHash
24
+ )
25
+ end
26
+
27
+ sig { returns(Integer) }
28
+ attr_accessor :code
29
+
30
+ sig { returns(String) }
31
+ attr_accessor :message
32
+
33
+ sig { returns(Symbol) }
34
+ attr_accessor :type
35
+
36
+ sig do
37
+ params(code: Integer, message: String, type: Symbol).returns(
38
+ T.attached_class
39
+ )
40
+ end
41
+ def self.new(code:, message:, type: :mcp_protocol_error)
42
+ end
43
+
44
+ sig do
45
+ override.returns({ code: Integer, message: String, type: Symbol })
46
+ end
47
+ def to_hash
48
+ end
49
+ end
50
+
51
+ class McpToolExecutionError < OpenAI::Internal::Type::BaseModel
52
+ OrHash =
53
+ T.type_alias do
54
+ T.any(
55
+ OpenAI::Responses::McpToolCallError::McpToolExecutionError,
56
+ OpenAI::Internal::AnyHash
57
+ )
58
+ end
59
+
60
+ sig { returns(T.anything) }
61
+ attr_accessor :content
62
+
63
+ sig { returns(Symbol) }
64
+ attr_accessor :type
65
+
66
+ sig do
67
+ params(content: T.anything, type: Symbol).returns(T.attached_class)
68
+ end
69
+ def self.new(content:, type: :mcp_tool_execution_error)
70
+ end
71
+
72
+ sig { override.returns({ content: T.anything, type: Symbol }) }
73
+ def to_hash
74
+ end
75
+ end
76
+
77
+ class HTTPError < OpenAI::Internal::Type::BaseModel
78
+ OrHash =
79
+ T.type_alias do
80
+ T.any(
81
+ OpenAI::Responses::McpToolCallError::HTTPError,
82
+ OpenAI::Internal::AnyHash
83
+ )
84
+ end
85
+
86
+ sig { returns(Integer) }
87
+ attr_accessor :code
88
+
89
+ sig { returns(String) }
90
+ attr_accessor :message
91
+
92
+ sig { returns(Symbol) }
93
+ attr_accessor :type
94
+
95
+ sig do
96
+ params(code: Integer, message: String, type: Symbol).returns(
97
+ T.attached_class
98
+ )
99
+ end
100
+ def self.new(code:, message:, type: :http_error)
101
+ end
102
+
103
+ sig do
104
+ override.returns({ code: Integer, message: String, type: Symbol })
105
+ end
106
+ def to_hash
107
+ end
108
+ end
109
+
110
+ sig do
111
+ override.returns(
112
+ T::Array[OpenAI::Responses::McpToolCallError::Variants]
113
+ )
114
+ end
115
+ def self.variants
116
+ end
117
+ end
118
+ end
119
+ end
120
+ end
@@ -282,6 +282,10 @@ module OpenAI
282
282
  # Responses or Chat Completions. The response will show `service_tier=priority`
283
283
  # regardless of if you specify `service_tier=fast` or `priority` in your
284
284
  # request.
285
+ # - If set to 'ultrafast', then the request will be processed with the
286
+ # access-controlled Ultrafast Processing service tier. This tier is currently
287
+ # available for `gpt-5.6-sol`; a response served through it will show
288
+ # `service_tier=ultrafast`.
285
289
  # - When not set, the default behavior is 'auto'.
286
290
  #
287
291
  # When the `service_tier` parameter is set, the response body will include the
@@ -624,6 +628,10 @@ module OpenAI
624
628
  # Responses or Chat Completions. The response will show `service_tier=priority`
625
629
  # regardless of if you specify `service_tier=fast` or `priority` in your
626
630
  # request.
631
+ # - If set to 'ultrafast', then the request will be processed with the
632
+ # access-controlled Ultrafast Processing service tier. This tier is currently
633
+ # available for `gpt-5.6-sol`; a response served through it will show
634
+ # `service_tier=ultrafast`.
627
635
  # - When not set, the default behavior is 'auto'.
628
636
  #
629
637
  # When the `service_tier` parameter is set, the response body will include the
@@ -1574,6 +1582,10 @@ module OpenAI
1574
1582
  # Responses or Chat Completions. The response will show `service_tier=priority`
1575
1583
  # regardless of if you specify `service_tier=fast` or `priority` in your
1576
1584
  # request.
1585
+ # - If set to 'ultrafast', then the request will be processed with the
1586
+ # access-controlled Ultrafast Processing service tier. This tier is currently
1587
+ # available for `gpt-5.6-sol`; a response served through it will show
1588
+ # `service_tier=ultrafast`.
1577
1589
  # - When not set, the default behavior is 'auto'.
1578
1590
  #
1579
1591
  # When the `service_tier` parameter is set, the response body will include the
@@ -1610,6 +1622,11 @@ module OpenAI
1610
1622
  )
1611
1623
  FAST =
1612
1624
  T.let(:fast, OpenAI::Responses::Response::ServiceTier::TaggedSymbol)
1625
+ ULTRAFAST =
1626
+ T.let(
1627
+ :ultrafast,
1628
+ OpenAI::Responses::Response::ServiceTier::TaggedSymbol
1629
+ )
1613
1630
 
1614
1631
  sig do
1615
1632
  override.returns(
@@ -292,6 +292,11 @@ module OpenAI
292
292
  :"gpt-5.5",
293
293
  OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
294
294
  )
295
+ GPT_5_5_2026_04_23 =
296
+ T.let(
297
+ :"gpt-5.5-2026-04-23",
298
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
299
+ )
295
300
  GPT_5_4 =
296
301
  T.let(
297
302
  :"gpt-5.4",
@@ -732,6 +737,16 @@ module OpenAI
732
737
  :"computer-use-preview-2025-03-11",
733
738
  OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
734
739
  )
740
+ GPT_5_5_PRO =
741
+ T.let(
742
+ :"gpt-5.5-pro",
743
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
744
+ )
745
+ GPT_5_5_PRO_2026_04_23 =
746
+ T.let(
747
+ :"gpt-5.5-pro-2026-04-23",
748
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
749
+ )
735
750
  GPT_5_CODEX =
736
751
  T.let(
737
752
  :"gpt-5-codex",
@@ -285,6 +285,10 @@ module OpenAI
285
285
  # Responses or Chat Completions. The response will show `service_tier=priority`
286
286
  # regardless of if you specify `service_tier=fast` or `priority` in your
287
287
  # request.
288
+ # - If set to 'ultrafast', then the request will be processed with the
289
+ # access-controlled Ultrafast Processing service tier. This tier is currently
290
+ # available for `gpt-5.6-sol`; a response served through it will show
291
+ # `service_tier=ultrafast`.
288
292
  # - When not set, the default behavior is 'auto'.
289
293
  #
290
294
  # When the `service_tier` parameter is set, the response body will include the
@@ -742,6 +746,10 @@ module OpenAI
742
746
  # Responses or Chat Completions. The response will show `service_tier=priority`
743
747
  # regardless of if you specify `service_tier=fast` or `priority` in your
744
748
  # request.
749
+ # - If set to 'ultrafast', then the request will be processed with the
750
+ # access-controlled Ultrafast Processing service tier. This tier is currently
751
+ # available for `gpt-5.6-sol`; a response served through it will show
752
+ # `service_tier=ultrafast`.
745
753
  # - When not set, the default behavior is 'auto'.
746
754
  #
747
755
  # When the `service_tier` parameter is set, the response body will include the
@@ -1543,6 +1551,10 @@ module OpenAI
1543
1551
  # Responses or Chat Completions. The response will show `service_tier=priority`
1544
1552
  # regardless of if you specify `service_tier=fast` or `priority` in your
1545
1553
  # request.
1554
+ # - If set to 'ultrafast', then the request will be processed with the
1555
+ # access-controlled Ultrafast Processing service tier. This tier is currently
1556
+ # available for `gpt-5.6-sol`; a response served through it will show
1557
+ # `service_tier=ultrafast`.
1546
1558
  # - When not set, the default behavior is 'auto'.
1547
1559
  #
1548
1560
  # When the `service_tier` parameter is set, the response body will include the
@@ -1591,6 +1603,11 @@ module OpenAI
1591
1603
  :fast,
1592
1604
  OpenAI::Responses::ResponseCreateParams::ServiceTier::TaggedSymbol
1593
1605
  )
1606
+ ULTRAFAST =
1607
+ T.let(
1608
+ :ultrafast,
1609
+ OpenAI::Responses::ResponseCreateParams::ServiceTier::TaggedSymbol
1610
+ )
1594
1611
 
1595
1612
  sig do
1596
1613
  override.returns(
@@ -3052,7 +3052,17 @@ module OpenAI
3052
3052
  attr_accessor :approval_request_id
3053
3053
 
3054
3054
  # The error from the tool call, if any.
3055
- sig { returns(T.nilable(String)) }
3055
+ sig do
3056
+ returns(
3057
+ T.nilable(
3058
+ T.any(
3059
+ OpenAI::Responses::McpToolCallError::McpProtocolError,
3060
+ OpenAI::Responses::McpToolCallError::McpToolExecutionError,
3061
+ OpenAI::Responses::McpToolCallError::HTTPError
3062
+ )
3063
+ )
3064
+ )
3065
+ end
3056
3066
  attr_accessor :error
3057
3067
 
3058
3068
  # The output from the tool call.
@@ -3086,7 +3096,14 @@ module OpenAI
3086
3096
  name: String,
3087
3097
  server_label: String,
3088
3098
  approval_request_id: T.nilable(String),
3089
- error: T.nilable(String),
3099
+ error:
3100
+ T.nilable(
3101
+ T.any(
3102
+ OpenAI::Responses::McpToolCallError::McpProtocolError::OrHash,
3103
+ OpenAI::Responses::McpToolCallError::McpToolExecutionError::OrHash,
3104
+ OpenAI::Responses::McpToolCallError::HTTPError::OrHash
3105
+ )
3106
+ ),
3090
3107
  output: T.nilable(String),
3091
3108
  status:
3092
3109
  OpenAI::Responses::ResponseInputItem::McpCall::Status::OrSymbol,
@@ -3127,7 +3144,14 @@ module OpenAI
3127
3144
  server_label: String,
3128
3145
  type: Symbol,
3129
3146
  approval_request_id: T.nilable(String),
3130
- error: T.nilable(String),
3147
+ error:
3148
+ T.nilable(
3149
+ T.any(
3150
+ OpenAI::Responses::McpToolCallError::McpProtocolError,
3151
+ OpenAI::Responses::McpToolCallError::McpToolExecutionError,
3152
+ OpenAI::Responses::McpToolCallError::HTTPError
3153
+ )
3154
+ ),
3131
3155
  output: T.nilable(String),
3132
3156
  status:
3133
3157
  OpenAI::Responses::ResponseInputItem::McpCall::Status::OrSymbol
@@ -1099,7 +1099,17 @@ module OpenAI
1099
1099
  attr_accessor :approval_request_id
1100
1100
 
1101
1101
  # The error from the tool call, if any.
1102
- sig { returns(T.nilable(String)) }
1102
+ sig do
1103
+ returns(
1104
+ T.nilable(
1105
+ T.any(
1106
+ OpenAI::Responses::McpToolCallError::McpProtocolError,
1107
+ OpenAI::Responses::McpToolCallError::McpToolExecutionError,
1108
+ OpenAI::Responses::McpToolCallError::HTTPError
1109
+ )
1110
+ )
1111
+ )
1112
+ end
1103
1113
  attr_accessor :error
1104
1114
 
1105
1115
  # The output from the tool call.
@@ -1132,7 +1142,14 @@ module OpenAI
1132
1142
  name: String,
1133
1143
  server_label: String,
1134
1144
  approval_request_id: T.nilable(String),
1135
- error: T.nilable(String),
1145
+ error:
1146
+ T.nilable(
1147
+ T.any(
1148
+ OpenAI::Responses::McpToolCallError::McpProtocolError::OrHash,
1149
+ OpenAI::Responses::McpToolCallError::McpToolExecutionError::OrHash,
1150
+ OpenAI::Responses::McpToolCallError::HTTPError::OrHash
1151
+ )
1152
+ ),
1136
1153
  output: T.nilable(String),
1137
1154
  status:
1138
1155
  OpenAI::Responses::ResponseItem::McpCall::Status::OrSymbol,
@@ -1173,7 +1190,14 @@ module OpenAI
1173
1190
  server_label: String,
1174
1191
  type: Symbol,
1175
1192
  approval_request_id: T.nilable(String),
1176
- error: T.nilable(String),
1193
+ error:
1194
+ T.nilable(
1195
+ T.any(
1196
+ OpenAI::Responses::McpToolCallError::McpProtocolError,
1197
+ OpenAI::Responses::McpToolCallError::McpToolExecutionError,
1198
+ OpenAI::Responses::McpToolCallError::HTTPError
1199
+ )
1200
+ ),
1177
1201
  output: T.nilable(String),
1178
1202
  status:
1179
1203
  OpenAI::Responses::ResponseItem::McpCall::Status::TaggedSymbol
@@ -829,7 +829,17 @@ module OpenAI
829
829
  attr_accessor :approval_request_id
830
830
 
831
831
  # The error from the tool call, if any.
832
- sig { returns(T.nilable(String)) }
832
+ sig do
833
+ returns(
834
+ T.nilable(
835
+ T.any(
836
+ OpenAI::Responses::McpToolCallError::McpProtocolError,
837
+ OpenAI::Responses::McpToolCallError::McpToolExecutionError,
838
+ OpenAI::Responses::McpToolCallError::HTTPError
839
+ )
840
+ )
841
+ )
842
+ end
833
843
  attr_accessor :error
834
844
 
835
845
  # The output from the tool call.
@@ -863,7 +873,14 @@ module OpenAI
863
873
  name: String,
864
874
  server_label: String,
865
875
  approval_request_id: T.nilable(String),
866
- error: T.nilable(String),
876
+ error:
877
+ T.nilable(
878
+ T.any(
879
+ OpenAI::Responses::McpToolCallError::McpProtocolError::OrHash,
880
+ OpenAI::Responses::McpToolCallError::McpToolExecutionError::OrHash,
881
+ OpenAI::Responses::McpToolCallError::HTTPError::OrHash
882
+ )
883
+ ),
867
884
  output: T.nilable(String),
868
885
  status:
869
886
  OpenAI::Responses::ResponseOutputItem::McpCall::Status::OrSymbol,
@@ -904,7 +921,14 @@ module OpenAI
904
921
  server_label: String,
905
922
  type: Symbol,
906
923
  approval_request_id: T.nilable(String),
907
- error: T.nilable(String),
924
+ error:
925
+ T.nilable(
926
+ T.any(
927
+ OpenAI::Responses::McpToolCallError::McpProtocolError,
928
+ OpenAI::Responses::McpToolCallError::McpToolExecutionError,
929
+ OpenAI::Responses::McpToolCallError::HTTPError
930
+ )
931
+ ),
908
932
  output: T.nilable(String),
909
933
  status:
910
934
  OpenAI::Responses::ResponseOutputItem::McpCall::Status::TaggedSymbol
@@ -12,7 +12,10 @@ module OpenAI
12
12
  )
13
13
  end
14
14
 
15
- # The output item that was added.
15
+ # The output item that was added. For reasoning items, `encrypted_content` may be
16
+ # incomplete while the item is in progress. Use the reasoning item from the
17
+ # corresponding `response.output_item.done` event when passing it as input to a
18
+ # subsequent request.
16
19
  sig { returns(OpenAI::Responses::ResponseOutputItem::Variants) }
17
20
  attr_accessor :item
18
21
 
@@ -68,7 +71,10 @@ module OpenAI
68
71
  ).returns(T.attached_class)
69
72
  end
70
73
  def self.new(
71
- # The output item that was added.
74
+ # The output item that was added. For reasoning items, `encrypted_content` may be
75
+ # incomplete while the item is in progress. Use the reasoning item from the
76
+ # corresponding `response.output_item.done` event when passing it as input to a
77
+ # subsequent request.
72
78
  item:,
73
79
  # The index of the output item that was added.
74
80
  output_index:,