safetykit 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.ignore +2 -0
- data/CHANGELOG.md +47 -0
- data/README.md +208 -0
- data/SECURITY.md +27 -0
- data/lib/safety_kit/client.rb +111 -0
- data/lib/safety_kit/errors.rb +228 -0
- data/lib/safety_kit/file_part.rb +58 -0
- data/lib/safety_kit/internal/transport/base_client.rb +575 -0
- data/lib/safety_kit/internal/transport/pooled_net_requester.rb +210 -0
- data/lib/safety_kit/internal/type/array_of.rb +168 -0
- data/lib/safety_kit/internal/type/base_model.rb +529 -0
- data/lib/safety_kit/internal/type/base_page.rb +55 -0
- data/lib/safety_kit/internal/type/boolean.rb +77 -0
- data/lib/safety_kit/internal/type/converter.rb +327 -0
- data/lib/safety_kit/internal/type/enum.rb +131 -0
- data/lib/safety_kit/internal/type/file_input.rb +111 -0
- data/lib/safety_kit/internal/type/hash_of.rb +188 -0
- data/lib/safety_kit/internal/type/request_parameters.rb +42 -0
- data/lib/safety_kit/internal/type/union.rb +237 -0
- data/lib/safety_kit/internal/type/unknown.rb +81 -0
- data/lib/safety_kit/internal/util.rb +966 -0
- data/lib/safety_kit/internal.rb +20 -0
- data/lib/safety_kit/models/agent_decision_create_agent_decision_params.rb +68 -0
- data/lib/safety_kit/models/agent_decision_create_agent_decision_response.rb +19 -0
- data/lib/safety_kit/models/beta/event_create_params.rb +1140 -0
- data/lib/safety_kit/models/beta/event_create_response.rb +41 -0
- data/lib/safety_kit/models/client_session_create_session_params.rb +30 -0
- data/lib/safety_kit/models/client_session_create_session_response.rb +19 -0
- data/lib/safety_kit/models/data_add_params.rb +52 -0
- data/lib/safety_kit/models/data_add_response.rb +44 -0
- data/lib/safety_kit/models/data_create_upload_url_params.rb +176 -0
- data/lib/safety_kit/models/data_create_upload_url_response.rb +69 -0
- data/lib/safety_kit/models/data_get_download_url_params.rb +30 -0
- data/lib/safety_kit/models/data_get_download_url_response.rb +80 -0
- data/lib/safety_kit/models/data_get_status_params.rb +30 -0
- data/lib/safety_kit/models/data_get_status_response.rb +128 -0
- data/lib/safety_kit/models/data_object.rb +24 -0
- data/lib/safety_kit/models/data_update_settings_params.rb +176 -0
- data/lib/safety_kit/models/data_update_settings_response.rb +34 -0
- data/lib/safety_kit/models/stream_add_frame_params.rb +50 -0
- data/lib/safety_kit/models/stream_add_frame_response.rb +34 -0
- data/lib/safety_kit/models/stream_add_params.rb +36 -0
- data/lib/safety_kit/models/stream_add_response.rb +34 -0
- data/lib/safety_kit/models/stream_add_transcript_params.rb +43 -0
- data/lib/safety_kit/models/stream_add_transcript_response.rb +34 -0
- data/lib/safety_kit/models.rb +65 -0
- data/lib/safety_kit/request_options.rb +77 -0
- data/lib/safety_kit/resources/agent_decisions.rb +55 -0
- data/lib/safety_kit/resources/beta/events.rb +45 -0
- data/lib/safety_kit/resources/beta.rb +19 -0
- data/lib/safety_kit/resources/client_sessions.rb +42 -0
- data/lib/safety_kit/resources/data.rb +159 -0
- data/lib/safety_kit/resources/streams.rb +113 -0
- data/lib/safety_kit/version.rb +5 -0
- data/lib/safety_kit.rb +84 -0
- data/manifest.yaml +17 -0
- data/rbi/safety_kit/client.rbi +68 -0
- data/rbi/safety_kit/errors.rbi +205 -0
- data/rbi/safety_kit/file_part.rbi +37 -0
- data/rbi/safety_kit/internal/transport/base_client.rbi +298 -0
- data/rbi/safety_kit/internal/transport/pooled_net_requester.rbi +83 -0
- data/rbi/safety_kit/internal/type/array_of.rbi +104 -0
- data/rbi/safety_kit/internal/type/base_model.rbi +308 -0
- data/rbi/safety_kit/internal/type/base_page.rbi +42 -0
- data/rbi/safety_kit/internal/type/boolean.rbi +58 -0
- data/rbi/safety_kit/internal/type/converter.rbi +216 -0
- data/rbi/safety_kit/internal/type/enum.rbi +82 -0
- data/rbi/safety_kit/internal/type/file_input.rbi +59 -0
- data/rbi/safety_kit/internal/type/hash_of.rbi +104 -0
- data/rbi/safety_kit/internal/type/request_parameters.rbi +29 -0
- data/rbi/safety_kit/internal/type/union.rbi +128 -0
- data/rbi/safety_kit/internal/type/unknown.rbi +58 -0
- data/rbi/safety_kit/internal/util.rbi +515 -0
- data/rbi/safety_kit/internal.rbi +18 -0
- data/rbi/safety_kit/models/agent_decision_create_agent_decision_params.rbi +95 -0
- data/rbi/safety_kit/models/agent_decision_create_agent_decision_response.rbi +31 -0
- data/rbi/safety_kit/models/beta/event_create_params.rbi +2379 -0
- data/rbi/safety_kit/models/beta/event_create_response.rbi +87 -0
- data/rbi/safety_kit/models/client_session_create_session_params.rbi +60 -0
- data/rbi/safety_kit/models/client_session_create_session_response.rbi +31 -0
- data/rbi/safety_kit/models/data_add_params.rbi +82 -0
- data/rbi/safety_kit/models/data_add_response.rbi +77 -0
- data/rbi/safety_kit/models/data_create_upload_url_params.rbi +473 -0
- data/rbi/safety_kit/models/data_create_upload_url_response.rbi +113 -0
- data/rbi/safety_kit/models/data_get_download_url_params.rbi +54 -0
- data/rbi/safety_kit/models/data_get_download_url_response.rbi +136 -0
- data/rbi/safety_kit/models/data_get_status_params.rbi +51 -0
- data/rbi/safety_kit/models/data_get_status_response.rbi +264 -0
- data/rbi/safety_kit/models/data_object.rbi +33 -0
- data/rbi/safety_kit/models/data_update_settings_params.rbi +458 -0
- data/rbi/safety_kit/models/data_update_settings_response.rbi +74 -0
- data/rbi/safety_kit/models/stream_add_frame_params.rbi +69 -0
- data/rbi/safety_kit/models/stream_add_frame_response.rbi +71 -0
- data/rbi/safety_kit/models/stream_add_params.rbi +55 -0
- data/rbi/safety_kit/models/stream_add_response.rbi +68 -0
- data/rbi/safety_kit/models/stream_add_transcript_params.rbi +64 -0
- data/rbi/safety_kit/models/stream_add_transcript_response.rbi +77 -0
- data/rbi/safety_kit/models.rbi +29 -0
- data/rbi/safety_kit/request_options.rbi +59 -0
- data/rbi/safety_kit/resources/agent_decisions.rbi +50 -0
- data/rbi/safety_kit/resources/beta/events.rbi +40 -0
- data/rbi/safety_kit/resources/beta.rbi +16 -0
- data/rbi/safety_kit/resources/client_sessions.rbi +33 -0
- data/rbi/safety_kit/resources/data.rbi +126 -0
- data/rbi/safety_kit/resources/streams.rbi +88 -0
- data/rbi/safety_kit/version.rbi +5 -0
- data/sig/safety_kit/client.rbs +34 -0
- data/sig/safety_kit/errors.rbs +117 -0
- data/sig/safety_kit/file_part.rbs +21 -0
- data/sig/safety_kit/internal/transport/base_client.rbs +133 -0
- data/sig/safety_kit/internal/transport/pooled_net_requester.rbs +48 -0
- data/sig/safety_kit/internal/type/array_of.rbs +48 -0
- data/sig/safety_kit/internal/type/base_model.rbs +102 -0
- data/sig/safety_kit/internal/type/base_page.rbs +24 -0
- data/sig/safety_kit/internal/type/boolean.rbs +26 -0
- data/sig/safety_kit/internal/type/converter.rbs +79 -0
- data/sig/safety_kit/internal/type/enum.rbs +32 -0
- data/sig/safety_kit/internal/type/file_input.rbs +25 -0
- data/sig/safety_kit/internal/type/hash_of.rbs +48 -0
- data/sig/safety_kit/internal/type/request_parameters.rbs +19 -0
- data/sig/safety_kit/internal/type/union.rbs +52 -0
- data/sig/safety_kit/internal/type/unknown.rbs +26 -0
- data/sig/safety_kit/internal/util.rbs +199 -0
- data/sig/safety_kit/internal.rbs +9 -0
- data/sig/safety_kit/models/agent_decision_create_agent_decision_params.rbs +53 -0
- data/sig/safety_kit/models/agent_decision_create_agent_decision_response.rbs +14 -0
- data/sig/safety_kit/models/beta/event_create_params.rbs +891 -0
- data/sig/safety_kit/models/beta/event_create_response.rbs +37 -0
- data/sig/safety_kit/models/client_session_create_session_params.rbs +32 -0
- data/sig/safety_kit/models/client_session_create_session_response.rbs +13 -0
- data/sig/safety_kit/models/data_add_params.rbs +38 -0
- data/sig/safety_kit/models/data_add_response.rbs +32 -0
- data/sig/safety_kit/models/data_create_upload_url_params.rbs +193 -0
- data/sig/safety_kit/models/data_create_upload_url_response.rbs +50 -0
- data/sig/safety_kit/models/data_get_download_url_params.rbs +28 -0
- data/sig/safety_kit/models/data_get_download_url_response.rbs +59 -0
- data/sig/safety_kit/models/data_get_status_params.rbs +28 -0
- data/sig/safety_kit/models/data_get_status_response.rbs +120 -0
- data/sig/safety_kit/models/data_object.rbs +13 -0
- data/sig/safety_kit/models/data_update_settings_params.rbs +189 -0
- data/sig/safety_kit/models/data_update_settings_response.rbs +35 -0
- data/sig/safety_kit/models/stream_add_frame_params.rbs +41 -0
- data/sig/safety_kit/models/stream_add_frame_response.rbs +35 -0
- data/sig/safety_kit/models/stream_add_params.rbs +32 -0
- data/sig/safety_kit/models/stream_add_response.rbs +35 -0
- data/sig/safety_kit/models/stream_add_transcript_params.rbs +36 -0
- data/sig/safety_kit/models/stream_add_transcript_response.rbs +35 -0
- data/sig/safety_kit/models.rbs +25 -0
- data/sig/safety_kit/request_options.rbs +34 -0
- data/sig/safety_kit/resources/agent_decisions.rbs +17 -0
- data/sig/safety_kit/resources/beta/events.rbs +14 -0
- data/sig/safety_kit/resources/beta.rbs +9 -0
- data/sig/safety_kit/resources/client_sessions.rbs +13 -0
- data/sig/safety_kit/resources/data.rbs +37 -0
- data/sig/safety_kit/resources/streams.rbs +30 -0
- data/sig/safety_kit/version.rbs +3 -0
- metadata +228 -0
|
@@ -0,0 +1,2379 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module SafetyKit
|
|
4
|
+
module Models
|
|
5
|
+
module Beta
|
|
6
|
+
class EventCreateParams < SafetyKit::Internal::Type::BaseModel
|
|
7
|
+
extend SafetyKit::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include SafetyKit::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
OrHash =
|
|
11
|
+
T.type_alias do
|
|
12
|
+
T.any(
|
|
13
|
+
SafetyKit::Beta::EventCreateParams,
|
|
14
|
+
SafetyKit::Internal::AnyHash
|
|
15
|
+
)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# Backend event to send to SafetyKit. Send events from your server after an action
|
|
19
|
+
# has happened in your product. Do not send these events directly from a browser
|
|
20
|
+
# or mobile client.
|
|
21
|
+
sig do
|
|
22
|
+
returns(
|
|
23
|
+
T.any(
|
|
24
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact,
|
|
25
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded,
|
|
26
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount,
|
|
27
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount
|
|
28
|
+
)
|
|
29
|
+
)
|
|
30
|
+
end
|
|
31
|
+
attr_accessor :body
|
|
32
|
+
|
|
33
|
+
sig do
|
|
34
|
+
params(
|
|
35
|
+
body:
|
|
36
|
+
T.any(
|
|
37
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::OrHash,
|
|
38
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::OrHash,
|
|
39
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::OrHash,
|
|
40
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::OrHash
|
|
41
|
+
),
|
|
42
|
+
request_options: SafetyKit::RequestOptions::OrHash
|
|
43
|
+
).returns(T.attached_class)
|
|
44
|
+
end
|
|
45
|
+
def self.new(
|
|
46
|
+
# Backend event to send to SafetyKit. Send events from your server after an action
|
|
47
|
+
# has happened in your product. Do not send these events directly from a browser
|
|
48
|
+
# or mobile client.
|
|
49
|
+
body:,
|
|
50
|
+
request_options: {}
|
|
51
|
+
)
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
sig do
|
|
55
|
+
override.returns(
|
|
56
|
+
{
|
|
57
|
+
body:
|
|
58
|
+
T.any(
|
|
59
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact,
|
|
60
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded,
|
|
61
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount,
|
|
62
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount
|
|
63
|
+
),
|
|
64
|
+
request_options: SafetyKit::RequestOptions
|
|
65
|
+
}
|
|
66
|
+
)
|
|
67
|
+
end
|
|
68
|
+
def to_hash
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
# Backend event to send to SafetyKit. Send events from your server after an action
|
|
72
|
+
# has happened in your product. Do not send these events directly from a browser
|
|
73
|
+
# or mobile client.
|
|
74
|
+
module Body
|
|
75
|
+
extend SafetyKit::Internal::Type::Union
|
|
76
|
+
|
|
77
|
+
Variants =
|
|
78
|
+
T.type_alias do
|
|
79
|
+
T.any(
|
|
80
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact,
|
|
81
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded,
|
|
82
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount,
|
|
83
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount
|
|
84
|
+
)
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
class UserContact < SafetyKit::Internal::Type::BaseModel
|
|
88
|
+
OrHash =
|
|
89
|
+
T.type_alias do
|
|
90
|
+
T.any(
|
|
91
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact,
|
|
92
|
+
SafetyKit::Internal::AnyHash
|
|
93
|
+
)
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
# Your stable canonical identifier for the other user in a user-to-user
|
|
97
|
+
# interaction.
|
|
98
|
+
sig { returns(String) }
|
|
99
|
+
attr_accessor :counterparty_user_id
|
|
100
|
+
|
|
101
|
+
# Stable, low-cardinality product action name. Use snake_case and put dynamic
|
|
102
|
+
# values in typed fields, content, resources_used, or metadata.
|
|
103
|
+
sig { returns(String) }
|
|
104
|
+
attr_accessor :event_name
|
|
105
|
+
|
|
106
|
+
# The time the event occurred in your system, as an ISO 8601 datetime string.
|
|
107
|
+
sig { returns(Time) }
|
|
108
|
+
attr_accessor :timestamp
|
|
109
|
+
|
|
110
|
+
sig { returns(Symbol) }
|
|
111
|
+
attr_accessor :type
|
|
112
|
+
|
|
113
|
+
# Your stable canonical identifier for the user or account.
|
|
114
|
+
sig { returns(String) }
|
|
115
|
+
attr_accessor :user_id
|
|
116
|
+
|
|
117
|
+
# User-authored or user-uploaded content parts. Use this for message bodies, bios,
|
|
118
|
+
# listing text, image URLs, and similar content SafetyKit should compare or
|
|
119
|
+
# analyze.
|
|
120
|
+
sig do
|
|
121
|
+
returns(
|
|
122
|
+
T.nilable(
|
|
123
|
+
T::Array[
|
|
124
|
+
T.any(
|
|
125
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventTextContent,
|
|
126
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent
|
|
127
|
+
)
|
|
128
|
+
]
|
|
129
|
+
)
|
|
130
|
+
)
|
|
131
|
+
end
|
|
132
|
+
attr_reader :content
|
|
133
|
+
|
|
134
|
+
sig do
|
|
135
|
+
params(
|
|
136
|
+
content:
|
|
137
|
+
T::Array[
|
|
138
|
+
T.any(
|
|
139
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventTextContent::OrHash,
|
|
140
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent::OrHash
|
|
141
|
+
)
|
|
142
|
+
]
|
|
143
|
+
).void
|
|
144
|
+
end
|
|
145
|
+
attr_writer :content
|
|
146
|
+
|
|
147
|
+
# Non-PII product context for filtering, segmentation, and debugging. Values may
|
|
148
|
+
# be strings, numbers, booleans, or arrays of those scalar values.
|
|
149
|
+
sig do
|
|
150
|
+
returns(
|
|
151
|
+
T.nilable(
|
|
152
|
+
T::Hash[
|
|
153
|
+
Symbol,
|
|
154
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Metadata::Variants
|
|
155
|
+
]
|
|
156
|
+
)
|
|
157
|
+
)
|
|
158
|
+
end
|
|
159
|
+
attr_reader :metadata
|
|
160
|
+
|
|
161
|
+
sig do
|
|
162
|
+
params(
|
|
163
|
+
metadata:
|
|
164
|
+
T::Hash[
|
|
165
|
+
Symbol,
|
|
166
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Metadata::Variants
|
|
167
|
+
]
|
|
168
|
+
).void
|
|
169
|
+
end
|
|
170
|
+
attr_writer :metadata
|
|
171
|
+
|
|
172
|
+
# Reusable resources observed during the event. Use this for emails, phone
|
|
173
|
+
# numbers, names, addresses, social handles, URLs, payment identifiers, or similar
|
|
174
|
+
# identifiers.
|
|
175
|
+
sig do
|
|
176
|
+
returns(
|
|
177
|
+
T.nilable(
|
|
178
|
+
T::Array[
|
|
179
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::ResourcesUsed
|
|
180
|
+
]
|
|
181
|
+
)
|
|
182
|
+
)
|
|
183
|
+
end
|
|
184
|
+
attr_reader :resources_used
|
|
185
|
+
|
|
186
|
+
sig do
|
|
187
|
+
params(
|
|
188
|
+
resources_used:
|
|
189
|
+
T::Array[
|
|
190
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::ResourcesUsed::OrHash
|
|
191
|
+
]
|
|
192
|
+
).void
|
|
193
|
+
end
|
|
194
|
+
attr_writer :resources_used
|
|
195
|
+
|
|
196
|
+
# A user contacts, transacts with, or otherwise interacts with another user.
|
|
197
|
+
# SafetyKit records both users' perspectives with a shared event_id.
|
|
198
|
+
sig do
|
|
199
|
+
params(
|
|
200
|
+
counterparty_user_id: String,
|
|
201
|
+
event_name: String,
|
|
202
|
+
timestamp: Time,
|
|
203
|
+
user_id: String,
|
|
204
|
+
content:
|
|
205
|
+
T::Array[
|
|
206
|
+
T.any(
|
|
207
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventTextContent::OrHash,
|
|
208
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent::OrHash
|
|
209
|
+
)
|
|
210
|
+
],
|
|
211
|
+
metadata:
|
|
212
|
+
T::Hash[
|
|
213
|
+
Symbol,
|
|
214
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Metadata::Variants
|
|
215
|
+
],
|
|
216
|
+
resources_used:
|
|
217
|
+
T::Array[
|
|
218
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::ResourcesUsed::OrHash
|
|
219
|
+
],
|
|
220
|
+
type: Symbol
|
|
221
|
+
).returns(T.attached_class)
|
|
222
|
+
end
|
|
223
|
+
def self.new(
|
|
224
|
+
# Your stable canonical identifier for the other user in a user-to-user
|
|
225
|
+
# interaction.
|
|
226
|
+
counterparty_user_id:,
|
|
227
|
+
# Stable, low-cardinality product action name. Use snake_case and put dynamic
|
|
228
|
+
# values in typed fields, content, resources_used, or metadata.
|
|
229
|
+
event_name:,
|
|
230
|
+
# The time the event occurred in your system, as an ISO 8601 datetime string.
|
|
231
|
+
timestamp:,
|
|
232
|
+
# Your stable canonical identifier for the user or account.
|
|
233
|
+
user_id:,
|
|
234
|
+
# User-authored or user-uploaded content parts. Use this for message bodies, bios,
|
|
235
|
+
# listing text, image URLs, and similar content SafetyKit should compare or
|
|
236
|
+
# analyze.
|
|
237
|
+
content: nil,
|
|
238
|
+
# Non-PII product context for filtering, segmentation, and debugging. Values may
|
|
239
|
+
# be strings, numbers, booleans, or arrays of those scalar values.
|
|
240
|
+
metadata: nil,
|
|
241
|
+
# Reusable resources observed during the event. Use this for emails, phone
|
|
242
|
+
# numbers, names, addresses, social handles, URLs, payment identifiers, or similar
|
|
243
|
+
# identifiers.
|
|
244
|
+
resources_used: nil,
|
|
245
|
+
type: :user_contact
|
|
246
|
+
)
|
|
247
|
+
end
|
|
248
|
+
|
|
249
|
+
sig do
|
|
250
|
+
override.returns(
|
|
251
|
+
{
|
|
252
|
+
counterparty_user_id: String,
|
|
253
|
+
event_name: String,
|
|
254
|
+
timestamp: Time,
|
|
255
|
+
type: Symbol,
|
|
256
|
+
user_id: String,
|
|
257
|
+
content:
|
|
258
|
+
T::Array[
|
|
259
|
+
T.any(
|
|
260
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventTextContent,
|
|
261
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent
|
|
262
|
+
)
|
|
263
|
+
],
|
|
264
|
+
metadata:
|
|
265
|
+
T::Hash[
|
|
266
|
+
Symbol,
|
|
267
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Metadata::Variants
|
|
268
|
+
],
|
|
269
|
+
resources_used:
|
|
270
|
+
T::Array[
|
|
271
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::ResourcesUsed
|
|
272
|
+
]
|
|
273
|
+
}
|
|
274
|
+
)
|
|
275
|
+
end
|
|
276
|
+
def to_hash
|
|
277
|
+
end
|
|
278
|
+
|
|
279
|
+
# User-authored text content associated with an event.
|
|
280
|
+
module Content
|
|
281
|
+
extend SafetyKit::Internal::Type::Union
|
|
282
|
+
|
|
283
|
+
Variants =
|
|
284
|
+
T.type_alias do
|
|
285
|
+
T.any(
|
|
286
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventTextContent,
|
|
287
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent
|
|
288
|
+
)
|
|
289
|
+
end
|
|
290
|
+
|
|
291
|
+
class EventTextContent < SafetyKit::Internal::Type::BaseModel
|
|
292
|
+
OrHash =
|
|
293
|
+
T.type_alias do
|
|
294
|
+
T.any(
|
|
295
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventTextContent,
|
|
296
|
+
SafetyKit::Internal::AnyHash
|
|
297
|
+
)
|
|
298
|
+
end
|
|
299
|
+
|
|
300
|
+
# User-authored text SafetyKit should compare or analyze.
|
|
301
|
+
sig { returns(String) }
|
|
302
|
+
attr_accessor :text
|
|
303
|
+
|
|
304
|
+
# Text content part.
|
|
305
|
+
sig do
|
|
306
|
+
returns(
|
|
307
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventTextContent::Type::OrSymbol
|
|
308
|
+
)
|
|
309
|
+
end
|
|
310
|
+
attr_accessor :type
|
|
311
|
+
|
|
312
|
+
# Stable field key for this content part.
|
|
313
|
+
sig { returns(T.nilable(String)) }
|
|
314
|
+
attr_reader :key
|
|
315
|
+
|
|
316
|
+
sig { params(key: String).void }
|
|
317
|
+
attr_writer :key
|
|
318
|
+
|
|
319
|
+
# User-authored text content associated with an event.
|
|
320
|
+
sig do
|
|
321
|
+
params(
|
|
322
|
+
text: String,
|
|
323
|
+
type:
|
|
324
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventTextContent::Type::OrSymbol,
|
|
325
|
+
key: String
|
|
326
|
+
).returns(T.attached_class)
|
|
327
|
+
end
|
|
328
|
+
def self.new(
|
|
329
|
+
# User-authored text SafetyKit should compare or analyze.
|
|
330
|
+
text:,
|
|
331
|
+
# Text content part.
|
|
332
|
+
type:,
|
|
333
|
+
# Stable field key for this content part.
|
|
334
|
+
key: nil
|
|
335
|
+
)
|
|
336
|
+
end
|
|
337
|
+
|
|
338
|
+
sig do
|
|
339
|
+
override.returns(
|
|
340
|
+
{
|
|
341
|
+
text: String,
|
|
342
|
+
type:
|
|
343
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventTextContent::Type::OrSymbol,
|
|
344
|
+
key: String
|
|
345
|
+
}
|
|
346
|
+
)
|
|
347
|
+
end
|
|
348
|
+
def to_hash
|
|
349
|
+
end
|
|
350
|
+
|
|
351
|
+
# Text content part.
|
|
352
|
+
module Type
|
|
353
|
+
extend SafetyKit::Internal::Type::Enum
|
|
354
|
+
|
|
355
|
+
TaggedSymbol =
|
|
356
|
+
T.type_alias do
|
|
357
|
+
T.all(
|
|
358
|
+
Symbol,
|
|
359
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventTextContent::Type
|
|
360
|
+
)
|
|
361
|
+
end
|
|
362
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
363
|
+
|
|
364
|
+
TEXT =
|
|
365
|
+
T.let(
|
|
366
|
+
:text,
|
|
367
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventTextContent::Type::TaggedSymbol
|
|
368
|
+
)
|
|
369
|
+
|
|
370
|
+
sig do
|
|
371
|
+
override.returns(
|
|
372
|
+
T::Array[
|
|
373
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventTextContent::Type::TaggedSymbol
|
|
374
|
+
]
|
|
375
|
+
)
|
|
376
|
+
end
|
|
377
|
+
def self.values
|
|
378
|
+
end
|
|
379
|
+
end
|
|
380
|
+
end
|
|
381
|
+
|
|
382
|
+
class EventImageContent < SafetyKit::Internal::Type::BaseModel
|
|
383
|
+
OrHash =
|
|
384
|
+
T.type_alias do
|
|
385
|
+
T.any(
|
|
386
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent,
|
|
387
|
+
SafetyKit::Internal::AnyHash
|
|
388
|
+
)
|
|
389
|
+
end
|
|
390
|
+
|
|
391
|
+
# Image source information.
|
|
392
|
+
sig do
|
|
393
|
+
returns(
|
|
394
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent::Source
|
|
395
|
+
)
|
|
396
|
+
end
|
|
397
|
+
attr_reader :source
|
|
398
|
+
|
|
399
|
+
sig do
|
|
400
|
+
params(
|
|
401
|
+
source:
|
|
402
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent::Source::OrHash
|
|
403
|
+
).void
|
|
404
|
+
end
|
|
405
|
+
attr_writer :source
|
|
406
|
+
|
|
407
|
+
# Image content part.
|
|
408
|
+
sig do
|
|
409
|
+
returns(
|
|
410
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent::Type::OrSymbol
|
|
411
|
+
)
|
|
412
|
+
end
|
|
413
|
+
attr_accessor :type
|
|
414
|
+
|
|
415
|
+
# Stable field key for this content part.
|
|
416
|
+
sig { returns(T.nilable(String)) }
|
|
417
|
+
attr_reader :key
|
|
418
|
+
|
|
419
|
+
sig { params(key: String).void }
|
|
420
|
+
attr_writer :key
|
|
421
|
+
|
|
422
|
+
# User-uploaded image content associated with an event.
|
|
423
|
+
sig do
|
|
424
|
+
params(
|
|
425
|
+
source:
|
|
426
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent::Source::OrHash,
|
|
427
|
+
type:
|
|
428
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent::Type::OrSymbol,
|
|
429
|
+
key: String
|
|
430
|
+
).returns(T.attached_class)
|
|
431
|
+
end
|
|
432
|
+
def self.new(
|
|
433
|
+
# Image source information.
|
|
434
|
+
source:,
|
|
435
|
+
# Image content part.
|
|
436
|
+
type:,
|
|
437
|
+
# Stable field key for this content part.
|
|
438
|
+
key: nil
|
|
439
|
+
)
|
|
440
|
+
end
|
|
441
|
+
|
|
442
|
+
sig do
|
|
443
|
+
override.returns(
|
|
444
|
+
{
|
|
445
|
+
source:
|
|
446
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent::Source,
|
|
447
|
+
type:
|
|
448
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent::Type::OrSymbol,
|
|
449
|
+
key: String
|
|
450
|
+
}
|
|
451
|
+
)
|
|
452
|
+
end
|
|
453
|
+
def to_hash
|
|
454
|
+
end
|
|
455
|
+
|
|
456
|
+
class Source < SafetyKit::Internal::Type::BaseModel
|
|
457
|
+
OrHash =
|
|
458
|
+
T.type_alias do
|
|
459
|
+
T.any(
|
|
460
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent::Source,
|
|
461
|
+
SafetyKit::Internal::AnyHash
|
|
462
|
+
)
|
|
463
|
+
end
|
|
464
|
+
|
|
465
|
+
# URL image source.
|
|
466
|
+
sig do
|
|
467
|
+
returns(
|
|
468
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent::Source::Type::OrSymbol
|
|
469
|
+
)
|
|
470
|
+
end
|
|
471
|
+
attr_accessor :type
|
|
472
|
+
|
|
473
|
+
# URL of the image SafetyKit should compare or analyze.
|
|
474
|
+
sig { returns(String) }
|
|
475
|
+
attr_accessor :url
|
|
476
|
+
|
|
477
|
+
# Image source information.
|
|
478
|
+
sig do
|
|
479
|
+
params(
|
|
480
|
+
type:
|
|
481
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent::Source::Type::OrSymbol,
|
|
482
|
+
url: String
|
|
483
|
+
).returns(T.attached_class)
|
|
484
|
+
end
|
|
485
|
+
def self.new(
|
|
486
|
+
# URL image source.
|
|
487
|
+
type:,
|
|
488
|
+
# URL of the image SafetyKit should compare or analyze.
|
|
489
|
+
url:
|
|
490
|
+
)
|
|
491
|
+
end
|
|
492
|
+
|
|
493
|
+
sig do
|
|
494
|
+
override.returns(
|
|
495
|
+
{
|
|
496
|
+
type:
|
|
497
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent::Source::Type::OrSymbol,
|
|
498
|
+
url: String
|
|
499
|
+
}
|
|
500
|
+
)
|
|
501
|
+
end
|
|
502
|
+
def to_hash
|
|
503
|
+
end
|
|
504
|
+
|
|
505
|
+
# URL image source.
|
|
506
|
+
module Type
|
|
507
|
+
extend SafetyKit::Internal::Type::Enum
|
|
508
|
+
|
|
509
|
+
TaggedSymbol =
|
|
510
|
+
T.type_alias do
|
|
511
|
+
T.all(
|
|
512
|
+
Symbol,
|
|
513
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent::Source::Type
|
|
514
|
+
)
|
|
515
|
+
end
|
|
516
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
517
|
+
|
|
518
|
+
URL =
|
|
519
|
+
T.let(
|
|
520
|
+
:url,
|
|
521
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent::Source::Type::TaggedSymbol
|
|
522
|
+
)
|
|
523
|
+
|
|
524
|
+
sig do
|
|
525
|
+
override.returns(
|
|
526
|
+
T::Array[
|
|
527
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent::Source::Type::TaggedSymbol
|
|
528
|
+
]
|
|
529
|
+
)
|
|
530
|
+
end
|
|
531
|
+
def self.values
|
|
532
|
+
end
|
|
533
|
+
end
|
|
534
|
+
end
|
|
535
|
+
|
|
536
|
+
# Image content part.
|
|
537
|
+
module Type
|
|
538
|
+
extend SafetyKit::Internal::Type::Enum
|
|
539
|
+
|
|
540
|
+
TaggedSymbol =
|
|
541
|
+
T.type_alias do
|
|
542
|
+
T.all(
|
|
543
|
+
Symbol,
|
|
544
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent::Type
|
|
545
|
+
)
|
|
546
|
+
end
|
|
547
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
548
|
+
|
|
549
|
+
IMAGE =
|
|
550
|
+
T.let(
|
|
551
|
+
:image,
|
|
552
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent::Type::TaggedSymbol
|
|
553
|
+
)
|
|
554
|
+
|
|
555
|
+
sig do
|
|
556
|
+
override.returns(
|
|
557
|
+
T::Array[
|
|
558
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::EventImageContent::Type::TaggedSymbol
|
|
559
|
+
]
|
|
560
|
+
)
|
|
561
|
+
end
|
|
562
|
+
def self.values
|
|
563
|
+
end
|
|
564
|
+
end
|
|
565
|
+
end
|
|
566
|
+
|
|
567
|
+
sig do
|
|
568
|
+
override.returns(
|
|
569
|
+
T::Array[
|
|
570
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Content::Variants
|
|
571
|
+
]
|
|
572
|
+
)
|
|
573
|
+
end
|
|
574
|
+
def self.variants
|
|
575
|
+
end
|
|
576
|
+
end
|
|
577
|
+
|
|
578
|
+
module Metadata
|
|
579
|
+
extend SafetyKit::Internal::Type::Union
|
|
580
|
+
|
|
581
|
+
Variants =
|
|
582
|
+
T.type_alias do
|
|
583
|
+
T.any(
|
|
584
|
+
String,
|
|
585
|
+
Float,
|
|
586
|
+
T::Boolean,
|
|
587
|
+
T::Array[
|
|
588
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Metadata::UnionMember3::Variants
|
|
589
|
+
]
|
|
590
|
+
)
|
|
591
|
+
end
|
|
592
|
+
|
|
593
|
+
module UnionMember3
|
|
594
|
+
extend SafetyKit::Internal::Type::Union
|
|
595
|
+
|
|
596
|
+
Variants = T.type_alias { T.any(String, Float, T::Boolean) }
|
|
597
|
+
|
|
598
|
+
sig do
|
|
599
|
+
override.returns(
|
|
600
|
+
T::Array[
|
|
601
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Metadata::UnionMember3::Variants
|
|
602
|
+
]
|
|
603
|
+
)
|
|
604
|
+
end
|
|
605
|
+
def self.variants
|
|
606
|
+
end
|
|
607
|
+
end
|
|
608
|
+
|
|
609
|
+
sig do
|
|
610
|
+
override.returns(
|
|
611
|
+
T::Array[
|
|
612
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Metadata::Variants
|
|
613
|
+
]
|
|
614
|
+
)
|
|
615
|
+
end
|
|
616
|
+
def self.variants
|
|
617
|
+
end
|
|
618
|
+
|
|
619
|
+
UnionMember3Array =
|
|
620
|
+
T.let(
|
|
621
|
+
SafetyKit::Internal::Type::ArrayOf[
|
|
622
|
+
union:
|
|
623
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::Metadata::UnionMember3
|
|
624
|
+
],
|
|
625
|
+
SafetyKit::Internal::Type::Converter
|
|
626
|
+
)
|
|
627
|
+
end
|
|
628
|
+
|
|
629
|
+
class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
|
|
630
|
+
OrHash =
|
|
631
|
+
T.type_alias do
|
|
632
|
+
T.any(
|
|
633
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::ResourcesUsed,
|
|
634
|
+
SafetyKit::Internal::AnyHash
|
|
635
|
+
)
|
|
636
|
+
end
|
|
637
|
+
|
|
638
|
+
# Resource family, such as email, phone, name, address, url, instagram, tiktok,
|
|
639
|
+
# youtube, linkedin, or another stable snake_case identifier.
|
|
640
|
+
sig { returns(String) }
|
|
641
|
+
attr_accessor :type
|
|
642
|
+
|
|
643
|
+
# Resource value used during the event. SafetyKit stores a normalized hash of this
|
|
644
|
+
# value, not the raw value.
|
|
645
|
+
sig { returns(String) }
|
|
646
|
+
attr_accessor :value
|
|
647
|
+
|
|
648
|
+
# Real-world or account resource used during the event, such as an email, phone
|
|
649
|
+
# number, address, URL, social handle, or payment identifier.
|
|
650
|
+
sig do
|
|
651
|
+
params(type: String, value: String).returns(T.attached_class)
|
|
652
|
+
end
|
|
653
|
+
def self.new(
|
|
654
|
+
# Resource family, such as email, phone, name, address, url, instagram, tiktok,
|
|
655
|
+
# youtube, linkedin, or another stable snake_case identifier.
|
|
656
|
+
type:,
|
|
657
|
+
# Resource value used during the event. SafetyKit stores a normalized hash of this
|
|
658
|
+
# value, not the raw value.
|
|
659
|
+
value:
|
|
660
|
+
)
|
|
661
|
+
end
|
|
662
|
+
|
|
663
|
+
sig { override.returns({ type: String, value: String }) }
|
|
664
|
+
def to_hash
|
|
665
|
+
end
|
|
666
|
+
end
|
|
667
|
+
end
|
|
668
|
+
|
|
669
|
+
class ContentUploaded < SafetyKit::Internal::Type::BaseModel
|
|
670
|
+
OrHash =
|
|
671
|
+
T.type_alias do
|
|
672
|
+
T.any(
|
|
673
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded,
|
|
674
|
+
SafetyKit::Internal::AnyHash
|
|
675
|
+
)
|
|
676
|
+
end
|
|
677
|
+
|
|
678
|
+
# User-authored or user-uploaded content parts. Use this for message bodies, bios,
|
|
679
|
+
# listing text, image URLs, and similar content SafetyKit should compare or
|
|
680
|
+
# analyze.
|
|
681
|
+
sig do
|
|
682
|
+
returns(
|
|
683
|
+
T::Array[
|
|
684
|
+
T.any(
|
|
685
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventTextContent,
|
|
686
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent
|
|
687
|
+
)
|
|
688
|
+
]
|
|
689
|
+
)
|
|
690
|
+
end
|
|
691
|
+
attr_accessor :content
|
|
692
|
+
|
|
693
|
+
# Stable, low-cardinality product action name. Use snake_case and put dynamic
|
|
694
|
+
# values in typed fields, content, resources_used, or metadata.
|
|
695
|
+
sig { returns(String) }
|
|
696
|
+
attr_accessor :event_name
|
|
697
|
+
|
|
698
|
+
# The time the event occurred in your system, as an ISO 8601 datetime string.
|
|
699
|
+
sig { returns(Time) }
|
|
700
|
+
attr_accessor :timestamp
|
|
701
|
+
|
|
702
|
+
sig { returns(Symbol) }
|
|
703
|
+
attr_accessor :type
|
|
704
|
+
|
|
705
|
+
# Your stable canonical identifier for the user or account.
|
|
706
|
+
sig { returns(String) }
|
|
707
|
+
attr_accessor :user_id
|
|
708
|
+
|
|
709
|
+
# Non-PII product context for filtering, segmentation, and debugging. Values may
|
|
710
|
+
# be strings, numbers, booleans, or arrays of those scalar values.
|
|
711
|
+
sig do
|
|
712
|
+
returns(
|
|
713
|
+
T.nilable(
|
|
714
|
+
T::Hash[
|
|
715
|
+
Symbol,
|
|
716
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Metadata::Variants
|
|
717
|
+
]
|
|
718
|
+
)
|
|
719
|
+
)
|
|
720
|
+
end
|
|
721
|
+
attr_reader :metadata
|
|
722
|
+
|
|
723
|
+
sig do
|
|
724
|
+
params(
|
|
725
|
+
metadata:
|
|
726
|
+
T::Hash[
|
|
727
|
+
Symbol,
|
|
728
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Metadata::Variants
|
|
729
|
+
]
|
|
730
|
+
).void
|
|
731
|
+
end
|
|
732
|
+
attr_writer :metadata
|
|
733
|
+
|
|
734
|
+
# Reusable resources observed during the event. Use this for emails, phone
|
|
735
|
+
# numbers, names, addresses, social handles, URLs, payment identifiers, or similar
|
|
736
|
+
# identifiers.
|
|
737
|
+
sig do
|
|
738
|
+
returns(
|
|
739
|
+
T.nilable(
|
|
740
|
+
T::Array[
|
|
741
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::ResourcesUsed
|
|
742
|
+
]
|
|
743
|
+
)
|
|
744
|
+
)
|
|
745
|
+
end
|
|
746
|
+
attr_reader :resources_used
|
|
747
|
+
|
|
748
|
+
sig do
|
|
749
|
+
params(
|
|
750
|
+
resources_used:
|
|
751
|
+
T::Array[
|
|
752
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::ResourcesUsed::OrHash
|
|
753
|
+
]
|
|
754
|
+
).void
|
|
755
|
+
end
|
|
756
|
+
attr_writer :resources_used
|
|
757
|
+
|
|
758
|
+
# A user posts, uploads, publishes, edits, or replaces content.
|
|
759
|
+
sig do
|
|
760
|
+
params(
|
|
761
|
+
content:
|
|
762
|
+
T::Array[
|
|
763
|
+
T.any(
|
|
764
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventTextContent::OrHash,
|
|
765
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent::OrHash
|
|
766
|
+
)
|
|
767
|
+
],
|
|
768
|
+
event_name: String,
|
|
769
|
+
timestamp: Time,
|
|
770
|
+
user_id: String,
|
|
771
|
+
metadata:
|
|
772
|
+
T::Hash[
|
|
773
|
+
Symbol,
|
|
774
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Metadata::Variants
|
|
775
|
+
],
|
|
776
|
+
resources_used:
|
|
777
|
+
T::Array[
|
|
778
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::ResourcesUsed::OrHash
|
|
779
|
+
],
|
|
780
|
+
type: Symbol
|
|
781
|
+
).returns(T.attached_class)
|
|
782
|
+
end
|
|
783
|
+
def self.new(
|
|
784
|
+
# User-authored or user-uploaded content parts. Use this for message bodies, bios,
|
|
785
|
+
# listing text, image URLs, and similar content SafetyKit should compare or
|
|
786
|
+
# analyze.
|
|
787
|
+
content:,
|
|
788
|
+
# Stable, low-cardinality product action name. Use snake_case and put dynamic
|
|
789
|
+
# values in typed fields, content, resources_used, or metadata.
|
|
790
|
+
event_name:,
|
|
791
|
+
# The time the event occurred in your system, as an ISO 8601 datetime string.
|
|
792
|
+
timestamp:,
|
|
793
|
+
# Your stable canonical identifier for the user or account.
|
|
794
|
+
user_id:,
|
|
795
|
+
# Non-PII product context for filtering, segmentation, and debugging. Values may
|
|
796
|
+
# be strings, numbers, booleans, or arrays of those scalar values.
|
|
797
|
+
metadata: nil,
|
|
798
|
+
# Reusable resources observed during the event. Use this for emails, phone
|
|
799
|
+
# numbers, names, addresses, social handles, URLs, payment identifiers, or similar
|
|
800
|
+
# identifiers.
|
|
801
|
+
resources_used: nil,
|
|
802
|
+
type: :content_uploaded
|
|
803
|
+
)
|
|
804
|
+
end
|
|
805
|
+
|
|
806
|
+
sig do
|
|
807
|
+
override.returns(
|
|
808
|
+
{
|
|
809
|
+
content:
|
|
810
|
+
T::Array[
|
|
811
|
+
T.any(
|
|
812
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventTextContent,
|
|
813
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent
|
|
814
|
+
)
|
|
815
|
+
],
|
|
816
|
+
event_name: String,
|
|
817
|
+
timestamp: Time,
|
|
818
|
+
type: Symbol,
|
|
819
|
+
user_id: String,
|
|
820
|
+
metadata:
|
|
821
|
+
T::Hash[
|
|
822
|
+
Symbol,
|
|
823
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Metadata::Variants
|
|
824
|
+
],
|
|
825
|
+
resources_used:
|
|
826
|
+
T::Array[
|
|
827
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::ResourcesUsed
|
|
828
|
+
]
|
|
829
|
+
}
|
|
830
|
+
)
|
|
831
|
+
end
|
|
832
|
+
def to_hash
|
|
833
|
+
end
|
|
834
|
+
|
|
835
|
+
# User-authored text content associated with an event.
|
|
836
|
+
module Content
|
|
837
|
+
extend SafetyKit::Internal::Type::Union
|
|
838
|
+
|
|
839
|
+
Variants =
|
|
840
|
+
T.type_alias do
|
|
841
|
+
T.any(
|
|
842
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventTextContent,
|
|
843
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent
|
|
844
|
+
)
|
|
845
|
+
end
|
|
846
|
+
|
|
847
|
+
class EventTextContent < SafetyKit::Internal::Type::BaseModel
|
|
848
|
+
OrHash =
|
|
849
|
+
T.type_alias do
|
|
850
|
+
T.any(
|
|
851
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventTextContent,
|
|
852
|
+
SafetyKit::Internal::AnyHash
|
|
853
|
+
)
|
|
854
|
+
end
|
|
855
|
+
|
|
856
|
+
# User-authored text SafetyKit should compare or analyze.
|
|
857
|
+
sig { returns(String) }
|
|
858
|
+
attr_accessor :text
|
|
859
|
+
|
|
860
|
+
# Text content part.
|
|
861
|
+
sig do
|
|
862
|
+
returns(
|
|
863
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventTextContent::Type::OrSymbol
|
|
864
|
+
)
|
|
865
|
+
end
|
|
866
|
+
attr_accessor :type
|
|
867
|
+
|
|
868
|
+
# Stable field key for this content part.
|
|
869
|
+
sig { returns(T.nilable(String)) }
|
|
870
|
+
attr_reader :key
|
|
871
|
+
|
|
872
|
+
sig { params(key: String).void }
|
|
873
|
+
attr_writer :key
|
|
874
|
+
|
|
875
|
+
# User-authored text content associated with an event.
|
|
876
|
+
sig do
|
|
877
|
+
params(
|
|
878
|
+
text: String,
|
|
879
|
+
type:
|
|
880
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventTextContent::Type::OrSymbol,
|
|
881
|
+
key: String
|
|
882
|
+
).returns(T.attached_class)
|
|
883
|
+
end
|
|
884
|
+
def self.new(
|
|
885
|
+
# User-authored text SafetyKit should compare or analyze.
|
|
886
|
+
text:,
|
|
887
|
+
# Text content part.
|
|
888
|
+
type:,
|
|
889
|
+
# Stable field key for this content part.
|
|
890
|
+
key: nil
|
|
891
|
+
)
|
|
892
|
+
end
|
|
893
|
+
|
|
894
|
+
sig do
|
|
895
|
+
override.returns(
|
|
896
|
+
{
|
|
897
|
+
text: String,
|
|
898
|
+
type:
|
|
899
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventTextContent::Type::OrSymbol,
|
|
900
|
+
key: String
|
|
901
|
+
}
|
|
902
|
+
)
|
|
903
|
+
end
|
|
904
|
+
def to_hash
|
|
905
|
+
end
|
|
906
|
+
|
|
907
|
+
# Text content part.
|
|
908
|
+
module Type
|
|
909
|
+
extend SafetyKit::Internal::Type::Enum
|
|
910
|
+
|
|
911
|
+
TaggedSymbol =
|
|
912
|
+
T.type_alias do
|
|
913
|
+
T.all(
|
|
914
|
+
Symbol,
|
|
915
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventTextContent::Type
|
|
916
|
+
)
|
|
917
|
+
end
|
|
918
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
919
|
+
|
|
920
|
+
TEXT =
|
|
921
|
+
T.let(
|
|
922
|
+
:text,
|
|
923
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventTextContent::Type::TaggedSymbol
|
|
924
|
+
)
|
|
925
|
+
|
|
926
|
+
sig do
|
|
927
|
+
override.returns(
|
|
928
|
+
T::Array[
|
|
929
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventTextContent::Type::TaggedSymbol
|
|
930
|
+
]
|
|
931
|
+
)
|
|
932
|
+
end
|
|
933
|
+
def self.values
|
|
934
|
+
end
|
|
935
|
+
end
|
|
936
|
+
end
|
|
937
|
+
|
|
938
|
+
class EventImageContent < SafetyKit::Internal::Type::BaseModel
|
|
939
|
+
OrHash =
|
|
940
|
+
T.type_alias do
|
|
941
|
+
T.any(
|
|
942
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent,
|
|
943
|
+
SafetyKit::Internal::AnyHash
|
|
944
|
+
)
|
|
945
|
+
end
|
|
946
|
+
|
|
947
|
+
# Image source information.
|
|
948
|
+
sig do
|
|
949
|
+
returns(
|
|
950
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent::Source
|
|
951
|
+
)
|
|
952
|
+
end
|
|
953
|
+
attr_reader :source
|
|
954
|
+
|
|
955
|
+
sig do
|
|
956
|
+
params(
|
|
957
|
+
source:
|
|
958
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent::Source::OrHash
|
|
959
|
+
).void
|
|
960
|
+
end
|
|
961
|
+
attr_writer :source
|
|
962
|
+
|
|
963
|
+
# Image content part.
|
|
964
|
+
sig do
|
|
965
|
+
returns(
|
|
966
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent::Type::OrSymbol
|
|
967
|
+
)
|
|
968
|
+
end
|
|
969
|
+
attr_accessor :type
|
|
970
|
+
|
|
971
|
+
# Stable field key for this content part.
|
|
972
|
+
sig { returns(T.nilable(String)) }
|
|
973
|
+
attr_reader :key
|
|
974
|
+
|
|
975
|
+
sig { params(key: String).void }
|
|
976
|
+
attr_writer :key
|
|
977
|
+
|
|
978
|
+
# User-uploaded image content associated with an event.
|
|
979
|
+
sig do
|
|
980
|
+
params(
|
|
981
|
+
source:
|
|
982
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent::Source::OrHash,
|
|
983
|
+
type:
|
|
984
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent::Type::OrSymbol,
|
|
985
|
+
key: String
|
|
986
|
+
).returns(T.attached_class)
|
|
987
|
+
end
|
|
988
|
+
def self.new(
|
|
989
|
+
# Image source information.
|
|
990
|
+
source:,
|
|
991
|
+
# Image content part.
|
|
992
|
+
type:,
|
|
993
|
+
# Stable field key for this content part.
|
|
994
|
+
key: nil
|
|
995
|
+
)
|
|
996
|
+
end
|
|
997
|
+
|
|
998
|
+
sig do
|
|
999
|
+
override.returns(
|
|
1000
|
+
{
|
|
1001
|
+
source:
|
|
1002
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent::Source,
|
|
1003
|
+
type:
|
|
1004
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent::Type::OrSymbol,
|
|
1005
|
+
key: String
|
|
1006
|
+
}
|
|
1007
|
+
)
|
|
1008
|
+
end
|
|
1009
|
+
def to_hash
|
|
1010
|
+
end
|
|
1011
|
+
|
|
1012
|
+
class Source < SafetyKit::Internal::Type::BaseModel
|
|
1013
|
+
OrHash =
|
|
1014
|
+
T.type_alias do
|
|
1015
|
+
T.any(
|
|
1016
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent::Source,
|
|
1017
|
+
SafetyKit::Internal::AnyHash
|
|
1018
|
+
)
|
|
1019
|
+
end
|
|
1020
|
+
|
|
1021
|
+
# URL image source.
|
|
1022
|
+
sig do
|
|
1023
|
+
returns(
|
|
1024
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent::Source::Type::OrSymbol
|
|
1025
|
+
)
|
|
1026
|
+
end
|
|
1027
|
+
attr_accessor :type
|
|
1028
|
+
|
|
1029
|
+
# URL of the image SafetyKit should compare or analyze.
|
|
1030
|
+
sig { returns(String) }
|
|
1031
|
+
attr_accessor :url
|
|
1032
|
+
|
|
1033
|
+
# Image source information.
|
|
1034
|
+
sig do
|
|
1035
|
+
params(
|
|
1036
|
+
type:
|
|
1037
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent::Source::Type::OrSymbol,
|
|
1038
|
+
url: String
|
|
1039
|
+
).returns(T.attached_class)
|
|
1040
|
+
end
|
|
1041
|
+
def self.new(
|
|
1042
|
+
# URL image source.
|
|
1043
|
+
type:,
|
|
1044
|
+
# URL of the image SafetyKit should compare or analyze.
|
|
1045
|
+
url:
|
|
1046
|
+
)
|
|
1047
|
+
end
|
|
1048
|
+
|
|
1049
|
+
sig do
|
|
1050
|
+
override.returns(
|
|
1051
|
+
{
|
|
1052
|
+
type:
|
|
1053
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent::Source::Type::OrSymbol,
|
|
1054
|
+
url: String
|
|
1055
|
+
}
|
|
1056
|
+
)
|
|
1057
|
+
end
|
|
1058
|
+
def to_hash
|
|
1059
|
+
end
|
|
1060
|
+
|
|
1061
|
+
# URL image source.
|
|
1062
|
+
module Type
|
|
1063
|
+
extend SafetyKit::Internal::Type::Enum
|
|
1064
|
+
|
|
1065
|
+
TaggedSymbol =
|
|
1066
|
+
T.type_alias do
|
|
1067
|
+
T.all(
|
|
1068
|
+
Symbol,
|
|
1069
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent::Source::Type
|
|
1070
|
+
)
|
|
1071
|
+
end
|
|
1072
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
1073
|
+
|
|
1074
|
+
URL =
|
|
1075
|
+
T.let(
|
|
1076
|
+
:url,
|
|
1077
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent::Source::Type::TaggedSymbol
|
|
1078
|
+
)
|
|
1079
|
+
|
|
1080
|
+
sig do
|
|
1081
|
+
override.returns(
|
|
1082
|
+
T::Array[
|
|
1083
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent::Source::Type::TaggedSymbol
|
|
1084
|
+
]
|
|
1085
|
+
)
|
|
1086
|
+
end
|
|
1087
|
+
def self.values
|
|
1088
|
+
end
|
|
1089
|
+
end
|
|
1090
|
+
end
|
|
1091
|
+
|
|
1092
|
+
# Image content part.
|
|
1093
|
+
module Type
|
|
1094
|
+
extend SafetyKit::Internal::Type::Enum
|
|
1095
|
+
|
|
1096
|
+
TaggedSymbol =
|
|
1097
|
+
T.type_alias do
|
|
1098
|
+
T.all(
|
|
1099
|
+
Symbol,
|
|
1100
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent::Type
|
|
1101
|
+
)
|
|
1102
|
+
end
|
|
1103
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
1104
|
+
|
|
1105
|
+
IMAGE =
|
|
1106
|
+
T.let(
|
|
1107
|
+
:image,
|
|
1108
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent::Type::TaggedSymbol
|
|
1109
|
+
)
|
|
1110
|
+
|
|
1111
|
+
sig do
|
|
1112
|
+
override.returns(
|
|
1113
|
+
T::Array[
|
|
1114
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::EventImageContent::Type::TaggedSymbol
|
|
1115
|
+
]
|
|
1116
|
+
)
|
|
1117
|
+
end
|
|
1118
|
+
def self.values
|
|
1119
|
+
end
|
|
1120
|
+
end
|
|
1121
|
+
end
|
|
1122
|
+
|
|
1123
|
+
sig do
|
|
1124
|
+
override.returns(
|
|
1125
|
+
T::Array[
|
|
1126
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Content::Variants
|
|
1127
|
+
]
|
|
1128
|
+
)
|
|
1129
|
+
end
|
|
1130
|
+
def self.variants
|
|
1131
|
+
end
|
|
1132
|
+
end
|
|
1133
|
+
|
|
1134
|
+
module Metadata
|
|
1135
|
+
extend SafetyKit::Internal::Type::Union
|
|
1136
|
+
|
|
1137
|
+
Variants =
|
|
1138
|
+
T.type_alias do
|
|
1139
|
+
T.any(
|
|
1140
|
+
String,
|
|
1141
|
+
Float,
|
|
1142
|
+
T::Boolean,
|
|
1143
|
+
T::Array[
|
|
1144
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Metadata::UnionMember3::Variants
|
|
1145
|
+
]
|
|
1146
|
+
)
|
|
1147
|
+
end
|
|
1148
|
+
|
|
1149
|
+
module UnionMember3
|
|
1150
|
+
extend SafetyKit::Internal::Type::Union
|
|
1151
|
+
|
|
1152
|
+
Variants = T.type_alias { T.any(String, Float, T::Boolean) }
|
|
1153
|
+
|
|
1154
|
+
sig do
|
|
1155
|
+
override.returns(
|
|
1156
|
+
T::Array[
|
|
1157
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Metadata::UnionMember3::Variants
|
|
1158
|
+
]
|
|
1159
|
+
)
|
|
1160
|
+
end
|
|
1161
|
+
def self.variants
|
|
1162
|
+
end
|
|
1163
|
+
end
|
|
1164
|
+
|
|
1165
|
+
sig do
|
|
1166
|
+
override.returns(
|
|
1167
|
+
T::Array[
|
|
1168
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Metadata::Variants
|
|
1169
|
+
]
|
|
1170
|
+
)
|
|
1171
|
+
end
|
|
1172
|
+
def self.variants
|
|
1173
|
+
end
|
|
1174
|
+
|
|
1175
|
+
UnionMember3Array =
|
|
1176
|
+
T.let(
|
|
1177
|
+
SafetyKit::Internal::Type::ArrayOf[
|
|
1178
|
+
union:
|
|
1179
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::Metadata::UnionMember3
|
|
1180
|
+
],
|
|
1181
|
+
SafetyKit::Internal::Type::Converter
|
|
1182
|
+
)
|
|
1183
|
+
end
|
|
1184
|
+
|
|
1185
|
+
class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
|
|
1186
|
+
OrHash =
|
|
1187
|
+
T.type_alias do
|
|
1188
|
+
T.any(
|
|
1189
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::ResourcesUsed,
|
|
1190
|
+
SafetyKit::Internal::AnyHash
|
|
1191
|
+
)
|
|
1192
|
+
end
|
|
1193
|
+
|
|
1194
|
+
# Resource family, such as email, phone, name, address, url, instagram, tiktok,
|
|
1195
|
+
# youtube, linkedin, or another stable snake_case identifier.
|
|
1196
|
+
sig { returns(String) }
|
|
1197
|
+
attr_accessor :type
|
|
1198
|
+
|
|
1199
|
+
# Resource value used during the event. SafetyKit stores a normalized hash of this
|
|
1200
|
+
# value, not the raw value.
|
|
1201
|
+
sig { returns(String) }
|
|
1202
|
+
attr_accessor :value
|
|
1203
|
+
|
|
1204
|
+
# Real-world or account resource used during the event, such as an email, phone
|
|
1205
|
+
# number, address, URL, social handle, or payment identifier.
|
|
1206
|
+
sig do
|
|
1207
|
+
params(type: String, value: String).returns(T.attached_class)
|
|
1208
|
+
end
|
|
1209
|
+
def self.new(
|
|
1210
|
+
# Resource family, such as email, phone, name, address, url, instagram, tiktok,
|
|
1211
|
+
# youtube, linkedin, or another stable snake_case identifier.
|
|
1212
|
+
type:,
|
|
1213
|
+
# Resource value used during the event. SafetyKit stores a normalized hash of this
|
|
1214
|
+
# value, not the raw value.
|
|
1215
|
+
value:
|
|
1216
|
+
)
|
|
1217
|
+
end
|
|
1218
|
+
|
|
1219
|
+
sig { override.returns({ type: String, value: String }) }
|
|
1220
|
+
def to_hash
|
|
1221
|
+
end
|
|
1222
|
+
end
|
|
1223
|
+
end
|
|
1224
|
+
|
|
1225
|
+
class CreateAccount < SafetyKit::Internal::Type::BaseModel
|
|
1226
|
+
OrHash =
|
|
1227
|
+
T.type_alias do
|
|
1228
|
+
T.any(
|
|
1229
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount,
|
|
1230
|
+
SafetyKit::Internal::AnyHash
|
|
1231
|
+
)
|
|
1232
|
+
end
|
|
1233
|
+
|
|
1234
|
+
# Stable, low-cardinality product action name. Use snake_case and put dynamic
|
|
1235
|
+
# values in typed fields, content, resources_used, or metadata.
|
|
1236
|
+
sig { returns(String) }
|
|
1237
|
+
attr_accessor :event_name
|
|
1238
|
+
|
|
1239
|
+
# The time the event occurred in your system, as an ISO 8601 datetime string.
|
|
1240
|
+
sig { returns(Time) }
|
|
1241
|
+
attr_accessor :timestamp
|
|
1242
|
+
|
|
1243
|
+
sig { returns(Symbol) }
|
|
1244
|
+
attr_accessor :type
|
|
1245
|
+
|
|
1246
|
+
# Your stable canonical identifier for the user or account.
|
|
1247
|
+
sig { returns(String) }
|
|
1248
|
+
attr_accessor :user_id
|
|
1249
|
+
|
|
1250
|
+
# User-authored or user-uploaded content parts. Use this for message bodies, bios,
|
|
1251
|
+
# listing text, image URLs, and similar content SafetyKit should compare or
|
|
1252
|
+
# analyze.
|
|
1253
|
+
sig do
|
|
1254
|
+
returns(
|
|
1255
|
+
T.nilable(
|
|
1256
|
+
T::Array[
|
|
1257
|
+
T.any(
|
|
1258
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventTextContent,
|
|
1259
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent
|
|
1260
|
+
)
|
|
1261
|
+
]
|
|
1262
|
+
)
|
|
1263
|
+
)
|
|
1264
|
+
end
|
|
1265
|
+
attr_reader :content
|
|
1266
|
+
|
|
1267
|
+
sig do
|
|
1268
|
+
params(
|
|
1269
|
+
content:
|
|
1270
|
+
T::Array[
|
|
1271
|
+
T.any(
|
|
1272
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventTextContent::OrHash,
|
|
1273
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent::OrHash
|
|
1274
|
+
)
|
|
1275
|
+
]
|
|
1276
|
+
).void
|
|
1277
|
+
end
|
|
1278
|
+
attr_writer :content
|
|
1279
|
+
|
|
1280
|
+
# Non-PII product context for filtering, segmentation, and debugging. Values may
|
|
1281
|
+
# be strings, numbers, booleans, or arrays of those scalar values.
|
|
1282
|
+
sig do
|
|
1283
|
+
returns(
|
|
1284
|
+
T.nilable(
|
|
1285
|
+
T::Hash[
|
|
1286
|
+
Symbol,
|
|
1287
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Metadata::Variants
|
|
1288
|
+
]
|
|
1289
|
+
)
|
|
1290
|
+
)
|
|
1291
|
+
end
|
|
1292
|
+
attr_reader :metadata
|
|
1293
|
+
|
|
1294
|
+
sig do
|
|
1295
|
+
params(
|
|
1296
|
+
metadata:
|
|
1297
|
+
T::Hash[
|
|
1298
|
+
Symbol,
|
|
1299
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Metadata::Variants
|
|
1300
|
+
]
|
|
1301
|
+
).void
|
|
1302
|
+
end
|
|
1303
|
+
attr_writer :metadata
|
|
1304
|
+
|
|
1305
|
+
# Reusable resources observed during the event. Use this for emails, phone
|
|
1306
|
+
# numbers, names, addresses, social handles, URLs, payment identifiers, or similar
|
|
1307
|
+
# identifiers.
|
|
1308
|
+
sig do
|
|
1309
|
+
returns(
|
|
1310
|
+
T.nilable(
|
|
1311
|
+
T::Array[
|
|
1312
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::ResourcesUsed
|
|
1313
|
+
]
|
|
1314
|
+
)
|
|
1315
|
+
)
|
|
1316
|
+
end
|
|
1317
|
+
attr_reader :resources_used
|
|
1318
|
+
|
|
1319
|
+
sig do
|
|
1320
|
+
params(
|
|
1321
|
+
resources_used:
|
|
1322
|
+
T::Array[
|
|
1323
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::ResourcesUsed::OrHash
|
|
1324
|
+
]
|
|
1325
|
+
).void
|
|
1326
|
+
end
|
|
1327
|
+
attr_writer :resources_used
|
|
1328
|
+
|
|
1329
|
+
# A user or account is created.
|
|
1330
|
+
sig do
|
|
1331
|
+
params(
|
|
1332
|
+
event_name: String,
|
|
1333
|
+
timestamp: Time,
|
|
1334
|
+
user_id: String,
|
|
1335
|
+
content:
|
|
1336
|
+
T::Array[
|
|
1337
|
+
T.any(
|
|
1338
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventTextContent::OrHash,
|
|
1339
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent::OrHash
|
|
1340
|
+
)
|
|
1341
|
+
],
|
|
1342
|
+
metadata:
|
|
1343
|
+
T::Hash[
|
|
1344
|
+
Symbol,
|
|
1345
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Metadata::Variants
|
|
1346
|
+
],
|
|
1347
|
+
resources_used:
|
|
1348
|
+
T::Array[
|
|
1349
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::ResourcesUsed::OrHash
|
|
1350
|
+
],
|
|
1351
|
+
type: Symbol
|
|
1352
|
+
).returns(T.attached_class)
|
|
1353
|
+
end
|
|
1354
|
+
def self.new(
|
|
1355
|
+
# Stable, low-cardinality product action name. Use snake_case and put dynamic
|
|
1356
|
+
# values in typed fields, content, resources_used, or metadata.
|
|
1357
|
+
event_name:,
|
|
1358
|
+
# The time the event occurred in your system, as an ISO 8601 datetime string.
|
|
1359
|
+
timestamp:,
|
|
1360
|
+
# Your stable canonical identifier for the user or account.
|
|
1361
|
+
user_id:,
|
|
1362
|
+
# User-authored or user-uploaded content parts. Use this for message bodies, bios,
|
|
1363
|
+
# listing text, image URLs, and similar content SafetyKit should compare or
|
|
1364
|
+
# analyze.
|
|
1365
|
+
content: nil,
|
|
1366
|
+
# Non-PII product context for filtering, segmentation, and debugging. Values may
|
|
1367
|
+
# be strings, numbers, booleans, or arrays of those scalar values.
|
|
1368
|
+
metadata: nil,
|
|
1369
|
+
# Reusable resources observed during the event. Use this for emails, phone
|
|
1370
|
+
# numbers, names, addresses, social handles, URLs, payment identifiers, or similar
|
|
1371
|
+
# identifiers.
|
|
1372
|
+
resources_used: nil,
|
|
1373
|
+
type: :create_account
|
|
1374
|
+
)
|
|
1375
|
+
end
|
|
1376
|
+
|
|
1377
|
+
sig do
|
|
1378
|
+
override.returns(
|
|
1379
|
+
{
|
|
1380
|
+
event_name: String,
|
|
1381
|
+
timestamp: Time,
|
|
1382
|
+
type: Symbol,
|
|
1383
|
+
user_id: String,
|
|
1384
|
+
content:
|
|
1385
|
+
T::Array[
|
|
1386
|
+
T.any(
|
|
1387
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventTextContent,
|
|
1388
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent
|
|
1389
|
+
)
|
|
1390
|
+
],
|
|
1391
|
+
metadata:
|
|
1392
|
+
T::Hash[
|
|
1393
|
+
Symbol,
|
|
1394
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Metadata::Variants
|
|
1395
|
+
],
|
|
1396
|
+
resources_used:
|
|
1397
|
+
T::Array[
|
|
1398
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::ResourcesUsed
|
|
1399
|
+
]
|
|
1400
|
+
}
|
|
1401
|
+
)
|
|
1402
|
+
end
|
|
1403
|
+
def to_hash
|
|
1404
|
+
end
|
|
1405
|
+
|
|
1406
|
+
# User-authored text content associated with an event.
|
|
1407
|
+
module Content
|
|
1408
|
+
extend SafetyKit::Internal::Type::Union
|
|
1409
|
+
|
|
1410
|
+
Variants =
|
|
1411
|
+
T.type_alias do
|
|
1412
|
+
T.any(
|
|
1413
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventTextContent,
|
|
1414
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent
|
|
1415
|
+
)
|
|
1416
|
+
end
|
|
1417
|
+
|
|
1418
|
+
class EventTextContent < SafetyKit::Internal::Type::BaseModel
|
|
1419
|
+
OrHash =
|
|
1420
|
+
T.type_alias do
|
|
1421
|
+
T.any(
|
|
1422
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventTextContent,
|
|
1423
|
+
SafetyKit::Internal::AnyHash
|
|
1424
|
+
)
|
|
1425
|
+
end
|
|
1426
|
+
|
|
1427
|
+
# User-authored text SafetyKit should compare or analyze.
|
|
1428
|
+
sig { returns(String) }
|
|
1429
|
+
attr_accessor :text
|
|
1430
|
+
|
|
1431
|
+
# Text content part.
|
|
1432
|
+
sig do
|
|
1433
|
+
returns(
|
|
1434
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventTextContent::Type::OrSymbol
|
|
1435
|
+
)
|
|
1436
|
+
end
|
|
1437
|
+
attr_accessor :type
|
|
1438
|
+
|
|
1439
|
+
# Stable field key for this content part.
|
|
1440
|
+
sig { returns(T.nilable(String)) }
|
|
1441
|
+
attr_reader :key
|
|
1442
|
+
|
|
1443
|
+
sig { params(key: String).void }
|
|
1444
|
+
attr_writer :key
|
|
1445
|
+
|
|
1446
|
+
# User-authored text content associated with an event.
|
|
1447
|
+
sig do
|
|
1448
|
+
params(
|
|
1449
|
+
text: String,
|
|
1450
|
+
type:
|
|
1451
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventTextContent::Type::OrSymbol,
|
|
1452
|
+
key: String
|
|
1453
|
+
).returns(T.attached_class)
|
|
1454
|
+
end
|
|
1455
|
+
def self.new(
|
|
1456
|
+
# User-authored text SafetyKit should compare or analyze.
|
|
1457
|
+
text:,
|
|
1458
|
+
# Text content part.
|
|
1459
|
+
type:,
|
|
1460
|
+
# Stable field key for this content part.
|
|
1461
|
+
key: nil
|
|
1462
|
+
)
|
|
1463
|
+
end
|
|
1464
|
+
|
|
1465
|
+
sig do
|
|
1466
|
+
override.returns(
|
|
1467
|
+
{
|
|
1468
|
+
text: String,
|
|
1469
|
+
type:
|
|
1470
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventTextContent::Type::OrSymbol,
|
|
1471
|
+
key: String
|
|
1472
|
+
}
|
|
1473
|
+
)
|
|
1474
|
+
end
|
|
1475
|
+
def to_hash
|
|
1476
|
+
end
|
|
1477
|
+
|
|
1478
|
+
# Text content part.
|
|
1479
|
+
module Type
|
|
1480
|
+
extend SafetyKit::Internal::Type::Enum
|
|
1481
|
+
|
|
1482
|
+
TaggedSymbol =
|
|
1483
|
+
T.type_alias do
|
|
1484
|
+
T.all(
|
|
1485
|
+
Symbol,
|
|
1486
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventTextContent::Type
|
|
1487
|
+
)
|
|
1488
|
+
end
|
|
1489
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
1490
|
+
|
|
1491
|
+
TEXT =
|
|
1492
|
+
T.let(
|
|
1493
|
+
:text,
|
|
1494
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventTextContent::Type::TaggedSymbol
|
|
1495
|
+
)
|
|
1496
|
+
|
|
1497
|
+
sig do
|
|
1498
|
+
override.returns(
|
|
1499
|
+
T::Array[
|
|
1500
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventTextContent::Type::TaggedSymbol
|
|
1501
|
+
]
|
|
1502
|
+
)
|
|
1503
|
+
end
|
|
1504
|
+
def self.values
|
|
1505
|
+
end
|
|
1506
|
+
end
|
|
1507
|
+
end
|
|
1508
|
+
|
|
1509
|
+
class EventImageContent < SafetyKit::Internal::Type::BaseModel
|
|
1510
|
+
OrHash =
|
|
1511
|
+
T.type_alias do
|
|
1512
|
+
T.any(
|
|
1513
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent,
|
|
1514
|
+
SafetyKit::Internal::AnyHash
|
|
1515
|
+
)
|
|
1516
|
+
end
|
|
1517
|
+
|
|
1518
|
+
# Image source information.
|
|
1519
|
+
sig do
|
|
1520
|
+
returns(
|
|
1521
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent::Source
|
|
1522
|
+
)
|
|
1523
|
+
end
|
|
1524
|
+
attr_reader :source
|
|
1525
|
+
|
|
1526
|
+
sig do
|
|
1527
|
+
params(
|
|
1528
|
+
source:
|
|
1529
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent::Source::OrHash
|
|
1530
|
+
).void
|
|
1531
|
+
end
|
|
1532
|
+
attr_writer :source
|
|
1533
|
+
|
|
1534
|
+
# Image content part.
|
|
1535
|
+
sig do
|
|
1536
|
+
returns(
|
|
1537
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent::Type::OrSymbol
|
|
1538
|
+
)
|
|
1539
|
+
end
|
|
1540
|
+
attr_accessor :type
|
|
1541
|
+
|
|
1542
|
+
# Stable field key for this content part.
|
|
1543
|
+
sig { returns(T.nilable(String)) }
|
|
1544
|
+
attr_reader :key
|
|
1545
|
+
|
|
1546
|
+
sig { params(key: String).void }
|
|
1547
|
+
attr_writer :key
|
|
1548
|
+
|
|
1549
|
+
# User-uploaded image content associated with an event.
|
|
1550
|
+
sig do
|
|
1551
|
+
params(
|
|
1552
|
+
source:
|
|
1553
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent::Source::OrHash,
|
|
1554
|
+
type:
|
|
1555
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent::Type::OrSymbol,
|
|
1556
|
+
key: String
|
|
1557
|
+
).returns(T.attached_class)
|
|
1558
|
+
end
|
|
1559
|
+
def self.new(
|
|
1560
|
+
# Image source information.
|
|
1561
|
+
source:,
|
|
1562
|
+
# Image content part.
|
|
1563
|
+
type:,
|
|
1564
|
+
# Stable field key for this content part.
|
|
1565
|
+
key: nil
|
|
1566
|
+
)
|
|
1567
|
+
end
|
|
1568
|
+
|
|
1569
|
+
sig do
|
|
1570
|
+
override.returns(
|
|
1571
|
+
{
|
|
1572
|
+
source:
|
|
1573
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent::Source,
|
|
1574
|
+
type:
|
|
1575
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent::Type::OrSymbol,
|
|
1576
|
+
key: String
|
|
1577
|
+
}
|
|
1578
|
+
)
|
|
1579
|
+
end
|
|
1580
|
+
def to_hash
|
|
1581
|
+
end
|
|
1582
|
+
|
|
1583
|
+
class Source < SafetyKit::Internal::Type::BaseModel
|
|
1584
|
+
OrHash =
|
|
1585
|
+
T.type_alias do
|
|
1586
|
+
T.any(
|
|
1587
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent::Source,
|
|
1588
|
+
SafetyKit::Internal::AnyHash
|
|
1589
|
+
)
|
|
1590
|
+
end
|
|
1591
|
+
|
|
1592
|
+
# URL image source.
|
|
1593
|
+
sig do
|
|
1594
|
+
returns(
|
|
1595
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent::Source::Type::OrSymbol
|
|
1596
|
+
)
|
|
1597
|
+
end
|
|
1598
|
+
attr_accessor :type
|
|
1599
|
+
|
|
1600
|
+
# URL of the image SafetyKit should compare or analyze.
|
|
1601
|
+
sig { returns(String) }
|
|
1602
|
+
attr_accessor :url
|
|
1603
|
+
|
|
1604
|
+
# Image source information.
|
|
1605
|
+
sig do
|
|
1606
|
+
params(
|
|
1607
|
+
type:
|
|
1608
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent::Source::Type::OrSymbol,
|
|
1609
|
+
url: String
|
|
1610
|
+
).returns(T.attached_class)
|
|
1611
|
+
end
|
|
1612
|
+
def self.new(
|
|
1613
|
+
# URL image source.
|
|
1614
|
+
type:,
|
|
1615
|
+
# URL of the image SafetyKit should compare or analyze.
|
|
1616
|
+
url:
|
|
1617
|
+
)
|
|
1618
|
+
end
|
|
1619
|
+
|
|
1620
|
+
sig do
|
|
1621
|
+
override.returns(
|
|
1622
|
+
{
|
|
1623
|
+
type:
|
|
1624
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent::Source::Type::OrSymbol,
|
|
1625
|
+
url: String
|
|
1626
|
+
}
|
|
1627
|
+
)
|
|
1628
|
+
end
|
|
1629
|
+
def to_hash
|
|
1630
|
+
end
|
|
1631
|
+
|
|
1632
|
+
# URL image source.
|
|
1633
|
+
module Type
|
|
1634
|
+
extend SafetyKit::Internal::Type::Enum
|
|
1635
|
+
|
|
1636
|
+
TaggedSymbol =
|
|
1637
|
+
T.type_alias do
|
|
1638
|
+
T.all(
|
|
1639
|
+
Symbol,
|
|
1640
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent::Source::Type
|
|
1641
|
+
)
|
|
1642
|
+
end
|
|
1643
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
1644
|
+
|
|
1645
|
+
URL =
|
|
1646
|
+
T.let(
|
|
1647
|
+
:url,
|
|
1648
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent::Source::Type::TaggedSymbol
|
|
1649
|
+
)
|
|
1650
|
+
|
|
1651
|
+
sig do
|
|
1652
|
+
override.returns(
|
|
1653
|
+
T::Array[
|
|
1654
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent::Source::Type::TaggedSymbol
|
|
1655
|
+
]
|
|
1656
|
+
)
|
|
1657
|
+
end
|
|
1658
|
+
def self.values
|
|
1659
|
+
end
|
|
1660
|
+
end
|
|
1661
|
+
end
|
|
1662
|
+
|
|
1663
|
+
# Image content part.
|
|
1664
|
+
module Type
|
|
1665
|
+
extend SafetyKit::Internal::Type::Enum
|
|
1666
|
+
|
|
1667
|
+
TaggedSymbol =
|
|
1668
|
+
T.type_alias do
|
|
1669
|
+
T.all(
|
|
1670
|
+
Symbol,
|
|
1671
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent::Type
|
|
1672
|
+
)
|
|
1673
|
+
end
|
|
1674
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
1675
|
+
|
|
1676
|
+
IMAGE =
|
|
1677
|
+
T.let(
|
|
1678
|
+
:image,
|
|
1679
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent::Type::TaggedSymbol
|
|
1680
|
+
)
|
|
1681
|
+
|
|
1682
|
+
sig do
|
|
1683
|
+
override.returns(
|
|
1684
|
+
T::Array[
|
|
1685
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::EventImageContent::Type::TaggedSymbol
|
|
1686
|
+
]
|
|
1687
|
+
)
|
|
1688
|
+
end
|
|
1689
|
+
def self.values
|
|
1690
|
+
end
|
|
1691
|
+
end
|
|
1692
|
+
end
|
|
1693
|
+
|
|
1694
|
+
sig do
|
|
1695
|
+
override.returns(
|
|
1696
|
+
T::Array[
|
|
1697
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Content::Variants
|
|
1698
|
+
]
|
|
1699
|
+
)
|
|
1700
|
+
end
|
|
1701
|
+
def self.variants
|
|
1702
|
+
end
|
|
1703
|
+
end
|
|
1704
|
+
|
|
1705
|
+
module Metadata
|
|
1706
|
+
extend SafetyKit::Internal::Type::Union
|
|
1707
|
+
|
|
1708
|
+
Variants =
|
|
1709
|
+
T.type_alias do
|
|
1710
|
+
T.any(
|
|
1711
|
+
String,
|
|
1712
|
+
Float,
|
|
1713
|
+
T::Boolean,
|
|
1714
|
+
T::Array[
|
|
1715
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Metadata::UnionMember3::Variants
|
|
1716
|
+
]
|
|
1717
|
+
)
|
|
1718
|
+
end
|
|
1719
|
+
|
|
1720
|
+
module UnionMember3
|
|
1721
|
+
extend SafetyKit::Internal::Type::Union
|
|
1722
|
+
|
|
1723
|
+
Variants = T.type_alias { T.any(String, Float, T::Boolean) }
|
|
1724
|
+
|
|
1725
|
+
sig do
|
|
1726
|
+
override.returns(
|
|
1727
|
+
T::Array[
|
|
1728
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Metadata::UnionMember3::Variants
|
|
1729
|
+
]
|
|
1730
|
+
)
|
|
1731
|
+
end
|
|
1732
|
+
def self.variants
|
|
1733
|
+
end
|
|
1734
|
+
end
|
|
1735
|
+
|
|
1736
|
+
sig do
|
|
1737
|
+
override.returns(
|
|
1738
|
+
T::Array[
|
|
1739
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Metadata::Variants
|
|
1740
|
+
]
|
|
1741
|
+
)
|
|
1742
|
+
end
|
|
1743
|
+
def self.variants
|
|
1744
|
+
end
|
|
1745
|
+
|
|
1746
|
+
UnionMember3Array =
|
|
1747
|
+
T.let(
|
|
1748
|
+
SafetyKit::Internal::Type::ArrayOf[
|
|
1749
|
+
union:
|
|
1750
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::Metadata::UnionMember3
|
|
1751
|
+
],
|
|
1752
|
+
SafetyKit::Internal::Type::Converter
|
|
1753
|
+
)
|
|
1754
|
+
end
|
|
1755
|
+
|
|
1756
|
+
class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
|
|
1757
|
+
OrHash =
|
|
1758
|
+
T.type_alias do
|
|
1759
|
+
T.any(
|
|
1760
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::ResourcesUsed,
|
|
1761
|
+
SafetyKit::Internal::AnyHash
|
|
1762
|
+
)
|
|
1763
|
+
end
|
|
1764
|
+
|
|
1765
|
+
# Resource family, such as email, phone, name, address, url, instagram, tiktok,
|
|
1766
|
+
# youtube, linkedin, or another stable snake_case identifier.
|
|
1767
|
+
sig { returns(String) }
|
|
1768
|
+
attr_accessor :type
|
|
1769
|
+
|
|
1770
|
+
# Resource value used during the event. SafetyKit stores a normalized hash of this
|
|
1771
|
+
# value, not the raw value.
|
|
1772
|
+
sig { returns(String) }
|
|
1773
|
+
attr_accessor :value
|
|
1774
|
+
|
|
1775
|
+
# Real-world or account resource used during the event, such as an email, phone
|
|
1776
|
+
# number, address, URL, social handle, or payment identifier.
|
|
1777
|
+
sig do
|
|
1778
|
+
params(type: String, value: String).returns(T.attached_class)
|
|
1779
|
+
end
|
|
1780
|
+
def self.new(
|
|
1781
|
+
# Resource family, such as email, phone, name, address, url, instagram, tiktok,
|
|
1782
|
+
# youtube, linkedin, or another stable snake_case identifier.
|
|
1783
|
+
type:,
|
|
1784
|
+
# Resource value used during the event. SafetyKit stores a normalized hash of this
|
|
1785
|
+
# value, not the raw value.
|
|
1786
|
+
value:
|
|
1787
|
+
)
|
|
1788
|
+
end
|
|
1789
|
+
|
|
1790
|
+
sig { override.returns({ type: String, value: String }) }
|
|
1791
|
+
def to_hash
|
|
1792
|
+
end
|
|
1793
|
+
end
|
|
1794
|
+
end
|
|
1795
|
+
|
|
1796
|
+
class UpdateAccount < SafetyKit::Internal::Type::BaseModel
|
|
1797
|
+
OrHash =
|
|
1798
|
+
T.type_alias do
|
|
1799
|
+
T.any(
|
|
1800
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount,
|
|
1801
|
+
SafetyKit::Internal::AnyHash
|
|
1802
|
+
)
|
|
1803
|
+
end
|
|
1804
|
+
|
|
1805
|
+
# Stable, low-cardinality product action name. Use snake_case and put dynamic
|
|
1806
|
+
# values in typed fields, content, resources_used, or metadata.
|
|
1807
|
+
sig { returns(String) }
|
|
1808
|
+
attr_accessor :event_name
|
|
1809
|
+
|
|
1810
|
+
# The time the event occurred in your system, as an ISO 8601 datetime string.
|
|
1811
|
+
sig { returns(Time) }
|
|
1812
|
+
attr_accessor :timestamp
|
|
1813
|
+
|
|
1814
|
+
sig { returns(Symbol) }
|
|
1815
|
+
attr_accessor :type
|
|
1816
|
+
|
|
1817
|
+
# Your stable canonical identifier for the user or account.
|
|
1818
|
+
sig { returns(String) }
|
|
1819
|
+
attr_accessor :user_id
|
|
1820
|
+
|
|
1821
|
+
# User-authored or user-uploaded content parts. Use this for message bodies, bios,
|
|
1822
|
+
# listing text, image URLs, and similar content SafetyKit should compare or
|
|
1823
|
+
# analyze.
|
|
1824
|
+
sig do
|
|
1825
|
+
returns(
|
|
1826
|
+
T.nilable(
|
|
1827
|
+
T::Array[
|
|
1828
|
+
T.any(
|
|
1829
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventTextContent,
|
|
1830
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent
|
|
1831
|
+
)
|
|
1832
|
+
]
|
|
1833
|
+
)
|
|
1834
|
+
)
|
|
1835
|
+
end
|
|
1836
|
+
attr_reader :content
|
|
1837
|
+
|
|
1838
|
+
sig do
|
|
1839
|
+
params(
|
|
1840
|
+
content:
|
|
1841
|
+
T::Array[
|
|
1842
|
+
T.any(
|
|
1843
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventTextContent::OrHash,
|
|
1844
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent::OrHash
|
|
1845
|
+
)
|
|
1846
|
+
]
|
|
1847
|
+
).void
|
|
1848
|
+
end
|
|
1849
|
+
attr_writer :content
|
|
1850
|
+
|
|
1851
|
+
# Non-PII product context for filtering, segmentation, and debugging. Values may
|
|
1852
|
+
# be strings, numbers, booleans, or arrays of those scalar values.
|
|
1853
|
+
sig do
|
|
1854
|
+
returns(
|
|
1855
|
+
T.nilable(
|
|
1856
|
+
T::Hash[
|
|
1857
|
+
Symbol,
|
|
1858
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Metadata::Variants
|
|
1859
|
+
]
|
|
1860
|
+
)
|
|
1861
|
+
)
|
|
1862
|
+
end
|
|
1863
|
+
attr_reader :metadata
|
|
1864
|
+
|
|
1865
|
+
sig do
|
|
1866
|
+
params(
|
|
1867
|
+
metadata:
|
|
1868
|
+
T::Hash[
|
|
1869
|
+
Symbol,
|
|
1870
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Metadata::Variants
|
|
1871
|
+
]
|
|
1872
|
+
).void
|
|
1873
|
+
end
|
|
1874
|
+
attr_writer :metadata
|
|
1875
|
+
|
|
1876
|
+
# Reusable resources observed during the event. Use this for emails, phone
|
|
1877
|
+
# numbers, names, addresses, social handles, URLs, payment identifiers, or similar
|
|
1878
|
+
# identifiers.
|
|
1879
|
+
sig do
|
|
1880
|
+
returns(
|
|
1881
|
+
T.nilable(
|
|
1882
|
+
T::Array[
|
|
1883
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::ResourcesUsed
|
|
1884
|
+
]
|
|
1885
|
+
)
|
|
1886
|
+
)
|
|
1887
|
+
end
|
|
1888
|
+
attr_reader :resources_used
|
|
1889
|
+
|
|
1890
|
+
sig do
|
|
1891
|
+
params(
|
|
1892
|
+
resources_used:
|
|
1893
|
+
T::Array[
|
|
1894
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::ResourcesUsed::OrHash
|
|
1895
|
+
]
|
|
1896
|
+
).void
|
|
1897
|
+
end
|
|
1898
|
+
attr_writer :resources_used
|
|
1899
|
+
|
|
1900
|
+
# A user or account profile, contact detail, payment detail, or public bio
|
|
1901
|
+
# changes.
|
|
1902
|
+
sig do
|
|
1903
|
+
params(
|
|
1904
|
+
event_name: String,
|
|
1905
|
+
timestamp: Time,
|
|
1906
|
+
user_id: String,
|
|
1907
|
+
content:
|
|
1908
|
+
T::Array[
|
|
1909
|
+
T.any(
|
|
1910
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventTextContent::OrHash,
|
|
1911
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent::OrHash
|
|
1912
|
+
)
|
|
1913
|
+
],
|
|
1914
|
+
metadata:
|
|
1915
|
+
T::Hash[
|
|
1916
|
+
Symbol,
|
|
1917
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Metadata::Variants
|
|
1918
|
+
],
|
|
1919
|
+
resources_used:
|
|
1920
|
+
T::Array[
|
|
1921
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::ResourcesUsed::OrHash
|
|
1922
|
+
],
|
|
1923
|
+
type: Symbol
|
|
1924
|
+
).returns(T.attached_class)
|
|
1925
|
+
end
|
|
1926
|
+
def self.new(
|
|
1927
|
+
# Stable, low-cardinality product action name. Use snake_case and put dynamic
|
|
1928
|
+
# values in typed fields, content, resources_used, or metadata.
|
|
1929
|
+
event_name:,
|
|
1930
|
+
# The time the event occurred in your system, as an ISO 8601 datetime string.
|
|
1931
|
+
timestamp:,
|
|
1932
|
+
# Your stable canonical identifier for the user or account.
|
|
1933
|
+
user_id:,
|
|
1934
|
+
# User-authored or user-uploaded content parts. Use this for message bodies, bios,
|
|
1935
|
+
# listing text, image URLs, and similar content SafetyKit should compare or
|
|
1936
|
+
# analyze.
|
|
1937
|
+
content: nil,
|
|
1938
|
+
# Non-PII product context for filtering, segmentation, and debugging. Values may
|
|
1939
|
+
# be strings, numbers, booleans, or arrays of those scalar values.
|
|
1940
|
+
metadata: nil,
|
|
1941
|
+
# Reusable resources observed during the event. Use this for emails, phone
|
|
1942
|
+
# numbers, names, addresses, social handles, URLs, payment identifiers, or similar
|
|
1943
|
+
# identifiers.
|
|
1944
|
+
resources_used: nil,
|
|
1945
|
+
type: :update_account
|
|
1946
|
+
)
|
|
1947
|
+
end
|
|
1948
|
+
|
|
1949
|
+
sig do
|
|
1950
|
+
override.returns(
|
|
1951
|
+
{
|
|
1952
|
+
event_name: String,
|
|
1953
|
+
timestamp: Time,
|
|
1954
|
+
type: Symbol,
|
|
1955
|
+
user_id: String,
|
|
1956
|
+
content:
|
|
1957
|
+
T::Array[
|
|
1958
|
+
T.any(
|
|
1959
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventTextContent,
|
|
1960
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent
|
|
1961
|
+
)
|
|
1962
|
+
],
|
|
1963
|
+
metadata:
|
|
1964
|
+
T::Hash[
|
|
1965
|
+
Symbol,
|
|
1966
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Metadata::Variants
|
|
1967
|
+
],
|
|
1968
|
+
resources_used:
|
|
1969
|
+
T::Array[
|
|
1970
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::ResourcesUsed
|
|
1971
|
+
]
|
|
1972
|
+
}
|
|
1973
|
+
)
|
|
1974
|
+
end
|
|
1975
|
+
def to_hash
|
|
1976
|
+
end
|
|
1977
|
+
|
|
1978
|
+
# User-authored text content associated with an event.
|
|
1979
|
+
module Content
|
|
1980
|
+
extend SafetyKit::Internal::Type::Union
|
|
1981
|
+
|
|
1982
|
+
Variants =
|
|
1983
|
+
T.type_alias do
|
|
1984
|
+
T.any(
|
|
1985
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventTextContent,
|
|
1986
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent
|
|
1987
|
+
)
|
|
1988
|
+
end
|
|
1989
|
+
|
|
1990
|
+
class EventTextContent < SafetyKit::Internal::Type::BaseModel
|
|
1991
|
+
OrHash =
|
|
1992
|
+
T.type_alias do
|
|
1993
|
+
T.any(
|
|
1994
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventTextContent,
|
|
1995
|
+
SafetyKit::Internal::AnyHash
|
|
1996
|
+
)
|
|
1997
|
+
end
|
|
1998
|
+
|
|
1999
|
+
# User-authored text SafetyKit should compare or analyze.
|
|
2000
|
+
sig { returns(String) }
|
|
2001
|
+
attr_accessor :text
|
|
2002
|
+
|
|
2003
|
+
# Text content part.
|
|
2004
|
+
sig do
|
|
2005
|
+
returns(
|
|
2006
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventTextContent::Type::OrSymbol
|
|
2007
|
+
)
|
|
2008
|
+
end
|
|
2009
|
+
attr_accessor :type
|
|
2010
|
+
|
|
2011
|
+
# Stable field key for this content part.
|
|
2012
|
+
sig { returns(T.nilable(String)) }
|
|
2013
|
+
attr_reader :key
|
|
2014
|
+
|
|
2015
|
+
sig { params(key: String).void }
|
|
2016
|
+
attr_writer :key
|
|
2017
|
+
|
|
2018
|
+
# User-authored text content associated with an event.
|
|
2019
|
+
sig do
|
|
2020
|
+
params(
|
|
2021
|
+
text: String,
|
|
2022
|
+
type:
|
|
2023
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventTextContent::Type::OrSymbol,
|
|
2024
|
+
key: String
|
|
2025
|
+
).returns(T.attached_class)
|
|
2026
|
+
end
|
|
2027
|
+
def self.new(
|
|
2028
|
+
# User-authored text SafetyKit should compare or analyze.
|
|
2029
|
+
text:,
|
|
2030
|
+
# Text content part.
|
|
2031
|
+
type:,
|
|
2032
|
+
# Stable field key for this content part.
|
|
2033
|
+
key: nil
|
|
2034
|
+
)
|
|
2035
|
+
end
|
|
2036
|
+
|
|
2037
|
+
sig do
|
|
2038
|
+
override.returns(
|
|
2039
|
+
{
|
|
2040
|
+
text: String,
|
|
2041
|
+
type:
|
|
2042
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventTextContent::Type::OrSymbol,
|
|
2043
|
+
key: String
|
|
2044
|
+
}
|
|
2045
|
+
)
|
|
2046
|
+
end
|
|
2047
|
+
def to_hash
|
|
2048
|
+
end
|
|
2049
|
+
|
|
2050
|
+
# Text content part.
|
|
2051
|
+
module Type
|
|
2052
|
+
extend SafetyKit::Internal::Type::Enum
|
|
2053
|
+
|
|
2054
|
+
TaggedSymbol =
|
|
2055
|
+
T.type_alias do
|
|
2056
|
+
T.all(
|
|
2057
|
+
Symbol,
|
|
2058
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventTextContent::Type
|
|
2059
|
+
)
|
|
2060
|
+
end
|
|
2061
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
2062
|
+
|
|
2063
|
+
TEXT =
|
|
2064
|
+
T.let(
|
|
2065
|
+
:text,
|
|
2066
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventTextContent::Type::TaggedSymbol
|
|
2067
|
+
)
|
|
2068
|
+
|
|
2069
|
+
sig do
|
|
2070
|
+
override.returns(
|
|
2071
|
+
T::Array[
|
|
2072
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventTextContent::Type::TaggedSymbol
|
|
2073
|
+
]
|
|
2074
|
+
)
|
|
2075
|
+
end
|
|
2076
|
+
def self.values
|
|
2077
|
+
end
|
|
2078
|
+
end
|
|
2079
|
+
end
|
|
2080
|
+
|
|
2081
|
+
class EventImageContent < SafetyKit::Internal::Type::BaseModel
|
|
2082
|
+
OrHash =
|
|
2083
|
+
T.type_alias do
|
|
2084
|
+
T.any(
|
|
2085
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent,
|
|
2086
|
+
SafetyKit::Internal::AnyHash
|
|
2087
|
+
)
|
|
2088
|
+
end
|
|
2089
|
+
|
|
2090
|
+
# Image source information.
|
|
2091
|
+
sig do
|
|
2092
|
+
returns(
|
|
2093
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent::Source
|
|
2094
|
+
)
|
|
2095
|
+
end
|
|
2096
|
+
attr_reader :source
|
|
2097
|
+
|
|
2098
|
+
sig do
|
|
2099
|
+
params(
|
|
2100
|
+
source:
|
|
2101
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent::Source::OrHash
|
|
2102
|
+
).void
|
|
2103
|
+
end
|
|
2104
|
+
attr_writer :source
|
|
2105
|
+
|
|
2106
|
+
# Image content part.
|
|
2107
|
+
sig do
|
|
2108
|
+
returns(
|
|
2109
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent::Type::OrSymbol
|
|
2110
|
+
)
|
|
2111
|
+
end
|
|
2112
|
+
attr_accessor :type
|
|
2113
|
+
|
|
2114
|
+
# Stable field key for this content part.
|
|
2115
|
+
sig { returns(T.nilable(String)) }
|
|
2116
|
+
attr_reader :key
|
|
2117
|
+
|
|
2118
|
+
sig { params(key: String).void }
|
|
2119
|
+
attr_writer :key
|
|
2120
|
+
|
|
2121
|
+
# User-uploaded image content associated with an event.
|
|
2122
|
+
sig do
|
|
2123
|
+
params(
|
|
2124
|
+
source:
|
|
2125
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent::Source::OrHash,
|
|
2126
|
+
type:
|
|
2127
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent::Type::OrSymbol,
|
|
2128
|
+
key: String
|
|
2129
|
+
).returns(T.attached_class)
|
|
2130
|
+
end
|
|
2131
|
+
def self.new(
|
|
2132
|
+
# Image source information.
|
|
2133
|
+
source:,
|
|
2134
|
+
# Image content part.
|
|
2135
|
+
type:,
|
|
2136
|
+
# Stable field key for this content part.
|
|
2137
|
+
key: nil
|
|
2138
|
+
)
|
|
2139
|
+
end
|
|
2140
|
+
|
|
2141
|
+
sig do
|
|
2142
|
+
override.returns(
|
|
2143
|
+
{
|
|
2144
|
+
source:
|
|
2145
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent::Source,
|
|
2146
|
+
type:
|
|
2147
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent::Type::OrSymbol,
|
|
2148
|
+
key: String
|
|
2149
|
+
}
|
|
2150
|
+
)
|
|
2151
|
+
end
|
|
2152
|
+
def to_hash
|
|
2153
|
+
end
|
|
2154
|
+
|
|
2155
|
+
class Source < SafetyKit::Internal::Type::BaseModel
|
|
2156
|
+
OrHash =
|
|
2157
|
+
T.type_alias do
|
|
2158
|
+
T.any(
|
|
2159
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent::Source,
|
|
2160
|
+
SafetyKit::Internal::AnyHash
|
|
2161
|
+
)
|
|
2162
|
+
end
|
|
2163
|
+
|
|
2164
|
+
# URL image source.
|
|
2165
|
+
sig do
|
|
2166
|
+
returns(
|
|
2167
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent::Source::Type::OrSymbol
|
|
2168
|
+
)
|
|
2169
|
+
end
|
|
2170
|
+
attr_accessor :type
|
|
2171
|
+
|
|
2172
|
+
# URL of the image SafetyKit should compare or analyze.
|
|
2173
|
+
sig { returns(String) }
|
|
2174
|
+
attr_accessor :url
|
|
2175
|
+
|
|
2176
|
+
# Image source information.
|
|
2177
|
+
sig do
|
|
2178
|
+
params(
|
|
2179
|
+
type:
|
|
2180
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent::Source::Type::OrSymbol,
|
|
2181
|
+
url: String
|
|
2182
|
+
).returns(T.attached_class)
|
|
2183
|
+
end
|
|
2184
|
+
def self.new(
|
|
2185
|
+
# URL image source.
|
|
2186
|
+
type:,
|
|
2187
|
+
# URL of the image SafetyKit should compare or analyze.
|
|
2188
|
+
url:
|
|
2189
|
+
)
|
|
2190
|
+
end
|
|
2191
|
+
|
|
2192
|
+
sig do
|
|
2193
|
+
override.returns(
|
|
2194
|
+
{
|
|
2195
|
+
type:
|
|
2196
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent::Source::Type::OrSymbol,
|
|
2197
|
+
url: String
|
|
2198
|
+
}
|
|
2199
|
+
)
|
|
2200
|
+
end
|
|
2201
|
+
def to_hash
|
|
2202
|
+
end
|
|
2203
|
+
|
|
2204
|
+
# URL image source.
|
|
2205
|
+
module Type
|
|
2206
|
+
extend SafetyKit::Internal::Type::Enum
|
|
2207
|
+
|
|
2208
|
+
TaggedSymbol =
|
|
2209
|
+
T.type_alias do
|
|
2210
|
+
T.all(
|
|
2211
|
+
Symbol,
|
|
2212
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent::Source::Type
|
|
2213
|
+
)
|
|
2214
|
+
end
|
|
2215
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
2216
|
+
|
|
2217
|
+
URL =
|
|
2218
|
+
T.let(
|
|
2219
|
+
:url,
|
|
2220
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent::Source::Type::TaggedSymbol
|
|
2221
|
+
)
|
|
2222
|
+
|
|
2223
|
+
sig do
|
|
2224
|
+
override.returns(
|
|
2225
|
+
T::Array[
|
|
2226
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent::Source::Type::TaggedSymbol
|
|
2227
|
+
]
|
|
2228
|
+
)
|
|
2229
|
+
end
|
|
2230
|
+
def self.values
|
|
2231
|
+
end
|
|
2232
|
+
end
|
|
2233
|
+
end
|
|
2234
|
+
|
|
2235
|
+
# Image content part.
|
|
2236
|
+
module Type
|
|
2237
|
+
extend SafetyKit::Internal::Type::Enum
|
|
2238
|
+
|
|
2239
|
+
TaggedSymbol =
|
|
2240
|
+
T.type_alias do
|
|
2241
|
+
T.all(
|
|
2242
|
+
Symbol,
|
|
2243
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent::Type
|
|
2244
|
+
)
|
|
2245
|
+
end
|
|
2246
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
2247
|
+
|
|
2248
|
+
IMAGE =
|
|
2249
|
+
T.let(
|
|
2250
|
+
:image,
|
|
2251
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent::Type::TaggedSymbol
|
|
2252
|
+
)
|
|
2253
|
+
|
|
2254
|
+
sig do
|
|
2255
|
+
override.returns(
|
|
2256
|
+
T::Array[
|
|
2257
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::EventImageContent::Type::TaggedSymbol
|
|
2258
|
+
]
|
|
2259
|
+
)
|
|
2260
|
+
end
|
|
2261
|
+
def self.values
|
|
2262
|
+
end
|
|
2263
|
+
end
|
|
2264
|
+
end
|
|
2265
|
+
|
|
2266
|
+
sig do
|
|
2267
|
+
override.returns(
|
|
2268
|
+
T::Array[
|
|
2269
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Content::Variants
|
|
2270
|
+
]
|
|
2271
|
+
)
|
|
2272
|
+
end
|
|
2273
|
+
def self.variants
|
|
2274
|
+
end
|
|
2275
|
+
end
|
|
2276
|
+
|
|
2277
|
+
module Metadata
|
|
2278
|
+
extend SafetyKit::Internal::Type::Union
|
|
2279
|
+
|
|
2280
|
+
Variants =
|
|
2281
|
+
T.type_alias do
|
|
2282
|
+
T.any(
|
|
2283
|
+
String,
|
|
2284
|
+
Float,
|
|
2285
|
+
T::Boolean,
|
|
2286
|
+
T::Array[
|
|
2287
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Metadata::UnionMember3::Variants
|
|
2288
|
+
]
|
|
2289
|
+
)
|
|
2290
|
+
end
|
|
2291
|
+
|
|
2292
|
+
module UnionMember3
|
|
2293
|
+
extend SafetyKit::Internal::Type::Union
|
|
2294
|
+
|
|
2295
|
+
Variants = T.type_alias { T.any(String, Float, T::Boolean) }
|
|
2296
|
+
|
|
2297
|
+
sig do
|
|
2298
|
+
override.returns(
|
|
2299
|
+
T::Array[
|
|
2300
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Metadata::UnionMember3::Variants
|
|
2301
|
+
]
|
|
2302
|
+
)
|
|
2303
|
+
end
|
|
2304
|
+
def self.variants
|
|
2305
|
+
end
|
|
2306
|
+
end
|
|
2307
|
+
|
|
2308
|
+
sig do
|
|
2309
|
+
override.returns(
|
|
2310
|
+
T::Array[
|
|
2311
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Metadata::Variants
|
|
2312
|
+
]
|
|
2313
|
+
)
|
|
2314
|
+
end
|
|
2315
|
+
def self.variants
|
|
2316
|
+
end
|
|
2317
|
+
|
|
2318
|
+
UnionMember3Array =
|
|
2319
|
+
T.let(
|
|
2320
|
+
SafetyKit::Internal::Type::ArrayOf[
|
|
2321
|
+
union:
|
|
2322
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::Metadata::UnionMember3
|
|
2323
|
+
],
|
|
2324
|
+
SafetyKit::Internal::Type::Converter
|
|
2325
|
+
)
|
|
2326
|
+
end
|
|
2327
|
+
|
|
2328
|
+
class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
|
|
2329
|
+
OrHash =
|
|
2330
|
+
T.type_alias do
|
|
2331
|
+
T.any(
|
|
2332
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::ResourcesUsed,
|
|
2333
|
+
SafetyKit::Internal::AnyHash
|
|
2334
|
+
)
|
|
2335
|
+
end
|
|
2336
|
+
|
|
2337
|
+
# Resource family, such as email, phone, name, address, url, instagram, tiktok,
|
|
2338
|
+
# youtube, linkedin, or another stable snake_case identifier.
|
|
2339
|
+
sig { returns(String) }
|
|
2340
|
+
attr_accessor :type
|
|
2341
|
+
|
|
2342
|
+
# Resource value used during the event. SafetyKit stores a normalized hash of this
|
|
2343
|
+
# value, not the raw value.
|
|
2344
|
+
sig { returns(String) }
|
|
2345
|
+
attr_accessor :value
|
|
2346
|
+
|
|
2347
|
+
# Real-world or account resource used during the event, such as an email, phone
|
|
2348
|
+
# number, address, URL, social handle, or payment identifier.
|
|
2349
|
+
sig do
|
|
2350
|
+
params(type: String, value: String).returns(T.attached_class)
|
|
2351
|
+
end
|
|
2352
|
+
def self.new(
|
|
2353
|
+
# Resource family, such as email, phone, name, address, url, instagram, tiktok,
|
|
2354
|
+
# youtube, linkedin, or another stable snake_case identifier.
|
|
2355
|
+
type:,
|
|
2356
|
+
# Resource value used during the event. SafetyKit stores a normalized hash of this
|
|
2357
|
+
# value, not the raw value.
|
|
2358
|
+
value:
|
|
2359
|
+
)
|
|
2360
|
+
end
|
|
2361
|
+
|
|
2362
|
+
sig { override.returns({ type: String, value: String }) }
|
|
2363
|
+
def to_hash
|
|
2364
|
+
end
|
|
2365
|
+
end
|
|
2366
|
+
end
|
|
2367
|
+
|
|
2368
|
+
sig do
|
|
2369
|
+
override.returns(
|
|
2370
|
+
T::Array[SafetyKit::Beta::EventCreateParams::Body::Variants]
|
|
2371
|
+
)
|
|
2372
|
+
end
|
|
2373
|
+
def self.variants
|
|
2374
|
+
end
|
|
2375
|
+
end
|
|
2376
|
+
end
|
|
2377
|
+
end
|
|
2378
|
+
end
|
|
2379
|
+
end
|