openai 0.9.0 → 0.11.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 (164) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +40 -0
  3. data/README.md +79 -1
  4. data/lib/openai/client.rb +11 -0
  5. data/lib/openai/errors.rb +25 -0
  6. data/lib/openai/internal/type/array_of.rb +6 -1
  7. data/lib/openai/internal/type/base_model.rb +76 -24
  8. data/lib/openai/internal/type/boolean.rb +7 -1
  9. data/lib/openai/internal/type/converter.rb +42 -34
  10. data/lib/openai/internal/type/enum.rb +10 -2
  11. data/lib/openai/internal/type/file_input.rb +6 -1
  12. data/lib/openai/internal/type/hash_of.rb +6 -1
  13. data/lib/openai/internal/type/union.rb +12 -7
  14. data/lib/openai/internal/type/unknown.rb +7 -1
  15. data/lib/openai/models/all_models.rb +4 -0
  16. data/lib/openai/models/audio/speech_create_params.rb +23 -2
  17. data/lib/openai/models/audio/transcription.rb +118 -1
  18. data/lib/openai/models/audio/transcription_text_done_event.rb +80 -1
  19. data/lib/openai/models/audio/transcription_verbose.rb +31 -1
  20. data/lib/openai/models/chat/chat_completion.rb +32 -31
  21. data/lib/openai/models/chat/chat_completion_chunk.rb +30 -29
  22. data/lib/openai/models/chat/completion_create_params.rb +34 -31
  23. data/lib/openai/models/fine_tuning/checkpoints/permission_retrieve_response.rb +60 -25
  24. data/lib/openai/models/images_response.rb +92 -1
  25. data/lib/openai/models/responses/response.rb +59 -35
  26. data/lib/openai/models/responses/response_code_interpreter_call_code_delta_event.rb +17 -8
  27. data/lib/openai/models/responses/response_code_interpreter_call_code_done_event.rb +14 -10
  28. data/lib/openai/models/responses/response_code_interpreter_call_completed_event.rb +11 -10
  29. data/lib/openai/models/responses/response_code_interpreter_call_in_progress_event.rb +11 -10
  30. data/lib/openai/models/responses/response_code_interpreter_call_interpreting_event.rb +11 -10
  31. data/lib/openai/models/responses/response_code_interpreter_tool_call.rb +49 -78
  32. data/lib/openai/models/responses/response_create_params.rb +92 -67
  33. data/lib/openai/models/responses/response_function_web_search.rb +115 -1
  34. data/lib/openai/models/responses/response_includable.rb +8 -6
  35. data/lib/openai/models/responses/response_output_text.rb +18 -2
  36. data/lib/openai/models/responses/response_stream_event.rb +2 -2
  37. data/lib/openai/models/responses/tool_choice_mcp.rb +40 -0
  38. data/lib/openai/models/responses/tool_choice_types.rb +0 -3
  39. data/lib/openai/models/responses_model.rb +4 -0
  40. data/lib/openai/models/webhooks/batch_cancelled_webhook_event.rb +84 -0
  41. data/lib/openai/models/webhooks/batch_completed_webhook_event.rb +84 -0
  42. data/lib/openai/models/webhooks/batch_expired_webhook_event.rb +84 -0
  43. data/lib/openai/models/webhooks/batch_failed_webhook_event.rb +84 -0
  44. data/lib/openai/models/webhooks/eval_run_canceled_webhook_event.rb +84 -0
  45. data/lib/openai/models/webhooks/eval_run_failed_webhook_event.rb +84 -0
  46. data/lib/openai/models/webhooks/eval_run_succeeded_webhook_event.rb +84 -0
  47. data/lib/openai/models/webhooks/fine_tuning_job_cancelled_webhook_event.rb +85 -0
  48. data/lib/openai/models/webhooks/fine_tuning_job_failed_webhook_event.rb +85 -0
  49. data/lib/openai/models/webhooks/fine_tuning_job_succeeded_webhook_event.rb +85 -0
  50. data/lib/openai/models/webhooks/response_cancelled_webhook_event.rb +85 -0
  51. data/lib/openai/models/webhooks/response_completed_webhook_event.rb +85 -0
  52. data/lib/openai/models/webhooks/response_failed_webhook_event.rb +84 -0
  53. data/lib/openai/models/webhooks/response_incomplete_webhook_event.rb +85 -0
  54. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +59 -0
  55. data/lib/openai/models/webhooks/webhook_unwrap_params.rb +16 -0
  56. data/lib/openai/models.rb +2 -0
  57. data/lib/openai/resources/audio/speech.rb +3 -1
  58. data/lib/openai/resources/chat/completions.rb +10 -2
  59. data/lib/openai/resources/fine_tuning/checkpoints/permissions.rb +1 -2
  60. data/lib/openai/resources/responses.rb +24 -16
  61. data/lib/openai/resources/webhooks.rb +124 -0
  62. data/lib/openai/version.rb +1 -1
  63. data/lib/openai.rb +18 -0
  64. data/rbi/openai/client.rbi +3 -0
  65. data/rbi/openai/errors.rbi +16 -0
  66. data/rbi/openai/internal/type/boolean.rbi +2 -0
  67. data/rbi/openai/internal/type/converter.rbi +15 -15
  68. data/rbi/openai/internal/type/union.rbi +5 -0
  69. data/rbi/openai/internal/type/unknown.rbi +2 -0
  70. data/rbi/openai/models/all_models.rbi +20 -0
  71. data/rbi/openai/models/audio/speech_create_params.rbi +59 -2
  72. data/rbi/openai/models/audio/transcription.rbi +213 -3
  73. data/rbi/openai/models/audio/transcription_text_done_event.rbi +146 -1
  74. data/rbi/openai/models/audio/transcription_verbose.rbi +47 -0
  75. data/rbi/openai/models/chat/chat_completion.rbi +47 -42
  76. data/rbi/openai/models/chat/chat_completion_chunk.rbi +47 -42
  77. data/rbi/openai/models/chat/completion_create_params.rbi +51 -42
  78. data/rbi/openai/models/fine_tuning/checkpoints/permission_retrieve_response.rbi +95 -26
  79. data/rbi/openai/models/images_response.rbi +146 -0
  80. data/rbi/openai/models/responses/response.rbi +75 -44
  81. data/rbi/openai/models/responses/response_code_interpreter_call_code_delta_event.rbi +17 -7
  82. data/rbi/openai/models/responses/response_code_interpreter_call_code_done_event.rbi +13 -5
  83. data/rbi/openai/models/responses/response_code_interpreter_call_completed_event.rbi +13 -21
  84. data/rbi/openai/models/responses/response_code_interpreter_call_in_progress_event.rbi +13 -21
  85. data/rbi/openai/models/responses/response_code_interpreter_call_interpreting_event.rbi +13 -21
  86. data/rbi/openai/models/responses/response_code_interpreter_tool_call.rbi +83 -125
  87. data/rbi/openai/models/responses/response_create_params.rbi +174 -115
  88. data/rbi/openai/models/responses/response_function_web_search.rbi +163 -0
  89. data/rbi/openai/models/responses/response_includable.rbi +17 -11
  90. data/rbi/openai/models/responses/response_output_text.rbi +26 -4
  91. data/rbi/openai/models/responses/tool_choice_mcp.rbi +53 -0
  92. data/rbi/openai/models/responses/tool_choice_types.rbi +0 -5
  93. data/rbi/openai/models/responses_model.rbi +20 -0
  94. data/rbi/openai/models/webhooks/batch_cancelled_webhook_event.rbi +154 -0
  95. data/rbi/openai/models/webhooks/batch_completed_webhook_event.rbi +154 -0
  96. data/rbi/openai/models/webhooks/batch_expired_webhook_event.rbi +150 -0
  97. data/rbi/openai/models/webhooks/batch_failed_webhook_event.rbi +149 -0
  98. data/rbi/openai/models/webhooks/eval_run_canceled_webhook_event.rbi +154 -0
  99. data/rbi/openai/models/webhooks/eval_run_failed_webhook_event.rbi +151 -0
  100. data/rbi/openai/models/webhooks/eval_run_succeeded_webhook_event.rbi +154 -0
  101. data/rbi/openai/models/webhooks/fine_tuning_job_cancelled_webhook_event.rbi +158 -0
  102. data/rbi/openai/models/webhooks/fine_tuning_job_failed_webhook_event.rbi +156 -0
  103. data/rbi/openai/models/webhooks/fine_tuning_job_succeeded_webhook_event.rbi +158 -0
  104. data/rbi/openai/models/webhooks/response_cancelled_webhook_event.rbi +154 -0
  105. data/rbi/openai/models/webhooks/response_completed_webhook_event.rbi +154 -0
  106. data/rbi/openai/models/webhooks/response_failed_webhook_event.rbi +154 -0
  107. data/rbi/openai/models/webhooks/response_incomplete_webhook_event.rbi +155 -0
  108. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +40 -0
  109. data/rbi/openai/models/webhooks/webhook_unwrap_params.rbi +32 -0
  110. data/rbi/openai/models.rbi +2 -0
  111. data/rbi/openai/resources/audio/speech.rbi +6 -1
  112. data/rbi/openai/resources/chat/completions.rbi +34 -30
  113. data/rbi/openai/resources/fine_tuning/checkpoints/permissions.rbi +1 -3
  114. data/rbi/openai/resources/responses.rbi +108 -84
  115. data/rbi/openai/resources/webhooks.rbi +68 -0
  116. data/sig/openai/client.rbs +2 -0
  117. data/sig/openai/errors.rbs +9 -0
  118. data/sig/openai/internal/type/converter.rbs +7 -1
  119. data/sig/openai/models/all_models.rbs +8 -0
  120. data/sig/openai/models/audio/speech_create_params.rbs +21 -1
  121. data/sig/openai/models/audio/transcription.rbs +95 -3
  122. data/sig/openai/models/audio/transcription_text_done_event.rbs +72 -2
  123. data/sig/openai/models/audio/transcription_verbose.rbs +21 -0
  124. data/sig/openai/models/chat/chat_completion.rbs +2 -1
  125. data/sig/openai/models/chat/chat_completion_chunk.rbs +2 -1
  126. data/sig/openai/models/chat/completion_create_params.rbs +2 -1
  127. data/sig/openai/models/fine_tuning/checkpoints/permission_retrieve_response.rbs +53 -16
  128. data/sig/openai/models/images_response.rbs +83 -0
  129. data/sig/openai/models/responses/response.rbs +13 -1
  130. data/sig/openai/models/responses/response_code_interpreter_call_code_delta_event.rbs +5 -0
  131. data/sig/openai/models/responses/response_code_interpreter_call_code_done_event.rbs +5 -0
  132. data/sig/openai/models/responses/response_code_interpreter_call_completed_event.rbs +4 -4
  133. data/sig/openai/models/responses/response_code_interpreter_call_in_progress_event.rbs +4 -4
  134. data/sig/openai/models/responses/response_code_interpreter_call_interpreting_event.rbs +4 -4
  135. data/sig/openai/models/responses/response_code_interpreter_tool_call.rbs +31 -52
  136. data/sig/openai/models/responses/response_create_params.rbs +31 -11
  137. data/sig/openai/models/responses/response_function_web_search.rbs +54 -0
  138. data/sig/openai/models/responses/response_includable.rbs +7 -5
  139. data/sig/openai/models/responses/response_output_text.rbs +15 -1
  140. data/sig/openai/models/responses/tool_choice_mcp.rbs +23 -0
  141. data/sig/openai/models/responses/tool_choice_types.rbs +0 -2
  142. data/sig/openai/models/responses_model.rbs +8 -0
  143. data/sig/openai/models/webhooks/batch_cancelled_webhook_event.rbs +66 -0
  144. data/sig/openai/models/webhooks/batch_completed_webhook_event.rbs +66 -0
  145. data/sig/openai/models/webhooks/batch_expired_webhook_event.rbs +66 -0
  146. data/sig/openai/models/webhooks/batch_failed_webhook_event.rbs +66 -0
  147. data/sig/openai/models/webhooks/eval_run_canceled_webhook_event.rbs +66 -0
  148. data/sig/openai/models/webhooks/eval_run_failed_webhook_event.rbs +66 -0
  149. data/sig/openai/models/webhooks/eval_run_succeeded_webhook_event.rbs +66 -0
  150. data/sig/openai/models/webhooks/fine_tuning_job_cancelled_webhook_event.rbs +66 -0
  151. data/sig/openai/models/webhooks/fine_tuning_job_failed_webhook_event.rbs +66 -0
  152. data/sig/openai/models/webhooks/fine_tuning_job_succeeded_webhook_event.rbs +66 -0
  153. data/sig/openai/models/webhooks/response_cancelled_webhook_event.rbs +66 -0
  154. data/sig/openai/models/webhooks/response_completed_webhook_event.rbs +66 -0
  155. data/sig/openai/models/webhooks/response_failed_webhook_event.rbs +66 -0
  156. data/sig/openai/models/webhooks/response_incomplete_webhook_event.rbs +66 -0
  157. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +27 -0
  158. data/sig/openai/models/webhooks/webhook_unwrap_params.rbs +17 -0
  159. data/sig/openai/models.rbs +2 -0
  160. data/sig/openai/resources/audio/speech.rbs +1 -0
  161. data/sig/openai/resources/fine_tuning/checkpoints/permissions.rbs +1 -1
  162. data/sig/openai/resources/responses.rbs +8 -4
  163. data/sig/openai/resources/webhooks.rbs +33 -0
  164. metadata +56 -2
