safetykit 0.31.0 → 0.32.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.
@@ -253,13 +253,16 @@ module SafetyKit
253
253
  attr_writer :metadata
254
254
 
255
255
  # Reusable resources observed during the event. Use this for emails, phone
256
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
257
- # identifiers.
256
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
257
+ # caller-defined ids, or similar identifiers.
258
258
  sig do
259
259
  returns(
260
260
  T.nilable(
261
261
  T::Array[
262
- SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed
262
+ T.any(
263
+ SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::EntityIDResource,
264
+ SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::UnionMember1
265
+ )
263
266
  ]
264
267
  )
265
268
  )
@@ -270,7 +273,10 @@ module SafetyKit
270
273
  params(
271
274
  resources_used:
272
275
  T::Array[
273
- SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::OrHash
276
+ T.any(
277
+ SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::EntityIDResource::OrHash,
278
+ SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::UnionMember1::OrHash
279
+ )
274
280
  ]
275
281
  ).void
276
282
  end
@@ -303,7 +309,10 @@ module SafetyKit
303
309
  ],
304
310
  resources_used:
305
311
  T::Array[
306
- SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::OrHash
312
+ T.any(
313
+ SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::EntityIDResource::OrHash,
314
+ SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::UnionMember1::OrHash
315
+ )
307
316
  ]
308
317
  ).returns(T.attached_class)
309
318
  end
@@ -336,8 +345,8 @@ module SafetyKit
336
345
  # be strings, numbers, booleans, or arrays of those scalar values.
337
346
  metadata: nil,
338
347
  # Reusable resources observed during the event. Use this for emails, phone
339
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
340
- # identifiers.
348
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
349
+ # caller-defined ids, or similar identifiers.
341
350
  resources_used: nil
342
351
  )
343
352
  end
@@ -369,7 +378,10 @@ module SafetyKit
369
378
  ],
370
379
  resources_used:
371
380
  T::Array[
372
- SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed
381
+ T.any(
382
+ SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::EntityIDResource,
383
+ SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::UnionMember1
384
+ )
373
385
  ]
374
386
  }
375
387
  )
@@ -786,42 +798,160 @@ module SafetyKit
786
798
  )
787
799
  end
788
800
 
789
- class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
790
- OrHash =
801
+ # Real-world, account, social, or caller-defined resource used during the event.
802
+ module ResourcesUsed
803
+ extend SafetyKit::Internal::Type::Union
804
+
805
+ Variants =
791
806
  T.type_alias do
792
807
  T.any(
793
- SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed,
794
- SafetyKit::Internal::AnyHash
808
+ SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::EntityIDResource,
809
+ SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::UnionMember1
795
810
  )
796
811
  end
797
812
 
798
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
799
- # youtube, linkedin, or another stable snake_case identifier.
800
- sig { returns(String) }
801
- attr_accessor :type
813
+ class EntityIDResource < SafetyKit::Internal::Type::BaseModel
814
+ OrHash =
815
+ T.type_alias do
816
+ T.any(
817
+ SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::EntityIDResource,
818
+ SafetyKit::Internal::AnyHash
819
+ )
820
+ end
802
821
 
803
- # Resource value used during the event. SafetyKit stores a normalized hash of this
804
- # value, not the raw value. When type is url, this must be a valid URL.
805
- sig { returns(String) }
806
- attr_accessor :value
822
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
823
+ # urlEncode(namespace) + '/' + urlEncode(value).
824
+ sig { returns(String) }
825
+ attr_accessor :namespace
807
826
 
808
- # Real-world or account resource used during the event, such as an email, phone
809
- # number, address, URL, social handle, or payment identifier.
810
- sig do
811
- params(type: String, value: String).returns(T.attached_class)
827
+ # Caller-defined entity identifier resource.
828
+ sig do
829
+ returns(
830
+ SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::EntityIDResource::Type::OrSymbol
831
+ )
832
+ end
833
+ attr_accessor :type
834
+
835
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
836
+ # encoded namespace/value pair, not the raw value.
837
+ sig { returns(String) }
838
+ attr_accessor :value
839
+
840
+ # Caller-defined stable entity identifier resource. This is equivalent to an id
841
+ # resource value of urlEncode(namespace) + '/' + urlEncode(value).
842
+ sig do
843
+ params(
844
+ namespace: String,
845
+ type:
846
+ SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::EntityIDResource::Type::OrSymbol,
847
+ value: String
848
+ ).returns(T.attached_class)
849
+ end
850
+ def self.new(
851
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
852
+ # urlEncode(namespace) + '/' + urlEncode(value).
853
+ namespace:,
854
+ # Caller-defined entity identifier resource.
855
+ type:,
856
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
857
+ # encoded namespace/value pair, not the raw value.
858
+ value:
859
+ )
860
+ end
861
+
862
+ sig do
863
+ override.returns(
864
+ {
865
+ namespace: String,
866
+ type:
867
+ SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::EntityIDResource::Type::OrSymbol,
868
+ value: String
869
+ }
870
+ )
871
+ end
872
+ def to_hash
873
+ end
874
+
875
+ # Caller-defined entity identifier resource.
876
+ module Type
877
+ extend SafetyKit::Internal::Type::Enum
878
+
879
+ TaggedSymbol =
880
+ T.type_alias do
881
+ T.all(
882
+ Symbol,
883
+ SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::EntityIDResource::Type
884
+ )
885
+ end
886
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
887
+
888
+ ID =
889
+ T.let(
890
+ :id,
891
+ SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::EntityIDResource::Type::TaggedSymbol
892
+ )
893
+
894
+ sig do
895
+ override.returns(
896
+ T::Array[
897
+ SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::EntityIDResource::Type::TaggedSymbol
898
+ ]
899
+ )
900
+ end
901
+ def self.values
902
+ end
903
+ end
812
904
  end
813
- def self.new(
814
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
815
- # youtube, linkedin, or another stable snake_case identifier.
816
- type:,
905
+
906
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
907
+ OrHash =
908
+ T.type_alias do
909
+ T.any(
910
+ SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::UnionMember1,
911
+ SafetyKit::Internal::AnyHash
912
+ )
913
+ end
914
+
915
+ # Resource family, such as email, phone, name, address, url, social handles,
916
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
917
+ # resource shape when the value belongs to a caller-defined namespace.
918
+ sig { returns(String) }
919
+ attr_accessor :type
920
+
817
921
  # Resource value used during the event. SafetyKit stores a normalized hash of this
818
922
  # value, not the raw value. When type is url, this must be a valid URL.
819
- value:
820
- )
923
+ sig { returns(String) }
924
+ attr_accessor :value
925
+
926
+ # Real-world or account resource used during the event, such as an email, phone
927
+ # number, address, URL, social handle, or payment identifier.
928
+ sig do
929
+ params(type: String, value: String).returns(T.attached_class)
930
+ end
931
+ def self.new(
932
+ # Resource family, such as email, phone, name, address, url, social handles,
933
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
934
+ # resource shape when the value belongs to a caller-defined namespace.
935
+ type:,
936
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
937
+ # value, not the raw value. When type is url, this must be a valid URL.
938
+ value:
939
+ )
940
+ end
941
+
942
+ sig { override.returns({ type: String, value: String }) }
943
+ def to_hash
944
+ end
821
945
  end
822
946
 
823
- sig { override.returns({ type: String, value: String }) }
824
- def to_hash
947
+ sig do
948
+ override.returns(
949
+ T::Array[
950
+ SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed::Variants
951
+ ]
952
+ )
953
+ end
954
+ def self.variants
825
955
  end
826
956
  end
827
957
  end
@@ -931,13 +1061,16 @@ module SafetyKit
931
1061
  attr_writer :metadata
932
1062
 
933
1063
  # Reusable resources observed during the event. Use this for emails, phone
934
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
935
- # identifiers.
1064
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
1065
+ # caller-defined ids, or similar identifiers.
936
1066
  sig do
937
1067
  returns(
938
1068
  T.nilable(
939
1069
  T::Array[
940
- SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed
1070
+ T.any(
1071
+ SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::EntityIDResource,
1072
+ SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::UnionMember1
1073
+ )
941
1074
  ]
942
1075
  )
943
1076
  )
@@ -948,7 +1081,10 @@ module SafetyKit
948
1081
  params(
949
1082
  resources_used:
950
1083
  T::Array[
951
- SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::OrHash
1084
+ T.any(
1085
+ SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::EntityIDResource::OrHash,
1086
+ SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::UnionMember1::OrHash
1087
+ )
952
1088
  ]
953
1089
  ).void
954
1090
  end
@@ -980,7 +1116,10 @@ module SafetyKit
980
1116
  ],
981
1117
  resources_used:
982
1118
  T::Array[
983
- SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::OrHash
1119
+ T.any(
1120
+ SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::EntityIDResource::OrHash,
1121
+ SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::UnionMember1::OrHash
1122
+ )
984
1123
  ]
985
1124
  ).returns(T.attached_class)
986
1125
  end
@@ -1010,8 +1149,8 @@ module SafetyKit
1010
1149
  # be strings, numbers, booleans, or arrays of those scalar values.
1011
1150
  metadata: nil,
1012
1151
  # Reusable resources observed during the event. Use this for emails, phone
1013
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
1014
- # identifiers.
1152
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
1153
+ # caller-defined ids, or similar identifiers.
1015
1154
  resources_used: nil
1016
1155
  )
1017
1156
  end
@@ -1042,7 +1181,10 @@ module SafetyKit
1042
1181
  ],
1043
1182
  resources_used:
1044
1183
  T::Array[
1045
- SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed
1184
+ T.any(
1185
+ SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::EntityIDResource,
1186
+ SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::UnionMember1
1187
+ )
1046
1188
  ]
1047
1189
  }
1048
1190
  )
@@ -1459,42 +1601,160 @@ module SafetyKit
1459
1601
  )
1460
1602
  end
1461
1603
 
1462
- class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
1463
- OrHash =
1604
+ # Real-world, account, social, or caller-defined resource used during the event.
1605
+ module ResourcesUsed
1606
+ extend SafetyKit::Internal::Type::Union
1607
+
1608
+ Variants =
1464
1609
  T.type_alias do
1465
1610
  T.any(
1466
- SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed,
1467
- SafetyKit::Internal::AnyHash
1611
+ SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::EntityIDResource,
1612
+ SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::UnionMember1
1468
1613
  )
1469
1614
  end
1470
1615
 
1471
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
1472
- # youtube, linkedin, or another stable snake_case identifier.
1473
- sig { returns(String) }
1474
- attr_accessor :type
1616
+ class EntityIDResource < SafetyKit::Internal::Type::BaseModel
1617
+ OrHash =
1618
+ T.type_alias do
1619
+ T.any(
1620
+ SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::EntityIDResource,
1621
+ SafetyKit::Internal::AnyHash
1622
+ )
1623
+ end
1475
1624
 
1476
- # Resource value used during the event. SafetyKit stores a normalized hash of this
1477
- # value, not the raw value. When type is url, this must be a valid URL.
1478
- sig { returns(String) }
1479
- attr_accessor :value
1625
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
1626
+ # urlEncode(namespace) + '/' + urlEncode(value).
1627
+ sig { returns(String) }
1628
+ attr_accessor :namespace
1480
1629
 
1481
- # Real-world or account resource used during the event, such as an email, phone
1482
- # number, address, URL, social handle, or payment identifier.
1483
- sig do
1484
- params(type: String, value: String).returns(T.attached_class)
1630
+ # Caller-defined entity identifier resource.
1631
+ sig do
1632
+ returns(
1633
+ SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::EntityIDResource::Type::OrSymbol
1634
+ )
1635
+ end
1636
+ attr_accessor :type
1637
+
1638
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
1639
+ # encoded namespace/value pair, not the raw value.
1640
+ sig { returns(String) }
1641
+ attr_accessor :value
1642
+
1643
+ # Caller-defined stable entity identifier resource. This is equivalent to an id
1644
+ # resource value of urlEncode(namespace) + '/' + urlEncode(value).
1645
+ sig do
1646
+ params(
1647
+ namespace: String,
1648
+ type:
1649
+ SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::EntityIDResource::Type::OrSymbol,
1650
+ value: String
1651
+ ).returns(T.attached_class)
1652
+ end
1653
+ def self.new(
1654
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
1655
+ # urlEncode(namespace) + '/' + urlEncode(value).
1656
+ namespace:,
1657
+ # Caller-defined entity identifier resource.
1658
+ type:,
1659
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
1660
+ # encoded namespace/value pair, not the raw value.
1661
+ value:
1662
+ )
1663
+ end
1664
+
1665
+ sig do
1666
+ override.returns(
1667
+ {
1668
+ namespace: String,
1669
+ type:
1670
+ SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::EntityIDResource::Type::OrSymbol,
1671
+ value: String
1672
+ }
1673
+ )
1674
+ end
1675
+ def to_hash
1676
+ end
1677
+
1678
+ # Caller-defined entity identifier resource.
1679
+ module Type
1680
+ extend SafetyKit::Internal::Type::Enum
1681
+
1682
+ TaggedSymbol =
1683
+ T.type_alias do
1684
+ T.all(
1685
+ Symbol,
1686
+ SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::EntityIDResource::Type
1687
+ )
1688
+ end
1689
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1690
+
1691
+ ID =
1692
+ T.let(
1693
+ :id,
1694
+ SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::EntityIDResource::Type::TaggedSymbol
1695
+ )
1696
+
1697
+ sig do
1698
+ override.returns(
1699
+ T::Array[
1700
+ SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::EntityIDResource::Type::TaggedSymbol
1701
+ ]
1702
+ )
1703
+ end
1704
+ def self.values
1705
+ end
1706
+ end
1485
1707
  end
1486
- def self.new(
1487
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
1488
- # youtube, linkedin, or another stable snake_case identifier.
1489
- type:,
1708
+
1709
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
1710
+ OrHash =
1711
+ T.type_alias do
1712
+ T.any(
1713
+ SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::UnionMember1,
1714
+ SafetyKit::Internal::AnyHash
1715
+ )
1716
+ end
1717
+
1718
+ # Resource family, such as email, phone, name, address, url, social handles,
1719
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
1720
+ # resource shape when the value belongs to a caller-defined namespace.
1721
+ sig { returns(String) }
1722
+ attr_accessor :type
1723
+
1490
1724
  # Resource value used during the event. SafetyKit stores a normalized hash of this
1491
1725
  # value, not the raw value. When type is url, this must be a valid URL.
1492
- value:
1493
- )
1726
+ sig { returns(String) }
1727
+ attr_accessor :value
1728
+
1729
+ # Real-world or account resource used during the event, such as an email, phone
1730
+ # number, address, URL, social handle, or payment identifier.
1731
+ sig do
1732
+ params(type: String, value: String).returns(T.attached_class)
1733
+ end
1734
+ def self.new(
1735
+ # Resource family, such as email, phone, name, address, url, social handles,
1736
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
1737
+ # resource shape when the value belongs to a caller-defined namespace.
1738
+ type:,
1739
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
1740
+ # value, not the raw value. When type is url, this must be a valid URL.
1741
+ value:
1742
+ )
1743
+ end
1744
+
1745
+ sig { override.returns({ type: String, value: String }) }
1746
+ def to_hash
1747
+ end
1494
1748
  end
