safetykit 0.5.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 (158) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +47 -0
  4. data/README.md +208 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/safety_kit/client.rb +111 -0
  7. data/lib/safety_kit/errors.rb +228 -0
  8. data/lib/safety_kit/file_part.rb +58 -0
  9. data/lib/safety_kit/internal/transport/base_client.rb +575 -0
  10. data/lib/safety_kit/internal/transport/pooled_net_requester.rb +210 -0
  11. data/lib/safety_kit/internal/type/array_of.rb +168 -0
  12. data/lib/safety_kit/internal/type/base_model.rb +529 -0
  13. data/lib/safety_kit/internal/type/base_page.rb +55 -0
  14. data/lib/safety_kit/internal/type/boolean.rb +77 -0
  15. data/lib/safety_kit/internal/type/converter.rb +327 -0
  16. data/lib/safety_kit/internal/type/enum.rb +131 -0
  17. data/lib/safety_kit/internal/type/file_input.rb +111 -0
  18. data/lib/safety_kit/internal/type/hash_of.rb +188 -0
  19. data/lib/safety_kit/internal/type/request_parameters.rb +42 -0
  20. data/lib/safety_kit/internal/type/union.rb +237 -0
  21. data/lib/safety_kit/internal/type/unknown.rb +81 -0
  22. data/lib/safety_kit/internal/util.rb +966 -0
  23. data/lib/safety_kit/internal.rb +20 -0
  24. data/lib/safety_kit/models/agent_decision_create_agent_decision_params.rb +68 -0
  25. data/lib/safety_kit/models/agent_decision_create_agent_decision_response.rb +19 -0
  26. data/lib/safety_kit/models/beta/event_create_params.rb +1140 -0
  27. data/lib/safety_kit/models/beta/event_create_response.rb +41 -0
  28. data/lib/safety_kit/models/client_session_create_session_params.rb +30 -0
  29. data/lib/safety_kit/models/client_session_create_session_response.rb +19 -0
  30. data/lib/safety_kit/models/data_add_params.rb +52 -0
  31. data/lib/safety_kit/models/data_add_response.rb +44 -0
  32. data/lib/safety_kit/models/data_create_upload_url_params.rb +176 -0
  33. data/lib/safety_kit/models/data_create_upload_url_response.rb +69 -0
  34. data/lib/safety_kit/models/data_get_download_url_params.rb +30 -0
  35. data/lib/safety_kit/models/data_get_download_url_response.rb +80 -0
  36. data/lib/safety_kit/models/data_get_status_params.rb +30 -0
  37. data/lib/safety_kit/models/data_get_status_response.rb +128 -0
  38. data/lib/safety_kit/models/data_object.rb +24 -0
  39. data/lib/safety_kit/models/data_update_settings_params.rb +176 -0
  40. data/lib/safety_kit/models/data_update_settings_response.rb +34 -0
  41. data/lib/safety_kit/models/stream_add_frame_params.rb +50 -0
  42. data/lib/safety_kit/models/stream_add_frame_response.rb +34 -0
  43. data/lib/safety_kit/models/stream_add_params.rb +36 -0
  44. data/lib/safety_kit/models/stream_add_response.rb +34 -0
  45. data/lib/safety_kit/models/stream_add_transcript_params.rb +43 -0
  46. data/lib/safety_kit/models/stream_add_transcript_response.rb +34 -0
  47. data/lib/safety_kit/models.rb +65 -0
  48. data/lib/safety_kit/request_options.rb +77 -0
  49. data/lib/safety_kit/resources/agent_decisions.rb +55 -0
  50. data/lib/safety_kit/resources/beta/events.rb +45 -0
  51. data/lib/safety_kit/resources/beta.rb +19 -0
  52. data/lib/safety_kit/resources/client_sessions.rb +42 -0
  53. data/lib/safety_kit/resources/data.rb +159 -0
  54. data/lib/safety_kit/resources/streams.rb +113 -0
  55. data/lib/safety_kit/version.rb +5 -0
  56. data/lib/safety_kit.rb +84 -0
  57. data/manifest.yaml +17 -0
  58. data/rbi/safety_kit/client.rbi +68 -0
  59. data/rbi/safety_kit/errors.rbi +205 -0
  60. data/rbi/safety_kit/file_part.rbi +37 -0
  61. data/rbi/safety_kit/internal/transport/base_client.rbi +298 -0
  62. data/rbi/safety_kit/internal/transport/pooled_net_requester.rbi +83 -0
  63. data/rbi/safety_kit/internal/type/array_of.rbi +104 -0
  64. data/rbi/safety_kit/internal/type/base_model.rbi +308 -0
  65. data/rbi/safety_kit/internal/type/base_page.rbi +42 -0
  66. data/rbi/safety_kit/internal/type/boolean.rbi +58 -0
  67. data/rbi/safety_kit/internal/type/converter.rbi +216 -0
  68. data/rbi/safety_kit/internal/type/enum.rbi +82 -0
  69. data/rbi/safety_kit/internal/type/file_input.rbi +59 -0
  70. data/rbi/safety_kit/internal/type/hash_of.rbi +104 -0
  71. data/rbi/safety_kit/internal/type/request_parameters.rbi +29 -0
  72. data/rbi/safety_kit/internal/type/union.rbi +128 -0
  73. data/rbi/safety_kit/internal/type/unknown.rbi +58 -0
  74. data/rbi/safety_kit/internal/util.rbi +515 -0
  75. data/rbi/safety_kit/internal.rbi +18 -0
  76. data/rbi/safety_kit/models/agent_decision_create_agent_decision_params.rbi +95 -0
  77. data/rbi/safety_kit/models/agent_decision_create_agent_decision_response.rbi +31 -0
  78. data/rbi/safety_kit/models/beta/event_create_params.rbi +2379 -0
  79. data/rbi/safety_kit/models/beta/event_create_response.rbi +87 -0
  80. data/rbi/safety_kit/models/client_session_create_session_params.rbi +60 -0
  81. data/rbi/safety_kit/models/client_session_create_session_response.rbi +31 -0
  82. data/rbi/safety_kit/models/data_add_params.rbi +82 -0
  83. data/rbi/safety_kit/models/data_add_response.rbi +77 -0
  84. data/rbi/safety_kit/models/data_create_upload_url_params.rbi +473 -0
  85. data/rbi/safety_kit/models/data_create_upload_url_response.rbi +113 -0
  86. data/rbi/safety_kit/models/data_get_download_url_params.rbi +54 -0
  87. data/rbi/safety_kit/models/data_get_download_url_response.rbi +136 -0
  88. data/rbi/safety_kit/models/data_get_status_params.rbi +51 -0
  89. data/rbi/safety_kit/models/data_get_status_response.rbi +264 -0
  90. data/rbi/safety_kit/models/data_object.rbi +33 -0
  91. data/rbi/safety_kit/models/data_update_settings_params.rbi +458 -0
  92. data/rbi/safety_kit/models/data_update_settings_response.rbi +74 -0
  93. data/rbi/safety_kit/models/stream_add_frame_params.rbi +69 -0
  94. data/rbi/safety_kit/models/stream_add_frame_response.rbi +71 -0
  95. data/rbi/safety_kit/models/stream_add_params.rbi +55 -0
  96. data/rbi/safety_kit/models/stream_add_response.rbi +68 -0
  97. data/rbi/safety_kit/models/stream_add_transcript_params.rbi +64 -0
  98. data/rbi/safety_kit/models/stream_add_transcript_response.rbi +77 -0
  99. data/rbi/safety_kit/models.rbi +29 -0
  100. data/rbi/safety_kit/request_options.rbi +59 -0
  101. data/rbi/safety_kit/resources/agent_decisions.rbi +50 -0
  102. data/rbi/safety_kit/resources/beta/events.rbi +40 -0
  103. data/rbi/safety_kit/resources/beta.rbi +16 -0
  104. data/rbi/safety_kit/resources/client_sessions.rbi +33 -0
  105. data/rbi/safety_kit/resources/data.rbi +126 -0
  106. data/rbi/safety_kit/resources/streams.rbi +88 -0
  107. data/rbi/safety_kit/version.rbi +5 -0
  108. data/sig/safety_kit/client.rbs +34 -0
  109. data/sig/safety_kit/errors.rbs +117 -0
  110. data/sig/safety_kit/file_part.rbs +21 -0
  111. data/sig/safety_kit/internal/transport/base_client.rbs +133 -0
  112. data/sig/safety_kit/internal/transport/pooled_net_requester.rbs +48 -0
  113. data/sig/safety_kit/internal/type/array_of.rbs +48 -0
  114. data/sig/safety_kit/internal/type/base_model.rbs +102 -0
  115. data/sig/safety_kit/internal/type/base_page.rbs +24 -0
  116. data/sig/safety_kit/internal/type/boolean.rbs +26 -0
  117. data/sig/safety_kit/internal/type/converter.rbs +79 -0
  118. data/sig/safety_kit/internal/type/enum.rbs +32 -0
  119. data/sig/safety_kit/internal/type/file_input.rbs +25 -0
  120. data/sig/safety_kit/internal/type/hash_of.rbs +48 -0
  121. data/sig/safety_kit/internal/type/request_parameters.rbs +19 -0
  122. data/sig/safety_kit/internal/type/union.rbs +52 -0
  123. data/sig/safety_kit/internal/type/unknown.rbs +26 -0
  124. data/sig/safety_kit/internal/util.rbs +199 -0
  125. data/sig/safety_kit/internal.rbs +9 -0
  126. data/sig/safety_kit/models/agent_decision_create_agent_decision_params.rbs +53 -0
  127. data/sig/safety_kit/models/agent_decision_create_agent_decision_response.rbs +14 -0
  128. data/sig/safety_kit/models/beta/event_create_params.rbs +891 -0
  129. data/sig/safety_kit/models/beta/event_create_response.rbs +37 -0
  130. data/sig/safety_kit/models/client_session_create_session_params.rbs +32 -0
  131. data/sig/safety_kit/models/client_session_create_session_response.rbs +13 -0
  132. data/sig/safety_kit/models/data_add_params.rbs +38 -0
  133. data/sig/safety_kit/models/data_add_response.rbs +32 -0
  134. data/sig/safety_kit/models/data_create_upload_url_params.rbs +193 -0
  135. data/sig/safety_kit/models/data_create_upload_url_response.rbs +50 -0
  136. data/sig/safety_kit/models/data_get_download_url_params.rbs +28 -0
  137. data/sig/safety_kit/models/data_get_download_url_response.rbs +59 -0
  138. data/sig/safety_kit/models/data_get_status_params.rbs +28 -0
  139. data/sig/safety_kit/models/data_get_status_response.rbs +120 -0
  140. data/sig/safety_kit/models/data_object.rbs +13 -0
  141. data/sig/safety_kit/models/data_update_settings_params.rbs +189 -0
  142. data/sig/safety_kit/models/data_update_settings_response.rbs +35 -0
  143. data/sig/safety_kit/models/stream_add_frame_params.rbs +41 -0
  144. data/sig/safety_kit/models/stream_add_frame_response.rbs +35 -0
  145. data/sig/safety_kit/models/stream_add_params.rbs +32 -0
  146. data/sig/safety_kit/models/stream_add_response.rbs +35 -0
  147. data/sig/safety_kit/models/stream_add_transcript_params.rbs +36 -0
  148. data/sig/safety_kit/models/stream_add_transcript_response.rbs +35 -0
  149. data/sig/safety_kit/models.rbs +25 -0
  150. data/sig/safety_kit/request_options.rbs +34 -0
  151. data/sig/safety_kit/resources/agent_decisions.rbs +17 -0
  152. data/sig/safety_kit/resources/beta/events.rbs +14 -0
  153. data/sig/safety_kit/resources/beta.rbs +9 -0
  154. data/sig/safety_kit/resources/client_sessions.rbs +13 -0
  155. data/sig/safety_kit/resources/data.rbs +37 -0
  156. data/sig/safety_kit/resources/streams.rbs +30 -0
  157. data/sig/safety_kit/version.rbs +3 -0
  158. metadata +228 -0
