openai 0.35.2 → 0.36.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 (120) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +21 -15
  4. data/lib/openai/internal/type/enum.rb +6 -6
  5. data/lib/openai/models/batch_create_params.rb +9 -6
  6. data/lib/openai/models/beta/assistant_create_params.rb +9 -5
  7. data/lib/openai/models/beta/assistant_update_params.rb +9 -5
  8. data/lib/openai/models/beta/threads/run_create_params.rb +10 -6
  9. data/lib/openai/models/chat/completion_create_params.rb +37 -6
  10. data/lib/openai/models/chat_model.rb +5 -0
  11. data/lib/openai/models/conversations/conversation_create_params.rb +2 -2
  12. data/lib/openai/models/conversations/conversation_item.rb +13 -1
  13. data/lib/openai/models/conversations/conversation_item_list.rb +2 -2
  14. data/lib/openai/models/conversations/item_create_params.rb +2 -2
  15. data/lib/openai/models/evals/create_eval_completions_run_data_source.rb +9 -5
  16. data/lib/openai/models/evals/run_cancel_response.rb +20 -12
  17. data/lib/openai/models/evals/run_create_params.rb +20 -12
  18. data/lib/openai/models/evals/run_create_response.rb +20 -12
  19. data/lib/openai/models/evals/run_list_response.rb +20 -12
  20. data/lib/openai/models/evals/run_retrieve_response.rb +20 -12
  21. data/lib/openai/models/graders/score_model_grader.rb +9 -5
  22. data/lib/openai/models/reasoning.rb +10 -6
  23. data/lib/openai/models/reasoning_effort.rb +10 -5
  24. data/lib/openai/models/responses/apply_patch_tool.rb +20 -0
  25. data/lib/openai/models/responses/function_shell_tool.rb +20 -0
  26. data/lib/openai/models/responses/input_token_count_params.rb +14 -8
  27. data/lib/openai/models/responses/response.rb +46 -11
  28. data/lib/openai/models/responses/response_apply_patch_tool_call.rb +179 -0
  29. data/lib/openai/models/responses/response_apply_patch_tool_call_output.rb +77 -0
  30. data/lib/openai/models/responses/response_create_params.rb +42 -9
  31. data/lib/openai/models/responses/response_function_shell_call_output_content.rb +88 -0
  32. data/lib/openai/models/responses/response_function_shell_tool_call.rb +109 -0
  33. data/lib/openai/models/responses/response_function_shell_tool_call_output.rb +158 -0
  34. data/lib/openai/models/responses/response_input_item.rb +395 -1
  35. data/lib/openai/models/responses/response_item.rb +13 -1
  36. data/lib/openai/models/responses/response_item_list.rb +2 -2
  37. data/lib/openai/models/responses/response_output_item.rb +13 -1
  38. data/lib/openai/models/responses/response_output_item_added_event.rb +2 -2
  39. data/lib/openai/models/responses/response_output_item_done_event.rb +2 -2
  40. data/lib/openai/models/responses/tool.rb +7 -1
  41. data/lib/openai/models/responses/tool_choice_apply_patch.rb +20 -0
  42. data/lib/openai/models/responses/tool_choice_shell.rb +20 -0
  43. data/lib/openai/resources/chat/completions.rb +6 -2
  44. data/lib/openai/resources/conversations/items.rb +3 -3
  45. data/lib/openai/resources/conversations.rb +1 -1
  46. data/lib/openai/resources/responses/input_items.rb +1 -1
  47. data/lib/openai/resources/responses/input_tokens.rb +3 -3
  48. data/lib/openai/resources/responses.rb +12 -8
  49. data/lib/openai/version.rb +1 -1
  50. data/lib/openai.rb +9 -0
  51. data/rbi/openai/models/batch_create_params.rbi +17 -9
  52. data/rbi/openai/models/beta/assistant_create_params.rbi +18 -10
  53. data/rbi/openai/models/beta/assistant_update_params.rbi +18 -10
  54. data/rbi/openai/models/beta/threads/run_create_params.rbi +18 -10
  55. data/rbi/openai/models/chat/completion_create_params.rbi +82 -10
  56. data/rbi/openai/models/chat_model.rbi +7 -0
  57. data/rbi/openai/models/conversations/conversation_create_params.rbi +12 -0
  58. data/rbi/openai/models/conversations/conversation_item.rbi +4 -0
  59. data/rbi/openai/models/conversations/conversation_item_list.rbi +4 -0
  60. data/rbi/openai/models/conversations/item_create_params.rbi +12 -0
  61. data/rbi/openai/models/evals/create_eval_completions_run_data_source.rbi +18 -10
  62. data/rbi/openai/models/evals/run_cancel_response.rbi +40 -20
  63. data/rbi/openai/models/evals/run_create_params.rbi +44 -20
  64. data/rbi/openai/models/evals/run_create_response.rbi +40 -20
  65. data/rbi/openai/models/evals/run_list_response.rbi +40 -20
  66. data/rbi/openai/models/evals/run_retrieve_response.rbi +40 -20
  67. data/rbi/openai/models/graders/score_model_grader.rbi +18 -10
  68. data/rbi/openai/models/reasoning.rbi +18 -10
  69. data/rbi/openai/models/reasoning_effort.rbi +10 -5
  70. data/rbi/openai/models/responses/apply_patch_tool.rbi +30 -0
  71. data/rbi/openai/models/responses/function_shell_tool.rbi +33 -0
  72. data/rbi/openai/models/responses/input_token_count_params.rbi +18 -4
  73. data/rbi/openai/models/responses/response.rbi +73 -2
  74. data/rbi/openai/models/responses/response_apply_patch_tool_call.rbi +300 -0
  75. data/rbi/openai/models/responses/response_apply_patch_tool_call_output.rbi +129 -0
  76. data/rbi/openai/models/responses/response_create_params.rbi +87 -5
  77. data/rbi/openai/models/responses/response_function_shell_call_output_content.rbi +157 -0
  78. data/rbi/openai/models/responses/response_function_shell_tool_call.rbi +198 -0
  79. data/rbi/openai/models/responses/response_function_shell_tool_call_output.rbi +254 -0
  80. data/rbi/openai/models/responses/response_input_item.rbi +675 -0
  81. data/rbi/openai/models/responses/response_item.rbi +4 -0
  82. data/rbi/openai/models/responses/response_item_list.rbi +4 -0
  83. data/rbi/openai/models/responses/response_output_item.rbi +4 -0
  84. data/rbi/openai/models/responses/response_output_item_added_event.rbi +4 -0
  85. data/rbi/openai/models/responses/response_output_item_done_event.rbi +4 -0
  86. data/rbi/openai/models/responses/tool.rbi +2 -0
  87. data/rbi/openai/models/responses/tool_choice_apply_patch.rbi +33 -0
  88. data/rbi/openai/models/responses/tool_choice_shell.rbi +30 -0
  89. data/rbi/openai/resources/batches.rbi +4 -3
  90. data/rbi/openai/resources/beta/assistants.rbi +18 -10
  91. data/rbi/openai/resources/beta/threads/runs.rbi +18 -10
  92. data/rbi/openai/resources/chat/completions.rbi +38 -12
  93. data/rbi/openai/resources/conversations/items.rbi +4 -0
  94. data/rbi/openai/resources/conversations.rbi +4 -0
  95. data/rbi/openai/resources/responses/input_tokens.rbi +5 -1
  96. data/rbi/openai/resources/responses.rbi +28 -2
  97. data/sig/openai/models/batch_create_params.rbs +2 -0
  98. data/sig/openai/models/chat/completion_create_params.rbs +16 -0
  99. data/sig/openai/models/chat_model.rbs +11 -1
  100. data/sig/openai/models/conversations/conversation_item.rbs +4 -0
  101. data/sig/openai/models/reasoning_effort.rbs +2 -1
  102. data/sig/openai/models/responses/apply_patch_tool.rbs +15 -0
  103. data/sig/openai/models/responses/function_shell_tool.rbs +15 -0
  104. data/sig/openai/models/responses/input_token_count_params.rbs +2 -0
  105. data/sig/openai/models/responses/response.rbs +18 -0
  106. data/sig/openai/models/responses/response_apply_patch_tool_call.rbs +123 -0
  107. data/sig/openai/models/responses/response_apply_patch_tool_call_output.rbs +60 -0
  108. data/sig/openai/models/responses/response_create_params.rbs +18 -0
  109. data/sig/openai/models/responses/response_function_shell_call_output_content.rbs +64 -0
  110. data/sig/openai/models/responses/response_function_shell_tool_call.rbs +88 -0
  111. data/sig/openai/models/responses/response_function_shell_tool_call_output.rbs +115 -0
  112. data/sig/openai/models/responses/response_input_item.rbs +276 -0
  113. data/sig/openai/models/responses/response_item.rbs +4 -0
  114. data/sig/openai/models/responses/response_output_item.rbs +4 -0
  115. data/sig/openai/models/responses/tool.rbs +2 -0
  116. data/sig/openai/models/responses/tool_choice_apply_patch.rbs +15 -0
  117. data/sig/openai/models/responses/tool_choice_shell.rbs +15 -0
  118. data/sig/openai/resources/chat/completions.rbs +2 -0
  119. data/sig/openai/resources/responses.rbs +2 -0
  120. metadata +29 -2
