moderation_api 2.27.0 → 2.29.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 95b95520c51da5cb3f0195033966c1a7f3b855fae6bb15d602a9a903b9bfe2a0
4
- data.tar.gz: 80fd1b6ed741e4a99d97c141f696b2927a534b3756ac5a8139b9e0dbcefa786e
3
+ metadata.gz: e2350c050b80f874a232572392ab7463447330756ed429006cecffe2928e05b9
4
+ data.tar.gz: 7a949aa4c1fb39585afeeffddcf3fed9b23d6b849ae61618a8ef2c12128c9b89
5
5
  SHA512:
6
- metadata.gz: 3ac8756e94c8bfaf17969910d5a7266336f3c140dc87003b309e3033827ad65787a264e540efce5c57fffd3fe785a60e4b0963593ebae44254a33ca615219140
7
- data.tar.gz: 6a46cfb0c5d6f588f6f10d625f27c9110bd059a5b8013031c6e3e4f866fd0466848727c79cd9db75fceb7d41f7218d0c41add193b2ec268347166b36aa683e15
6
+ metadata.gz: 23e6887e8991a2334f1fb809a9651deadb007237057a822895bd6d36fe1de0886276e839bc4696e021bf1e8e1191de2ae6f96fac0030e5237535cdaa82f5e6cd
7
+ data.tar.gz: 7fefcb77748af33e78185587b17891c1138102b66aa010686e66df18e5b92fe5b6bedacb3e348e7fecd0709d0dd21e40d7be522492bf690c99a2e9b916d34b9f
data/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.29.0 (2026-07-23)
4
+
5
+ Full Changelog: [v2.28.0...v2.29.0](https://github.com/moderation-api/sdk-ruby/compare/v2.28.0...v2.29.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([822b69b](https://github.com/moderation-api/sdk-ruby/commit/822b69bbab907b63366685eb43b33d42a49ec09c))
10
+
11
+ ## 2.28.0 (2026-07-23)
12
+
13
+ Full Changelog: [v2.27.0...v2.28.0](https://github.com/moderation-api/sdk-ruby/compare/v2.27.0...v2.28.0)
14
+
15
+ ### Features
16
+
17
+ * **api:** api update ([5db8ada](https://github.com/moderation-api/sdk-ruby/commit/5db8adafdfa072702d7e67b29c7a0f02598703d0))
18
+
3
19
  ## 2.27.0 (2026-07-20)
4
20
 
5
21
  Full Changelog: [v2.26.0...v2.27.0](https://github.com/moderation-api/sdk-ruby/compare/v2.26.0...v2.27.0)
data/README.md CHANGED
@@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application
15
15
  <!-- x-release-please-start-version -->
16
16
 
17
17
  ```ruby
18
- gem "moderation_api", "~> 2.27.0"
18
+ gem "moderation_api", "~> 2.29.0"
19
19
  ```
20
20
 
21
21
  <!-- x-release-please-end -->
@@ -652,10 +652,16 @@ module ModerationAPI
652
652
  # @return [Float]
653
653
  required :probability, Float
654
654
 
655
- # @!method initialize(id:, flagged:, probability:)
655
+ # @!attribute shadow_flagged
656
+ #
657
+ # @return [Boolean, nil]
658
+ optional :shadow_flagged, ModerationAPI::Internal::Type::Boolean, api_name: :shadowFlagged
659
+
660
+ # @!method initialize(id:, flagged:, probability:, shadow_flagged: nil)
656
661
  # @param id [String]
657
662
  # @param flagged [Boolean]
658
663
  # @param probability [Float]
664
+ # @param shadow_flagged [Boolean]
659
665
  end
660
666
  end
661
667
 
@@ -2900,7 +2900,18 @@ module ModerationAPI
2900
2900
  optional :matches,
2901
2901
  -> { ModerationAPI::Internal::Type::ArrayOf[ModerationAPI::WebhookEvent::QueueItemResolved::Data::Object::Item::Label::Match] }
2902
2902
 
2903
- # @!method initialize(label:, score:, flagged: nil, manual: nil, matches: nil)
2903
+ # @!attribute shadow_flagged
2904
+ # Whether this label crossed its threshold under a shadowed policy — reported for
2905
+ # visibility, never counted toward a flagging decision
2906
+ #
2907
+ # @return [Boolean, nil]
2908
+ optional :shadow_flagged, ModerationAPI::Internal::Type::Boolean
2909
+
2910
+ # @!method initialize(label:, score:, flagged: nil, manual: nil, matches: nil, shadow_flagged: nil)
2911
+ # Some parameter documentations has been truncated, see
2912
+ # {ModerationAPI::Models::WebhookEvent::QueueItemResolved::Data::Object::Item::Label}
2913
+ # for more details.
2914
+ #
2904
2915
  # @param label [String] The label name
2905
2916
  #
2906
2917
  # @param score [Float] Confidence score between 0 and 1
@@ -2910,6 +2921,8 @@ module ModerationAPI
2910
2921
  # @param manual [Boolean] True if the label was applied manually by a moderator
2911
2922
  #
2912
2923
  # @param matches [Array<ModerationAPI::Models::WebhookEvent::QueueItemResolved::Data::Object::Item::Label::Match>]
2924
+ #
2925
+ # @param shadow_flagged [Boolean] Whether this label crossed its threshold under a shadowed policy — reported for
2913
2926
 
2914
2927
  class Match < ModerationAPI::Internal::Type::BaseModel
2915
2928
  # @!attribute match
@@ -2945,13 +2958,23 @@ module ModerationAPI
2945
2958
  # @return [Array<String>, nil]
2946
2959
  optional :reasons, ModerationAPI::Internal::Type::ArrayOf[String]
2947
2960
 
2961
+ # @!attribute scripts
2962
+ #
2963
+ # @return [Array<String>, nil]
2964
+ optional :scripts, ModerationAPI::Internal::Type::ArrayOf[String]
2965
+
2948
2966
  # @!attribute signals
2949
2967
  #
2950
2968
  # @return [ModerationAPI::Models::WebhookEvent::QueueItemResolved::Data::Object::Item::Label::Match::Signals, nil]
2951
2969
  optional :signals,
2952
2970
  -> { ModerationAPI::WebhookEvent::QueueItemResolved::Data::Object::Item::Label::Match::Signals }
2953
2971
 
2954
- # @!method initialize(match:, probability:, span:, entity_type: nil, mask: nil, reasons: nil, signals: nil)
2972
+ # @!attribute skeleton
2973
+ #
2974
+ # @return [String, nil]
2975
+ optional :skeleton, String
2976
+
2977
+ # @!method initialize(match:, probability:, span:, entity_type: nil, mask: nil, reasons: nil, scripts: nil, signals: nil, skeleton: nil)
2955
2978
  # @param match [String] The matched substring
2956
2979
  #
2957
2980
  # @param probability [Float] Match confidence between 0 and 1
@@ -2964,7 +2987,11 @@ module ModerationAPI
2964
2987
  #
2965
2988
  # @param reasons [Array<String>]
2966
2989
  #
2990
+ # @param scripts [Array<String>]
2991
+ #
2967
2992
  # @param signals [ModerationAPI::Models::WebhookEvent::QueueItemResolved::Data::Object::Item::Label::Match::Signals]
2993
+ #
2994
+ # @param skeleton [String]
2968
2995
 
2969
2996
  # @see ModerationAPI::Models::WebhookEvent::QueueItemResolved::Data::Object::Item::Label::Match#signals
2970
2997
  class Signals < ModerationAPI::Internal::Type::BaseModel
@@ -4258,7 +4285,18 @@ module ModerationAPI
4258
4285
  optional :matches,
4259
4286
  -> { ModerationAPI::Internal::Type::ArrayOf[ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match] }
4260
4287
 
4261
- # @!method initialize(label:, score:, flagged: nil, manual: nil, matches: nil)
4288
+ # @!attribute shadow_flagged
4289
+ # Whether this label crossed its threshold under a shadowed policy — reported for
4290
+ # visibility, never counted toward a flagging decision
4291
+ #
4292
+ # @return [Boolean, nil]
4293
+ optional :shadow_flagged, ModerationAPI::Internal::Type::Boolean
4294
+
4295
+ # @!method initialize(label:, score:, flagged: nil, manual: nil, matches: nil, shadow_flagged: nil)
4296
+ # Some parameter documentations has been truncated, see
4297
+ # {ModerationAPI::Models::WebhookEvent::QueueItemAction::Data::Object::Item::Label}
4298
+ # for more details.
4299
+ #
4262
4300
  # @param label [String] The label name
4263
4301
  #
4264
4302
  # @param score [Float] Confidence score between 0 and 1
@@ -4268,6 +4306,8 @@ module ModerationAPI
4268
4306
  # @param manual [Boolean] True if the label was applied manually by a moderator
4269
4307
  #
4270
4308
  # @param matches [Array<ModerationAPI::Models::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match>]
4309
+ #
4310
+ # @param shadow_flagged [Boolean] Whether this label crossed its threshold under a shadowed policy — reported for
4271
4311
 
4272
4312
  class Match < ModerationAPI::Internal::Type::BaseModel
4273
4313
  # @!attribute match
@@ -4303,13 +4343,23 @@ module ModerationAPI
4303
4343
  # @return [Array<String>, nil]
4304
4344
  optional :reasons, ModerationAPI::Internal::Type::ArrayOf[String]
4305
4345
 
4346
+ # @!attribute scripts
4347
+ #
4348
+ # @return [Array<String>, nil]
4349
+ optional :scripts, ModerationAPI::Internal::Type::ArrayOf[String]
4350
+
4306
4351
  # @!attribute signals
4307
4352
  #
4308
4353
  # @return [ModerationAPI::Models::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match::Signals, nil]
4309
4354
  optional :signals,
4310
4355
  -> { ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match::Signals }
4311
4356
 
4312
- # @!method initialize(match:, probability:, span:, entity_type: nil, mask: nil, reasons: nil, signals: nil)
4357
+ # @!attribute skeleton
4358
+ #
4359
+ # @return [String, nil]
4360
+ optional :skeleton, String
4361
+
4362
+ # @!method initialize(match:, probability:, span:, entity_type: nil, mask: nil, reasons: nil, scripts: nil, signals: nil, skeleton: nil)
4313
4363
  # @param match [String] The matched substring
4314
4364
  #
4315
4365
  # @param probability [Float] Match confidence between 0 and 1
@@ -4322,7 +4372,11 @@ module ModerationAPI
4322
4372
  #
4323
4373
  # @param reasons [Array<String>]
4324
4374
  #
4375
+ # @param scripts [Array<String>]
4376
+ #
4325
4377
  # @param signals [ModerationAPI::Models::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match::Signals]
4378
+ #
4379
+ # @param skeleton [String]
4326
4380
 
4327
4381
  # @see ModerationAPI::Models::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match#signals
4328
4382
  class Signals < ModerationAPI::Internal::Type::BaseModel
@@ -5337,7 +5391,18 @@ module ModerationAPI
5337
5391
  optional :matches,
5338
5392
  -> { ModerationAPI::Internal::Type::ArrayOf[ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match] }
5339
5393
 
5340
- # @!method initialize(label:, score:, flagged: nil, manual: nil, matches: nil)
5394
+ # @!attribute shadow_flagged
5395
+ # Whether this label crossed its threshold under a shadowed policy — reported for
5396
+ # visibility, never counted toward a flagging decision
5397
+ #
5398
+ # @return [Boolean, nil]
5399
+ optional :shadow_flagged, ModerationAPI::Internal::Type::Boolean
5400
+
5401
+ # @!method initialize(label:, score:, flagged: nil, manual: nil, matches: nil, shadow_flagged: nil)
5402
+ # Some parameter documentations has been truncated, see
5403
+ # {ModerationAPI::Models::WebhookEvent::QueueItemRejected::Data::Object::Item::Label}
5404
+ # for more details.
5405
+ #
5341
5406
  # @param label [String] The label name
5342
5407
  #
5343
5408
  # @param score [Float] Confidence score between 0 and 1
@@ -5347,6 +5412,8 @@ module ModerationAPI
5347
5412
  # @param manual [Boolean] True if the label was applied manually by a moderator
5348
5413
  #
5349
5414
  # @param matches [Array<ModerationAPI::Models::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match>]
5415
+ #
5416
+ # @param shadow_flagged [Boolean] Whether this label crossed its threshold under a shadowed policy — reported for
5350
5417
 
5351
5418
  class Match < ModerationAPI::Internal::Type::BaseModel
5352
5419
  # @!attribute match
@@ -5382,13 +5449,23 @@ module ModerationAPI
5382
5449
  # @return [Array<String>, nil]
5383
5450
  optional :reasons, ModerationAPI::Internal::Type::ArrayOf[String]
5384
5451
 
5452
+ # @!attribute scripts
5453
+ #
5454
+ # @return [Array<String>, nil]
5455
+ optional :scripts, ModerationAPI::Internal::Type::ArrayOf[String]
5456
+
5385
5457
  # @!attribute signals
5386
5458
  #
5387
5459
  # @return [ModerationAPI::Models::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match::Signals, nil]
5388
5460
  optional :signals,
5389
5461
  -> { ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match::Signals }
5390
5462
 
5391
- # @!method initialize(match:, probability:, span:, entity_type: nil, mask: nil, reasons: nil, signals: nil)
5463
+ # @!attribute skeleton
5464
+ #
5465
+ # @return [String, nil]
5466
+ optional :skeleton, String
5467
+
5468
+ # @!method initialize(match:, probability:, span:, entity_type: nil, mask: nil, reasons: nil, scripts: nil, signals: nil, skeleton: nil)
5392
5469
  # @param match [String] The matched substring
5393
5470
  #
5394
5471
  # @param probability [Float] Match confidence between 0 and 1
@@ -5401,7 +5478,11 @@ module ModerationAPI
5401
5478
  #
5402
5479
  # @param reasons [Array<String>]
5403
5480
  #
5481
+ # @param scripts [Array<String>]
5482
+ #
5404
5483
  # @param signals [ModerationAPI::Models::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match::Signals]
5484
+ #
5485
+ # @param skeleton [String]
5405
5486
 
5406
5487
  # @see ModerationAPI::Models::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match#signals
5407
5488
  class Signals < ModerationAPI::Internal::Type::BaseModel
@@ -6413,7 +6494,18 @@ module ModerationAPI
6413
6494
  optional :matches,
6414
6495
  -> { ModerationAPI::Internal::Type::ArrayOf[ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match] }
6415
6496
 
6416
- # @!method initialize(label:, score:, flagged: nil, manual: nil, matches: nil)
6497
+ # @!attribute shadow_flagged
6498
+ # Whether this label crossed its threshold under a shadowed policy — reported for
6499
+ # visibility, never counted toward a flagging decision
6500
+ #
6501
+ # @return [Boolean, nil]
6502
+ optional :shadow_flagged, ModerationAPI::Internal::Type::Boolean
6503
+
6504
+ # @!method initialize(label:, score:, flagged: nil, manual: nil, matches: nil, shadow_flagged: nil)
6505
+ # Some parameter documentations has been truncated, see
6506
+ # {ModerationAPI::Models::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label}
6507
+ # for more details.
6508
+ #
6417
6509
  # @param label [String] The label name
6418
6510
  #
6419
6511
  # @param score [Float] Confidence score between 0 and 1
@@ -6423,6 +6515,8 @@ module ModerationAPI
6423
6515
  # @param manual [Boolean] True if the label was applied manually by a moderator
6424
6516
  #
6425
6517
  # @param matches [Array<ModerationAPI::Models::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match>]
6518
+ #
6519
+ # @param shadow_flagged [Boolean] Whether this label crossed its threshold under a shadowed policy — reported for
6426
6520
 
6427
6521
  class Match < ModerationAPI::Internal::Type::BaseModel
6428
6522
  # @!attribute match
@@ -6458,13 +6552,23 @@ module ModerationAPI
6458
6552
  # @return [Array<String>, nil]
6459
6553
  optional :reasons, ModerationAPI::Internal::Type::ArrayOf[String]
6460
6554
 
6555
+ # @!attribute scripts
6556
+ #
6557
+ # @return [Array<String>, nil]
6558
+ optional :scripts, ModerationAPI::Internal::Type::ArrayOf[String]
6559
+
6461
6560
  # @!attribute signals
6462
6561
  #
6463
6562
  # @return [ModerationAPI::Models::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match::Signals, nil]
6464
6563
  optional :signals,
6465
6564
  -> { ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match::Signals }
6466
6565
 
6467
- # @!method initialize(match:, probability:, span:, entity_type: nil, mask: nil, reasons: nil, signals: nil)
6566
+ # @!attribute skeleton
6567
+ #
6568
+ # @return [String, nil]
6569
+ optional :skeleton, String
6570
+
6571
+ # @!method initialize(match:, probability:, span:, entity_type: nil, mask: nil, reasons: nil, scripts: nil, signals: nil, skeleton: nil)
6468
6572
  # @param match [String] The matched substring
6469
6573
  #
6470
6574
  # @param probability [Float] Match confidence between 0 and 1
@@ -6477,7 +6581,11 @@ module ModerationAPI
6477
6581
  #
6478
6582
  # @param reasons [Array<String>]
6479
6583
  #
6584
+ # @param scripts [Array<String>]
6585
+ #
6480
6586
  # @param signals [ModerationAPI::Models::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match::Signals]
6587
+ #
6588
+ # @param skeleton [String]
6481
6589
 
6482
6590
  # @see ModerationAPI::Models::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match#signals
6483
6591
  class Signals < ModerationAPI::Internal::Type::BaseModel
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ModerationAPI
4
- VERSION = "2.27.0"
4
+ VERSION = "2.29.0"
5
5
  end
@@ -1208,19 +1208,31 @@ module ModerationAPI
1208
1208
  sig { returns(Float) }
1209
1209
  attr_accessor :probability
1210
1210
 
1211
+ sig { returns(T.nilable(T::Boolean)) }
1212
+ attr_reader :shadow_flagged
1213
+
1214
+ sig { params(shadow_flagged: T::Boolean).void }
1215
+ attr_writer :shadow_flagged
1216
+
1211
1217
  sig do
1212
1218
  params(
1213
1219
  id: String,
1214
1220
  flagged: T::Boolean,
1215
- probability: Float
1221
+ probability: Float,
1222
+ shadow_flagged: T::Boolean
1216
1223
  ).returns(T.attached_class)
1217
1224
  end
1218
- def self.new(id:, flagged:, probability:)
1225
+ def self.new(id:, flagged:, probability:, shadow_flagged: nil)
1219
1226
  end
1220
1227
 
1221
1228
  sig do
1222
1229
  override.returns(
1223
- { id: String, flagged: T::Boolean, probability: Float }
1230
+ {
1231
+ id: String,
1232
+ flagged: T::Boolean,
1233
+ probability: Float,
1234
+ shadow_flagged: T::Boolean
1235
+ }
1224
1236
  )
1225
1237
  end
1226
1238
  def to_hash
@@ -5322,6 +5322,14 @@ module ModerationAPI
5322
5322
  end
5323
5323
  attr_writer :matches
5324
5324
 
5325
+ # Whether this label crossed its threshold under a shadowed policy — reported for
5326
+ # visibility, never counted toward a flagging decision
5327
+ sig { returns(T.nilable(T::Boolean)) }
5328
+ attr_reader :shadow_flagged
5329
+
5330
+ sig { params(shadow_flagged: T::Boolean).void }
5331
+ attr_writer :shadow_flagged
5332
+
5325
5333
  sig do
5326
5334
  params(
5327
5335
  label: String,
@@ -5331,7 +5339,8 @@ module ModerationAPI
5331
5339
  matches:
5332
5340
  T::Array[
5333
5341
  ModerationAPI::WebhookEvent::QueueItemResolved::Data::Object::Item::Label::Match::OrHash
5334
- ]
5342
+ ],
5343
+ shadow_flagged: T::Boolean
5335
5344
  ).returns(T.attached_class)
5336
5345
  end
5337
5346
  def self.new(
@@ -5343,7 +5352,10 @@ module ModerationAPI
5343
5352
  flagged: nil,
5344
5353
  # True if the label was applied manually by a moderator
5345
5354
  manual: nil,
5346
- matches: nil
5355
+ matches: nil,
5356
+ # Whether this label crossed its threshold under a shadowed policy — reported for
5357
+ # visibility, never counted toward a flagging decision
5358
+ shadow_flagged: nil
5347
5359
  )
5348
5360
  end
5349
5361
 
@@ -5357,7 +5369,8 @@ module ModerationAPI
5357
5369
  matches:
5358
5370
  T::Array[
5359
5371
  ModerationAPI::WebhookEvent::QueueItemResolved::Data::Object::Item::Label::Match
5360
- ]
5372
+ ],
5373
+ shadow_flagged: T::Boolean
5361
5374
  }
5362
5375
  )
5363
5376
  end
@@ -5400,6 +5413,12 @@ module ModerationAPI
5400
5413
  sig { params(reasons: T::Array[String]).void }
5401
5414
  attr_writer :reasons
5402
5415
 
5416
+ sig { returns(T.nilable(T::Array[String])) }
5417
+ attr_reader :scripts
5418
+
5419
+ sig { params(scripts: T::Array[String]).void }
5420
+ attr_writer :scripts
5421
+
5403
5422
  sig do
5404
5423
  returns(
5405
5424
  T.nilable(
@@ -5417,6 +5436,12 @@ module ModerationAPI
5417
5436
  end
5418
5437
  attr_writer :signals
5419
5438
 
5439
+ sig { returns(T.nilable(String)) }
5440
+ attr_reader :skeleton
5441
+
5442
+ sig { params(skeleton: String).void }
5443
+ attr_writer :skeleton
5444
+
5420
5445
  sig do
5421
5446
  params(
5422
5447
  match: String,
@@ -5425,8 +5450,10 @@ module ModerationAPI
5425
5450
  entity_type: String,
5426
5451
  mask: T.nilable(String),
5427
5452
  reasons: T::Array[String],
5453
+ scripts: T::Array[String],
5428
5454
  signals:
5429
- ModerationAPI::WebhookEvent::QueueItemResolved::Data::Object::Item::Label::Match::Signals::OrHash
5455
+ ModerationAPI::WebhookEvent::QueueItemResolved::Data::Object::Item::Label::Match::Signals::OrHash,
5456
+ skeleton: String
5430
5457
  ).returns(T.attached_class)
5431
5458
  end
5432
5459
  def self.new(
@@ -5439,7 +5466,9 @@ module ModerationAPI
5439
5466
  entity_type: nil,
5440
5467
  mask: nil,
5441
5468
  reasons: nil,
5442
- signals: nil
5469
+ scripts: nil,
5470
+ signals: nil,
5471
+ skeleton: nil
5443
5472
  )
5444
5473
  end
5445
5474
 
@@ -5452,8 +5481,10 @@ module ModerationAPI
5452
5481
  entity_type: String,
5453
5482
  mask: T.nilable(String),
5454
5483
  reasons: T::Array[String],
5484
+ scripts: T::Array[String],
5455
5485
  signals:
5456
- ModerationAPI::WebhookEvent::QueueItemResolved::Data::Object::Item::Label::Match::Signals
5486
+ ModerationAPI::WebhookEvent::QueueItemResolved::Data::Object::Item::Label::Match::Signals,
5487
+ skeleton: String
5457
5488
  }
5458
5489
  )
5459
5490
  end
@@ -7806,6 +7837,14 @@ module ModerationAPI
7806
7837
  end
7807
7838
  attr_writer :matches
7808
7839
 
7840
+ # Whether this label crossed its threshold under a shadowed policy — reported for
7841
+ # visibility, never counted toward a flagging decision
7842
+ sig { returns(T.nilable(T::Boolean)) }
7843
+ attr_reader :shadow_flagged
7844
+
7845
+ sig { params(shadow_flagged: T::Boolean).void }
7846
+ attr_writer :shadow_flagged
7847
+
7809
7848
  sig do
7810
7849
  params(
7811
7850
  label: String,
@@ -7815,7 +7854,8 @@ module ModerationAPI
7815
7854
  matches:
7816
7855
  T::Array[
7817
7856
  ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match::OrHash
7818
- ]
7857
+ ],
7858
+ shadow_flagged: T::Boolean
7819
7859
  ).returns(T.attached_class)
