@noresponse/mcp 0.11.16 → 0.11.18

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,128 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.11.18
4
+
5
+ No changes detected.
6
+
7
+ ## 0.11.17
8
+
9
+ * `SDK.assessments.create()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
10
+ * `SDK.assessments.get()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
11
+ * `SDK.assessments.delete()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
12
+ * `SDK.assessments.recordOutcome()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
13
+ * `SDK.assessments.query()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
14
+ * `SDK.assessments.aggregate()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
15
+ * `SDK.assessments.search()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
16
+ * `SDK.assessments.retrieveVersion()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
17
+ * `SDK.assessments.bindAccount()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
18
+ * `SDK.accounts.listChanged()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
19
+ * `SDK.accounts.get()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
20
+ * `SDK.accounts.delete()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
21
+ * `SDK.accounts.listAssessments()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
22
+ * `SDK.accounts.listLinked()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
23
+ * `SDK.accounts.listEnforcements()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
24
+ * `SDK.accounts.recordEnforcement()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
25
+ * `SDK.accounts.listOutcomes()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
26
+ * `SDK.accounts.recordOutcome()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
27
+ * `SDK.accounts.retrieveDecision()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
28
+ * `SDK.accounts.listCredentials()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
29
+ * `SDK.accounts.associateCredential()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
30
+ * `SDK.accounts.retireCredential()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
31
+ * `SDK.accounts.export()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
32
+ * `SDK.accounts.listDecisions()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
33
+ * `SDK.accounts.search()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
34
+ * `SDK.keyUsage.record()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
35
+ * `SDK.keys.rotate()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
36
+ * `SDK.keys.list()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
37
+ * `SDK.keys.create()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
38
+ * `SDK.keys.revoke()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
39
+ * `SDK.integrations.list()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
40
+ * `SDK.integrations.create()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
41
+ * `SDK.integrations.delete()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
42
+ * `SDK.integrations.rotate()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
43
+ * `SDK.webhookEndpoints.list()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
44
+ * `SDK.webhookEndpoints.create()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
45
+ * `SDK.webhookEndpoints.delete()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
46
+ * `SDK.webhookEndpoints.rotateSigningKey()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
47
+ * `SDK.webhookEndpoints.sendTestEvent()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
48
+ * `SDK.webhookEndpoints.listDeliveries()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
49
+ * `SDK.webhookEndpoints.replayDelivery()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
50
+ * `SDK.webhookEndpoints.aggregate()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
51
+ * `SDK.members.list()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
52
+ * `SDK.members.remove()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
53
+ * `SDK.members.update()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
54
+ * `SDK.audit.list()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
55
+ * `SDK.audit.getRetention()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
56
+ * `SDK.audit.updateRetention()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
57
+ * `SDK.audit.listStreams()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
58
+ * `SDK.audit.configureStream()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
59
+ * `SDK.audit.removeStream()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
60
+ * `SDK.audit.replayStream()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
61
+ * `SDK.usage.get()`: `response` **Changed** (Breaking ⚠️)
62
+ * `SDK.invites.list()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
63
+ * `SDK.invites.create()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
64
+ * `SDK.invites.revoke()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
65
+ * `SDK.invites.resend()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
66
+ * `SDK.settings.get()`: `response` **Changed** (Breaking ⚠️)
67
+ * `SDK.settings.update()`:
68
+ * `request.body.screening_daily_cap` **Added**
69
+ * `response` **Changed** (Breaking ⚠️)
70
+ * `SDK.settings.listHistory()`: `response` **Changed** (Breaking ⚠️)
71
+ * `SDK.settings.restore()`: `response` **Changed** (Breaking ⚠️)
72
+ * `SDK.settings.preview()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
73
+ * `SDK.requests.list()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
74
+ * `SDK.requests.aggregate()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
75
+ * `SDK.lists.list()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
76
+ * `SDK.lists.create()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
77
+ * `SDK.lists.delete()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
78
+ * `SDK.lists.preview()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
79
+ * `SDK.lists.change()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
80
+ * `SDK.lists.getChange()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
81
+ * `SDK.reviews.list()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
82
+ * `SDK.reviews.create()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
83
+ * `SDK.reviews.get()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
84
+ * `SDK.reviews.update()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
85
+ * `SDK.reviews.resolve()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
86
+ * `SDK.reviews.listComments()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
87
+ * `SDK.reviews.comment()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
88
+ * `SDK.reviews.listResolutions()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
89
+ * `SDK.reviews.listViews()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
90
+ * `SDK.reviews.createView()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
91
+ * `SDK.reviews.deleteView()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
92
+ * `SDK.reviews.updateView()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
93
+ * `SDK.reviews.export()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
94
+ * `SDK.reviews.listSubjects()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
95
+ * `SDK.reviews.addSubject()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
96
+ * `SDK.reviews.deleteSubject()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
97
+ * `SDK.reviews.query()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
98
+ * `SDK.erasures.get()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
99
+ * `SDK.exports.list()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
100
+ * `SDK.exports.create()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
101
+ * `SDK.exports.get()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
102
+ * `SDK.exports.cancel()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
103
+ * `SDK.exports.retry()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
104
+ * `SDK.exports.downloadChunk()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
105
+ * `SDK.evaluations.list()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
106
+ * `SDK.evaluations.create()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
107
+ * `SDK.evaluations.get()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
108
+ * `SDK.evaluations.getResult()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
109
+ * `SDK.evaluations.cancel()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
110
+ * `SDK.evaluations.publish()`: `response` **Changed** (Breaking ⚠️)
111
+ * `SDK.operations.summarize()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
112
+ * `SDK.events.list()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
113
+ * `SDK.events.create()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
114
+ * `SDK.events.get()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
115
+ * `SDK.events.delete()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
116
+ * `SDK.events.update()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
117
+ * `SDK.events.listAttendees()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
118
+ * `SDK.events.addAttendees()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
119
+ * `SDK.events.getAttendee()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
120
+ * `SDK.events.reviewAttendee()`: `response.code.enum(screening_cap_exceeded)` **Added** (Breaking ⚠️)
121
+ * `SDK.events.listScreenings()`: `response` **Changed** (Breaking ⚠️)
122
+ * `SDK.events.startScreening()`: `response` **Changed** (Breaking ⚠️)
123
+ * `SDK.events.getScreening()`: `response` **Changed** (Breaking ⚠️)
124
+ * `SDK.events.cancelScreening()`: `response` **Changed** (Breaking ⚠️)
125
+
3
126
  ## 0.11.16
4
127
 
5
128
  * `SDK.audit.listStreams()`: `response.code` **Changed** (Breaking ⚠️)
package/README.md CHANGED
@@ -35,7 +35,7 @@ The server uses the API key you give it and stores nothing. API key rotation and
35
35
  | `rotate_integration_secret` | Replace an integration's secret. The old one is accepted for 24 hours. Never retried. | `POST /v1/integrations/{integration_id}/rotate` |
36
36
  | `list_keys` | List the keys of the key's environment, newest first, with no secrets. Needs the `management` scope. | `GET /v1/workspaces/{workspace_id}/keys` |
37
37
  | `revoke_key` | Revoke a key of the key's environment at once. A key cannot revoke itself. Needs the `management` scope; marked destructive. | `DELETE /v1/workspaces/{workspace_id}/keys/{key_id}` |
38
- | `get_settings` | Read the environment's retention, flow thresholds, admission and refused sources. Needs the `management` scope. | `GET /v1/workspaces/{workspace_id}/settings/{environment}` |
38
+ | `get_settings` | Read the environment's retention, flow thresholds, admission, refused sources and daily screening cap. Needs the `management` scope. | `GET /v1/workspaces/{workspace_id}/settings/{environment}` |
39
39
  | `update_settings` | Change only what the body names, in one transaction. Needs the `management` scope. | `PATCH /v1/workspaces/{workspace_id}/settings/{environment}` |
40
40
  | `list_list_entries` | List the environment's allow and block list, oldest first. Needs the `management` scope. | `GET /v1/workspaces/{workspace_id}/lists/{environment}` |
41
41
  | `create_list_entry` | Add an email or email domain to the block or allow list; the accounts it matches are decided again. Needs the `management` scope. | `POST /v1/workspaces/{workspace_id}/lists/{environment}` |
package/bin/mcp-server.js CHANGED
@@ -48136,9 +48136,9 @@ var init_config = __esm(() => {
48136
48136
  SDK_METADATA = {
48137
48137
  language: "typescript",
48138
48138
  openapiDocVersion: "1",
48139
- sdkVersion: "0.11.16",
48139
+ sdkVersion: "0.11.18",
48140
48140
  genVersion: "internal",
48141
- userAgent: "noresponse-sdk/mcp-typescript 0.11.16 internal 1 @noresponse/mcp"
48141
+ userAgent: "noresponse-sdk/mcp-typescript 0.11.18 internal 1 @noresponse/mcp"
48142
48142
  };
48143
48143
  });
48144
48144
 
@@ -51538,6 +51538,7 @@ var init_conflicterrorcode = __esm(() => {
51538
51538
  "aggregate_erased_data",
51539
51539
  "event_conflict",
51540
51540
  "event_limit_reached",
51541
+ "screening_cap_exceeded",
51541
51542
  "screening_unavailable"
51542
51543
  ]).describe("Machine codes an HTTP 409 answer can carry.");
51543
51544
  });
@@ -59753,10 +59754,11 @@ var init_settings = __esm(() => {
59753
59754
  policy_version: int().describe("The monotonic settings configuration epoch, including retention changes. Zero while defaults apply. Historical assessments keep their frozen policy version; the active version reaches new assessments within a minute."),
59754
59755
  refused_sources: array(SourceId$zodSchema).describe("The sources this environment refuses, sorted; empty, the default, refuses none. An assessment leaves a refused source out: its coverage is missing (an identifier with no other source lists coverage-unavailable as unavailable) rather than not_found, and a stored result of a refused source is not reused."),
59755
59756
  retention_days: int().describe("Days an assessment is kept after it is created, 1 to 365 (default 365). Shortening hides older assessments at once."),
59757
+ screening_daily_cap: int().nullable().describe("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."),
59756
59758
  updated_at: string2().optional().describe("When the policy last changed. Absent while the defaults apply."),
59757
59759
  updated_by: string2().optional().describe("Who last changed the policy: the member's external user id for a change made through the console, the prefix (nrk_<environment>_<key id>) of the management key that made it, or NoResponse. Absent while the defaults apply."),
59758
59760
  workspace_id: string2().describe("The workspace id, which is also its live environment's workspace id; the test environment's is the same id with :test appended. A workspace created through the API is tnt_ and a 26-character ULID.")
59759
- }).describe("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, and the sources it refuses. 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.");
59761
+ }).describe("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.");
59760
59762
  });
59761
59763
 
59762
59764
  // src/models/publishpolicyevaluationop.ts
@@ -60231,12 +60233,14 @@ var init_screening = __esm(() => {
60231
60233
  depth: ScreeningDepth$zodSchema,
60232
60234
  environment: AuditSettingsEnvironment$zodSchema,
60233
60235
  error_code: string2().optional().describe("Why a failed or cancelled screening stopped."),
60236
+ estimated_spend: int().describe("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."),
60234
60237
  event_id: string2(),
60235
60238
  expires_at: string2().describe("A screening still running then fails with error_code expired."),
60236
60239
  finished_at: string2().optional(),
60237
60240
  id: string2(),
60238
60241
  platforms: array(ScreeningPlatform$zodSchema),
60239
60242
  requested_by: string2(),
60243
+ spent: int().describe("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."),
60240
60244
  started_at: string2().optional(),
60241
60245
  status: ScreeningStatus$zodSchema.describe("partial finished with some attendees not covered; attendees_failed counts them.")
60242
60246
  }).describe("A screening and its progress.");
@@ -62342,7 +62346,7 @@ var init_eventsStartScreening2 = __esm(() => {
62342
62346
  name: "start_screening",
62343
62347
  description: `Start a screening.
