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,138 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ module ChatKit
7
+ class ThreadListItemsParams < 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::ThreadListItemsParams,
15
+ OpenAI::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ # List items created after this thread item ID. Defaults to null for the first
20
+ # page.
21
+ sig { returns(T.nilable(String)) }
22
+ attr_reader :after
23
+
24
+ sig { params(after: String).void }
25
+ attr_writer :after
26
+
27
+ # List items created before this thread item ID. Defaults to null for the newest
28
+ # results.
29
+ sig { returns(T.nilable(String)) }
30
+ attr_reader :before
31
+
32
+ sig { params(before: String).void }
33
+ attr_writer :before
34
+
35
+ # Maximum number of thread items to return. Defaults to 20.
36
+ sig { returns(T.nilable(Integer)) }
37
+ attr_reader :limit
38
+
39
+ sig { params(limit: Integer).void }
40
+ attr_writer :limit
41
+
42
+ # Sort order for results by creation time. Defaults to `desc`.
43
+ sig do
44
+ returns(
45
+ T.nilable(
46
+ OpenAI::Beta::ChatKit::ThreadListItemsParams::Order::OrSymbol
47
+ )
48
+ )
49
+ end
50
+ attr_reader :order
51
+
52
+ sig do
53
+ params(
54
+ order:
55
+ OpenAI::Beta::ChatKit::ThreadListItemsParams::Order::OrSymbol
56
+ ).void
57
+ end
58
+ attr_writer :order
59
+
60
+ sig do
61
+ params(
62
+ after: String,
63
+ before: String,
64
+ limit: Integer,
65
+ order:
66
+ OpenAI::Beta::ChatKit::ThreadListItemsParams::Order::OrSymbol,
67
+ request_options: OpenAI::RequestOptions::OrHash
68
+ ).returns(T.attached_class)
69
+ end
70
+ def self.new(
71
+ # List items created after this thread item ID. Defaults to null for the first
72
+ # page.
73
+ after: nil,
74
+ # List items created before this thread item ID. Defaults to null for the newest
75
+ # results.
76
+ before: nil,
77
+ # Maximum number of thread items to return. Defaults to 20.
78
+ limit: nil,
79
+ # Sort order for results by creation time. Defaults to `desc`.
80
+ order: nil,
81
+ request_options: {}
82
+ )
83
+ end
84
+
85
+ sig do
86
+ override.returns(
87
+ {
88
+ after: String,
89
+ before: String,
90
+ limit: Integer,
91
+ order:
92
+ OpenAI::Beta::ChatKit::ThreadListItemsParams::Order::OrSymbol,
93
+ request_options: OpenAI::RequestOptions
94
+ }
95
+ )
96
+ end
97
+ def to_hash
98
+ end
99
+
100
+ # Sort order for results by creation time. Defaults to `desc`.
101
+ module Order
102
+ extend OpenAI::Internal::Type::Enum
103
+
104
+ TaggedSymbol =
105
+ T.type_alias do
106
+ T.all(
107
+ Symbol,
108
+ OpenAI::Beta::ChatKit::ThreadListItemsParams::Order
109
+ )
110
+ end
111
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
112
+
113
+ ASC =
114
+ T.let(
115
+ :asc,
116
+ OpenAI::Beta::ChatKit::ThreadListItemsParams::Order::TaggedSymbol
117
+ )
118
+ DESC =
119
+ T.let(
120
+ :desc,
121
+ OpenAI::Beta::ChatKit::ThreadListItemsParams::Order::TaggedSymbol
122
+ )
123
+
124
+ sig do
125
+ override.returns(
126
+ T::Array[
127
+ OpenAI::Beta::ChatKit::ThreadListItemsParams::Order::TaggedSymbol
128
+ ]
129
+ )
130
+ end
131
+ def self.values
132
+ end
133
+ end
134
+ end
135
+ end
136
+ end
137
+ end
138
+ end
@@ -0,0 +1,145 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ module ChatKit
7
+ class ThreadListParams < 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::ThreadListParams,
15
+ OpenAI::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ # List items created after this thread item ID. Defaults to null for the first
20
+ # page.
21
+ sig { returns(T.nilable(String)) }
22
+ attr_reader :after
23
+
24
+ sig { params(after: String).void }
25
+ attr_writer :after
26
+
27
+ # List items created before this thread item ID. Defaults to null for the newest
28
+ # results.
29
+ sig { returns(T.nilable(String)) }
30
+ attr_reader :before
31
+
32
+ sig { params(before: String).void }
33
+ attr_writer :before
34
+
35
+ # Maximum number of thread items to return. Defaults to 20.
36
+ sig { returns(T.nilable(Integer)) }
37
+ attr_reader :limit
38
+
39
+ sig { params(limit: Integer).void }
40
+ attr_writer :limit
41
+
42
+ # Sort order for results by creation time. Defaults to `desc`.
43
+ sig do
44
+ returns(
45
+ T.nilable(
46
+ OpenAI::Beta::ChatKit::ThreadListParams::Order::OrSymbol
47
+ )
48
+ )
49
+ end
50
+ attr_reader :order
51
+
52
+ sig do
53
+ params(
54
+ order: OpenAI::Beta::ChatKit::ThreadListParams::Order::OrSymbol
55
+ ).void
56
+ end
57
+ attr_writer :order
58
+
59
+ # Filter threads that belong to this user identifier. Defaults to null to return
60
+ # all users.
61
+ sig { returns(T.nilable(String)) }
62
+ attr_reader :user
63
+
64
+ sig { params(user: String).void }
65
+ attr_writer :user
66
+
67
+ sig do
68
+ params(
69
+ after: String,
70
+ before: String,
71
+ limit: Integer,
72
+ order: OpenAI::Beta::ChatKit::ThreadListParams::Order::OrSymbol,
73
+ user: String,
74
+ request_options: OpenAI::RequestOptions::OrHash
75
+ ).returns(T.attached_class)
76
+ end
77
+ def self.new(
78
+ # List items created after this thread item ID. Defaults to null for the first
79
+ # page.
80
+ after: nil,
81
+ # List items created before this thread item ID. Defaults to null for the newest
82
+ # results.
83
+ before: nil,
84
+ # Maximum number of thread items to return. Defaults to 20.
85
+ limit: nil,
86
+ # Sort order for results by creation time. Defaults to `desc`.
87
+ order: nil,
88
+ # Filter threads that belong to this user identifier. Defaults to null to return
89
+ # all users.
90
+ user: nil,
91
+ request_options: {}
92
+ )
93
+ end
94
+
95
+ sig do
96
+ override.returns(
97
+ {
98
+ after: String,
99
+ before: String,
100
+ limit: Integer,
101
+ order: OpenAI::Beta::ChatKit::ThreadListParams::Order::OrSymbol,
102
+ user: String,
103
+ request_options: OpenAI::RequestOptions
104
+ }
105
+ )
106
+ end
107
+ def to_hash
108
+ end
109
+
110
+ # Sort order for results by creation time. Defaults to `desc`.
111
+ module Order
112
+ extend OpenAI::Internal::Type::Enum
113
+
114
+ TaggedSymbol =
115
+ T.type_alias do
116
+ T.all(Symbol, OpenAI::Beta::ChatKit::ThreadListParams::Order)
117
+ end
118
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
119
+
120
+ ASC =
121
+ T.let(
122
+ :asc,
123
+ OpenAI::Beta::ChatKit::ThreadListParams::Order::TaggedSymbol
124
+ )
125
+ DESC =
126
+ T.let(
127
+ :desc,
128
+ OpenAI::Beta::ChatKit::ThreadListParams::Order::TaggedSymbol
129
+ )
130
+
131
+ sig do
132
+ override.returns(
133
+ T::Array[
134
+ OpenAI::Beta::ChatKit::ThreadListParams::Order::TaggedSymbol
135
+ ]
136
+ )
137
+ end
138
+ def self.values
139
+ end
140
+ end
141
+ end
142
+ end
143
+ end
144
+ end
145
+ end
@@ -0,0 +1,34 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ module ChatKit
7
+ class ThreadRetrieveParams < 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::ThreadRetrieveParams,
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,50 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ class ChatKitUploadFileParams < OpenAI::Internal::Type::BaseModel
7
+ extend OpenAI::Internal::Type::RequestParameters::Converter
8
+ include OpenAI::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ OpenAI::Beta::ChatKitUploadFileParams,
14
+ OpenAI::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ # Binary file contents to store with the ChatKit session. Supports PDFs and PNG,
19
+ # JPG, JPEG, GIF, or WEBP images.
20
+ sig { returns(OpenAI::Internal::FileInput) }
21
+ attr_accessor :file
22
+
23
+ sig do
24
+ params(
25
+ file: OpenAI::Internal::FileInput,
26
+ request_options: OpenAI::RequestOptions::OrHash
27
+ ).returns(T.attached_class)
28
+ end
29
+ def self.new(
30
+ # Binary file contents to store with the ChatKit session. Supports PDFs and PNG,
31
+ # JPG, JPEG, GIF, or WEBP images.
32
+ file:,
33
+ request_options: {}
34
+ )
35
+ end
36
+
37
+ sig do
38
+ override.returns(
39
+ {
40
+ file: OpenAI::Internal::FileInput,
41
+ request_options: OpenAI::RequestOptions
42
+ }
43
+ )
44
+ end
45
+ def to_hash
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,25 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ # Represents either a file or image attachment.
7
+ module ChatKitUploadFileResponse
8
+ extend OpenAI::Internal::Type::Union
9
+
10
+ Variants =
11
+ T.type_alias do
12
+ T.any(OpenAI::Beta::FilePart, OpenAI::Beta::ImagePart)
13
+ end
14
+
15
+ sig do
16
+ override.returns(
17
+ T::Array[OpenAI::Models::Beta::ChatKitUploadFileResponse::Variants]
18
+ )
19
+ end
20
+ def self.variants
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,134 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ class ChatKitWorkflow < OpenAI::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(OpenAI::Beta::ChatKitWorkflow, OpenAI::Internal::AnyHash)
10
+ end
11
+
12
+ # Identifier of the workflow backing the session.
13
+ sig { returns(String) }
14
+ attr_accessor :id
15
+
16
+ # State variable key-value pairs applied when invoking the workflow. Defaults to
17
+ # null when no overrides were provided.
18
+ sig do
19
+ returns(
20
+ T.nilable(
21
+ T::Hash[
22
+ Symbol,
23
+ OpenAI::Beta::ChatKitWorkflow::StateVariable::Variants
24
+ ]
25
+ )
26
+ )
27
+ end
28
+ attr_accessor :state_variables
29
+
30
+ # Tracing settings applied to the workflow.
31
+ sig { returns(OpenAI::Beta::ChatKitWorkflow::Tracing) }
32
+ attr_reader :tracing
33
+
34
+ sig do
35
+ params(tracing: OpenAI::Beta::ChatKitWorkflow::Tracing::OrHash).void
36
+ end
37
+ attr_writer :tracing
38
+
39
+ # Specific workflow version used for the session. Defaults to null when using the
40
+ # latest deployment.
41
+ sig { returns(T.nilable(String)) }
42
+ attr_accessor :version
43
+
44
+ # Workflow metadata and state returned for the session.
45
+ sig do
46
+ params(
47
+ id: String,
48
+ state_variables:
49
+ T.nilable(
50
+ T::Hash[
51
+ Symbol,
52
+ OpenAI::Beta::ChatKitWorkflow::StateVariable::Variants
53
+ ]
54
+ ),
55
+ tracing: OpenAI::Beta::ChatKitWorkflow::Tracing::OrHash,
56
+ version: T.nilable(String)
57
+ ).returns(T.attached_class)
58
+ end
59
+ def self.new(
60
+ # Identifier of the workflow backing the session.
61
+ id:,
62
+ # State variable key-value pairs applied when invoking the workflow. Defaults to
63
+ # null when no overrides were provided.
64
+ state_variables:,
65
+ # Tracing settings applied to the workflow.
66
+ tracing:,
67
+ # Specific workflow version used for the session. Defaults to null when using the
68
+ # latest deployment.
69
+ version:
70
+ )
71
+ end
72
+
73
+ sig do
74
+ override.returns(
75
+ {
76
+ id: String,
77
+ state_variables:
78
+ T.nilable(
79
+ T::Hash[
80
+ Symbol,
81
+ OpenAI::Beta::ChatKitWorkflow::StateVariable::Variants
82
+ ]
83
+ ),
84
+ tracing: OpenAI::Beta::ChatKitWorkflow::Tracing,
85
+ version: T.nilable(String)
86
+ }
87
+ )
88
+ end
89
+ def to_hash
90
+ end
91
+
92
+ module StateVariable
93
+ extend OpenAI::Internal::Type::Union
94
+
95
+ Variants = T.type_alias { T.any(String, T::Boolean, Float) }
96
+
97
+ sig do
98
+ override.returns(
99
+ T::Array[OpenAI::Beta::ChatKitWorkflow::StateVariable::Variants]
100
+ )
101
+ end
102
+ def self.variants
103
+ end
104
+ end
105
+
106
+ class Tracing < OpenAI::Internal::Type::BaseModel
107
+ OrHash =
108
+ T.type_alias do
109
+ T.any(
110
+ OpenAI::Beta::ChatKitWorkflow::Tracing,
111
+ OpenAI::Internal::AnyHash
112
+ )
113
+ end
114
+
115
+ # Indicates whether tracing is enabled.
116
+ sig { returns(T::Boolean) }
117
+ attr_accessor :enabled
118
+
119
+ # Tracing settings applied to the workflow.
120
+ sig { params(enabled: T::Boolean).returns(T.attached_class) }
121
+ def self.new(
122
+ # Indicates whether tracing is enabled.
123
+ enabled:
124
+ )
125
+ end
126
+
127
+ sig { override.returns({ enabled: T::Boolean }) }
128
+ def to_hash
129
+ end
130
+ end
131
+ end
132
+ end
133
+ end
134
+ end
@@ -0,0 +1,74 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ class FilePart < OpenAI::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(OpenAI::Beta::FilePart, OpenAI::Internal::AnyHash)
10
+ end
11
+
12
+ # Unique identifier for the uploaded file.
13
+ sig { returns(String) }
14
+ attr_accessor :id
15
+
16
+ # MIME type reported for the uploaded file. Defaults to null when unknown.
17
+ sig { returns(T.nilable(String)) }
18
+ attr_accessor :mime_type
19
+
20
+ # Original filename supplied by the uploader. Defaults to null when unnamed.
21
+ sig { returns(T.nilable(String)) }
22
+ attr_accessor :name
23
+
24
+ # Type discriminator that is always `file`.
25
+ sig { returns(Symbol) }
26
+ attr_accessor :type
27
+
28
+ # Signed URL for downloading the uploaded file. Defaults to null when no download
29
+ # link is available.
30
+ sig { returns(T.nilable(String)) }
31
+ attr_accessor :upload_url
32
+
33
+ # Metadata for a non-image file uploaded through ChatKit.
34
+ sig do
35
+ params(
36
+ id: String,
37
+ mime_type: T.nilable(String),
38
+ name: T.nilable(String),
39
+ upload_url: T.nilable(String),
40
+ type: Symbol
41
+ ).returns(T.attached_class)
42
+ end
43
+ def self.new(
44
+ # Unique identifier for the uploaded file.
45
+ id:,
46
+ # MIME type reported for the uploaded file. Defaults to null when unknown.
47
+ mime_type:,
48
+ # Original filename supplied by the uploader. Defaults to null when unnamed.
49
+ name:,
50
+ # Signed URL for downloading the uploaded file. Defaults to null when no download
51
+ # link is available.
52
+ upload_url:,
53
+ # Type discriminator that is always `file`.
54
+ type: :file
55
+ )
56
+ end
57
+
58
+ sig do
59
+ override.returns(
60
+ {
61
+ id: String,
62
+ mime_type: T.nilable(String),
63
+ name: T.nilable(String),
64
+ type: Symbol,
65
+ upload_url: T.nilable(String)
66
+ }
67
+ )
68
+ end
69
+ def to_hash
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,82 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ class ImagePart < OpenAI::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(OpenAI::Beta::ImagePart, OpenAI::Internal::AnyHash)
10
+ end
11
+
12
+ # Unique identifier for the uploaded image.
13
+ sig { returns(String) }
14
+ attr_accessor :id
15
+
16
+ # MIME type of the uploaded image.
17
+ sig { returns(String) }
18
+ attr_accessor :mime_type
19
+
20
+ # Original filename for the uploaded image. Defaults to null when unnamed.
21
+ sig { returns(T.nilable(String)) }
22
+ attr_accessor :name
23
+
24
+ # Preview URL that can be rendered inline for the image.
25
+ sig { returns(String) }
26
+ attr_accessor :preview_url
27
+
28
+ # Type discriminator that is always `image`.
29
+ sig { returns(Symbol) }
30
+ attr_accessor :type
31
+
32
+ # Signed URL for downloading the uploaded image. Defaults to null when no download
33
+ # link is available.
34
+ sig { returns(T.nilable(String)) }
35
+ attr_accessor :upload_url
36
+
37
+ # Metadata for an image uploaded through ChatKit.
38
+ sig do
39
+ params(
40
+ id: String,
41
+ mime_type: String,
42
+ name: T.nilable(String),
43
+ preview_url: String,
44
+ upload_url: T.nilable(String),
45
+ type: Symbol
46
+ ).returns(T.attached_class)
47
+ end
48
+ def self.new(
49
+ # Unique identifier for the uploaded image.
50
+ id:,
51
+ # MIME type of the uploaded image.
52
+ mime_type:,
53
+ # Original filename for the uploaded image. Defaults to null when unnamed.
54
+ name:,
55
+ # Preview URL that can be rendered inline for the image.
56
+ preview_url:,
57
+ # Signed URL for downloading the uploaded image. Defaults to null when no download
58
+ # link is available.
59
+ upload_url:,
60
+ # Type discriminator that is always `image`.
61
+ type: :image
62
+ )
63
+ end
64
+
65
+ sig do
66
+ override.returns(
67
+ {
68
+ id: String,
69
+ mime_type: String,
70
+ name: T.nilable(String),
71
+ preview_url: String,
72
+ type: Symbol,
73
+ upload_url: T.nilable(String)
74
+ }
75
+ )
76
+ end
77
+ def to_hash
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end