7820
7860
  end
7821
7861
  def self.new(
@@ -7827,7 +7867,10 @@ module ModerationAPI
7827
7867
  flagged: nil,
7828
7868
  # True if the label was applied manually by a moderator
7829
7869
  manual: nil,
7830
- matches: nil
7870
+ matches: nil,
7871
+ # Whether this label crossed its threshold under a shadowed policy — reported for
7872
+ # visibility, never counted toward a flagging decision
7873
+ shadow_flagged: nil
7831
7874
  )
7832
7875
  end
7833
7876
 
@@ -7841,7 +7884,8 @@ module ModerationAPI
7841
7884
  matches:
7842
7885
  T::Array[
7843
7886
  ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match
7844
- ]
7887
+ ],
7888
+ shadow_flagged: T::Boolean
7845
7889
  }
7846
7890
  )
7847
7891
  end
@@ -7884,6 +7928,12 @@ module ModerationAPI
7884
7928
  sig { params(reasons: T::Array[String]).void }
7885
7929
  attr_writer :reasons
7886
7930
 
7931
+ sig { returns(T.nilable(T::Array[String])) }
7932
+ attr_reader :scripts
7933
+
7934
+ sig { params(scripts: T::Array[String]).void }
7935
+ attr_writer :scripts
7936
+
7887
7937
  sig do