1495
1749
 
1496
- sig { override.returns({ type: String, value: String }) }
1497
- def to_hash
1750
+ sig do
1751
+ override.returns(
1752
+ T::Array[
1753
+ SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed::Variants
1754
+ ]
1755
+ )
1756
+ end
1757
+ def self.variants
1498
1758
  end
1499
1759
  end
1500
1760
  end
@@ -1623,13 +1883,16 @@ module SafetyKit
1623
1883
  attr_writer :metadata
1624
1884
 
1625
1885
  # Reusable resources observed during the event. Use this for emails, phone
1626
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
1627
- # identifiers.
1886
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
1887
+ # caller-defined ids, or similar identifiers.
1628
1888
  sig do
1629
1889
  returns(
1630
1890
  T.nilable(
1631
1891
  T::Array[
1632
- SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed
1892
+ T.any(
1893
+ SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::EntityIDResource,
1894
+ SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::UnionMember1
1895
+ )
1633
1896
  ]
1634
1897
  )
1635
1898
  )
@@ -1640,7 +1903,10 @@ module SafetyKit
1640
1903
  params(
1641
1904
  resources_used:
1642
1905
  T::Array[
1643
- SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::OrHash
1906
+ T.any(
1907
+ SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::EntityIDResource::OrHash,
1908
+ SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::UnionMember1::OrHash
1909
+ )
1644
1910
  ]
1645
1911
  ).void
1646
1912
  end
@@ -1675,7 +1941,10 @@ module SafetyKit
1675
1941
  ],
1676
1942
  resources_used:
1677
1943
  T::Array[
1678
- SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::OrHash
1944
+ T.any(
1945
+ SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::EntityIDResource::OrHash,
1946
+ SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::UnionMember1::OrHash
1947
+ )
1679
1948
  ]
1680
1949
  ).returns(T.attached_class)
1681
1950
  end
@@ -1706,8 +1975,8 @@ module SafetyKit
1706
1975
  # be strings, numbers, booleans, or arrays of those scalar values.
1707
1976
  metadata: nil,
1708
1977
  # Reusable resources observed during the event. Use this for emails, phone
1709
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
1710
- # identifiers.
1978
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
1979
+ # caller-defined ids, or similar identifiers.
1711
1980
  resources_used: nil
1712
1981
  )
1713
1982
  end
@@ -1741,7 +2010,10 @@ module SafetyKit
1741
2010
  ],
1742
2011
  resources_used:
1743
2012
  T::Array[
1744
- SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed
2013
+ T.any(
2014
+ SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::EntityIDResource,
2015
+ SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::UnionMember1
2016
+ )
1745
2017
  ]
1746
2018
  }
1747
2019
  )
@@ -2403,42 +2675,160 @@ module SafetyKit
2403
2675
  )
2404
2676
  end
2405
2677
 
2406
- class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
2407
- OrHash =
2678
+ # Real-world, account, social, or caller-defined resource used during the event.
2679
+ module ResourcesUsed
2680
+ extend SafetyKit::Internal::Type::Union
2681
+
2682
+ Variants =
2408
2683
  T.type_alias do
2409
2684
  T.any(
2410
- SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed,
2411
- SafetyKit::Internal::AnyHash
2685
+ SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::EntityIDResource,
2686
+ SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::UnionMember1
2412
2687
  )
2413
2688
  end
2414
2689
 
2415
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
2416
- # youtube, linkedin, or another stable snake_case identifier.
2417
- sig { returns(String) }
2418
- attr_accessor :type
2690
+ class EntityIDResource < SafetyKit::Internal::Type::BaseModel
2691
+ OrHash =
2692
+ T.type_alias do
2693
+ T.any(
2694
+ SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::EntityIDResource,
2695
+ SafetyKit::Internal::AnyHash
2696
+ )
2697
+ end
2419
2698
 
2420
- # Resource value used during the event. SafetyKit stores a normalized hash of this
2421
- # value, not the raw value. When type is url, this must be a valid URL.
2422
- sig { returns(String) }
2423
- attr_accessor :value
2699
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
2700
+ # urlEncode(namespace) + '/' + urlEncode(value).
2701
+ sig { returns(String) }
2702
+ attr_accessor :namespace
2424
2703
 
2425
- # Real-world or account resource used during the event, such as an email, phone
2426
- # number, address, URL, social handle, or payment identifier.
2427
- sig do
2428
- params(type: String, value: String).returns(T.attached_class)
2704
+ # Caller-defined entity identifier resource.
2705
+ sig do
2706
+ returns(
2707
+ SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::EntityIDResource::Type::OrSymbol
2708
+ )
2709
+ end
2710
+ attr_accessor :type
2711
+
2712
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
2713
+ # encoded namespace/value pair, not the raw value.
2714
+ sig { returns(String) }
2715
+ attr_accessor :value
2716
+
2717
+ # Caller-defined stable entity identifier resource. This is equivalent to an id
2718
+ # resource value of urlEncode(namespace) + '/' + urlEncode(value).
2719
+ sig do
2720
+ params(
2721
+ namespace: String,
2722
+ type:
2723
+ SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::EntityIDResource::Type::OrSymbol,
2724
+ value: String
2725
+ ).returns(T.attached_class)
2726
+ end
2727
+ def self.new(
2728
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
2729
+ # urlEncode(namespace) + '/' + urlEncode(value).
2730
+ namespace:,
2731
+ # Caller-defined entity identifier resource.
2732
+ type:,
2733
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
2734
+ # encoded namespace/value pair, not the raw value.
2735
+ value:
2736
+ )
2737
+ end
2738
+
2739
+ sig do
2740
+ override.returns(
2741
+ {
2742
+ namespace: String,
2743
+ type:
2744
+ SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::EntityIDResource::Type::OrSymbol,
2745
+ value: String
2746
+ }
2747
+ )
2748
+ end
2749
+ def to_hash
2750
+ end
2751
+
2752
+ # Caller-defined entity identifier resource.
2753
+ module Type
2754
+ extend SafetyKit::Internal::Type::Enum
2755
+
2756
+ TaggedSymbol =
2757
+ T.type_alias do
2758
+ T.all(
2759
+ Symbol,
2760
+ SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::EntityIDResource::Type
2761
+ )
2762
+ end
2763
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2764
+
2765
+ ID =
2766
+ T.let(
2767
+ :id,
2768
+ SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::EntityIDResource::Type::TaggedSymbol
2769
+ )
2770
+
2771
+ sig do
2772
+ override.returns(
2773
+ T::Array[
2774
+ SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::EntityIDResource::Type::TaggedSymbol
2775
+ ]
2776
+ )
2777
+ end
2778
+ def self.values
2779
+ end
2780
+ end
2429
2781
  end
2430
- def self.new(
2431
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
2432
- # youtube, linkedin, or another stable snake_case identifier.
2433
- type:,
2782
+
2783
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
2784
+ OrHash =
2785
+ T.type_alias do
2786
+ T.any(
2787
+ SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::UnionMember1,
2788
+ SafetyKit::Internal::AnyHash
2789
+ )
2790
+ end
2791
+
2792
+ # Resource family, such as email, phone, name, address, url, social handles,
2793
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
2794
+ # resource shape when the value belongs to a caller-defined namespace.
2795
+ sig { returns(String) }
2796
+ attr_accessor :type
2797
+
2434
2798
  # Resource value used during the event. SafetyKit stores a normalized hash of this
2435
2799
  # value, not the raw value. When type is url, this must be a valid URL.
2436
- value:
2437
- )
2800
+ sig { returns(String) }
2801
+ attr_accessor :value
2802
+
2803
+ # Real-world or account resource used during the event, such as an email, phone
2804
+ # number, address, URL, social handle, or payment identifier.
2805
+ sig do
2806
+ params(type: String, value: String).returns(T.attached_class)
2807
+ end
2808
+ def self.new(
2809
+ # Resource family, such as email, phone, name, address, url, social handles,
2810
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
2811
+ # resource shape when the value belongs to a caller-defined namespace.
2812
+ type:,
2813
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
2814
+ # value, not the raw value. When type is url, this must be a valid URL.
2815
+ value:
2816
+ )
2817
+ end
2818
+
2819
+ sig { override.returns({ type: String, value: String }) }
2820
+ def to_hash
2821
+ end
2438
2822
  end
2439
2823
 
2440
- sig { override.returns({ type: String, value: String }) }
2441
- def to_hash
2824
+ sig do
2825
+ override.returns(
2826
+ T::Array[
2827
+ SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed::Variants
2828
+ ]
2829
+ )
2830
+ end
2831
+ def self.variants
2442
2832
  end
2443
2833
  end
2444
2834
  end
@@ -2563,13 +2953,16 @@ module SafetyKit
2563
2953
  attr_writer :metadata
2564
2954
 
2565
2955
  # Reusable resources observed during the event. Use this for emails, phone
2566
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
2567
- # identifiers.
2956
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
2957
+ # caller-defined ids, or similar identifiers.
2568
2958
  sig do
2569
2959
  returns(
2570
2960
  T.nilable(
2571
2961
  T::Array[
2572
- SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed
2962
+ T.any(
2963
+ SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::EntityIDResource,
2964
+ SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::UnionMember1
2965
+ )
2573
2966
  ]
2574
2967
  )
2575
2968
  )
@@ -2580,7 +2973,10 @@ module SafetyKit
2580
2973
  params(
2581
2974
  resources_used:
2582
2975
  T::Array[
2583
- SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::OrHash
2976
+ T.any(
2977
+ SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::EntityIDResource::OrHash,
2978
+ SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::UnionMember1::OrHash
2979
+ )
2584
2980
  ]
2585
2981
  ).void
2586
2982
  end
@@ -2612,7 +3008,10 @@ module SafetyKit
2612
3008
  ],
2613
3009
  resources_used:
2614
3010
  T::Array[
2615
- SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::OrHash
3011
+ T.any(
3012
+ SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::EntityIDResource::OrHash,
3013
+ SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::UnionMember1::OrHash
3014
+ )
2616
3015
  ]
2617
3016
  ).returns(T.attached_class)
2618
3017
  end
@@ -2642,8 +3041,8 @@ module SafetyKit
2642
3041
  # be strings, numbers, booleans, or arrays of those scalar values.
2643
3042
  metadata: nil,
2644
3043
  # Reusable resources observed during the event. Use this for emails, phone
2645
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
2646
- # identifiers.
3044
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
3045
+ # caller-defined ids, or similar identifiers.
2647
3046
  resources_used: nil
2648
3047
  )
2649
3048
  end
@@ -2674,7 +3073,10 @@ module SafetyKit
2674
3073
  ],
2675
3074
  resources_used:
2676
3075
  T::Array[
2677
- SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed
3076
+ T.any(
3077
+ SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::EntityIDResource,
3078
+ SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::UnionMember1
3079
+ )
2678
3080
  ]
2679
3081
  }
2680
3082
  )
@@ -3091,42 +3493,160 @@ module SafetyKit
3091
3493
  )
3092
3494
  end
3093
3495
 
3094
- class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
3095
- OrHash =
3496
+ # Real-world, account, social, or caller-defined resource used during the event.
3497
+ module ResourcesUsed
3498
+ extend SafetyKit::Internal::Type::Union
3499
+
3500
+ Variants =
3096
3501
  T.type_alias do
3097
3502
  T.any(
3098
- SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed,
3099
- SafetyKit::Internal::AnyHash
3503
+ SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::EntityIDResource,
3504
+ SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::UnionMember1
3100
3505
  )
3101
3506
  end
3102
3507
 
3103
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
3104
- # youtube, linkedin, or another stable snake_case identifier.
3105
- sig { returns(String) }
3106
- attr_accessor :type
3508
+ class EntityIDResource < SafetyKit::Internal::Type::BaseModel
3509
+ OrHash =
3510
+ T.type_alias do
3511
+ T.any(
3512
+ SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::EntityIDResource,
3513
+ SafetyKit::Internal::AnyHash
3514
+ )
3515
+ end
3107
3516
 
3108
- # Resource value used during the event. SafetyKit stores a normalized hash of this
3109
- # value, not the raw value. When type is url, this must be a valid URL.
3110
- sig { returns(String) }
3111
- attr_accessor :value
3517
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
3518
+ # urlEncode(namespace) + '/' + urlEncode(value).
3519
+ sig { returns(String) }
3520
+ attr_accessor :namespace
3112
3521
 
3113
- # Real-world or account resource used during the event, such as an email, phone
3114
- # number, address, URL, social handle, or payment identifier.
3115
- sig do
3116
- params(type: String, value: String).returns(T.attached_class)
3522
+ # Caller-defined entity identifier resource.
3523
+ sig do
3524
+ returns(
3525
+ SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::EntityIDResource::Type::OrSymbol
3526
+ )
3527
+ end
3528
+ attr_accessor :type
3529
+
3530
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
3531
+ # encoded namespace/value pair, not the raw value.
3532
+ sig { returns(String) }
3533
+ attr_accessor :value
3534
+
3535
+ # Caller-defined stable entity identifier resource. This is equivalent to an id
3536
+ # resource value of urlEncode(namespace) + '/' + urlEncode(value).
3537
+ sig do
3538
+ params(
3539
+ namespace: String,
3540
+ type:
3541
+ SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::EntityIDResource::Type::OrSymbol,
3542
+ value: String
3543
+ ).returns(T.attached_class)
3544
+ end
3545
+ def self.new(
3546
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
3547
+ # urlEncode(namespace) + '/' + urlEncode(value).
3548
+ namespace:,
3549
+ # Caller-defined entity identifier resource.
3550
+ type:,
3551
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
3552
+ # encoded namespace/value pair, not the raw value.
3553
+ value:
3554
+ )
3555
+ end
3556
+
3557
+ sig do
3558
+ override.returns(
3559
+ {
3560
+ namespace: String,
3561
+ type:
3562
+ SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::EntityIDResource::Type::OrSymbol,
3563
+ value: String
3564
+ }
3565
+ )
3566
+ end
3567
+ def to_hash
3568
+ end
3569
+
3570
+ # Caller-defined entity identifier resource.
3571
+ module Type
3572
+ extend SafetyKit::Internal::Type::Enum
3573
+
3574
+ TaggedSymbol =
3575
+ T.type_alias do
3576
+ T.all(
3577
+ Symbol,
3578
+ SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::EntityIDResource::Type
3579
+ )
3580
+ end
3581
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3582
+
3583
+ ID =
3584
+ T.let(
3585
+ :id,
3586
+ SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::EntityIDResource::Type::TaggedSymbol
3587
+ )
3588
+
3589
+ sig do
3590
+ override.returns(
3591
+ T::Array[
3592
+ SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::EntityIDResource::Type::TaggedSymbol
3593
+ ]
3594
+ )
3595
+ end
3596
+ def self.values
3597
+ end
3598
+ end
3117
3599
  end