@@ -0,0 +1,123 @@
1
+ module OpenAI
2
+ module Models
3
+ module Responses
4
+ type response_apply_patch_tool_call =
5
+ {
6
+ id: String,
7
+ call_id: String,
8
+ status: OpenAI::Models::Responses::ResponseApplyPatchToolCall::status,
9
+ type: :apply_patch_call,
10
+ created_by: String,
11
+ operation: OpenAI::Models::Responses::ResponseApplyPatchToolCall::operation
12
+ }
13
+
14
+ class ResponseApplyPatchToolCall < OpenAI::Internal::Type::BaseModel
15
+ attr_accessor id: String
16
+
17
+ attr_accessor call_id: String
18
+
19
+ attr_accessor status: OpenAI::Models::Responses::ResponseApplyPatchToolCall::status
20
+
21
+ attr_accessor type: :apply_patch_call
22
+
23
+ attr_reader created_by: String?
24
+
25
+ def created_by=: (String) -> String
26
+
27
+ attr_reader operation: OpenAI::Models::Responses::ResponseApplyPatchToolCall::operation?
28
+
29
+ def operation=: (
30
+ OpenAI::Models::Responses::ResponseApplyPatchToolCall::operation
31
+ ) -> OpenAI::Models::Responses::ResponseApplyPatchToolCall::operation
32
+
33
+ def initialize: (
34
+ id: String,
35
+ call_id: String,
36
+ status: OpenAI::Models::Responses::ResponseApplyPatchToolCall::status,
37
+ ?created_by: String,
38
+ ?operation: OpenAI::Models::Responses::ResponseApplyPatchToolCall::operation,
39
+ ?type: :apply_patch_call
40
+ ) -> void
41
+
42
+ def to_hash: -> {
43
+ id: String,
44
+ call_id: String,
45
+ status: OpenAI::Models::Responses::ResponseApplyPatchToolCall::status,
46
+ type: :apply_patch_call,
47
+ created_by: String,
48
+ operation: OpenAI::Models::Responses::ResponseApplyPatchToolCall::operation
49
+ }
50
+
51
+ type status = :in_progress | :completed
52
+
53
+ module Status
54
+ extend OpenAI::Internal::Type::Enum
55
+
56
+ IN_PROGRESS: :in_progress
57
+ COMPLETED: :completed
58
+
59
+ def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseApplyPatchToolCall::status]
60
+ end
61
+
62
+ type operation =
63
+ OpenAI::Responses::ResponseApplyPatchToolCall::Operation::CreateFile
64
+ | OpenAI::Responses::ResponseApplyPatchToolCall::Operation::DeleteFile
65
+ | OpenAI::Responses::ResponseApplyPatchToolCall::Operation::UpdateFile
66
+
67
+ module Operation
68
+ extend OpenAI::Internal::Type::Union
69
+
70
+ type create_file = { diff: String, path: String, type: :create_file }
71
+
72
+ class CreateFile < OpenAI::Internal::Type::BaseModel
73
+ attr_accessor diff: String
74
+
75
+ attr_accessor path: String
76
+
77
+ attr_accessor type: :create_file
78
+
79
+ def initialize: (
80
+ diff: String,
81
+ path: String,
82
+ ?type: :create_file
83
+ ) -> void
84
+
85
+ def to_hash: -> { diff: String, path: String, type: :create_file }
86
+ end
87
+
88
+ type delete_file = { path: String, type: :delete_file }
89
+
90
+ class DeleteFile < OpenAI::Internal::Type::BaseModel
91
+ attr_accessor path: String
92
+
93
+ attr_accessor type: :delete_file
94
+
95
+ def initialize: (path: String, ?type: :delete_file) -> void
96
+
97
+ def to_hash: -> { path: String, type: :delete_file }
98
+ end
99
+
100
+ type update_file = { diff: String, path: String, type: :update_file }
101
+
102
+ class UpdateFile < OpenAI::Internal::Type::BaseModel
103
+ attr_accessor diff: String
104
+
105
+ attr_accessor path: String
106
+
107
+ attr_accessor type: :update_file
108
+
109
+ def initialize: (
110
+ diff: String,
111
+ path: String,
112
+ ?type: :update_file
113
+ ) -> void
114
+
115
+ def to_hash: -> { diff: String, path: String, type: :update_file }
116
+ end
117
+
118
+ def self?.variants: -> ::Array[OpenAI::Models::Responses::ResponseApplyPatchToolCall::operation]
119
+ end
120
+ end
121
+ end
122
+ end
123
+ end
@@ -0,0 +1,60 @@
1
+ module OpenAI
2
+ module Models
3
+ module Responses
4
+ type response_apply_patch_tool_call_output =
5
+ {
6
+ id: String,
7
+ call_id: String,
8
+ output: String?,
9
+ status: OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput::status,
10
+ type: :apply_patch_call_output,
11
+ created_by: String
12
+ }
13
+
14
+ class ResponseApplyPatchToolCallOutput < OpenAI::Internal::Type::BaseModel
15
+ attr_accessor id: String
16
+
17
+ attr_accessor call_id: String
18
+
19
+ attr_accessor output: String?
20
+
21
+ attr_accessor status: OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput::status
22
+
23
+ attr_accessor type: :apply_patch_call_output
24
+
25
+ attr_reader created_by: String?
26
+
27
+ def created_by=: (String) -> String
28
+
29
+ def initialize: (
30
+ id: String,
31
+ call_id: String,
32
+ output: String?,
33
+ status: OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput::status,
34
+ ?created_by: String,
35
+ ?type: :apply_patch_call_output
36
+ ) -> void
37
+
38
+ def to_hash: -> {
39
+ id: String,
40
+ call_id: String,
41
+ output: String?,
42
+ status: OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput::status,
43
+ type: :apply_patch_call_output,
44
+ created_by: String
45
+ }
46
+
47
+ type status = :completed | :failed
48
+
49
+ module Status
50
+ extend OpenAI::Internal::Type::Enum
51
+
52
+ COMPLETED: :completed
53
+ FAILED: :failed
54
+
55
+ def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput::status]
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -16,6 +16,7 @@ module OpenAI
16
16
  previous_response_id: String?,