@@ -4,20 +4,21 @@ module OpenAI
4
4
  module Models
5
5
  module Responses
6
6
  class ResponseCodeInterpreterCallCompletedEvent < OpenAI::Internal::Type::BaseModel
7
- # @!attribute code_interpreter_call
8
- # A tool call to run code.
7
+ # @!attribute item_id
8
+ # The unique identifier of the code interpreter tool call item.
9
9
  #
10
- # @return [OpenAI::Models::Responses::ResponseCodeInterpreterToolCall]
11
- required :code_interpreter_call, -> { OpenAI::Responses::ResponseCodeInterpreterToolCall }
10
+ # @return [String]
11
+ required :item_id, String
12
12
 
13
13
  # @!attribute output_index
14
- # The index of the output item that the code interpreter call is in progress.
14
+ # The index of the output item in the response for which the code interpreter call
15
+ # is completed.
15
16
  #
16
17
  # @return [Integer]
17
18
  required :output_index, Integer
18
19
 
19
20
  # @!attribute sequence_number
20
- # The sequence number of this event.
21
+ # The sequence number of this event, used to order streaming events.
21
22
  #
22
23
  # @return [Integer]
23
24
  required :sequence_number, Integer
@@ -28,18 +29,18 @@ module OpenAI
28
29
  # @return [Symbol, :"response.code_interpreter_call.completed"]