3118
- def self.new(
3119
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
3120
- # youtube, linkedin, or another stable snake_case identifier.
3121
- type:,
3600
+
3601
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
3602
+ OrHash =
3603
+ T.type_alias do
3604
+ T.any(
3605
+ SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::UnionMember1,
3606
+ SafetyKit::Internal::AnyHash
3607
+ )
3608
+ end
3609
+
3610
+ # Resource family, such as email, phone, name, address, url, social handles,
3611
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
3612
+ # resource shape when the value belongs to a caller-defined namespace.
3613
+ sig { returns(String) }
3614
+ attr_accessor :type
3615
+
3122
3616
  # Resource value used during the event. SafetyKit stores a normalized hash of this
3123
3617
  # value, not the raw value. When type is url, this must be a valid URL.
3124
- value:
3125
- )
3618
+ sig { returns(String) }
3619
+ attr_accessor :value
3620
+
3621
+ # Real-world or account resource used during the event, such as an email, phone
3622
+ # number, address, URL, social handle, or payment identifier.
3623
+ sig do
3624
+ params(type: String, value: String).returns(T.attached_class)
3625
+ end
3626
+ def self.new(
3627
+ # Resource family, such as email, phone, name, address, url, social handles,
3628
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
3629
+ # resource shape when the value belongs to a caller-defined namespace.
3630
+ type:,
3631
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
3632
+ # value, not the raw value. When type is url, this must be a valid URL.
3633
+ value:
3634
+ )
3635
+ end
3636
+
3637
+ sig { override.returns({ type: String, value: String }) }
3638
+ def to_hash
3639
+ end
3126
3640
  end
3127
3641
 
3128
- sig { override.returns({ type: String, value: String }) }
3129
- def to_hash
3642
+ sig do
3643
+ override.returns(
3644
+ T::Array[
3645
+ SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed::Variants
3646
+ ]
3647
+ )
3648
+ end
3649
+ def self.variants
3130
3650
  end
3131
3651
  end
3132
3652
  end
@@ -3251,13 +3771,16 @@ module SafetyKit
3251
3771
  attr_writer :metadata
3252
3772
 
3253
3773
  # Reusable resources observed during the event. Use this for emails, phone
3254
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
3255
- # identifiers.
3774
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
3775
+ # caller-defined ids, or similar identifiers.
3256
3776
  sig do
3257
3777
  returns(
3258
3778
  T.nilable(
3259
3779
  T::Array[
3260
- SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed
3780
+ T.any(
3781
+ SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::EntityIDResource,
3782
+ SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::UnionMember1
3783
+ )
3261
3784
  ]
3262
3785
  )
3263
3786
  )
@@ -3268,7 +3791,10 @@ module SafetyKit
3268
3791
  params(
3269
3792
  resources_used:
3270
3793
  T::Array[
3271
- SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::OrHash
3794
+ T.any(
3795
+ SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::EntityIDResource::OrHash,
3796
+ SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::UnionMember1::OrHash
3797
+ )
3272
3798
  ]
3273
3799
  ).void
3274
3800
  end
@@ -3301,7 +3827,10 @@ module SafetyKit
3301
3827
  ],
3302
3828
  resources_used:
3303
3829
  T::Array[
3304
- SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::OrHash
3830
+ T.any(
3831
+ SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::EntityIDResource::OrHash,
3832
+ SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::UnionMember1::OrHash
3833
+ )
3305
3834
  ]
3306
3835
  ).returns(T.attached_class)
3307
3836
  end
@@ -3331,8 +3860,8 @@ module SafetyKit
3331
3860
  # be strings, numbers, booleans, or arrays of those scalar values.
3332
3861
  metadata: nil,
3333
3862
  # Reusable resources observed during the event. Use this for emails, phone
3334
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
3335
- # identifiers.
3863
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
3864
+ # caller-defined ids, or similar identifiers.
3336
3865
  resources_used: nil
3337
3866
  )
3338
3867
  end
@@ -3363,7 +3892,10 @@ module SafetyKit
3363
3892
  ],
3364
3893
  resources_used:
3365
3894
  T::Array[
3366
- SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed
3895
+ T.any(
3896
+ SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::EntityIDResource,
3897
+ SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::UnionMember1
3898
+ )
3367
3899
  ]
3368
3900
  }
3369
3901
  )
@@ -3780,49 +4312,167 @@ module SafetyKit
3780
4312
  )
3781
4313
  end
3782
4314
 
3783
- class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
3784
- OrHash =
4315
+ # Real-world, account, social, or caller-defined resource used during the event.
4316
+ module ResourcesUsed
4317
+ extend SafetyKit::Internal::Type::Union
4318
+
4319
+ Variants =
3785
4320
  T.type_alias do
3786
4321
  T.any(
3787
- SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed,
3788
- SafetyKit::Internal::AnyHash
4322
+ SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::EntityIDResource,
4323
+ SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::UnionMember1
3789
4324
  )
3790
4325
  end
3791
4326
 
3792
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
3793
- # youtube, linkedin, or another stable snake_case identifier.
3794
- sig { returns(String) }
3795
- attr_accessor :type
4327
+ class EntityIDResource < SafetyKit::Internal::Type::BaseModel
4328
+ OrHash =
4329
+ T.type_alias do
4330
+ T.any(
4331
+ SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::EntityIDResource,
4332
+ SafetyKit::Internal::AnyHash
4333
+ )
4334
+ end
3796
4335
 
3797
- # Resource value used during the event. SafetyKit stores a normalized hash of this
3798
- # value, not the raw value. When type is url, this must be a valid URL.
3799
- sig { returns(String) }
3800
- attr_accessor :value
4336
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
4337
+ # urlEncode(namespace) + '/' + urlEncode(value).
4338
+ sig { returns(String) }
4339
+ attr_accessor :namespace
3801
4340
 
3802
- # Real-world or account resource used during the event, such as an email, phone
3803
- # number, address, URL, social handle, or payment identifier.
3804
- sig do
3805
- params(type: String, value: String).returns(T.attached_class)
3806
- end
3807
- def self.new(
3808
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
3809
- # youtube, linkedin, or another stable snake_case identifier.
3810
- type:,
3811
- # Resource value used during the event. SafetyKit stores a normalized hash of this
3812
- # value, not the raw value. When type is url, this must be a valid URL.
3813
- value:
3814
- )
3815
- end
4341
+ # Caller-defined entity identifier resource.
4342
+ sig do
4343
+ returns(
4344
+ SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::EntityIDResource::Type::OrSymbol
4345
+ )
4346
+ end
4347
+ attr_accessor :type
3816
4348
 
3817
- sig { override.returns({ type: String, value: String }) }
3818
- def to_hash
3819
- end
3820
- end
3821
- end
4349
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
4350
+ # encoded namespace/value pair, not the raw value.
4351
+ sig { returns(String) }
4352
+ attr_accessor :value
3822
4353
 
3823
- class UserReportEventRequest < SafetyKit::Internal::Type::BaseModel
3824
- OrHash =
3825
- T.type_alias do
4354
+ # Caller-defined stable entity identifier resource. This is equivalent to an id
4355
+ # resource value of urlEncode(namespace) + '/' + urlEncode(value).
4356
+ sig do
4357
+ params(
4358
+ namespace: String,
4359
+ type:
4360
+ SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::EntityIDResource::Type::OrSymbol,
4361
+ value: String
4362
+ ).returns(T.attached_class)
4363
+ end
4364
+ def self.new(
4365
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
4366
+ # urlEncode(namespace) + '/' + urlEncode(value).
4367
+ namespace:,
4368
+ # Caller-defined entity identifier resource.
4369
+ type:,
4370
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
4371
+ # encoded namespace/value pair, not the raw value.
4372
+ value:
4373
+ )
4374
+ end
4375
+
4376
+ sig do
4377
+ override.returns(
4378
+ {
4379
+ namespace: String,
4380
+ type:
4381
+ SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::EntityIDResource::Type::OrSymbol,
4382
+ value: String
4383
+ }
4384
+ )
4385
+ end
4386
+ def to_hash
4387
+ end
4388
+
4389
+ # Caller-defined entity identifier resource.
4390
+ module Type
4391
+ extend SafetyKit::Internal::Type::Enum
4392
+
4393
+ TaggedSymbol =
4394
+ T.type_alias do
4395
+ T.all(
4396
+ Symbol,
4397
+ SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::EntityIDResource::Type
4398
+ )
4399
+ end
4400
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
4401
+
4402
+ ID =
4403
+ T.let(
4404
+ :id,
4405
+ SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::EntityIDResource::Type::TaggedSymbol
4406
+ )
4407
+
4408
+ sig do
4409
+ override.returns(
4410
+ T::Array[
4411
+ SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::EntityIDResource::Type::TaggedSymbol
4412
+ ]
4413
+ )
4414
+ end
4415
+ def self.values
4416
+ end
4417
+ end
4418
+ end
4419
+
4420
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
4421
+ OrHash =
4422
+ T.type_alias do
4423
+ T.any(
4424
+ SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::UnionMember1,
4425
+ SafetyKit::Internal::AnyHash
4426
+ )
4427
+ end
4428
+
4429
+ # Resource family, such as email, phone, name, address, url, social handles,
4430
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
4431
+ # resource shape when the value belongs to a caller-defined namespace.
4432
+ sig { returns(String) }
4433
+ attr_accessor :type
4434
+
4435
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
4436
+ # value, not the raw value. When type is url, this must be a valid URL.
4437
+ sig { returns(String) }
4438
+ attr_accessor :value
4439
+
4440
+ # Real-world or account resource used during the event, such as an email, phone
4441
+ # number, address, URL, social handle, or payment identifier.
4442
+ sig do
4443
+ params(type: String, value: String).returns(T.attached_class)
4444
+ end
4445
+ def self.new(
4446
+ # Resource family, such as email, phone, name, address, url, social handles,
4447
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
4448
+ # resource shape when the value belongs to a caller-defined namespace.
4449
+ type:,
4450
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
4451
+ # value, not the raw value. When type is url, this must be a valid URL.
4452
+ value:
4453
+ )
4454
+ end
4455
+
4456
+ sig { override.returns({ type: String, value: String }) }
4457
+ def to_hash
4458
+ end
4459
+ end
4460
+
4461
+ sig do
4462
+ override.returns(
4463
+ T::Array[
4464
+ SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed::Variants
4465
+ ]
4466
+ )
4467
+ end
4468
+ def self.variants
4469
+ end
4470
+ end
4471
+ end
4472
+
4473
+ class UserReportEventRequest < SafetyKit::Internal::Type::BaseModel
4474
+ OrHash =
4475
+ T.type_alias do
3826
4476
  T.any(
3827
4477
  SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest,
3828
4478
  SafetyKit::Internal::AnyHash
@@ -3944,13 +4594,16 @@ module SafetyKit
3944
4594
  attr_writer :metadata
3945
4595
 
3946
4596
  # Reusable resources observed during the event. Use this for emails, phone
3947
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
3948
- # identifiers.
4597
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
4598
+ # caller-defined ids, or similar identifiers.
3949
4599
  sig do
3950
4600
  returns(
3951
4601
  T.nilable(
3952
4602
  T::Array[
3953
- SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed
4603
+ T.any(
4604
+ SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::EntityIDResource,
4605
+ SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::UnionMember1
4606
+ )
3954
4607
  ]
3955
4608
  )
3956
4609
  )
@@ -3961,7 +4614,10 @@ module SafetyKit
3961
4614
  params(
3962
4615
  resources_used:
3963
4616
  T::Array[
3964
- SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::OrHash
4617
+ T.any(
4618
+ SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::EntityIDResource::OrHash,
4619
+ SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::UnionMember1::OrHash
4620
+ )
3965
4621
  ]
3966
4622
  ).void
3967
4623
  end
@@ -4011,7 +4667,10 @@ module SafetyKit
4011
4667
  ],
4012
4668
  resources_used:
4013
4669
  T::Array[
4014
- SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::OrHash
4670
+ T.any(
4671
+ SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::EntityIDResource::OrHash,
4672
+ SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::UnionMember1::OrHash
4673
+ )
4015
4674
  ],
4016
4675
  target_content_id: String,
4017
4676
  target_user_id: String
@@ -4045,8 +4704,8 @@ module SafetyKit
4045
4704
  # be strings, numbers, booleans, or arrays of those scalar values.
4046
4705
  metadata: nil,
4047
4706
  # Reusable resources observed during the event. Use this for emails, phone
4048
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
4049
- # identifiers.
4707
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
4708
+ # caller-defined ids, or similar identifiers.
4050
4709
  resources_used: nil,
4051
4710
  # Your stable identifier for the content being reported.
4052
4711
  target_content_id: nil,
@@ -4082,7 +4741,10 @@ module SafetyKit
4082
4741
  ],
4083
4742
  resources_used:
4084
4743
  T::Array[
4085
- SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed
4744
+ T.any(
4745
+ SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::EntityIDResource,
4746
+ SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::UnionMember1
4747
+ )
4086
4748
  ],
4087
4749
  target_content_id: String,
4088
4750
  target_user_id: String
@@ -4501,42 +5163,160 @@ module SafetyKit
4501
5163
  )
4502
5164
  end
4503
5165
 
4504
- class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
4505
- OrHash =
5166
+ # Real-world, account, social, or caller-defined resource used during the event.
5167
+ module ResourcesUsed
5168
+ extend SafetyKit::Internal::Type::Union
5169
+
5170
+ Variants =
4506
5171
  T.type_alias do