7888
7938
  returns(
7889
7939
  T.nilable(
@@ -7901,6 +7951,12 @@ module ModerationAPI
7901
7951
  end
7902
7952
  attr_writer :signals
7903
7953
 
7954
+ sig { returns(T.nilable(String)) }
7955
+ attr_reader :skeleton
7956
+
7957
+ sig { params(skeleton: String).void }
7958
+ attr_writer :skeleton
7959
+
7904
7960
  sig do
7905
7961
  params(
7906
7962
  match: String,
@@ -7909,8 +7965,10 @@ module ModerationAPI
7909
7965
  entity_type: String,
7910
7966
  mask: T.nilable(String),
7911
7967
  reasons: T::Array[String],
7968
+ scripts: T::Array[String],
7912
7969
  signals:
7913
- ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match::Signals::OrHash
7970
+ ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match::Signals::OrHash,
7971
+ skeleton: String
7914
7972
  ).returns(T.attached_class)
7915
7973
  end
7916
7974
  def self.new(
@@ -7923,7 +7981,9 @@ module ModerationAPI
7923
7981
  entity_type: nil,
7924
7982
  mask: nil,
7925
7983
  reasons: nil,
7926
- signals: nil
7984
+ scripts: nil,
7985
+ signals: nil,
7986
+ skeleton: nil
7927
7987
  )
7928
7988
  end
7929
7989
 
@@ -7936,8 +7996,10 @@ module ModerationAPI
7936
7996
  entity_type: String,
7937
7997
  mask: T.nilable(String),
7938
7998
  reasons: T::Array[String],
7999
+ scripts: T::Array[String],
7939
8000
  signals:
7940
- ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match::Signals
8001
+ ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match::Signals,
8002
+ skeleton: String
7941
8003
  }
7942
8004
  )
