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
@@ -0,0 +1,324 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ ChatKitThreadUserMessageItem = ChatKit::ChatKitThreadUserMessageItem
7
+
8
+ module ChatKit
9
+ class ChatKitThreadUserMessageItem < OpenAI::Internal::Type::BaseModel
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ OpenAI::Beta::ChatKit::ChatKitThreadUserMessageItem,
14
+ OpenAI::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ # Identifier of the thread item.
19
+ sig { returns(String) }
20
+ attr_accessor :id
21
+
22
+ # Attachments associated with the user message. Defaults to an empty list.
23
+ sig { returns(T::Array[OpenAI::Beta::ChatKit::ChatKitAttachment]) }
24
+ attr_accessor :attachments
25
+
26
+ # Ordered content elements supplied by the user.
27
+ sig do
28
+ returns(
29
+ T::Array[
30
+ OpenAI::Beta::ChatKit::ChatKitThreadUserMessageItem::Content::Variants
31
+ ]
32
+ )
33
+ end
34
+ attr_accessor :content
35
+
36
+ # Unix timestamp (in seconds) for when the item was created.
37
+ sig { returns(Integer) }
38
+ attr_accessor :created_at
39
+
40
+ # Inference overrides applied to the message. Defaults to null when unset.
41
+ sig do
42
+ returns(
43
+ T.nilable(
44
+ OpenAI::Beta::ChatKit::ChatKitThreadUserMessageItem::InferenceOptions
45
+ )
46
+ )
47
+ end
48
+ attr_reader :inference_options
49
+
50
+ sig do
51
+ params(
52
+ inference_options:
53
+ T.nilable(
54
+ OpenAI::Beta::ChatKit::ChatKitThreadUserMessageItem::InferenceOptions::OrHash
55
+ )
56
+ ).void
57
+ end
58
+ attr_writer :inference_options
59
+
60
+ # Type discriminator that is always `chatkit.thread_item`.
61
+ sig { returns(Symbol) }
62
+ attr_accessor :object
63
+
64
+ # Identifier of the parent thread.
65
+ sig { returns(String) }
66
+ attr_accessor :thread_id
67
+
68
+ sig { returns(Symbol) }
69
+ attr_accessor :type
70
+
71
+ # User-authored messages within a thread.
72
+ sig do
73
+ params(
74
+ id: String,
75
+ attachments:
76
+ T::Array[OpenAI::Beta::ChatKit::ChatKitAttachment::OrHash],
77
+ content:
78
+ T::Array[
79
+ T.any(
80
+ OpenAI::Beta::ChatKit::ChatKitThreadUserMessageItem::Content::InputText::OrHash,
81
+ OpenAI::Beta::ChatKit::ChatKitThreadUserMessageItem::Content::QuotedText::OrHash
82
+ )
83
+ ],
84
+ created_at: Integer,
85
+ inference_options:
86
+ T.nilable(
87
+ OpenAI::Beta::ChatKit::ChatKitThreadUserMessageItem::InferenceOptions::OrHash
88
+ ),
89
+ thread_id: String,
90
+ object: Symbol,
91
+ type: Symbol
92
+ ).returns(T.attached_class)
93
+ end
94
+ def self.new(
95
+ # Identifier of the thread item.
96
+ id:,
97
+ # Attachments associated with the user message. Defaults to an empty list.
98
+ attachments:,
99
+ # Ordered content elements supplied by the user.
100
+ content:,
101
+ # Unix timestamp (in seconds) for when the item was created.
102
+ created_at:,
103
+ # Inference overrides applied to the message. Defaults to null when unset.
104
+ inference_options:,
105
+ # Identifier of the parent thread.
106
+ thread_id:,
107
+ # Type discriminator that is always `chatkit.thread_item`.
108
+ object: :"chatkit.thread_item",
109
+ type: :"chatkit.user_message"
110
+ )
111
+ end
112
+
113
+ sig do
114
+ override.returns(
115
+ {
116
+ id: String,
117
+ attachments: T::Array[OpenAI::Beta::ChatKit::ChatKitAttachment],
118
+ content:
119
+ T::Array[
120
+ OpenAI::Beta::ChatKit::ChatKitThreadUserMessageItem::Content::Variants
121
+ ],
122
+ created_at: Integer,
123
+ inference_options:
124
+ T.nilable(
125
+ OpenAI::Beta::ChatKit::ChatKitThreadUserMessageItem::InferenceOptions
126
+ ),
127
+ object: Symbol,
128
+ thread_id: String,
129
+ type: Symbol
130
+ }
131
+ )
132
+ end
133
+ def to_hash
134
+ end
135
+
136
+ # Content blocks that comprise a user message.
137
+ module Content
138
+ extend OpenAI::Internal::Type::Union
139
+
140
+ Variants =
141
+ T.type_alias do
142
+ T.any(
143
+ OpenAI::Beta::ChatKit::ChatKitThreadUserMessageItem::Content::InputText,
144
+ OpenAI::Beta::ChatKit::ChatKitThreadUserMessageItem::Content::QuotedText
145
+ )
146
+ end
147
+
148
+ class InputText < OpenAI::Internal::Type::BaseModel
149
+ OrHash =
150
+ T.type_alias do
151
+ T.any(
152
+ OpenAI::Beta::ChatKit::ChatKitThreadUserMessageItem::Content::InputText,
153
+ OpenAI::Internal::AnyHash
154
+ )
155
+ end
156
+
157
+ # Plain-text content supplied by the user.
158
+ sig { returns(String) }
159
+ attr_accessor :text
160
+
161
+ # Type discriminator that is always `input_text`.
162
+ sig { returns(Symbol) }
163
+ attr_accessor :type
164
+
165
+ # Text block that a user contributed to the thread.
166
+ sig do
167
+ params(text: String, type: Symbol).returns(T.attached_class)
168
+ end
169
+ def self.new(
170
+ # Plain-text content supplied by the user.
171
+ text:,
172
+ # Type discriminator that is always `input_text`.
173
+ type: :input_text
174
+ )
175
+ end
176
+
177
+ sig { override.returns({ text: String, type: Symbol }) }
178
+ def to_hash
179
+ end
180
+ end
181
+
182
+ class QuotedText < OpenAI::Internal::Type::BaseModel
183
+ OrHash =
184
+ T.type_alias do
185
+ T.any(
186
+ OpenAI::Beta::ChatKit::ChatKitThreadUserMessageItem::Content::QuotedText,
187
+ OpenAI::Internal::AnyHash
188
+ )
189
+ end
190
+
191
+ # Quoted text content.
192
+ sig { returns(String) }
193
+ attr_accessor :text
194
+
195
+ # Type discriminator that is always `quoted_text`.
196
+ sig { returns(Symbol) }
197
+ attr_accessor :type
198
+
199
+ # Quoted snippet that the user referenced in their message.
200
+ sig do
201
+ params(text: String, type: Symbol).returns(T.attached_class)
202
+ end
203
+ def self.new(
204
+ # Quoted text content.
205
+ text:,
206
+ # Type discriminator that is always `quoted_text`.
207
+ type: :quoted_text
208
+ )
209
+ end
210
+
211
+ sig { override.returns({ text: String, type: Symbol }) }
212
+ def to_hash
213
+ end
214
+ end
215
+
216
+ sig do
217
+ override.returns(
218
+ T::Array[
219
+ OpenAI::Beta::ChatKit::ChatKitThreadUserMessageItem::Content::Variants
220
+ ]
221
+ )
222
+ end
223
+ def self.variants
224
+ end
225
+ end
226
+
227
+ class InferenceOptions < OpenAI::Internal::Type::BaseModel
228
+ OrHash =
229
+ T.type_alias do
230
+ T.any(
231
+ OpenAI::Beta::ChatKit::ChatKitThreadUserMessageItem::InferenceOptions,
232
+ OpenAI::Internal::AnyHash
233
+ )
234
+ end
235
+
236
+ # Model name that generated the response. Defaults to null when using the session
237
+ # default.
238
+ sig { returns(T.nilable(String)) }
239
+ attr_accessor :model
240
+
241
+ # Preferred tool to invoke. Defaults to null when ChatKit should auto-select.
242
+ sig do
243
+ returns(
244
+ T.nilable(
245
+ OpenAI::Beta::ChatKit::ChatKitThreadUserMessageItem::InferenceOptions::ToolChoice
246
+ )
247
+ )
248
+ end
249
+ attr_reader :tool_choice
250
+
251
+ sig do
252
+ params(
253
+ tool_choice:
254
+ T.nilable(
255
+ OpenAI::Beta::ChatKit::ChatKitThreadUserMessageItem::InferenceOptions::ToolChoice::OrHash
256
+ )
257
+ ).void
258
+ end
259
+ attr_writer :tool_choice
260
+
261
+ # Inference overrides applied to the message. Defaults to null when unset.
262
+ sig do
263
+ params(
264
+ model: T.nilable(String),
265
+ tool_choice:
266
+ T.nilable(
267
+ OpenAI::Beta::ChatKit::ChatKitThreadUserMessageItem::InferenceOptions::ToolChoice::OrHash
268
+ )
269
+ ).returns(T.attached_class)
270
+ end
271
+ def self.new(
272
+ # Model name that generated the response. Defaults to null when using the session
273
+ # default.
274
+ model:,
275
+ # Preferred tool to invoke. Defaults to null when ChatKit should auto-select.
276
+ tool_choice:
277
+ )
278
+ end
279
+
280
+ sig do
281
+ override.returns(
282
+ {
283
+ model: T.nilable(String),
284
+ tool_choice:
285
+ T.nilable(
286
+ OpenAI::Beta::ChatKit::ChatKitThreadUserMessageItem::InferenceOptions::ToolChoice
287
+ )
288
+ }
289
+ )
290
+ end
291
+ def to_hash
292
+ end
293
+
294
+ class ToolChoice < OpenAI::Internal::Type::BaseModel
295
+ OrHash =
296
+ T.type_alias do
297
+ T.any(
298
+ OpenAI::Beta::ChatKit::ChatKitThreadUserMessageItem::InferenceOptions::ToolChoice,
299
+ OpenAI::Internal::AnyHash
300
+ )
301
+ end
302
+
303
+ # Identifier of the requested tool.
304
+ sig { returns(String) }
305
+ attr_accessor :id
306
+
307
+ # Preferred tool to invoke. Defaults to null when ChatKit should auto-select.
308
+ sig { params(id: String).returns(T.attached_class) }
309
+ def self.new(
310
+ # Identifier of the requested tool.
311
+ id:
312
+ )
313
+ end
314
+
315
+ sig { override.returns({ id: String }) }
316
+ def to_hash
317
+ end
318
+ end
319
+ end
320
+ end
321
+ end
322
+ end
323
+ end
324
+ end
@@ -0,0 +1,87 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ ChatKitWidgetItem = ChatKit::ChatKitWidgetItem
7
+
8
+ module ChatKit
9
+ class ChatKitWidgetItem < OpenAI::Internal::Type::BaseModel
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ OpenAI::Beta::ChatKit::ChatKitWidgetItem,
14
+ OpenAI::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ # Identifier of the thread item.
19
+ sig { returns(String) }
20
+ attr_accessor :id
21
+
22
+ # Unix timestamp (in seconds) for when the item was created.
23
+ sig { returns(Integer) }
24
+ attr_accessor :created_at
25
+
26
+ # Type discriminator that is always `chatkit.thread_item`.
27
+ sig { returns(Symbol) }
28
+ attr_accessor :object
29
+
30
+ # Identifier of the parent thread.
31
+ sig { returns(String) }
32
+ attr_accessor :thread_id
33
+
34
+ # Type discriminator that is always `chatkit.widget`.
35
+ sig { returns(Symbol) }
36
+ attr_accessor :type
37
+
38
+ # Serialized widget payload rendered in the UI.
39
+ sig { returns(String) }
40
+ attr_accessor :widget
41
+
42
+ # Thread item that renders a widget payload.
43
+ sig do
44
+ params(
45
+ id: String,
46
+ created_at: Integer,
47
+ thread_id: String,
48
+ widget: String,
49
+ object: Symbol,
50
+ type: Symbol
51
+ ).returns(T.attached_class)
52
+ end
53
+ def self.new(
54
+ # Identifier of the thread item.
55
+ id:,
56
+ # Unix timestamp (in seconds) for when the item was created.
57
+ created_at:,
58
+ # Identifier of the parent thread.
59
+ thread_id:,
60
+ # Serialized widget payload rendered in the UI.
61
+ widget:,
62
+ # Type discriminator that is always `chatkit.thread_item`.
63
+ object: :"chatkit.thread_item",
64
+ # Type discriminator that is always `chatkit.widget`.
65
+ type: :"chatkit.widget"
66
+ )
67
+ end
68
+
69
+ sig do
70
+ override.returns(
71
+ {
72
+ id: String,
73
+ created_at: Integer,
74
+ object: Symbol,
75
+ thread_id: String,
76
+ type: Symbol,
77
+ widget: String
78
+ }
79
+ )
80
+ end
81
+ def to_hash
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,34 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ module ChatKit
7
+ class SessionCancelParams < OpenAI::Internal::Type::BaseModel
8
+ extend OpenAI::Internal::Type::RequestParameters::Converter
9
+ include OpenAI::Internal::Type::RequestParameters
10
+
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ OpenAI::Beta::ChatKit::SessionCancelParams,
15
+ OpenAI::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ sig do
20
+ params(request_options: OpenAI::RequestOptions::OrHash).returns(
21
+ T.attached_class
22
+ )
23
+ end
24
+ def self.new(request_options: {})
25
+ end
26
+
27
+ sig { override.returns({ request_options: OpenAI::RequestOptions }) }
28
+ def to_hash
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,136 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ module ChatKit
7
+ class SessionCreateParams < OpenAI::Internal::Type::BaseModel
8
+ extend OpenAI::Internal::Type::RequestParameters::Converter
9
+ include OpenAI::Internal::Type::RequestParameters
10
+
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ OpenAI::Beta::ChatKit::SessionCreateParams,
15
+ OpenAI::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ # A free-form string that identifies your end user; ensures this Session can
20
+ # access other objects that have the same `user` scope.
21
+ sig { returns(String) }
22
+ attr_accessor :user
23
+
24
+ # Workflow that powers the session.
25
+ sig { returns(OpenAI::Beta::ChatKit::ChatSessionWorkflowParam) }
26
+ attr_reader :workflow
27
+
28
+ sig do
29
+ params(
30
+ workflow: OpenAI::Beta::ChatKit::ChatSessionWorkflowParam::OrHash
31
+ ).void
32
+ end
33
+ attr_writer :workflow
34
+
35
+ # Optional overrides for ChatKit runtime configuration features
36
+ sig do
37
+ returns(
38
+ T.nilable(
39
+ OpenAI::Beta::ChatKit::ChatSessionChatKitConfigurationParam
40
+ )
41
+ )
42
+ end
43
+ attr_reader :chatkit_configuration
44
+
45
+ sig do
46
+ params(
47
+ chatkit_configuration:
48
+ OpenAI::Beta::ChatKit::ChatSessionChatKitConfigurationParam::OrHash
49
+ ).void
50
+ end
51
+ attr_writer :chatkit_configuration
52
+
53
+ # Optional override for session expiration timing in seconds from creation.
54
+ # Defaults to 10 minutes.
55
+ sig do
56
+ returns(
57
+ T.nilable(OpenAI::Beta::ChatKit::ChatSessionExpiresAfterParam)
58
+ )
59
+ end
60
+ attr_reader :expires_after
61
+
62
+ sig do
63
+ params(
64
+ expires_after:
65
+ OpenAI::Beta::ChatKit::ChatSessionExpiresAfterParam::OrHash
66
+ ).void
67
+ end
68
+ attr_writer :expires_after
69
+
70
+ # Optional override for per-minute request limits. When omitted, defaults to 10.
71
+ sig do
72
+ returns(
73
+ T.nilable(OpenAI::Beta::ChatKit::ChatSessionRateLimitsParam)
74
+ )
75
+ end
76
+ attr_reader :rate_limits
77
+
78
+ sig do
79
+ params(
80
+ rate_limits:
81
+ OpenAI::Beta::ChatKit::ChatSessionRateLimitsParam::OrHash
82
+ ).void
83
+ end
84
+ attr_writer :rate_limits
85
+
86
+ sig do
87
+ params(
88
+ user: String,
89
+ workflow: OpenAI::Beta::ChatKit::ChatSessionWorkflowParam::OrHash,
90
+ chatkit_configuration:
91
+ OpenAI::Beta::ChatKit::ChatSessionChatKitConfigurationParam::OrHash,
92
+ expires_after:
93
+ OpenAI::Beta::ChatKit::ChatSessionExpiresAfterParam::OrHash,
94
+ rate_limits:
95
+ OpenAI::Beta::ChatKit::ChatSessionRateLimitsParam::OrHash,
96
+ request_options: OpenAI::RequestOptions::OrHash
97
+ ).returns(T.attached_class)
98
+ end
99
+ def self.new(
100
+ # A free-form string that identifies your end user; ensures this Session can
101
+ # access other objects that have the same `user` scope.
102
+ user:,
103
+ # Workflow that powers the session.
104
+ workflow:,
105
+ # Optional overrides for ChatKit runtime configuration features
106
+ chatkit_configuration: nil,
107
+ # Optional override for session expiration timing in seconds from creation.
108
+ # Defaults to 10 minutes.
109
+ expires_after: nil,
110
+ # Optional override for per-minute request limits. When omitted, defaults to 10.
111
+ rate_limits: nil,
112
+ request_options: {}
113
+ )
114
+ end
115
+
116
+ sig do
117
+ override.returns(
118
+ {
119
+ user: String,
120
+ workflow: OpenAI::Beta::ChatKit::ChatSessionWorkflowParam,
121
+ chatkit_configuration:
122
+ OpenAI::Beta::ChatKit::ChatSessionChatKitConfigurationParam,
123
+ expires_after:
124
+ OpenAI::Beta::ChatKit::ChatSessionExpiresAfterParam,
125
+ rate_limits: OpenAI::Beta::ChatKit::ChatSessionRateLimitsParam,
126
+ request_options: OpenAI::RequestOptions
127
+ }
128
+ )
129
+ end
130
+ def to_hash
131
+ end
132
+ end
133
+ end
134
+ end
135
+ end
136
+ end
@@ -0,0 +1,34 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ module ChatKit
7
+ class ThreadDeleteParams < OpenAI::Internal::Type::BaseModel
8
+ extend OpenAI::Internal::Type::RequestParameters::Converter
9
+ include OpenAI::Internal::Type::RequestParameters
10
+
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ OpenAI::Beta::ChatKit::ThreadDeleteParams,
15
+ OpenAI::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ sig do
20
+ params(request_options: OpenAI::RequestOptions::OrHash).returns(
21
+ T.attached_class
22
+ )
23
+ end
24
+ def self.new(request_options: {})
25
+ end
26
+
27
+ sig { override.returns({ request_options: OpenAI::RequestOptions }) }
28
+ def to_hash
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,55 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ module ChatKit
7
+ class ThreadDeleteResponse < OpenAI::Internal::Type::BaseModel
8
+ OrHash =
9
+ T.type_alias do
10
+ T.any(
11
+ OpenAI::Models::Beta::ChatKit::ThreadDeleteResponse,
12
+ OpenAI::Internal::AnyHash
13
+ )
14
+ end
15
+
16
+ # Identifier of the deleted thread.
17
+ sig { returns(String) }
18
+ attr_accessor :id
19
+
20
+ # Indicates that the thread has been deleted.
21
+ sig { returns(T::Boolean) }
22
+ attr_accessor :deleted
23
+
24
+ # Type discriminator that is always `chatkit.thread.deleted`.
25
+ sig { returns(Symbol) }
26
+ attr_accessor :object
27
+
28
+ # Confirmation payload returned after deleting a thread.
29
+ sig do
30
+ params(id: String, deleted: T::Boolean, object: Symbol).returns(
31
+ T.attached_class
32
+ )
33
+ end
34
+ def self.new(
35
+ # Identifier of the deleted thread.
36
+ id:,
37
+ # Indicates that the thread has been deleted.
38
+ deleted:,
39
+ # Type discriminator that is always `chatkit.thread.deleted`.
40
+ object: :"chatkit.thread.deleted"
41
+ )
42
+ end
43
+
44
+ sig do
45
+ override.returns(
46
+ { id: String, deleted: T::Boolean, object: Symbol }
47
+ )
48
+ end
49
+ def to_hash
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end