4507
5172
  T.any(
4508
- SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed,
4509
- SafetyKit::Internal::AnyHash
5173
+ SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::EntityIDResource,
5174
+ SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::UnionMember1
4510
5175
  )
4511
5176
  end
4512
5177
 
4513
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
4514
- # youtube, linkedin, or another stable snake_case identifier.
4515
- sig { returns(String) }
4516
- attr_accessor :type
5178
+ class EntityIDResource < SafetyKit::Internal::Type::BaseModel
5179
+ OrHash =
5180
+ T.type_alias do
5181
+ T.any(
5182
+ SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::EntityIDResource,
5183
+ SafetyKit::Internal::AnyHash
5184
+ )
5185
+ end
4517
5186
 
4518
- # Resource value used during the event. SafetyKit stores a normalized hash of this
4519
- # value, not the raw value. When type is url, this must be a valid URL.
4520
- sig { returns(String) }
4521
- attr_accessor :value
5187
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
5188
+ # urlEncode(namespace) + '/' + urlEncode(value).
5189
+ sig { returns(String) }
5190
+ attr_accessor :namespace
4522
5191
 
4523
- # Real-world or account resource used during the event, such as an email, phone
4524
- # number, address, URL, social handle, or payment identifier.
4525
- sig do
4526
- params(type: String, value: String).returns(T.attached_class)
5192
+ # Caller-defined entity identifier resource.
5193
+ sig do
5194
+ returns(
5195
+ SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::EntityIDResource::Type::OrSymbol
5196
+ )
5197
+ end
5198
+ attr_accessor :type
5199
+
5200
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
5201
+ # encoded namespace/value pair, not the raw value.
5202
+ sig { returns(String) }
5203
+ attr_accessor :value
5204
+
5205
+ # Caller-defined stable entity identifier resource. This is equivalent to an id
5206
+ # resource value of urlEncode(namespace) + '/' + urlEncode(value).
5207
+ sig do
5208
+ params(
5209
+ namespace: String,
5210
+ type:
5211
+ SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::EntityIDResource::Type::OrSymbol,
5212
+ value: String
5213
+ ).returns(T.attached_class)
5214
+ end
5215
+ def self.new(
5216
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
5217
+ # urlEncode(namespace) + '/' + urlEncode(value).
5218
+ namespace:,
5219
+ # Caller-defined entity identifier resource.
5220
+ type:,
5221
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
5222
+ # encoded namespace/value pair, not the raw value.
5223
+ value:
5224
+ )
5225
+ end
5226
+
5227
+ sig do
5228
+ override.returns(
5229
+ {
5230
+ namespace: String,
5231
+ type:
5232
+ SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::EntityIDResource::Type::OrSymbol,
5233
+ value: String
5234
+ }
5235
+ )
5236
+ end
5237
+ def to_hash
5238
+ end
5239
+
5240
+ # Caller-defined entity identifier resource.
5241
+ module Type
5242
+ extend SafetyKit::Internal::Type::Enum
5243
+
5244
+ TaggedSymbol =
5245
+ T.type_alias do
5246
+ T.all(
5247
+ Symbol,
5248
+ SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::EntityIDResource::Type
5249
+ )
5250
+ end
5251
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
5252
+
5253
+ ID =
5254
+ T.let(
5255
+ :id,
5256
+ SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::EntityIDResource::Type::TaggedSymbol
5257
+ )
5258
+
5259
+ sig do
5260
+ override.returns(
5261
+ T::Array[
5262
+ SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::EntityIDResource::Type::TaggedSymbol
5263
+ ]
5264
+ )
5265
+ end
5266
+ def self.values
5267
+ end
5268
+ end
4527
5269
  end
4528
- def self.new(
4529
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
4530
- # youtube, linkedin, or another stable snake_case identifier.
4531
- type:,
5270
+
5271
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
5272
+ OrHash =
5273
+ T.type_alias do
5274
+ T.any(
5275
+ SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::UnionMember1,
5276
+ SafetyKit::Internal::AnyHash
5277
+ )
5278
+ end
5279
+
5280
+ # Resource family, such as email, phone, name, address, url, social handles,
5281
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
5282
+ # resource shape when the value belongs to a caller-defined namespace.
5283
+ sig { returns(String) }
5284
+ attr_accessor :type
5285
+
4532
5286
  # Resource value used during the event. SafetyKit stores a normalized hash of this
4533
5287
  # value, not the raw value. When type is url, this must be a valid URL.
4534
- value:
4535
- )
5288
+ sig { returns(String) }
5289
+ attr_accessor :value
5290
+
5291
+ # Real-world or account resource used during the event, such as an email, phone
5292
+ # number, address, URL, social handle, or payment identifier.
5293
+ sig do
5294
+ params(type: String, value: String).returns(T.attached_class)
5295
+ end
5296
+ def self.new(
5297
+ # Resource family, such as email, phone, name, address, url, social handles,
5298
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
5299
+ # resource shape when the value belongs to a caller-defined namespace.
5300
+ type:,
5301
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
5302
+ # value, not the raw value. When type is url, this must be a valid URL.
5303
+ value:
5304
+ )
5305
+ end
5306
+
5307
+ sig { override.returns({ type: String, value: String }) }
5308
+ def to_hash
5309
+ end
4536
5310
  end
4537
5311
 
4538
- sig { override.returns({ type: String, value: String }) }
4539
- def to_hash
5312
+ sig do
5313
+ override.returns(
5314
+ T::Array[
5315
+ SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed::Variants
5316
+ ]
5317
+ )
5318
+ end
5319
+ def self.variants
4540
5320
  end
4541
5321
  end
4542
5322
  end
@@ -4679,13 +5459,16 @@ module SafetyKit
4679
5459
  attr_writer :metadata
4680
5460
 
4681
5461
  # Reusable resources observed during the event. Use this for emails, phone
4682
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
4683
- # identifiers.
5462
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
5463
+ # caller-defined ids, or similar identifiers.
4684
5464
  sig do
4685
5465
  returns(
4686
5466
  T.nilable(
4687
5467
  T::Array[
4688
- SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed
5468
+ T.any(
5469
+ SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource,
5470
+ SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::UnionMember1
5471
+ )
4689
5472
  ]
4690
5473
  )
4691
5474
  )
@@ -4696,7 +5479,10 @@ module SafetyKit
4696
5479
  params(
4697
5480
  resources_used:
4698
5481
  T::Array[
4699
- SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::OrHash
5482
+ T.any(
5483
+ SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource::OrHash,
5484
+ SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::UnionMember1::OrHash
5485
+ )
4700
5486
  ]
4701
5487
  ).void
4702
5488
  end
@@ -4747,7 +5533,10 @@ module SafetyKit
4747
5533
  ],
4748
5534
  resources_used:
4749
5535
  T::Array[
4750
- SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::OrHash
5536
+ T.any(
5537
+ SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource::OrHash,
5538
+ SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::UnionMember1::OrHash
5539
+ )
4751
5540
  ],
4752
5541
  target_content_id: String,
4753
5542
  target_user_id: String
@@ -4789,8 +5578,8 @@ module SafetyKit
4789
5578
  # be strings, numbers, booleans, or arrays of those scalar values.
4790
5579
  metadata: nil,
4791
5580
  # Reusable resources observed during the event. Use this for emails, phone
4792
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
4793
- # identifiers.
5581
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
5582
+ # caller-defined ids, or similar identifiers.
4794
5583
  resources_used: nil,
4795
5584
  # Your stable identifier for the content being reported.
4796
5585
  target_content_id: nil,
@@ -4828,7 +5617,10 @@ module SafetyKit
4828
5617
  ],
4829
5618
  resources_used:
4830
5619
  T::Array[
4831
- SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed
5620
+ T.any(
5621
+ SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource,
5622
+ SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::UnionMember1
5623
+ )
4832
5624
  ],
4833
5625
  target_content_id: String,
4834
5626
  target_user_id: String
@@ -5296,51 +6088,169 @@ module SafetyKit
5296
6088
  )
5297
6089
  end
5298
6090
 
5299
- class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
5300
- OrHash =
6091
+ # Real-world, account, social, or caller-defined resource used during the event.
6092
+ module ResourcesUsed
6093
+ extend SafetyKit::Internal::Type::Union
6094
+
6095
+ Variants =
5301
6096
  T.type_alias do
5302
6097
  T.any(
5303
- SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed,
5304
- SafetyKit::Internal::AnyHash
6098
+ SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource,
6099
+ SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::UnionMember1
5305
6100
  )
5306
6101
  end
5307
6102
 
5308
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
5309
- # youtube, linkedin, or another stable snake_case identifier.
5310
- sig { returns(String) }
5311
- attr_accessor :type
5312
-
5313
- # Resource value used during the event. SafetyKit stores a normalized hash of this
5314
- # value, not the raw value. When type is url, this must be a valid URL.
5315
- sig { returns(String) }
5316
- attr_accessor :value
6103
+ class EntityIDResource < SafetyKit::Internal::Type::BaseModel
6104
+ OrHash =
6105
+ T.type_alias do
6106
+ T.any(
6107
+ SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource,
6108
+ SafetyKit::Internal::AnyHash
6109
+ )
6110
+ end
5317
6111
 
5318
- # Real-world or account resource used during the event, such as an email, phone
5319
- # number, address, URL, social handle, or payment identifier.
5320
- sig do
5321
- params(type: String, value: String).returns(T.attached_class)
5322
- end
5323
- def self.new(
5324
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
5325
- # youtube, linkedin, or another stable snake_case identifier.
5326
- type:,
5327
- # Resource value used during the event. SafetyKit stores a normalized hash of this
5328
- # value, not the raw value. When type is url, this must be a valid URL.
5329
- value:
5330
- )
5331
- end
6112
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
6113
+ # urlEncode(namespace) + '/' + urlEncode(value).
6114
+ sig { returns(String) }
6115
+ attr_accessor :namespace
5332
6116
 
5333
- sig { override.returns({ type: String, value: String }) }
5334
- def to_hash
5335
- end
5336
- end
5337
- end
6117
+ # Caller-defined entity identifier resource.
6118
+ sig do
6119
+ returns(
6120
+ SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource::Type::OrSymbol
6121
+ )
6122
+ end
6123
+ attr_accessor :type
5338
6124
 
5339
- # A user contacts, transacts with, or otherwise interacts with another user.
5340
- module UnionMember7
5341
- extend SafetyKit::Internal::Type::Union
6125
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
6126
+ # encoded namespace/value pair, not the raw value.
6127
+ sig { returns(String) }
6128
+ attr_accessor :value
5342
6129
 
5343
- Variants =
6130
+ # Caller-defined stable entity identifier resource. This is equivalent to an id
6131
+ # resource value of urlEncode(namespace) + '/' + urlEncode(value).
6132
+ sig do
6133
+ params(
6134
+ namespace: String,
6135
+ type:
6136
+ SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource::Type::OrSymbol,
6137
+ value: String
6138
+ ).returns(T.attached_class)
6139
+ end
6140
+ def self.new(
6141
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
6142
+ # urlEncode(namespace) + '/' + urlEncode(value).
6143
+ namespace:,
6144
+ # Caller-defined entity identifier resource.
6145
+ type:,
6146
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
6147
+ # encoded namespace/value pair, not the raw value.
6148
+ value:
6149
+ )
6150
+ end
6151
+
6152
+ sig do
6153
+ override.returns(
6154
+ {
6155
+ namespace: String,
6156
+ type:
6157
+ SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource::Type::OrSymbol,
6158
+ value: String
6159
+ }
6160
+ )
6161
+ end
6162
+ def to_hash
6163
+ end
6164
+
6165
+ # Caller-defined entity identifier resource.
6166
+ module Type
6167
+ extend SafetyKit::Internal::Type::Enum
6168
+
6169
+ TaggedSymbol =
6170
+ T.type_alias do
6171
+ T.all(
6172
+ Symbol,
6173
+ SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource::Type
6174
+ )
6175
+ end
6176
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
6177
+
6178
+ ID =
6179
+ T.let(
6180
+ :id,
6181
+ SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource::Type::TaggedSymbol
6182
+ )
6183
+
6184
+ sig do
6185
+ override.returns(
6186
+ T::Array[
6187
+ SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::EntityIDResource::Type::TaggedSymbol
6188
+ ]
6189
+ )
6190
+ end
6191
+ def self.values
6192
+ end
6193
+ end
6194
+ end
6195
+
6196
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
6197
+ OrHash =
6198
+ T.type_alias do
6199
+ T.any(
6200
+ SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::UnionMember1,
6201
+ SafetyKit::Internal::AnyHash
6202
+ )
6203
+ end
6204
+
6205
+ # Resource family, such as email, phone, name, address, url, social handles,
6206
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
6207
+ # resource shape when the value belongs to a caller-defined namespace.
6208
+ sig { returns(String) }
6209
+ attr_accessor :type
6210
+
6211
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
6212
+ # value, not the raw value. When type is url, this must be a valid URL.
6213
+ sig { returns(String) }
6214
+ attr_accessor :value
6215
+
6216
+ # Real-world or account resource used during the event, such as an email, phone
6217
+ # number, address, URL, social handle, or payment identifier.
6218
+ sig do
6219
+ params(type: String, value: String).returns(T.attached_class)
6220
+ end
6221
+ def self.new(
6222
+ # Resource family, such as email, phone, name, address, url, social handles,
6223
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
6224
+ # resource shape when the value belongs to a caller-defined namespace.
6225
+ type:,
6226
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
6227
+ # value, not the raw value. When type is url, this must be a valid URL.
6228
+ value:
6229
+ )
6230
+ end
6231
+
6232
+ sig { override.returns({ type: String, value: String }) }
6233
+ def to_hash
6234
+ end
6235
+ end
6236
+
6237
+ sig do
6238
+ override.returns(
6239
+ T::Array[
6240
+ SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed::Variants
6241
+ ]
6242
+ )
6243
+ end
6244
+ def self.variants
6245
+ end
6246
+ end
6247
+ end
6248
+
6249
+ # A user contacts, transacts with, or otherwise interacts with another user.
6250
+ module UnionMember7
6251
+ extend SafetyKit::Internal::Type::Union
6252
+
6253
+ Variants =
5344
6254
  T.type_alias do