7943
8005
  end
@@ -9790,6 +9852,14 @@ module ModerationAPI
9790
9852
  end
9791
9853
  attr_writer :matches
9792
9854
 
9855
+ # Whether this label crossed its threshold under a shadowed policy — reported for
9856
+ # visibility, never counted toward a flagging decision
9857
+ sig { returns(T.nilable(T::Boolean)) }
9858
+ attr_reader :shadow_flagged
9859
+
9860
+ sig { params(shadow_flagged: T::Boolean).void }
9861
+ attr_writer :shadow_flagged
9862
+
9793
9863
  sig do
9794
9864
  params(
9795
9865
  label: String,
@@ -9799,7 +9869,8 @@ module ModerationAPI
9799
9869
  matches:
9800
9870
  T::Array[
9801
9871
  ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match::OrHash
9802
- ]
9872
+ ],
9873
+ shadow_flagged: T::Boolean
9803
9874
  ).returns(T.attached_class)
9804
9875
  end
9805
9876
  def self.new(
@@ -9811,7 +9882,10 @@ module ModerationAPI
9811
9882
  flagged: nil,
9812
9883
  # True if the label was applied manually by a moderator
9813
9884
  manual: nil,
9814
- matches: nil
9885
+ matches: nil,
9886
+ # Whether this label crossed its threshold under a shadowed policy — reported for
9887
+ # visibility, never counted toward a flagging decision
9888
+ shadow_flagged: nil
9815
9889
  )