@@ -0,0 +1,473 @@
1
+ # typed: strong
2
+
3
+ module SafetyKit
4
+ module Models
5
+ class DataCreateUploadURLParams < SafetyKit::Internal::Type::BaseModel
6
+ extend SafetyKit::Internal::Type::RequestParameters::Converter
7
+ include SafetyKit::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ SafetyKit::DataCreateUploadURLParams,
13
+ SafetyKit::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # The namespace to ingest data into
18
+ sig { returns(String) }
19
+ attr_accessor :namespace
20
+
21
+ # Schema mapping field names to their definitions. Use content_type to specify
22
+ # which fields contain URLs that should be processed (images, videos, or
23
+ # websites), datetime fields, or 'metadata' for fields that should be stored but
24
+ # not indexed. Use display_hint to provide UI rendering hints.
25
+ sig do
26
+ returns(
27
+ T.nilable(
28
+ T::Hash[Symbol, SafetyKit::DataCreateUploadURLParams::Schema]
29
+ )
30
+ )
31
+ end
32
+ attr_reader :schema
33
+
34
+ sig do
35
+ params(
36
+ schema:
37
+ T::Hash[
38
+ Symbol,
39
+ SafetyKit::DataCreateUploadURLParams::Schema::OrHash
40
+ ]
41
+ ).void
42
+ end
43
+ attr_writer :schema
44
+
45
+ sig do
46
+ params(
47
+ namespace: String,
48
+ schema:
49
+ T::Hash[
50
+ Symbol,
51
+ SafetyKit::DataCreateUploadURLParams::Schema::OrHash
52
+ ],
53
+ request_options: SafetyKit::RequestOptions::OrHash
54
+ ).returns(T.attached_class)
55
+ end
56
+ def self.new(
57
+ # The namespace to ingest data into
58
+ namespace:,
59
+ # Schema mapping field names to their definitions. Use content_type to specify
60
+ # which fields contain URLs that should be processed (images, videos, or
61
+ # websites), datetime fields, or 'metadata' for fields that should be stored but
62
+ # not indexed. Use display_hint to provide UI rendering hints.
63
+ schema: nil,
64
+ request_options: {}
65
+ )
66
+ end
67
+
68
+ sig do
69
+ override.returns(
70
+ {
71
+ namespace: String,
72
+ schema:
73
+ T::Hash[Symbol, SafetyKit::DataCreateUploadURLParams::Schema],
74
+ request_options: SafetyKit::RequestOptions
75
+ }
76
+ )
77
+ end
78
+ def to_hash
79
+ end
80
+
81
+ class Schema < SafetyKit::Internal::Type::BaseModel
82
+ OrHash =
83
+ T.type_alias do
84
+ T.any(
85
+ SafetyKit::DataCreateUploadURLParams::Schema,
86
+ SafetyKit::Internal::AnyHash
87
+ )
88
+ end
89
+
90
+ # The parent object namespace this field belongs to, creating a parent-child
91
+ # relationship with that namespace.
92
+ sig { returns(T.nilable(String)) }
93
+ attr_reader :belongs_to
94
+
95
+ sig { params(belongs_to: String).void }
96
+ attr_writer :belongs_to
97
+
98
+ # The type of content (image_url, video_url, audio_url, website_url, datetime,
99
+ # metadata, or card). When specified as a URL type, SafetyKit will process the
100
+ # URL. Use 'metadata' for fields that should be stored but not indexed.
101
+ sig do
102
+ returns(
103
+ T.nilable(
104
+ SafetyKit::DataCreateUploadURLParams::Schema::ContentType::OrSymbol
105
+ )
106
+ )
107
+ end
108
+ attr_reader :content_type
109
+
110
+ sig do
111
+ params(
112
+ content_type:
113
+ SafetyKit::DataCreateUploadURLParams::Schema::ContentType::OrSymbol
114
+ ).void
115
+ end
116
+ attr_writer :content_type
117
+
118
+ # Display hint for UI rendering of this field
119
+ sig do
120
+ returns(
121
+ T.nilable(SafetyKit::DataCreateUploadURLParams::Schema::DisplayHint)
122
+ )
123
+ end
124
+ attr_reader :display_hint
125
+
126
+ sig do
127
+ params(
128
+ display_hint:
129
+ SafetyKit::DataCreateUploadURLParams::Schema::DisplayHint::OrHash
130
+ ).void
131
+ end
132
+ attr_writer :display_hint
133
+
134
+ # Maximum amount of this field to include when sending to AI models. For text
135
+ # fields, this is the character limit. For array fields (e.g. image URLs), this is
136
+ # the maximum number of items.
137
+ sig { returns(T.nilable(Integer)) }
138
+ attr_reader :field_limit
139
+
140
+ sig { params(field_limit: Integer).void }
141
+ attr_writer :field_limit
142
+
143
+ # Optional parser to apply before indexing this field.
144
+ sig do
145
+ returns(
146
+ T.nilable(
147
+ SafetyKit::DataCreateUploadURLParams::Schema::IngestAs::OrSymbol
148
+ )
149
+ )
150
+ end
151
+ attr_reader :ingest_as
152
+
153
+ sig do
154
+ params(
155
+ ingest_as:
156
+ SafetyKit::DataCreateUploadURLParams::Schema::IngestAs::OrSymbol
157
+ ).void
158
+ end
159
+ attr_writer :ingest_as
160
+
161
+ # Schema definition for a data field
162
+ sig do
163
+ params(
164
+ belongs_to: String,
165
+ content_type:
166
+ SafetyKit::DataCreateUploadURLParams::Schema::ContentType::OrSymbol,
167
+ display_hint:
168
+ SafetyKit::DataCreateUploadURLParams::Schema::DisplayHint::OrHash,
169
+ field_limit: Integer,
170
+ ingest_as:
171
+ SafetyKit::DataCreateUploadURLParams::Schema::IngestAs::OrSymbol
172
+ ).returns(T.attached_class)
173
+ end
174
+ def self.new(
175
+ # The parent object namespace this field belongs to, creating a parent-child
176
+ # relationship with that namespace.
177
+ belongs_to: nil,
178
+ # The type of content (image_url, video_url, audio_url, website_url, datetime,
179
+ # metadata, or card). When specified as a URL type, SafetyKit will process the
180
+ # URL. Use 'metadata' for fields that should be stored but not indexed.
181
+ content_type: nil,
182
+ # Display hint for UI rendering of this field
183
+ display_hint: nil,
184
+ # Maximum amount of this field to include when sending to AI models. For text
185
+ # fields, this is the character limit. For array fields (e.g. image URLs), this is
186
+ # the maximum number of items.
187
+ field_limit: nil,
188
+ # Optional parser to apply before indexing this field.
189
+ ingest_as: nil
190
+ )
191
+ end
192
+
193
+ sig do
194
+ override.returns(
195
+ {
196
+ belongs_to: String,
197
+ content_type:
198
+ SafetyKit::DataCreateUploadURLParams::Schema::ContentType::OrSymbol,
199
+ display_hint:
200
+ SafetyKit::DataCreateUploadURLParams::Schema::DisplayHint,
201
+ field_limit: Integer,
202
+ ingest_as:
203
+ SafetyKit::DataCreateUploadURLParams::Schema::IngestAs::OrSymbol
204
+ }
205
+ )
206
+ end
207
+ def to_hash
208
+ end
209
+
210
+ # The type of content (image_url, video_url, audio_url, website_url, datetime,
211
+ # metadata, or card). When specified as a URL type, SafetyKit will process the
212
+ # URL. Use 'metadata' for fields that should be stored but not indexed.
213
+ module ContentType
214
+ extend SafetyKit::Internal::Type::Enum
215
+
216
+ TaggedSymbol =
217
+ T.type_alias do
218
+ T.all(
219
+ Symbol,
220
+ SafetyKit::DataCreateUploadURLParams::Schema::ContentType
221
+ )
222
+ end
223
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
224
+
225
+ IMAGE_URL =
226
+ T.let(
227
+ :image_url,
228
+ SafetyKit::DataCreateUploadURLParams::Schema::ContentType::TaggedSymbol
229
+ )
230
+ VIDEO_URL =
231
+ T.let(
232
+ :video_url,
233
+ SafetyKit::DataCreateUploadURLParams::Schema::ContentType::TaggedSymbol
234
+ )
235
+ AUDIO_URL =
236
+ T.let(
237
+ :audio_url,
238
+ SafetyKit::DataCreateUploadURLParams::Schema::ContentType::TaggedSymbol
239
+ )
240
+ WEBSITE_URL =
241
+ T.let(
242
+ :website_url,
243
+ SafetyKit::DataCreateUploadURLParams::Schema::ContentType::TaggedSymbol
244
+ )
245
+ DATETIME =
246
+ T.let(
247
+ :datetime,
248
+ SafetyKit::DataCreateUploadURLParams::Schema::ContentType::TaggedSymbol
249
+ )
250
+ METADATA =
251
+ T.let(
252
+ :metadata,
253
+ SafetyKit::DataCreateUploadURLParams::Schema::ContentType::TaggedSymbol
254
+ )
255
+ CARD =
256
+ T.let(
257
+ :card,
258
+ SafetyKit::DataCreateUploadURLParams::Schema::ContentType::TaggedSymbol
259
+ )
260
+
261
+ sig do
262
+ override.returns(
263
+ T::Array[
264
+ SafetyKit::DataCreateUploadURLParams::Schema::ContentType::TaggedSymbol
265
+ ]
266
+ )
267
+ end
268
+ def self.values
269
+ end
270
+ end
271
+
272
+ class DisplayHint < SafetyKit::Internal::Type::BaseModel
273
+ OrHash =
274
+ T.type_alias do
275
+ T.any(
276
+ SafetyKit::DataCreateUploadURLParams::Schema::DisplayHint,
277
+ SafetyKit::Internal::AnyHash
278
+ )
279
+ end
280
+
281
+ # Display label to show for this field in the UI
282
+ sig { returns(T.nilable(String)) }
283
+ attr_reader :name
284
+
285
+ sig { params(name: String).void }
286
+ attr_writer :name
287
+
288
+ # Display ordering for this field. Use 0 to hide the field from list views.
289
+ sig { returns(T.nilable(Float)) }
290
+ attr_reader :order
291
+
292
+ sig { params(order: Float).void }
293
+ attr_writer :order
294
+
295
+ # The display hint type
296
+ sig do
297
+ returns(
298
+ T.nilable(
299
+ SafetyKit::DataCreateUploadURLParams::Schema::DisplayHint::Type::OrSymbol
300
+ )
301
+ )
302
+ end
303
+ attr_reader :type
304
+
305
+ sig do
306
+ params(
307
+ type:
308
+ SafetyKit::DataCreateUploadURLParams::Schema::DisplayHint::Type::OrSymbol
309
+ ).void
310
+ end
311
+ attr_writer :type
312
+
313
+ # Display hint for UI rendering of this field
314
+ sig do
315
+ params(
316
+ name: String,
317
+ order: Float,
318
+ type:
319
+ SafetyKit::DataCreateUploadURLParams::Schema::DisplayHint::Type::OrSymbol
320
+ ).returns(T.attached_class)
321
+ end
322
+ def self.new(
323
+ # Display label to show for this field in the UI
324
+ name: nil,
325
+ # Display ordering for this field. Use 0 to hide the field from list views.
326
+ order: nil,
327
+ # The display hint type
328
+ type: nil
329
+ )
330
+ end
331
+
332
+ sig do
333
+ override.returns(
334
+ {
335
+ name: String,
336
+ order: Float,
337
+ type:
338
+ SafetyKit::DataCreateUploadURLParams::Schema::DisplayHint::Type::OrSymbol
339
+ }
340
+ )
341
+ end
342
+ def to_hash
343
+ end
344
+
345
+ # The display hint type
346
+ module Type
347
+ extend SafetyKit::Internal::Type::Enum
348
+
349
+ TaggedSymbol =
350
+ T.type_alias do
351
+ T.all(
352
+ Symbol,
353
+ SafetyKit::DataCreateUploadURLParams::Schema::DisplayHint::Type
354
+ )
355
+ end
356
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
357
+
358
+ TITLE =
359
+ T.let(
360
+ :title,
361
+ SafetyKit::DataCreateUploadURLParams::Schema::DisplayHint::Type::TaggedSymbol
362
+ )
363
+ SUBTITLE =
364
+ T.let(
365
+ :subtitle,
366
+ SafetyKit::DataCreateUploadURLParams::Schema::DisplayHint::Type::TaggedSymbol
367
+ )
368
+ DESCRIPTION =
369
+ T.let(
370
+ :description,
371
+ SafetyKit::DataCreateUploadURLParams::Schema::DisplayHint::Type::TaggedSymbol
372
+ )
373
+ PRIMARY_IMAGE_URL =
374
+ T.let(
375
+ :primary_image_url,
376
+ SafetyKit::DataCreateUploadURLParams::Schema::DisplayHint::Type::TaggedSymbol
377
+ )
378
+ VIDEO_URL =
379
+ T.let(
380
+ :video_url,
381
+ SafetyKit::DataCreateUploadURLParams::Schema::DisplayHint::Type::TaggedSymbol
382
+ )
383
+ AUDIO_URL =
384
+ T.let(
385
+ :audio_url,
386
+ SafetyKit::DataCreateUploadURLParams::Schema::DisplayHint::Type::TaggedSymbol
387
+ )
388
+ LOCATION =
389
+ T.let(
390
+ :location,
391
+ SafetyKit::DataCreateUploadURLParams::Schema::DisplayHint::Type::TaggedSymbol
392
+ )
393
+ DATE =
394
+ T.let(
395
+ :date,
396
+ SafetyKit::DataCreateUploadURLParams::Schema::DisplayHint::Type::TaggedSymbol
397
+ )
398
+ COMPACT_TEXT =
399
+ T.let(
400
+ :compact_text,
401
+ SafetyKit::DataCreateUploadURLParams::Schema::DisplayHint::Type::TaggedSymbol
402
+ )
403
+ MARKDOWN =
404
+ T.let(
405
+ :markdown,
406
+ SafetyKit::DataCreateUploadURLParams::Schema::DisplayHint::Type::TaggedSymbol
407
+ )
408
+ HTML =
409
+ T.let(
410
+ :html,
411
+ SafetyKit::DataCreateUploadURLParams::Schema::DisplayHint::Type::TaggedSymbol
412
+ )
413
+ CARD =
414
+ T.let(
415
+ :card,
416
+ SafetyKit::DataCreateUploadURLParams::Schema::DisplayHint::Type::TaggedSymbol
417
+ )
418
+ CHAT_THREAD =
419
+ T.let(
420
+ :chat_thread,
421
+ SafetyKit::DataCreateUploadURLParams::Schema::DisplayHint::Type::TaggedSymbol
422
+ )
423
+ TWO_PERSON_CHAT =
424
+ T.let(
425
+ :two_person_chat,
426
+ SafetyKit::DataCreateUploadURLParams::Schema::DisplayHint::Type::TaggedSymbol
427
+ )
428
+
429
+ sig do
430
+ override.returns(
431
+ T::Array[
432
+ SafetyKit::DataCreateUploadURLParams::Schema::DisplayHint::Type::TaggedSymbol
433
+ ]
434
+ )
435
+ end
436
+ def self.values
437
+ end
438
+ end
439
+ end
440
+
441
+ # Optional parser to apply before indexing this field.
442
+ module IngestAs
443
+ extend SafetyKit::Internal::Type::Enum
444
+
445
+ TaggedSymbol =
446
+ T.type_alias do
447
+ T.all(
448
+ Symbol,
449
+ SafetyKit::DataCreateUploadURLParams::Schema::IngestAs
450
+ )
451
+ end
452
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
453
+
454
+ FLOAT =
455
+ T.let(
456
+ :float,
457
+ SafetyKit::DataCreateUploadURLParams::Schema::IngestAs::TaggedSymbol
458
+ )
459
+
460
+ sig do
461
+ override.returns(
462
+ T::Array[
463
+ SafetyKit::DataCreateUploadURLParams::Schema::IngestAs::TaggedSymbol
464
+ ]
465
+ )
466
+ end
467
+ def self.values
468
+ end
469
+ end
470
+ end
471
+ end
472
+ end
473
+ end
@@ -0,0 +1,113 @@
1
+ # typed: strong
2
+
3
+ module SafetyKit
4
+ module Models
5
+ class DataCreateUploadURLResponse < SafetyKit::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ SafetyKit::Models::DataCreateUploadURLResponse,
10
+ SafetyKit::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # ISO timestamp when upload_url expires (12 hours after issuance)
15
+ sig { returns(String) }
16
+ attr_accessor :expires_at
17
+
18
+ # S3 object key where uploaded JSONL will be processed from
19
+ sig { returns(String) }
20
+ attr_accessor :object_key
21
+
22
+ # Unique identifier for this upload request
23
+ sig { returns(String) }
24
+ attr_accessor :request_id
25
+
26
+ # Request is waiting for file upload
27
+ sig do
28
+ returns(
29
+ SafetyKit::Models::DataCreateUploadURLResponse::Status::TaggedSymbol
30
+ )
31
+ end
32
+ attr_accessor :status
33
+
34
+ # Pre-signed upload URL for PUT-ing JSONL content
35
+ # (`Content-Type: application/json`)
36
+ sig { returns(String) }
37
+ attr_accessor :upload_url
38
+
39
+ # Response containing an upload URL and metadata for large-batch file processing.
40
+ # Use `PUT {upload_url}` to upload JSONL (one JSON object per line). `upload_url`
41
+ # expires in 12 hours.
42
+ sig do
43
+ params(
44
+ expires_at: String,
45
+ object_key: String,
46
+ request_id: String,
47
+ status:
48
+ SafetyKit::Models::DataCreateUploadURLResponse::Status::OrSymbol,
49
+ upload_url: String
50
+ ).returns(T.attached_class)
51
+ end
52
+ def self.new(
53
+ # ISO timestamp when upload_url expires (12 hours after issuance)
54
+ expires_at:,
55
+ # S3 object key where uploaded JSONL will be processed from
56
+ object_key:,
57
+ # Unique identifier for this upload request
58
+ request_id:,
59
+ # Request is waiting for file upload
60
+ status:,
61
+ # Pre-signed upload URL for PUT-ing JSONL content
62
+ # (`Content-Type: application/json`)
63
+ upload_url:
64
+ )
65
+ end
66
+
67
+ sig do
68
+ override.returns(
69
+ {
70
+ expires_at: String,
71
+ object_key: String,
72
+ request_id: String,
73
+ status:
74
+ SafetyKit::Models::DataCreateUploadURLResponse::Status::TaggedSymbol,
75
+ upload_url: String
76
+ }
77
+ )
78
+ end
79
+ def to_hash
80
+ end
81
+
82
+ # Request is waiting for file upload
83
+ module Status
84
+ extend SafetyKit::Internal::Type::Enum
85
+
86
+ TaggedSymbol =
87
+ T.type_alias do
88
+ T.all(
89
+ Symbol,
90
+ SafetyKit::Models::DataCreateUploadURLResponse::Status
91
+ )
92
+ end
93
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
94
+
95
+ PENDING_UPLOAD =
96
+ T.let(
97
+ :pending_upload,
98
+ SafetyKit::Models::DataCreateUploadURLResponse::Status::TaggedSymbol
99
+ )
100
+
101
+ sig do
102
+ override.returns(
103
+ T::Array[
104
+ SafetyKit::Models::DataCreateUploadURLResponse::Status::TaggedSymbol
105
+ ]
106
+ )
107
+ end
108
+ def self.values
109
+ end
110
+ end
111
+ end
112
+ end
113
+ end
@@ -0,0 +1,54 @@
1
+ # typed: strong
2
+
3
+ module SafetyKit
4
+ module Models
5
+ class DataGetDownloadURLParams < SafetyKit::Internal::Type::BaseModel
6
+ extend SafetyKit::Internal::Type::RequestParameters::Converter
7
+ include SafetyKit::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ SafetyKit::DataGetDownloadURLParams,
13
+ SafetyKit::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # The namespace the data was ingested into
18
+ sig { returns(String) }
19
+ attr_accessor :namespace
20
+
21
+ # The request ID returned when the ingest request was created
22
+ sig { returns(String) }
23
+ attr_accessor :request_id
24
+
25
+ sig do
26
+ params(
27
+ namespace: String,
28
+ request_id: String,
29
+ request_options: SafetyKit::RequestOptions::OrHash
30
+ ).returns(T.attached_class)
31
+ end
32
+ def self.new(
33
+ # The namespace the data was ingested into
34
+ namespace:,
35
+ # The request ID returned when the ingest request was created
36
+ request_id:,
37
+ request_options: {}
38
+ )
39
+ end
40
+
41
+ sig do
42
+ override.returns(
43
+ {
44
+ namespace: String,
45
+ request_id: String,
46
+ request_options: SafetyKit::RequestOptions
47
+ }
48
+ )
49
+ end
50
+ def to_hash
51
+ end
52
+ end
53
+ end
54
+ end