29
30
  required :type, const: :"response.code_interpreter_call.completed"
30
31
 
31
- # @!method initialize(code_interpreter_call:, output_index:, sequence_number:, type: :"response.code_interpreter_call.completed")
32
+ # @!method initialize(item_id:, output_index:, sequence_number:, type: :"response.code_interpreter_call.completed")
32
33
  # Some parameter documentations has been truncated, see
33
34
  # {OpenAI::Models::Responses::ResponseCodeInterpreterCallCompletedEvent} for more
34
35
  # details.
35
36
  #
36
37
  # Emitted when the code interpreter call is completed.
37
38
  #
38
- # @param code_interpreter_call [OpenAI::Models::Responses::ResponseCodeInterpreterToolCall] A tool call to run code.
39
+ # @param item_id [String] The unique identifier of the code interpreter tool call item.
39
40
  #
40
- # @param output_index [Integer] The index of the output item that the code interpreter call is in progress.
41
+ # @param output_index [Integer] The index of the output item in the response for which the code interpreter call
41
42
  #
42
- # @param sequence_number [Integer] The sequence number of this event.
43
+ # @param sequence_number [Integer] The sequence number of this event, used to order streaming events.
43
44
  #
44
45
  # @param type [Symbol, :"response.code_interpreter_call.completed"] The type of the event. Always `response.code_interpreter_call.completed`.
