openai 0.29.0 → 0.30.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 (178) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +1 -1
  4. data/lib/openai/client.rb +4 -0
  5. data/lib/openai/internal/conversation_cursor_page.rb +2 -2
  6. data/lib/openai/models/all_models.rb +2 -0
  7. data/lib/openai/models/beta/chatkit/chat_session.rb +94 -0
  8. data/lib/openai/models/beta/chatkit/chat_session_automatic_thread_titling.rb +22 -0
  9. data/lib/openai/models/beta/chatkit/chat_session_chatkit_configuration.rb +38 -0
  10. data/lib/openai/models/beta/chatkit/chat_session_chatkit_configuration_param.rb +125 -0
  11. data/lib/openai/models/beta/chatkit/chat_session_expires_after_param.rb +30 -0
  12. data/lib/openai/models/beta/chatkit/chat_session_file_upload.rb +38 -0
  13. data/lib/openai/models/beta/chatkit/chat_session_history.rb +34 -0
  14. data/lib/openai/models/beta/chatkit/chat_session_rate_limits.rb +22 -0
  15. data/lib/openai/models/beta/chatkit/chat_session_rate_limits_param.rb +22 -0
  16. data/lib/openai/models/beta/chatkit/chat_session_status.rb +20 -0
  17. data/lib/openai/models/beta/chatkit/chat_session_workflow_param.rb +80 -0
  18. data/lib/openai/models/beta/chatkit/chatkit_attachment.rb +69 -0
  19. data/lib/openai/models/beta/chatkit/chatkit_response_output_text.rb +143 -0
  20. data/lib/openai/models/beta/chatkit/chatkit_thread.rb +145 -0
  21. data/lib/openai/models/beta/chatkit/chatkit_thread_assistant_message_item.rb +65 -0
  22. data/lib/openai/models/beta/chatkit/chatkit_thread_item_list.rb +374 -0
  23. data/lib/openai/models/beta/chatkit/chatkit_thread_user_message_item.rb +183 -0
  24. data/lib/openai/models/beta/chatkit/chatkit_widget_item.rb +64 -0
  25. data/lib/openai/models/beta/chatkit/session_cancel_params.rb +18 -0
  26. data/lib/openai/models/beta/chatkit/session_create_params.rb +63 -0
  27. data/lib/openai/models/beta/chatkit/thread_delete_params.rb +18 -0
  28. data/lib/openai/models/beta/chatkit/thread_delete_response.rb +39 -0
  29. data/lib/openai/models/beta/chatkit/thread_list_items_params.rb +66 -0
  30. data/lib/openai/models/beta/chatkit/thread_list_params.rb +75 -0
  31. data/lib/openai/models/beta/chatkit/thread_retrieve_params.rb +18 -0
  32. data/lib/openai/models/beta/chatkit_upload_file_params.rb +28 -0
  33. data/lib/openai/models/beta/chatkit_upload_file_response.rb +25 -0
  34. data/lib/openai/models/beta/chatkit_workflow.rb +78 -0
  35. data/lib/openai/models/beta/file_part.rb +56 -0
  36. data/lib/openai/models/beta/image_part.rb +64 -0
  37. data/lib/openai/models/image_edit_params.rb +4 -2
  38. data/lib/openai/models/image_model.rb +1 -0
  39. data/lib/openai/models/realtime/realtime_session.rb +4 -0
  40. data/lib/openai/models/realtime/realtime_session_create_request.rb +12 -0
  41. data/lib/openai/models/realtime/realtime_session_create_response.rb +12 -0
  42. data/lib/openai/models/responses/tool.rb +5 -2
  43. data/lib/openai/models/responses_model.rb +2 -0
  44. data/lib/openai/models/video.rb +122 -0
  45. data/lib/openai/models/video_create_error.rb +21 -0
  46. data/lib/openai/models/video_create_params.rb +54 -0
  47. data/lib/openai/models/video_delete_params.rb +14 -0
  48. data/lib/openai/models/video_delete_response.rb +35 -0
  49. data/lib/openai/models/video_download_content_params.rb +34 -0
  50. data/lib/openai/models/video_list_params.rb +54 -0
  51. data/lib/openai/models/video_model.rb +15 -0
  52. data/lib/openai/models/video_remix_params.rb +22 -0
  53. data/lib/openai/models/video_retrieve_params.rb +14 -0
  54. data/lib/openai/models/video_seconds.rb +16 -0
  55. data/lib/openai/models/video_size.rb +17 -0
  56. data/lib/openai/models.rb +22 -0
  57. data/lib/openai/resources/beta/chatkit/sessions.rb +71 -0
  58. data/lib/openai/resources/beta/chatkit/threads.rb +126 -0
  59. data/lib/openai/resources/beta/chatkit.rb +50 -0
  60. data/lib/openai/resources/beta.rb +4 -0
  61. data/lib/openai/resources/videos.rb +165 -0
  62. data/lib/openai/version.rb +1 -1
  63. data/lib/openai.rb +46 -0
  64. data/rbi/openai/client.rbi +3 -0
  65. data/rbi/openai/models/all_models.rbi +10 -0
  66. data/rbi/openai/models/beta/chatkit/chat_session.rbi +141 -0
  67. data/rbi/openai/models/beta/chatkit/chat_session_automatic_thread_titling.rbi +35 -0
  68. data/rbi/openai/models/beta/chatkit/chat_session_chatkit_configuration.rbi +87 -0
  69. data/rbi/openai/models/beta/chatkit/chat_session_chatkit_configuration_param.rbi +256 -0
  70. data/rbi/openai/models/beta/chatkit/chat_session_expires_after_param.rbi +43 -0
  71. data/rbi/openai/models/beta/chatkit/chat_session_file_upload.rbi +61 -0
  72. data/rbi/openai/models/beta/chatkit/chat_session_history.rbi +52 -0
  73. data/rbi/openai/models/beta/chatkit/chat_session_rate_limits.rbi +37 -0
  74. data/rbi/openai/models/beta/chatkit/chat_session_rate_limits_param.rbi +40 -0
  75. data/rbi/openai/models/beta/chatkit/chat_session_status.rbi +43 -0
  76. data/rbi/openai/models/beta/chatkit/chat_session_workflow_param.rbi +166 -0
  77. data/rbi/openai/models/beta/chatkit/chatkit_attachment.rbi +116 -0
  78. data/rbi/openai/models/beta/chatkit/chatkit_response_output_text.rbi +287 -0
  79. data/rbi/openai/models/beta/chatkit/chatkit_thread.rbi +220 -0
  80. data/rbi/openai/models/beta/chatkit/chatkit_thread_assistant_message_item.rbi +94 -0
  81. data/rbi/openai/models/beta/chatkit/chatkit_thread_item_list.rbi +590 -0
  82. data/rbi/openai/models/beta/chatkit/chatkit_thread_user_message_item.rbi +324 -0
  83. data/rbi/openai/models/beta/chatkit/chatkit_widget_item.rbi +87 -0
  84. data/rbi/openai/models/beta/chatkit/session_cancel_params.rbi +34 -0
  85. data/rbi/openai/models/beta/chatkit/session_create_params.rbi +136 -0
  86. data/rbi/openai/models/beta/chatkit/thread_delete_params.rbi +34 -0
  87. data/rbi/openai/models/beta/chatkit/thread_delete_response.rbi +55 -0
  88. data/rbi/openai/models/beta/chatkit/thread_list_items_params.rbi +138 -0
  89. data/rbi/openai/models/beta/chatkit/thread_list_params.rbi +145 -0
  90. data/rbi/openai/models/beta/chatkit/thread_retrieve_params.rbi +34 -0
  91. data/rbi/openai/models/beta/chatkit_upload_file_params.rbi +50 -0
  92. data/rbi/openai/models/beta/chatkit_upload_file_response.rbi +25 -0
  93. data/rbi/openai/models/beta/chatkit_workflow.rbi +134 -0
  94. data/rbi/openai/models/beta/file_part.rbi +74 -0
  95. data/rbi/openai/models/beta/image_part.rbi +82 -0
  96. data/rbi/openai/models/image_edit_params.rbi +6 -3
  97. data/rbi/openai/models/image_model.rbi +2 -0
  98. data/rbi/openai/models/realtime/realtime_session.rbi +20 -0
  99. data/rbi/openai/models/realtime/realtime_session_create_request.rbi +20 -0
  100. data/rbi/openai/models/realtime/realtime_session_create_response.rbi +20 -0
  101. data/rbi/openai/models/responses/tool.rbi +11 -3
  102. data/rbi/openai/models/responses_model.rbi +10 -0
  103. data/rbi/openai/models/video.rbi +143 -0
  104. data/rbi/openai/models/video_create_error.rbi +26 -0
  105. data/rbi/openai/models/video_create_params.rbi +87 -0
  106. data/rbi/openai/models/video_delete_params.rbi +27 -0
  107. data/rbi/openai/models/video_delete_response.rbi +46 -0
  108. data/rbi/openai/models/video_download_content_params.rbi +89 -0
  109. data/rbi/openai/models/video_list_params.rbi +91 -0
  110. data/rbi/openai/models/video_model.rbi +19 -0
  111. data/rbi/openai/models/video_remix_params.rbi +40 -0
  112. data/rbi/openai/models/video_retrieve_params.rbi +27 -0
  113. data/rbi/openai/models/video_seconds.rbi +20 -0
  114. data/rbi/openai/models/video_size.rbi +23 -0
  115. data/rbi/openai/models.rbi +22 -0
  116. data/rbi/openai/resources/beta/chatkit/sessions.rbi +61 -0
  117. data/rbi/openai/resources/beta/chatkit/threads.rbi +110 -0
  118. data/rbi/openai/resources/beta/chatkit.rbi +35 -0
  119. data/rbi/openai/resources/beta.rbi +3 -0
  120. data/rbi/openai/resources/images.rbi +4 -2
  121. data/rbi/openai/resources/videos.rbi +121 -0
  122. data/sig/openai/client.rbs +2 -0
  123. data/sig/openai/models/all_models.rbs +4 -0
  124. data/sig/openai/models/beta/chatkit/chat_session.rbs +69 -0
  125. data/sig/openai/models/beta/chatkit/chat_session_automatic_thread_titling.rbs +17 -0
  126. data/sig/openai/models/beta/chatkit/chat_session_chatkit_configuration.rbs +34 -0
  127. data/sig/openai/models/beta/chatkit/chat_session_chatkit_configuration_param.rbs +103 -0
  128. data/sig/openai/models/beta/chatkit/chat_session_expires_after_param.rbs +20 -0
  129. data/sig/openai/models/beta/chatkit/chat_session_file_upload.rbs +30 -0
  130. data/sig/openai/models/beta/chatkit/chat_session_history.rbs +19 -0
  131. data/sig/openai/models/beta/chatkit/chat_session_rate_limits.rbs +18 -0
  132. data/sig/openai/models/beta/chatkit/chat_session_rate_limits_param.rbs +20 -0
  133. data/sig/openai/models/beta/chatkit/chat_session_status.rbs +19 -0
  134. data/sig/openai/models/beta/chatkit/chat_session_workflow_param.rbs +69 -0
  135. data/sig/openai/models/beta/chatkit/chatkit_attachment.rbs +57 -0
  136. data/sig/openai/models/beta/chatkit/chatkit_response_output_text.rbs +114 -0
  137. data/sig/openai/models/beta/chatkit/chatkit_thread.rbs +96 -0
  138. data/sig/openai/models/beta/chatkit/chatkit_thread_assistant_message_item.rbs +51 -0
  139. data/sig/openai/models/beta/chatkit/chatkit_thread_item_list.rbs +276 -0
  140. data/sig/openai/models/beta/chatkit/chatkit_thread_user_message_item.rbs +127 -0
  141. data/sig/openai/models/beta/chatkit/chatkit_widget_item.rbs +51 -0
  142. data/sig/openai/models/beta/chatkit/session_cancel_params.rbs +19 -0
  143. data/sig/openai/models/beta/chatkit/session_create_params.rbs +62 -0
  144. data/sig/openai/models/beta/chatkit/thread_delete_params.rbs +19 -0
  145. data/sig/openai/models/beta/chatkit/thread_delete_response.rbs +30 -0
  146. data/sig/openai/models/beta/chatkit/thread_list_items_params.rbs +66 -0
  147. data/sig/openai/models/beta/chatkit/thread_list_params.rbs +73 -0
  148. data/sig/openai/models/beta/chatkit/thread_retrieve_params.rbs +19 -0
  149. data/sig/openai/models/beta/chatkit_upload_file_params.rbs +26 -0
  150. data/sig/openai/models/beta/chatkit_upload_file_response.rbs +14 -0
  151. data/sig/openai/models/beta/chatkit_workflow.rbs +55 -0
  152. data/sig/openai/models/beta/file_part.rbs +42 -0
  153. data/sig/openai/models/beta/image_part.rbs +47 -0
  154. data/sig/openai/models/image_model.rbs +3 -1
  155. data/sig/openai/models/realtime/realtime_session.rbs +8 -0
  156. data/sig/openai/models/realtime/realtime_session_create_request.rbs +8 -0
  157. data/sig/openai/models/realtime/realtime_session_create_response.rbs +8 -0
  158. data/sig/openai/models/responses/tool.rbs +2 -1
  159. data/sig/openai/models/responses_model.rbs +4 -0
  160. data/sig/openai/models/video.rbs +88 -0
  161. data/sig/openai/models/video_create_error.rbs +15 -0
  162. data/sig/openai/models/video_create_params.rbs +58 -0
  163. data/sig/openai/models/video_delete_params.rbs +14 -0
  164. data/sig/openai/models/video_delete_response.rbs +22 -0
  165. data/sig/openai/models/video_download_content_params.rbs +40 -0
  166. data/sig/openai/models/video_list_params.rbs +55 -0
  167. data/sig/openai/models/video_model.rbs +14 -0
  168. data/sig/openai/models/video_remix_params.rbs +23 -0
  169. data/sig/openai/models/video_retrieve_params.rbs +15 -0
  170. data/sig/openai/models/video_seconds.rbs +15 -0
  171. data/sig/openai/models/video_size.rbs +16 -0
  172. data/sig/openai/models.rbs +22 -0
  173. data/sig/openai/resources/beta/chatkit/sessions.rbs +25 -0
  174. data/sig/openai/resources/beta/chatkit/threads.rbs +39 -0
  175. data/sig/openai/resources/beta/chatkit.rbs +18 -0
  176. data/sig/openai/resources/beta.rbs +2 -0
  177. data/sig/openai/resources/videos.rbs +45 -0
  178. metadata +140 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3cc7790b5d1d8428b74acb0679ef3c0c181c7080b55be162ee4c3c56e27e017e
