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,458 @@
1
+ # typed: strong
2
+
3
+ module SafetyKit
4
+ module Models
5
+ class DataUpdateSettingsParams < 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::DataUpdateSettingsParams,
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(T::Hash[Symbol, SafetyKit::DataUpdateSettingsParams::Schema])
27
+ end
28
+ attr_accessor :schema
29
+
30
+ sig do
31
+ params(
32
+ namespace: String,
33
+ schema:
34
+ T::Hash[
35
+ Symbol,
36
+ SafetyKit::DataUpdateSettingsParams::Schema::OrHash
37
+ ],
38
+ request_options: SafetyKit::RequestOptions::OrHash
39
+ ).returns(T.attached_class)
40
+ end
41
+ def self.new(
42
+ # The namespace to ingest data into
43
+ namespace:,
44
+ # Schema mapping field names to their definitions. Use content_type to specify
45
+ # which fields contain URLs that should be processed (images, videos, or
46
+ # websites), datetime fields, or 'metadata' for fields that should be stored but
47
+ # not indexed. Use display_hint to provide UI rendering hints.
48
+ schema:,
49
+ request_options: {}
50
+ )
51
+ end
52
+
53
+ sig do
54
+ override.returns(
55
+ {
56
+ namespace: String,
57
+ schema:
58
+ T::Hash[Symbol, SafetyKit::DataUpdateSettingsParams::Schema],
59
+ request_options: SafetyKit::RequestOptions
60
+ }
61
+ )
62
+ end
63
+ def to_hash
64
+ end
65
+
66
+ class Schema < SafetyKit::Internal::Type::BaseModel
67
+ OrHash =
68
+ T.type_alias do
69
+ T.any(
70
+ SafetyKit::DataUpdateSettingsParams::Schema,
71
+ SafetyKit::Internal::AnyHash
72
+ )
73
+ end
74
+
75
+ # The parent object namespace this field belongs to, creating a parent-child
76
+ # relationship with that namespace.
77
+ sig { returns(T.nilable(String)) }
78
+ attr_reader :belongs_to
79
+
80
+ sig { params(belongs_to: String).void }
81
+ attr_writer :belongs_to
82
+
83
+ # The type of content (image_url, video_url, audio_url, website_url, datetime,
84
+ # metadata, or card). When specified as a URL type, SafetyKit will process the
85
+ # URL. Use 'metadata' for fields that should be stored but not indexed.
86
+ sig do
87
+ returns(
88
+ T.nilable(
89
+ SafetyKit::DataUpdateSettingsParams::Schema::ContentType::OrSymbol
90
+ )
91
+ )
92
+ end
93
+ attr_reader :content_type
94
+
95
+ sig do
96
+ params(
97
+ content_type:
98
+ SafetyKit::DataUpdateSettingsParams::Schema::ContentType::OrSymbol
99
+ ).void
100
+ end
101
+ attr_writer :content_type
102
+
103
+ # Display hint for UI rendering of this field
104
+ sig do
105
+ returns(
106
+ T.nilable(SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint)
107
+ )
108
+ end
109
+ attr_reader :display_hint
110
+
111
+ sig do
112
+ params(
113
+ display_hint:
114
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::OrHash
115
+ ).void
116
+ end
117
+ attr_writer :display_hint
118
+
119
+ # Maximum amount of this field to include when sending to AI models. For text
120
+ # fields, this is the character limit. For array fields (e.g. image URLs), this is
121
+ # the maximum number of items.
122
+ sig { returns(T.nilable(Integer)) }
123
+ attr_reader :field_limit
124
+
125
+ sig { params(field_limit: Integer).void }
126
+ attr_writer :field_limit
127
+
128
+ # Optional parser to apply before indexing this field.
129
+ sig do
130
+ returns(
131
+ T.nilable(
132
+ SafetyKit::DataUpdateSettingsParams::Schema::IngestAs::OrSymbol
133
+ )
134
+ )
135
+ end
136
+ attr_reader :ingest_as
137
+
138
+ sig do
139
+ params(
140
+ ingest_as:
141
+ SafetyKit::DataUpdateSettingsParams::Schema::IngestAs::OrSymbol
142
+ ).void
143
+ end
144
+ attr_writer :ingest_as
145
+
146
+ # Schema definition for a data field
147
+ sig do
148
+ params(
149
+ belongs_to: String,
150
+ content_type:
151
+ SafetyKit::DataUpdateSettingsParams::Schema::ContentType::OrSymbol,
152
+ display_hint:
153
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::OrHash,
154
+ field_limit: Integer,
155
+ ingest_as:
156
+ SafetyKit::DataUpdateSettingsParams::Schema::IngestAs::OrSymbol
157
+ ).returns(T.attached_class)
158
+ end
159
+ def self.new(
160
+ # The parent object namespace this field belongs to, creating a parent-child
161
+ # relationship with that namespace.
162
+ belongs_to: nil,
163
+ # The type of content (image_url, video_url, audio_url, website_url, datetime,
164
+ # metadata, or card). When specified as a URL type, SafetyKit will process the
165
+ # URL. Use 'metadata' for fields that should be stored but not indexed.
166
+ content_type: nil,
167
+ # Display hint for UI rendering of this field
168
+ display_hint: nil,
169
+ # Maximum amount of this field to include when sending to AI models. For text
170
+ # fields, this is the character limit. For array fields (e.g. image URLs), this is
171
+ # the maximum number of items.
172
+ field_limit: nil,
173
+ # Optional parser to apply before indexing this field.
174
+ ingest_as: nil
175
+ )
176
+ end
177
+
178
+ sig do
179
+ override.returns(
180
+ {
181
+ belongs_to: String,
182
+ content_type:
183
+ SafetyKit::DataUpdateSettingsParams::Schema::ContentType::OrSymbol,
184
+ display_hint:
185
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint,
186
+ field_limit: Integer,
187
+ ingest_as:
188
+ SafetyKit::DataUpdateSettingsParams::Schema::IngestAs::OrSymbol
189
+ }
190
+ )
191
+ end
192
+ def to_hash
193
+ end
194
+
195
+ # The type of content (image_url, video_url, audio_url, website_url, datetime,
196
+ # metadata, or card). When specified as a URL type, SafetyKit will process the
197
+ # URL. Use 'metadata' for fields that should be stored but not indexed.
198
+ module ContentType
199
+ extend SafetyKit::Internal::Type::Enum
200
+
201
+ TaggedSymbol =
202
+ T.type_alias do
203
+ T.all(
204
+ Symbol,
205
+ SafetyKit::DataUpdateSettingsParams::Schema::ContentType
206
+ )
207
+ end
208
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
209
+
210
+ IMAGE_URL =
211
+ T.let(
212
+ :image_url,
213
+ SafetyKit::DataUpdateSettingsParams::Schema::ContentType::TaggedSymbol
214
+ )
215
+ VIDEO_URL =
216
+ T.let(
217
+ :video_url,
218
+ SafetyKit::DataUpdateSettingsParams::Schema::ContentType::TaggedSymbol
219
+ )
220
+ AUDIO_URL =
221
+ T.let(
222
+ :audio_url,
223
+ SafetyKit::DataUpdateSettingsParams::Schema::ContentType::TaggedSymbol
224
+ )
225
+ WEBSITE_URL =
226
+ T.let(
227
+ :website_url,
228
+ SafetyKit::DataUpdateSettingsParams::Schema::ContentType::TaggedSymbol
229
+ )
230
+ DATETIME =
231
+ T.let(
232
+ :datetime,
233
+ SafetyKit::DataUpdateSettingsParams::Schema::ContentType::TaggedSymbol
234
+ )
235
+ METADATA =
236
+ T.let(
237
+ :metadata,
238
+ SafetyKit::DataUpdateSettingsParams::Schema::ContentType::TaggedSymbol
239
+ )
240
+ CARD =
241
+ T.let(
242
+ :card,
243
+ SafetyKit::DataUpdateSettingsParams::Schema::ContentType::TaggedSymbol
244
+ )
245
+
246
+ sig do
247
+ override.returns(
248
+ T::Array[
249
+ SafetyKit::DataUpdateSettingsParams::Schema::ContentType::TaggedSymbol
250
+ ]
251
+ )
252
+ end
253
+ def self.values
254
+ end
255
+ end
256
+
257
+ class DisplayHint < SafetyKit::Internal::Type::BaseModel
258
+ OrHash =
259
+ T.type_alias do
260
+ T.any(
261
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint,
262
+ SafetyKit::Internal::AnyHash
263
+ )
264
+ end
265
+
266
+ # Display label to show for this field in the UI
267
+ sig { returns(T.nilable(String)) }
268
+ attr_reader :name
269
+
270
+ sig { params(name: String).void }
271
+ attr_writer :name
272
+
273
+ # Display ordering for this field. Use 0 to hide the field from list views.
274
+ sig { returns(T.nilable(Float)) }
275
+ attr_reader :order
276
+
277
+ sig { params(order: Float).void }
278
+ attr_writer :order
279
+
280
+ # The display hint type
281
+ sig do
282
+ returns(
283
+ T.nilable(
284
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::OrSymbol
285
+ )
286
+ )
287
+ end
288
+ attr_reader :type
289
+
290
+ sig do
291
+ params(
292
+ type:
293
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::OrSymbol
294
+ ).void
295
+ end
296
+ attr_writer :type
297
+
298
+ # Display hint for UI rendering of this field
299
+ sig do
300
+ params(
301
+ name: String,
302
+ order: Float,
303
+ type:
304
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::OrSymbol
305
+ ).returns(T.attached_class)
306
+ end
307
+ def self.new(
308
+ # Display label to show for this field in the UI
309
+ name: nil,
310
+ # Display ordering for this field. Use 0 to hide the field from list views.
311
+ order: nil,
312
+ # The display hint type
313
+ type: nil
314
+ )
315
+ end
316
+
317
+ sig do
318
+ override.returns(
319
+ {
320
+ name: String,
321
+ order: Float,
322
+ type:
323
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::OrSymbol
324
+ }
325
+ )
326
+ end
327
+ def to_hash
328
+ end
329
+
330
+ # The display hint type
331
+ module Type
332
+ extend SafetyKit::Internal::Type::Enum
333
+
334
+ TaggedSymbol =
335
+ T.type_alias do
336
+ T.all(
337
+ Symbol,
338
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type
339
+ )
340
+ end
341
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
342
+
343
+ TITLE =
344
+ T.let(
345
+ :title,
346
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
347
+ )
348
+ SUBTITLE =
349
+ T.let(
350
+ :subtitle,
351
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
352
+ )
353
+ DESCRIPTION =
354
+ T.let(
355
+ :description,
356
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
357
+ )
358
+ PRIMARY_IMAGE_URL =
359
+ T.let(
360
+ :primary_image_url,
361
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
362
+ )
363
+ VIDEO_URL =
364
+ T.let(
365
+ :video_url,
366
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
367
+ )
368
+ AUDIO_URL =
369
+ T.let(
370
+ :audio_url,
371
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
372
+ )
373
+ LOCATION =
374
+ T.let(
375
+ :location,
376
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
377
+ )
378
+ DATE =
379
+ T.let(
380
+ :date,
381
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
382
+ )
383
+ COMPACT_TEXT =
384
+ T.let(
385
+ :compact_text,
386
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
387
+ )
388
+ MARKDOWN =
389
+ T.let(
390
+ :markdown,
391
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
392
+ )
393
+ HTML =
394
+ T.let(
395
+ :html,
396
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
397
+ )
398
+ CARD =
399
+ T.let(
400
+ :card,
401
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
402
+ )
403
+ CHAT_THREAD =
404
+ T.let(
405
+ :chat_thread,
406
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
407
+ )
408
+ TWO_PERSON_CHAT =
409
+ T.let(
410
+ :two_person_chat,
411
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
412
+ )
413
+
414
+ sig do
415
+ override.returns(
416
+ T::Array[
417
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
418
+ ]
419
+ )
420
+ end
421
+ def self.values
422
+ end
423
+ end
424
+ end
425
+
426
+ # Optional parser to apply before indexing this field.
427
+ module IngestAs
428
+ extend SafetyKit::Internal::Type::Enum
429
+
430
+ TaggedSymbol =
431
+ T.type_alias do
432
+ T.all(
433
+ Symbol,
434
+ SafetyKit::DataUpdateSettingsParams::Schema::IngestAs
435
+ )
436
+ end
437
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
438
+
439
+ FLOAT =
440
+ T.let(
441
+ :float,
442
+ SafetyKit::DataUpdateSettingsParams::Schema::IngestAs::TaggedSymbol
443
+ )
444
+
445
+ sig do
446
+ override.returns(
447
+ T::Array[
448
+ SafetyKit::DataUpdateSettingsParams::Schema::IngestAs::TaggedSymbol
449
+ ]
450
+ )
451
+ end
452
+ def self.values
453
+ end
454
+ end
455
+ end
456
+ end
457
+ end
458
+ end
@@ -0,0 +1,74 @@
1
+ # typed: strong
2
+
3
+ module SafetyKit
4
+ module Models
5
+ class DataUpdateSettingsResponse < SafetyKit::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ SafetyKit::Models::DataUpdateSettingsResponse,
10
+ SafetyKit::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :namespace
16
+
17
+ sig do
18
+ returns(
19
+ SafetyKit::Models::DataUpdateSettingsResponse::Status::TaggedSymbol
20
+ )
21
+ end
22
+ attr_accessor :status
23
+
24
+ # Namespace configuration was stored.
25
+ sig do
26
+ params(
27
+ namespace: String,
28
+ status:
29
+ SafetyKit::Models::DataUpdateSettingsResponse::Status::OrSymbol
30
+ ).returns(T.attached_class)
31
+ end
32
+ def self.new(namespace:, status:)
33
+ end
34
+
35
+ sig do
36
+ override.returns(
37
+ {
38
+ namespace: String,
39
+ status:
40
+ SafetyKit::Models::DataUpdateSettingsResponse::Status::TaggedSymbol
41
+ }
42
+ )
43
+ end
44
+ def to_hash
45
+ end
46
+
47
+ module Status
48
+ extend SafetyKit::Internal::Type::Enum
49
+
50
+ TaggedSymbol =
51
+ T.type_alias do
52
+ T.all(Symbol, SafetyKit::Models::DataUpdateSettingsResponse::Status)
53
+ end
54
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
55
+
56
+ UPDATED =
57
+ T.let(
58
+ :updated,
59
+ SafetyKit::Models::DataUpdateSettingsResponse::Status::TaggedSymbol
60
+ )
61
+
62
+ sig do
63
+ override.returns(
64
+ T::Array[
65
+ SafetyKit::Models::DataUpdateSettingsResponse::Status::TaggedSymbol
66
+ ]
67
+ )
68
+ end
69
+ def self.values
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,69 @@
1
+ # typed: strong
2
+
3
+ module SafetyKit
4
+ module Models
5
+ class StreamAddFrameParams < 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(SafetyKit::StreamAddFrameParams, SafetyKit::Internal::AnyHash)
12
+ end
13
+
14
+ # The namespace to ingest stream data into
15
+ sig { returns(String) }
16
+ attr_accessor :namespace
17
+
18
+ # A data URI containing a base64-encoded frame image. Only image/jpeg, image/png,
19
+ # and image/webp are accepted. The decoded bytes must match the declared mime
20
+ # type, decode as a valid image, stay within 5 MB, and stay within 4096x4096 /
21
+ # 16,000,000 total pixels.
22
+ sig { returns(String) }
23
+ attr_accessor :image_data_uri
24
+
25
+ sig { returns(String) }
26
+ attr_accessor :stream_id
27
+
28
+ sig { returns(Integer) }
29
+ attr_accessor :timestamp
30
+
31
+ sig do
32
+ params(
33
+ namespace: String,
34
+ image_data_uri: String,
35
+ stream_id: String,
36
+ timestamp: Integer,
37
+ request_options: SafetyKit::RequestOptions::OrHash
38
+ ).returns(T.attached_class)
39
+ end
40
+ def self.new(
41
+ # The namespace to ingest stream data into
42
+ namespace:,
43
+ # A data URI containing a base64-encoded frame image. Only image/jpeg, image/png,
44
+ # and image/webp are accepted. The decoded bytes must match the declared mime
45
+ # type, decode as a valid image, stay within 5 MB, and stay within 4096x4096 /
46
+ # 16,000,000 total pixels.
47
+ image_data_uri:,
48
+ stream_id:,
49
+ timestamp:,
50
+ request_options: {}
51
+ )
52
+ end
53
+
54
+ sig do
55
+ override.returns(
56
+ {
57
+ namespace: String,
58
+ image_data_uri: String,
59
+ stream_id: String,
60
+ timestamp: Integer,
61
+ request_options: SafetyKit::RequestOptions
62
+ }
63
+ )
64
+ end
65
+ def to_hash
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,71 @@
1
+ # typed: strong
2
+
3
+ module SafetyKit
4
+ module Models
5
+ class StreamAddFrameResponse < SafetyKit::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ SafetyKit::Models::StreamAddFrameResponse,
10
+ SafetyKit::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :request_id
16
+
17
+ sig do
18
+ returns(SafetyKit::Models::StreamAddFrameResponse::Status::TaggedSymbol)
19
+ end
20
+ attr_accessor :status
21
+
22
+ # Stream ingestion request accepted for asynchronous processing.
23
+ sig do
24
+ params(
25
+ request_id: String,
26
+ status: SafetyKit::Models::StreamAddFrameResponse::Status::OrSymbol
27
+ ).returns(T.attached_class)
28
+ end
29
+ def self.new(request_id:, status:)
30
+ end
31
+
32
+ sig do
33
+ override.returns(
34
+ {
35
+ request_id: String,
36
+ status:
37
+ SafetyKit::Models::StreamAddFrameResponse::Status::TaggedSymbol
38
+ }
39
+ )
40
+ end
41
+ def to_hash
42
+ end
43
+
44
+ module Status
45
+ extend SafetyKit::Internal::Type::Enum
46
+
47
+ TaggedSymbol =
48
+ T.type_alias do
49
+ T.all(Symbol, SafetyKit::Models::StreamAddFrameResponse::Status)
50
+ end
51
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
52
+
53
+ ACCEPTED =
54
+ T.let(
55
+ :accepted,
56
+ SafetyKit::Models::StreamAddFrameResponse::Status::TaggedSymbol
57
+ )
58
+
59
+ sig do
60
+ override.returns(
61
+ T::Array[
62
+ SafetyKit::Models::StreamAddFrameResponse::Status::TaggedSymbol
63
+ ]
64
+ )
65
+ end
66
+ def self.values
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end