9816
9890
  end
9817
9891
 
@@ -9825,7 +9899,8 @@ module ModerationAPI
9825
9899
  matches:
9826
9900
  T::Array[
9827
9901
  ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match
9828
- ]
9902
+ ],
9903
+ shadow_flagged: T::Boolean
9829
9904
  }
9830
9905
  )
9831
9906
  end
@@ -9868,6 +9943,12 @@ module ModerationAPI
9868
9943
  sig { params(reasons: T::Array[String]).void }
9869
9944
  attr_writer :reasons
9870
9945
 
9946
+ sig { returns(T.nilable(T::Array[String])) }
9947
+ attr_reader :scripts
9948
+
9949
+ sig { params(scripts: T::Array[String]).void }
9950
+ attr_writer :scripts
9951
+
9871
9952
  sig do
9872
9953
  returns(
9873
9954
  T.nilable(
@@ -9885,6 +9966,12 @@ module ModerationAPI
9885
9966
  end
9886
9967
  attr_writer :signals
9887
9968
 
9969
+ sig { returns(T.nilable(String)) }
9970
+ attr_reader :skeleton
9971
+
9972
+ sig { params(skeleton: String).void }
9973
+ attr_writer :skeleton
9974
+
9888
9975
  sig do
9889
9976
  params(
9890
9977
  match: String,
@@ -9893,8 +9980,10 @@ module ModerationAPI
9893
9980
  entity_type: String,
9894
9981
  mask: T.nilable(String),
9895
9982
  reasons: T::Array[String],
9983
+ scripts: T::Array[String],
9896
9984
  signals:
9897
- ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match::Signals::OrHash
9985
+ ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match::Signals::OrHash,
9986
+ skeleton: String
9898
9987
  ).returns(T.attached_class)
9899
9988
  end
9900
9989
  def self.new(
@@ -9907,7 +9996,9 @@ module ModerationAPI
9907
9996
  entity_type: nil,
9908
9997
  mask: nil,
9909
9998
  reasons: nil,
9910
- signals: nil
9999
+ scripts: nil,
10000
+ signals: nil,
10001
+ skeleton: nil
9911
10002
  )
9912
10003
  end
9913
10004
 
@@ -9920,8 +10011,10 @@ module ModerationAPI
9920
10011
  entity_type: String,
9921
10012
  mask: T.nilable(String),
9922
10013
  reasons: T::Array[String],
10014
+ scripts: T::Array[String],
9923
10015
  signals:
9924
- ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match::Signals
10016
+ ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match::Signals,
10017
+ skeleton: String
9925
10018
  }
9926
10019
  )
9927
10020
  end
@@ -11772,6 +11865,14 @@ module ModerationAPI
11772
11865
  end
11773
11866
  attr_writer :matches
11774
11867
 
11868
+ # Whether this label crossed its threshold under a shadowed policy — reported for
11869
+ # visibility, never counted toward a flagging decision
11870
+ sig { returns(T.nilable(T::Boolean)) }
11871
+ attr_reader :shadow_flagged
11872
+
11873
+ sig { params(shadow_flagged: T::Boolean).void }
11874
+ attr_writer :shadow_flagged
11875
+
11775
11876
  sig do
11776
11877
  params(
11777
11878
  label: String,
@@ -11781,7 +11882,8 @@ module ModerationAPI
11781
11882
  matches:
11782
11883
  T::Array[
11783
11884
  ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match::OrHash
11784
- ]
11885
+ ],
11886
+ shadow_flagged: T::Boolean
11785
11887
  ).returns(T.attached_class)
11786
11888
  end
11787
11889
  def self.new(
@@ -11793,7 +11895,10 @@ module ModerationAPI
11793
11895
  flagged: nil,
11794
11896
  # True if the label was applied manually by a moderator
11795
11897
  manual: nil,
11796
- matches: nil
11898
+ matches: nil,
11899
+ # Whether this label crossed its threshold under a shadowed policy — reported for
11900
+ # visibility, never counted toward a flagging decision
11901
+ shadow_flagged: nil
11797
11902
  )
11798
11903
  end
11799
11904
 