17
17
  prompt: OpenAI::Responses::ResponsePrompt?,
18
18
  prompt_cache_key: String,
19
+ prompt_cache_retention: OpenAI::Models::Responses::ResponseCreateParams::prompt_cache_retention?,
19
20
  reasoning: OpenAI::Reasoning?,
20
21
  safety_identifier: String,
21
22
  service_tier: OpenAI::Models::Responses::ResponseCreateParams::service_tier?,
@@ -72,6 +73,8 @@ module OpenAI
72
73
 
73
74
  def prompt_cache_key=: (String) -> String
74
75
 
76
+ attr_accessor prompt_cache_retention: OpenAI::Models::Responses::ResponseCreateParams::prompt_cache_retention?
77
+
75
78
  attr_accessor reasoning: OpenAI::Reasoning?
76
79
 
77
80
  attr_reader safety_identifier: String?
@@ -128,6 +131,7 @@ module OpenAI
128
131
  ?previous_response_id: String?,
129
132
  ?prompt: OpenAI::Responses::ResponsePrompt?,
130
133
  ?prompt_cache_key: String,
134
+ ?prompt_cache_retention: OpenAI::Models::Responses::ResponseCreateParams::prompt_cache_retention?,
131
135
  ?reasoning: OpenAI::Reasoning?,