45
46
  end
@@ -4,20 +4,21 @@ module OpenAI
4
4
  module Models
5
5
  module Responses
6
6
  class ResponseCodeInterpreterCallInProgressEvent < OpenAI::Internal::Type::BaseModel
7
- # @!attribute code_interpreter_call
8
- # A tool call to run code.
7
+ # @!attribute item_id
8
+ # The unique identifier of the code interpreter tool call item.
9
9
  #
10
- # @return [OpenAI::Models::Responses::ResponseCodeInterpreterToolCall]
11
- required :code_interpreter_call, -> { OpenAI::Responses::ResponseCodeInterpreterToolCall }
10
+ # @return [String]
11
+ required :item_id, String
12
12
 
13
13
  # @!attribute output_index
14
- # The index of the output item that the code interpreter call is in progress.
14
+ # The index of the output item in the response for which the code interpreter call
15
+ # is in progress.
15
16
  #
16
17
  # @return [Integer]
17
18
  required :output_index, Integer
18
19
 
19
20
  # @!attribute sequence_number
20
- # The sequence number of this event.
21
+ # The sequence number of this event, used to order streaming events.
21
22
  #
22
23
  # @return [Integer]
23
24
  required :sequence_number, Integer
@@ -28,18 +29,18 @@ module OpenAI
28
29
  # @return [Symbol, :"response.code_interpreter_call.in_progress"]