@@ -11807,7 +11912,8 @@ module ModerationAPI
11807
11912
  matches:
11808
11913
  T::Array[
11809
11914
  ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match
11810
- ]
11915
+ ],
11916
+ shadow_flagged: T::Boolean
11811
11917
  }
11812
11918
  )
11813
11919
  end
@@ -11850,6 +11956,12 @@ module ModerationAPI
11850
11956
  sig { params(reasons: T::Array[String]).void }
11851
11957
  attr_writer :reasons
11852
11958
 
11959
+ sig { returns(T.nilable(T::Array[String])) }
11960
+ attr_reader :scripts
11961
+
11962
+ sig { params(scripts: T::Array[String]).void }
11963
+ attr_writer :scripts
11964
+
11853
11965
  sig do
11854
11966
  returns(
11855
11967
  T.nilable(
@@ -11867,6 +11979,12 @@ module ModerationAPI
11867
11979
  end
11868
11980
  attr_writer :signals
11869
11981
 
11982
+ sig { returns(T.nilable(String)) }
11983
+ attr_reader :skeleton
11984
+
11985
+ sig { params(skeleton: String).void }
11986
+ attr_writer :skeleton
11987
+
11870
11988
  sig do
11871
11989
  params(
11872
11990
  match: String,
@@ -11875,8 +11993,10 @@ module ModerationAPI
11875
11993
  entity_type: String,
11876
11994
  mask: T.nilable(String),
11877
11995
  reasons: T::Array[String],
11996
+ scripts: T::Array[String],
11878
11997
  signals:
11879
- ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match::Signals::OrHash
11998
+ ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match::Signals::OrHash,
11999
+ skeleton: String
11880
12000
  ).returns(T.attached_class)
11881
12001
  end
11882
12002
  def self.new(
@@ -11889,7 +12009,9 @@ module ModerationAPI
11889
12009
  entity_type: nil,
11890
12010
  mask: nil,
11891
12011
  reasons: nil,
11892
- signals: nil
12012
+ scripts: nil,
12013
+ signals: nil,
12014
+ skeleton: nil
11893
12015
  )
11894
12016
  end
11895
12017
 
@@ -11902,8 +12024,10 @@ module ModerationAPI
11902
12024
  entity_type: String,
11903
12025
  mask: T.nilable(String),
11904
12026
  reasons: T::Array[String],
12027
+ scripts: T::Array[String],
11905
12028
  signals:
11906
- ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match::Signals
12029
+ ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match::Signals,
12030
+ skeleton: String
11907
12031
  }
11908
12032
  )
11909
12033
  end
@@ -483,7 +483,13 @@ module ModerationAPI
483
483
  labels: ::Array[ModerationAPI::Models::ContentSubmitResponse::Policy::ClassifierOutput::Label]
484
484
  }
485
485
 
486
- type label = { id: String, flagged: bool, probability: Float }
486
+ type label =
487
+ {
488
+ id: String,
489
+ flagged: bool,
490
+ probability: Float,
491
+ shadow_flagged: bool
492
+ }
487
493
 
488
494
  class Label < ModerationAPI::Internal::Type::BaseModel
489
495
  attr_accessor id: String
@@ -492,13 +498,23 @@ module ModerationAPI
492
498
 
493
499
  attr_accessor probability: Float
494
500
 
501
+ attr_reader shadow_flagged: bool?
502
+
503
+ def shadow_flagged=: (bool) -> bool
504
+
495
505
  def initialize: (
496
506
  id: String,
497
507
  flagged: bool,
498
- probability: Float
508
+ probability: Float,
509
+ ?shadow_flagged: bool
499
510
  ) -> void
500
511
 
501
- def to_hash: -> { id: String, flagged: bool, probability: Float }
512
+ def to_hash: -> {
513
+ id: String,
514
+ flagged: bool,
515
+ probability: Float,
516
+ shadow_flagged: bool
517
+ }
502
518
  end
503
519
  end
504
520
 
@@ -2153,7 +2153,8 @@ module ModerationAPI
2153
2153
  score: Float,
2154
2154
  flagged: bool,
2155
2155
  manual: bool,
2156
- matches: ::Array[ModerationAPI::WebhookEvent::QueueItemResolved::Data::Object::Item::Label::Match]
2156
+ matches: ::Array[ModerationAPI::WebhookEvent::QueueItemResolved::Data::Object::Item::Label::Match],
2157
+ shadow_flagged: bool
2157
2158
  }
2158
2159
 
2159
2160
  class Label < ModerationAPI::Internal::Type::BaseModel
@@ -2175,12 +2176,17 @@ module ModerationAPI
2175
2176
  ::Array[ModerationAPI::WebhookEvent::QueueItemResolved::Data::Object::Item::Label::Match]
2176
2177
  ) -> ::Array[ModerationAPI::WebhookEvent::QueueItemResolved::Data::Object::Item::Label::Match]
2177
2178
 
2179
+ attr_reader shadow_flagged: bool?
2180
+
2181
+ def shadow_flagged=: (bool) -> bool
2182
+
2178
2183
  def initialize: (
2179
2184
  label: String,
2180
2185
  score: Float,
2181
2186
  ?flagged: bool,
2182
2187
  ?manual: bool,
2183
- ?matches: ::Array[ModerationAPI::WebhookEvent::QueueItemResolved::Data::Object::Item::Label::Match]
2188
+ ?matches: ::Array[ModerationAPI::WebhookEvent::QueueItemResolved::Data::Object::Item::Label::Match],
2189
+ ?shadow_flagged: bool
2184
2190
  ) -> void
2185
2191
 
2186
2192
  def to_hash: -> {
@@ -2188,7 +2194,8 @@ module ModerationAPI
2188
2194
  score: Float,
2189
2195
  flagged: bool,
2190
2196
  manual: bool,
2191
- matches: ::Array[ModerationAPI::WebhookEvent::QueueItemResolved::Data::Object::Item::Label::Match]
2197
+ matches: ::Array[ModerationAPI::WebhookEvent::QueueItemResolved::Data::Object::Item::Label::Match],
2198
+ shadow_flagged: bool
2192
2199
  }
2193
2200
 
2194
2201
  type match =
@@ -2199,7 +2206,9 @@ module ModerationAPI
2199
2206
  entity_type: String,
2200
2207
  mask: String?,
2201
2208
  reasons: ::Array[String],
2202
- signals: ModerationAPI::WebhookEvent::QueueItemResolved::Data::Object::Item::Label::Match::Signals
2209
+ scripts: ::Array[String],
2210
+ signals: ModerationAPI::WebhookEvent::QueueItemResolved::Data::Object::Item::Label::Match::Signals,
2211
+ skeleton: String
2203
2212
  }
