@noresponse/mcp 0.10.2 → 0.10.4
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 +24 -0
- package/bin/mcp-server.js +70 -16
- package/bin/mcp-server.js.map +21 -17
- package/manifest.json +4 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.10.4
|
|
4
|
+
|
|
5
|
+
* `SDK.assessments.search()`:
|
|
6
|
+
* `request.identifier` **Added**
|
|
7
|
+
* `response.items[].matched_identifier` **Added**
|
|
8
|
+
* `SDK.accounts.search()`:
|
|
9
|
+
* `request.identifier` **Added**
|
|
10
|
+
* `response.items[].matched_identifier` **Added**
|
|
11
|
+
|
|
12
|
+
## 0.10.3
|
|
13
|
+
|
|
14
|
+
* `SDK.accounts.search()`:
|
|
15
|
+
* `request.needs_action` **Added**
|
|
16
|
+
* `response.items[].waiting_for` **Added**
|
|
17
|
+
* `SDK.reviews.list()`:
|
|
18
|
+
* `request.account_id` **Added**
|
|
19
|
+
* `SDK.reviews.listViews()`: `response.items[].filter.account_id` **Added**
|
|
20
|
+
* `SDK.reviews.createView()`:
|
|
21
|
+
* `request.body.filter.account_id` **Added**
|
|
22
|
+
* `response.filter.account_id` **Added**
|
|
23
|
+
* `SDK.reviews.updateView()`:
|
|
24
|
+
* `request.body.filter.account_id` **Added**
|
|
25
|
+
* `response.filter.account_id` **Added**
|
|
26
|
+
|
|
3
27
|
## 0.10.2
|
|
4
28
|
|
|
5
29
|
* `SDK.assessments.create()`: `response.account.risk.reasons[].code.enum(no_email_matches)` **Added** (Breaking ⚠️)
|
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.10.
|
|
48139
|
+
sdkVersion: "0.10.4",
|
|
48140
48140
|
genVersion: "internal",
|
|
48141
|
-
userAgent: "noresponse-sdk/mcp-typescript 0.10.
|
|
48141
|
+
userAgent: "noresponse-sdk/mcp-typescript 0.10.4 internal 1 @noresponse/mcp"
|
|
48142
48142
|
};
|
|
48143
48143
|
});
|
|
48144
48144
|
|
|
@@ -54848,16 +54848,65 @@ Retrieve the account decision at one recorded risk version. The answer uses the
|
|
|
54848
54848
|
};
|
|
54849
54849
|
});
|
|
54850
54850
|
|
|
54851
|
+
// src/models/identifiersearchkind.ts
|
|
54852
|
+
var IdentifierSearchKind$zodSchema;
|
|
54853
|
+
var init_identifiersearchkind = __esm(() => {
|
|
54854
|
+
init_zod();
|
|
54855
|
+
IdentifierSearchKind$zodSchema = _enum([
|
|
54856
|
+
"email",
|
|
54857
|
+
"phone",
|
|
54858
|
+
"username"
|
|
54859
|
+
]);
|
|
54860
|
+
});
|
|
54861
|
+
|
|
54862
|
+
// src/models/match.ts
|
|
54863
|
+
var Match$zodSchema;
|
|
54864
|
+
var init_match = __esm(() => {
|
|
54865
|
+
init_zod();
|
|
54866
|
+
Match$zodSchema = _enum([
|
|
54867
|
+
"exact",
|
|
54868
|
+
"canonical",
|
|
54869
|
+
"mailbox"
|
|
54870
|
+
]).describe("exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.");
|
|
54871
|
+
});
|
|
54872
|
+
|
|
54873
|
+
// src/models/namespace.ts
|
|
54874
|
+
var Namespace$zodSchema;
|
|
54875
|
+
var init_namespace = __esm(() => {
|
|
54876
|
+
init_zod();
|
|
54877
|
+
Namespace$zodSchema = _enum([
|
|
54878
|
+
"customer"
|
|
54879
|
+
]).describe("Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.");
|
|
54880
|
+
});
|
|
54881
|
+
|
|
54882
|
+
// src/models/identifiersearch.ts
|
|
54883
|
+
var IdentifierSearch$zodSchema;
|
|
54884
|
+
var init_identifiersearch = __esm(() => {
|
|
54885
|
+
init_zod();
|
|
54886
|
+
init_identifiersearchkind();
|
|
54887
|
+
init_match();
|
|
54888
|
+
init_namespace();
|
|
54889
|
+
IdentifierSearch$zodSchema = object({
|
|
54890
|
+
kind: IdentifierSearchKind$zodSchema,
|
|
54891
|
+
match: Match$zodSchema.optional().describe("exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists."),
|
|
54892
|
+
namespace: Namespace$zodSchema.optional().describe("Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone."),
|
|
54893
|
+
value: string2().describe("The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.")
|
|
54894
|
+
}).describe("One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.");
|
|
54895
|
+
});
|
|
54896
|
+
|
|
54851
54897
|
// src/models/accountdirectorysearchrequest.ts
|
|
54852
54898
|
var AccountDirectorySearchRequest$zodSchema;
|
|
54853
54899
|
var init_accountdirectorysearchrequest = __esm(() => {
|
|
54854
54900
|
init_zod();
|
|
54901
|
+
init_identifiersearch();
|
|
54855
54902
|
AccountDirectorySearchRequest$zodSchema = object({
|
|
54856
54903
|
account_id: string2().optional().describe("Your own opaque identifier for the account being checked, scoped to your workspace. Use an id you mint, with no direct identifier (email, phone, name or national id) in it. '|' is accepted so an Auth0 user id such as 'auth0|64abc' passes unchanged; '@', '+', '$' and whitespace are refused by the pattern, as is an exact-shape JWT; a hex digest such as a SHA-256 is allowed, because hashing an internal id is a common pseudonymous scheme. A value such as '07700900123' or 'jane.doe.gmail.com' cannot be told apart from an opaque id. It travels in bodies, and in a URL only as the path segment of GET /v1/accounts/{account_id} and its /assessments. An assessment requested by a provider hook at pre_registration, which has no account yet, carries the server-issued account_id pre: followed by its assessment_id."),
|
|
54857
54904
|
cursor: string2().optional().describe("Opaque, expiring cursor bound to this environment, operation and every filter. Keep the filters unchanged."),
|
|
54858
54905
|
email: string2().optional().describe("Assessments of every account that one of its retained admitted assessments sent this mailbox as identifiers.email, matched as lists match an email entry: case-insensitive, a +tag removed and, at gmail.com and googlemail.com, the dots of the local part ignored. Only assessments stored since email list matching began carry the mailbox. An address that is not a valid mailbox is refused with 400."),
|
|
54859
|
-
|
|
54860
|
-
|
|
54906
|
+
identifier: IdentifierSearch$zodSchema.optional().describe("One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts."),
|
|
54907
|
+
limit: int().default(25),
|
|
54908
|
+
needs_action: boolean2().default(false).describe("Select accounts with a retained open or in-progress review, or a current review/block account decision with no retained effective account outcome. The server applies this filter before counting and pagination. Requires reviews.read as well as history.read for console members; API keys additionally require management.")
|
|
54909
|
+
}).describe("Bounded distinct-account search for one authenticated workspace/environment. identifier matches any retained admitted assessment of an account, including historical submitted values. email preserves the legacy canonical-mailbox filter. identifier and email cannot be combined. All other filters combine using AND. Typed identifier search uses stable opaque account order; ordinary and legacy email searches retain newest-seen ordering. Pages are live, not a cross-page snapshot. Requires history or investigate authority and identifier-read permission for identifier or email filtering.");
|
|
54861
54910
|
});
|
|
54862
54911
|
|
|
54863
54912
|
// src/funcs/accountsSearch.ts
|
|
@@ -54951,9 +55000,9 @@ var init_accountsSearch2 = __esm(() => {
|
|
|
54951
55000
|
};
|
|
54952
55001
|
tool$accountsSearch = {
|
|
54953
55002
|
name: "search_accounts",
|
|
54954
|
-
description: `Search distinct accounts by
|
|
55003
|
+
description: `Search distinct accounts by submitted identifier or account ID
|
|
54955
55004
|
|
|
54956
|
-
Search distinct accounts observed in retained assessments in this environment.
|
|
55005
|
+
Search distinct accounts observed in retained assessments in this environment. identifier matches an exact, canonical or explicitly selected mailbox form of a submitted email, phone or customer-namespace username. It matches historical retained inputs and returns matched_identifier with the original value and matching assessment. Each row has its newest retained assessment, current account decision when available, retained assessment count, and total distinct-account count. identifier and legacy email are mutually exclusive; account_id and needs_action combine with either using AND. Set needs_action to select accounts with a retained open or in-progress review, or a current review/block account decision without an effective retained account outcome. This filter applies before counting and pagination and adds waiting_for reasons. Current decisions include account list overrides and shared-key scoring and preserve admission holds. Typed identifier search uses stable opaque account order; ordinary and legacy email searches retain newest-seen order. Results are live across pages; each page's items and total share a database snapshot, while current account risk is read separately. Cursors are expiring and bound to scope, operation and filters. Totals are exact below 10000 and capped at 10000. Requires history or investigate authority and identifier-read permission for identifier or email filtering. needs_action additionally requires management scope. Source-discovered associations are not searched and equality is not verified ownership.`,
|
|
54957
55006
|
annotations: {
|
|
54958
55007
|
title: "Search retained accounts by identifier",
|
|
54959
55008
|
destructiveHint: false,
|
|
@@ -56390,6 +56439,7 @@ var init_assessmentsearchrequest = __esm(() => {
|
|
|
56390
56439
|
init_band();
|
|
56391
56440
|
init_decision();
|
|
56392
56441
|
init_flow();
|
|
56442
|
+
init_identifiersearch();
|
|
56393
56443
|
init_impact();
|
|
56394
56444
|
init_lane();
|
|
56395
56445
|
init_listmatch();
|
|
@@ -56408,6 +56458,7 @@ var init_assessmentsearchrequest = __esm(() => {
|
|
|
56408
56458
|
email: string2().optional().describe("Assessments of every account that one of its retained admitted assessments sent this mailbox as identifiers.email, matched as lists match an email entry: case-insensitive, a +tag removed and, at gmail.com and googlemail.com, the dots of the local part ignored. Only assessments stored since email list matching began carry the mailbox. An address that is not a valid mailbox is refused with 400."),
|
|
56409
56459
|
flow: Flow$zodSchema.optional().describe("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."),
|
|
56410
56460
|
from: string2(),
|
|
56461
|
+
identifier: IdentifierSearch$zodSchema.optional().describe("One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts."),
|
|
56411
56462
|
impact: Impact$zodSchema.optional().describe("The selected reason's served impact band. Requires reason."),
|
|
56412
56463
|
lane: Lane$zodSchema.optional().describe("An evidence lane: accounts (account presence for email and username), phone, breach, domain (the email domain's registration) and ip."),
|
|
56413
56464
|
limit: int().default(20),
|
|
@@ -56420,7 +56471,7 @@ var init_assessmentsearchrequest = __esm(() => {
|
|
|
56420
56471
|
score_min: int().optional().describe("Inclusive lower score bound. Pending answers without a score do not match."),
|
|
56421
56472
|
status: Status$zodSchema.optional().describe("Processing state, separate from evidence coverage. complete: final; nothing is still running, but unsupported, failed or unanswered lanes remain in incomplete_sources. partial: a recommendation exists and evidence is incomplete; assessment_url identifies continuing work when present. pending: no recommendation yet; poll or wait for the webhook. Finished processing does not mean all sources answered."),
|
|
56422
56473
|
to: string2()
|
|
56423
|
-
}).describe("Search retained assessments created in [from,to),
|
|
56474
|
+
}).describe("Search retained assessments created in [from,to), at most 366 days. identifier matches the submitted value of each returned assessment directly. The legacy email filter keeps its account-wide mailbox semantics and cannot be combined with identifier. Other filters combine using AND and describe assessment decisions, separate from current account decisions. Results use newest-created order with an assessment-ID tie break and are live, not a snapshot across pages. Requires history or investigate authority; identifier/email filtering also requires identifier-read permission. Detailed response mode additionally requires detailed permission. No Idempotency-Key.");
|
|
56424
56475
|
});
|
|
56425
56476
|
|
|
56426
56477
|
// src/funcs/assessmentsSearch.ts
|
|
@@ -56516,7 +56567,7 @@ var init_assessmentsSearch2 = __esm(() => {
|
|
|
56516
56567
|
name: "search_assessments",
|
|
56517
56568
|
description: `Search assessments across this environment
|
|
56518
56569
|
|
|
56519
|
-
Search retained assessments created in [from,to),
|
|
56570
|
+
Search retained assessments created in [from,to), at most 366 days. identifier directly matches that assessment's submitted email, phone or customer-namespace username using exact, canonical or explicitly selected email mailbox matching. matched_identifier explains the original value and match basis. Legacy email keeps its account-wide mailbox semantics and cannot be combined with identifier. Other filters combine using AND and describe assessment decisions, separate from current account decisions. Each item carries the original submitted identifiers and its first_decision when available. Newest-created order has an assessment-ID tie break. Results are live across pages; each page's total and items use one database snapshot. Totals are exact below 10000 and capped at 10000. Requires history or investigate authority and identifier-read permission for identifier/email filters; detailed mode also requires detailed permission. No Idempotency-Key.`,
|
|
56520
56571
|
annotations: {
|
|
56521
56572
|
title: "Search assessments in this environment",
|
|
56522
56573
|
destructiveHint: false,
|
|
@@ -64828,6 +64879,7 @@ var init_filter = __esm(() => {
|
|
|
64828
64879
|
init_priority();
|
|
64829
64880
|
init_reviewstatus();
|
|
64830
64881
|
Filter$zodSchema = object({
|
|
64882
|
+
account_id: string2().optional().describe("Only reviews of this exact account in the authenticated workspace and environment. Applied before pagination."),
|
|
64831
64883
|
assignee: string2().optional(),
|
|
64832
64884
|
assignee_principal_id: string2().optional(),
|
|
64833
64885
|
priority: Priority$zodSchema.optional(),
|
|
@@ -65764,6 +65816,7 @@ var init_listreviewsop = __esm(() => {
|
|
|
65764
65816
|
init_reviewlist();
|
|
65765
65817
|
init_reviewstatus();
|
|
65766
65818
|
ListReviewsRequest$zodSchema = object({
|
|
65819
|
+
account_id: string2().describe("Only reviews of this exact account in the authenticated workspace and environment. Applied before pagination and bound into the cursor.").optional(),
|
|
65767
65820
|
assignee: string2().optional(),
|
|
65768
65821
|
assignee_principal_id: string2().describe("Filter by immutable member ID. Mutually exclusive with assignee and unassigned=true.").optional(),
|
|
65769
65822
|
cursor: string2().optional(),
|
|
@@ -65820,6 +65873,7 @@ async function $do73(client$, request, options) {
|
|
|
65820
65873
|
};
|
|
65821
65874
|
const path$ = pathToFunc("/v1/workspaces/{workspace_id}/reviews/{environment}")(pathParams$);
|
|
65822
65875
|
const query$ = encodeFormQuery({
|
|
65876
|
+
account_id: payload$.account_id,
|
|
65823
65877
|
assignee: payload$.assignee,
|
|
65824
65878
|
assignee_principal_id: payload$.assignee_principal_id,
|
|
65825
65879
|
cursor: payload$.cursor,
|
|
@@ -65909,7 +65963,7 @@ var init_reviewsList2 = __esm(() => {
|
|
|
65909
65963
|
name: "list_reviews",
|
|
65910
65964
|
description: `List retained account reviews.
|
|
65911
65965
|
|
|
65912
|
-
List retained investigation reviews using filters and an authenticated cursor.`,
|
|
65966
|
+
List retained investigation reviews using filters and an authenticated cursor. Optional account_id selects one exact account in this environment before pagination. All filters are bound into the cursor.`,
|
|
65913
65967
|
annotations: {
|
|
65914
65968
|
title: "List retained account investigations",
|
|
65915
65969
|
destructiveHint: false,
|
|
@@ -69690,7 +69744,7 @@ endpoint.verification sends a signed challenge now and answers whether the endpo
|
|
|
69690
69744
|
function createMCPServer(deps) {
|
|
69691
69745
|
const server = new McpServer({
|
|
69692
69746
|
name: "NoResponse",
|
|
69693
|
-
version: "0.10.
|
|
69747
|
+
version: "0.10.4"
|
|
69694
69748
|
});
|
|
69695
69749
|
const getClient = deps.getSDK || (() => new NoResponseCore({
|
|
69696
69750
|
security: deps.security,
|
|
@@ -69956,7 +70010,7 @@ Count this environment's assessments created in [from,to) by UTC hour, or by day
|
|
|
69956
70010
|
name: "search_assessments",
|
|
69957
70011
|
description: `Search assessments across this environment
|
|
69958
70012
|
|
|
69959
|
-
Search retained assessments created in [from,to),
|
|
70013
|
+
Search retained assessments created in [from,to), at most 366 days. identifier directly matches that assessment's submitted email, phone or customer-namespace username using exact, canonical or explicitly selected email mailbox matching. matched_identifier explains the original value and match basis. Legacy email keeps its account-wide mailbox semantics and cannot be combined with identifier. Other filters combine using AND and describe assessment decisions, separate from current account decisions. Each item carries the original submitted identifiers and its first_decision when available. Newest-created order has an assessment-ID tie break. Results are live across pages; each page's total and items use one database snapshot. Totals are exact below 10000 and capped at 10000. Requires history or investigate authority and identifier-read permission for identifier/email filters; detailed mode also requires detailed permission. No Idempotency-Key.`
|
|
69960
70014
|
},
|
|
69961
70015
|
{
|
|
69962
70016
|
name: "get_assessment_version",
|
|
@@ -70056,9 +70110,9 @@ List retained immutable risk decisions for one account with an authenticated cur
|
|
|
70056
70110
|
},
|
|
70057
70111
|
{
|
|
70058
70112
|
name: "search_accounts",
|
|
70059
|
-
description: `Search distinct accounts by
|
|
70113
|
+
description: `Search distinct accounts by submitted identifier or account ID
|
|
70060
70114
|
|
|
70061
|
-
Search distinct accounts observed in retained assessments in this environment.
|
|
70115
|
+
Search distinct accounts observed in retained assessments in this environment. identifier matches an exact, canonical or explicitly selected mailbox form of a submitted email, phone or customer-namespace username. It matches historical retained inputs and returns matched_identifier with the original value and matching assessment. Each row has its newest retained assessment, current account decision when available, retained assessment count, and total distinct-account count. identifier and legacy email are mutually exclusive; account_id and needs_action combine with either using AND. Set needs_action to select accounts with a retained open or in-progress review, or a current review/block account decision without an effective retained account outcome. This filter applies before counting and pagination and adds waiting_for reasons. Current decisions include account list overrides and shared-key scoring and preserve admission holds. Typed identifier search uses stable opaque account order; ordinary and legacy email searches retain newest-seen order. Results are live across pages; each page's items and total share a database snapshot, while current account risk is read separately. Cursors are expiring and bound to scope, operation and filters. Totals are exact below 10000 and capped at 10000. Requires history or investigate authority and identifier-read permission for identifier or email filtering. needs_action additionally requires management scope. Source-discovered associations are not searched and equality is not verified ownership.`
|
|
70062
70116
|
},
|
|
70063
70117
|
{
|
|
70064
70118
|
name: "list_keys",
|
|
@@ -70304,7 +70358,7 @@ Read retained propagation progress for a list change with settings or management
|
|
|
70304
70358
|
name: "list_reviews",
|
|
70305
70359
|
description: `List retained account reviews.
|
|
70306
70360
|
|
|
70307
|
-
List retained investigation reviews using filters and an authenticated cursor.`
|
|
70361
|
+
List retained investigation reviews using filters and an authenticated cursor. Optional account_id selects one exact account in this environment before pagination. All filters are bound into the cursor.`
|
|
70308
70362
|
},
|
|
70309
70363
|
{
|
|
70310
70364
|
name: "create_review",
|
|
@@ -78979,7 +79033,7 @@ var routes = buildRouteMap({
|
|
|
78979
79033
|
var app = buildApplication(routes, {
|
|
78980
79034
|
name: "mcp",
|
|
78981
79035
|
versionInfo: {
|
|
78982
|
-
currentVersion: "0.10.
|
|
79036
|
+
currentVersion: "0.10.4"
|
|
78983
79037
|
}
|
|
78984
79038
|
});
|
|
78985
79039
|
run(app, process3.argv.slice(2), buildContext(process3));
|
|
@@ -78987,5 +79041,5 @@ export {
|
|
|
78987
79041
|
app
|
|
78988
79042
|
};
|
|
78989
79043
|
|
|
78990
|
-
//# debugId=
|
|
79044
|
+
//# debugId=5019228518CA43EA64756E2164756E21
|
|
78991
79045
|
//# sourceMappingURL=mcp-server.js.map
|