5345
6255
  T.any(
5346
6256
  SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact,
@@ -5474,13 +6384,16 @@ module SafetyKit
5474
6384
  attr_writer :metadata
5475
6385
 
5476
6386
  # Reusable resources observed during the event. Use this for emails, phone
5477
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
5478
- # identifiers.
6387
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
6388
+ # caller-defined ids, or similar identifiers.
5479
6389
  sig do
5480
6390
  returns(
5481
6391
  T.nilable(
5482
6392
  T::Array[
5483
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed
6393
+ T.any(
6394
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::EntityIDResource,
6395
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::UnionMember1
6396
+ )
5484
6397
  ]
5485
6398
  )
5486
6399
  )
@@ -5491,7 +6404,10 @@ module SafetyKit
5491
6404
  params(
5492
6405
  resources_used:
5493
6406
  T::Array[
5494
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::OrHash
6407
+ T.any(
6408
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::EntityIDResource::OrHash,
6409
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::UnionMember1::OrHash
6410
+ )
5495
6411
  ]
5496
6412
  ).void
5497
6413
  end
@@ -5522,7 +6438,10 @@ module SafetyKit
5522
6438
  ],
5523
6439
  resources_used:
5524
6440
  T::Array[
5525
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::OrHash
6441
+ T.any(
6442
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::EntityIDResource::OrHash,
6443
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::UnionMember1::OrHash
6444
+ )
5526
6445
  ],
5527
6446
  type: Symbol
5528
6447
  ).returns(T.attached_class)
@@ -5555,8 +6474,8 @@ module SafetyKit
5555
6474
  # be strings, numbers, booleans, or arrays of those scalar values.
5556
6475
  metadata: nil,
5557
6476
  # Reusable resources observed during the event. Use this for emails, phone
5558
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
5559
- # identifiers.
6477
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
6478
+ # caller-defined ids, or similar identifiers.
5560
6479
  resources_used: nil,
5561
6480
  type: :user_contact
5562
6481
  )
@@ -5588,7 +6507,10 @@ module SafetyKit
5588
6507
  ],
5589
6508
  resources_used:
5590
6509
  T::Array[
5591
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed
6510
+ T.any(
6511
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::EntityIDResource,
6512
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::UnionMember1
6513
+ )
5592
6514
  ]
5593
6515
  }
5594
6516
  )
@@ -5976,42 +6898,160 @@ module SafetyKit
5976
6898
  )
5977
6899
  end
5978
6900
 
5979
- class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
5980
- OrHash =
6901
+ # Real-world, account, social, or caller-defined resource used during the event.
6902
+ module ResourcesUsed
6903
+ extend SafetyKit::Internal::Type::Union
6904
+
6905
+ Variants =
5981
6906
  T.type_alias do
5982
6907
  T.any(
5983
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed,
5984
- SafetyKit::Internal::AnyHash
6908
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::EntityIDResource,
6909
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::UnionMember1
5985
6910
  )
5986
6911
  end
5987
6912
 
5988
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
5989
- # youtube, linkedin, or another stable snake_case identifier.
5990
- sig { returns(String) }
5991
- attr_accessor :type
6913
+ class EntityIDResource < SafetyKit::Internal::Type::BaseModel
6914
+ OrHash =
6915
+ T.type_alias do
6916
+ T.any(
6917
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::EntityIDResource,
6918
+ SafetyKit::Internal::AnyHash
6919
+ )
6920
+ end
5992
6921
 
5993
- # Resource value used during the event. SafetyKit stores a normalized hash of this
5994
- # value, not the raw value. When type is url, this must be a valid URL.
5995
- sig { returns(String) }
5996
- attr_accessor :value
6922
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
6923
+ # urlEncode(namespace) + '/' + urlEncode(value).
6924
+ sig { returns(String) }
6925
+ attr_accessor :namespace
5997
6926
 
5998
- # Real-world or account resource used during the event, such as an email, phone
5999
- # number, address, URL, social handle, or payment identifier.
6000
- sig do
6001
- params(type: String, value: String).returns(T.attached_class)
6927
+ # Caller-defined entity identifier resource.
6928
+ sig do
6929
+ returns(
6930
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::EntityIDResource::Type::OrSymbol
6931
+ )
6932
+ end
6933
+ attr_accessor :type
6934
+
6935
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
6936
+ # encoded namespace/value pair, not the raw value.
6937
+ sig { returns(String) }
6938
+ attr_accessor :value
6939
+
6940
+ # Caller-defined stable entity identifier resource. This is equivalent to an id
6941
+ # resource value of urlEncode(namespace) + '/' + urlEncode(value).
6942
+ sig do
6943
+ params(
6944
+ namespace: String,
6945
+ type:
6946
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::EntityIDResource::Type::OrSymbol,
6947
+ value: String
6948
+ ).returns(T.attached_class)
6949
+ end
6950
+ def self.new(
6951
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
6952
+ # urlEncode(namespace) + '/' + urlEncode(value).
6953
+ namespace:,
6954
+ # Caller-defined entity identifier resource.
6955
+ type:,
6956
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
6957
+ # encoded namespace/value pair, not the raw value.
6958
+ value:
6959
+ )
6960
+ end
6961
+
6962
+ sig do
6963
+ override.returns(
6964
+ {
6965
+ namespace: String,
6966
+ type:
6967
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::EntityIDResource::Type::OrSymbol,
6968
+ value: String
6969
+ }
6970
+ )
6971
+ end
6972
+ def to_hash
6973
+ end
6974
+
6975
+ # Caller-defined entity identifier resource.
6976
+ module Type
6977
+ extend SafetyKit::Internal::Type::Enum
6978
+
6979
+ TaggedSymbol =
6980
+ T.type_alias do
6981
+ T.all(
6982
+ Symbol,
6983
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::EntityIDResource::Type
6984
+ )
6985
+ end
6986
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
6987
+
6988
+ ID =
6989
+ T.let(
6990
+ :id,
6991
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::EntityIDResource::Type::TaggedSymbol
6992
+ )
6993
+
6994
+ sig do
6995
+ override.returns(
6996
+ T::Array[
6997
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::EntityIDResource::Type::TaggedSymbol
6998
+ ]
6999
+ )
7000
+ end
7001
+ def self.values
7002
+ end
7003
+ end
6002
7004
  end
6003
- def self.new(
6004
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
6005
- # youtube, linkedin, or another stable snake_case identifier.
6006
- type:,
7005
+
7006
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
7007
+ OrHash =
7008
+ T.type_alias do
7009
+ T.any(
7010
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::UnionMember1,
7011
+ SafetyKit::Internal::AnyHash
7012
+ )
7013
+ end
7014
+
7015
+ # Resource family, such as email, phone, name, address, url, social handles,
7016
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
7017
+ # resource shape when the value belongs to a caller-defined namespace.
7018
+ sig { returns(String) }
7019
+ attr_accessor :type
7020
+
6007
7021
  # Resource value used during the event. SafetyKit stores a normalized hash of this
6008
7022
  # value, not the raw value. When type is url, this must be a valid URL.
6009
- value:
6010
- )
7023
+ sig { returns(String) }
7024
+ attr_accessor :value
7025
+
7026
+ # Real-world or account resource used during the event, such as an email, phone
7027
+ # number, address, URL, social handle, or payment identifier.
7028
+ sig do
7029
+ params(type: String, value: String).returns(T.attached_class)
7030
+ end
7031
+ def self.new(
7032
+ # Resource family, such as email, phone, name, address, url, social handles,
7033
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
7034
+ # resource shape when the value belongs to a caller-defined namespace.
7035
+ type:,
7036
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
7037
+ # value, not the raw value. When type is url, this must be a valid URL.
7038
+ value:
7039
+ )
7040
+ end
7041
+
7042
+ sig { override.returns({ type: String, value: String }) }
7043
+ def to_hash
7044
+ end
6011
7045
  end
6012
7046
 
6013
- sig { override.returns({ type: String, value: String }) }
6014
- def to_hash
7047
+ sig do
7048
+ override.returns(
7049
+ T::Array[
7050
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed::Variants
7051
+ ]
7052
+ )
7053
+ end
7054
+ def self.variants
6015
7055
  end
6016
7056
  end
6017
7057
  end
@@ -6117,13 +7157,16 @@ module SafetyKit
6117
7157
  attr_writer :metadata
6118
7158
 
6119
7159
  # Reusable resources observed during the event. Use this for emails, phone
6120
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
6121
- # identifiers.
7160
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
7161
+ # caller-defined ids, or similar identifiers.
6122
7162
  sig do
6123
7163
  returns(
6124
7164
  T.nilable(
6125
7165
  T::Array[
6126
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed
7166
+ T.any(
7167
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::EntityIDResource,
7168
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::UnionMember1
7169
+ )
6127
7170
  ]
6128
7171
  )
6129
7172
  )
@@ -6134,7 +7177,10 @@ module SafetyKit
6134
7177
  params(
6135
7178
  resources_used:
6136
7179
  T::Array[
6137
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::OrHash
7180
+ T.any(
7181
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::EntityIDResource::OrHash,
7182
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::UnionMember1::OrHash
7183
+ )
6138
7184
  ]
6139
7185
  ).void
6140
7186
  end
@@ -6164,7 +7210,10 @@ module SafetyKit
6164
7210
  ],
6165
7211
  resources_used:
6166
7212
  T::Array[
6167
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::OrHash
7213
+ T.any(
7214
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::EntityIDResource::OrHash,
7215
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::UnionMember1::OrHash
7216
+ )
6168
7217
  ],
6169
7218
  type: Symbol
6170
7219
  ).returns(T.attached_class)
@@ -6194,8 +7243,8 @@ module SafetyKit
6194
7243
  # be strings, numbers, booleans, or arrays of those scalar values.
6195
7244
  metadata: nil,
6196
7245
  # Reusable resources observed during the event. Use this for emails, phone
6197
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
6198
- # identifiers.
7246
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
7247
+ # caller-defined ids, or similar identifiers.
6199
7248
  resources_used: nil,
6200
7249
  type: :content_uploaded
6201
7250
  )
@@ -6226,7 +7275,10 @@ module SafetyKit
6226
7275
  ],
6227
7276
  resources_used:
6228
7277
  T::Array[
6229
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed
7278
+ T.any(
7279
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::EntityIDResource,
7280
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::UnionMember1
7281
+ )
6230
7282
  ]
6231
7283
  }
6232
7284
  )
@@ -6614,42 +7666,160 @@ module SafetyKit
6614
7666
  )
6615
7667
  end
6616
7668
 
6617
- class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
6618
- OrHash =
7669
+ # Real-world, account, social, or caller-defined resource used during the event.
7670
+ module ResourcesUsed
7671
+ extend SafetyKit::Internal::Type::Union
7672
+
7673
+ Variants =
6619
7674
  T.type_alias do
6620
7675
  T.any(
6621
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed,
6622
- SafetyKit::Internal::AnyHash
7676
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::EntityIDResource,
7677
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::UnionMember1
6623
7678
  )
6624
7679
  end
6625
7680
 
6626
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
6627
- # youtube, linkedin, or another stable snake_case identifier.
6628
- sig { returns(String) }
6629
- attr_accessor :type
7681
+ class EntityIDResource < SafetyKit::Internal::Type::BaseModel
7682
+ OrHash =
7683
+ T.type_alias do
7684
+ T.any(
7685
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::EntityIDResource,
7686
+ SafetyKit::Internal::AnyHash
7687
+ )
7688
+ end
6630
7689
 
6631
- # Resource value used during the event. SafetyKit stores a normalized hash of this
6632
- # value, not the raw value. When type is url, this must be a valid URL.
6633
- sig { returns(String) }
6634
- attr_accessor :value
7690
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
7691
+ # urlEncode(namespace) + '/' + urlEncode(value).
7692
+ sig { returns(String) }
7693
+ attr_accessor :namespace
6635
7694
 
6636
- # Real-world or account resource used during the event, such as an email, phone
6637
- # number, address, URL, social handle, or payment identifier.
6638
- sig do
6639
- params(type: String, value: String).returns(T.attached_class)
7695
+ # Caller-defined entity identifier resource.
7696
+ sig do
7697
+ returns(
7698
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::EntityIDResource::Type::OrSymbol
7699
+ )
7700
+ end
7701
+ attr_accessor :type
7702
+
7703
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
7704
+ # encoded namespace/value pair, not the raw value.
7705
+ sig { returns(String) }
7706
+ attr_accessor :value
7707
+
7708
+ # Caller-defined stable entity identifier resource. This is equivalent to an id
7709
+ # resource value of urlEncode(namespace) + '/' + urlEncode(value).
7710
+ sig do
7711
+ params(
7712
+ namespace: String,
7713
+ type:
7714
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::EntityIDResource::Type::OrSymbol,
7715
+ value: String
7716
+ ).returns(T.attached_class)
7717
+ end
7718
+ def self.new(
7719
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
7720
+ # urlEncode(namespace) + '/' + urlEncode(value).
7721
+ namespace:,
7722
+ # Caller-defined entity identifier resource.
7723
+ type:,
7724
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
7725
+ # encoded namespace/value pair, not the raw value.
7726
+ value:
7727
+ )
7728
+ end
7729
+
7730
+ sig do
7731
+ override.returns(
7732
+ {
7733
+ namespace: String,
7734
+ type:
7735
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::EntityIDResource::Type::OrSymbol,
7736
+ value: String
7737
+ }
7738
+ )
7739
+ end
7740
+ def to_hash
7741
+ end
7742
+
7743
+ # Caller-defined entity identifier resource.
7744
+ module Type
7745
+ extend SafetyKit::Internal::Type::Enum
7746
+
7747
+ TaggedSymbol =
7748
+ T.type_alias do
7749
+ T.all(
7750
+ Symbol,
7751
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::EntityIDResource::Type
7752
+ )
7753
+ end
7754
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
7755
+
7756
+ ID =
7757
+ T.let(
7758
+ :id,
7759
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::EntityIDResource::Type::TaggedSymbol
7760
+ )
7761
+
7762
+ sig do
7763
+ override.returns(
7764
+ T::Array[
7765
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::EntityIDResource::Type::TaggedSymbol
7766
+ ]
7767
+ )
7768
+ end
7769
+ def self.values
7770
+ end
7771
+ end
6640
7772
  end
