openai 0.55.0 → 0.57.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 (70) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +45 -0
  3. data/README.md +1 -1
  4. data/lib/openai/internal/type/enum.rb +4 -4
  5. data/lib/openai/models/batch_create_params.rb +9 -6
  6. data/lib/openai/models/chat_model.rb +4 -0
  7. data/lib/openai/models/comparison_filter.rb +2 -0
  8. data/lib/openai/models/conversations/conversation_item.rb +4 -1
  9. data/lib/openai/models/conversations/conversation_item_list.rb +2 -2
  10. data/lib/openai/models/responses/compacted_response.rb +2 -2
  11. data/lib/openai/models/responses/computer_action.rb +45 -5
  12. data/lib/openai/models/responses/namespace_tool.rb +13 -1
  13. data/lib/openai/models/responses/response.rb +2 -2
  14. data/lib/openai/models/responses/response_compact_params.rb +12 -0
  15. data/lib/openai/models/responses/response_computer_tool_call.rb +45 -5
  16. data/lib/openai/models/responses/response_computer_tool_call_output_item.rb +31 -22
  17. data/lib/openai/models/responses/response_custom_tool_call_item.rb +53 -0
  18. data/lib/openai/models/responses/response_custom_tool_call_output_item.rb +53 -0
  19. data/lib/openai/models/responses/response_function_tool_call_item.rb +31 -1
  20. data/lib/openai/models/responses/response_function_tool_call_output_item.rb +14 -6
  21. data/lib/openai/models/responses/response_input_message_item.rb +8 -20
  22. data/lib/openai/models/responses/response_item.rb +16 -1
  23. data/lib/openai/models/responses/response_item_list.rb +2 -2
  24. data/lib/openai/models/responses/response_output_item.rb +120 -1
  25. data/lib/openai/models/responses/response_output_item_added_event.rb +2 -2
  26. data/lib/openai/models/responses/response_output_item_done_event.rb +2 -2
  27. data/lib/openai/resources/conversations/items.rb +2 -2
  28. data/lib/openai/resources/responses/input_items.rb +1 -1
  29. data/lib/openai/version.rb +1 -1
  30. data/lib/openai.rb +4 -2
  31. data/rbi/openai/models/batch_create_params.rbi +17 -9
  32. data/rbi/openai/models/chat_model.rbi +6 -0
  33. data/rbi/openai/models/comparison_filter.rbi +2 -0
  34. data/rbi/openai/models/conversations/conversation_item.rbi +1 -0
  35. data/rbi/openai/models/conversations/conversation_item_list.rbi +1 -0
  36. data/rbi/openai/models/responses/compacted_response.rbi +6 -1
  37. data/rbi/openai/models/responses/computer_action.rbi +71 -11
  38. data/rbi/openai/models/responses/namespace_tool.rbi +11 -0
  39. data/rbi/openai/models/responses/response.rbi +6 -1
  40. data/rbi/openai/models/responses/response_compact_params.rbi +20 -0
  41. data/rbi/openai/models/responses/response_computer_tool_call.rbi +71 -11
  42. data/rbi/openai/models/responses/response_computer_tool_call_output_item.rbi +71 -65
  43. data/rbi/openai/models/responses/response_custom_tool_call_item.rbi +111 -0
  44. data/rbi/openai/models/responses/response_custom_tool_call_output_item.rbi +111 -0
  45. data/rbi/openai/models/responses/response_function_tool_call_item.rbi +81 -3
  46. data/rbi/openai/models/responses/response_function_tool_call_output_item.rbi +19 -18
  47. data/rbi/openai/models/responses/response_input_message_item.rbi +8 -49
  48. data/rbi/openai/models/responses/response_item.rbi +5 -1
  49. data/rbi/openai/models/responses/response_item_list.rbi +5 -1
  50. data/rbi/openai/models/responses/response_output_item.rbi +186 -1
  51. data/rbi/openai/models/responses/response_output_item_added_event.rbi +6 -1
  52. data/rbi/openai/models/responses/response_output_item_done_event.rbi +6 -1
  53. data/rbi/openai/resources/batches.rbi +4 -3
  54. data/sig/openai/models/batch_create_params.rbs +2 -0
  55. data/sig/openai/models/chat_model.rbs +8 -0
  56. data/sig/openai/models/comparison_filter.rbs +3 -1
  57. data/sig/openai/models/conversations/conversation_item.rbs +1 -0
  58. data/sig/openai/models/responses/computer_action.rbs +53 -11
  59. data/sig/openai/models/responses/namespace_tool.rbs +7 -0
  60. data/sig/openai/models/responses/response_compact_params.rbs +8 -0
  61. data/sig/openai/models/responses/response_computer_tool_call.rbs +53 -11
  62. data/sig/openai/models/responses/response_computer_tool_call_output_item.rbs +23 -19
  63. data/sig/openai/models/responses/response_custom_tool_call_item.rbs +52 -0
  64. data/sig/openai/models/responses/response_custom_tool_call_output_item.rbs +52 -0
  65. data/sig/openai/models/responses/response_function_tool_call_item.rbs +38 -3
  66. data/sig/openai/models/responses/response_function_tool_call_output_item.rbs +10 -7
  67. data/sig/openai/models/responses/response_input_message_item.rbs +7 -21
  68. data/sig/openai/models/responses/response_item.rbs +4 -0
  69. data/sig/openai/models/responses/response_output_item.rbs +86 -0
  70. metadata +8 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1829322792fdc33445abe86fe08267e3b93d183511e2e1651ef6e1cd81ecc1b8