4
- data.tar.gz: eaf55f9a450e8c4e1dd27ddabdcbb4ce304025c7028d0e02d00405d83ff752b1
3
+ metadata.gz: d02b6f84336ab2943d81ca1d6a86d080002099ca2f4f50312308e7175e744d29
4
+ data.tar.gz: ae6673ea096f6380fe7e56c54d5dec7f4a145ab7df102f22fcd62206cc24ffa0
5
5
  SHA512:
6
- metadata.gz: 8c3e0f6fcdbc1d7b2efb8f5674b9bec6cffa270737894dd68694f56e480ad49cb1cbe61abc93fc8321183bc737ed0bbd5980b1d15134ec5fbdad2f0983988c14
7
- data.tar.gz: 43691a8ae3a5834efd388697ccdcfd1ee617e101c4d751353c1d37da434b4b67f9bde21efd46ae21edc92654d48055b4833d07c8aa5e6292a235729019054ef1
6
+ metadata.gz: 88fe2ca0580874b5e1ecf5040bbe457ef92c970902c0821242d374560c8008823a51b4480c45c4bf24a4a82c2c38ce9a9a67e73b313ec2888ca3564d20202bde
7
+ data.tar.gz: d1143c113d698b1472275247fac8f98d92f151d3895c2cc5e54daf10dcdd127601beb68794d0161c1efa4d11953557741b5e7b49e7460c3816cc6fd0c6495579
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.30.0 (2025-10-06)
4
+
5
+ Full Changelog: [v0.29.0...v0.30.0](https://github.com/openai/openai-ruby/compare/v0.29.0...v0.30.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** dev day 2025 launches ([98a56b4](https://github.com/openai/openai-ruby/commit/98a56b4c6a1cae0ebf4c0d9bc75933fbcd74af9f))
10
+
3
11
  ## 0.29.0 (2025-10-02)
4
12
 
5
13
  Full Changelog: [v0.28.1...v0.29.0](https://github.com/openai/openai-ruby/compare/v0.28.1...v0.29.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.29.0"
18
+ gem "openai", "~> 0.30.0"
19
19
  ```
20
20
 
21
21
  <!-- x-release-please-end -->
data/lib/openai/client.rb CHANGED
@@ -87,6 +87,9 @@ module OpenAI
87
87
  # @return [OpenAI::Resources::Containers]
88
88
  attr_reader :containers
89
89
 
90
+ # @return [OpenAI::Resources::Videos]
91
+ attr_reader :videos
92
+
90
93
  # @api private
91
94
  #
92
95
  # @return [Hash{String=>String}]
@@ -170,6 +173,7 @@ module OpenAI
170
173
  @conversations = OpenAI::Resources::Conversations.new(client: self)
171
174
  @evals = OpenAI::Resources::Evals.new(client: self)
172
175
  @containers = OpenAI::Resources::Containers.new(client: self)
176
+ @videos = OpenAI::Resources::Videos.new(client: self)
173
177
  end
174
178
  end
175
179
  end
@@ -10,8 +10,8 @@ module OpenAI
10
10
  # end
11
11
  #
12
12
  # @example
13
- # conversation_cursor_page.auto_paging_each do |item|
14
- # puts(item)
13
+ # conversation_cursor_page.auto_paging_each do |thread|
14
+ # puts(thread)
15
15
  # end
16
16
  class ConversationCursorPage
17
17
  include OpenAI::Internal::Type::BasePage
@@ -25,6 +25,8 @@ module OpenAI
25
25
  COMPUTER_USE_PREVIEW = :"computer-use-preview"
26
26
  COMPUTER_USE_PREVIEW_2025_03_11 = :"computer-use-preview-2025-03-11"
27
27
  GPT_5_CODEX = :"gpt-5-codex"
28
+ GPT_5_PRO = :"gpt-5-pro"
29
+ GPT_5_PRO_2025_10_06 = :"gpt-5-pro-2025-10-06"
28
30
 
29
31
  # @!method self.values
30
32
  # @return [Array<Symbol>]
@@ -0,0 +1,94 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ module ChatKit
7
+ class ChatSession < OpenAI::Internal::Type::BaseModel
8
+ # @!attribute id
9
+ # Identifier for the ChatKit session.
10
+ #
11
+ # @return [String]
12
+ required :id, String
13
+
14
+ # @!attribute chatkit_configuration
15
+ # Resolved ChatKit feature configuration for the session.
16
+ #
17
+ # @return [OpenAI::Models::Beta::ChatKit::ChatSessionChatKitConfiguration]
18
+ required :chatkit_configuration, -> { OpenAI::Beta::ChatKit::ChatSessionChatKitConfiguration }
19
+
20
+ # @!attribute client_secret
21
+ # Ephemeral client secret that authenticates session requests.
22
+ #
23
+ # @return [String]
24
+ required :client_secret, String
25
+
26
+ # @!attribute expires_at
27
+ # Unix timestamp (in seconds) for when the session expires.
28
+ #
29
+ # @return [Integer]
30
+ required :expires_at, Integer
31
+
32
+ # @!attribute max_requests_per_1_minute
33
+ # Convenience copy of the per-minute request limit.
34
+ #
35
+ # @return [Integer]
36
+ required :max_requests_per_1_minute, Integer
37
+
38
+ # @!attribute object
39
+ # Type discriminator that is always `chatkit.session`.
40
+ #
41
+ # @return [Symbol, :"chatkit.session"]
42
+ required :object, const: :"chatkit.session"
43
+
44
+ # @!attribute rate_limits
45
+ # Resolved rate limit values.
46
+ #
47
+ # @return [OpenAI::Models::Beta::ChatKit::ChatSessionRateLimits]
48
+ required :rate_limits, -> { OpenAI::Beta::ChatKit::ChatSessionRateLimits }
49
+
50
+ # @!attribute status
51
+ # Current lifecycle state of the session.
52
+ #
53
+ # @return [Symbol, OpenAI::Models::Beta::ChatKit::ChatSessionStatus]
54
+ required :status, enum: -> { OpenAI::Beta::ChatKit::ChatSessionStatus }
55
+
56
+ # @!attribute user
57
+ # User identifier associated with the session.
58
+ #
59
+ # @return [String]
60
+ required :user, String
61
+
62
+ # @!attribute workflow
63
+ # Workflow metadata for the session.
64
+ #
65
+ # @return [OpenAI::Models::Beta::ChatKitWorkflow]
66
+ required :workflow, -> { OpenAI::Beta::ChatKitWorkflow }
67
+
68
+ # @!method initialize(id:, chatkit_configuration:, client_secret:, expires_at:, max_requests_per_1_minute:, rate_limits:, status:, user:, workflow:, object: :"chatkit.session")
69
+ # Represents a ChatKit session and its resolved configuration.
70
+ #
71
+ # @param id [String] Identifier for the ChatKit session.
72
+ #
73
+ # @param chatkit_configuration [OpenAI::Models::Beta::ChatKit::ChatSessionChatKitConfiguration] Resolved ChatKit feature configuration for the session.
74
+ #
75
+ # @param client_secret [String] Ephemeral client secret that authenticates session requests.
76
+ #
77
+ # @param expires_at [Integer] Unix timestamp (in seconds) for when the session expires.
78
+ #
79
+ # @param max_requests_per_1_minute [Integer] Convenience copy of the per-minute request limit.
80
+ #
81
+ # @param rate_limits [OpenAI::Models::Beta::ChatKit::ChatSessionRateLimits] Resolved rate limit values.
82
+ #
83
+ # @param status [Symbol, OpenAI::Models::Beta::ChatKit::ChatSessionStatus] Current lifecycle state of the session.
84
+ #
85
+ # @param user [String] User identifier associated with the session.
86
+ #
87
+ # @param workflow [OpenAI::Models::Beta::ChatKitWorkflow] Workflow metadata for the session.
88
+ #
89
+ # @param object [Symbol, :"chatkit.session"] Type discriminator that is always `chatkit.session`.
90
+ end
91
+ end
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ module ChatKit
7
+ class ChatSessionAutomaticThreadTitling < OpenAI::Internal::Type::BaseModel
8
+ # @!attribute enabled
9
+ # Whether automatic thread titling is enabled.
10
+ #
11
+ # @return [Boolean]
12
+ required :enabled, OpenAI::Internal::Type::Boolean
13
+
14
+ # @!method initialize(enabled:)
15
+ # Automatic thread title preferences for the session.
16
+ #
17
+ # @param enabled [Boolean] Whether automatic thread titling is enabled.
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ module ChatKit
7
+ class ChatSessionChatKitConfiguration < OpenAI::Internal::Type::BaseModel
8
+ # @!attribute automatic_thread_titling
9
+ # Automatic thread titling preferences.
10
+ #
11
+ # @return [OpenAI::Models::Beta::ChatKit::ChatSessionAutomaticThreadTitling]
12
+ required :automatic_thread_titling, -> { OpenAI::Beta::ChatKit::ChatSessionAutomaticThreadTitling }
13
+
14
+ # @!attribute file_upload
15
+ # Upload settings for the session.
16
+ #
17
+ # @return [OpenAI::Models::Beta::ChatKit::ChatSessionFileUpload]
18
+ required :file_upload, -> { OpenAI::Beta::ChatKit::ChatSessionFileUpload }
19
+
20
+ # @!attribute history
21
+ # History retention configuration.
22
+ #
23
+ # @return [OpenAI::Models::Beta::ChatKit::ChatSessionHistory]
24
+ required :history, -> { OpenAI::Beta::ChatKit::ChatSessionHistory }
25
+
26
+ # @!method initialize(automatic_thread_titling:, file_upload:, history:)
27
+ # ChatKit configuration for the session.
28
+ #
29
+ # @param automatic_thread_titling [OpenAI::Models::Beta::ChatKit::ChatSessionAutomaticThreadTitling] Automatic thread titling preferences.
30
+ #
31
+ # @param file_upload [OpenAI::Models::Beta::ChatKit::ChatSessionFileUpload] Upload settings for the session.
32
+ #
33
+ # @param history [OpenAI::Models::Beta::ChatKit::ChatSessionHistory] History retention configuration.
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,125 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ module ChatKit
7
+ class ChatSessionChatKitConfigurationParam < OpenAI::Internal::Type::BaseModel
8
+ # @!attribute automatic_thread_titling
9
+ # Configuration for automatic thread titling. When omitted, automatic thread
10
+ # titling is enabled by default.
11
+ #
12
+ # @return [OpenAI::Models::Beta::ChatKit::ChatSessionChatKitConfigurationParam::AutomaticThreadTitling, nil]
13
+ optional :automatic_thread_titling,
14
+ -> { OpenAI::Beta::ChatKit::ChatSessionChatKitConfigurationParam::AutomaticThreadTitling }
15
+
16
+ # @!attribute file_upload
17
+ # Configuration for upload enablement and limits. When omitted, uploads are
18
+ # disabled by default (max_files 10, max_file_size 512 MB).
19
+ #
20
+ # @return [OpenAI::Models::Beta::ChatKit::ChatSessionChatKitConfigurationParam::FileUpload, nil]
21
+ optional :file_upload, -> { OpenAI::Beta::ChatKit::ChatSessionChatKitConfigurationParam::FileUpload }
22
+
23
+ # @!attribute history
24
+ # Configuration for chat history retention. When omitted, history is enabled by
25
+ # default with no limit on recent_threads (null).
26
+ #
27
+ # @return [OpenAI::Models::Beta::ChatKit::ChatSessionChatKitConfigurationParam::History, nil]
28
+ optional :history, -> { OpenAI::Beta::ChatKit::ChatSessionChatKitConfigurationParam::History }
29
+
30
+ # @!method initialize(automatic_thread_titling: nil, file_upload: nil, history: nil)
31
+ # Some parameter documentations has been truncated, see
32
+ # {OpenAI::Models::Beta::ChatKit::ChatSessionChatKitConfigurationParam} for more
33
+ # details.
34
+ #
35
+ # Optional per-session configuration settings for ChatKit behavior.
36
+ #
37
+ # @param automatic_thread_titling [OpenAI::Models::Beta::ChatKit::ChatSessionChatKitConfigurationParam::AutomaticThreadTitling] Configuration for automatic thread titling. When omitted, automatic thread titli
38
+ #
39
+ # @param file_upload [OpenAI::Models::Beta::ChatKit::ChatSessionChatKitConfigurationParam::FileUpload] Configuration for upload enablement and limits. When omitted, uploads are disabl
40
+ #
41
+ # @param history [OpenAI::Models::Beta::ChatKit::ChatSessionChatKitConfigurationParam::History] Configuration for chat history retention. When omitted, history is enabled by de
42
+
43
+ # @see OpenAI::Models::Beta::ChatKit::ChatSessionChatKitConfigurationParam#automatic_thread_titling
44
+ class AutomaticThreadTitling < OpenAI::Internal::Type::BaseModel
45
+ # @!attribute enabled
46
+ # Enable automatic thread title generation. Defaults to true.
47
+ #
48
+ # @return [Boolean, nil]
49
+ optional :enabled, OpenAI::Internal::Type::Boolean
50
+
51
+ # @!method initialize(enabled: nil)
52
+ # Configuration for automatic thread titling. When omitted, automatic thread
53
+ # titling is enabled by default.
54
+ #
55
+ # @param enabled [Boolean] Enable automatic thread title generation. Defaults to true.
56
+ end
57
+
58
+ # @see OpenAI::Models::Beta::ChatKit::ChatSessionChatKitConfigurationParam#file_upload
59
+ class FileUpload < OpenAI::Internal::Type::BaseModel
60
+ # @!attribute enabled
61
+ # Enable uploads for this session. Defaults to false.
62
+ #
63
+ # @return [Boolean, nil]
64
+ optional :enabled, OpenAI::Internal::Type::Boolean
65
+
66
+ # @!attribute max_file_size
67
+ # Maximum size in megabytes for each uploaded file. Defaults to 512 MB, which is
68
+ # the maximum allowable size.
69
+ #
70
+ # @return [Integer, nil]
71
+ optional :max_file_size, Integer
72
+
73
+ # @!attribute max_files
74
+ # Maximum number of files that can be uploaded to the session. Defaults to 10.
75
+ #
76
+ # @return [Integer, nil]
77
+ optional :max_files, Integer
78
+
79
+ # @!method initialize(enabled: nil, max_file_size: nil, max_files: nil)
80
+ # Some parameter documentations has been truncated, see
81
+ # {OpenAI::Models::Beta::ChatKit::ChatSessionChatKitConfigurationParam::FileUpload}
82
+ # for more details.
83
+ #
84
+ # Configuration for upload enablement and limits. When omitted, uploads are
85
+ # disabled by default (max_files 10, max_file_size 512 MB).
86
+ #
87
+ # @param enabled [Boolean] Enable uploads for this session. Defaults to false.
88
+ #
89
+ # @param max_file_size [Integer] Maximum size in megabytes for each uploaded file. Defaults to 512 MB, which is t
90
+ #
91
+ # @param max_files [Integer] Maximum number of files that can be uploaded to the session. Defaults to 10.
92
+ end
93
+
94
+ # @see OpenAI::Models::Beta::ChatKit::ChatSessionChatKitConfigurationParam#history
95
+ class History < OpenAI::Internal::Type::BaseModel
96
+ # @!attribute enabled
97
+ # Enables chat users to access previous ChatKit threads. Defaults to true.
98
+ #
99
+ # @return [Boolean, nil]
100
+ optional :enabled, OpenAI::Internal::Type::Boolean
101
+
102
+ # @!attribute recent_threads
103
+ # Number of recent ChatKit threads users have access to. Defaults to unlimited
104
+ # when unset.
105
+ #
106
+ # @return [Integer, nil]
107
+ optional :recent_threads, Integer
108
+
109
+ # @!method initialize(enabled: nil, recent_threads: nil)
110
+ # Some parameter documentations has been truncated, see
111
+ # {OpenAI::Models::Beta::ChatKit::ChatSessionChatKitConfigurationParam::History}
112
+ # for more details.
113
+ #
114
+ # Configuration for chat history retention. When omitted, history is enabled by
115
+ # default with no limit on recent_threads (null).
116
+ #
117
+ # @param enabled [Boolean] Enables chat users to access previous ChatKit threads. Defaults to true.
118
+ #
119
+ # @param recent_threads [Integer] Number of recent ChatKit threads users have access to. Defaults to unlimited whe
120
+ end
121
+ end
122
+ end
123
+ end
124
+ end
125
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ module ChatKit
7
+ class ChatSessionExpiresAfterParam < OpenAI::Internal::Type::BaseModel
8
+ # @!attribute anchor
9
+ # Base timestamp used to calculate expiration. Currently fixed to `created_at`.
10
+ #
11
+ # @return [Symbol, :created_at]
12
+ required :anchor, const: :created_at
13
+
14
+ # @!attribute seconds
15
+ # Number of seconds after the anchor when the session expires.
16
+ #
17
+ # @return [Integer]
18
+ required :seconds, Integer
19
+
20
+ # @!method initialize(seconds:, anchor: :created_at)
21
+ # Controls when the session expires relative to an anchor timestamp.
22
+ #
23
+ # @param seconds [Integer] Number of seconds after the anchor when the session expires.
24
+ #
25
+ # @param anchor [Symbol, :created_at] Base timestamp used to calculate expiration. Currently fixed to `created_at`.
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ module ChatKit
7
+ class ChatSessionFileUpload < OpenAI::Internal::Type::BaseModel
8
+ # @!attribute enabled
9
+ # Indicates if uploads are enabled for the session.
10
+ #
11
+ # @return [Boolean]
12
+ required :enabled, OpenAI::Internal::Type::Boolean
13
+
14
+ # @!attribute max_file_size
15
+ # Maximum upload size in megabytes.
16
+ #
17
+ # @return [Integer, nil]
18
+ required :max_file_size, Integer, nil?: true
19
+
20
+ # @!attribute max_files
21
+ # Maximum number of uploads allowed during the session.
22
+ #
23
+ # @return [Integer, nil]
24
+ required :max_files, Integer, nil?: true
25
+
26
+ # @!method initialize(enabled:, max_file_size:, max_files:)
27
+ # Upload permissions and limits applied to the session.
28
+ #
29
+ # @param enabled [Boolean] Indicates if uploads are enabled for the session.
30
+ #
31
+ # @param max_file_size [Integer, nil] Maximum upload size in megabytes.
32
+ #
33
+ # @param max_files [Integer, nil] Maximum number of uploads allowed during the session.
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ module ChatKit
7
+ class ChatSessionHistory < OpenAI::Internal::Type::BaseModel
8
+ # @!attribute enabled
9
+ # Indicates if chat history is persisted for the session.
10
+ #
11
+ # @return [Boolean]
12
+ required :enabled, OpenAI::Internal::Type::Boolean
13
+
14
+ # @!attribute recent_threads
15
+ # Number of prior threads surfaced in history views. Defaults to null when all
16
+ # history is retained.
17
+ #
18
+ # @return [Integer, nil]
19
+ required :recent_threads, Integer, nil?: true
20
+
21
+ # @!method initialize(enabled:, recent_threads:)
22
+ # Some parameter documentations has been truncated, see
23
+ # {OpenAI::Models::Beta::ChatKit::ChatSessionHistory} for more details.
24
+ #
25
+ # History retention preferences returned for the session.
26
+ #
27
+ # @param enabled [Boolean] Indicates if chat history is persisted for the session.
28
+ #
29
+ # @param recent_threads [Integer, nil] Number of prior threads surfaced in history views. Defaults to null when all his
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ module ChatKit
7
+ class ChatSessionRateLimits < OpenAI::Internal::Type::BaseModel
8
+ # @!attribute max_requests_per_1_minute
9
+ # Maximum allowed requests per one-minute window.
10
+ #
11
+ # @return [Integer]
12
+ required :max_requests_per_1_minute, Integer
13
+
14
+ # @!method initialize(max_requests_per_1_minute:)
15
+ # Active per-minute request limit for the session.
16
+ #
17
+ # @param max_requests_per_1_minute [Integer] Maximum allowed requests per one-minute window.
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ module ChatKit
7
+ class ChatSessionRateLimitsParam < OpenAI::Internal::Type::BaseModel
8
+ # @!attribute max_requests_per_1_minute
9
+ # Maximum number of requests allowed per minute for the session. Defaults to 10.
10
+ #
11
+ # @return [Integer, nil]
12
+ optional :max_requests_per_1_minute, Integer
13
+
14
+ # @!method initialize(max_requests_per_1_minute: nil)
15
+ # Controls request rate limits for the session.
16
+ #
17
+ # @param max_requests_per_1_minute [Integer] Maximum number of requests allowed per minute for the session. Defaults to 10.
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ module ChatKit
7
+ module ChatSessionStatus
8
+ extend OpenAI::Internal::Type::Enum
9
+
10
+ ACTIVE = :active
11
+ EXPIRED = :expired
12
+ CANCELLED = :cancelled
13
+
14
+ # @!method self.values
15
+ # @return [Array<Symbol>]
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,80 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ module ChatKit
7
+ class ChatSessionWorkflowParam < OpenAI::Internal::Type::BaseModel
8
+ # @!attribute id
9
+ # Identifier for the workflow invoked by the session.
10
+ #
11
+ # @return [String]
12
+ required :id, String
13
+
14
+ # @!attribute state_variables
15
+ # State variables forwarded to the workflow. Keys may be up to 64 characters,
16
+ # values must be primitive types, and the map defaults to an empty object.
17
+ #
18
+ # @return [Hash{Symbol=>String, Boolean, Float}, nil]
19
+ optional :state_variables,
20
+ -> { OpenAI::Internal::Type::HashOf[union: OpenAI::Beta::ChatKit::ChatSessionWorkflowParam::StateVariable] }
21
+
22
+ # @!attribute tracing
23
+ # Optional tracing overrides for the workflow invocation. When omitted, tracing is
24
+ # enabled by default.
25
+ #
26
+ # @return [OpenAI::Models::Beta::ChatKit::ChatSessionWorkflowParam::Tracing, nil]
27
+ optional :tracing, -> { OpenAI::Beta::ChatKit::ChatSessionWorkflowParam::Tracing }
28
+
29
+ # @!attribute version
30
+ # Specific workflow version to run. Defaults to the latest deployed version.
31
+ #
32
+ # @return [String, nil]
33
+ optional :version, String
34
+
35
+ # @!method initialize(id:, state_variables: nil, tracing: nil, version: nil)
36
+ # Some parameter documentations has been truncated, see
37
+ # {OpenAI::Models::Beta::ChatKit::ChatSessionWorkflowParam} for more details.
38
+ #
39
+ # Workflow reference and overrides applied to the chat session.
40
+ #
41
+ # @param id [String] Identifier for the workflow invoked by the session.
42
+ #
43
+ # @param state_variables [Hash{Symbol=>String, Boolean, Float}] State variables forwarded to the workflow. Keys may be up to 64 characters, valu
44
+ #
45
+ # @param tracing [OpenAI::Models::Beta::ChatKit::ChatSessionWorkflowParam::Tracing] Optional tracing overrides for the workflow invocation. When omitted, tracing is
46
+ #
47
+ # @param version [String] Specific workflow version to run. Defaults to the latest deployed version.
48
+
49
+ module StateVariable
50
+ extend OpenAI::Internal::Type::Union
51
+
52
+ variant String
53
+
54
+ variant OpenAI::Internal::Type::Boolean
55
+
56
+ variant Float
57
+
58
+ # @!method self.variants
59
+ # @return [Array(String, Boolean, Float)]
60
+ end
61
+
62
+ # @see OpenAI::Models::Beta::ChatKit::ChatSessionWorkflowParam#tracing
63
+ class Tracing < OpenAI::Internal::Type::BaseModel
64
+ # @!attribute enabled
65
+ # Whether tracing is enabled during the session. Defaults to true.
66
+ #
67
+ # @return [Boolean, nil]
68
+ optional :enabled, OpenAI::Internal::Type::Boolean
69
+
70
+ # @!method initialize(enabled: nil)
71
+ # Optional tracing overrides for the workflow invocation. When omitted, tracing is
72
+ # enabled by default.
73
+ #
74
+ # @param enabled [Boolean] Whether tracing is enabled during the session. Defaults to true.
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
80
+ end