29
30
  required :type, const: :"response.code_interpreter_call.in_progress"
30
31
 
31
- # @!method initialize(code_interpreter_call:, output_index:, sequence_number:, type: :"response.code_interpreter_call.in_progress")
32
+ # @!method initialize(item_id:, output_index:, sequence_number:, type: :"response.code_interpreter_call.in_progress")
32
33
  # Some parameter documentations has been truncated, see
33
34
  # {OpenAI::Models::Responses::ResponseCodeInterpreterCallInProgressEvent} for more
34
35
  # details.
35
36
  #
36
37
  # Emitted when a code interpreter call is in progress.
37
38
  #
38
- # @param code_interpreter_call [OpenAI::Models::Responses::ResponseCodeInterpreterToolCall] A tool call to run code.
39
+ # @param item_id [String] The unique identifier of the code interpreter tool call item.
39
40
  #
40
- # @param output_index [Integer] The index of the output item that the code interpreter call is in progress.
41
+ # @param output_index [Integer] The index of the output item in the response for which the code interpreter call
41
42
  #
42
- # @param sequence_number [Integer] The sequence number of this event.
43
+ # @param sequence_number [Integer] The sequence number of this event, used to order streaming events.
43
44
  #
44
45
  # @param type [Symbol, :"response.code_interpreter_call.in_progress"] The type of the event. Always `response.code_interpreter_call.in_progress`.
45
46
  end
@@ -4,20 +4,21 @@ module OpenAI
4
4
  module Models
5
5
  module Responses
6
6
  class ResponseCodeInterpreterCallInterpretingEvent < OpenAI::Internal::Type::BaseModel