2204
2213
 
2205
2214
  class Match < ModerationAPI::Internal::Type::BaseModel
@@ -2219,12 +2228,20 @@ module ModerationAPI
2219
2228
 
2220
2229
  def reasons=: (::Array[String]) -> ::Array[String]
2221
2230
 
2231
+ attr_reader scripts: ::Array[String]?
2232
+
2233
+ def scripts=: (::Array[String]) -> ::Array[String]
2234
+
2222
2235
  attr_reader signals: ModerationAPI::WebhookEvent::QueueItemResolved::Data::Object::Item::Label::Match::Signals?
2223
2236
 
2224
2237
  def signals=: (
2225
2238
  ModerationAPI::WebhookEvent::QueueItemResolved::Data::Object::Item::Label::Match::Signals
2226
2239
  ) -> ModerationAPI::WebhookEvent::QueueItemResolved::Data::Object::Item::Label::Match::Signals
2227
2240
 
2241
+ attr_reader skeleton: String?
2242
+
2243
+ def skeleton=: (String) -> String
2244
+
2228
2245
  def initialize: (
2229
2246
  match: String,
2230
2247
  probability: Float,
@@ -2232,7 +2249,9 @@ module ModerationAPI
2232
2249
  ?entity_type: String,
2233
2250
  ?mask: String?,
2234
2251
  ?reasons: ::Array[String],
2235
- ?signals: ModerationAPI::WebhookEvent::QueueItemResolved::Data::Object::Item::Label::Match::Signals
2252
+ ?scripts: ::Array[String],
2253
+ ?signals: ModerationAPI::WebhookEvent::QueueItemResolved::Data::Object::Item::Label::Match::Signals,
2254
+ ?skeleton: String
2236
2255
  ) -> void
2237
2256
 
2238
2257
  def to_hash: -> {
@@ -2242,7 +2261,9 @@ module ModerationAPI
2242
2261
  entity_type: String,
2243
2262
  mask: String?,
2244
2263
  reasons: ::Array[String],
2245
- signals: ModerationAPI::WebhookEvent::QueueItemResolved::Data::Object::Item::Label::Match::Signals
2264
+ scripts: ::Array[String],
2265
+ signals: ModerationAPI::WebhookEvent::QueueItemResolved::Data::Object::Item::Label::Match::Signals,
2266
+ skeleton: String
2246
2267
  }
2247
2268
 
2248
2269
  type signals =
@@ -3177,7 +3198,8 @@ module ModerationAPI
3177
3198
  score: Float,
3178
3199
  flagged: bool,
3179
3200
  manual: bool,
3180
- matches: ::Array[ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match]
3201
+ matches: ::Array[ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match],
3202
+ shadow_flagged: bool
3181
3203
  }
3182
3204
 
3183
3205
  class Label < ModerationAPI::Internal::Type::BaseModel
@@ -3199,12 +3221,17 @@ module ModerationAPI
3199
3221
  ::Array[ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match]
3200
3222
  ) -> ::Array[ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match]
3201
3223
 
3224
+ attr_reader shadow_flagged: bool?
3225
+
3226
+ def shadow_flagged=: (bool) -> bool
3227
+
3202
3228
  def initialize: (
3203
3229
  label: String,
3204
3230
  score: Float,
3205
3231
  ?flagged: bool,
3206
3232
  ?manual: bool,
3207
- ?matches: ::Array[ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match]
3233
+ ?matches: ::Array[ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match],
3234
+ ?shadow_flagged: bool
3208
3235
  ) -> void
3209
3236
 
3210
3237
  def to_hash: -> {
@@ -3212,7 +3239,8 @@ module ModerationAPI
3212
3239
  score: Float,
3213
3240
  flagged: bool,
3214
3241
  manual: bool,
3215
- matches: ::Array[ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match]
3242
+ matches: ::Array[ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match],
3243
+ shadow_flagged: bool
3216
3244
  }
3217
3245
 
3218
3246
  type match =
@@ -3223,7 +3251,9 @@ module ModerationAPI
3223
3251
  entity_type: String,
3224
3252
  mask: String?,
3225
3253
  reasons: ::Array[String],
3226
- signals: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match::Signals
3254
+ scripts: ::Array[String],
3255
+ signals: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match::Signals,
3256
+ skeleton: String
3227
3257
  }
3228
3258
 
3229
3259
  class Match < ModerationAPI::Internal::Type::BaseModel
@@ -3243,12 +3273,20 @@ module ModerationAPI
3243
3273
 
3244
3274
  def reasons=: (::Array[String]) -> ::Array[String]
3245
3275
 
3276
+ attr_reader scripts: ::Array[String]?
3277
+
3278
+ def scripts=: (::Array[String]) -> ::Array[String]
3279
+
3246
3280
  attr_reader signals: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match::Signals?
3247
3281
 
3248
3282
  def signals=: (
3249
3283
  ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match::Signals
3250
3284
  ) -> ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match::Signals
3251
3285
 
3286
+ attr_reader skeleton: String?
3287
+
3288
+ def skeleton=: (String) -> String
3289
+
3252
3290
  def initialize: (
3253
3291
  match: String,
3254
3292
  probability: Float,
@@ -3256,7 +3294,9 @@ module ModerationAPI
3256
3294
  ?entity_type: String,
3257
3295
  ?mask: String?,
3258
3296
  ?reasons: ::Array[String],
3259
- ?signals: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match::Signals
3297
+ ?scripts: ::Array[String],
3298
+ ?signals: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match::Signals,
3299
+ ?skeleton: String
3260
3300
  ) -> void
3261
3301
 
3262
3302
  def to_hash: -> {
@@ -3266,7 +3306,9 @@ module ModerationAPI
3266
3306
  entity_type: String,
3267
3307
  mask: String?,
3268
3308
  reasons: ::Array[String],
3269
- signals: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match::Signals
3309
+ scripts: ::Array[String],
3310
+ signals: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match::Signals,
3311
+ skeleton: String
3270
3312
  }
3271
3313
 
3272
3314
  type signals =
@@ -4006,7 +4048,8 @@ module ModerationAPI
4006
4048
  score: Float,
4007
4049
  flagged: bool,
4008
4050
  manual: bool,
4009
- matches: ::Array[ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match]
4051
+ matches: ::Array[ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match],
4052
+ shadow_flagged: bool
4010
4053
  }
4011
4054
 
4012
4055
  class Label < ModerationAPI::Internal::Type::BaseModel
@@ -4028,12 +4071,17 @@ module ModerationAPI
4028
4071
  ::Array[ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match]
4029
4072
  ) -> ::Array[ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match]
4030
4073
 
