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,55 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module SafetyKit
|
|
4
|
+
module Models
|
|
5
|
+
class StreamAddParams < SafetyKit::Internal::Type::BaseModel
|
|
6
|
+
extend SafetyKit::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include SafetyKit::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(SafetyKit::StreamAddParams, SafetyKit::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# The namespace to ingest stream data into
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :namespace
|
|
17
|
+
|
|
18
|
+
sig { returns(String) }
|
|
19
|
+
attr_accessor :id
|
|
20
|
+
|
|
21
|
+
sig { returns(String) }
|
|
22
|
+
attr_accessor :stream_url
|
|
23
|
+
|
|
24
|
+
sig do
|
|
25
|
+
params(
|
|
26
|
+
namespace: String,
|
|
27
|
+
id: String,
|
|
28
|
+
stream_url: String,
|
|
29
|
+
request_options: SafetyKit::RequestOptions::OrHash
|
|
30
|
+
).returns(T.attached_class)
|
|
31
|
+
end
|
|
32
|
+
def self.new(
|
|
33
|
+
# The namespace to ingest stream data into
|
|
34
|
+
namespace:,
|
|
35
|
+
id:,
|
|
36
|
+
stream_url:,
|
|
37
|
+
request_options: {}
|
|
38
|
+
)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
sig do
|
|
42
|
+
override.returns(
|
|
43
|
+
{
|
|
44
|
+
namespace: String,
|
|
45
|
+
id: String,
|
|
46
|
+
stream_url: String,
|
|
47
|
+
request_options: SafetyKit::RequestOptions
|
|
48
|
+
}
|
|
49
|
+
)
|
|
50
|
+
end
|
|
51
|
+
def to_hash
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module SafetyKit
|
|
4
|
+
module Models
|
|
5
|
+
class StreamAddResponse < SafetyKit::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
SafetyKit::Models::StreamAddResponse,
|
|
10
|
+
SafetyKit::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
sig { returns(String) }
|
|
15
|
+
attr_accessor :request_id
|
|
16
|
+
|
|
17
|
+
sig do
|
|
18
|
+
returns(SafetyKit::Models::StreamAddResponse::Status::TaggedSymbol)
|
|
19
|
+
end
|
|
20
|
+
attr_accessor :status
|
|
21
|
+
|
|
22
|
+
# Stream ingestion request accepted for asynchronous processing.
|
|
23
|
+
sig do
|
|
24
|
+
params(
|
|
25
|
+
request_id: String,
|
|
26
|
+
status: SafetyKit::Models::StreamAddResponse::Status::OrSymbol
|
|
27
|
+
).returns(T.attached_class)
|
|
28
|
+
end
|
|
29
|
+
def self.new(request_id:, status:)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
sig do
|
|
33
|
+
override.returns(
|
|
34
|
+
{
|
|
35
|
+
request_id: String,
|
|
36
|
+
status: SafetyKit::Models::StreamAddResponse::Status::TaggedSymbol
|
|
37
|
+
}
|
|
38
|
+
)
|
|
39
|
+
end
|
|
40
|
+
def to_hash
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
module Status
|
|
44
|
+
extend SafetyKit::Internal::Type::Enum
|
|
45
|
+
|
|
46
|
+
TaggedSymbol =
|
|
47
|
+
T.type_alias do
|
|
48
|
+
T.all(Symbol, SafetyKit::Models::StreamAddResponse::Status)
|
|
49
|
+
end
|
|
50
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
51
|
+
|
|
52
|
+
ACCEPTED =
|
|
53
|
+
T.let(
|
|
54
|
+
:accepted,
|
|
55
|
+
SafetyKit::Models::StreamAddResponse::Status::TaggedSymbol
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
sig do
|
|
59
|
+
override.returns(
|
|
60
|
+
T::Array[SafetyKit::Models::StreamAddResponse::Status::TaggedSymbol]
|
|
61
|
+
)
|
|
62
|
+
end
|
|
63
|
+
def self.values
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module SafetyKit
|
|
4
|
+
module Models
|
|
5
|
+
class StreamAddTranscriptParams < SafetyKit::Internal::Type::BaseModel
|
|
6
|
+
extend SafetyKit::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include SafetyKit::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
SafetyKit::StreamAddTranscriptParams,
|
|
13
|
+
SafetyKit::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# The namespace to ingest stream data into
|
|
18
|
+
sig { returns(String) }
|
|
19
|
+
attr_accessor :namespace
|
|
20
|
+
|
|
21
|
+
sig { returns(String) }
|
|
22
|
+
attr_accessor :stream_id
|
|
23
|
+
|
|
24
|
+
sig { returns(String) }
|
|
25
|
+
attr_accessor :text
|
|
26
|
+
|
|
27
|
+
sig { returns(Integer) }
|
|
28
|
+
attr_accessor :timestamp
|
|
29
|
+
|
|
30
|
+
sig do
|
|
31
|
+
params(
|
|
32
|
+
namespace: String,
|
|
33
|
+
stream_id: String,
|
|
34
|
+
text: String,
|
|
35
|
+
timestamp: Integer,
|
|
36
|
+
request_options: SafetyKit::RequestOptions::OrHash
|
|
37
|
+
).returns(T.attached_class)
|
|
38
|
+
end
|
|
39
|
+
def self.new(
|
|
40
|
+
# The namespace to ingest stream data into
|
|
41
|
+
namespace:,
|
|
42
|
+
stream_id:,
|
|
43
|
+
text:,
|
|
44
|
+
timestamp:,
|
|
45
|
+
request_options: {}
|
|
46
|
+
)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
sig do
|
|
50
|
+
override.returns(
|
|
51
|
+
{
|
|
52
|
+
namespace: String,
|
|
53
|
+
stream_id: String,
|
|
54
|
+
text: String,
|
|
55
|
+
timestamp: Integer,
|
|
56
|
+
request_options: SafetyKit::RequestOptions
|
|
57
|
+
}
|
|
58
|
+
)
|
|
59
|
+
end
|
|
60
|
+
def to_hash
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module SafetyKit
|
|
4
|
+
module Models
|
|
5
|
+
class StreamAddTranscriptResponse < SafetyKit::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
SafetyKit::Models::StreamAddTranscriptResponse,
|
|
10
|
+
SafetyKit::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
sig { returns(String) }
|
|
15
|
+
attr_accessor :request_id
|
|
16
|
+
|
|
17
|
+
sig do
|
|
18
|
+
returns(
|
|
19
|
+
SafetyKit::Models::StreamAddTranscriptResponse::Status::TaggedSymbol
|
|
20
|
+
)
|
|
21
|
+
end
|
|
22
|
+
attr_accessor :status
|
|
23
|
+
|
|
24
|
+
# Stream ingestion request accepted for asynchronous processing.
|
|
25
|
+
sig do
|
|
26
|
+
params(
|
|
27
|
+
request_id: String,
|
|
28
|
+
status:
|
|
29
|
+
SafetyKit::Models::StreamAddTranscriptResponse::Status::OrSymbol
|
|
30
|
+
).returns(T.attached_class)
|
|
31
|
+
end
|
|
32
|
+
def self.new(request_id:, status:)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
sig do
|
|
36
|
+
override.returns(
|
|
37
|
+
{
|
|
38
|
+
request_id: String,
|
|
39
|
+
status:
|
|
40
|
+
SafetyKit::Models::StreamAddTranscriptResponse::Status::TaggedSymbol
|
|
41
|
+
}
|
|
42
|
+
)
|
|
43
|
+
end
|
|
44
|
+
def to_hash
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
module Status
|
|
48
|
+
extend SafetyKit::Internal::Type::Enum
|
|
49
|
+
|
|
50
|
+
TaggedSymbol =
|
|
51
|
+
T.type_alias do
|
|
52
|
+
T.all(
|
|
53
|
+
Symbol,
|
|
54
|
+
SafetyKit::Models::StreamAddTranscriptResponse::Status
|
|
55
|
+
)
|
|
56
|
+
end
|
|
57
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
58
|
+
|
|
59
|
+
ACCEPTED =
|
|
60
|
+
T.let(
|
|
61
|
+
:accepted,
|
|
62
|
+
SafetyKit::Models::StreamAddTranscriptResponse::Status::TaggedSymbol
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
sig do
|
|
66
|
+
override.returns(
|
|
67
|
+
T::Array[
|
|
68
|
+
SafetyKit::Models::StreamAddTranscriptResponse::Status::TaggedSymbol
|
|
69
|
+
]
|
|
70
|
+
)
|
|
71
|
+
end
|
|
72
|
+
def self.values
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module SafetyKit
|
|
4
|
+
AgentDecisionCreateAgentDecisionParams =
|
|
5
|
+
SafetyKit::Models::AgentDecisionCreateAgentDecisionParams
|
|
6
|
+
|
|
7
|
+
Beta = SafetyKit::Models::Beta
|
|
8
|
+
|
|
9
|
+
ClientSessionCreateSessionParams =
|
|
10
|
+
SafetyKit::Models::ClientSessionCreateSessionParams
|
|
11
|
+
|
|
12
|
+
DataAddParams = SafetyKit::Models::DataAddParams
|
|
13
|
+
|
|
14
|
+
DataCreateUploadURLParams = SafetyKit::Models::DataCreateUploadURLParams
|
|
15
|
+
|
|
16
|
+
DataGetDownloadURLParams = SafetyKit::Models::DataGetDownloadURLParams
|
|
17
|
+
|
|
18
|
+
DataGetStatusParams = SafetyKit::Models::DataGetStatusParams
|
|
19
|
+
|
|
20
|
+
DataObject = SafetyKit::Models::DataObject
|
|
21
|
+
|
|
22
|
+
DataUpdateSettingsParams = SafetyKit::Models::DataUpdateSettingsParams
|
|
23
|
+
|
|
24
|
+
StreamAddFrameParams = SafetyKit::Models::StreamAddFrameParams
|
|
25
|
+
|
|
26
|
+
StreamAddParams = SafetyKit::Models::StreamAddParams
|
|
27
|
+
|
|
28
|
+
StreamAddTranscriptParams = SafetyKit::Models::StreamAddTranscriptParams
|
|
29
|
+
end
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module SafetyKit
|
|
4
|
+
# Specify HTTP behaviour to use for a specific request. These options supplement
|
|
5
|
+
# or override those provided at the client level.
|
|
6
|
+
#
|
|
7
|
+
# When making a request, you can pass an actual {RequestOptions} instance, or
|
|
8
|
+
# simply pass a Hash with symbol keys matching the attributes on this class.
|
|
9
|
+
class RequestOptions < SafetyKit::Internal::Type::BaseModel
|
|
10
|
+
OrHash =
|
|
11
|
+
T.type_alias do
|
|
12
|
+
T.any(SafetyKit::RequestOptions, SafetyKit::Internal::AnyHash)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# @api private
|
|
16
|
+
sig { params(opts: SafetyKit::RequestOptions::OrHash).void }
|
|
17
|
+
def self.validate!(opts)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# Idempotency key to send with request and all associated retries. Will only be
|
|
21
|
+
# sent for write requests.
|
|
22
|
+
sig { returns(T.nilable(String)) }
|
|
23
|
+
attr_accessor :idempotency_key
|
|
24
|
+
|
|
25
|
+
# Extra query params to send with the request. These are `.merge`’d into any
|
|
26
|
+
# `query` given at the client level.
|
|
27
|
+
sig do
|
|
28
|
+
returns(
|
|
29
|
+
T.nilable(T::Hash[String, T.nilable(T.any(T::Array[String], String))])
|
|
30
|
+
)
|
|
31
|
+
end
|
|
32
|
+
attr_accessor :extra_query
|
|
33
|
+
|
|
34
|
+
# Extra headers to send with the request. These are `.merged`’d into any
|
|
35
|
+
# `extra_headers` given at the client level.
|
|
36
|
+
sig { returns(T.nilable(T::Hash[String, T.nilable(String)])) }
|
|
37
|
+
attr_accessor :extra_headers
|
|
38
|
+
|
|
39
|
+
# Extra data to send with the request. These are deep merged into any data
|
|
40
|
+
# generated as part of the normal request.
|
|
41
|
+
sig { returns(T.nilable(T.anything)) }
|
|
42
|
+
attr_accessor :extra_body
|
|
43
|
+
|
|
44
|
+
# Maximum number of retries to attempt after a failed initial request.
|
|
45
|
+
sig { returns(T.nilable(Integer)) }
|
|
46
|
+
attr_accessor :max_retries
|
|
47
|
+
|
|
48
|
+
# Request timeout in seconds.
|
|
49
|
+
sig { returns(T.nilable(Float)) }
|
|
50
|
+
attr_accessor :timeout
|
|
51
|
+
|
|
52
|
+
# Returns a new instance of RequestOptions.
|
|
53
|
+
sig do
|
|
54
|
+
params(values: SafetyKit::Internal::AnyHash).returns(T.attached_class)
|
|
55
|
+
end
|
|
56
|
+
def self.new(values = {})
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module SafetyKit
|
|
4
|
+
module Resources
|
|
5
|
+
# Send human reviewer final verdicts to SafetyKit. This feedback improves the
|
|
6
|
+
# accuracy of SafetyKit's automated decisions over time.
|
|
7
|
+
class AgentDecisions
|
|
8
|
+
# Record a human reviewer's final verdict for content that SafetyKit has
|
|
9
|
+
# previously reviewed. This ground truth feedback allows SafetyKit to improve the
|
|
10
|
+
# accuracy of automated decisions. Each call provides feedback on whether a given
|
|
11
|
+
# piece of content violates a specific policy category. If content is reviewed for
|
|
12
|
+
# multiple policies, send one call per policy.
|
|
13
|
+
sig do
|
|
14
|
+
params(
|
|
15
|
+
content_type: String,
|
|
16
|
+
decision: String,
|
|
17
|
+
policy_id: String,
|
|
18
|
+
reference_id: String,
|
|
19
|
+
action: String,
|
|
20
|
+
comment: T.nilable(String),
|
|
21
|
+
request_options: SafetyKit::RequestOptions::OrHash
|
|
22
|
+
).returns(SafetyKit::Models::AgentDecisionCreateAgentDecisionResponse)
|
|
23
|
+
end
|
|
24
|
+
def create_agent_decision(
|
|
25
|
+
# The dataapi namespace of the content being reviewed
|
|
26
|
+
content_type:,
|
|
27
|
+
# The human reviewer's verdict on whether the content violates the specified
|
|
28
|
+
# policy ('match'/'no_match').
|
|
29
|
+
decision:,
|
|
30
|
+
# The SafetyKit policy category ID that was evaluated, as configured for your
|
|
31
|
+
# account
|
|
32
|
+
policy_id:,
|
|
33
|
+
# The external id for the content being reviewed
|
|
34
|
+
reference_id:,
|
|
35
|
+
# The correct enforcement action for this content (e.g. 'reduce_visibility',
|
|
36
|
+
# 'unpublish')
|
|
37
|
+
action: nil,
|
|
38
|
+
# Additional context or details from the human reviewer
|
|
39
|
+
comment: nil,
|
|
40
|
+
request_options: {}
|
|
41
|
+
)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# @api private
|
|
45
|
+
sig { params(client: SafetyKit::Client).returns(T.attached_class) }
|
|
46
|
+
def self.new(client:)
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module SafetyKit
|
|
4
|
+
module Resources
|
|
5
|
+
class Beta
|
|
6
|
+
# Beta. Send backend events for account, content, and user interaction activity.
|
|
7
|
+
class Events
|
|
8
|
+
# Beta. Send a backend event after a meaningful product action happens in your
|
|
9
|
+
# system. Use events for durable server-side context such as account creation,
|
|
10
|
+
# account updates, user-to-user contact, and content uploads. Do not send browser
|
|
11
|
+
# pageviews, button clicks, or other client-only telemetry through this endpoint.
|
|
12
|
+
sig do
|
|
13
|
+
params(
|
|
14
|
+
body:
|
|
15
|
+
T.any(
|
|
16
|
+
SafetyKit::Beta::EventCreateParams::Body::UserContact::OrHash,
|
|
17
|
+
SafetyKit::Beta::EventCreateParams::Body::ContentUploaded::OrHash,
|
|
18
|
+
SafetyKit::Beta::EventCreateParams::Body::CreateAccount::OrHash,
|
|
19
|
+
SafetyKit::Beta::EventCreateParams::Body::UpdateAccount::OrHash
|
|
20
|
+
),
|
|
21
|
+
request_options: SafetyKit::RequestOptions::OrHash
|
|
22
|
+
).returns(SafetyKit::Models::Beta::EventCreateResponse)
|
|
23
|
+
end
|
|
24
|
+
def create(
|
|
25
|
+
# Backend event to send to SafetyKit. Send events from your server after an action
|
|
26
|
+
# has happened in your product. Do not send these events directly from a browser
|
|
27
|
+
# or mobile client.
|
|
28
|
+
body:,
|
|
29
|
+
request_options: {}
|
|
30
|
+
)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# @api private
|
|
34
|
+
sig { params(client: SafetyKit::Client).returns(T.attached_class) }
|
|
35
|
+
def self.new(client:)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module SafetyKit
|
|
4
|
+
module Resources
|
|
5
|
+
class Beta
|
|
6
|
+
# Beta. Send backend events for account, content, and user interaction activity.
|
|
7
|
+
sig { returns(SafetyKit::Resources::Beta::Events) }
|
|
8
|
+
attr_reader :events
|
|
9
|
+
|
|
10
|
+
# @api private
|
|
11
|
+
sig { params(client: SafetyKit::Client).returns(T.attached_class) }
|
|
12
|
+
def self.new(client:)
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module SafetyKit
|
|
4
|
+
module Resources
|
|
5
|
+
# Create browser-safe webapp SDK session tokens from authenticated server-side
|
|
6
|
+
# code.
|
|
7
|
+
class ClientSessions
|
|
8
|
+
# Create a browser-safe SafetyKit webapp SDK session token from server-side code
|
|
9
|
+
# before rendering pages that load the browser SDK. The request must be
|
|
10
|
+
# authenticated with a valid Bearer token.
|
|
11
|
+
sig do
|
|
12
|
+
params(
|
|
13
|
+
customer_session_hash: String,
|
|
14
|
+
customer_user_id: String,
|
|
15
|
+
request_options: SafetyKit::RequestOptions::OrHash
|
|
16
|
+
).returns(SafetyKit::Models::ClientSessionCreateSessionResponse)
|
|
17
|
+
end
|
|
18
|
+
def create_session(
|
|
19
|
+
# Hashed customer browser session value associated with the browser SDK session.
|
|
20
|
+
customer_session_hash: nil,
|
|
21
|
+
# Customer user identifier associated with the browser SDK session.
|
|
22
|
+
customer_user_id: nil,
|
|
23
|
+
request_options: {}
|
|
24
|
+
)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# @api private
|
|
28
|
+
sig { params(client: SafetyKit::Client).returns(T.attached_class) }
|
|
29
|
+
def self.new(client:)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module SafetyKit
|
|
4
|
+
module Resources
|
|
5
|
+
# Ingest data for fraud detection and risk analysis.
|
|
6
|
+
class Data
|
|
7
|
+
# Add data to a namespace, returning immediately. Processing happens
|
|
8
|
+
# asynchronously in the background.
|
|
9
|
+
sig do
|
|
10
|
+
params(
|
|
11
|
+
namespace: String,
|
|
12
|
+
data:
|
|
13
|
+
T.any(
|
|
14
|
+
SafetyKit::DataObject::OrHash,
|
|
15
|
+
T::Array[SafetyKit::DataObject::OrHash]
|
|
16
|
+
),
|
|
17
|
+
request_options: SafetyKit::RequestOptions::OrHash
|
|
18
|
+
).returns(SafetyKit::Models::DataAddResponse)
|
|
19
|
+
end
|
|
20
|
+
def add(
|
|
21
|
+
# The namespace to ingest data into
|
|
22
|
+
namespace,
|
|
23
|
+
# A data object to ingest. It must include an id field. All other fields are
|
|
24
|
+
# flexible and can be any JSON type.
|
|
25
|
+
data:,
|
|
26
|
+
request_options: {}
|
|
27
|
+
)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Request a pre-signed upload URL for large JSONL batches into a namespace. After
|
|
31
|
+
# receiving `upload_url`, upload your JSONL file using `PUT {upload_url}` with
|
|
32
|
+
# header `Content-Type: application/json`; put each JSON object on a new line.
|
|
33
|
+
sig do
|
|
34
|
+
params(
|
|
35
|
+
namespace: String,
|
|
36
|
+
schema:
|
|
37
|
+
T::Hash[
|
|
38
|
+
Symbol,
|
|
39
|
+
SafetyKit::DataCreateUploadURLParams::Schema::OrHash
|
|
40
|
+
],
|
|
41
|
+
request_options: SafetyKit::RequestOptions::OrHash
|
|
42
|
+
).returns(SafetyKit::Models::DataCreateUploadURLResponse)
|
|
43
|
+
end
|
|
44
|
+
def create_upload_url(
|
|
45
|
+
# The namespace to ingest data into
|
|
46
|
+
namespace,
|
|
47
|
+
# Schema mapping field names to their definitions. Use content_type to specify
|
|
48
|
+
# which fields contain URLs that should be processed (images, videos, or
|
|
49
|
+
# websites), datetime fields, or 'metadata' for fields that should be stored but
|
|
50
|
+
# not indexed. Use display_hint to provide UI rendering hints.
|
|
51
|
+
schema: nil,
|
|
52
|
+
request_options: {}
|
|
53
|
+
)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# Retrieve the status of a data ingestion request and, once complete, a temporary
|
|
57
|
+
# S3 URL for the full result file. This endpoint always uses the URL-based
|
|
58
|
+
# response shape regardless of request size.
|
|
59
|
+
sig do
|
|
60
|
+
params(
|
|
61
|
+
request_id: String,
|
|
62
|
+
namespace: String,
|
|
63
|
+
request_options: SafetyKit::RequestOptions::OrHash
|
|
64
|
+
).returns(SafetyKit::Models::DataGetDownloadURLResponse)
|
|
65
|
+
end
|
|
66
|
+
def get_download_url(
|
|
67
|
+
# The request ID returned when the ingest request was created
|
|
68
|
+
request_id,
|
|
69
|
+
# The namespace the data was ingested into
|
|
70
|
+
namespace:,
|
|
71
|
+
request_options: {}
|
|
72
|
+
)
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
# Retrieve the status of a data ingestion request and, once complete, return
|
|
76
|
+
# processed objects inline. If the processed output exceeds the 5 MiB inline
|
|
77
|
+
# response limit, this endpoint returns an error instructing you to use the
|
|
78
|
+
# download endpoint instead.
|
|
79
|
+
sig do
|
|
80
|
+
params(
|
|
81
|
+
request_id: String,
|
|
82
|
+
namespace: String,
|
|
83
|
+
request_options: SafetyKit::RequestOptions::OrHash
|
|
84
|
+
).returns(SafetyKit::Models::DataGetStatusResponse)
|
|
85
|
+
end
|
|
86
|
+
def get_status(
|
|
87
|
+
# The request ID returned when the ingest request was created
|
|
88
|
+
request_id,
|
|
89
|
+
# The namespace the data was ingested into
|
|
90
|
+
namespace:,
|
|
91
|
+
request_options: {}
|
|
92
|
+
)
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
# Create or replace settings for a namespace, primarily used to change the schema
|
|
96
|
+
# associated with the namespace.
|
|
97
|
+
sig do
|
|
98
|
+
params(
|
|
99
|
+
namespace: String,
|
|
100
|
+
schema:
|
|
101
|
+
T::Hash[
|
|
102
|
+
Symbol,
|
|
103
|
+
SafetyKit::DataUpdateSettingsParams::Schema::OrHash
|
|
104
|
+
],
|
|
105
|
+
request_options: SafetyKit::RequestOptions::OrHash
|
|
106
|
+
).returns(SafetyKit::Models::DataUpdateSettingsResponse)
|
|
107
|
+
end
|
|
108
|
+
def update_settings(
|
|
109
|
+
# The namespace to ingest data into
|
|
110
|
+
namespace,
|
|
111
|
+
# Schema mapping field names to their definitions. Use content_type to specify
|
|
112
|
+
# which fields contain URLs that should be processed (images, videos, or
|
|
113
|
+
# websites), datetime fields, or 'metadata' for fields that should be stored but
|
|
114
|
+
# not indexed. Use display_hint to provide UI rendering hints.
|
|
115
|
+
schema:,
|
|
116
|
+
request_options: {}
|
|
117
|
+
)
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
# @api private
|
|
121
|
+
sig { params(client: SafetyKit::Client).returns(T.attached_class) }
|
|
122
|
+
def self.new(client:)
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
end
|
|
126
|
+
end
|