7
- # @!attribute code_interpreter_call
8
- # A tool call to run code.
7
+ # @!attribute item_id
8
+ # The unique identifier of the code interpreter tool call item.
9
9
  #
10
- # @return [OpenAI::Models::Responses::ResponseCodeInterpreterToolCall]
11
- required :code_interpreter_call, -> { OpenAI::Responses::ResponseCodeInterpreterToolCall }
10
+ # @return [String]
11
+ required :item_id, String
12
12
 
13
13
  # @!attribute output_index
14
- # The index of the output item that the code interpreter call is in progress.
14
+ # The index of the output item in the response for which the code interpreter is
15
+ # interpreting code.
15
16
  #
16
17
  # @return [Integer]
17
18
  required :output_index, Integer
18
19
 
19
20
  # @!attribute sequence_number
20
- # The sequence number of this event.
21
+ # The sequence number of this event, used to order streaming events.
21
22
  #
22
23
  # @return [Integer]
23
24
  required :sequence_number, Integer
@@ -28,18 +29,18 @@ module OpenAI
28
29
  # @return [Symbol, :"response.code_interpreter_call.interpreting"]
29
30
  required :type, const: :"response.code_interpreter_call.interpreting"
30
31
 
31
- # @!method initialize(code_interpreter_call:, output_index:, sequence_number:, type: :"response.code_interpreter_call.interpreting")
32
+ # @!method initialize(item_id:, output_index:, sequence_number:, type: :"response.code_interpreter_call.interpreting")
32
33
  # Some parameter documentations has been truncated, see
33
34
  # {OpenAI::Models::Responses::ResponseCodeInterpreterCallInterpretingEvent} for
34
35
  # more details.
35
36
  #
36
37
  # Emitted when the code interpreter is actively interpreting the code snippet.
37
38
  #
38
- # @param code_interpreter_call [OpenAI::Models::Responses::ResponseCodeInterpreterToolCall] A tool call to run code.
39
+ # @param item_id [String] The unique identifier of the code interpreter tool call item.
39
40
  #
40
- # @param output_index [Integer] The index of the output item that the code interpreter call is in progress.
41
+ # @param output_index [Integer] The index of the output item in the response for which the code interpreter is i
41
42
  #
42
- # @param sequence_number [Integer] The sequence number of this event.
43
+ # @param sequence_number [Integer] The sequence number of this event, used to order streaming events.
43
44
  #
44
45
  # @param type [Symbol, :"response.code_interpreter_call.interpreting"] The type of the event. Always `response.code_interpreter_call.interpreting`.
45
46
  end
@@ -11,19 +11,27 @@ module OpenAI
11
11
  required :id, String
12
12
 
13
13
  # @!attribute code
14
- # The code to run.
14
+ # The code to run, or null if not available.
15
+ #
16
+ # @return [String, nil]
17
+ required :code, String, nil?: true
18
+
19
+ # @!attribute container_id
20
+ # The ID of the container used to run the code.
15
21
  #
16
22
  # @return [String]
17
- required :code, String
23
+ required :container_id, String
18
24
 
19
- # @!attribute results
20
- # The results of the code interpreter tool call.
25
+ # @!attribute outputs
26
+ # The outputs generated by the code interpreter, such as logs or images. Can be
27
+ # null if no outputs are available.
21
28
  #
22
- # @return [Array<OpenAI::Models::Responses::ResponseCodeInterpreterToolCall::Result::Logs, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall::Result::Files>]
23
- required :results,
29
+ # @return [Array<OpenAI::Models::Responses::ResponseCodeInterpreterToolCall::Output::Logs, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall::Output::Image>, nil]
30
+ required :outputs,
24
31
  -> {
25
- OpenAI::Internal::Type::ArrayOf[union: OpenAI::Responses::ResponseCodeInterpreterToolCall::Result]
26
- }
32
+ OpenAI::Internal::Type::ArrayOf[union: OpenAI::Responses::ResponseCodeInterpreterToolCall::Output]
33
+ },
34
+ nil?: true
27
35
 
