noresponse 10.0.10 → 10.0.11
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/events.rb +1 -1
- data/lib/no_response/models/shared/conflicterrorcode.rb +1 -0
- data/lib/no_response/models/shared/metric.rb +2 -1
- data/lib/no_response/models/shared/policyhistoryitem.rb +1 -1
- data/lib/no_response/models/shared/screening.rb +20 -0
- data/lib/no_response/models/shared/screening.rbi +12 -0
- data/lib/no_response/models/shared/settings.rb +13 -3
- data/lib/no_response/models/shared/settings.rbi +6 -0
- data/lib/no_response/models/shared/settingsrequest.rb +12 -2
- data/lib/no_response/models/shared/settingsrequest.rbi +6 -0
- data/lib/no_response/models/shared/usage.rb +1 -1
- data/lib/no_response/models/shared/usagecount.rb +1 -1
- data/lib/no_response/sdkconfiguration.rb +2 -2
- data/lib/no_response/settings.rb +2 -2
- data/lib/no_response/usage.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 11deaafb30241b9fc0e9d1d7d44fbedba4fc85260486e5a10a4fdc62be3c34b3
|
|
4
|
+
data.tar.gz: 84f28e10935cb2c180b8faa6bee41b8d7c9779bf941217a27866ee3f9ea1ca30
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2eff2d401db21e107b427fed6d02671fe46ab5c92791bbc567bfaea1d918b8eb82150b5f977d2a458f633f0fe39e68cb8fec23ccb71e67f0c85bcc71525d3d45
|
|
7
|
+
data.tar.gz: 06fe0c24ce4404c94393470d7f8d3a7ea18e7a7e5bb1191feb0e04c91ab4dd1b8204efb42126daab1f0cad9e0c30415350c31051f3e6049209a34fa337a807e1
|
data/lib/no_response/events.rb
CHANGED
|
@@ -3029,7 +3029,7 @@ module NoResponse
|
|
|
3029
3029
|
http_headers: nil
|
|
3030
3030
|
)
|
|
3031
3031
|
# start_screening - Start a screening.
|
|
3032
|
-
# Start a screening of new attendees and everyone on watch or escalated, with an Idempotency-Key. It finishes completed, partial or failed minutes to hours later; poll it. The test environment screens with stand-ins that find no accounts.
|
|
3032
|
+
# Start a screening of new attendees and everyone on watch or escalated, with an Idempotency-Key. It finishes completed, partial or failed minutes to hours later; poll it. The answer carries estimated_spend; a screening whose estimate exceeds what the daily screening cap has left answers 409 screening_cap_exceeded. The test environment screens with stand-ins that find no accounts.
|
|
3033
3033
|
request = Models::Operations::StartScreeningRequest.new(
|
|
3034
3034
|
workspace_id: workspace_id,
|
|
3035
3035
|
environment: environment,
|
|
@@ -36,6 +36,7 @@ module NoResponse
|
|
|
36
36
|
AGGREGATE_ERASED_DATA = new("aggregate_erased_data")
|
|
37
37
|
EVENT_CONFLICT = new("event_conflict")
|
|
38
38
|
EVENT_LIMIT_REACHED = new("event_limit_reached")
|
|
39
|
+
SCREENING_CAP_EXCEEDED = new("screening_cap_exceeded")
|
|
39
40
|
SCREENING_UNAVAILABLE = new("screening_unavailable")
|
|
40
41
|
end
|
|
41
42
|
|
|
@@ -4,13 +4,14 @@
|
|
|
4
4
|
module NoResponse
|
|
5
5
|
module Models
|
|
6
6
|
module Shared
|
|
7
|
-
# Metric - assessments: assessments admitted. webhook_deliveries: events sent to endpoints, one per event per endpoint. key_usage_events: key-usage events accepted.
|
|
7
|
+
# Metric - assessments: assessments admitted. webhook_deliveries: events sent to endpoints, one per event per endpoint. key_usage_events: key-usage events accepted. screenings: attendees a screening recorded a final result for, one per attendee per screening; a failed attendee counts nothing.
|
|
8
8
|
class Metric
|
|
9
9
|
include ::Crystalline::Enum
|
|
10
10
|
enums do
|
|
11
11
|
ASSESSMENTS = new("assessments")
|
|
12
12
|
WEBHOOK_DELIVERIES = new("webhook_deliveries")
|
|
13
13
|
KEY_USAGE_EVENTS = new("key_usage_events")
|
|
14
|
+
SCREENINGS = new("screenings")
|
|
14
15
|
end
|
|
15
16
|
|
|
16
17
|
open!
|
|
@@ -9,7 +9,7 @@ module NoResponse
|
|
|
9
9
|
extend T::Sig
|
|
10
10
|
include Crystalline::MetadataFields
|
|
11
11
|
|
|
12
|
-
# One environment's settings: how long its assessments are kept, and for each flow the risk thresholds that decide it and the depth a request that names none is served at,
|
|
12
|
+
# One environment's settings: how long its assessments are kept, and for each flow the risk thresholds that decide it and the depth a request that names none is served at, the sources it refuses, and the daily cap on screening spend. Live and test each have their own. A flow without thresholds of its own uses account_creation's (inherits_account_creation). Every change is recorded in the audit log as settings.updated, with who made it.
|
|
13
13
|
field(
|
|
14
14
|
:settings,
|
|
15
15
|
Models::Shared::Settings,
|
|
@@ -100,6 +100,18 @@ module NoResponse
|
|
|
100
100
|
::Integer,
|
|
101
101
|
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("attendees_failed"), required: true}}
|
|
102
102
|
)
|
|
103
|
+
# What the screening was estimated to cost when it started, in minor units of USD (cents): its attendees at its depth and platforms. Until the screening finishes, what it has not yet spent counts against the environment's screening_daily_cap.
|
|
104
|
+
field(
|
|
105
|
+
:estimated_spend,
|
|
106
|
+
::Integer,
|
|
107
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("estimated_spend"), required: true}}
|
|
108
|
+
)
|
|
109
|
+
# What the attendees it has screened recorded, in minor units of USD. Each counts toward the UTC day it was recorded on; a failed attendee records nothing.
|
|
110
|
+
field(
|
|
111
|
+
:spent,
|
|
112
|
+
::Integer,
|
|
113
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("spent"), required: true}}
|
|
114
|
+
)
|
|
103
115
|
|
|
104
116
|
field(
|
|
105
117
|
:started_at,
|
|
@@ -134,6 +146,8 @@ module NoResponse
|
|
|
134
146
|
attendees_done: ::Integer,
|
|
135
147
|
attendees_flagged: ::Integer,
|
|
136
148
|
attendees_failed: ::Integer,
|
|
149
|
+
estimated_spend: ::Integer,
|
|
150
|
+
spent: ::Integer,
|
|
137
151
|
started_at: T.nilable(::String),
|
|
138
152
|
finished_at: T.nilable(::String),
|
|
139
153
|
error_code: T.nilable(::String)
|
|
@@ -154,6 +168,8 @@ module NoResponse
|
|
|
154
168
|
attendees_done:,
|
|
155
169
|
attendees_flagged:,
|
|
156
170
|
attendees_failed:,
|
|
171
|
+
estimated_spend:,
|
|
172
|
+
spent:,
|
|
157
173
|
started_at: nil,
|
|
158
174
|
finished_at: nil,
|
|
159
175
|
error_code: nil
|
|
@@ -171,6 +187,8 @@ module NoResponse
|
|
|
171
187
|
@attendees_done = attendees_done
|
|
172
188
|
@attendees_flagged = attendees_flagged
|
|
173
189
|
@attendees_failed = attendees_failed
|
|
190
|
+
@estimated_spend = estimated_spend
|
|
191
|
+
@spent = spent
|
|
174
192
|
@started_at = started_at
|
|
175
193
|
@finished_at = finished_at
|
|
176
194
|
@error_code = error_code
|
|
@@ -192,6 +210,8 @@ module NoResponse
|
|
|
192
210
|
return false unless @attendees_done == other.attendees_done
|
|
193
211
|
return false unless @attendees_flagged == other.attendees_flagged
|
|
194
212
|
return false unless @attendees_failed == other.attendees_failed
|
|
213
|
+
return false unless @estimated_spend == other.estimated_spend
|
|
214
|
+
return false unless @spent == other.spent
|
|
195
215
|
return false unless @started_at == other.started_at
|
|
196
216
|
return false unless @finished_at == other.finished_at
|
|
197
217
|
return false unless @error_code == other.error_code
|
|
@@ -84,6 +84,18 @@ class NoResponse::Models::Shared::Screening
|
|
|
84
84
|
def attendees_failed=(str_)
|
|
85
85
|
end
|
|
86
86
|
|
|
87
|
+
def estimated_spend
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
def estimated_spend=(str_)
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
def spent
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
def spent=(str_)
|
|
97
|
+
end
|
|
98
|
+
|
|
87
99
|
def started_at
|
|
88
100
|
end
|
|
89
101
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
module NoResponse
|
|
5
5
|
module Models
|
|
6
6
|
module Shared
|
|
7
|
-
# One environment's settings: how long its assessments are kept, and for each flow the risk thresholds that decide it and the depth a request that names none is served at,
|
|
7
|
+
# One environment's settings: how long its assessments are kept, and for each flow the risk thresholds that decide it and the depth a request that names none is served at, the sources it refuses, and the daily cap on screening spend. Live and test each have their own. A flow without thresholds of its own uses account_creation's (inherits_account_creation). Every change is recorded in the audit log as settings.updated, with who made it.
|
|
8
8
|
class Settings
|
|
9
9
|
extend T::Sig
|
|
10
10
|
include Crystalline::MetadataFields
|
|
@@ -63,6 +63,12 @@ module NoResponse
|
|
|
63
63
|
Crystalline::Nilable.new(::String),
|
|
64
64
|
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("updated_at")}}
|
|
65
65
|
)
|
|
66
|
+
# The most the environment's screenings may spend in one UTC day, in minor units of USD (cents), 0 to 100000000; null is no cap. Default 50000. A screening whose estimated_spend exceeds the cap less the day's recorded spend and what open screenings may still spend answers 409 screening_cap_exceeded.
|
|
67
|
+
field(
|
|
68
|
+
:screening_daily_cap,
|
|
69
|
+
Crystalline::Nilable.new(::Integer),
|
|
70
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("screening_daily_cap"), required: true}}
|
|
71
|
+
)
|
|
66
72
|
|
|
67
73
|
sig {
|
|
68
74
|
params(
|
|
@@ -73,7 +79,8 @@ module NoResponse
|
|
|
73
79
|
flows: Models::Shared::SettingsFlows,
|
|
74
80
|
refused_sources: T::Array[Models::Shared::SourceId],
|
|
75
81
|
updated_by: T.nilable(::String),
|
|
76
|
-
updated_at: T.nilable(::String)
|
|
82
|
+
updated_at: T.nilable(::String),
|
|
83
|
+
screening_daily_cap: T.nilable(::Integer)
|
|
77
84
|
)
|
|
78
85
|
.void
|
|
79
86
|
}
|
|
@@ -85,7 +92,8 @@ module NoResponse
|
|
|
85
92
|
flows:,
|
|
86
93
|
refused_sources:,
|
|
87
94
|
updated_by: nil,
|
|
88
|
-
updated_at: nil
|
|
95
|
+
updated_at: nil,
|
|
96
|
+
screening_daily_cap: nil
|
|
89
97
|
)
|
|
90
98
|
@workspace_id = workspace_id
|
|
91
99
|
@environment = environment
|
|
@@ -95,6 +103,7 @@ module NoResponse
|
|
|
95
103
|
@refused_sources = refused_sources
|
|
96
104
|
@updated_by = updated_by
|
|
97
105
|
@updated_at = updated_at
|
|
106
|
+
@screening_daily_cap = screening_daily_cap
|
|
98
107
|
end
|
|
99
108
|
|
|
100
109
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -108,6 +117,7 @@ module NoResponse
|
|
|
108
117
|
return false unless @refused_sources == other.refused_sources
|
|
109
118
|
return false unless @updated_by == other.updated_by
|
|
110
119
|
return false unless @updated_at == other.updated_at
|
|
120
|
+
return false unless @screening_daily_cap == other.screening_daily_cap
|
|
111
121
|
true
|
|
112
122
|
end
|
|
113
123
|
end
|
|
@@ -38,6 +38,12 @@ module NoResponse
|
|
|
38
38
|
Crystalline::Nilable.new(::String),
|
|
39
39
|
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("change_reason")}}
|
|
40
40
|
)
|
|
41
|
+
# Replaces the daily screening cap, in minor units of USD; null removes the cap. Needs settings.write only, like retention_days.
|
|
42
|
+
field(
|
|
43
|
+
:screening_daily_cap,
|
|
44
|
+
Crystalline::Nilable.new(::Integer),
|
|
45
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("screening_daily_cap")}}
|
|
46
|
+
)
|
|
41
47
|
|
|
42
48
|
sig {
|
|
43
49
|
params(
|
|
@@ -45,7 +51,8 @@ module NoResponse
|
|
|
45
51
|
refused_sources: T.nilable(T::Array[Models::Shared::SourceId]),
|
|
46
52
|
flows: T.nilable(Models::Shared::SettingsRequestFlows),
|
|
47
53
|
expected_policy_version: T.nilable(::Integer),
|
|
48
|
-
change_reason: T.nilable(::String)
|
|
54
|
+
change_reason: T.nilable(::String),
|
|
55
|
+
screening_daily_cap: T.nilable(::Integer)
|
|
49
56
|
)
|
|
50
57
|
.void
|
|
51
58
|
}
|
|
@@ -54,13 +61,15 @@ module NoResponse
|
|
|
54
61
|
refused_sources: nil,
|
|
55
62
|
flows: nil,
|
|
56
63
|
expected_policy_version: nil,
|
|
57
|
-
change_reason: nil
|
|
64
|
+
change_reason: nil,
|
|
65
|
+
screening_daily_cap: nil
|
|
58
66
|
)
|
|
59
67
|
@retention_days = retention_days
|
|
60
68
|
@refused_sources = refused_sources
|
|
61
69
|
@flows = flows
|
|
62
70
|
@expected_policy_version = expected_policy_version
|
|
63
71
|
@change_reason = change_reason
|
|
72
|
+
@screening_daily_cap = screening_daily_cap
|
|
64
73
|
end
|
|
65
74
|
|
|
66
75
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -71,6 +80,7 @@ module NoResponse
|
|
|
71
80
|
return false unless @flows == other.flows
|
|
72
81
|
return false unless @expected_policy_version == other.expected_policy_version
|
|
73
82
|
return false unless @change_reason == other.change_reason
|
|
83
|
+
return false unless @screening_daily_cap == other.screening_daily_cap
|
|
74
84
|
true
|
|
75
85
|
end
|
|
76
86
|
end
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
module NoResponse
|
|
5
5
|
module Models
|
|
6
6
|
module Shared
|
|
7
|
-
# Body of the 200 answer to GET /v1/workspaces/{workspace_id}/usage: what the workspace's environments were metered for on each UTC day from from through to. Each billable unit is counted once, where it becomes final: an assessment when it is admitted (by flow and depth), a webhook delivery once per event per endpoint (retries and replays add nothing),
|
|
7
|
+
# Body of the 200 answer to GET /v1/workspaces/{workspace_id}/usage: what the workspace's environments were metered for on each UTC day from from through to. Each billable unit is counted once, where it becomes final: an assessment when it is admitted (by flow and depth), a webhook delivery once per event per endpoint (retries and replays add nothing), a key-usage event once when the ingest accepts it, and a screened attendee once per screening when its result is recorded. A count does not change when the assessment, account or workspace is later deleted. A day, environment or metric with nothing counted has no item. No prices or billing; screening spend is in each screening's spent. console_lookups is the one limit: the live environment's daily cap on console lookups, as spent today.
|
|
8
8
|
class Usage
|
|
9
9
|
extend T::Sig
|
|
10
10
|
include Crystalline::MetadataFields
|
|
@@ -22,7 +22,7 @@ module NoResponse
|
|
|
22
22
|
)
|
|
23
23
|
|
|
24
24
|
field :day, ::String, {'format_json': {'letter_case': ::NoResponse::Utils.field_name("day"), required: true}}
|
|
25
|
-
# assessments: assessments admitted. webhook_deliveries: events sent to endpoints, one per event per endpoint. key_usage_events: key-usage events accepted.
|
|
25
|
+
# assessments: assessments admitted. webhook_deliveries: events sent to endpoints, one per event per endpoint. key_usage_events: key-usage events accepted. screenings: attendees a screening recorded a final result for, one per attendee per screening; a failed attendee counts nothing.
|
|
26
26
|
field(
|
|
27
27
|
:metric,
|
|
28
28
|
Models::Shared::Metric,
|
|
@@ -95,9 +95,9 @@ module NoResponse
|
|
|
95
95
|
|
|
96
96
|
@language = "ruby"
|
|
97
97
|
@openapi_doc_version = "1"
|
|
98
|
-
@sdk_version = "10.0.
|
|
98
|
+
@sdk_version = "10.0.11"
|
|
99
99
|
@gen_version = "internal"
|
|
100
|
-
@user_agent = "noresponse-sdk/ruby 10.0.
|
|
100
|
+
@user_agent = "noresponse-sdk/ruby 10.0.11 internal 1 noresponse"
|
|
101
101
|
end
|
|
102
102
|
|
|
103
103
|
sig { returns([String, T::Hash[Symbol, String]]) }
|
data/lib/no_response/settings.rb
CHANGED
|
@@ -49,7 +49,7 @@ module NoResponse
|
|
|
49
49
|
}
|
|
50
50
|
def get(workspace_id:, environment:, retries: nil, timeout_ms: nil, http_headers: nil)
|
|
51
51
|
# get - Read an environment's settings.
|
|
52
|
-
# Read this environment retention, source selection and effective flow policies. A flow without its own thresholds inherits account_creation. Requires settings or management. Another environment answers404. Read-only and safe to retry.
|
|
52
|
+
# Read this environment retention, source selection, daily screening cap and effective flow policies. A flow without its own thresholds inherits account_creation. Requires settings or management. Another environment answers404. Read-only and safe to retry.
|
|
53
53
|
request = Models::Operations::GetSettingsRequest.new(
|
|
54
54
|
workspace_id: workspace_id,
|
|
55
55
|
environment: environment
|
|
@@ -340,7 +340,7 @@ module NoResponse
|
|
|
340
340
|
}
|
|
341
341
|
def update(body:, workspace_id:, environment:, retries: nil, timeout_ms: nil, http_headers: nil)
|
|
342
342
|
# update - Change an environment's settings.
|
|
343
|
-
# Change named retention, source or flow settings in one transaction. Requires settings or management; changes to active policy also require policy_publish, which legacy management includes. Use expected_policy_version to reject concurrent changes and record a change_reason. Each accepted change creates a fresh version and an atomic audit event. Retention
|
|
343
|
+
# Change named retention, screening cap, source or flow settings in one transaction. Requires settings or management; changes to active policy also require policy_publish, which legacy management includes. Use expected_policy_version to reject concurrent changes and record a change_reason. Each accepted change creates a fresh version and an atomic audit event. Retention and screening cap edits do not require policy publication authority. Flow thresholds preserve their declared ordering and bounds.
|
|
344
344
|
request = Models::Operations::UpdateSettingsRequest.new(
|
|
345
345
|
workspace_id: workspace_id,
|
|
346
346
|
environment: environment,
|
data/lib/no_response/usage.rb
CHANGED
|
@@ -50,7 +50,7 @@ module NoResponse
|
|
|
50
50
|
}
|
|
51
51
|
def get(workspace_id:, from: nil, to: nil, retries: nil, timeout_ms: nil, http_headers: nil)
|
|
52
52
|
# get - Read a workspace's usage.
|
|
53
|
-
# Read daily usage units for the environments you can access. These counts are unpriced. With live access it also returns the daily console lookup cap: used, limit and resets_at.
|
|
53
|
+
# Read daily usage units, screenings included, for the environments you can access. These counts are unpriced. With live access it also returns the daily console lookup cap: used, limit and resets_at.
|
|
54
54
|
request = Models::Operations::GetUsageRequest.new(
|
|
55
55
|
workspace_id: workspace_id,
|
|
56
56
|
from: from,
|