62344
62348
 
62345
- 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.`,
62349
+ 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.`,
62346
62350
  annotations: {
62347
62351
  title: "Screen new attendees and everyone on watch or escalated",
62348
62352
  destructiveHint: false,
@@ -70605,7 +70609,7 @@ var init_settingsGet2 = __esm(() => {
70605
70609
  name: "get_settings",
70606
70610
  description: `Read an environment's settings.
70607
70611
 
70608
- 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.`,
70612
+ 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.`,
70609
70613
  annotations: {
70610
70614
  title: "Read this environment's settings",
70611
70615
  destructiveHint: false,
@@ -70656,7 +70660,7 @@ var init_policyhistoryitem = __esm(() => {
70656
70660
  evaluation: Publication$zodSchema.optional().describe("Immutable publication provenance remains in policy history after evaluation evidence expires. SHA-256 values identify the frozen manifest, evaluator semantic input, cohort, and canonical result separately."),
70657
70661
  recorded_at: string2().optional().describe("Capture time, not a backfilled activation time. Absent only for the current configuration before its first capture."),
70658
70662
  restored_from: int().optional(),
70659
- settings: Settings$zodSchema.describe("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, and the sources it refuses. 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.")
70663
+ settings: Settings$zodSchema.describe("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.")
70660
70664
  });
70661
70665
  });
70662
70666
 
@@ -71339,7 +71343,8 @@ var init_settingsrequest = __esm(() => {
71339
71343
  expected_policy_version: int().optional().describe("Compare-and-set guard. A stale version returns 409 policy_version_conflict before any change; every settings write including retention advances the version."),
71340
71344
  flows: SettingsRequestFlows$zodSchema.optional().describe("Use account_creation or its deprecated alias signup, not both."),
71341
71345
  refused_sources: array(SourceId$zodSchema).optional().describe("Replaces the refused sources; [] refuses none. A change applies to new assessments within a minute."),
71342
- retention_days: int().optional()
71346
+ retention_days: int().optional(),
71347
+ screening_daily_cap: int().nullable().optional().describe("Replaces the daily screening cap, in minor units of USD; null removes the cap. Needs settings.write only, like retention_days.")
71343
71348
  }).describe("Changes only named settings, atomically. Every successful write advances policy_version and retains an immutable settings snapshot. expected_policy_version optionally guards against stale edits; restore always requires it.");
71344
71349
  });
71345
71350
 
@@ -71487,7 +71492,7 @@ var init_settingsUpdate2 = __esm(() => {
71487
71492
  name: "update_settings",
71488
71493
  description: `Change an environment's settings.
71489
71494
 
71490
- 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-only edits do not require policy publication authority. Flow thresholds preserve their declared ordering and bounds.`,
71495
+ 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.`,
71491
71496
  annotations: {
71492
71497
  title: "Change this environment's settings",
71493
71498
  destructiveHint: false,
@@ -71527,8 +71532,9 @@ var init_metric = __esm(() => {
71527
71532
  Metric$zodSchema = _enum([
71528
71533
  "assessments",
71529
71534
  "webhook_deliveries",
71530
- "key_usage_events"
71531
- ]).describe("assessments: assessments admitted. webhook_deliveries: events sent to endpoints, one per event per endpoint. key_usage_events: key-usage events accepted.");
71535
+ "key_usage_events",
71536
+ "screenings"
71537
+ ]).describe("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.");
71532
71538
  });
71533
71539
 
71534
71540
  // src/models/usagecountflow.ts
@@ -71556,7 +71562,7 @@ var init_usagecount = __esm(() => {
71556
71562
  depth: UsageCountDepth$zodSchema.optional().describe("assessments only."),
71557
71563
  environment: AuditSettingsEnvironment$zodSchema,
71558
71564
  flow: UsageCountFlow$zodSchema.optional().describe("assessments only."),
71559
- metric: Metric$zodSchema.describe("assessments: assessments admitted. webhook_deliveries: events sent to endpoints, one per event per endpoint. key_usage_events: key-usage events accepted.")
71565
+ metric: Metric$zodSchema.describe("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.")
71560
71566
  });
71561
71567
  });