28
36
  # @!attribute status
29
37
  # The status of the code interpreter tool call.
@@ -37,13 +45,7 @@ module OpenAI
37
45
  # @return [Symbol, :code_interpreter_call]
38
46
  required :type, const: :code_interpreter_call
39
47
 
40
- # @!attribute container_id
41
- # The ID of the container used to run the code.
42
- #
43
- # @return [String, nil]
44
- optional :container_id, String
45
-
46
- # @!method initialize(id:, code:, results:, status:, container_id: nil, type: :code_interpreter_call)
48
+ # @!method initialize(id:, code:, container_id:, outputs:, status:, type: :code_interpreter_call)
47
49
  # Some parameter documentations has been truncated, see
48
50
  # {OpenAI::Models::Responses::ResponseCodeInterpreterToolCall} for more details.
49
51
  #
@@ -51,105 +53,72 @@ module OpenAI
51
53
  #
52
54
  # @param id [String] The unique ID of the code interpreter tool call.
53
55
  #
54
- # @param code [String] The code to run.
56
+ # @param code [String, nil] The code to run, or null if not available.
55
57
  #
56
- # @param results [Array<OpenAI::Models::Responses::ResponseCodeInterpreterToolCall::Result::Logs, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall::Result::Files>] The results of the code interpreter tool call.
58
+ # @param container_id [String] The ID of the container used to run the code.
57
59
  #
58
- # @param status [Symbol, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall::Status] The status of the code interpreter tool call.
60
+ # @param outputs [Array<OpenAI::Models::Responses::ResponseCodeInterpreterToolCall::Output::Logs, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall::Output::Image>, nil] The outputs generated by the code interpreter, such as logs or images.
59
61
  #
60
- # @param container_id [String] The ID of the container used to run the code.
62
+ # @param status [Symbol, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall::Status] The status of the code interpreter tool call.
61
63
  #
62
64
  # @param type [Symbol, :code_interpreter_call] The type of the code interpreter tool call. Always `code_interpreter_call`.
63
65
 
64
- # The output of a code interpreter tool.
65
- module Result
66
+ # The logs output from the code interpreter.
67
+ module Output
66
68
  extend OpenAI::Internal::Type::Union
67
69
 
68
70
  discriminator :type
69
71
 
70
- # The output of a code interpreter tool call that is text.
71
- variant :logs, -> { OpenAI::Responses::ResponseCodeInterpreterToolCall::Result::Logs }
72
+ # The logs output from the code interpreter.
73
+ variant :logs, -> { OpenAI::Responses::ResponseCodeInterpreterToolCall::Output::Logs }
72
74
 
73
- # The output of a code interpreter tool call that is a file.
74
- variant :files, -> { OpenAI::Responses::ResponseCodeInterpreterToolCall::Result::Files }
75
+ # The image output from the code interpreter.
76
+ variant :image, -> { OpenAI::Responses::ResponseCodeInterpreterToolCall::Output::Image }
75
77
 
76
78
  class Logs < OpenAI::Internal::Type::BaseModel
77
79
  # @!attribute logs
78
- # The logs of the code interpreter tool call.
80
+ # The logs output from the code interpreter.
79
81
  #
80
82
  # @return [String]
81
83
  required :logs, String
82
84
 
83
85
  # @!attribute type
84
- # The type of the code interpreter text output. Always `logs`.
86
+ # The type of the output. Always 'logs'.
85
87
  #
86
88
  # @return [Symbol, :logs]
87
89
  required :type, const: :logs
88
90
 
89
91
  # @!method initialize(logs:, type: :logs)
90
- # Some parameter documentations has been truncated, see
91
- # {OpenAI::Models::Responses::ResponseCodeInterpreterToolCall::Result::Logs} for
92
- # more details.
92
+ # The logs output from the code interpreter.
93
93
  #