4
- data.tar.gz: 2b9578ceacd8423c77d35e7c3f0e3f7fb9d56bcd971403a83dedf8bb0cb9fa51
3
+ metadata.gz: 1b3abca0a4ee2539ad853331fb8ba61b722546103cd80ab21e983af50b12b53b
4
+ data.tar.gz: 303c04c16a7dd957587657d7adc826a6baa096b0805609c35f6b56d7fd3c03c1
5
5
  SHA512:
6
- metadata.gz: 6a248621c5aea0ac33ad525d91dfae5e7b9934c18b8e7a172685dade248784c44b7d262ba1575472efdec948be1cc52e4d588845a13a12f2bb87854d196fd095
7
- data.tar.gz: 1247752dd4600a775ea0d52f977d360348bf0ade61b5274bcd92a135d5a86db2acaf689feb9cd35e58f33db37d246dee6e37a9e0d2c0b4b704fe46920079312f
6
+ metadata.gz: 2150df450775d2f132f901d485aaf115831036dfecc438ca1eed13d89d44fc01eabde37c559dd1c834e490bee861ac43358a0237a93247586c3d08e77a960c0c
7
+ data.tar.gz: b3c47548b3b6ef867128331819dcada070087ba3028beaa1b7578a67ec1de7b7309aec8fafcadf1643717f70fc4799236999e74041c1eccd9dc341a80b7aca9e
data/CHANGELOG.md CHANGED
@@ -1,5 +1,50 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.57.0 (2026-03-25)
4
+
5
+ Full Changelog: [v0.56.0...v0.57.0](https://github.com/openai/openai-ruby/compare/v0.56.0...v0.57.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** add keys field to computer action types ([bd5c423](https://github.com/openai/openai-ruby/commit/bd5c423eb2e37e59147795d0ba9bdd2507085dae))
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * **api:** align SDK response types with expanded item schemas ([9aaf1f2](https://github.com/openai/openai-ruby/commit/9aaf1f2fe5fb5cffb06c40635266664a6640c83d))
15
+ * **types:** make type field required in ResponseInputMessageItem ([246318f](https://github.com/openai/openai-ruby/commit/246318fdc87b5659bbf89a6957b577b19f504e15))
16
+
17
+
18
+ ### Chores
19
+
20
+ * **ci:** skip lint on metadata-only changes ([0281bf9](https://github.com/openai/openai-ruby/commit/0281bf926d03591102af929dfced76a5e8e0e325))
21
+ * **internal:** update gitignore ([1708a02](https://github.com/openai/openai-ruby/commit/1708a0204c41628e67fe1610ba6519de5fc03a35))
22
+ * **tests:** bump steady to v0.19.4 ([8cb70d7](https://github.com/openai/openai-ruby/commit/8cb70d74617b096ff0e83effe17c4a8bbe79b7fc))
23
+ * **tests:** bump steady to v0.19.5 ([b662b68](https://github.com/openai/openai-ruby/commit/b662b6821751a57f4f633a7d137f4f549e6adbdc))
24
+ * **tests:** bump steady to v0.19.6 ([6f82a97](https://github.com/openai/openai-ruby/commit/6f82a97e2349cf2bab5cc038cd65ee89a2e79d5c))
25
+ * **tests:** bump steady to v0.19.7 ([73c4eb8](https://github.com/openai/openai-ruby/commit/73c4eb8c5c673b6208a76acc95d0dc49f32d550e))
26
+
27
+
28
+ ### Refactors
29
+
30
+ * **tests:** switch from prism to steady ([9907cd8](https://github.com/openai/openai-ruby/commit/9907cd82b3dcee2823c821ed89c80aab2bed0d40))
31
+
32
+ ## 0.56.0 (2026-03-17)
33
+
34
+ Full Changelog: [v0.55.0...v0.56.0](https://github.com/openai/openai-ruby/compare/v0.55.0...v0.56.0)
35
+
36
+ ### Features
37
+
38
+ * **api:** 5.4 nano and mini model slugs ([ce7f09d](https://github.com/openai/openai-ruby/commit/ce7f09dcafdb1a8259ce14d0e7c012b872469a32))
39
+ * **api:** add /v1/videos endpoint support to batch create params ([7a661eb](https://github.com/openai/openai-ruby/commit/7a661eb405c72bb2696e0acd327ecd56d7ed6c54))
40
+ * **api:** add defer_loading field to namespace_tool function ([2f3b9b7](https://github.com/openai/openai-ruby/commit/2f3b9b7a2fa7b63ed20d362a993d98d8cec72fc1))
41
+ * **api:** add in/nin operators to ComparisonFilter ([70c8bf5](https://github.com/openai/openai-ruby/commit/70c8bf55c4d0e2054e23972479edb09c0d8f3d8e))
42
+
43
+
44
+ ### Chores
45
+
46
+ * **internal:** tweak CI branches ([1a5054f](https://github.com/openai/openai-ruby/commit/1a5054f561a63a4b19c0d2a035e1c45dcfbc21fc))
47
+
3
48
  ## 0.55.0 (2026-03-13)
4
49
 
5
50
  Full Changelog: [v0.54.0...v0.55.0](https://github.com/openai/openai-ruby/compare/v0.54.0...v0.55.0)
data/README.md CHANGED
@@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application
15
15
  <!-- x-release-please-start-version -->
16
16
 
17
17
  ```ruby
18
- gem "openai", "~> 0.55.0"
18
+ gem "openai", "~> 0.57.0"
19
19
  ```
20
20
 
21
21
  <!-- x-release-please-end -->
@@ -21,9 +21,9 @@ module OpenAI
21
21
  # case chat_model
22
22
  # when OpenAI::ChatModel::GPT_5_4
23
23
  # # ...
24
- # when OpenAI::ChatModel::GPT_5_3_CHAT_LATEST
24
+ # when OpenAI::ChatModel::GPT_5_4_MINI
25
25
  # # ...
26
- # when OpenAI::ChatModel::GPT_5_2
26
+ # when OpenAI::ChatModel::GPT_5_4_NANO
27
27
  # # ...
28
28
  # else
29
29
  # puts(chat_model)
@@ -33,9 +33,9 @@ module OpenAI
33
33
  # case chat_model
34
34
  # in :"gpt-5.4"
35
35
  # # ...
36
- # in :"gpt-5.3-chat-latest"
36
+ # in :"gpt-5.4-mini"
37
37
  # # ...
38
- # in :"gpt-5.2"
38
+ # in :"gpt-5.4-nano"
39
39
  # # ...
40
40
  # else
41
41
  # puts(chat_model)
@@ -17,9 +17,10 @@ module OpenAI
17
17
  # @!attribute endpoint
18
18
  # The endpoint to be used for all requests in the batch. Currently
19
19
  # `/v1/responses`, `/v1/chat/completions`, `/v1/embeddings`, `/v1/completions`,
20
- # `/v1/moderations`, `/v1/images/generations`, and `/v1/images/edits` are
21
- # supported. Note that `/v1/embeddings` batches are also restricted to a maximum
22
- # of 50,000 embedding inputs across all requests in the batch.
20
+ # `/v1/moderations`, `/v1/images/generations`, `/v1/images/edits`, and
21
+ # `/v1/videos` are supported. Note that `/v1/embeddings` batches are also
22
+ # restricted to a maximum of 50,000 embedding inputs across all requests in the
23
+ # batch.
23
24
  #
24
25
  # @return [Symbol, OpenAI::Models::BatchCreateParams::Endpoint]
25
26
  required :endpoint, enum: -> { OpenAI::BatchCreateParams::Endpoint }
@@ -85,9 +86,10 @@ module OpenAI
85
86
 
86
87
  # The endpoint to be used for all requests in the batch. Currently
87
88
  # `/v1/responses`, `/v1/chat/completions`, `/v1/embeddings`, `/v1/completions`,
88
- # `/v1/moderations`, `/v1/images/generations`, and `/v1/images/edits` are
89
- # supported. Note that `/v1/embeddings` batches are also restricted to a maximum
90
- # of 50,000 embedding inputs across all requests in the batch.
89
+ # `/v1/moderations`, `/v1/images/generations`, `/v1/images/edits`, and
90
+ # `/v1/videos` are supported. Note that `/v1/embeddings` batches are also
91
+ # restricted to a maximum of 50,000 embedding inputs across all requests in the
92
+ # batch.
91
93
  module Endpoint
92
94
  extend OpenAI::Internal::Type::Enum
93
95
 
@@ -98,6 +100,7 @@ module OpenAI
98
100
  V1_MODERATIONS = :"/v1/moderations"
99
101
  V1_IMAGES_GENERATIONS = :"/v1/images/generations"
100
102
  V1_IMAGES_EDITS = :"/v1/images/edits"
103
+ V1_VIDEOS = :"/v1/videos"
101
104
 
102
105
  # @!method self.values
103
106
  # @return [Array<Symbol>]
@@ -6,6 +6,10 @@ module OpenAI
6
6
  extend OpenAI::Internal::Type::Enum
7
7
 
8
8
  GPT_5_4 = :"gpt-5.4"
9
+ GPT_5_4_MINI = :"gpt-5.4-mini"
10
+ GPT_5_4_NANO = :"gpt-5.4-nano"
11
+ GPT_5_4_MINI_2026_03_17 = :"gpt-5.4-mini-2026-03-17"
12
+ GPT_5_4_NANO_2026_03_17 = :"gpt-5.4-nano-2026-03-17"
9
13
  GPT_5_3_CHAT_LATEST = :"gpt-5.3-chat-latest"
10
14
  GPT_5_2 = :"gpt-5.2"
11
15
  GPT_5_2_2025_12_11 = :"gpt-5.2-2025-12-11"
@@ -67,6 +67,8 @@ module OpenAI
67
67
  GTE = :gte
68
68
  LT = :lt
69
69
  LTE = :lte
70
+ IN = :in
71
+ NIN = :nin
70
72
 
71
73
  # @!method self.values
72
74
  # @return [Array<Symbol>]
@@ -49,6 +49,9 @@ module OpenAI
49
49
  # [managing context](https://platform.openai.com/docs/guides/conversation-state).
50
50
  variant :reasoning, -> { OpenAI::Responses::ResponseReasoningItem }
51
51
 
52
+ # A compaction item generated by the [`v1/responses/compact` API](https://platform.openai.com/docs/api-reference/responses/compact).
53
+ variant :compaction, -> { OpenAI::Responses::ResponseCompactionItem }
54
+
52
55
  # A tool call to run code.
53
56
  variant :code_interpreter_call, -> { OpenAI::Responses::ResponseCodeInterpreterToolCall }
54
57
 
@@ -608,7 +611,7 @@ module OpenAI
608
611
  end
609
612
 
610
613
  # @!method self.variants
611
- # @return [Array(OpenAI::Models::Conversations::Message, OpenAI::Models::Responses::ResponseFunctionToolCallItem, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Conversations::ConversationItem::LocalShellCall, OpenAI::Models::Conversations::ConversationItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Conversations::ConversationItem::McpListTools, OpenAI::Models::Conversations::ConversationItem::McpApprovalRequest, OpenAI::Models::Conversations::ConversationItem::McpApprovalResponse, OpenAI::Models::Conversations::ConversationItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseCustomToolCallOutput)]
614
+ # @return [Array(OpenAI::Models::Conversations::Message, OpenAI::Models::Responses::ResponseFunctionToolCallItem, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Conversations::ConversationItem::LocalShellCall, OpenAI::Models::Conversations::ConversationItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Conversations::ConversationItem::McpListTools, OpenAI::Models::Conversations::ConversationItem::McpApprovalRequest, OpenAI::Models::Conversations::ConversationItem::McpApprovalResponse, OpenAI::Models::Conversations::ConversationItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseCustomToolCallOutput)]
612
615
  end
613
616
  end
614
617
 
@@ -8,7 +8,7 @@ module OpenAI
8
8
  # @!attribute data
9
9
  # A list of conversation items.
10
10
  #
11
- # @return [Array<OpenAI::Models::Conversations::Message, OpenAI::Models::Responses::ResponseFunctionToolCallItem, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Conversations::ConversationItem::LocalShellCall, OpenAI::Models::Conversations::ConversationItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Conversations::ConversationItem::McpListTools, OpenAI::Models::Conversations::ConversationItem::McpApprovalRequest, OpenAI::Models::Conversations::ConversationItem::McpApprovalResponse, OpenAI::Models::Conversations::ConversationItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseCustomToolCallOutput>]
11
+ # @return [Array<OpenAI::Models::Conversations::Message, OpenAI::Models::Responses::ResponseFunctionToolCallItem, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Conversations::ConversationItem::LocalShellCall, OpenAI::Models::Conversations::ConversationItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Conversations::ConversationItem::McpListTools, OpenAI::Models::Conversations::ConversationItem::McpApprovalRequest, OpenAI::Models::Conversations::ConversationItem::McpApprovalResponse, OpenAI::Models::Conversations::ConversationItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseCustomToolCallOutput>]
12
12
  required :data, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Conversations::ConversationItem] }
13
13
 
14
14
  # @!attribute first_id
@@ -38,7 +38,7 @@ module OpenAI
38
38
  # @!method initialize(data:, first_id:, has_more:, last_id:, object: :list)
39
39
  # A list of Conversation items.
40
40
  #
41
- # @param data [Array<OpenAI::Models::Conversations::Message, OpenAI::Models::Responses::ResponseFunctionToolCallItem, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Conversations::ConversationItem::LocalShellCall, OpenAI::Models::Conversations::ConversationItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Conversations::ConversationItem::McpListTools, OpenAI::Models::Conversations::ConversationItem::McpApprovalRequest, OpenAI::Models::Conversations::ConversationItem::McpApprovalResponse, OpenAI::Models::Conversations::ConversationItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseCustomToolCallOutput>] A list of conversation items.
41
+ # @param data [Array<OpenAI::Models::Conversations::Message, OpenAI::Models::Responses::ResponseFunctionToolCallItem, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Conversations::ConversationItem::LocalShellCall, OpenAI::Models::Conversations::ConversationItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Conversations::ConversationItem::McpListTools, OpenAI::Models::Conversations::ConversationItem::McpApprovalRequest, OpenAI::Models::Conversations::ConversationItem::McpApprovalResponse, OpenAI::Models::Conversations::ConversationItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseCustomToolCallOutput>] A list of conversation items.
42
42
  #
43
43
  # @param first_id [String] The ID of the first item in the list.
44
44
  #
@@ -27,7 +27,7 @@ module OpenAI
27
27
  # The compacted list of output items. This is a list of all user messages,
28
28
  # followed by a single compaction item.
29
29
  #
30
- # @return [Array<OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseCustomToolCall>]
30
+ # @return [Array<OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem>]
31
31
  required :output, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Responses::ResponseOutputItem] }
32
32
 
33
33
  # @!attribute usage
@@ -45,7 +45,7 @@ module OpenAI
45
45
  #
46
46
  # @param created_at [Integer] Unix timestamp (in seconds) when the compacted conversation was created.
47
47
  #
48
- # @param output [Array<OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseCustomToolCall>] The compacted list of output items. This is a list of all user messages, followe
48
+ # @param output [Array<OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem>] The compacted list of output items. This is a list of all user messages, followe
49
49
  #
50
50
  # @param usage [OpenAI::Models::Responses::ResponseUsage] Token accounting for the compaction pass, including cached, reasoning, and total
51
51
  #
@@ -62,7 +62,13 @@ module OpenAI
62
62
  # @return [Integer]
63
63
  required :y_, Integer, api_name: :y
64
64
 
65
- # @!method initialize(button:, x:, y_:, type: :click)
65
+ # @!attribute keys
66
+ # The keys being held while clicking.
67
+ #
68
+ # @return [Array<String>, nil]
69
+ optional :keys, OpenAI::Internal::Type::ArrayOf[String], nil?: true
70
+
71
+ # @!method initialize(button:, x:, y_:, keys: nil, type: :click)
66
72
  # Some parameter documentations has been truncated, see
67
73
  # {OpenAI::Models::Responses::ComputerAction::Click} for more details.
68
74
  #
@@ -74,6 +80,8 @@ module OpenAI
74
80
  #
75
81
  # @param y_ [Integer] The y-coordinate where the click occurred.
76
82
  #
83
+ # @param keys [Array<String>, nil] The keys being held while clicking.
84
+ #
77
85
  # @param type [Symbol, :click] Specifies the event type. For a click action, this property is always `click`.
78
86
 
79
87
  # Indicates which mouse button was pressed during the click. One of `left`,
@@ -95,6 +103,12 @@ module OpenAI
95
103
  end
96
104
 
97
105
  class DoubleClick < OpenAI::Internal::Type::BaseModel
106
+ # @!attribute keys
107
+ # The keys being held while double-clicking.
108
+ #
109
+ # @return [Array<String>, nil]
110
+ required :keys, OpenAI::Internal::Type::ArrayOf[String], nil?: true
111
+
98
112
  # @!attribute type
99
113
  # Specifies the event type. For a double click action, this property is always set
100
114
  # to `double_click`.
@@ -114,12 +128,14 @@ module OpenAI
114
128
  # @return [Integer]
115
129
  required :y_, Integer, api_name: :y
116
130
 
117
- # @!method initialize(x:, y_:, type: :double_click)
131
+ # @!method initialize(keys:, x:, y_:, type: :double_click)
118
132
  # Some parameter documentations has been truncated, see
119
133
  # {OpenAI::Models::Responses::ComputerAction::DoubleClick} for more details.
120
134
  #
121
135
  # A double click action.
122
136
  #
137
+ # @param keys [Array<String>, nil] The keys being held while double-clicking.
138
+ #
123
139
  # @param x [Integer] The x-coordinate where the double click occurred.
124
140
  #
125
141
  # @param y_ [Integer] The y-coordinate where the double click occurred.
@@ -149,7 +165,13 @@ module OpenAI
149
165
  # @return [Symbol, :drag]
150
166
  required :type, const: :drag
151
167
 
152
- # @!method initialize(path:, type: :drag)
168
+ # @!attribute keys
169
+ # The keys being held while dragging the mouse.
170
+ #
171
+ # @return [Array<String>, nil]
172
+ optional :keys, OpenAI::Internal::Type::ArrayOf[String], nil?: true
173
+
174
+ # @!method initialize(path:, keys: nil, type: :drag)
153
175
  # Some parameter documentations has been truncated, see
154
176
  # {OpenAI::Models::Responses::ComputerAction::Drag} for more details.
155
177
  #
@@ -157,6 +179,8 @@ module OpenAI
157
179
  #
158
180
  # @param path [Array<OpenAI::Models::Responses::ComputerAction::Drag::Path>] An array of coordinates representing the path of the drag action. Coordinates wi
159
181
  #
182
+ # @param keys [Array<String>, nil] The keys being held while dragging the mouse.
183
+ #
160
184
  # @param type [Symbol, :drag] Specifies the event type. For a drag action, this property is always set to `dra
161
185
 
162
186
  class Path < OpenAI::Internal::Type::BaseModel
@@ -227,7 +251,13 @@ module OpenAI
227
251
  # @return [Integer]
228
252
  required :y_, Integer, api_name: :y
229
253
 
230
- # @!method initialize(x:, y_:, type: :move)
254
+ # @!attribute keys
255
+ # The keys being held while moving the mouse.
256
+ #
257
+ # @return [Array<String>, nil]
258
+ optional :keys, OpenAI::Internal::Type::ArrayOf[String], nil?: true
259
+
260
+ # @!method initialize(x:, y_:, keys: nil, type: :move)
231
261
  # Some parameter documentations has been truncated, see
232
262
  # {OpenAI::Models::Responses::ComputerAction::Move} for more details.
233
263
  #
@@ -237,6 +267,8 @@ module OpenAI
237
267
  #
238
268
  # @param y_ [Integer] The y-coordinate to move to.
239
269
  #
270
+ # @param keys [Array<String>, nil] The keys being held while moving the mouse.
271
+ #
240
272
  # @param type [Symbol, :move] Specifies the event type. For a move action, this property is always set to `mov
241
273
  end
242
274
 
@@ -289,7 +321,13 @@ module OpenAI
289
321
  # @return [Integer]
290
322
  required :y_, Integer, api_name: :y
291
323
 
292
- # @!method initialize(scroll_x:, scroll_y:, x:, y_:, type: :scroll)
324
+ # @!attribute keys
325
+ # The keys being held while scrolling.
326
+ #
327
+ # @return [Array<String>, nil]
328
+ optional :keys, OpenAI::Internal::Type::ArrayOf[String], nil?: true
329
+
330
+ # @!method initialize(scroll_x:, scroll_y:, x:, y_:, keys: nil, type: :scroll)
293
331
  # Some parameter documentations has been truncated, see
294
332
  # {OpenAI::Models::Responses::ComputerAction::Scroll} for more details.
295
333
  #
@@ -303,6 +341,8 @@ module OpenAI
303
341
  #
304
342
  # @param y_ [Integer] The y-coordinate where the scroll occurred.
305
343
  #
344
+ # @param keys [Array<String>, nil] The keys being held while scrolling.
345
+ #
306
346
  # @param type [Symbol, :scroll] Specifies the event type. For a scroll action, this property is always set to `s
307
347
  end
308
348
 
@@ -61,6 +61,12 @@ module OpenAI
61
61
  # @return [Symbol, :function]
62
62
  required :type, const: :function
63
63
 
64
+ # @!attribute defer_loading
65
+ # Whether this function should be deferred and discovered via tool search.
66
+ #
67
+ # @return [Boolean, nil]
68
+ optional :defer_loading, OpenAI::Internal::Type::Boolean
69
+
64
70
  # @!attribute description
65
71
  #
66
72
  # @return [String, nil]
@@ -76,11 +82,17 @@ module OpenAI
76
82
  # @return [Boolean, nil]
77
83
  optional :strict, OpenAI::Internal::Type::Boolean, nil?: true
78
84
 
79
- # @!method initialize(name:, description: nil, parameters: nil, strict: nil, type: :function)
85
+ # @!method initialize(name:, defer_loading: nil, description: nil, parameters: nil, strict: nil, type: :function)
80
86
  # @param name [String]
87
+ #
88
+ # @param defer_loading [Boolean] Whether this function should be deferred and discovered via tool search.
89
+ #
81
90
  # @param description [String, nil]
91
+ #
82
92
  # @param parameters [Object, nil]
93
+ #
83
94
  # @param strict [Boolean, nil]
95
+ #
84
96
  # @param type [Symbol, :function]
85
97
  end
86
98
 
@@ -77,7 +77,7 @@ module OpenAI
77
77
  # an `assistant` message with the content generated by the model, you might
78
78
  # consider using the `output_text` property where supported in SDKs.
79
79
  #
80
- # @return [Array<OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseCustomToolCall>]
80
+ # @return [Array<OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem>]
81
81
  required :output, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Responses::ResponseOutputItem] }
82
82
 
83
83
  # @!attribute parallel_tool_calls
@@ -344,7 +344,7 @@ module OpenAI
344
344
  #
345
345
  # @param model [String, Symbol, OpenAI::Models::ChatModel, OpenAI::Models::ResponsesModel::ResponsesOnlyModel] Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI
346
346
  #
347
- # @param output [Array<OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseCustomToolCall>] An array of content items generated by the model.
347
+ # @param output [Array<OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem>] An array of content items generated by the model.
348
348
  #
349
349
  # @param parallel_tool_calls [Boolean] Whether to allow the model to run tool calls in parallel.
350
350
  #
@@ -74,6 +74,14 @@ module OpenAI
74
74
 
75
75
  variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_5_4 }
76
76
 
77
+ variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_5_4_MINI }
78
+
79
+ variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_5_4_NANO }
80
+
81
+ variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_5_4_MINI_2026_03_17 }
82
+
83
+ variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_5_4_NANO_2026_03_17 }
84
+
77
85
  variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_5_3_CHAT_LATEST }
78
86
 
79
87
  variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_5_2 }
@@ -260,6 +268,10 @@ module OpenAI
260
268
  # @!group
261
269
 
262
270
  GPT_5_4 = :"gpt-5.4"
271
+ GPT_5_4_MINI = :"gpt-5.4-mini"
272
+ GPT_5_4_NANO = :"gpt-5.4-nano"
273
+ GPT_5_4_MINI_2026_03_17 = :"gpt-5.4-mini-2026-03-17"
274
+ GPT_5_4_NANO_2026_03_17 = :"gpt-5.4-nano-2026-03-17"
263
275
  GPT_5_3_CHAT_LATEST = :"gpt-5.3-chat-latest"
264
276
  GPT_5_2 = :"gpt-5.2"
265
277
  GPT_5_2_2025_12_11 = :"gpt-5.2-2025-12-11"
@@ -188,7 +188,13 @@ module OpenAI
188
188
  # @return [Integer]
189
189
  required :y_, Integer, api_name: :y
190
190
 
191
- # @!method initialize(button:, x:, y_:, type: :click)
191
+ # @!attribute keys
192
+ # The keys being held while clicking.
193
+ #
194
+ # @return [Array<String>, nil]
195
+ optional :keys, OpenAI::Internal::Type::ArrayOf[String], nil?: true
196
+
197
+ # @!method initialize(button:, x:, y_:, keys: nil, type: :click)
192
198
  # Some parameter documentations has been truncated, see
193
199
  # {OpenAI::Models::Responses::ResponseComputerToolCall::Action::Click} for more
194
200
  # details.
@@ -201,6 +207,8 @@ module OpenAI
201
207
  #
202
208
  # @param y_ [Integer] The y-coordinate where the click occurred.
203
209
  #
210
+ # @param keys [Array<String>, nil] The keys being held while clicking.
211
+ #
204
212
  # @param type [Symbol, :click] Specifies the event type. For a click action, this property is always `click`.
205
213
 
206
214
  # Indicates which mouse button was pressed during the click. One of `left`,
@@ -222,6 +230,12 @@ module OpenAI
222
230
  end
223
231
 
224
232
  class DoubleClick < OpenAI::Internal::Type::BaseModel
233
+ # @!attribute keys
234
+ # The keys being held while double-clicking.
235
+ #
236
+ # @return [Array<String>, nil]
237
+ required :keys, OpenAI::Internal::Type::ArrayOf[String], nil?: true
238
+
225
239
  # @!attribute type
226
240
  # Specifies the event type. For a double click action, this property is always set
227
241
  # to `double_click`.
@@ -241,13 +255,15 @@ module OpenAI
241
255
  # @return [Integer]
242
256
  required :y_, Integer, api_name: :y
243
257
 
244
- # @!method initialize(x:, y_:, type: :double_click)
258
+ # @!method initialize(keys:, x:, y_:, type: :double_click)
245
259
  # Some parameter documentations has been truncated, see
246
260
  # {OpenAI::Models::Responses::ResponseComputerToolCall::Action::DoubleClick} for
247
261
  # more details.
248
262
  #
249
263
  # A double click action.
250
264
  #
265
+ # @param keys [Array<String>, nil] The keys being held while double-clicking.
266
+ #
251
267
  # @param x [Integer] The x-coordinate where the double click occurred.
252
268
  #
253
269
  # @param y_ [Integer] The y-coordinate where the double click occurred.
@@ -278,7 +294,13 @@ module OpenAI
278
294
  # @return [Symbol, :drag]
279
295
  required :type, const: :drag
280
296
 
281
- # @!method initialize(path:, type: :drag)
297
+ # @!attribute keys
298
+ # The keys being held while dragging the mouse.
299
+ #
300
+ # @return [Array<String>, nil]
301
+ optional :keys, OpenAI::Internal::Type::ArrayOf[String], nil?: true
302
+
303
+ # @!method initialize(path:, keys: nil, type: :drag)
282
304
  # Some parameter documentations has been truncated, see
283
305
  # {OpenAI::Models::Responses::ResponseComputerToolCall::Action::Drag} for more
284
306
  # details.
@@ -287,6 +309,8 @@ module OpenAI
287
309
  #
288
310
  # @param path [Array<OpenAI::Models::Responses::ResponseComputerToolCall::Action::Drag::Path>] An array of coordinates representing the path of the drag action. Coordinates wi
289
311
  #
312
+ # @param keys [Array<String>, nil] The keys being held while dragging the mouse.
313
+ #
290
314
  # @param type [Symbol, :drag] Specifies the event type. For a drag action, this property is always set to `dra
291
315
 
292
316
  class Path < OpenAI::Internal::Type::BaseModel
@@ -358,7 +382,13 @@ module OpenAI
358
382
  # @return [Integer]
359
383
  required :y_, Integer, api_name: :y
360
384
 
361
- # @!method initialize(x:, y_:, type: :move)
385
+ # @!attribute keys
386
+ # The keys being held while moving the mouse.
387
+ #
388
+ # @return [Array<String>, nil]
389
+ optional :keys, OpenAI::Internal::Type::ArrayOf[String], nil?: true
390
+
391
+ # @!method initialize(x:, y_:, keys: nil, type: :move)
362
392
  # Some parameter documentations has been truncated, see
363
393
  # {OpenAI::Models::Responses::ResponseComputerToolCall::Action::Move} for more
364
394
  # details.
@@ -369,6 +399,8 @@ module OpenAI
369
399
  #
370
400
  # @param y_ [Integer] The y-coordinate to move to.
371
401
  #
402
+ # @param keys [Array<String>, nil] The keys being held while moving the mouse.
403
+ #
372
404
  # @param type [Symbol, :move] Specifies the event type. For a move action, this property is always set to `mov
373
405
  end
374
406
 
@@ -422,7 +454,13 @@ module OpenAI
422
454
  # @return [Integer]
423
455
  required :y_, Integer, api_name: :y
424
456
 
425
- # @!method initialize(scroll_x:, scroll_y:, x:, y_:, type: :scroll)
457
+ # @!attribute keys
458
+ # The keys being held while scrolling.
459
+ #
460
+ # @return [Array<String>, nil]
461
+ optional :keys, OpenAI::Internal::Type::ArrayOf[String], nil?: true
462
+
463
+ # @!method initialize(scroll_x:, scroll_y:, x:, y_:, keys: nil, type: :scroll)
426
464
  # Some parameter documentations has been truncated, see
427
465
  # {OpenAI::Models::Responses::ResponseComputerToolCall::Action::Scroll} for more
428
466
  # details.
@@ -437,6 +475,8 @@ module OpenAI
437
475
  #
438
476
  # @param y_ [Integer] The y-coordinate where the scroll occurred.
439
477
  #
478
+ # @param keys [Array<String>, nil] The keys being held while scrolling.
479
+ #
440
480
  # @param type [Symbol, :scroll] Specifies the event type. For a scroll action, this property is always set to `s
441
481
  end
442
482