4074
+ attr_reader shadow_flagged: bool?
4075
+
4076
+ def shadow_flagged=: (bool) -> bool
4077
+
4031
4078
  def initialize: (
4032
4079
  label: String,
4033
4080
  score: Float,
4034
4081
  ?flagged: bool,
4035
4082
  ?manual: bool,
4036
- ?matches: ::Array[ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match]
4083
+ ?matches: ::Array[ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match],
4084
+ ?shadow_flagged: bool
4037
4085
  ) -> void
4038
4086
 
4039
4087
  def to_hash: -> {
@@ -4041,7 +4089,8 @@ module ModerationAPI
4041
4089
  score: Float,
4042
4090
  flagged: bool,
4043
4091
  manual: bool,
4044
- matches: ::Array[ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match]
4092
+ matches: ::Array[ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match],
4093
+ shadow_flagged: bool
4045
4094
  }
4046
4095
 
4047
4096
  type match =
@@ -4052,7 +4101,9 @@ module ModerationAPI
4052
4101
  entity_type: String,
4053
4102
  mask: String?,
4054
4103
  reasons: ::Array[String],
4055
- signals: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match::Signals
4104
+ scripts: ::Array[String],
4105
+ signals: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match::Signals,
4106
+ skeleton: String
4056
4107
  }
4057
4108
 
4058
4109
  class Match < ModerationAPI::Internal::Type::BaseModel
@@ -4072,12 +4123,20 @@ module ModerationAPI
4072
4123
 
4073
4124
  def reasons=: (::Array[String]) -> ::Array[String]
4074
4125
 
4126
+ attr_reader scripts: ::Array[String]?
4127
+
4128
+ def scripts=: (::Array[String]) -> ::Array[String]
4129
+
4075
4130
  attr_reader signals: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match::Signals?
4076
4131
 
4077
4132
  def signals=: (
4078
4133
  ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match::Signals
4079
4134
  ) -> ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match::Signals
4080
4135
 
4136
+ attr_reader skeleton: String?
4137
+
4138
+ def skeleton=: (String) -> String
4139
+
4081
4140
  def initialize: (
4082
4141
  match: String,
4083
4142
  probability: Float,
@@ -4085,7 +4144,9 @@ module ModerationAPI
4085
4144
  ?entity_type: String,
4086
4145
  ?mask: String?,
4087
4146
  ?reasons: ::Array[String],
4088
- ?signals: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match::Signals
4147
+ ?scripts: ::Array[String],
4148
+ ?signals: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match::Signals,
4149
+ ?skeleton: String
4089
4150
  ) -> void
4090
4151
 
4091
4152
  def to_hash: -> {
@@ -4095,7 +4156,9 @@ module ModerationAPI
4095
4156
  entity_type: String,
4096
4157
  mask: String?,
4097
4158
  reasons: ::Array[String],
4098
- signals: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match::Signals
4159
+ scripts: ::Array[String],
4160
+ signals: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match::Signals,
4161
+ skeleton: String
4099
4162
  }
4100
4163
 
4101
4164
  type signals =
@@ -4835,7 +4898,8 @@ module ModerationAPI
4835
4898
  score: Float,
4836
4899
  flagged: bool,
4837
4900
  manual: bool,
4838
- matches: ::Array[ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match]
4901
+ matches: ::Array[ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match],
4902
+ shadow_flagged: bool
4839
4903
  }
4840
4904
 
4841
4905
  class Label < ModerationAPI::Internal::Type::BaseModel
@@ -4857,12 +4921,17 @@ module ModerationAPI
4857
4921
  ::Array[ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match]
4858
4922
  ) -> ::Array[ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match]
4859
4923
 
4924
+ attr_reader shadow_flagged: bool?
4925
+
4926
+ def shadow_flagged=: (bool) -> bool
4927
+
4860
4928
  def initialize: (
4861
4929
  label: String,
4862
4930
  score: Float,
4863
4931
  ?flagged: bool,
4864
4932
  ?manual: bool,
4865
- ?matches: ::Array[ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match]
4933
+ ?matches: ::Array[ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match],
4934
+ ?shadow_flagged: bool
4866
4935
  ) -> void
4867
4936
 
4868
4937
  def to_hash: -> {
@@ -4870,7 +4939,8 @@ module ModerationAPI
4870
4939
  score: Float,
4871
4940
  flagged: bool,
4872
4941
  manual: bool,
4873
- matches: ::Array[ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match]
4942
+ matches: ::Array[ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match],
4943
+ shadow_flagged: bool
4874
4944
  }
4875
4945
 
4876
4946
  type match =
@@ -4881,7 +4951,9 @@ module ModerationAPI
4881
4951
  entity_type: String,
4882
4952
  mask: String?,
4883
4953
  reasons: ::Array[String],
4884
- signals: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match::Signals
4954
+ scripts: ::Array[String],
4955
+ signals: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match::Signals,
4956
+ skeleton: String
4885
4957
  }
4886
4958
 
4887
4959
  class Match < ModerationAPI::Internal::Type::BaseModel
@@ -4901,12 +4973,20 @@ module ModerationAPI
4901
4973
 
4902
4974
  def reasons=: (::Array[String]) -> ::Array[String]
4903
4975
 
4976
+ attr_reader scripts: ::Array[String]?
4977
+
4978
+ def scripts=: (::Array[String]) -> ::Array[String]
4979
+
4904
4980
  attr_reader signals: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match::Signals?
4905
4981
 
4906
4982
  def signals=: (
4907
4983
  ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match::Signals
4908
4984
  ) -> ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match::Signals
4909
4985
 
4986
+ attr_reader skeleton: String?
4987
+
4988
+ def skeleton=: (String) -> String
4989
+
4910
4990
  def initialize: (
4911
4991
  match: String,
4912
4992
  probability: Float,
@@ -4914,7 +4994,9 @@ module ModerationAPI
4914
4994
  ?entity_type: String,
4915
4995
  ?mask: String?,
4916
4996
  ?reasons: ::Array[String],
4917
- ?signals: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match::Signals
4997
+ ?scripts: ::Array[String],
4998
+ ?signals: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match::Signals,
4999
+ ?skeleton: String
4918
5000
  ) -> void
4919
5001
 
4920
5002
  def to_hash: -> {
@@ -4924,7 +5006,9 @@ module ModerationAPI
4924
5006
  entity_type: String,
4925
5007
  mask: String?,
4926
5008
  reasons: ::Array[String],
4927
- signals: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match::Signals
5009
+ scripts: ::Array[String],
5010
+ signals: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match::Signals,
5011
+ skeleton: String
4928
5012
  }
4929
5013
 
4930
5014
  type signals =
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: moderation_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.27.0
4
+ version: 2.29.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Moderation API
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-07-20 00:00:00.000000000 Z
11
+ date: 2026-07-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi