noresponse 8.3.0 → 8.4.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 +4 -4
- data/lib/no_response/assessments.rb +1 -1
- data/lib/no_response/models/shared/aggregatebucket.rb +10 -1
- data/lib/no_response/models/shared/aggregatebucket.rbi +6 -0
- data/lib/no_response/models/shared/aggregatescoreoutcome.rb +86 -0
- data/lib/no_response/models/shared/aggregatescoreoutcome.rbi +38 -0
- data/lib/no_response/models/shared/assessmentaggregate_metric.rb +1 -0
- data/lib/no_response/models/shared/assessmentaggregaterequest.rb +1 -1
- data/lib/no_response/models/shared/assessmentaggregaterequest_metric.rb +1 -0
- data/lib/no_response/models/shared.rb +1 -0
- data/lib/no_response/sdkconfiguration.rb +2 -2
- metadata +3 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: fed83d7d39a77dff5100c108fbc80b8b9914ed517cf7d783e39f198136746eaa
|
|
4
|
+
data.tar.gz: 65ba39190d307f0889684074936f7aa4446e29deb664027a6d13eb3348819283
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1a85f004e3b59338cb22c7db99f15036475c73c2c5d80b6d71bdf0c5c9abe9560f16a0735162a27069b9af2985d2d8479066102f52f4f6dea324e4964c31aea8
|
|
7
|
+
data.tar.gz: fdc3211e61760164e915e86ba8624aaab5c1b7d7039109b8d512522546eba91c28119698b1077e925418471588cfa38a8c246865fa384d3272a7c2be5c5cdfe6
|
|
@@ -1548,7 +1548,7 @@ module NoResponse
|
|
|
1548
1548
|
}
|
|
1549
1549
|
def aggregate(request:, retries: nil, timeout_ms: nil, http_headers: nil)
|
|
1550
1550
|
# aggregate - Count assessments by time, decision and reason
|
|
1551
|
-
# Count this environment's assessments created in [from,to) by hour, day or week, grouped by up to two of decision, flow, recommendation, band, reason, lane, country, asn and list_match. Each assessment counts once, by its first answer; late results do not count it again and appear in late_flips. Optional metrics add a score histogram per flow and late account decision changes. from and to start a bucket and cover at most 366 days (31 for hour buckets) inside the retention period. The filters are search's and describe the first answer: send them to search with revision first to list a cell's assessments. Counts hold no identifier, stay when an assessment or account is deleted, and report reasons by code and impact band. No Idempotency-Key.
|
|
1551
|
+
# Count this environment's assessments created in [from,to) by hour, day or week, grouped by up to two of decision, flow, recommendation, band, reason, lane, country, asn and list_match. Each assessment counts once, by its first answer; late results do not count it again and appear in late_flips. Optional metrics add a score histogram per flow, that histogram by the latest reported outcome, and late account decision changes. from and to start a bucket and cover at most 366 days (31 for hour buckets) inside the retention period. The filters are search's and describe the first answer: send them to search with revision first to list a cell's assessments. Counts hold no identifier, stay when an assessment or account is deleted, and report reasons by code and impact band. No Idempotency-Key.
|
|
1552
1552
|
url, params = @sdk_configuration.get_server_details
|
|
1553
1553
|
base_url = Utils.template_url(url, params)
|
|
1554
1554
|
url = "#{base_url}/v1/assessments/aggregate"
|
|
@@ -32,6 +32,12 @@ module NoResponse
|
|
|
32
32
|
Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::AggregateScoreCount)),
|
|
33
33
|
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("score_histogram")}}
|
|
34
34
|
)
|
|
35
|
+
# With metric score_outcomes: the score_histogram's first answers whose assessment has a reported outcome, by its latest. A bin's count less its score_outcomes is the first answers with none reported.
|
|
36
|
+
field(
|
|
37
|
+
:score_outcomes,
|
|
38
|
+
Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::AggregateScoreOutcome)),
|
|
39
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("score_outcomes")}}
|
|
40
|
+
)
|
|
35
41
|
|
|
36
42
|
field(
|
|
37
43
|
:late_flips,
|
|
@@ -45,15 +51,17 @@ module NoResponse
|
|
|
45
51
|
count: T.nilable(::Integer),
|
|
46
52
|
groups: T.nilable(T::Array[Models::Shared::AggregateGroup]),
|
|
47
53
|
score_histogram: T.nilable(T::Array[Models::Shared::AggregateScoreCount]),
|
|
54
|
+
score_outcomes: T.nilable(T::Array[Models::Shared::AggregateScoreOutcome]),
|
|
48
55
|
late_flips: T.nilable(T::Array[Models::Shared::AggregateLateFlip])
|
|
49
56
|
)
|
|
50
57
|
.void
|
|
51
58
|
}
|
|
52
|
-
def initialize(start:, count: nil, groups: nil, score_histogram: nil, late_flips: nil)
|
|
59
|
+
def initialize(start:, count: nil, groups: nil, score_histogram: nil, score_outcomes: nil, late_flips: nil)
|
|
53
60
|
@start = start
|
|
54
61
|
@count = count
|
|
55
62
|
@groups = groups
|
|
56
63
|
@score_histogram = score_histogram
|
|
64
|
+
@score_outcomes = score_outcomes
|
|
57
65
|
@late_flips = late_flips
|
|
58
66
|
end
|
|
59
67
|
|
|
@@ -64,6 +72,7 @@ module NoResponse
|
|
|
64
72
|
return false unless @count == other.count
|
|
65
73
|
return false unless @groups == other.groups
|
|
66
74
|
return false unless @score_histogram == other.score_histogram
|
|
75
|
+
return false unless @score_outcomes == other.score_outcomes
|
|
67
76
|
return false unless @late_flips == other.late_flips
|
|
68
77
|
true
|
|
69
78
|
end
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module NoResponse
|
|
5
|
+
module Models
|
|
6
|
+
module Shared
|
|
7
|
+
# First answers of one flow whose risk.score is in [score_min, score_max] and whose assessment's latest reported outcome (the latest received) is outcome. Counted when the first answer is counted and moved when a later outcome wins; outcomes reported before the first answer was counted are counted with it. An outcome reported before this count existed is counted only once another outcome is reported for the assessment.
|
|
8
|
+
class AggregateScoreOutcome
|
|
9
|
+
extend T::Sig
|
|
10
|
+
include Crystalline::MetadataFields
|
|
11
|
+
|
|
12
|
+
# The event an assessment is made for: account_creation (a user creates an account), login (a user returns to an existing account) or purchase (a payment or a credit grant). The account's risk is reported with the decision for this flow.
|
|
13
|
+
field(
|
|
14
|
+
:flow,
|
|
15
|
+
Models::Shared::Flow,
|
|
16
|
+
{
|
|
17
|
+
'format_json': {
|
|
18
|
+
'letter_case': ::NoResponse::Utils.field_name("flow"),
|
|
19
|
+
required: true,
|
|
20
|
+
'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::Flow, false)
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
)
|
|
24
|
+
# A multiple of 5.
|
|
25
|
+
field(
|
|
26
|
+
:score_min,
|
|
27
|
+
::Integer,
|
|
28
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("score_min"), required: true}}
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
field(
|
|
32
|
+
:score_max,
|
|
33
|
+
::Integer,
|
|
34
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("score_max"), required: true}}
|
|
35
|
+
)
|
|
36
|
+
# What the provider later learned about the assessed account. confirmed_abuse, account_takeover and chargeback report abuse; false_positive and legitimate withdraw an earlier abuse report of this workspace for the assessment; unknown is recorded only. Outcomes are append-only and the latest one recorded for an assessment wins.
|
|
37
|
+
field(
|
|
38
|
+
:outcome,
|
|
39
|
+
Models::Shared::Outcome,
|
|
40
|
+
{
|
|
41
|
+
'format_json': {
|
|
42
|
+
'letter_case': ::NoResponse::Utils.field_name("outcome"),
|
|
43
|
+
required: true,
|
|
44
|
+
'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::Outcome, false)
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
)
|
|
48
|
+
|
|
49
|
+
field(
|
|
50
|
+
:count,
|
|
51
|
+
::Integer,
|
|
52
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("count"), required: true}}
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
sig {
|
|
56
|
+
params(
|
|
57
|
+
flow: Models::Shared::Flow,
|
|
58
|
+
score_min: ::Integer,
|
|
59
|
+
score_max: ::Integer,
|
|
60
|
+
outcome: Models::Shared::Outcome,
|
|
61
|
+
count: ::Integer
|
|
62
|
+
)
|
|
63
|
+
.void
|
|
64
|
+
}
|
|
65
|
+
def initialize(flow:, score_min:, score_max:, outcome:, count:)
|
|
66
|
+
@flow = flow
|
|
67
|
+
@score_min = score_min
|
|
68
|
+
@score_max = score_max
|
|
69
|
+
@outcome = outcome
|
|
70
|
+
@count = count
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
74
|
+
def ==(other)
|
|
75
|
+
return false unless other.is_a?(self.class)
|
|
76
|
+
return false unless @flow == other.flow
|
|
77
|
+
return false unless @score_min == other.score_min
|
|
78
|
+
return false unless @score_max == other.score_max
|
|
79
|
+
return false unless @outcome == other.outcome
|
|
80
|
+
return false unless @count == other.count
|
|
81
|
+
true
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
class NoResponse::Models::Shared::AggregateScoreOutcome
|
|
5
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class NoResponse::Models::Shared::AggregateScoreOutcome
|
|
9
|
+
def flow
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def flow=(str_)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def score_min
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def score_min=(str_)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def score_max
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def score_max=(str_)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def outcome
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def outcome=(str_)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def count
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def count=(str_)
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -31,7 +31,7 @@ module NoResponse
|
|
|
31
31
|
Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::AggregateDimension)),
|
|
32
32
|
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("group_by")}}
|
|
33
33
|
)
|
|
34
|
-
# count: each bucket's count and groups. score_histogram: first answers by flow and 5-point score bucket. late_flips: changes of an assessment's account decision for its flow after its first answer, by from, to and delay.
|
|
34
|
+
# count: each bucket's count and groups. score_histogram: first answers by flow and 5-point score bucket. score_outcomes: the histogram's first answers that have a reported outcome, by flow, 5-point score bucket and the latest outcome reported for the assessment (POST /v1/assessments/{assessment_id}/outcomes); the rest of a bin has none reported. late_flips: changes of an assessment's account decision for its flow after its first answer, by from, to and delay.
|
|
35
35
|
field(
|
|
36
36
|
:metrics,
|
|
37
37
|
Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::AssessmentAggregateRequestMetric)),
|
|
@@ -30,6 +30,7 @@ module NoResponse
|
|
|
30
30
|
autoload :AggregateGroup, "no_response/models/shared/aggregategroup.rb"
|
|
31
31
|
autoload :AggregateLateFlip, "no_response/models/shared/aggregatelateflip.rb"
|
|
32
32
|
autoload :AggregateScoreCount, "no_response/models/shared/aggregatescorecount.rb"
|
|
33
|
+
autoload :AggregateScoreOutcome, "no_response/models/shared/aggregatescoreoutcome.rb"
|
|
33
34
|
autoload :Agreement, "no_response/models/shared/agreement.rb"
|
|
34
35
|
autoload :AnswerRevision, "no_response/models/shared/answerrevision.rb"
|
|
35
36
|
autoload :Assessment, "no_response/models/shared/assessment.rb"
|
|
@@ -95,9 +95,9 @@ module NoResponse
|
|
|
95
95
|
|
|
96
96
|
@language = "ruby"
|
|
97
97
|
@openapi_doc_version = "1"
|
|
98
|
-
@sdk_version = "8.
|
|
98
|
+
@sdk_version = "8.4.0"
|
|
99
99
|
@gen_version = "internal"
|
|
100
|
-
@user_agent = "noresponse-sdk/ruby 8.
|
|
100
|
+
@user_agent = "noresponse-sdk/ruby 8.4.0 internal 1 noresponse"
|
|
101
101
|
end
|
|
102
102
|
|
|
103
103
|
sig { returns([String, T::Hash[Symbol, String]]) }
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: noresponse
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 8.
|
|
4
|
+
version: 8.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- NoResponse
|
|
@@ -487,6 +487,8 @@ files:
|
|
|
487
487
|
- lib/no_response/models/shared/aggregatelateflip.rbi
|
|
488
488
|
- lib/no_response/models/shared/aggregatescorecount.rb
|
|
489
489
|
- lib/no_response/models/shared/aggregatescorecount.rbi
|
|
490
|
+
- lib/no_response/models/shared/aggregatescoreoutcome.rb
|
|
491
|
+
- lib/no_response/models/shared/aggregatescoreoutcome.rbi
|
|
490
492
|
- lib/no_response/models/shared/agreement.rb
|
|
491
493
|
- lib/no_response/models/shared/agreement.rbi
|
|
492
494
|
- lib/no_response/models/shared/alternate_name.rb
|