6641
- def self.new(
6642
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
6643
- # youtube, linkedin, or another stable snake_case identifier.
6644
- type:,
7773
+
7774
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
7775
+ OrHash =
7776
+ T.type_alias do
7777
+ T.any(
7778
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::UnionMember1,
7779
+ SafetyKit::Internal::AnyHash
7780
+ )
7781
+ end
7782
+
7783
+ # Resource family, such as email, phone, name, address, url, social handles,
7784
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
7785
+ # resource shape when the value belongs to a caller-defined namespace.
7786
+ sig { returns(String) }
7787
+ attr_accessor :type
7788
+
6645
7789
  # Resource value used during the event. SafetyKit stores a normalized hash of this
6646
7790
  # value, not the raw value. When type is url, this must be a valid URL.
6647
- value:
6648
- )
7791
+ sig { returns(String) }
7792
+ attr_accessor :value
7793
+
7794
+ # Real-world or account resource used during the event, such as an email, phone
7795
+ # number, address, URL, social handle, or payment identifier.
7796
+ sig do
7797
+ params(type: String, value: String).returns(T.attached_class)
7798
+ end
7799
+ def self.new(
7800
+ # Resource family, such as email, phone, name, address, url, social handles,
7801
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
7802
+ # resource shape when the value belongs to a caller-defined namespace.
7803
+ type:,
7804
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
7805
+ # value, not the raw value. When type is url, this must be a valid URL.
7806
+ value:
7807
+ )
7808
+ end
7809
+
7810
+ sig { override.returns({ type: String, value: String }) }
7811
+ def to_hash
7812
+ end
6649
7813
  end
6650
7814
 
6651
- sig { override.returns({ type: String, value: String }) }
6652
- def to_hash
7815
+ sig do
7816
+ override.returns(
7817
+ T::Array[
7818
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed::Variants
7819
+ ]
7820
+ )
7821
+ end
7822
+ def self.variants
6653
7823
  end
6654
7824
  end
6655
7825
  end
@@ -6774,13 +7944,16 @@ module SafetyKit
6774
7944
  attr_writer :metadata
6775
7945
 
6776
7946
  # Reusable resources observed during the event. Use this for emails, phone
6777
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
6778
- # identifiers.
7947
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
7948
+ # caller-defined ids, or similar identifiers.
6779
7949
  sig do
6780
7950
  returns(
6781
7951
  T.nilable(
6782
7952
  T::Array[
6783
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed
7953
+ T.any(
7954
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::EntityIDResource,
7955
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::UnionMember1
7956
+ )
6784
7957
  ]
6785
7958
  )
6786
7959
  )
@@ -6791,7 +7964,10 @@ module SafetyKit
6791
7964
  params(
6792
7965
  resources_used:
6793
7966
  T::Array[
6794
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::OrHash
7967
+ T.any(
7968
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::EntityIDResource::OrHash,
7969
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::UnionMember1::OrHash
7970
+ )
6795
7971
  ]
6796
7972
  ).void
6797
7973
  end
@@ -6824,7 +8000,10 @@ module SafetyKit
6824
8000
  ],
6825
8001
  resources_used:
6826
8002
  T::Array[
6827
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::OrHash
8003
+ T.any(
8004
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::EntityIDResource::OrHash,
8005
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::UnionMember1::OrHash
8006
+ )
6828
8007
  ],
6829
8008
  type: Symbol
6830
8009
  ).returns(T.attached_class)
@@ -6855,8 +8034,8 @@ module SafetyKit
6855
8034
  # be strings, numbers, booleans, or arrays of those scalar values.
6856
8035
  metadata: nil,
6857
8036
  # Reusable resources observed during the event. Use this for emails, phone
6858
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
6859
- # identifiers.
8037
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
8038
+ # caller-defined ids, or similar identifiers.
6860
8039
  resources_used: nil,
6861
8040
  type: :product_changed
6862
8041
  )
@@ -6890,7 +8069,10 @@ module SafetyKit
6890
8069
  ],
6891
8070
  resources_used:
6892
8071
  T::Array[
6893
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed
8072
+ T.any(
8073
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::EntityIDResource,
8074
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::UnionMember1
8075
+ )
6894
8076
  ]
6895
8077
  }
6896
8078
  )
@@ -7500,67 +8682,185 @@ module SafetyKit
7500
8682
  ]
7501
8683
  )
7502
8684
  end
7503
- def self.variants
8685
+ def self.variants
8686
+ end
8687
+ end
8688
+
8689
+ sig do
8690
+ override.returns(
8691
+ T::Array[
8692
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Metadata::Variants
8693
+ ]
8694
+ )
8695
+ end
8696
+ def self.variants
8697
+ end
8698
+
8699
+ UnionMember3Array =
8700
+ T.let(
8701
+ SafetyKit::Internal::Type::ArrayOf[
8702
+ union:
8703
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Metadata::UnionMember3
8704
+ ],
8705
+ SafetyKit::Internal::Type::Converter
8706
+ )
8707
+ end
8708
+
8709
+ # Real-world, account, social, or caller-defined resource used during the event.
8710
+ module ResourcesUsed
8711
+ extend SafetyKit::Internal::Type::Union
8712
+
8713
+ Variants =
8714
+ T.type_alias do
8715
+ T.any(
8716
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::EntityIDResource,
8717
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::UnionMember1
8718
+ )
8719
+ end
8720
+
8721
+ class EntityIDResource < SafetyKit::Internal::Type::BaseModel
8722
+ OrHash =
8723
+ T.type_alias do
8724
+ T.any(
8725
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::EntityIDResource,
8726
+ SafetyKit::Internal::AnyHash
8727
+ )
8728
+ end
8729
+
8730
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
8731
+ # urlEncode(namespace) + '/' + urlEncode(value).
8732
+ sig { returns(String) }
8733
+ attr_accessor :namespace
8734
+
8735
+ # Caller-defined entity identifier resource.
8736
+ sig do
8737
+ returns(
8738
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::EntityIDResource::Type::OrSymbol
8739
+ )
8740
+ end
8741
+ attr_accessor :type
8742
+
8743
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
8744
+ # encoded namespace/value pair, not the raw value.
8745
+ sig { returns(String) }
8746
+ attr_accessor :value
8747
+
8748
+ # Caller-defined stable entity identifier resource. This is equivalent to an id
8749
+ # resource value of urlEncode(namespace) + '/' + urlEncode(value).
8750
+ sig do
8751
+ params(
8752
+ namespace: String,
8753
+ type:
8754
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::EntityIDResource::Type::OrSymbol,
8755
+ value: String
8756
+ ).returns(T.attached_class)
8757
+ end
8758
+ def self.new(
8759
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
8760
+ # urlEncode(namespace) + '/' + urlEncode(value).
8761
+ namespace:,
8762
+ # Caller-defined entity identifier resource.
8763
+ type:,
8764
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
8765
+ # encoded namespace/value pair, not the raw value.
8766
+ value:
8767
+ )
8768
+ end
8769
+
8770
+ sig do
8771
+ override.returns(
8772
+ {
8773
+ namespace: String,
8774
+ type:
8775
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::EntityIDResource::Type::OrSymbol,
8776
+ value: String
8777
+ }
8778
+ )
8779
+ end
8780
+ def to_hash
8781
+ end
8782
+
8783
+ # Caller-defined entity identifier resource.
8784
+ module Type
8785
+ extend SafetyKit::Internal::Type::Enum
8786
+
8787
+ TaggedSymbol =
8788
+ T.type_alias do
8789
+ T.all(
8790
+ Symbol,
8791
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::EntityIDResource::Type
8792
+ )
8793
+ end
8794
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
8795
+
8796
+ ID =
8797
+ T.let(
8798
+ :id,
8799
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::EntityIDResource::Type::TaggedSymbol
8800
+ )
8801
+
8802
+ sig do
8803
+ override.returns(
8804
+ T::Array[
8805
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::EntityIDResource::Type::TaggedSymbol
8806
+ ]
8807
+ )
8808
+ end
8809
+ def self.values
8810
+ end
8811
+ end
8812
+ end
8813
+
8814
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
8815
+ OrHash =
8816
+ T.type_alias do
8817
+ T.any(
8818
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::UnionMember1,
8819
+ SafetyKit::Internal::AnyHash
8820
+ )
8821
+ end
8822
+
8823
+ # Resource family, such as email, phone, name, address, url, social handles,
8824
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
8825
+ # resource shape when the value belongs to a caller-defined namespace.
8826
+ sig { returns(String) }
8827
+ attr_accessor :type
8828
+
8829
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
8830
+ # value, not the raw value. When type is url, this must be a valid URL.
8831
+ sig { returns(String) }
8832
+ attr_accessor :value
8833
+
8834
+ # Real-world or account resource used during the event, such as an email, phone
8835
+ # number, address, URL, social handle, or payment identifier.
8836
+ sig do
8837
+ params(type: String, value: String).returns(T.attached_class)
8838
+ end
8839
+ def self.new(
8840
+ # Resource family, such as email, phone, name, address, url, social handles,
8841
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
8842
+ # resource shape when the value belongs to a caller-defined namespace.
8843
+ type:,
8844
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
8845
+ # value, not the raw value. When type is url, this must be a valid URL.
8846
+ value:
8847
+ )
8848
+ end
8849
+
8850
+ sig { override.returns({ type: String, value: String }) }
8851
+ def to_hash
7504
8852
  end
7505
8853
  end
7506
8854
 
7507
8855
  sig do
7508
8856
  override.returns(
7509
8857
  T::Array[
7510
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Metadata::Variants
8858
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed::Variants
7511
8859
  ]
7512
8860
  )
7513
8861
  end
7514
8862
  def self.variants
7515
8863
  end
7516
-
7517
- UnionMember3Array =
7518
- T.let(
7519
- SafetyKit::Internal::Type::ArrayOf[
7520
- union:
7521
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Metadata::UnionMember3
7522
- ],
7523
- SafetyKit::Internal::Type::Converter
7524
- )
7525
- end
7526
-
7527
- class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
7528
- OrHash =
7529
- T.type_alias do
7530
- T.any(
7531
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed,
7532
- SafetyKit::Internal::AnyHash
7533
- )
7534
- end
7535
-
7536
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
7537
- # youtube, linkedin, or another stable snake_case identifier.
7538
- sig { returns(String) }
7539
- attr_accessor :type
7540
-
7541
- # Resource value used during the event. SafetyKit stores a normalized hash of this
7542
- # value, not the raw value. When type is url, this must be a valid URL.
7543
- sig { returns(String) }
7544
- attr_accessor :value
7545
-
7546
- # Real-world or account resource used during the event, such as an email, phone
7547
- # number, address, URL, social handle, or payment identifier.
7548
- sig do
7549
- params(type: String, value: String).returns(T.attached_class)
7550
- end
7551
- def self.new(
7552
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
7553
- # youtube, linkedin, or another stable snake_case identifier.
7554
- type:,
7555
- # Resource value used during the event. SafetyKit stores a normalized hash of this
7556
- # value, not the raw value. When type is url, this must be a valid URL.
7557
- value:
7558
- )
7559
- end
7560
-
7561
- sig { override.returns({ type: String, value: String }) }
7562
- def to_hash
7563
- end
7564
8864
  end
7565
8865
  end
7566
8866
 
@@ -7680,13 +8980,16 @@ module SafetyKit
7680
8980
  attr_writer :metadata
7681
8981
 
7682
8982
  # Reusable resources observed during the event. Use this for emails, phone
7683
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
7684
- # identifiers.
8983
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
8984
+ # caller-defined ids, or similar identifiers.
7685
8985
  sig do
7686
8986
  returns(
7687
8987
  T.nilable(
7688
8988
  T::Array[
7689
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed
8989
+ T.any(
8990
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::EntityIDResource,
8991
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::UnionMember1
8992
+ )
7690
8993
  ]
7691
8994
  )
7692
8995
  )
@@ -7697,7 +9000,10 @@ module SafetyKit
7697
9000
  params(
7698
9001
  resources_used:
7699
9002
  T::Array[
7700
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::OrHash
9003
+ T.any(
9004
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::EntityIDResource::OrHash,
9005
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::UnionMember1::OrHash
9006
+ )
7701
9007
  ]
7702
9008
  ).void
7703
9009
  end
@@ -7727,7 +9033,10 @@ module SafetyKit
7727
9033
  ],
7728
9034
  resources_used:
7729
9035
  T::Array[
7730
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::OrHash
9036
+ T.any(
9037
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::EntityIDResource::OrHash,
9038
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::UnionMember1::OrHash
9039
+ )
7731
9040
  ],
7732
9041
  type: Symbol
7733
9042
  ).returns(T.attached_class)
@@ -7757,8 +9066,8 @@ module SafetyKit
7757
9066
  # be strings, numbers, booleans, or arrays of those scalar values.
7758
9067
  metadata: nil,
7759
9068
  # Reusable resources observed during the event. Use this for emails, phone
7760
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
7761
- # identifiers.
9069
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
9070
+ # caller-defined ids, or similar identifiers.
7762
9071
  resources_used: nil,
7763
9072
  type: :create_account
7764
9073
  )
@@ -7789,7 +9098,10 @@ module SafetyKit
7789
9098
  ],
7790
9099
  resources_used:
7791
9100
  T::Array[
7792
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed
9101
+ T.any(
9102
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::EntityIDResource,
9103
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::UnionMember1
9104
+ )
7793
9105
  ]
7794
9106
  }
7795
9107
  )
@@ -8177,42 +9489,160 @@ module SafetyKit
8177
9489
  )
8178
9490
  end
8179
9491
 
8180
- class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
8181
- OrHash =
9492
+ # Real-world, account, social, or caller-defined resource used during the event.
9493
+ module ResourcesUsed
9494
+ extend SafetyKit::Internal::Type::Union
9495
+
9496
+ Variants =
8182
9497
  T.type_alias do
8183
9498
  T.any(
8184
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed,
8185
- SafetyKit::Internal::AnyHash
9499
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::EntityIDResource,
9500
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::UnionMember1
8186
9501
  )
8187
9502
  end
8188
9503
 
8189
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
8190
- # youtube, linkedin, or another stable snake_case identifier.
8191
- sig { returns(String) }
8192
- attr_accessor :type
9504
+ class EntityIDResource < SafetyKit::Internal::Type::BaseModel
9505
+ OrHash =
9506
+ T.type_alias do
9507
+ T.any(
9508
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::EntityIDResource,
9509
+ SafetyKit::Internal::AnyHash
9510
+ )
9511
+ end
8193
9512
 
8194
- # Resource value used during the event. SafetyKit stores a normalized hash of this
8195
- # value, not the raw value. When type is url, this must be a valid URL.
8196
- sig { returns(String) }
8197
- attr_accessor :value
9513
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
9514
+ # urlEncode(namespace) + '/' + urlEncode(value).
9515
+ sig { returns(String) }
9516
+ attr_accessor :namespace
8198
9517
 