132
136
  ?safety_identifier: String,
133
137
  ?service_tier: OpenAI::Models::Responses::ResponseCreateParams::service_tier?,
@@ -158,6 +162,7 @@ module OpenAI
158
162
  previous_response_id: String?,
159
163
  prompt: OpenAI::Responses::ResponsePrompt?,
160
164
  prompt_cache_key: String,
165
+ prompt_cache_retention: OpenAI::Models::Responses::ResponseCreateParams::prompt_cache_retention?,
161
166
  reasoning: OpenAI::Reasoning?,
162
167
  safety_identifier: String,
163
168
  service_tier: OpenAI::Models::Responses::ResponseCreateParams::service_tier?,
@@ -191,6 +196,17 @@ module OpenAI
191
196
  def self?.variants: -> ::Array[OpenAI::Models::Responses::ResponseCreateParams::input]
192
197
  end
193
198
 
199
+ type prompt_cache_retention = :"in-memory" | :"24h"
200
+
201
+ module PromptCacheRetention
202
+ extend OpenAI::Internal::Type::Enum
203
+
204
+ IN_MEMORY: :"in-memory"
205
+ PROMPT_CACHE_RETENTION_24H: :"24h"
206
+
207
+ def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseCreateParams::prompt_cache_retention]
208
+ end
209
+
194
210
  type service_tier = :auto | :default | :flex | :scale | :priority
