@noresponse/mcp 0.5.5 → 0.5.7
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 +18 -0
- package/bin/mcp-server.js +184 -19
- package/bin/mcp-server.js.map +28 -17
- package/manifest.json +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.5.7
|
|
4
|
+
|
|
5
|
+
* `SDK.assessments.create()`: `response` **Changed**
|
|
6
|
+
* `SDK.assessments.get()`: `response` **Changed**
|
|
7
|
+
* `SDK.assessments.query()`: `response.items[].risk` **Changed**
|
|
8
|
+
* `SDK.accounts.listChanged()`: `response.items[].risk.reasons[]` **Changed**
|
|
9
|
+
* `SDK.accounts.get()`: `response.risk.reasons[]` **Changed**
|
|
10
|
+
* `SDK.accounts.listAssessments()`: `response.items[].risk` **Changed**
|
|
11
|
+
|
|
12
|
+
## 0.5.6
|
|
13
|
+
|
|
14
|
+
* `SDK.assessments.create()`: `response.account.risk.reasons[].code` **Changed** (Breaking ⚠️)
|
|
15
|
+
* `SDK.assessments.get()`: `response.account.risk.reasons[].code` **Changed** (Breaking ⚠️)
|
|
16
|
+
* `SDK.assessments.query()`: `response.items[].risk.reasons[].code` **Changed** (Breaking ⚠️)
|
|
17
|
+
* `SDK.accounts.listChanged()`: `response.items[].risk.reasons[].code` **Changed** (Breaking ⚠️)
|
|
18
|
+
* `SDK.accounts.get()`: `response.risk.reasons[].code` **Changed** (Breaking ⚠️)
|
|
19
|
+
* `SDK.accounts.listAssessments()`: `response.items[].risk.reasons[].code` **Changed** (Breaking ⚠️)
|
|
20
|
+
|
|
3
21
|
## 0.5.5
|
|
4
22
|
|
|
5
23
|
* `SDK.integrations.create()`:
|
package/bin/mcp-server.js
CHANGED
|
@@ -48104,9 +48104,9 @@ var init_config = __esm(() => {
|
|
|
48104
48104
|
SDK_METADATA = {
|
|
48105
48105
|
language: "typescript",
|
|
48106
48106
|
openapiDocVersion: "1",
|
|
48107
|
-
sdkVersion: "0.5.
|
|
48107
|
+
sdkVersion: "0.5.7",
|
|
48108
48108
|
genVersion: "internal",
|
|
48109
|
-
userAgent: "noresponse-sdk/mcp-typescript 0.5.
|
|
48109
|
+
userAgent: "noresponse-sdk/mcp-typescript 0.5.7 internal 1 @noresponse/mcp"
|
|
48110
48110
|
};
|
|
48111
48111
|
});
|
|
48112
48112
|
|
|
@@ -50272,6 +50272,29 @@ var init_accountdecisionsbyflow = __esm(() => {
|
|
|
50272
50272
|
}).describe("The decision for each flow: the account's score under that flow's thresholds. A flow the workspace has not set uses its account_creation thresholds, so the flows differ only where it set them. The flow of the current assessment is held while that flow's admission is held and the assessment's investigation has not completed.");
|
|
50273
50273
|
});
|
|
50274
50274
|
|
|
50275
|
+
// src/models/direction.ts
|
|
50276
|
+
var Direction$zodSchema;
|
|
50277
|
+
var init_direction = __esm(() => {
|
|
50278
|
+
init_zod();
|
|
50279
|
+
Direction$zodSchema = _enum([
|
|
50280
|
+
"raises",
|
|
50281
|
+
"lowers",
|
|
50282
|
+
"neutral"
|
|
50283
|
+
]);
|
|
50284
|
+
});
|
|
50285
|
+
|
|
50286
|
+
// src/models/impact.ts
|
|
50287
|
+
var Impact$zodSchema;
|
|
50288
|
+
var init_impact = __esm(() => {
|
|
50289
|
+
init_zod();
|
|
50290
|
+
Impact$zodSchema = _enum([
|
|
50291
|
+
"none",
|
|
50292
|
+
"low",
|
|
50293
|
+
"medium",
|
|
50294
|
+
"high"
|
|
50295
|
+
]);
|
|
50296
|
+
});
|
|
50297
|
+
|
|
50275
50298
|
// src/models/reasoncode.ts
|
|
50276
50299
|
var ReasonCode$zodSchema;
|
|
50277
50300
|
var init_reasoncode = __esm(() => {
|
|
@@ -50318,7 +50341,13 @@ var init_reasoncode = __esm(() => {
|
|
|
50318
50341
|
"email_domain_no_mx",
|
|
50319
50342
|
"email_domain_nonexistent",
|
|
50320
50343
|
"forum_sanctioned",
|
|
50321
|
-
"prior_payment_abuse"
|
|
50344
|
+
"prior_payment_abuse",
|
|
50345
|
+
"ip_history_match",
|
|
50346
|
+
"identity_attribute_conflict",
|
|
50347
|
+
"impossible_identity_age",
|
|
50348
|
+
"breach_shared_ip",
|
|
50349
|
+
"nationality_mismatch",
|
|
50350
|
+
"minor_identity"
|
|
50322
50351
|
]).describe("A stable reason code. New codes may appear; ignore any you do not know.");
|
|
50323
50352
|
});
|
|
50324
50353
|
|
|
@@ -50340,13 +50369,17 @@ var init_reasonidentifier = __esm(() => {
|
|
|
50340
50369
|
var AccountRiskReason$zodSchema;
|
|
50341
50370
|
var init_accountriskreason = __esm(() => {
|
|
50342
50371
|
init_zod();
|
|
50372
|
+
init_direction();
|
|
50373
|
+
init_impact();
|
|
50343
50374
|
init_reasoncode();
|
|
50344
50375
|
init_reasonidentifier();
|
|
50345
50376
|
AccountRiskReason$zodSchema = object({
|
|
50346
50377
|
code: ReasonCode$zodSchema.describe("A stable reason code. New codes may appear; ignore any you do not know."),
|
|
50378
|
+
direction: Direction$zodSchema,
|
|
50347
50379
|
identifier: ReasonIdentifier$zodSchema.optional().describe("The submitted identifier or client context field a reason concerns; absent when it concerns the whole assessment. Client context is a claimed hint, not a device fingerprint."),
|
|
50348
|
-
|
|
50349
|
-
|
|
50380
|
+
impact: Impact$zodSchema,
|
|
50381
|
+
weight: literal(0).default(0).optional().describe("Deprecated and always 0: the policy's weights are not published. It is sent so that SDK versions that require it keep reading reasons. Read direction and impact.")
|
|
50382
|
+
}).describe("One reason that fired. direction is whether it raises or lowers the score, or is neutral (informational, it moves nothing). impact is a coarse band of how much it moves the score: none for a neutral reason, otherwise low, medium or high.");
|
|
50350
50383
|
});
|
|
50351
50384
|
|
|
50352
50385
|
// src/models/accountrisk.ts
|
|
@@ -50357,7 +50390,7 @@ var init_accountrisk = __esm(() => {
|
|
|
50357
50390
|
init_accountriskreason();
|
|
50358
50391
|
AccountRisk$zodSchema = object({
|
|
50359
50392
|
decision: AccountDecision$zodSchema.describe("block when the score reached your block threshold (risk.block of the assessment), otherwise the assessment's recommendation. held only for a flow whose admission is held (settings flows.<flow>.admission), when the account's current assessment was made for that flow and its investigation has not completed (status partial): the final decision arrives as account.risk_changed when the investigation completes, decided by its score, or when the hold's deadline (hold_seconds after the assessment was created) passes first, as the flow's on_expiry action or the decision the evidence so far gives, whichever is stricter. Your application applies it."),
|
|
50360
|
-
reasons: array(AccountRiskReason$zodSchema).describe("Every reason that fired,
|
|
50393
|
+
reasons: array(AccountRiskReason$zodSchema).describe("Every reason that fired: risk-raising reasons first, then neutral, then risk-lowering, each strongest impact band first and then by code. The policy's numeric weights are kept private, so a reason carries only its direction and impact band."),
|
|
50361
50394
|
score: int().describe("0 (safe) to 100 (risky), as risk.score of the assessment.")
|
|
50362
50395
|
});
|
|
50363
50396
|
});
|
|
@@ -50569,7 +50602,7 @@ var init_breachselector = __esm(() => {
|
|
|
50569
50602
|
"email",
|
|
50570
50603
|
"username",
|
|
50571
50604
|
"ip"
|
|
50572
|
-
]).describe("The submitted
|
|
50605
|
+
]).describe("The submitted email or username whose own search matched the table. A submitted full name is searched as well, and what it finds feeds the identity's reasons rather than this list.");
|
|
50573
50606
|
});
|
|
50574
50607
|
|
|
50575
50608
|
// src/models/breach.ts
|
|
@@ -50584,7 +50617,7 @@ var init_breach = __esm(() => {
|
|
|
50584
50617
|
domain: string2().optional().describe("The breached site's domain, lower case. Absent when the table has none (a credential list, for example)."),
|
|
50585
50618
|
exposed: array(BreachExposed$zodSchema).optional(),
|
|
50586
50619
|
kind: BreachKind$zodSchema.describe("Who is in the table: site_breach, a site's own users; credential_list, a combolist or compilation; stealer_log, malware or botnet victims; scrape; hacking_forum, a criminal hacking, cracking or carding community; abuse_service, the customers of DDoS-for-hire, account generators, dump or card shops, darknet markets, stalkerware or breach-lookup services; darkweb_site, an onion site of unknown purpose."),
|
|
50587
|
-
matched_on: BreachSelector$zodSchema.describe("The submitted
|
|
50620
|
+
matched_on: BreachSelector$zodSchema.describe("The submitted email or username whose own search matched the table. A submitted full name is searched as well, and what it finds feeds the identity's reasons rather than this list."),
|
|
50588
50621
|
month: int().optional().describe("Absent when only the year is known."),
|
|
50589
50622
|
name: string2(),
|
|
50590
50623
|
year: int().optional().describe("A breach table's date year.")
|
|
@@ -50601,6 +50634,58 @@ var init_riskdetailsbreachname = __esm(() => {
|
|
|
50601
50634
|
});
|
|
50602
50635
|
});
|
|
50603
50636
|
|
|
50637
|
+
// src/models/footprintfamily.ts
|
|
50638
|
+
var FootprintFamily$zodSchema;
|
|
50639
|
+
var init_footprintfamily = __esm(() => {
|
|
50640
|
+
init_zod();
|
|
50641
|
+
FootprintFamily$zodSchema = _enum([
|
|
50642
|
+
"account_presence",
|
|
50643
|
+
"auth_provider",
|
|
50644
|
+
"breach",
|
|
50645
|
+
"breach_abuse",
|
|
50646
|
+
"code_hosting"
|
|
50647
|
+
]).describe("The source-neutral kind of evidence: account_presence (an account found on a site), auth_provider (the account at your auth provider), breach (breach and credential tables), breach_abuse (abuse and fraud communities' tables) and code_hosting (a code hosting profile).");
|
|
50648
|
+
});
|
|
50649
|
+
|
|
50650
|
+
// src/models/identifier.ts
|
|
50651
|
+
var Identifier$zodSchema;
|
|
50652
|
+
var init_identifier = __esm(() => {
|
|
50653
|
+
init_zod();
|
|
50654
|
+
Identifier$zodSchema = _enum([
|
|
50655
|
+
"email",
|
|
50656
|
+
"username"
|
|
50657
|
+
]);
|
|
50658
|
+
});
|
|
50659
|
+
|
|
50660
|
+
// src/models/riskdetailseventkind.ts
|
|
50661
|
+
var RiskDetailsEventKind$zodSchema;
|
|
50662
|
+
var init_riskdetailseventkind = __esm(() => {
|
|
50663
|
+
init_zod();
|
|
50664
|
+
RiskDetailsEventKind$zodSchema = _enum([
|
|
50665
|
+
"created",
|
|
50666
|
+
"last_active",
|
|
50667
|
+
"breached"
|
|
50668
|
+
]);
|
|
50669
|
+
});
|
|
50670
|
+
|
|
50671
|
+
// src/models/riskdetailsevent.ts
|
|
50672
|
+
var RiskDetailsEvent$zodSchema;
|
|
50673
|
+
var init_riskdetailsevent = __esm(() => {
|
|
50674
|
+
init_zod();
|
|
50675
|
+
init_footprintfamily();
|
|
50676
|
+
init_identifier();
|
|
50677
|
+
init_riskdetailseventkind();
|
|
50678
|
+
RiskDetailsEvent$zodSchema = object({
|
|
50679
|
+
category: string2(),
|
|
50680
|
+
family: FootprintFamily$zodSchema.describe("The source-neutral kind of evidence: account_presence (an account found on a site), auth_provider (the account at your auth provider), breach (breach and credential tables), breach_abuse (abuse and fraud communities' tables) and code_hosting (a code hosting profile)."),
|
|
50681
|
+
identifier: Identifier$zodSchema,
|
|
50682
|
+
kind: RiskDetailsEventKind$zodSchema,
|
|
50683
|
+
month: int().optional(),
|
|
50684
|
+
site: string2(),
|
|
50685
|
+
year: int()
|
|
50686
|
+
});
|
|
50687
|
+
});
|
|
50688
|
+
|
|
50604
50689
|
// src/models/riskdetailsphonename.ts
|
|
50605
50690
|
var RiskDetailsPhoneName$zodSchema;
|
|
50606
50691
|
var init_riskdetailsphonename = __esm(() => {
|
|
@@ -50617,10 +50702,12 @@ var init_riskdetails = __esm(() => {
|
|
|
50617
50702
|
init_zod();
|
|
50618
50703
|
init_breach();
|
|
50619
50704
|
init_riskdetailsbreachname();
|
|
50705
|
+
init_riskdetailsevent();
|
|
50620
50706
|
init_riskdetailsphonename();
|
|
50621
50707
|
RiskDetails$zodSchema = object({
|
|
50622
50708
|
breach_names: array(RiskDetailsBreachName$zodSchema).optional().describe("Names found next to the identifiers in breach records, merged, with the number of distinct tables each was seen in."),
|
|
50623
50709
|
breaches: array(Breach$zodSchema).optional().describe("The matching breach tables, newest first, at most 50."),
|
|
50710
|
+
events: array(RiskDetailsEvent$zodSchema).optional().describe("The identity's dated footprint events, newest first, at most 100: the year and month, what happened (created, last_active, breached), the site, its category, the kind of evidence and the identifier it belongs to. No breach value: dates are coarsened to the month."),
|
|
50624
50711
|
phone_names: array(RiskDetailsPhoneName$zodSchema).optional()
|
|
50625
50712
|
}).describe("Detailed view only (response_mode=detailed, which needs the detailed scope); a standard answer leaves it out. Merged observations without provider, source, origin, raw breach record, value or score.");
|
|
50626
50713
|
});
|
|
@@ -50629,13 +50716,17 @@ var init_riskdetails = __esm(() => {
|
|
|
50629
50716
|
var RiskReason$zodSchema;
|
|
50630
50717
|
var init_riskreason = __esm(() => {
|
|
50631
50718
|
init_zod();
|
|
50719
|
+
init_direction();
|
|
50720
|
+
init_impact();
|
|
50632
50721
|
init_reasoncode();
|
|
50633
50722
|
init_reasonidentifier();
|
|
50634
50723
|
RiskReason$zodSchema = object({
|
|
50635
50724
|
code: ReasonCode$zodSchema.describe("A stable reason code. New codes may appear; ignore any you do not know."),
|
|
50725
|
+
direction: Direction$zodSchema,
|
|
50636
50726
|
identifier: ReasonIdentifier$zodSchema.optional().describe("The submitted identifier or client context field a reason concerns; absent when it concerns the whole assessment. Client context is a claimed hint, not a device fingerprint."),
|
|
50637
|
-
|
|
50638
|
-
|
|
50727
|
+
impact: Impact$zodSchema,
|
|
50728
|
+
weight: literal(0).default(0).optional().describe("Deprecated and always 0: the policy's weights are not published. It is sent so that SDK versions that require it keep reading reasons. Read direction and impact.")
|
|
50729
|
+
}).describe("One reason that fired. direction is whether it raises or lowers the score, or is neutral (informational, it moves nothing). impact is a coarse band of how much it moves the score: none for a neutral reason, otherwise low, medium or high.");
|
|
50639
50730
|
});
|
|
50640
50731
|
|
|
50641
50732
|
// src/models/consistencyvalue.ts
|
|
@@ -50675,6 +50766,78 @@ var init_consistency = __esm(() => {
|
|
|
50675
50766
|
}).describe("Cross-identifier agreement, computed from facts only. Every member is optional; absent makes no claim.");
|
|
50676
50767
|
});
|
|
50677
50768
|
|
|
50769
|
+
// src/models/agreement.ts
|
|
50770
|
+
var Agreement$zodSchema;
|
|
50771
|
+
var init_agreement = __esm(() => {
|
|
50772
|
+
init_zod();
|
|
50773
|
+
Agreement$zodSchema = _enum([
|
|
50774
|
+
"match",
|
|
50775
|
+
"partial",
|
|
50776
|
+
"mismatch"
|
|
50777
|
+
]);
|
|
50778
|
+
});
|
|
50779
|
+
|
|
50780
|
+
// src/models/attributeagreement.ts
|
|
50781
|
+
var AttributeAgreement$zodSchema;
|
|
50782
|
+
var init_attributeagreement = __esm(() => {
|
|
50783
|
+
init_zod();
|
|
50784
|
+
init_agreement();
|
|
50785
|
+
AttributeAgreement$zodSchema = object({
|
|
50786
|
+
agreement: Agreement$zodSchema,
|
|
50787
|
+
support: int(),
|
|
50788
|
+
values: int()
|
|
50789
|
+
}).describe("How far independent sources agree on one attribute: values is the number of distinct values reported, support the tables and profiles reporting any, and agreement match (one value), partial (the most reported value holds more than half the support) or mismatch. The values themselves are not served.");
|
|
50790
|
+
});
|
|
50791
|
+
|
|
50792
|
+
// src/models/footprintcoherence.ts
|
|
50793
|
+
var FootprintCoherence$zodSchema;
|
|
50794
|
+
var init_footprintcoherence = __esm(() => {
|
|
50795
|
+
init_zod();
|
|
50796
|
+
init_attributeagreement();
|
|
50797
|
+
FootprintCoherence$zodSchema = object({
|
|
50798
|
+
birth_date: AttributeAgreement$zodSchema.optional().describe("How far independent sources agree on one attribute: values is the number of distinct values reported, support the tables and profiles reporting any, and agreement match (one value), partial (the most reported value holds more than half the support) or mismatch. The values themselves are not served."),
|
|
50799
|
+
city: AttributeAgreement$zodSchema.optional().describe("How far independent sources agree on one attribute: values is the number of distinct values reported, support the tables and profiles reporting any, and agreement match (one value), partial (the most reported value holds more than half the support) or mismatch. The values themselves are not served."),
|
|
50800
|
+
company: AttributeAgreement$zodSchema.optional().describe("How far independent sources agree on one attribute: values is the number of distinct values reported, support the tables and profiles reporting any, and agreement match (one value), partial (the most reported value holds more than half the support) or mismatch. The values themselves are not served."),
|
|
50801
|
+
country: AttributeAgreement$zodSchema.optional().describe("How far independent sources agree on one attribute: values is the number of distinct values reported, support the tables and profiles reporting any, and agreement match (one value), partial (the most reported value holds more than half the support) or mismatch. The values themselves are not served."),
|
|
50802
|
+
gender: AttributeAgreement$zodSchema.optional().describe("How far independent sources agree on one attribute: values is the number of distinct values reported, support the tables and profiles reporting any, and agreement match (one value), partial (the most reported value holds more than half the support) or mismatch. The values themselves are not served."),
|
|
50803
|
+
name: AttributeAgreement$zodSchema.optional().describe("How far independent sources agree on one attribute: values is the number of distinct values reported, support the tables and profiles reporting any, and agreement match (one value), partial (the most reported value holds more than half the support) or mismatch. The values themselves are not served."),
|
|
50804
|
+
nationality: AttributeAgreement$zodSchema.optional().describe("How far independent sources agree on one attribute: values is the number of distinct values reported, support the tables and profiles reporting any, and agreement match (one value), partial (the most reported value holds more than half the support) or mismatch. The values themselves are not served."),
|
|
50805
|
+
social: AttributeAgreement$zodSchema.optional().describe("How far independent sources agree on one attribute: values is the number of distinct values reported, support the tables and profiles reporting any, and agreement match (one value), partial (the most reported value holds more than half the support) or mismatch. The values themselves are not served."),
|
|
50806
|
+
website: AttributeAgreement$zodSchema.optional().describe("How far independent sources agree on one attribute: values is the number of distinct values reported, support the tables and profiles reporting any, and agreement match (one value), partial (the most reported value holds more than half the support) or mismatch. The values themselves are not served."),
|
|
50807
|
+
zip: AttributeAgreement$zodSchema.optional().describe("How far independent sources agree on one attribute: values is the number of distinct values reported, support the tables and profiles reporting any, and agreement match (one value), partial (the most reported value holds more than half the support) or mismatch. The values themselves are not served.")
|
|
50808
|
+
});
|
|
50809
|
+
});
|
|
50810
|
+
|
|
50811
|
+
// src/models/footprinttimeline.ts
|
|
50812
|
+
var FootprintTimeline$zodSchema;
|
|
50813
|
+
var init_footprinttimeline = __esm(() => {
|
|
50814
|
+
init_zod();
|
|
50815
|
+
init_footprintfamily();
|
|
50816
|
+
FootprintTimeline$zodSchema = object({
|
|
50817
|
+
families: array(FootprintFamily$zodSchema),
|
|
50818
|
+
first_seen_year: int(),
|
|
50819
|
+
last_active_year: int().optional(),
|
|
50820
|
+
last_seen_year: int(),
|
|
50821
|
+
sites: int(),
|
|
50822
|
+
span_years: int()
|
|
50823
|
+
}).describe("One identifier's dated footprint across every source: the first and last year any event was seen, the years between them, the latest year a source dated activity (omitted when none did), how many distinct sites and which kinds of evidence saw it.");
|
|
50824
|
+
});
|
|
50825
|
+
|
|
50826
|
+
// src/models/footprint.ts
|
|
50827
|
+
var Footprint$zodSchema;
|
|
50828
|
+
var init_footprint = __esm(() => {
|
|
50829
|
+
init_zod();
|
|
50830
|
+
init_footprintcoherence();
|
|
50831
|
+
init_footprintfamily();
|
|
50832
|
+
init_footprinttimeline();
|
|
50833
|
+
Footprint$zodSchema = object({
|
|
50834
|
+
coherence: FootprintCoherence$zodSchema.optional(),
|
|
50835
|
+
email: FootprintTimeline$zodSchema.optional().describe("One identifier's dated footprint across every source: the first and last year any event was seen, the years between them, the latest year a source dated activity (omitted when none did), how many distinct sites and which kinds of evidence saw it."),
|
|
50836
|
+
families: array(FootprintFamily$zodSchema),
|
|
50837
|
+
username: FootprintTimeline$zodSchema.optional().describe("One identifier's dated footprint across every source: the first and last year any event was seen, the years between them, the latest year a source dated activity (omitted when none did), how many distinct sites and which kinds of evidence saw it.")
|
|
50838
|
+
}).describe("How long and how widely the signup's email and username have existed, and how far independent sources agree on the person behind them, in years and counts only. families are the kinds of evidence that found either identifier. Omitted when nothing found them: a footprint lookup that failed makes no claim, and absence is no_digital_footprint's to state.");
|
|
50839
|
+
});
|
|
50840
|
+
|
|
50678
50841
|
// src/models/ipsummarytype.ts
|
|
50679
50842
|
var IpSummaryType$zodSchema;
|
|
50680
50843
|
var init_ipsummarytype = __esm(() => {
|
|
@@ -50773,6 +50936,7 @@ var RiskSummary$zodSchema;
|
|
|
50773
50936
|
var init_risksummary = __esm(() => {
|
|
50774
50937
|
init_zod();
|
|
50775
50938
|
init_consistency();
|
|
50939
|
+
init_footprint();
|
|
50776
50940
|
init_ipsummary();
|
|
50777
50941
|
init_risksummaryemail();
|
|
50778
50942
|
init_risksummaryphone();
|
|
@@ -50780,6 +50944,7 @@ var init_risksummary = __esm(() => {
|
|
|
50780
50944
|
RiskSummary$zodSchema = object({
|
|
50781
50945
|
consistency: Consistency$zodSchema.optional().describe("Cross-identifier agreement, computed from facts only. Every member is optional; absent makes no claim."),
|
|
50782
50946
|
email: RiskSummaryEmail$zodSchema.optional(),
|
|
50947
|
+
footprint: Footprint$zodSchema.optional().describe("How long and how widely the signup's email and username have existed, and how far independent sources agree on the person behind them, in years and counts only. families are the kinds of evidence that found either identifier. Omitted when nothing found them: a footprint lookup that failed makes no claim, and absence is no_digital_footprint's to state."),
|
|
50783
50948
|
ip: IpSummary$zodSchema.optional().describe("Facts about the submitted IP from the offline database and this workspace's own recent assessments. Every member is optional; absent makes no claim."),
|
|
50784
50949
|
phone: RiskSummaryPhone$zodSchema.optional(),
|
|
50785
50950
|
username: RiskSummaryUsername$zodSchema.optional()
|
|
@@ -50805,12 +50970,12 @@ var init_risk = __esm(() => {
|
|
|
50805
50970
|
coverage: RiskCoverage$zodSchema.describe("Sources counted by state, not named."),
|
|
50806
50971
|
details: RiskDetails$zodSchema.optional().describe("Detailed view only (response_mode=detailed, which needs the detailed scope); a standard answer leaves it out. Merged observations without provider, source, origin, raw breach record, value or score."),
|
|
50807
50972
|
policy_basis: literal("heuristic_unvalidated").default("heuristic_unvalidated").optional().describe("Labels the v0 policy as hand-authored and not statistically validated."),
|
|
50808
|
-
policy_version: string2().describe("Version of the hand-authored heuristic
|
|
50809
|
-
reasons: array(RiskReason$zodSchema).describe("Every reason that fired,
|
|
50973
|
+
policy_version: string2().describe("Version of the hand-authored heuristic policy that produced the recommendation, for example 'risk-2026-10.7'. A workspace threshold override adds a +t<N> suffix, e.g. 'risk-2026-10.7+t3'."),
|
|
50974
|
+
reasons: array(RiskReason$zodSchema).describe("Every reason that fired: risk-raising reasons first, then neutral, then risk-lowering, each strongest impact band first and then by code. The policy's numeric weights are kept private, so a reason carries only its direction and impact band."),
|
|
50810
50975
|
recommendation: Recommendation$zodSchema.describe("The recommended action: allow, step_up or review. Your application applies it."),
|
|
50811
50976
|
score: int(),
|
|
50812
50977
|
summary: RiskSummary$zodSchema.optional().describe("A few typed facts per identifier. Every fact is optional: absent means the evidence did not answer and makes no claim, while false or 0 is a definite answer. Lanes that do not exist yet leave their members absent.")
|
|
50813
|
-
}).describe("The one risk decision for this event. score is 0 (safe) to 100 (risky)
|
|
50978
|
+
}).describe("The one risk decision for this event. score is 0 (safe) to 100 (risky), set by the reasons that fired under a hand-set, versioned heuristic policy. Each reason carries its direction and impact band; the policy's weights are not published. Every answer with a recommendation carries it, and the top-level recommendation equals risk.recommendation. It names no source or provider.");
|
|
50814
50979
|
});
|
|
50815
50980
|
|
|
50816
50981
|
// src/models/failurereason.ts
|
|
@@ -51071,10 +51236,10 @@ var init_assessmentdetail = __esm(() => {
|
|
|
51071
51236
|
expires_at: string2().describe("After this instant the assessment is no longer served: GET /v1/assessments/{assessment_id} answers 404 and it leaves the account history. It is created_at plus your retention period at creation (default and maximum 365 days) and is fixed per record: a later revision keeps it, and a new assessment for the same account starts its own clock. If you later shorten retention, the effective expiry becomes created_at plus the shorter of the two periods."),
|
|
51072
51237
|
incomplete_sources: array(IncompleteSource$zodSchema).describe("The lanes that did not settle, each listed once with a reason; lanes, not sources. In a detailed view a lane is listed exactly when one of its signals did not settle; a standard view carries no signals to match."),
|
|
51073
51238
|
policy_basis: literal("heuristic_unvalidated").default("heuristic_unvalidated").optional().describe("Labels the v0 policy as hand-authored and not statistically validated."),
|
|
51074
|
-
policy_version: string2().describe("Version of the hand-authored heuristic
|
|
51239
|
+
policy_version: string2().describe("Version of the hand-authored heuristic policy that produced the recommendation, for example 'risk-2026-10.7'. A workspace threshold override adds a +t<N> suffix, e.g. 'risk-2026-10.7+t3'."),
|
|
51075
51240
|
recommendation: Recommendation$zodSchema.optional().describe("The recommended action: allow, step_up or review. Your application applies it."),
|
|
51076
51241
|
request_id: string2().optional().describe("An optional provider correlation id, echoed back. It is not an idempotency key. Refuses an exact-shape JWT or a bare 40, 64 or 128 character hex digest; a UUID is accepted."),
|
|
51077
|
-
risk: Risk$zodSchema.optional().describe("The one risk decision for this event. score is 0 (safe) to 100 (risky)
|
|
51242
|
+
risk: Risk$zodSchema.optional().describe("The one risk decision for this event. score is 0 (safe) to 100 (risky), set by the reasons that fired under a hand-set, versioned heuristic policy. Each reason carries its direction and impact band; the policy's weights are not published. Every answer with a recommendation carries it, and the top-level recommendation equals risk.recommendation. It names no source or provider."),
|
|
51078
51243
|
schema_version: literal("1").default("1").optional().describe("Version of the body shape."),
|
|
51079
51244
|
signals: array(Signal$zodSchema).optional().describe("Detailed view only (response_mode=detailed, which needs the detailed scope): a standard answer omits signals[], and a detailed one always carries it, possibly empty. The body does not name its mode, so that rule is the serving gate's; the schema states the half it can: an answer with risk.details is a detailed view and carries signals[]. At most one signal per (type, source_id, identifier)."),
|
|
51080
51245
|
status: Status$zodSchema.describe("complete: final; nothing is still running. A lane that failed or missed its 10 s deadline stays listed in incomplete_sources, and confidence is lower. partial: a recommendation exists and at least one lane is still running or did not settle (see incomplete_sources). pending: nothing usable before the deadline; no recommendation yet, poll or wait for the webhook."),
|
|
@@ -52864,7 +53029,7 @@ var init_assessmentrequestidentifiers = __esm(() => {
|
|
|
52864
53029
|
AssessmentRequestIdentifiers$zodSchema = object({
|
|
52865
53030
|
email: string2().optional().describe("One address: a 1 to 64 character local part without whitespace, angle brackets, control or invisible characters, '@', and a domain with a letter TLD. Send an internationalised domain in punycode. Nothing is trimmed. The local part keeps its case and the domain is lower-cased; no alias rewriting ('+tag', dots or provider heuristics) is applied."),
|
|
52866
53031
|
ip: string2().optional().describe("The account_creation's client IP address: an IPv4 dotted quad without leading zeros, or an IPv6 address in its RFC 5952 text form (lower case, no leading zeros, the longest zero run compressed). Send an IPv4 client as a dotted quad, not IPv4-mapped. No zone, port or prefix. The server refuses a non-canonical IPv6 spelling, and every private, loopback, link-local, multicast, documentation or otherwise reserved address (the IANA special-purpose registries), with 400: only a public address says anything about a signup."),
|
|
52867
|
-
name: string2().optional().describe("The full name as the user typed it, 1 to 128 characters with no control or invisible characters. It is
|
|
53032
|
+
name: string2().optional().describe("The full name as the user typed it, 1 to 128 characters with no control or invisible characters. It is searched in breach data and matched against names in the evidence. A row holding the signup's own email or username confirms the name; rows sharing another identifier add to the identity's history."),
|
|
52868
53033
|
phone: string2().optional().describe("Strict E.164: '+', then 8 to 15 digits, the first not 0, with no separators. Phone evidence is gathered asynchronously, so a phone-only request answers 202 pending and the phone is listed in incomplete_sources on the synchronous answer."),
|
|
52869
53034
|
username: string2().optional().describe("The handle the account is signing up with: 1 to 64 characters, no whitespace, control or invisible characters, and not a credential hash or token. Echoed as received; compared case-insensitively.")
|
|
52870
53035
|
}).describe("At least one of email, username or phone. name and ip refine the match and travel beside a lookup identifier; a body with only name or ip is refused with 400.");
|
|
@@ -56220,7 +56385,7 @@ endpoint.verification sends a signed challenge now and answers whether the endpo
|
|
|
56220
56385
|
function createMCPServer(deps) {
|
|
56221
56386
|
const server = new McpServer({
|
|
56222
56387
|
name: "NoResponse",
|
|
56223
|
-
version: "0.5.
|
|
56388
|
+
version: "0.5.7"
|
|
56224
56389
|
});
|
|
56225
56390
|
const getClient = deps.getSDK || (() => new NoResponseCore({
|
|
56226
56391
|
security: deps.security,
|
|
@@ -64957,7 +65122,7 @@ var routes = buildRouteMap({
|
|
|
64957
65122
|
var app = buildApplication(routes, {
|
|
64958
65123
|
name: "mcp",
|
|
64959
65124
|
versionInfo: {
|
|
64960
|
-
currentVersion: "0.5.
|
|
65125
|
+
currentVersion: "0.5.7"
|
|
64961
65126
|
}
|
|
64962
65127
|
});
|
|
64963
65128
|
run(app, process3.argv.slice(2), buildContext(process3));
|
|
@@ -64965,5 +65130,5 @@ export {
|
|
|
64965
65130
|
app
|
|
64966
65131
|
};
|
|
64967
65132
|
|
|
64968
|
-
//# debugId=
|
|
65133
|
+
//# debugId=F1F49377161C671264756E2164756E21
|
|
64969
65134
|
//# sourceMappingURL=mcp-server.js.map
|