8199
- # Real-world or account resource used during the event, such as an email, phone
8200
- # number, address, URL, social handle, or payment identifier.
8201
- sig do
8202
- params(type: String, value: String).returns(T.attached_class)
9518
+ # Caller-defined entity identifier resource.
9519
+ sig do
9520
+ returns(
9521
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::EntityIDResource::Type::OrSymbol
9522
+ )
9523
+ end
9524
+ attr_accessor :type
9525
+
9526
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
9527
+ # encoded namespace/value pair, not the raw value.
9528
+ sig { returns(String) }
9529
+ attr_accessor :value
9530
+
9531
+ # Caller-defined stable entity identifier resource. This is equivalent to an id
9532
+ # resource value of urlEncode(namespace) + '/' + urlEncode(value).
9533
+ sig do
9534
+ params(
9535
+ namespace: String,
9536
+ type:
9537
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::EntityIDResource::Type::OrSymbol,
9538
+ value: String
9539
+ ).returns(T.attached_class)
9540
+ end
9541
+ def self.new(
9542
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
9543
+ # urlEncode(namespace) + '/' + urlEncode(value).
9544
+ namespace:,
9545
+ # Caller-defined entity identifier resource.
9546
+ type:,
9547
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
9548
+ # encoded namespace/value pair, not the raw value.
9549
+ value:
9550
+ )
9551
+ end
9552
+
9553
+ sig do
9554
+ override.returns(
9555
+ {
9556
+ namespace: String,
9557
+ type:
9558
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::EntityIDResource::Type::OrSymbol,
9559
+ value: String
9560
+ }
9561
+ )
9562
+ end
9563
+ def to_hash
9564
+ end
9565
+
9566
+ # Caller-defined entity identifier resource.
9567
+ module Type
9568
+ extend SafetyKit::Internal::Type::Enum
9569
+
9570
+ TaggedSymbol =
9571
+ T.type_alias do
9572
+ T.all(
9573
+ Symbol,
9574
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::EntityIDResource::Type
9575
+ )
9576
+ end
9577
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
9578
+
9579
+ ID =
9580
+ T.let(
9581
+ :id,
9582
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::EntityIDResource::Type::TaggedSymbol
9583
+ )
9584
+
9585
+ sig do
9586
+ override.returns(
9587
+ T::Array[
9588
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::EntityIDResource::Type::TaggedSymbol
9589
+ ]
9590
+ )
9591
+ end
9592
+ def self.values
9593
+ end
9594
+ end
8203
9595
  end
8204
- def self.new(
8205
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
8206
- # youtube, linkedin, or another stable snake_case identifier.
8207
- type:,
9596
+
9597
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
9598
+ OrHash =
9599
+ T.type_alias do
9600
+ T.any(
9601
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::UnionMember1,
9602
+ SafetyKit::Internal::AnyHash
9603
+ )
9604
+ end
9605
+
9606
+ # Resource family, such as email, phone, name, address, url, social handles,
9607
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
9608
+ # resource shape when the value belongs to a caller-defined namespace.
9609
+ sig { returns(String) }
9610
+ attr_accessor :type
9611
+
8208
9612
  # Resource value used during the event. SafetyKit stores a normalized hash of this
8209
9613
  # value, not the raw value. When type is url, this must be a valid URL.
8210
- value:
8211
- )
9614
+ sig { returns(String) }
9615
+ attr_accessor :value
9616
+
9617
+ # Real-world or account resource used during the event, such as an email, phone
9618
+ # number, address, URL, social handle, or payment identifier.
9619
+ sig do
9620
+ params(type: String, value: String).returns(T.attached_class)
9621
+ end
9622
+ def self.new(
9623
+ # Resource family, such as email, phone, name, address, url, social handles,
9624
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
9625
+ # resource shape when the value belongs to a caller-defined namespace.
9626
+ type:,
9627
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
9628
+ # value, not the raw value. When type is url, this must be a valid URL.
9629
+ value:
9630
+ )
9631
+ end
9632
+
9633
+ sig { override.returns({ type: String, value: String }) }
9634
+ def to_hash
9635
+ end
8212
9636
  end
8213
9637
 
8214
- sig { override.returns({ type: String, value: String }) }
8215
- def to_hash
9638
+ sig do
9639
+ override.returns(
9640
+ T::Array[
9641
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed::Variants
9642
+ ]
9643
+ )
9644
+ end
9645
+ def self.variants
8216
9646
  end
8217
9647
  end
8218
9648
  end
@@ -8333,13 +9763,16 @@ module SafetyKit
8333
9763
  attr_writer :metadata
8334
9764
 
8335
9765
  # Reusable resources observed during the event. Use this for emails, phone
8336
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
8337
- # identifiers.
9766
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
9767
+ # caller-defined ids, or similar identifiers.
8338
9768
  sig do
8339
9769
  returns(
8340
9770
  T.nilable(
8341
9771
  T::Array[
8342
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed
9772
+ T.any(
9773
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::EntityIDResource,
9774
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::UnionMember1
9775
+ )
8343
9776
  ]
8344
9777
  )
8345
9778
  )
@@ -8350,7 +9783,10 @@ module SafetyKit
8350
9783
  params(
8351
9784
  resources_used:
8352
9785
  T::Array[
8353
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::OrHash
9786
+ T.any(
9787
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::EntityIDResource::OrHash,
9788
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::UnionMember1::OrHash
9789
+ )
8354
9790
  ]
8355
9791
  ).void
8356
9792
  end
@@ -8381,7 +9817,10 @@ module SafetyKit
8381
9817
  ],
8382
9818
  resources_used:
8383
9819
  T::Array[
8384
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::OrHash
9820
+ T.any(
9821
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::EntityIDResource::OrHash,
9822
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::UnionMember1::OrHash
9823
+ )
8385
9824
  ],
8386
9825
  type: Symbol
8387
9826
  ).returns(T.attached_class)
@@ -8411,8 +9850,8 @@ module SafetyKit
8411
9850
  # be strings, numbers, booleans, or arrays of those scalar values.
8412
9851
  metadata: nil,
8413
9852
  # Reusable resources observed during the event. Use this for emails, phone
8414
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
8415
- # identifiers.
9853
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
9854
+ # caller-defined ids, or similar identifiers.
8416
9855
  resources_used: nil,
8417
9856
  type: :update_account
8418
9857
  )
@@ -8443,7 +9882,10 @@ module SafetyKit
8443
9882
  ],
8444
9883
  resources_used:
8445
9884
  T::Array[
8446
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed
9885
+ T.any(
9886
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::EntityIDResource,
9887
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::UnionMember1
9888
+ )
8447
9889
  ]
8448
9890
  }
8449
9891
  )
@@ -8831,42 +10273,160 @@ module SafetyKit
8831
10273
  )
8832
10274
  end
8833
10275
 
8834
- class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
8835
- OrHash =
10276
+ # Real-world, account, social, or caller-defined resource used during the event.
10277
+ module ResourcesUsed
10278
+ extend SafetyKit::Internal::Type::Union
10279
+
10280
+ Variants =
8836
10281
  T.type_alias do
8837
10282
  T.any(
8838
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed,
8839
- SafetyKit::Internal::AnyHash
10283
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::EntityIDResource,
10284
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::UnionMember1
8840
10285
  )
8841
10286
  end
8842
10287
 
8843
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
8844
- # youtube, linkedin, or another stable snake_case identifier.
8845
- sig { returns(String) }
8846
- attr_accessor :type
10288
+ class EntityIDResource < SafetyKit::Internal::Type::BaseModel
10289
+ OrHash =
10290
+ T.type_alias do
10291
+ T.any(
10292
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::EntityIDResource,
10293
+ SafetyKit::Internal::AnyHash
10294
+ )
10295
+ end
8847
10296
 
8848
- # Resource value used during the event. SafetyKit stores a normalized hash of this
8849
- # value, not the raw value. When type is url, this must be a valid URL.
8850
- sig { returns(String) }
8851
- attr_accessor :value
10297
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
10298
+ # urlEncode(namespace) + '/' + urlEncode(value).
10299
+ sig { returns(String) }
10300
+ attr_accessor :namespace
8852
10301
 
8853
- # Real-world or account resource used during the event, such as an email, phone
8854
- # number, address, URL, social handle, or payment identifier.
8855
- sig do
8856
- params(type: String, value: String).returns(T.attached_class)
10302
+ # Caller-defined entity identifier resource.
10303
+ sig do
10304
+ returns(
10305
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::EntityIDResource::Type::OrSymbol
10306
+ )
10307
+ end
10308
+ attr_accessor :type
10309
+
10310
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
10311
+ # encoded namespace/value pair, not the raw value.
10312
+ sig { returns(String) }
10313
+ attr_accessor :value
10314
+
10315
+ # Caller-defined stable entity identifier resource. This is equivalent to an id
10316
+ # resource value of urlEncode(namespace) + '/' + urlEncode(value).
10317
+ sig do
10318
+ params(
10319
+ namespace: String,
10320
+ type:
10321
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::EntityIDResource::Type::OrSymbol,
10322
+ value: String
10323
+ ).returns(T.attached_class)
10324
+ end
10325
+ def self.new(
10326
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
10327
+ # urlEncode(namespace) + '/' + urlEncode(value).
10328
+ namespace:,
10329
+ # Caller-defined entity identifier resource.
10330
+ type:,
10331
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
10332
+ # encoded namespace/value pair, not the raw value.
10333
+ value:
10334
+ )
10335
+ end
10336
+
10337
+ sig do
10338
+ override.returns(
10339
+ {
10340
+ namespace: String,
10341
+ type:
10342
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::EntityIDResource::Type::OrSymbol,
10343
+ value: String
10344
+ }
10345
+ )
10346
+ end
10347
+ def to_hash
10348
+ end
10349
+
10350
+ # Caller-defined entity identifier resource.
10351
+ module Type
10352
+ extend SafetyKit::Internal::Type::Enum
10353
+
10354
+ TaggedSymbol =
10355
+ T.type_alias do
10356
+ T.all(
10357
+ Symbol,
10358
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::EntityIDResource::Type
10359
+ )
10360
+ end
10361
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
10362
+
10363
+ ID =
10364
+ T.let(
10365
+ :id,
10366
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::EntityIDResource::Type::TaggedSymbol
10367
+ )
10368
+
10369
+ sig do
10370
+ override.returns(
10371
+ T::Array[
10372
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::EntityIDResource::Type::TaggedSymbol
10373
+ ]
10374
+ )
10375
+ end
10376
+ def self.values
10377
+ end
10378
+ end
8857
10379
  end
8858
- def self.new(
8859
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
8860
- # youtube, linkedin, or another stable snake_case identifier.
8861
- type:,
10380
+
10381
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
10382
+ OrHash =
10383
+ T.type_alias do
10384
+ T.any(
10385
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::UnionMember1,
10386
+ SafetyKit::Internal::AnyHash
10387
+ )
10388
+ end
10389
+
10390
+ # Resource family, such as email, phone, name, address, url, social handles,
10391
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
10392
+ # resource shape when the value belongs to a caller-defined namespace.
10393
+ sig { returns(String) }
10394
+ attr_accessor :type
10395
+
8862
10396
  # Resource value used during the event. SafetyKit stores a normalized hash of this
8863
10397
  # value, not the raw value. When type is url, this must be a valid URL.
8864
- value:
8865
- )
10398
+ sig { returns(String) }
10399
+ attr_accessor :value
10400
+
10401
+ # Real-world or account resource used during the event, such as an email, phone
10402
+ # number, address, URL, social handle, or payment identifier.
10403
+ sig do
10404
+ params(type: String, value: String).returns(T.attached_class)
10405
+ end
10406
+ def self.new(
10407
+ # Resource family, such as email, phone, name, address, url, social handles,
10408
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
10409
+ # resource shape when the value belongs to a caller-defined namespace.
10410
+ type:,
10411
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
10412
+ # value, not the raw value. When type is url, this must be a valid URL.
10413
+ value:
10414
+ )
10415
+ end
10416
+
10417
+ sig { override.returns({ type: String, value: String }) }
10418
+ def to_hash
10419
+ end
8866
10420
  end
8867
10421
 
8868
- sig { override.returns({ type: String, value: String }) }
8869
- def to_hash
10422
+ sig do
10423
+ override.returns(
10424
+ T::Array[
10425
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed::Variants
10426
+ ]
10427
+ )
10428
+ end
10429
+ def self.variants
8870
10430
  end
8871
10431
  end
8872
10432
  end
@@ -8991,13 +10551,16 @@ module SafetyKit
8991
10551
  attr_writer :metadata
8992
10552
 
8993
10553
  # Reusable resources observed during the event. Use this for emails, phone
8994
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
8995
- # identifiers.
10554
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
10555
+ # caller-defined ids, or similar identifiers.
8996
10556
  sig do
8997
10557
  returns(
8998
10558
  T.nilable(
8999
10559
  T::Array[
9000
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed
10560
+ T.any(
10561
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::EntityIDResource,
10562
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::UnionMember1
10563
+ )
9001
10564
  ]
9002
10565
  )
9003
10566
  )
@@ -9008,7 +10571,10 @@ module SafetyKit
9008
10571
  params(
9009
10572
  resources_used:
9010
10573
  T::Array[
9011
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::OrHash
10574
+ T.any(
10575
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::EntityIDResource::OrHash,
10576
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::UnionMember1::OrHash
10577
+ )
9012
10578
  ]
9013
10579
  ).void
9014
10580
  end
@@ -9056,7 +10622,10 @@ module SafetyKit
9056
10622
  ],
9057
10623
  resources_used:
9058
10624
  T::Array[
9059
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::OrHash
10625
+ T.any(
10626
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::EntityIDResource::OrHash,
10627
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::UnionMember1::OrHash
10628
+ )
9060
10629
  ],
9061
10630
  target_content_id: String,
9062
10631
  target_user_id: String,
@@ -9090,8 +10659,8 @@ module SafetyKit
9090
10659
  # be strings, numbers, booleans, or arrays of those scalar values.
9091
10660
  metadata: nil,
9092
10661
  # Reusable resources observed during the event. Use this for emails, phone
9093
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
9094
- # identifiers.
10662
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
10663
+ # caller-defined ids, or similar identifiers.
9095
10664
  resources_used: nil,
9096
10665
  # Your stable identifier for the content being reported.
9097
10666
  target_content_id: nil,
@@ -9127,7 +10696,10 @@ module SafetyKit
9127
10696
  ],
9128
10697
  resources_used:
9129
10698
  T::Array[
9130
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed
10699
+ T.any(
10700
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::EntityIDResource,
10701
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::UnionMember1
10702
+ )
9131
10703
  ],
9132
10704
  target_content_id: String,
9133
10705
  target_user_id: String