94
- # The output of a code interpreter tool call that is text.
94
+ # @param logs [String] The logs output from the code interpreter.
95
95
  #
96
- # @param logs [String] The logs of the code interpreter tool call.
97
- #
98
- # @param type [Symbol, :logs] The type of the code interpreter text output. Always `logs`.
96
+ # @param type [Symbol, :logs] The type of the output. Always 'logs'.
99
97
  end
100
98
 
101
- class Files < OpenAI::Internal::Type::BaseModel
102
- # @!attribute files
103
- #
104
- # @return [Array<OpenAI::Models::Responses::ResponseCodeInterpreterToolCall::Result::Files::File>]
105
- required :files,
106
- -> {
107
- OpenAI::Internal::Type::ArrayOf[OpenAI::Responses::ResponseCodeInterpreterToolCall::Result::Files::File]
108
- }
109
-
99
+ class Image < OpenAI::Internal::Type::BaseModel
110
100
  # @!attribute type
111
- # The type of the code interpreter file output. Always `files`.
101
+ # The type of the output. Always 'image'.
112
102
  #
113
- # @return [Symbol, :files]
114
- required :type, const: :files
103
+ # @return [Symbol, :image]
104
+ required :type, const: :image
115
105
 
116
- # @!method initialize(files:, type: :files)
117
- # Some parameter documentations has been truncated, see
118
- # {OpenAI::Models::Responses::ResponseCodeInterpreterToolCall::Result::Files} for
119
- # more details.
106
+ # @!attribute url
107
+ # The URL of the image output from the code interpreter.
120
108
  #
121
- # The output of a code interpreter tool call that is a file.
109
+ # @return [String]
110
+ required :url, String
111
+
112
+ # @!method initialize(url:, type: :image)
113
+ # The image output from the code interpreter.
122
114
  #
123
- # @param files [Array<OpenAI::Models::Responses::ResponseCodeInterpreterToolCall::Result::Files::File>]
115
+ # @param url [String] The URL of the image output from the code interpreter.
124
116
  #
125
- # @param type [Symbol, :files] The type of the code interpreter file output. Always `files`.
126
-
127
- class File < OpenAI::Internal::Type::BaseModel
128
- # @!attribute file_id
129
- # The ID of the file.
130
- #
131
- # @return [String]
132
- required :file_id, String
133
-
134
- # @!attribute mime_type
135
- # The MIME type of the file.
136
- #
137
- # @return [String]
138
- required :mime_type, String
139
-
140
- # @!method initialize(file_id:, mime_type:)
141
- # Some parameter documentations has been truncated, see
142
- # {OpenAI::Models::Responses::ResponseCodeInterpreterToolCall::Result::Files::File}
143
- # for more details.
144
- #
145
- # @param file_id [String] The ID of the file.
146
- #
147
- # @param mime_type [String] The MIME type of the file.
148
- end
117
+ # @param type [Symbol, :image] The type of the output. Always 'image'.
149
118
  end
150
119
 
151
120
  # @!method self.variants
152
- # @return [Array(OpenAI::Models::Responses::ResponseCodeInterpreterToolCall::Result::Logs, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall::Result::Files)]
121
+ # @return [Array(OpenAI::Models::Responses::ResponseCodeInterpreterToolCall::Output::Logs, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall::Output::Image)]
153
122
  end
154
123
 
155
124
  # The status of the code interpreter tool call.
@@ -159,8 +128,10 @@ module OpenAI
159
128
  extend OpenAI::Internal::Type::Enum
160
129
 
161
130
  IN_PROGRESS = :in_progress
162
- INTERPRETING = :interpreting
163
131
  COMPLETED = :completed
132
+ INCOMPLETE = :incomplete
133
+ INTERPRETING = :interpreting
134
+ FAILED = :failed
164
135
 
165
136
  # @!method self.values
166
137
  # @return [Array<Symbol>]