safetykit 0.28.1 → 0.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.
@@ -166,6 +166,25 @@ module SafetyKit
166
166
  sig { returns(String) }
167
167
  attr_accessor :user_id
168
168
 
169
+ # Client context observed by your backend for the user action that triggered the
170
+ # event.
171
+ sig do
172
+ returns(
173
+ T.nilable(
174
+ SafetyKit::Beta::EventCreateParams::Body::UserContactEventRequest::ClientInfo
175
+ )
176
+ )
177
+ end
178
+ attr_reader :client_info
179
+
180
+ sig do
181
+ params(
182
+ client_info:
183
+ SafetyKit::Beta::EventCreateParams::Body::UserContactEventRequest::ClientInfo::OrHash
184
+ ).void
185
+ end
186
+ attr_writer :client_info
187
+
169
188
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
170
189
  # listing text, image URLs, and similar content SafetyKit should compare or
171
190
  # analyze.
@@ -270,6 +289,8 @@ module SafetyKit
270
289
  type:
271
290
  SafetyKit::Beta::EventCreateParams::Body::UserContactEventRequest::Type::OrSymbol,
272
291
  user_id: String,
292
+ client_info:
293
+ SafetyKit::Beta::EventCreateParams::Body::UserContactEventRequest::ClientInfo::OrHash,
273
294
  content:
274
295
  T::Array[
275
296
  T.any(
@@ -302,6 +323,9 @@ module SafetyKit
302
323
  type:,
303
324
  # Your stable canonical identifier for the user or account.
304
325
  user_id:,
326
+ # Client context observed by your backend for the user action that triggered the
327
+ # event.
328
+ client_info: nil,
305
329
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
306
330
  # listing text, image URLs, and similar content SafetyKit should compare or
307
331
  # analyze.
@@ -331,6 +355,8 @@ module SafetyKit
331
355
  type:
332
356
  SafetyKit::Beta::EventCreateParams::Body::UserContactEventRequest::Type::OrSymbol,
333
357
  user_id: String,
358
+ client_info:
359
+ SafetyKit::Beta::EventCreateParams::Body::UserContactEventRequest::ClientInfo,
334
360
  content:
335
361
  T::Array[
336
362
  T.any(
@@ -384,6 +410,36 @@ module SafetyKit
384
410
  end
385
411
  end
386
412
 
413
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
414
+ OrHash =
415
+ T.type_alias do
416
+ T.any(
417
+ SafetyKit::Beta::EventCreateParams::Body::UserContactEventRequest::ClientInfo,
418
+ SafetyKit::Internal::AnyHash
419
+ )
420
+ end
421
+
422
+ # IP address observed by your backend for the client that triggered the event.
423
+ sig { returns(T.nilable(String)) }
424
+ attr_reader :ip
425
+
426
+ sig { params(ip: String).void }
427
+ attr_writer :ip
428
+
429
+ # Client context observed by your backend for the user action that triggered the
430
+ # event.
431
+ sig { params(ip: String).returns(T.attached_class) }
432
+ def self.new(
433
+ # IP address observed by your backend for the client that triggered the event.
434
+ ip: nil
435
+ )
436
+ end
437
+
438
+ sig { override.returns({ ip: String }) }
439
+ def to_hash
440
+ end
441
+ end
442
+
387
443
  # User-authored text content associated with an event.
388
444
  module Content
389
445
  extend SafetyKit::Internal::Type::Union
@@ -818,6 +874,25 @@ module SafetyKit
818
874
  sig { returns(String) }
819
875
  attr_accessor :user_id
820
876
 
877
+ # Client context observed by your backend for the user action that triggered the
878
+ # event.
879
+ sig do
880
+ returns(
881
+ T.nilable(
882
+ SafetyKit::Beta::EventCreateParams::Body::ContentUploadedEventRequest::ClientInfo
883
+ )
884
+ )
885
+ end
886
+ attr_reader :client_info
887
+
888
+ sig do
889
+ params(
890
+ client_info:
891
+ SafetyKit::Beta::EventCreateParams::Body::ContentUploadedEventRequest::ClientInfo::OrHash
892
+ ).void
893
+ end
894
+ attr_writer :client_info
895
+
821
896
  # Your stable identifier for the content involved in this event, such as a
822
897
  # message, listing, page, post, profile, or uploaded media item.
823
898
  sig { returns(T.nilable(String)) }
@@ -898,6 +973,8 @@ module SafetyKit
898
973
  type:
899
974
  SafetyKit::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Type::OrSymbol,
900
975
  user_id: String,
976
+ client_info:
977
+ SafetyKit::Beta::EventCreateParams::Body::ContentUploadedEventRequest::ClientInfo::OrHash,
901
978
  content_id: String,
902
979
  idempotency_key: String,
903
980
  metadata:
@@ -924,6 +1001,9 @@ module SafetyKit
924
1001
  type:,
925
1002
  # Your stable canonical identifier for the user or account.
926
1003
  user_id:,
1004
+ # Client context observed by your backend for the user action that triggered the
1005
+ # event.
1006
+ client_info: nil,
927
1007
  # Your stable identifier for the content involved in this event, such as a
928
1008
  # message, listing, page, post, profile, or uploaded media item.
929
1009
  content_id: nil,
@@ -955,6 +1035,8 @@ module SafetyKit
955
1035
  type:
956
1036
  SafetyKit::Beta::EventCreateParams::Body::ContentUploadedEventRequest::Type::OrSymbol,
957
1037
  user_id: String,
1038
+ client_info:
1039
+ SafetyKit::Beta::EventCreateParams::Body::ContentUploadedEventRequest::ClientInfo,
958
1040
  content_id: String,
959
1041
  idempotency_key: String,
960
1042
  metadata:
@@ -1300,6 +1382,36 @@ module SafetyKit
1300
1382
  end
1301
1383
  end
1302
1384
 
1385
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
1386
+ OrHash =
1387
+ T.type_alias do
1388
+ T.any(
1389
+ SafetyKit::Beta::EventCreateParams::Body::ContentUploadedEventRequest::ClientInfo,
1390
+ SafetyKit::Internal::AnyHash
1391
+ )
1392
+ end
1393
+
1394
+ # IP address observed by your backend for the client that triggered the event.
1395
+ sig { returns(T.nilable(String)) }
1396
+ attr_reader :ip
1397
+
1398
+ sig { params(ip: String).void }
1399
+ attr_writer :ip
1400
+
1401
+ # Client context observed by your backend for the user action that triggered the
1402
+ # event.
1403
+ sig { params(ip: String).returns(T.attached_class) }
1404
+ def self.new(
1405
+ # IP address observed by your backend for the client that triggered the event.
1406
+ ip: nil
1407
+ )
1408
+ end
1409
+
1410
+ sig { override.returns({ ip: String }) }
1411
+ def to_hash
1412
+ end
1413
+ end
1414
+
1303
1415
  module Metadata
1304
1416
  extend SafetyKit::Internal::Type::Union
1305
1417
 
@@ -1454,6 +1566,25 @@ module SafetyKit
1454
1566
  sig { returns(String) }
1455
1567
  attr_accessor :user_id
1456
1568
 
1569
+ # Client context observed by your backend for the user action that triggered the
1570
+ # event.
1571
+ sig do
1572
+ returns(
1573
+ T.nilable(
1574
+ SafetyKit::Beta::EventCreateParams::Body::ProductChangedEventRequest::ClientInfo
1575
+ )
1576
+ )
1577
+ end
1578
+ attr_reader :client_info
1579
+
1580
+ sig do
1581
+ params(
1582
+ client_info:
1583
+ SafetyKit::Beta::EventCreateParams::Body::ProductChangedEventRequest::ClientInfo::OrHash
1584
+ ).void
1585
+ end
1586
+ attr_writer :client_info
1587
+
1457
1588
  # Your stable identifier for the content involved in this event, such as a
1458
1589
  # message, listing, page, post, profile, or uploaded media item.
1459
1590
  sig { returns(T.nilable(String)) }
@@ -1537,6 +1668,8 @@ module SafetyKit
1537
1668
  type:
1538
1669
  SafetyKit::Beta::EventCreateParams::Body::ProductChangedEventRequest::Type::OrSymbol,
1539
1670
  user_id: String,
1671
+ client_info:
1672
+ SafetyKit::Beta::EventCreateParams::Body::ProductChangedEventRequest::ClientInfo::OrHash,
1540
1673
  content_id: String,
1541
1674
  idempotency_key: String,
1542
1675
  metadata:
@@ -1564,6 +1697,9 @@ module SafetyKit
1564
1697
  type:,
1565
1698
  # Your stable canonical identifier for the user or account.
1566
1699
  user_id:,
1700
+ # Client context observed by your backend for the user action that triggered the
1701
+ # event.
1702
+ client_info: nil,
1567
1703
  # Your stable identifier for the content involved in this event, such as a
1568
1704
  # message, listing, page, post, profile, or uploaded media item.
1569
1705
  content_id: nil,
@@ -1598,6 +1734,8 @@ module SafetyKit
1598
1734
  type:
1599
1735
  SafetyKit::Beta::EventCreateParams::Body::ProductChangedEventRequest::Type::OrSymbol,
1600
1736
  user_id: String,
1737
+ client_info:
1738
+ SafetyKit::Beta::EventCreateParams::Body::ProductChangedEventRequest::ClientInfo,
1601
1739
  content_id: String,
1602
1740
  idempotency_key: String,
1603
1741
  metadata:
@@ -2189,6 +2327,36 @@ module SafetyKit
2189
2327
  end
2190
2328
  end
2191
2329
 
2330
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
2331
+ OrHash =
2332
+ T.type_alias do
2333
+ T.any(
2334
+ SafetyKit::Beta::EventCreateParams::Body::ProductChangedEventRequest::ClientInfo,
2335
+ SafetyKit::Internal::AnyHash
2336
+ )
2337
+ end
2338
+
2339
+ # IP address observed by your backend for the client that triggered the event.
2340
+ sig { returns(T.nilable(String)) }
2341
+ attr_reader :ip
2342
+
2343
+ sig { params(ip: String).void }
2344
+ attr_writer :ip
2345
+
2346
+ # Client context observed by your backend for the user action that triggered the
2347
+ # event.
2348
+ sig { params(ip: String).returns(T.attached_class) }
2349
+ def self.new(
2350
+ # IP address observed by your backend for the client that triggered the event.
2351
+ ip: nil
2352
+ )
2353
+ end
2354
+
2355
+ sig { override.returns({ ip: String }) }
2356
+ def to_hash
2357
+ end
2358
+ end
2359
+
2192
2360
  module Metadata
2193
2361
  extend SafetyKit::Internal::Type::Union
2194
2362
 
@@ -2309,6 +2477,25 @@ module SafetyKit
2309
2477
  sig { returns(String) }
2310
2478
  attr_accessor :user_id
2311
2479
 
2480
+ # Client context observed by your backend for the user action that triggered the
2481
+ # event.
2482
+ sig do
2483
+ returns(
2484
+ T.nilable(
2485
+ SafetyKit::Beta::EventCreateParams::Body::CreateAccountEventRequest::ClientInfo
2486
+ )
2487
+ )
2488
+ end
2489
+ attr_reader :client_info
2490
+
2491
+ sig do
2492
+ params(
2493
+ client_info:
2494
+ SafetyKit::Beta::EventCreateParams::Body::CreateAccountEventRequest::ClientInfo::OrHash
2495
+ ).void
2496
+ end
2497
+ attr_writer :client_info
2498
+
2312
2499
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
2313
2500
  # listing text, image URLs, and similar content SafetyKit should compare or
2314
2501
  # analyze.
@@ -2412,6 +2599,8 @@ module SafetyKit
2412
2599
  type:
2413
2600
  SafetyKit::Beta::EventCreateParams::Body::CreateAccountEventRequest::Type::OrSymbol,
2414
2601
  user_id: String,
2602
+ client_info:
2603
+ SafetyKit::Beta::EventCreateParams::Body::CreateAccountEventRequest::ClientInfo::OrHash,
2415
2604
  content:
2416
2605
  T::Array[
2417
2606
  T.any(
@@ -2441,6 +2630,9 @@ module SafetyKit
2441
2630
  type:,
2442
2631
  # Your stable canonical identifier for the user or account.
2443
2632
  user_id:,
2633
+ # Client context observed by your backend for the user action that triggered the
2634
+ # event.
2635
+ client_info: nil,
2444
2636
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
2445
2637
  # listing text, image URLs, and similar content SafetyKit should compare or
2446
2638
  # analyze.
@@ -2469,6 +2661,8 @@ module SafetyKit
2469
2661
  type:
2470
2662
  SafetyKit::Beta::EventCreateParams::Body::CreateAccountEventRequest::Type::OrSymbol,
2471
2663
  user_id: String,
2664
+ client_info:
2665
+ SafetyKit::Beta::EventCreateParams::Body::CreateAccountEventRequest::ClientInfo,
2472
2666
  content:
2473
2667
  T::Array[
2474
2668
  T.any(
@@ -2522,6 +2716,36 @@ module SafetyKit
2522
2716
  end
2523
2717
  end
2524
2718
 
2719
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
2720
+ OrHash =
2721
+ T.type_alias do
2722
+ T.any(
2723
+ SafetyKit::Beta::EventCreateParams::Body::CreateAccountEventRequest::ClientInfo,
2724
+ SafetyKit::Internal::AnyHash
2725
+ )
2726
+ end
2727
+
2728
+ # IP address observed by your backend for the client that triggered the event.
2729
+ sig { returns(T.nilable(String)) }
2730
+ attr_reader :ip
2731
+
2732
+ sig { params(ip: String).void }
2733
+ attr_writer :ip
2734
+
2735
+ # Client context observed by your backend for the user action that triggered the
2736
+ # event.
2737
+ sig { params(ip: String).returns(T.attached_class) }
2738
+ def self.new(
2739
+ # IP address observed by your backend for the client that triggered the event.
2740
+ ip: nil
2741
+ )
2742
+ end
2743
+
2744
+ sig { override.returns({ ip: String }) }
2745
+ def to_hash
2746
+ end
2747
+ end
2748
+
2525
2749
  # User-authored text content associated with an event.
2526
2750
  module Content
2527
2751
  extend SafetyKit::Internal::Type::Union
@@ -2941,6 +3165,25 @@ module SafetyKit
2941
3165
  sig { returns(String) }
2942
3166
  attr_accessor :user_id
2943
3167
 
3168
+ # Client context observed by your backend for the user action that triggered the
3169
+ # event.
3170
+ sig do
3171
+ returns(
3172
+ T.nilable(
3173
+ SafetyKit::Beta::EventCreateParams::Body::UpdateAccountEventRequest::ClientInfo
3174
+ )
3175
+ )
3176
+ end
3177
+ attr_reader :client_info
3178
+
3179
+ sig do
3180
+ params(
3181
+ client_info:
3182
+ SafetyKit::Beta::EventCreateParams::Body::UpdateAccountEventRequest::ClientInfo::OrHash
3183
+ ).void
3184
+ end
3185
+ attr_writer :client_info
3186
+
2944
3187
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
2945
3188
  # listing text, image URLs, and similar content SafetyKit should compare or
2946
3189
  # analyze.
@@ -3045,6 +3288,8 @@ module SafetyKit
3045
3288
  type:
3046
3289
  SafetyKit::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Type::OrSymbol,
3047
3290
  user_id: String,
3291
+ client_info:
3292
+ SafetyKit::Beta::EventCreateParams::Body::UpdateAccountEventRequest::ClientInfo::OrHash,
3048
3293
  content:
3049
3294
  T::Array[
3050
3295
  T.any(
@@ -3074,6 +3319,9 @@ module SafetyKit
3074
3319
  type:,
3075
3320
  # Your stable canonical identifier for the user or account.
3076
3321
  user_id:,
3322
+ # Client context observed by your backend for the user action that triggered the
3323
+ # event.
3324
+ client_info: nil,
3077
3325
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
3078
3326
  # listing text, image URLs, and similar content SafetyKit should compare or
3079
3327
  # analyze.
@@ -3102,6 +3350,8 @@ module SafetyKit
3102
3350
  type:
3103
3351
  SafetyKit::Beta::EventCreateParams::Body::UpdateAccountEventRequest::Type::OrSymbol,
3104
3352
  user_id: String,
3353
+ client_info:
3354
+ SafetyKit::Beta::EventCreateParams::Body::UpdateAccountEventRequest::ClientInfo,
3105
3355
  content:
3106
3356
  T::Array[
3107
3357
  T.any(
@@ -3155,6 +3405,36 @@ module SafetyKit
3155
3405
  end
3156
3406
  end
3157
3407
 
3408
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
3409
+ OrHash =
3410
+ T.type_alias do
3411
+ T.any(
3412
+ SafetyKit::Beta::EventCreateParams::Body::UpdateAccountEventRequest::ClientInfo,
3413
+ SafetyKit::Internal::AnyHash
3414
+ )
3415
+ end
3416
+
3417
+ # IP address observed by your backend for the client that triggered the event.
3418
+ sig { returns(T.nilable(String)) }
3419
+ attr_reader :ip
3420
+
3421
+ sig { params(ip: String).void }
3422
+ attr_writer :ip
3423
+
3424
+ # Client context observed by your backend for the user action that triggered the
3425
+ # event.
3426
+ sig { params(ip: String).returns(T.attached_class) }
3427
+ def self.new(
3428
+ # IP address observed by your backend for the client that triggered the event.
3429
+ ip: nil
3430
+ )
3431
+ end
3432
+
3433
+ sig { override.returns({ ip: String }) }
3434
+ def to_hash
3435
+ end
3436
+ end
3437
+
3158
3438
  # User-authored text content associated with an event.
3159
3439
  module Content
3160
3440
  extend SafetyKit::Internal::Type::Union
@@ -3578,6 +3858,25 @@ module SafetyKit
3578
3858
  sig { returns(String) }
3579
3859
  attr_accessor :user_id
3580
3860
 
3861
+ # Client context observed by your backend for the user action that triggered the
3862
+ # event.
3863
+ sig do
3864
+ returns(
3865
+ T.nilable(
3866
+ SafetyKit::Beta::EventCreateParams::Body::UserReportEventRequest::ClientInfo
3867
+ )
3868
+ )
3869
+ end
3870
+ attr_reader :client_info
3871
+
3872
+ sig do
3873
+ params(
3874
+ client_info:
3875
+ SafetyKit::Beta::EventCreateParams::Body::UserReportEventRequest::ClientInfo::OrHash
3876
+ ).void
3877
+ end
3878
+ attr_writer :client_info
3879
+
3581
3880
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
3582
3881
  # listing text, image URLs, and similar content SafetyKit should compare or
3583
3882
  # analyze.
@@ -3699,6 +3998,8 @@ module SafetyKit
3699
3998
  type:
3700
3999
  SafetyKit::Beta::EventCreateParams::Body::UserReportEventRequest::Type::OrSymbol,
3701
4000
  user_id: String,
4001
+ client_info:
4002
+ SafetyKit::Beta::EventCreateParams::Body::UserReportEventRequest::ClientInfo::OrHash,
3702
4003
  content:
3703
4004
  T::Array[
3704
4005
  T.any(
@@ -3732,6 +4033,9 @@ module SafetyKit
3732
4033
  type:,
3733
4034
  # Your stable canonical identifier for the user or account.
3734
4035
  user_id:,
4036
+ # Client context observed by your backend for the user action that triggered the
4037
+ # event.
4038
+ client_info: nil,
3735
4039
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
3736
4040
  # listing text, image URLs, and similar content SafetyKit should compare or
3737
4041
  # analyze.
@@ -3765,6 +4069,8 @@ module SafetyKit
3765
4069
  type:
3766
4070
  SafetyKit::Beta::EventCreateParams::Body::UserReportEventRequest::Type::OrSymbol,
3767
4071
  user_id: String,
4072
+ client_info:
4073
+ SafetyKit::Beta::EventCreateParams::Body::UserReportEventRequest::ClientInfo,
3768
4074
  content:
3769
4075
  T::Array[
3770
4076
  T.any(
@@ -3820,6 +4126,36 @@ module SafetyKit
3820
4126
  end
3821
4127
  end
3822
4128
 
4129
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
4130
+ OrHash =
4131
+ T.type_alias do
4132
+ T.any(
4133
+ SafetyKit::Beta::EventCreateParams::Body::UserReportEventRequest::ClientInfo,
4134
+ SafetyKit::Internal::AnyHash
4135
+ )
4136
+ end
4137
+
4138
+ # IP address observed by your backend for the client that triggered the event.
4139
+ sig { returns(T.nilable(String)) }
4140
+ attr_reader :ip
4141
+
4142
+ sig { params(ip: String).void }
4143
+ attr_writer :ip
4144
+
4145
+ # Client context observed by your backend for the user action that triggered the
4146
+ # event.
4147
+ sig { params(ip: String).returns(T.attached_class) }
4148
+ def self.new(
4149
+ # IP address observed by your backend for the client that triggered the event.
4150
+ ip: nil
4151
+ )
4152
+ end
4153
+
4154
+ sig { override.returns({ ip: String }) }
4155
+ def to_hash
4156
+ end
4157
+ end
4158
+
3823
4159
  # User-authored text content associated with an event.
3824
4160
  module Content
3825
4161
  extend SafetyKit::Internal::Type::Union
@@ -4257,6 +4593,25 @@ module SafetyKit
4257
4593
  end
4258
4594
  attr_accessor :type
4259
4595
 
4596
+ # Client context observed by your backend for the user action that triggered the
4597
+ # event.
4598
+ sig do
4599
+ returns(
4600
+ T.nilable(
4601
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::ClientInfo
4602
+ )
4603
+ )
4604
+ end
4605
+ attr_reader :client_info
4606
+
4607
+ sig do
4608
+ params(
4609
+ client_info:
4610
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::ClientInfo::OrHash
4611
+ ).void
4612
+ end
4613
+ attr_writer :client_info
4614
+
4260
4615
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
4261
4616
  # listing text, image URLs, and similar content SafetyKit should compare or
4262
4617
  # analyze.
@@ -4379,6 +4734,8 @@ module SafetyKit
4379
4734
  timestamp: Time,
4380
4735
  type:
4381
4736
  SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Type::OrSymbol,
4737
+ client_info:
4738
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::ClientInfo::OrHash,
4382
4739
  content:
4383
4740
  T::Array[
4384
4741
  T.any(
@@ -4420,6 +4777,9 @@ module SafetyKit
4420
4777
  # The time the event occurred in your system, as an ISO 8601 datetime string.
4421
4778
  timestamp:,
4422
4779
  type:,
4780
+ # Client context observed by your backend for the user action that triggered the
4781
+ # event.
4782
+ client_info: nil,
4423
4783
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
4424
4784
  # listing text, image URLs, and similar content SafetyKit should compare or
4425
4785
  # analyze.
@@ -4455,6 +4815,8 @@ module SafetyKit
4455
4815
  timestamp: Time,
4456
4816
  type:
4457
4817
  SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::Type::OrSymbol,
4818
+ client_info:
4819
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::ClientInfo,
4458
4820
  content:
4459
4821
  T::Array[
4460
4822
  T.any(
@@ -4559,6 +4921,36 @@ module SafetyKit
4559
4921
  end
4560
4922
  end
4561
4923
 
4924
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
4925
+ OrHash =
4926
+ T.type_alias do
4927
+ T.any(
4928
+ SafetyKit::Beta::EventCreateParams::Body::ModerationDecisionEventRequest::ClientInfo,
4929
+ SafetyKit::Internal::AnyHash
4930
+ )
4931
+ end
4932
+
4933
+ # IP address observed by your backend for the client that triggered the event.
4934
+ sig { returns(T.nilable(String)) }
4935
+ attr_reader :ip
4936
+
4937
+ sig { params(ip: String).void }
4938
+ attr_writer :ip
4939
+
4940
+ # Client context observed by your backend for the user action that triggered the
4941
+ # event.
4942
+ sig { params(ip: String).returns(T.attached_class) }
4943
+ def self.new(
4944
+ # IP address observed by your backend for the client that triggered the event.
4945
+ ip: nil
4946
+ )
4947
+ end
4948
+
4949
+ sig { override.returns({ ip: String }) }
4950
+ def to_hash
4951
+ end
4952
+ end
4953
+
4562
4954
  # User-authored text content associated with an event.
4563
4955
  module Content
4564
4956
  extend SafetyKit::Internal::Type::Union
@@ -4996,6 +5388,25 @@ module SafetyKit
4996
5388
  sig { returns(String) }
4997
5389
  attr_accessor :user_id
4998
5390
 
5391
+ # Client context observed by your backend for the user action that triggered the
5392
+ # event.
5393
+ sig do
5394
+ returns(
5395
+ T.nilable(
5396
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::UserContact::ClientInfo
5397
+ )
5398
+ )
5399
+ end
5400
+ attr_reader :client_info
5401
+
5402
+ sig do
5403
+ params(
5404
+ client_info:
5405
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::UserContact::ClientInfo::OrHash
5406
+ ).void
5407
+ end
5408
+ attr_writer :client_info
5409
+
4999
5410
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
5000
5411
  # listing text, image URLs, and similar content SafetyKit should compare or
5001
5412
  # analyze.
@@ -5098,6 +5509,8 @@ module SafetyKit
5098
5509
  target_user_id: String,
5099
5510
  timestamp: Time,
5100
5511
  user_id: String,
5512
+ client_info:
5513
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::UserContact::ClientInfo::OrHash,
5101
5514
  content:
5102
5515
  T::Array[
5103
5516
  T.any(
@@ -5130,6 +5543,9 @@ module SafetyKit
5130
5543
  timestamp:,
5131
5544
  # Your stable canonical identifier for the user or account.
5132
5545
  user_id:,
5546
+ # Client context observed by your backend for the user action that triggered the
5547
+ # event.
5548
+ client_info: nil,
5133
5549
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
5134
5550
  # listing text, image URLs, and similar content SafetyKit should compare or
5135
5551
  # analyze.
@@ -5159,6 +5575,8 @@ module SafetyKit
5159
5575
  timestamp: Time,
5160
5576
  type: Symbol,
5161
5577
  user_id: String,
5578
+ client_info:
5579
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::UserContact::ClientInfo,
5162
5580
  content:
5163
5581
  T::Array[
5164
5582
  T.any(
@@ -5183,6 +5601,36 @@ module SafetyKit
5183
5601
  def to_hash
5184
5602
  end
5185
5603
 
5604
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
5605
+ OrHash =
5606
+ T.type_alias do
5607
+ T.any(
5608
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::UserContact::ClientInfo,
5609
+ SafetyKit::Internal::AnyHash
5610
+ )
5611
+ end
5612
+
5613
+ # IP address observed by your backend for the client that triggered the event.
5614
+ sig { returns(T.nilable(String)) }
5615
+ attr_reader :ip
5616
+
5617
+ sig { params(ip: String).void }
5618
+ attr_writer :ip
5619
+
5620
+ # Client context observed by your backend for the user action that triggered the
5621
+ # event.
5622
+ sig { params(ip: String).returns(T.attached_class) }
5623
+ def self.new(
5624
+ # IP address observed by your backend for the client that triggered the event.
5625
+ ip: nil
5626
+ )
5627
+ end
5628
+
5629
+ sig { override.returns({ ip: String }) }
5630
+ def to_hash
5631
+ end
5632
+ end
5633
+
5186
5634
  # User-authored text content associated with an event.
5187
5635
  module Content
5188
5636
  extend SafetyKit::Internal::Type::Union
@@ -5613,6 +6061,25 @@ module SafetyKit
5613
6061
  sig { returns(String) }
5614
6062
  attr_accessor :user_id
5615
6063
 
6064
+ # Client context observed by your backend for the user action that triggered the
6065
+ # event.
6066
+ sig do
6067
+ returns(
6068
+ T.nilable(
6069
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::ContentUploaded::ClientInfo
6070
+ )
6071
+ )
6072
+ end
6073
+ attr_reader :client_info
6074
+
6075
+ sig do
6076
+ params(
6077
+ client_info:
6078
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::ContentUploaded::ClientInfo::OrHash
6079
+ ).void
6080
+ end
6081
+ attr_writer :client_info
6082
+
5616
6083
  # Your stable identifier for the content involved in this event, such as a
5617
6084
  # message, listing, page, post, profile, or uploaded media item.
5618
6085
  sig { returns(T.nilable(String)) }
@@ -5691,6 +6158,8 @@ module SafetyKit
5691
6158
  event_name: String,
5692
6159
  timestamp: Time,
5693
6160
  user_id: String,
6161
+ client_info:
6162
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::ContentUploaded::ClientInfo::OrHash,
5694
6163
  content_id: String,
5695
6164
  idempotency_key: String,
5696
6165
  metadata:
@@ -5717,6 +6186,9 @@ module SafetyKit
5717
6186
  timestamp:,
5718
6187
  # Your stable canonical identifier for the user or account.
5719
6188
  user_id:,
6189
+ # Client context observed by your backend for the user action that triggered the
6190
+ # event.
6191
+ client_info: nil,
5720
6192
  # Your stable identifier for the content involved in this event, such as a
5721
6193
  # message, listing, page, post, profile, or uploaded media item.
5722
6194
  content_id: nil,
@@ -5748,6 +6220,8 @@ module SafetyKit
5748
6220
  timestamp: Time,
5749
6221
  type: Symbol,
5750
6222
  user_id: String,
6223
+ client_info:
6224
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::ContentUploaded::ClientInfo,
5751
6225
  content_id: String,
5752
6226
  idempotency_key: String,
5753
6227
  metadata:
@@ -6064,6 +6538,36 @@ module SafetyKit
6064
6538
  end
6065
6539
  end
6066
6540
 
6541
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
6542
+ OrHash =
6543
+ T.type_alias do
6544
+ T.any(
6545
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::ContentUploaded::ClientInfo,
6546
+ SafetyKit::Internal::AnyHash
6547
+ )
6548
+ end
6549
+
6550
+ # IP address observed by your backend for the client that triggered the event.
6551
+ sig { returns(T.nilable(String)) }
6552
+ attr_reader :ip
6553
+
6554
+ sig { params(ip: String).void }
6555
+ attr_writer :ip
6556
+
6557
+ # Client context observed by your backend for the user action that triggered the
6558
+ # event.
6559
+ sig { params(ip: String).returns(T.attached_class) }
6560
+ def self.new(
6561
+ # IP address observed by your backend for the client that triggered the event.
6562
+ ip: nil
6563
+ )
6564
+ end
6565
+
6566
+ sig { override.returns({ ip: String }) }
6567
+ def to_hash
6568
+ end
6569
+ end
6570
+
6067
6571
  module Metadata
6068
6572
  extend SafetyKit::Internal::Type::Union
6069
6573
 
@@ -6214,6 +6718,25 @@ module SafetyKit
6214
6718
  sig { returns(String) }
6215
6719
  attr_accessor :user_id
6216
6720
 
6721
+ # Client context observed by your backend for the user action that triggered the
6722
+ # event.
6723
+ sig do
6724
+ returns(
6725
+ T.nilable(
6726
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::ProductChanged::ClientInfo
6727
+ )
6728
+ )
6729
+ end
6730
+ attr_reader :client_info
6731
+
6732
+ sig do
6733
+ params(
6734
+ client_info:
6735
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::ProductChanged::ClientInfo::OrHash
6736
+ ).void
6737
+ end
6738
+ attr_writer :client_info
6739
+
6217
6740
  # Your stable identifier for the content involved in this event, such as a
6218
6741
  # message, listing, page, post, profile, or uploaded media item.
6219
6742
  sig { returns(T.nilable(String)) }
@@ -6295,6 +6818,8 @@ module SafetyKit
6295
6818
  SafetyKit::Beta::EventCreateParams::Body::UnionMember7::ProductChanged::Product::OrHash,
6296
6819
  timestamp: Time,
6297
6820
  user_id: String,
6821
+ client_info:
6822
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::ProductChanged::ClientInfo::OrHash,
6298
6823
  content_id: String,
6299
6824
  idempotency_key: String,
6300
6825
  metadata:
@@ -6322,6 +6847,9 @@ module SafetyKit
6322
6847
  timestamp:,
6323
6848
  # Your stable canonical identifier for the user or account.
6324
6849
  user_id:,
6850
+ # Client context observed by your backend for the user action that triggered the
6851
+ # event.
6852
+ client_info: nil,
6325
6853
  # Your stable identifier for the content involved in this event, such as a
6326
6854
  # message, listing, page, post, profile, or uploaded media item.
6327
6855
  content_id: nil,
@@ -6356,6 +6884,8 @@ module SafetyKit
6356
6884
  timestamp: Time,
6357
6885
  type: Symbol,
6358
6886
  user_id: String,
6887
+ client_info:
6888
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::ProductChanged::ClientInfo,
6359
6889
  content_id: String,
6360
6890
  idempotency_key: String,
6361
6891
  metadata:
@@ -6918,6 +7448,36 @@ module SafetyKit
6918
7448
  end
6919
7449
  end
6920
7450
 
7451
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
7452
+ OrHash =
7453
+ T.type_alias do
7454
+ T.any(
7455
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::ProductChanged::ClientInfo,
7456
+ SafetyKit::Internal::AnyHash
7457
+ )
7458
+ end
7459
+
7460
+ # IP address observed by your backend for the client that triggered the event.
7461
+ sig { returns(T.nilable(String)) }
7462
+ attr_reader :ip
7463
+
7464
+ sig { params(ip: String).void }
7465
+ attr_writer :ip
7466
+
7467
+ # Client context observed by your backend for the user action that triggered the
7468
+ # event.
7469
+ sig { params(ip: String).returns(T.attached_class) }
7470
+ def self.new(
7471
+ # IP address observed by your backend for the client that triggered the event.
7472
+ ip: nil
7473
+ )
7474
+ end
7475
+
7476
+ sig { override.returns({ ip: String }) }
7477
+ def to_hash
7478
+ end
7479
+ end
7480
+
6921
7481
  module Metadata
6922
7482
  extend SafetyKit::Internal::Type::Union
6923
7483
 
@@ -7034,6 +7594,25 @@ module SafetyKit
7034
7594
  sig { returns(String) }
7035
7595
  attr_accessor :user_id
7036
7596
 
7597
+ # Client context observed by your backend for the user action that triggered the
7598
+ # event.
7599
+ sig do
7600
+ returns(
7601
+ T.nilable(
7602
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::CreateAccount::ClientInfo
7603
+ )
7604
+ )
7605
+ end
7606
+ attr_reader :client_info
7607
+
7608
+ sig do
7609
+ params(
7610
+ client_info:
7611
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::CreateAccount::ClientInfo::OrHash
7612
+ ).void
7613
+ end
7614
+ attr_writer :client_info
7615
+
7037
7616
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
7038
7617
  # listing text, image URLs, and similar content SafetyKit should compare or
7039
7618
  # analyze.
@@ -7135,6 +7714,8 @@ module SafetyKit
7135
7714
  event_name: String,
7136
7715
  timestamp: Time,
7137
7716
  user_id: String,
7717
+ client_info:
7718
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::CreateAccount::ClientInfo::OrHash,
7138
7719
  content:
7139
7720
  T::Array[
7140
7721
  T.any(
@@ -7164,6 +7745,9 @@ module SafetyKit
7164
7745
  timestamp:,
7165
7746
  # Your stable canonical identifier for the user or account.
7166
7747
  user_id:,
7748
+ # Client context observed by your backend for the user action that triggered the
7749
+ # event.
7750
+ client_info: nil,
7167
7751
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
7168
7752
  # listing text, image URLs, and similar content SafetyKit should compare or
7169
7753
  # analyze.
@@ -7192,6 +7776,8 @@ module SafetyKit
7192
7776
  timestamp: Time,
7193
7777
  type: Symbol,
7194
7778
  user_id: String,
7779
+ client_info:
7780
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::CreateAccount::ClientInfo,
7195
7781
  content:
7196
7782
  T::Array[
7197
7783
  T.any(
@@ -7216,6 +7802,36 @@ module SafetyKit
7216
7802
  def to_hash
7217
7803
  end
7218
7804
 
7805
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
7806
+ OrHash =
7807
+ T.type_alias do
7808
+ T.any(
7809
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::CreateAccount::ClientInfo,
7810
+ SafetyKit::Internal::AnyHash
7811
+ )
7812
+ end
7813
+
7814
+ # IP address observed by your backend for the client that triggered the event.
7815
+ sig { returns(T.nilable(String)) }
7816
+ attr_reader :ip
7817
+
7818
+ sig { params(ip: String).void }
7819
+ attr_writer :ip
7820
+
7821
+ # Client context observed by your backend for the user action that triggered the
7822
+ # event.
7823
+ sig { params(ip: String).returns(T.attached_class) }
7824
+ def self.new(
7825
+ # IP address observed by your backend for the client that triggered the event.
7826
+ ip: nil
7827
+ )
7828
+ end
7829
+
7830
+ sig { override.returns({ ip: String }) }
7831
+ def to_hash
7832
+ end
7833
+ end
7834
+
7219
7835
  # User-authored text content associated with an event.
7220
7836
  module Content
7221
7837
  extend SafetyKit::Internal::Type::Union
@@ -7631,6 +8247,25 @@ module SafetyKit
7631
8247
  sig { returns(String) }
7632
8248
  attr_accessor :user_id
7633
8249
 
8250
+ # Client context observed by your backend for the user action that triggered the
8251
+ # event.
8252
+ sig do
8253
+ returns(
8254
+ T.nilable(
8255
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::UpdateAccount::ClientInfo
8256
+ )
8257
+ )
8258
+ end
8259
+ attr_reader :client_info
8260
+
8261
+ sig do
8262
+ params(
8263
+ client_info:
8264
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::UpdateAccount::ClientInfo::OrHash
8265
+ ).void
8266
+ end
8267
+ attr_writer :client_info
8268
+
7634
8269
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
7635
8270
  # listing text, image URLs, and similar content SafetyKit should compare or
7636
8271
  # analyze.
@@ -7733,6 +8368,8 @@ module SafetyKit
7733
8368
  event_name: String,
7734
8369
  timestamp: Time,
7735
8370
  user_id: String,
8371
+ client_info:
8372
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::UpdateAccount::ClientInfo::OrHash,
7736
8373
  content:
7737
8374
  T::Array[
7738
8375
  T.any(
@@ -7762,6 +8399,9 @@ module SafetyKit
7762
8399
  timestamp:,
7763
8400
  # Your stable canonical identifier for the user or account.
7764
8401
  user_id:,
8402
+ # Client context observed by your backend for the user action that triggered the
8403
+ # event.
8404
+ client_info: nil,
7765
8405
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
7766
8406
  # listing text, image URLs, and similar content SafetyKit should compare or
7767
8407
  # analyze.
@@ -7790,6 +8430,8 @@ module SafetyKit
7790
8430
  timestamp: Time,
7791
8431
  type: Symbol,
7792
8432
  user_id: String,
8433
+ client_info:
8434
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::UpdateAccount::ClientInfo,
7793
8435
  content:
7794
8436
  T::Array[
7795
8437
  T.any(
@@ -7814,6 +8456,36 @@ module SafetyKit
7814
8456
  def to_hash
7815
8457
  end
7816
8458
 
8459
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
8460
+ OrHash =
8461
+ T.type_alias do
8462
+ T.any(
8463
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::UpdateAccount::ClientInfo,
8464
+ SafetyKit::Internal::AnyHash
8465
+ )
8466
+ end
8467
+
8468
+ # IP address observed by your backend for the client that triggered the event.
8469
+ sig { returns(T.nilable(String)) }
8470
+ attr_reader :ip
8471
+
8472
+ sig { params(ip: String).void }
8473
+ attr_writer :ip
8474
+
8475
+ # Client context observed by your backend for the user action that triggered the
8476
+ # event.
8477
+ sig { params(ip: String).returns(T.attached_class) }
8478
+ def self.new(
8479
+ # IP address observed by your backend for the client that triggered the event.
8480
+ ip: nil
8481
+ )
8482
+ end
8483
+
8484
+ sig { override.returns({ ip: String }) }
8485
+ def to_hash
8486
+ end
8487
+ end
8488
+
7817
8489
  # User-authored text content associated with an event.
7818
8490
  module Content
7819
8491
  extend SafetyKit::Internal::Type::Union
@@ -8233,6 +8905,25 @@ module SafetyKit
8233
8905
  sig { returns(String) }
8234
8906
  attr_accessor :user_id
8235
8907
 
8908
+ # Client context observed by your backend for the user action that triggered the
8909
+ # event.
8910
+ sig do
8911
+ returns(
8912
+ T.nilable(
8913
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::UserReport::ClientInfo
8914
+ )
8915
+ )
8916
+ end
8917
+ attr_reader :client_info
8918
+
8919
+ sig do
8920
+ params(
8921
+ client_info:
8922
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::UserReport::ClientInfo::OrHash
8923
+ ).void
8924
+ end
8925
+ attr_writer :client_info
8926
+
8236
8927
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
8237
8928
  # listing text, image URLs, and similar content SafetyKit should compare or
8238
8929
  # analyze.
@@ -8352,6 +9043,8 @@ module SafetyKit
8352
9043
  labels: T::Array[String],
8353
9044
  timestamp: Time,
8354
9045
  user_id: String,
9046
+ client_info:
9047
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::UserReport::ClientInfo::OrHash,
8355
9048
  content:
8356
9049
  T::Array[
8357
9050
  T.any(
@@ -8385,6 +9078,9 @@ module SafetyKit
8385
9078
  timestamp:,
8386
9079
  # Your stable canonical identifier for the user or account.
8387
9080
  user_id:,
9081
+ # Client context observed by your backend for the user action that triggered the
9082
+ # event.
9083
+ client_info: nil,
8388
9084
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
8389
9085
  # listing text, image URLs, and similar content SafetyKit should compare or
8390
9086
  # analyze.
@@ -8418,6 +9114,8 @@ module SafetyKit
8418
9114
  timestamp: Time,
8419
9115
  type: Symbol,
8420
9116
  user_id: String,
9117
+ client_info:
9118
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::UserReport::ClientInfo,
8421
9119
  content:
8422
9120
  T::Array[
8423
9121
  T.any(
@@ -8444,6 +9142,36 @@ module SafetyKit
8444
9142
  def to_hash
8445
9143
  end
8446
9144
 
9145
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
9146
+ OrHash =
9147
+ T.type_alias do
9148
+ T.any(
9149
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::UserReport::ClientInfo,
9150
+ SafetyKit::Internal::AnyHash
9151
+ )
9152
+ end
9153
+
9154
+ # IP address observed by your backend for the client that triggered the event.
9155
+ sig { returns(T.nilable(String)) }
9156
+ attr_reader :ip
9157
+
9158
+ sig { params(ip: String).void }
9159
+ attr_writer :ip
9160
+
9161
+ # Client context observed by your backend for the user action that triggered the
9162
+ # event.
9163
+ sig { params(ip: String).returns(T.attached_class) }
9164
+ def self.new(
9165
+ # IP address observed by your backend for the client that triggered the event.
9166
+ ip: nil
9167
+ )
9168
+ end
9169
+
9170
+ sig { override.returns({ ip: String }) }
9171
+ def to_hash
9172
+ end
9173
+ end
9174
+
8447
9175
  # User-authored text content associated with an event.
8448
9176
  module Content
8449
9177
  extend SafetyKit::Internal::Type::Union
@@ -8877,6 +9605,25 @@ module SafetyKit
8877
9605
  sig { returns(Symbol) }
8878
9606
  attr_accessor :type
8879
9607
 
9608
+ # Client context observed by your backend for the user action that triggered the
9609
+ # event.
9610
+ sig do
9611
+ returns(
9612
+ T.nilable(
9613
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::ModerationDecision::ClientInfo
9614
+ )
9615
+ )
9616
+ end
9617
+ attr_reader :client_info
9618
+
9619
+ sig do
9620
+ params(
9621
+ client_info:
9622
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::ModerationDecision::ClientInfo::OrHash
9623
+ ).void
9624
+ end
9625
+ attr_writer :client_info
9626
+
8880
9627
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
8881
9628
  # listing text, image URLs, and similar content SafetyKit should compare or
8882
9629
  # analyze.
@@ -8997,6 +9744,8 @@ module SafetyKit
8997
9744
  source_type:
8998
9745
  SafetyKit::Beta::EventCreateParams::Body::UnionMember7::ModerationDecision::SourceType::OrSymbol,
8999
9746
  timestamp: Time,
9747
+ client_info:
9748
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::ModerationDecision::ClientInfo::OrHash,
9000
9749
  content:
9001
9750
  T::Array[
9002
9751
  T.any(
@@ -9038,6 +9787,9 @@ module SafetyKit
9038
9787
  source_type:,
9039
9788
  # The time the event occurred in your system, as an ISO 8601 datetime string.
9040
9789
  timestamp:,
9790
+ # Client context observed by your backend for the user action that triggered the
9791
+ # event.
9792
+ client_info: nil,
9041
9793
  # User-authored or user-uploaded content parts. Use this for message bodies, bios,
9042
9794
  # listing text, image URLs, and similar content SafetyKit should compare or
9043
9795
  # analyze.
@@ -9073,6 +9825,8 @@ module SafetyKit
9073
9825
  SafetyKit::Beta::EventCreateParams::Body::UnionMember7::ModerationDecision::SourceType::OrSymbol,
9074
9826
  timestamp: Time,
9075
9827
  type: Symbol,
9828
+ client_info:
9829
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::ModerationDecision::ClientInfo,
9076
9830
  content:
9077
9831
  T::Array[
9078
9832
  T.any(
@@ -9148,6 +9902,36 @@ module SafetyKit
9148
9902
  end
9149
9903
  end
9150
9904
 
9905
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
9906
+ OrHash =
9907
+ T.type_alias do
9908
+ T.any(
9909
+ SafetyKit::Beta::EventCreateParams::Body::UnionMember7::ModerationDecision::ClientInfo,
9910
+ SafetyKit::Internal::AnyHash
9911
+ )
9912
+ end
9913
+
9914
+ # IP address observed by your backend for the client that triggered the event.
9915
+ sig { returns(T.nilable(String)) }
9916
+ attr_reader :ip
9917
+
9918
+ sig { params(ip: String).void }
9919
+ attr_writer :ip
9920
+
9921
+ # Client context observed by your backend for the user action that triggered the
9922
+ # event.
9923
+ sig { params(ip: String).returns(T.attached_class) }
9924
+ def self.new(
9925
+ # IP address observed by your backend for the client that triggered the event.
9926
+ ip: nil
9927
+ )
9928
+ end
9929
+
9930
+ sig { override.returns({ ip: String }) }
9931
+ def to_hash
9932
+ end
9933
+ end
9934
+
9151
9935
  # User-authored text content associated with an event.
9152
9936
  module Content
9153
9937
  extend SafetyKit::Internal::Type::Union