@@ -9517,42 +11089,160 @@ module SafetyKit
9517
11089
  )
9518
11090
  end
9519
11091
 
9520
- class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
9521
- OrHash =
11092
+ # Real-world, account, social, or caller-defined resource used during the event.
11093
+ module ResourcesUsed
11094
+ extend SafetyKit::Internal::Type::Union
11095
+
11096
+ Variants =
9522
11097
  T.type_alias do
9523
11098
  T.any(
9524
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed,
9525
- SafetyKit::Internal::AnyHash
11099
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::EntityIDResource,
11100
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::UnionMember1
9526
11101
  )
9527
11102
  end
9528
11103
 
9529
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
9530
- # youtube, linkedin, or another stable snake_case identifier.
9531
- sig { returns(String) }
9532
- attr_accessor :type
11104
+ class EntityIDResource < SafetyKit::Internal::Type::BaseModel
11105
+ OrHash =
11106
+ T.type_alias do
11107
+ T.any(
11108
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::EntityIDResource,
11109
+ SafetyKit::Internal::AnyHash
11110
+ )
11111
+ end
9533
11112
 
9534
- # Resource value used during the event. SafetyKit stores a normalized hash of this
9535
- # value, not the raw value. When type is url, this must be a valid URL.
9536
- sig { returns(String) }
9537
- attr_accessor :value
11113
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
11114
+ # urlEncode(namespace) + '/' + urlEncode(value).
11115
+ sig { returns(String) }
11116
+ attr_accessor :namespace
9538
11117
 
9539
- # Real-world or account resource used during the event, such as an email, phone
9540
- # number, address, URL, social handle, or payment identifier.
9541
- sig do
9542
- params(type: String, value: String).returns(T.attached_class)
11118
+ # Caller-defined entity identifier resource.
11119
+ sig do
11120
+ returns(
11121
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::EntityIDResource::Type::OrSymbol
11122
+ )
11123
+ end
11124
+ attr_accessor :type
11125
+
11126
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
11127
+ # encoded namespace/value pair, not the raw value.
11128
+ sig { returns(String) }
11129
+ attr_accessor :value
11130
+
11131
+ # Caller-defined stable entity identifier resource. This is equivalent to an id
11132
+ # resource value of urlEncode(namespace) + '/' + urlEncode(value).
11133
+ sig do
11134
+ params(
11135
+ namespace: String,
11136
+ type:
11137
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::EntityIDResource::Type::OrSymbol,
11138
+ value: String
11139
+ ).returns(T.attached_class)
11140
+ end
11141
+ def self.new(
11142
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
11143
+ # urlEncode(namespace) + '/' + urlEncode(value).
11144
+ namespace:,
11145
+ # Caller-defined entity identifier resource.
11146
+ type:,
11147
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
11148
+ # encoded namespace/value pair, not the raw value.
11149
+ value:
11150
+ )
11151
+ end
11152
+
11153
+ sig do
11154
+ override.returns(
11155
+ {
11156
+ namespace: String,
11157
+ type:
11158
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::EntityIDResource::Type::OrSymbol,
11159
+ value: String
11160
+ }
11161
+ )
11162
+ end
11163
+ def to_hash
11164
+ end
11165
+
11166
+ # Caller-defined entity identifier resource.
11167
+ module Type
11168
+ extend SafetyKit::Internal::Type::Enum
11169
+
11170
+ TaggedSymbol =
11171
+ T.type_alias do
11172
+ T.all(
11173
+ Symbol,
11174
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::EntityIDResource::Type
11175
+ )
11176
+ end
11177
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
11178
+
11179
+ ID =
11180
+ T.let(
11181
+ :id,
11182
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::EntityIDResource::Type::TaggedSymbol
11183
+ )
11184
+
11185
+ sig do
11186
+ override.returns(
11187
+ T::Array[
11188
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::EntityIDResource::Type::TaggedSymbol
11189
+ ]
11190
+ )
11191
+ end
11192
+ def self.values
11193
+ end
11194
+ end
9543
11195
  end
9544
- def self.new(
9545
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
9546
- # youtube, linkedin, or another stable snake_case identifier.
9547
- type:,
11196
+
11197
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
11198
+ OrHash =
11199
+ T.type_alias do
11200
+ T.any(
11201
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::UnionMember1,
11202
+ SafetyKit::Internal::AnyHash
11203
+ )
11204
+ end
11205
+
11206
+ # Resource family, such as email, phone, name, address, url, social handles,
11207
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
11208
+ # resource shape when the value belongs to a caller-defined namespace.
11209
+ sig { returns(String) }
11210
+ attr_accessor :type
11211
+
9548
11212
  # Resource value used during the event. SafetyKit stores a normalized hash of this
9549
11213
  # value, not the raw value. When type is url, this must be a valid URL.
9550
- value:
9551
- )
11214
+ sig { returns(String) }
11215
+ attr_accessor :value
11216
+
11217
+ # Real-world or account resource used during the event, such as an email, phone
11218
+ # number, address, URL, social handle, or payment identifier.
11219
+ sig do
11220
+ params(type: String, value: String).returns(T.attached_class)
11221
+ end
11222
+ def self.new(
11223
+ # Resource family, such as email, phone, name, address, url, social handles,
11224
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
11225
+ # resource shape when the value belongs to a caller-defined namespace.
11226
+ type:,
11227
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
11228
+ # value, not the raw value. When type is url, this must be a valid URL.
11229
+ value:
11230
+ )
11231
+ end
11232
+
11233
+ sig { override.returns({ type: String, value: String }) }
11234
+ def to_hash
11235
+ end
9552
11236
  end
9553
11237
 
9554
- sig { override.returns({ type: String, value: String }) }
9555
- def to_hash
11238
+ sig do
11239
+ override.returns(
11240
+ T::Array[
11241
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed::Variants
11242
+ ]
11243
+ )
11244
+ end
11245
+ def self.variants
9556
11246
  end
9557
11247
  end
9558
11248
  end
@@ -9691,13 +11381,16 @@ module SafetyKit
9691
11381
  attr_writer :metadata
9692
11382
 
9693
11383
  # Reusable resources observed during the event. Use this for emails, phone
9694
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
9695
- # identifiers.
11384
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
11385
+ # caller-defined ids, or similar identifiers.
9696
11386
  sig do
9697
11387
  returns(
9698
11388
  T.nilable(
9699
11389
  T::Array[
9700
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed
11390
+ T.any(
11391
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::EntityIDResource,
11392
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::UnionMember1
11393
+ )
9701
11394
  ]
9702
11395
  )
9703
11396
  )
@@ -9708,7 +11401,10 @@ module SafetyKit
9708
11401
  params(
9709
11402
  resources_used:
9710
11403
  T::Array[
9711
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::OrHash
11404
+ T.any(
11405
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::EntityIDResource::OrHash,
11406
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::UnionMember1::OrHash
11407
+ )
9712
11408
  ]
9713
11409
  ).void
9714
11410
  end
@@ -9757,7 +11453,10 @@ module SafetyKit
9757
11453
  ],
9758
11454
  resources_used:
9759
11455
  T::Array[
9760
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::OrHash
11456
+ T.any(
11457
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::EntityIDResource::OrHash,
11458
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::UnionMember1::OrHash
11459
+ )
9761
11460
  ],
9762
11461
  target_content_id: String,
9763
11462
  target_user_id: String,
@@ -9799,8 +11498,8 @@ module SafetyKit
9799
11498
  # be strings, numbers, booleans, or arrays of those scalar values.
9800
11499
  metadata: nil,
9801
11500
  # Reusable resources observed during the event. Use this for emails, phone
9802
- # numbers, names, addresses, social handles, URLs, payment identifiers, or similar
9803
- # identifiers.
11501
+ # numbers, names, addresses, social handles, URLs, payment identifiers,
11502
+ # caller-defined ids, or similar identifiers.
9804
11503
  resources_used: nil,
9805
11504
  # Your stable identifier for the content being reported.
9806
11505
  target_content_id: nil,
@@ -9838,7 +11537,10 @@ module SafetyKit
9838
11537
  ],
9839
11538
  resources_used:
9840
11539
  T::Array[
9841
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed
11540
+ T.any(
11541
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::EntityIDResource,
11542
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::UnionMember1
11543
+ )
9842
11544
  ],
9843
11545
  target_content_id: String,
9844
11546
  target_user_id: String
@@ -10277,42 +11979,160 @@ module SafetyKit
10277
11979
  )
10278
11980
  end
10279
11981
 
10280
- class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
10281
- OrHash =
11982
+ # Real-world, account, social, or caller-defined resource used during the event.
11983
+ module ResourcesUsed
11984
+ extend SafetyKit::Internal::Type::Union
11985
+
11986
+ Variants =
10282
11987
  T.type_alias do
10283
11988
  T.any(
10284
- SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed,
10285
- SafetyKit::Internal::AnyHash
11989
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::EntityIDResource,
11990
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::UnionMember1
10286
11991
  )
10287
11992
  end
10288
11993
 
10289
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
10290
- # youtube, linkedin, or another stable snake_case identifier.
10291
- sig { returns(String) }
10292
- attr_accessor :type
11994
+ class EntityIDResource < SafetyKit::Internal::Type::BaseModel
11995
+ OrHash =
11996
+ T.type_alias do
11997
+ T.any(
11998
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::EntityIDResource,
11999
+ SafetyKit::Internal::AnyHash
12000
+ )
12001
+ end
10293
12002
 
10294
- # Resource value used during the event. SafetyKit stores a normalized hash of this
10295
- # value, not the raw value. When type is url, this must be a valid URL.
10296
- sig { returns(String) }
10297
- attr_accessor :value
12003
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
12004
+ # urlEncode(namespace) + '/' + urlEncode(value).
12005
+ sig { returns(String) }
12006
+ attr_accessor :namespace
10298
12007
 
10299
- # Real-world or account resource used during the event, such as an email, phone
10300
- # number, address, URL, social handle, or payment identifier.
10301
- sig do
10302
- params(type: String, value: String).returns(T.attached_class)
12008
+ # Caller-defined entity identifier resource.
12009
+ sig do
12010
+ returns(
12011
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::EntityIDResource::Type::OrSymbol
12012
+ )
12013
+ end
12014
+ attr_accessor :type
12015
+
12016
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
12017
+ # encoded namespace/value pair, not the raw value.
12018
+ sig { returns(String) }
12019
+ attr_accessor :value
12020
+
12021
+ # Caller-defined stable entity identifier resource. This is equivalent to an id
12022
+ # resource value of urlEncode(namespace) + '/' + urlEncode(value).
12023
+ sig do
12024
+ params(
12025
+ namespace: String,
12026
+ type:
12027
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::EntityIDResource::Type::OrSymbol,
12028
+ value: String
12029
+ ).returns(T.attached_class)
12030
+ end
12031
+ def self.new(
12032
+ # Caller-defined namespace for the identifier. SafetyKit stores this with value as
12033
+ # urlEncode(namespace) + '/' + urlEncode(value).
12034
+ namespace:,
12035
+ # Caller-defined entity identifier resource.
12036
+ type:,
12037
+ # Identifier value within namespace. SafetyKit stores a normalized hash of the
12038
+ # encoded namespace/value pair, not the raw value.
12039
+ value:
12040
+ )
12041
+ end
12042
+
12043
+ sig do
12044
+ override.returns(
12045
+ {
12046
+ namespace: String,
12047
+ type:
12048
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::EntityIDResource::Type::OrSymbol,
12049
+ value: String
12050
+ }
12051
+ )
12052
+ end
12053
+ def to_hash
12054
+ end
12055
+
12056
+ # Caller-defined entity identifier resource.
12057
+ module Type
12058
+ extend SafetyKit::Internal::Type::Enum
12059
+
12060
+ TaggedSymbol =
12061
+ T.type_alias do
12062
+ T.all(
12063
+ Symbol,
12064
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::EntityIDResource::Type
12065
+ )
12066
+ end
12067
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
12068
+
12069
+ ID =
12070
+ T.let(
12071
+ :id,
12072
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::EntityIDResource::Type::TaggedSymbol
12073
+ )
12074
+
12075
+ sig do
12076
+ override.returns(
12077
+ T::Array[
12078
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::EntityIDResource::Type::TaggedSymbol
12079
+ ]
12080
+ )
12081
+ end
12082
+ def self.values
12083
+ end
12084
+ end
10303
12085
  end
10304
- def self.new(
10305
- # Resource family, such as email, phone, name, address, url, instagram, tiktok,
10306
- # youtube, linkedin, or another stable snake_case identifier.
10307
- type:,
12086
+
12087
+ class UnionMember1 < SafetyKit::Internal::Type::BaseModel
12088
+ OrHash =
12089
+ T.type_alias do
12090
+ T.any(
12091
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::UnionMember1,
12092
+ SafetyKit::Internal::AnyHash
12093
+ )
12094
+ end
12095
+
12096
+ # Resource family, such as email, phone, name, address, url, social handles,
12097
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
12098
+ # resource shape when the value belongs to a caller-defined namespace.
12099
+ sig { returns(String) }
12100
+ attr_accessor :type
12101
+
10308
12102
  # Resource value used during the event. SafetyKit stores a normalized hash of this
10309
12103
  # value, not the raw value. When type is url, this must be a valid URL.
10310
- value:
10311
- )
12104
+ sig { returns(String) }
12105
+ attr_accessor :value
12106
+
12107
+ # Real-world or account resource used during the event, such as an email, phone
12108
+ # number, address, URL, social handle, or payment identifier.
12109
+ sig do
12110
+ params(type: String, value: String).returns(T.attached_class)
12111
+ end
12112
+ def self.new(
12113
+ # Resource family, such as email, phone, name, address, url, social handles,
12114
+ # payment identifiers, or another stable snake_case identifier. Use the entity ID
12115
+ # resource shape when the value belongs to a caller-defined namespace.
12116
+ type:,
12117
+ # Resource value used during the event. SafetyKit stores a normalized hash of this
12118
+ # value, not the raw value. When type is url, this must be a valid URL.
12119
+ value:
12120
+ )
12121
+ end
12122
+
12123
+ sig { override.returns({ type: String, value: String }) }
12124
+ def to_hash
12125
+ end
10312
12126
  end
10313
12127
 
10314
- sig { override.returns({ type: String, value: String }) }
10315
- def to_hash
12128
+ sig do
12129
+ override.returns(
12130
+ T::Array[
12131
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed::Variants
12132
+ ]
12133
+ )
12134
+ end
12135
+ def self.variants
10316
12136
  end
10317
12137
  end
10318
12138
  end