safetykit 0.57.0 → 0.58.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.
@@ -15,46 +15,46 @@ module SafetyKit
15
15
  sig { returns(String) }
16
16
  attr_accessor :content_id
17
17
 
18
- # Per-policy results for the submitted content.
19
- sig do
20
- returns(T::Array[SafetyKit::Models::ContentCreateResponse::Policy])
21
- end
22
- attr_accessor :policies
23
-
24
- # Reference set matches found for the submitted content.
18
+ # Per-label results for the submitted content.
25
19
  sig do
26
20
  returns(
27
- T::Array[SafetyKit::Models::ContentCreateResponse::ReferenceSetMatch]
21
+ T::Array[SafetyKit::Models::ContentCreateResponse::Label::Variants]
28
22
  )
29
23
  end
30
- attr_accessor :reference_set_matches
24
+ attr_accessor :labels
31
25
 
32
26
  # The user_id from the request.
33
27
  sig { returns(String) }
34
28
  attr_accessor :user_id
35
29
 
30
+ # The API version that served this request.
31
+ sig { returns(String) }
32
+ attr_accessor :version
33
+
36
34
  # Synchronous classification result for the submitted content.
37
35
  sig do
38
36
  params(
39
37
  content_id: String,
40
- policies:
41
- T::Array[SafetyKit::Models::ContentCreateResponse::Policy::OrHash],
42
- reference_set_matches:
38
+ labels:
43
39
  T::Array[
44
- SafetyKit::Models::ContentCreateResponse::ReferenceSetMatch::OrHash
40
+ T.any(
41
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember0::OrHash,
42
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1::OrHash
43
+ )
45
44
  ],
46
- user_id: String
45
+ user_id: String,
46
+ version: String
47
47
  ).returns(T.attached_class)
48
48
  end
49
49
  def self.new(
50
50
  # SafetyKit identifier for the classified content.
51
51
  content_id:,
52
- # Per-policy results for the submitted content.
53
- policies:,
54
- # Reference set matches found for the submitted content.
55
- reference_set_matches:,
52
+ # Per-label results for the submitted content.
53
+ labels:,
56
54
  # The user_id from the request.
57
- user_id:
55
+ user_id:,
56
+ # The API version that served this request.
57
+ version:
58
58
  )
59
59
  end
60
60
 
@@ -62,212 +62,463 @@ module SafetyKit
62
62
  override.returns(
63
63
  {
64
64
  content_id: String,
65
- policies:
66
- T::Array[SafetyKit::Models::ContentCreateResponse::Policy],
67
- reference_set_matches:
65
+ labels:
68
66
  T::Array[
69
- SafetyKit::Models::ContentCreateResponse::ReferenceSetMatch
67
+ SafetyKit::Models::ContentCreateResponse::Label::Variants
70
68
  ],
71
- user_id: String
69
+ user_id: String,
70
+ version: String
72
71
  }
73
72
  )
74
73
  end
75
74
  def to_hash
76
75
  end
77
76
 
78
- class Policy < SafetyKit::Internal::Type::BaseModel
79
- OrHash =
77
+ # Result for one label evaluated against the submitted content.
78
+ module Label
79
+ extend SafetyKit::Internal::Type::Union
80
+
81
+ Variants =
80
82
  T.type_alias do
81
83
  T.any(
82
- SafetyKit::Models::ContentCreateResponse::Policy,
83
- SafetyKit::Internal::AnyHash
84
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember0,
85
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1
84
86
  )
85
87
  end
86
88
 
87
- # Whether the submitted content violates the policy.
88
- sig do
89
- returns(
90
- SafetyKit::Models::ContentCreateResponse::Policy::Decision::TaggedSymbol
91
- )
92
- end
93
- attr_accessor :decision
89
+ class UnionMember0 < SafetyKit::Internal::Type::BaseModel
90
+ OrHash =
91
+ T.type_alias do
92
+ T.any(
93
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember0,
94
+ SafetyKit::Internal::AnyHash
95
+ )
96
+ end
94
97
 
95
- # Escalation outcome for this policy.
96
- sig do
97
- returns(
98
- SafetyKit::Models::ContentCreateResponse::Policy::Escalation::TaggedSymbol
99
- )
100
- end
101
- attr_accessor :escalation
98
+ # Whether the submitted content matches the label.
99
+ sig do
100
+ returns(
101
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember0::Decision::TaggedSymbol
102
+ )
103
+ end
104
+ attr_accessor :decision
102
105
 
103
- # Identifier of the policy.
104
- sig { returns(String) }
105
- attr_accessor :policy_id
106
+ # Escalation outcome for this label.
107
+ sig do
108
+ returns(
109
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember0::Escalation::TaggedSymbol
110
+ )
111
+ end
112
+ attr_accessor :escalation
106
113
 
107
- # Classifier score between 0 and 1. Higher means more likely violating. Null when
108
- # no classifier scored the policy.
109
- sig { returns(T.nilable(Float)) }
110
- attr_accessor :score
114
+ # Label identifier.
115
+ sig { returns(String) }
116
+ attr_accessor :label
111
117
 
112
- # Version of the policy.
113
- sig { returns(String) }
114
- attr_accessor :version
118
+ # Classifier score between 0 and 1. Higher means more likely matching. Null when
119
+ # no classifier scored the label.
120
+ sig { returns(T.nilable(Float)) }
121
+ attr_accessor :score
115
122
 
116
- # Result for one policy evaluated against the submitted content.
117
- sig do
118
- params(
119
- decision:
120
- SafetyKit::Models::ContentCreateResponse::Policy::Decision::OrSymbol,
121
- escalation:
122
- SafetyKit::Models::ContentCreateResponse::Policy::Escalation::OrSymbol,
123
- policy_id: String,
124
- score: T.nilable(Float),
125
- version: String
126
- ).returns(T.attached_class)
127
- end
128
- def self.new(
129
- # Whether the submitted content violates the policy.
130
- decision:,
131
- # Escalation outcome for this policy.
132
- escalation:,
133
- # Identifier of the policy.
134
- policy_id:,
135
- # Classifier score between 0 and 1. Higher means more likely violating. Null when
136
- # no classifier scored the policy.
137
- score:,
138
- # Version of the policy.
139
- version:
140
- )
141
- end
123
+ sig do
124
+ returns(
125
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember0::Type::TaggedSymbol
126
+ )
127
+ end
128
+ attr_accessor :type
142
129
 
143
- sig do
144
- override.returns(
145
- {
130
+ sig do
131
+ params(
146
132
  decision:
147
- SafetyKit::Models::ContentCreateResponse::Policy::Decision::TaggedSymbol,
133
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember0::Decision::OrSymbol,
148
134
  escalation:
149
- SafetyKit::Models::ContentCreateResponse::Policy::Escalation::TaggedSymbol,
150
- policy_id: String,
135
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember0::Escalation::OrSymbol,
136
+ label: String,
151
137
  score: T.nilable(Float),
152
- version: String
153
- }
138
+ type:
139
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember0::Type::OrSymbol
140
+ ).returns(T.attached_class)
141
+ end
142
+ def self.new(
143
+ # Whether the submitted content matches the label.
144
+ decision:,
145
+ # Escalation outcome for this label.
146
+ escalation:,
147
+ # Label identifier.
148
+ label:,
149
+ # Classifier score between 0 and 1. Higher means more likely matching. Null when
150
+ # no classifier scored the label.
151
+ score:,
152
+ type:
154
153
  )
155
- end
156
- def to_hash
157
- end
154
+ end
155
+
156
+ sig do
157
+ override.returns(
158
+ {
159
+ decision:
160
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember0::Decision::TaggedSymbol,
161
+ escalation:
162
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember0::Escalation::TaggedSymbol,
163
+ label: String,
164
+ score: T.nilable(Float),
165
+ type:
166
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember0::Type::TaggedSymbol
167
+ }
168
+ )
169
+ end
170
+ def to_hash
171
+ end
158
172
 
159
- # Whether the submitted content violates the policy.
160
- module Decision
161
- extend SafetyKit::Internal::Type::Enum
173
+ # Whether the submitted content matches the label.
174
+ module Decision
175
+ extend SafetyKit::Internal::Type::Enum
162
176
 
163
- TaggedSymbol =
164
- T.type_alias do
165
- T.all(
166
- Symbol,
167
- SafetyKit::Models::ContentCreateResponse::Policy::Decision
177
+ TaggedSymbol =
178
+ T.type_alias do
179
+ T.all(
180
+ Symbol,
181
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember0::Decision
182
+ )
183
+ end
184
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
185
+
186
+ MATCH =
187
+ T.let(
188
+ :match,
189
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember0::Decision::TaggedSymbol
190
+ )
191
+ NOT_MATCH =
192
+ T.let(
193
+ :not_match,
194
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember0::Decision::TaggedSymbol
195
+ )
196
+ REVIEW =
197
+ T.let(
198
+ :review,
199
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember0::Decision::TaggedSymbol
200
+ )
201
+
202
+ sig do
203
+ override.returns(
204
+ T::Array[
205
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember0::Decision::TaggedSymbol
206
+ ]
168
207
  )
169
208
  end
170
- OrSymbol = T.type_alias { T.any(Symbol, String) }
209
+ def self.values
210
+ end
211
+ end
171
212
 
172
- MATCH =
173
- T.let(
174
- :match,
175
- SafetyKit::Models::ContentCreateResponse::Policy::Decision::TaggedSymbol
176
- )
177
- NOT_MATCH =
178
- T.let(
179
- :not_match,
180
- SafetyKit::Models::ContentCreateResponse::Policy::Decision::TaggedSymbol
181
- )
182
- REVIEW =
183
- T.let(
184
- :review,
185
- SafetyKit::Models::ContentCreateResponse::Policy::Decision::TaggedSymbol
186
- )
213
+ # Escalation outcome for this label.
214
+ module Escalation
215
+ extend SafetyKit::Internal::Type::Enum
187
216
 
188
- sig do
189
- override.returns(
190
- T::Array[
191
- SafetyKit::Models::ContentCreateResponse::Policy::Decision::TaggedSymbol
192
- ]
193
- )
217
+ TaggedSymbol =
218
+ T.type_alias do
219
+ T.all(
220
+ Symbol,
221
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember0::Escalation
222
+ )
223
+ end
224
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
225
+
226
+ NONE =
227
+ T.let(
228
+ :none,
229
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember0::Escalation::TaggedSymbol
230
+ )
231
+ COMPLETED =
232
+ T.let(
233
+ :completed,
234
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember0::Escalation::TaggedSymbol
235
+ )
236
+ ERROR =
237
+ T.let(
238
+ :error,
239
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember0::Escalation::TaggedSymbol
240
+ )
241
+
242
+ sig do
243
+ override.returns(
244
+ T::Array[
245
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember0::Escalation::TaggedSymbol
246
+ ]
247
+ )
248
+ end
249
+ def self.values
250
+ end
194
251
  end
195
- def self.values
252
+
253
+ module Type
254
+ extend SafetyKit::Internal::Type::Enum
255
+
256
+ TaggedSymbol =
257
+ T.type_alias do
258
+ T.all(
259
+ Symbol,
260
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember0::Type
261
+ )
262
+ end
263
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
264
+
265
+ CLASSIFIER =
266
+ T.let(
267
+ :classifier,
268
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember0::Type::TaggedSymbol
269
+ )
270
+
271
+ sig do
272
+ override.returns(
273
+ T::Array[
274
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember0::Type::TaggedSymbol
275
+ ]
276
+ )
277
+ end
278
+ def self.values
279
+ end
196
280
  end
197
281
  end
198
282
 
199
- # Escalation outcome for this policy.
200
- module Escalation
201
- extend SafetyKit::Internal::Type::Enum
202
-
203
- TaggedSymbol =
283
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
284
+ OrHash =
204
285
  T.type_alias do
205
- T.all(
206
- Symbol,
207
- SafetyKit::Models::ContentCreateResponse::Policy::Escalation
286
+ T.any(
287
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1,
288
+ SafetyKit::Internal::AnyHash
208
289
  )
209
290
  end
210
- OrSymbol = T.type_alias { T.any(Symbol, String) }
211
291
 
212
- NONE =
213
- T.let(
214
- :none,
215
- SafetyKit::Models::ContentCreateResponse::Policy::Escalation::TaggedSymbol
292
+ # Whether the submitted content matches the label.
293
+ sig do
294
+ returns(
295
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1::Decision::TaggedSymbol
216
296
  )
217
- COMPLETED =
218
- T.let(
219
- :completed,
220
- SafetyKit::Models::ContentCreateResponse::Policy::Escalation::TaggedSymbol
297
+ end
298
+ attr_accessor :decision
299
+
300
+ # Escalation outcome for this label.
301
+ sig do
302
+ returns(
303
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1::Escalation::TaggedSymbol
221
304
  )
222
- ERROR =
223
- T.let(
224
- :error,
225
- SafetyKit::Models::ContentCreateResponse::Policy::Escalation::TaggedSymbol
305
+ end
306
+ attr_accessor :escalation
307
+
308
+ sig do
309
+ returns(
310
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1::Label::TaggedSymbol
226
311
  )
312
+ end
313
+ attr_accessor :label
314
+
315
+ # Similarity between the submitted content and the matched entry.
316
+ sig { returns(Float) }
317
+ attr_accessor :score
318
+
319
+ # Identifier of the matched reference set.
320
+ sig { returns(String) }
321
+ attr_accessor :set_id
227
322
 
228
323
  sig do
229
- override.returns(
230
- T::Array[
231
- SafetyKit::Models::ContentCreateResponse::Policy::Escalation::TaggedSymbol
232
- ]
324
+ returns(
325
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1::Type::TaggedSymbol
233
326
  )
234
327
  end
235
- def self.values
328
+ attr_accessor :type
329
+
330
+ sig do
331
+ params(
332
+ decision:
333
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1::Decision::OrSymbol,
334
+ escalation:
335
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1::Escalation::OrSymbol,
336
+ label:
337
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1::Label::OrSymbol,
338
+ score: Float,
339
+ set_id: String,
340
+ type:
341
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1::Type::OrSymbol
342
+ ).returns(T.attached_class)
343
+ end
344
+ def self.new(
345
+ # Whether the submitted content matches the label.
346
+ decision:,
347
+ # Escalation outcome for this label.
348
+ escalation:,
349
+ label:,
350
+ # Similarity between the submitted content and the matched entry.
351
+ score:,
352
+ # Identifier of the matched reference set.
353
+ set_id:,
354
+ type:
355
+ )
236
356
  end
237
- end
238
- end
239
357
 
240
- class ReferenceSetMatch < SafetyKit::Internal::Type::BaseModel
241
- OrHash =
242
- T.type_alias do
243
- T.any(
244
- SafetyKit::Models::ContentCreateResponse::ReferenceSetMatch,
245
- SafetyKit::Internal::AnyHash
358
+ sig do
359
+ override.returns(
360
+ {
361
+ decision:
362
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1::Decision::TaggedSymbol,
363
+ escalation:
364
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1::Escalation::TaggedSymbol,
365
+ label:
366
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1::Label::TaggedSymbol,
367
+ score: Float,
368
+ set_id: String,
369
+ type:
370
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1::Type::TaggedSymbol
371
+ }
246
372
  )
247
373
  end
374
+ def to_hash
375
+ end
248
376
 
249
- # Identifier of the matched reference set.
250
- sig { returns(String) }
251
- attr_accessor :set_id
377
+ # Whether the submitted content matches the label.
378
+ module Decision
379
+ extend SafetyKit::Internal::Type::Enum
252
380
 
253
- # Similarity between the submitted content and the matched reference set entry.
254
- sig { returns(Float) }
255
- attr_accessor :similarity
381
+ TaggedSymbol =
382
+ T.type_alias do
383
+ T.all(
384
+ Symbol,
385
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1::Decision
386
+ )
387
+ end
388
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
256
389
 
257
- # Reference set match found for the submitted content.
258
- sig do
259
- params(set_id: String, similarity: Float).returns(T.attached_class)
260
- end
261
- def self.new(
262
- # Identifier of the matched reference set.
263
- set_id:,
264
- # Similarity between the submitted content and the matched reference set entry.
265
- similarity:
266
- )
390
+ MATCH =
391
+ T.let(
392
+ :match,
393
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1::Decision::TaggedSymbol
394
+ )
395
+ NOT_MATCH =
396
+ T.let(
397
+ :not_match,
398
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1::Decision::TaggedSymbol
399
+ )
400
+ REVIEW =
401
+ T.let(
402
+ :review,
403
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1::Decision::TaggedSymbol
404
+ )
405
+
406
+ sig do
407
+ override.returns(
408
+ T::Array[
409
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1::Decision::TaggedSymbol
410
+ ]
411
+ )
412
+ end
413
+ def self.values
414
+ end
415
+ end
416
+
417
+ # Escalation outcome for this label.
418
+ module Escalation
419
+ extend SafetyKit::Internal::Type::Enum
420
+
421
+ TaggedSymbol =
422
+ T.type_alias do
423
+ T.all(
424
+ Symbol,
425
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1::Escalation
426
+ )
427
+ end
428
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
429
+
430
+ NONE =
431
+ T.let(
432
+ :none,
433
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1::Escalation::TaggedSymbol
434
+ )
435
+ COMPLETED =
436
+ T.let(
437
+ :completed,
438
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1::Escalation::TaggedSymbol
439
+ )
440
+ ERROR =
441
+ T.let(
442
+ :error,
443
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1::Escalation::TaggedSymbol
444
+ )
445
+
446
+ sig do
447
+ override.returns(
448
+ T::Array[
449
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1::Escalation::TaggedSymbol
450
+ ]
451
+ )
452
+ end
453
+ def self.values
454
+ end
455
+ end
456
+
457
+ module Label
458
+ extend SafetyKit::Internal::Type::Enum
459
+
460
+ TaggedSymbol =
461
+ T.type_alias do
462
+ T.all(
463
+ Symbol,
464
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1::Label
465
+ )
466
+ end
467
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
468
+
469
+ REFERENCE_SET_MATCH =
470
+ T.let(
471
+ :reference_set_match,
472
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1::Label::TaggedSymbol
473
+ )
474
+
475
+ sig do
476
+ override.returns(
477
+ T::Array[
478
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1::Label::TaggedSymbol
479
+ ]
480
+ )
481
+ end
482
+ def self.values
483
+ end
484
+ end
485
+
486
+ module Type
487
+ extend SafetyKit::Internal::Type::Enum
488
+
489
+ TaggedSymbol =
490
+ T.type_alias do
491
+ T.all(
492
+ Symbol,
493
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1::Type
494
+ )
495
+ end
496
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
497
+
498
+ SIMILARITY =
499
+ T.let(
500
+ :similarity,
501
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1::Type::TaggedSymbol
502
+ )
503
+
504
+ sig do
505
+ override.returns(
506
+ T::Array[
507
+ SafetyKit::Models::ContentCreateResponse::Label::UnionMember1::Type::TaggedSymbol
508
+ ]
509
+ )
510
+ end
511
+ def self.values
512
+ end
513
+ end
267
514
  end
268
515
 
269
- sig { override.returns({ set_id: String, similarity: Float }) }
270
- def to_hash
516
+ sig do
517
+ override.returns(
518
+ T::Array[SafetyKit::Models::ContentCreateResponse::Label::Variants]
519
+ )
520
+ end
521
+ def self.variants
271
522
  end
272
523
  end
273
524
  end