195
211
 
196
212
  module ServiceTier
@@ -224,6 +240,8 @@ module OpenAI
224
240
  | OpenAI::Responses::ToolChoiceFunction
225
241
  | OpenAI::Responses::ToolChoiceMcp
226
242
  | OpenAI::Responses::ToolChoiceCustom
243
+ | OpenAI::Responses::ToolChoiceApplyPatch
244
+ | OpenAI::Responses::ToolChoiceShell
227
245
 
228
246
  module ToolChoice
229
247
  extend OpenAI::Internal::Type::Union
@@ -0,0 +1,64 @@
1
+ module OpenAI
2
+ module Models
3
+ module Responses
4
+ type response_function_shell_call_output_content =
5
+ {
6
+ outcome: OpenAI::Models::Responses::ResponseFunctionShellCallOutputContent::outcome,
7
+ stderr: String,
8
+ stdout: String
9
+ }
10
+
11
+ class ResponseFunctionShellCallOutputContent < OpenAI::Internal::Type::BaseModel
12
+ attr_accessor outcome: OpenAI::Models::Responses::ResponseFunctionShellCallOutputContent::outcome
13
+
14
+ attr_accessor stderr: String
15
+
16
+ attr_accessor stdout: String
17
+
18
+ def initialize: (
19
+ outcome: OpenAI::Models::Responses::ResponseFunctionShellCallOutputContent::outcome,
20
+ stderr: String,
21
+ stdout: String
22
+ ) -> void
23
+
24
+ def to_hash: -> {
25
+ outcome: OpenAI::Models::Responses::ResponseFunctionShellCallOutputContent::outcome,
26
+ stderr: String,
27
+ stdout: String
28
+ }
29
+
30
+ type outcome =
31
+ OpenAI::Responses::ResponseFunctionShellCallOutputContent::Outcome::Timeout
32
+ | OpenAI::Responses::ResponseFunctionShellCallOutputContent::Outcome::Exit
33
+
34
+ module Outcome
35
+ extend OpenAI::Internal::Type::Union
36
+
37
+ type timeout = { type: :timeout }
38
+
39
+ class Timeout < OpenAI::Internal::Type::BaseModel
40
+ attr_accessor type: :timeout
41
+
42
+ def initialize: (?type: :timeout) -> void
43
+
44
+ def to_hash: -> { type: :timeout }
45
+ end
46
+
47
+ type exit_ = { exit_code: Integer, type: :exit }
48
+
49
+ class Exit < OpenAI::Internal::Type::BaseModel
50
+ attr_accessor exit_code: Integer
51
+
52
+ attr_accessor type: :exit
53
+
54
+ def initialize: (exit_code: Integer, ?type: :exit) -> void
55
+
56
+ def to_hash: -> { exit_code: Integer, type: :exit }
57
+ end
58
+
59
+ def self?.variants: -> ::Array[OpenAI::Models::Responses::ResponseFunctionShellCallOutputContent::outcome]
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,88 @@
1
+ module OpenAI
2
+ module Models
3
+ module Responses
4
+ type response_function_shell_tool_call =
5
+ {
6
+ id: String,
7
+ action: OpenAI::Responses::ResponseFunctionShellToolCall::Action,
8
+ call_id: String,
9
+ status: OpenAI::Models::Responses::ResponseFunctionShellToolCall::status,
10
+ type: :shell_call,
11
+ created_by: String
12
+ }
13
+
14
+ class ResponseFunctionShellToolCall < OpenAI::Internal::Type::BaseModel
15
+ attr_accessor id: String
16
+
17
+ attr_accessor action: OpenAI::Responses::ResponseFunctionShellToolCall::Action
18
+
19
+ attr_accessor call_id: String
20
+
21
+ attr_accessor status: OpenAI::Models::Responses::ResponseFunctionShellToolCall::status
22
+
23
+ attr_accessor type: :shell_call
24
+
25
+ attr_reader created_by: String?
26
+
27
+ def created_by=: (String) -> String
28
+
29
+ def initialize: (
30
+ id: String,
31
+ action: OpenAI::Responses::ResponseFunctionShellToolCall::Action,
32
+ call_id: String,
33
+ status: OpenAI::Models::Responses::ResponseFunctionShellToolCall::status,
34
+ ?created_by: String,
35
+ ?type: :shell_call
36
+ ) -> void
37
+
38
+ def to_hash: -> {
39
+ id: String,
40
+ action: OpenAI::Responses::ResponseFunctionShellToolCall::Action,
41
+ call_id: String,
42
+ status: OpenAI::Models::Responses::ResponseFunctionShellToolCall::status,
43
+ type: :shell_call,
44
+ created_by: String
45
+ }
46
+
47
+ type action =
48
+ {
49
+ commands: ::Array[String],
50
+ max_output_length: Integer?,
51
+ timeout_ms: Integer?
52
+ }
53
+
54
+ class Action < OpenAI::Internal::Type::BaseModel
55
+ attr_accessor commands: ::Array[String]
56
+
57
+ attr_accessor max_output_length: Integer?
58
+
59
+ attr_accessor timeout_ms: Integer?
60
+
61
+ def initialize: (
62
+ commands: ::Array[String],
63
+ max_output_length: Integer?,
64
+ timeout_ms: Integer?
65
+ ) -> void
66
+
67
+ def to_hash: -> {
68
+ commands: ::Array[String],
69
+ max_output_length: Integer?,
70
+ timeout_ms: Integer?
71
+ }
72
+ end
73
+
74
+ type status = :in_progress | :completed | :incomplete
75
+
76
+ module Status
77
+ extend OpenAI::Internal::Type::Enum
78
+
79
+ IN_PROGRESS: :in_progress
80
+ COMPLETED: :completed
81
+ INCOMPLETE: :incomplete
82
+
83
+ def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseFunctionShellToolCall::status]
84
+ end
85
+ end
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,115 @@
1
+ module OpenAI
2
+ module Models
3
+ module Responses
4
+ type response_function_shell_tool_call_output =
5
+ {
6
+ id: String,
7
+ call_id: String,
8
+ max_output_length: Integer?,
9
+ output: ::Array[OpenAI::Responses::ResponseFunctionShellToolCallOutput::Output],
10
+ type: :shell_call_output,
11
+ created_by: String
12
+ }
13
+
14
+ class ResponseFunctionShellToolCallOutput < OpenAI::Internal::Type::BaseModel
15
+ attr_accessor id: String
16
+
17
+ attr_accessor call_id: String
18
+
19
+ attr_accessor max_output_length: Integer?
20
+
21
+ attr_accessor output: ::Array[OpenAI::Responses::ResponseFunctionShellToolCallOutput::Output]
22
+
23
+ attr_accessor type: :shell_call_output
24
+
25
+ attr_reader created_by: String?
26
+
27
+ def created_by=: (String) -> String
28
+
29
+ def initialize: (
30
+ id: String,
31
+ call_id: String,
32
+ max_output_length: Integer?,
33
+ output: ::Array[OpenAI::Responses::ResponseFunctionShellToolCallOutput::Output],
34
+ ?created_by: String,
35
+ ?type: :shell_call_output
36
+ ) -> void
37
+
38
+ def to_hash: -> {
39
+ id: String,
40
+ call_id: String,
41
+ max_output_length: Integer?,
42
+ output: ::Array[OpenAI::Responses::ResponseFunctionShellToolCallOutput::Output],
43
+ type: :shell_call_output,
44
+ created_by: String
45
+ }
46
+
47
+ type output =
48
+ {
49
+ outcome: OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput::Output::outcome,
50
+ stderr: String,
51
+ stdout: String,
52
+ created_by: String
53
+ }
54
+
55
+ class Output < OpenAI::Internal::Type::BaseModel
56
+ attr_accessor outcome: OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput::Output::outcome
57
+
58
+ attr_accessor stderr: String
59
+
60
+ attr_accessor stdout: String
61
+
62
+ attr_reader created_by: String?
63
+
64
+ def created_by=: (String) -> String
65
+
66
+ def initialize: (
67
+ outcome: OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput::Output::outcome,
68
+ stderr: String,
69
+ stdout: String,
70
+ ?created_by: String
71
+ ) -> void
72
+
73
+ def to_hash: -> {
74
+ outcome: OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput::Output::outcome,
75
+ stderr: String,
76
+ stdout: String,
77
+ created_by: String
78
+ }
79
+
80
+ type outcome =
81
+ OpenAI::Responses::ResponseFunctionShellToolCallOutput::Output::Outcome::Timeout
82
+ | OpenAI::Responses::ResponseFunctionShellToolCallOutput::Output::Outcome::Exit
83
+
84
+ module Outcome
85
+ extend OpenAI::Internal::Type::Union
86
+
87
+ type timeout = { type: :timeout }
88
+
89
+ class Timeout < OpenAI::Internal::Type::BaseModel
90
+ attr_accessor type: :timeout
91
+
92
+ def initialize: (?type: :timeout) -> void
93
+
94
+ def to_hash: -> { type: :timeout }
95
+ end
96
+
97
+ type exit_ = { exit_code: Integer, type: :exit }
98
+
99
+ class Exit < OpenAI::Internal::Type::BaseModel
100
+ attr_accessor exit_code: Integer
101
+
102
+ attr_accessor type: :exit
103
+
104
+ def initialize: (exit_code: Integer, ?type: :exit) -> void
105
+
106
+ def to_hash: -> { exit_code: Integer, type: :exit }
107
+ end
108
+
109
+ def self?.variants: -> ::Array[OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput::Output::outcome]
110
+ end
111
+ end
112
+ end
113
+ end
114
+ end
115
+ end