71562
71568
 
@@ -71572,7 +71578,7 @@ var init_usage = __esm(() => {
71572
71578
  items: array(UsageCount$zodSchema).describe("Ordered by environment (live first), then day, metric, flow and depth."),
71573
71579
  to: string2().describe("The last UTC day covered, included."),
71574
71580
  workspace_id: string2().describe("The workspace id, which is also its live environment's workspace id; the test environment's is the same id with :test appended. A workspace created through the API is tnt_ and a 26-character ULID.")
71575
- }).describe("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), and a key-usage event once when the ingest accepts it. 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. console_lookups is the one limit: the live environment's daily cap on console lookups, as spent today.");
71581
+ }).describe("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.");
71576
71582
  });
71577
71583
 
71578
71584
  // src/models/getusageop.ts
@@ -71717,7 +71723,7 @@ var init_usageGet2 = __esm(() => {
71717
71723
  name: "get_workspace_usage",
71718
71724
  description: `Read a workspace's usage.
71719
71725
 
71720
- 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.`,
71726
+ 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.`,
71721
71727
  annotations: {
71722
71728
  title: "Read unpriced workspace usage in the key's environment",
71723
71729
  destructiveHint: false,
@@ -72271,7 +72277,7 @@ var init_webhookdeliveryattempt = __esm(() => {
72271
72277
  attempt: int().describe("Which attempt of this delivery this was: 1 for the first send, up to 9 with retries. A replay counts its own attempts from 1."),
72272
72278
  attempted_at: string2().describe("When the request was sent. Its NR-Webhook-Timestamp is this time in Unix seconds."),
72273
72279
  event_id: string2().describe("The event id the receiver saw as NR-Webhook-Id and as the body's id. Replay it with POST /v1/webhooks/{endpoint_id}/deliveries/{event_id}/replay."),
72274
- event_type: string2().describe("The event's type, as its body's type: assessment.updated, endpoint.verification, account.deleted, workspace.deleted, webhook_endpoint.disabled, account.risk_changed, audit.event, or a type added later."),
72280
+ event_type: string2().describe("The event's type, as its body's type: assessment.updated, endpoint.verification, account.deleted, workspace.deleted, webhook_endpoint.disabled, account.risk_changed, audit.event, screening.completed, attendee.flagged, attendee.decided, or a type added later."),
72275
72281
  failure: Failure$zodSchema.optional().describe("Why the attempt failed: the URL is no longer valid, the host did not resolve, it resolved to an address that is not public, no answer within 5 seconds, the connection failed, a 3xx (redirects are not followed) or another non-2xx status. Absent for a delivered attempt."),
72276
72282
  latency_ms: int().describe("Milliseconds from sending the request to the answer or the failure."),
72277
72283
  replay: boolean2().describe("true for an attempt of a replay you asked for."),
@@ -72463,7 +72469,7 @@ var init_webhookreplay = __esm(() => {
72463
72469
  WebhookReplay$zodSchema = object({
72464
72470
  endpoint_id: string2().describe("Opaque id of the endpoint registration."),
72465
72471
  event_id: string2().describe("The replayed event's id. The receiver sees the same id and body as the first time, with a new NR-Webhook-Timestamp and signature."),
72466
- event_type: string2().describe("The event's type, as its body's type: assessment.updated, endpoint.verification, account.deleted, workspace.deleted, webhook_endpoint.disabled, account.risk_changed, audit.event, or a type added later.")
72472
+ event_type: string2().describe("The event's type, as its body's type: assessment.updated, endpoint.verification, account.deleted, workspace.deleted, webhook_endpoint.disabled, account.risk_changed, audit.event, screening.completed, attendee.flagged, attendee.decided, or a type added later.")
72467
72473
  }).describe("The 202 answer of POST /v1/webhooks/{endpoint_id}/deliveries/{event_id}/replay: the event queued to be sent again.");
72468
72474
  });
72469
72475
 
@@ -72990,7 +72996,7 @@ endpoint.verification sends a signed challenge now and answers whether the endpo
72990
72996
  function createMCPServer(deps) {
72991
72997
  const server = new McpServer({
72992
72998
  name: "NoResponse",
72993
- version: "0.11.16"
72999
+ version: "0.11.18"
72994
73000
  });
72995
73001
  const getClient = deps.getSDK || (() => new NoResponseCore({
72996
73002
  security: deps.security,
@@ -73544,7 +73550,7 @@ Replay a recorded delivery for the current audit subscription. Requires audit_ma
73544
73550
  name: "get_workspace_usage",
73545
73551
  description: `Read a workspace's usage.
73546
73552
 
73547
- 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.`
73553
+ 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.`
73548
73554
  },
73549
73555
  {
73550
73556
  name: "list_invites",
@@ -73562,13 +73568,13 @@ Revoke a pending invitation with a live members_manage key. A revoked token cann
73562
73568
  name: "get_settings",
73563
73569
  description: `Read an environment's settings.
73564
73570
 
73565
- 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.`
73571
+ 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.`
73566
73572
  },
73567
73573
  {
73568
73574
  name: "update_settings",
73569
73575
  description: `Change an environment's settings.
73570
73576
 
73571
- 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-only edits do not require policy publication authority. Flow thresholds preserve their declared ordering and bounds.`
73577
+ 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.`
73572
73578
  },
73573
73579
  {
73574
73580
  name: "list_policy_history",
@@ -73886,7 +73892,7 @@ List an event's screenings, newest first.`
73886
73892
  name: "start_screening",
73887
73893
  description: `Start a screening.
73888
73894
 
73889
- 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.`
73895
+ 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.`
73890
73896
  },
73891
73897
  {
73892
73898
  name: "get_screening",
@@ -82399,7 +82405,7 @@ var routes = buildRouteMap({
82399
82405
  var app = buildApplication(routes, {
82400
82406
  name: "mcp",
82401
82407
  versionInfo: {
82402
- currentVersion: "0.11.16"
82408
+ currentVersion: "0.11.18"
82403
82409
  }
82404
82410
  });
82405
82411
  run(app, process3.argv.slice(2), buildContext(process3));
@@ -82407,5 +82413,5 @@ export {
82407
82413
  app
82408
82414
  };
82409
82415
 
82410
- //# debugId=7F2ED000CF8D80D564756E2164756E21
82416
+ //# debugId=B6268076FBACD16264756E2164756E21
82411
82417
  //# sourceMappingURL=mcp-server.js.map