@noresponse/mcp 0.6.9 → 0.6.10

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/bin/mcp-server.js CHANGED
@@ -48117,9 +48117,9 @@ var init_config = __esm(() => {
48117
48117
  SDK_METADATA = {
48118
48118
  language: "typescript",
48119
48119
  openapiDocVersion: "1",
48120
- sdkVersion: "0.6.9",
48120
+ sdkVersion: "0.6.10",
48121
48121
  genVersion: "internal",
48122
- userAgent: "noresponse-sdk/mcp-typescript 0.6.9 internal 1 @noresponse/mcp"
48122
+ userAgent: "noresponse-sdk/mcp-typescript 0.6.10 internal 1 @noresponse/mcp"
48123
48123
  };
48124
48124
  });
48125
48125
 
@@ -50350,6 +50350,7 @@ var init_reasoncode = __esm(() => {
50350
50350
  "prior_abuse_link",
50351
50351
  "test_scenario",
50352
50352
  "shared_api_key",
50353
+ "list_match",
50353
50354
  "young_email_domain",
50354
50355
  "email_domain_no_mx",
50355
50356
  "email_domain_nonexistent",
@@ -50390,7 +50391,8 @@ var init_accountriskreason = __esm(() => {
50390
50391
  code: ReasonCode$zodSchema.describe("A stable reason code. New codes may appear; ignore any you do not know."),
50391
50392
  direction: Direction$zodSchema,
50392
50393
  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."),
50393
- impact: Impact$zodSchema
50394
+ impact: Impact$zodSchema,
50395
+ list_entry_id: string2().optional().describe("The list entry a list_match reason applied. No other reason carries it.")
50394
50396
  }).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.");
50395
50397
  });
50396
50398
 
@@ -50736,7 +50738,8 @@ var init_riskreason = __esm(() => {
50736
50738
  code: ReasonCode$zodSchema.describe("A stable reason code. New codes may appear; ignore any you do not know."),
50737
50739
  direction: Direction$zodSchema,
50738
50740
  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."),
50739
- impact: Impact$zodSchema
50741
+ impact: Impact$zodSchema,
50742
+ list_entry_id: string2().optional().describe("The list entry a list_match reason applied. No other reason carries it.")
50740
50743
  }).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.");
50741
50744
  });
50742
50745
 
@@ -51381,7 +51384,9 @@ var init_conflicterrorcode = __esm(() => {
51381
51384
  "too_many_integrations",
51382
51385
  "risk_version_ahead",
51383
51386
  "key_limit_reached",
51384
- "self_revocation"
51387
+ "self_revocation",
51388
+ "list_entry_exists",
51389
+ "list_limit_reached"
51385
51390
  ]).describe("Machine codes an HTTP 409 answer can carry.");
51386
51391
  });
51387
51392
 
@@ -54796,6 +54801,564 @@ Revokes a key of the signing key's environment at once: its next request answers
54796
54801
  };
54797
54802
  });
54798
54803
 
54804
+ // src/models/listentryaction.ts
54805
+ var ListEntryAction$zodSchema;
54806
+ var init_listentryaction = __esm(() => {
54807
+ init_zod();
54808
+ ListEntryAction$zodSchema = _enum([
54809
+ "block",
54810
+ "allow"
54811
+ ]).describe("block decides block for the accounts the entry matches; allow decides allow. Block wins when both match.");
54812
+ });
54813
+
54814
+ // src/models/listentrykind.ts
54815
+ var ListEntryKind$zodSchema;
54816
+ var init_listentrykind = __esm(() => {
54817
+ init_zod();
54818
+ ListEntryKind$zodSchema = _enum([
54819
+ "email",
54820
+ "email_domain"
54821
+ ]).describe("email matches one address, whatever the case of its local part. email_domain matches every address of the registrable domain and of its subdomains.");
54822
+ });
54823
+
54824
+ // src/models/listentry.ts
54825
+ var ListEntry$zodSchema;
54826
+ var init_listentry = __esm(() => {
54827
+ init_zod();
54828
+ init_keyenvironment();
54829
+ init_listentryaction();
54830
+ init_listentrykind();
54831
+ ListEntry$zodSchema = object({
54832
+ action: ListEntryAction$zodSchema.describe("block decides block for the accounts the entry matches; allow decides allow. Block wins when both match."),
54833
+ created_at: string2(),
54834
+ created_by: string2().describe("The external user id of the member who added the entry through the console, or the prefix (nrk_<environment>_<key id>) of the management key that added it."),
54835
+ environment: KeyEnvironment$zodSchema.describe("The environment the key belongs to. A live key assesses with live sources; a test key answers from the deterministic simulator."),
54836
+ id: string2().describe("The entry's id: lst_ and a ULID."),
54837
+ kind: ListEntryKind$zodSchema.describe("email matches one address, whatever the case of its local part. email_domain matches every address of the registrable domain and of its subdomains."),
54838
+ note: string2().optional().describe("Why the entry exists, for the people who manage the list. It is shown with the entry and decides nothing."),
54839
+ value: string2().describe("The value the entry matches, in canonical form: an email lower-cased whole, or a domain lower-cased and taken to its registrable domain (mail.example.co.uk is stored as example.co.uk)."),
54840
+ 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.")
54841
+ }).describe("One entry of an environment's list: an exact email or an email domain that decides an account whatever its score. An account matches when one of its admitted assessments sent the email, or an email of the domain. A block entry decides block for every flow and an allow entry decides allow; when both match, block wins. The account's risk carries the list_match reason with the entry's id, and its score stays the one the assessment's facts give. A held flow still waits for its investigation.");
54842
+ });
54843
+
54844
+ // src/models/listentryrequest.ts
54845
+ var ListEntryRequest$zodSchema;
54846
+ var init_listentryrequest = __esm(() => {
54847
+ init_zod();
54848
+ init_listentryaction();
54849
+ init_listentrykind();
54850
+ ListEntryRequest$zodSchema = object({
54851
+ action: ListEntryAction$zodSchema.describe("block decides block for the accounts the entry matches; allow decides allow. Block wins when both match."),
54852
+ kind: ListEntryKind$zodSchema.describe("email matches one address, whatever the case of its local part. email_domain matches every address of the registrable domain and of its subdomains."),
54853
+ note: string2().optional().describe("Why the entry exists, for the people who manage the list. It is shown with the entry and decides nothing."),
54854
+ value: string2().describe("An email address for kind email, written as in an assessment request; an LDH domain (A-label for an internationalised one) such as example.com for kind email_domain, which must sit below a public suffix (co.uk alone is refused with 400). NoResponse stores it in canonical form and answers that form.")
54855
+ }).describe("POST /v1/workspaces/{workspace_id}/lists/{environment} body. Adds one entry to the environment's list and, in the same change, re-decides every account it matches: each sends account.risk_changed when a decision changes. Needs the admin or owner role, or a management key of the environment.");
54856
+ });
54857
+
54858
+ // src/models/createlistentryop.ts
54859
+ var CreateListEntryRequest$zodSchema, CreateListEntryResponseResult$zodSchema, CreateListEntryResponse$zodSchema;
54860
+ var init_createlistentryop = __esm(() => {
54861
+ init_zod();
54862
+ init_authenticationerror();
54863
+ init_badrequesterror();
54864
+ init_conflicterror();
54865
+ init_keyenvironment();
54866
+ init_listentry();
54867
+ init_listentryrequest();
54868
+ init_notfounderror();
54869
+ init_permissiondeniederror();
54870
+ init_ratelimiterror();
54871
+ CreateListEntryRequest$zodSchema = object({
54872
+ body: ListEntryRequest$zodSchema,
54873
+ environment: KeyEnvironment$zodSchema.describe("The environment: live or test. Each has its own settings. Any other value answers 400. An API key reads and changes only its own environment's; the other answers 404."),
54874
+ workspace_id: string2().describe("Your workspace id, as each key lists it in workspace_id. Another workspace, a malformed id and a test environment's id answer 404.")
54875
+ });
54876
+ CreateListEntryResponseResult$zodSchema = union([
54877
+ ListEntry$zodSchema,
54878
+ BadRequestError$zodSchema,
54879
+ AuthenticationError$zodSchema,
54880
+ PermissionDeniedError$zodSchema,
54881
+ NotFoundError$zodSchema,
54882
+ ConflictError$zodSchema,
54883
+ RateLimitError$zodSchema
54884
+ ]);
54885
+ CreateListEntryResponse$zodSchema = object({
54886
+ Headers: record(string2(), array(string2())).default({}),
54887
+ Result: union([
54888
+ ListEntry$zodSchema,
54889
+ BadRequestError$zodSchema,
54890
+ AuthenticationError$zodSchema,
54891
+ PermissionDeniedError$zodSchema,
54892
+ NotFoundError$zodSchema,
54893
+ ConflictError$zodSchema,
54894
+ RateLimitError$zodSchema
54895
+ ])
54896
+ });
54897
+ });
54898
+
54899
+ // src/funcs/listsCreate.ts
54900
+ function listsCreate(client$, request, options) {
54901
+ return new APIPromise($do17(client$, request, options));
54902
+ }
54903
+ async function $do17(client$, request, options) {
54904
+ const parsed$ = safeParse2(request, (value$) => CreateListEntryRequest$zodSchema.parse(value$), "Input validation failed");
54905
+ if (!parsed$.ok) {
54906
+ return [parsed$, { status: "invalid" }];
54907
+ }
54908
+ const payload$ = parsed$.value;
54909
+ const body$ = encodeJSON("body", payload$.body, { explode: true });
54910
+ const pathParams$ = {
54911
+ environment: encodeSimple("environment", payload$.environment, {
54912
+ explode: false,
54913
+ charEncoding: "percent"
54914
+ }),
54915
+ workspace_id: encodeSimple("workspace_id", payload$.workspace_id, {
54916
+ explode: false,
54917
+ charEncoding: "percent"
54918
+ })
54919
+ };
54920
+ const path$ = pathToFunc("/v1/workspaces/{workspace_id}/lists/{environment}")(pathParams$);
54921
+ const headers$ = new Headers(compactMap({
54922
+ "Content-Type": "application/json",
54923
+ Accept: options?.acceptHeaderOverride || "application/json;q=1, application/problem+json;q=0"
54924
+ }));
54925
+ const securityInput = await extractSecurity(client$._options.security);
54926
+ const requestSecurity = resolveGlobalSecurity(securityInput);
54927
+ const context = {
54928
+ options: client$._options,
54929
+ baseURL: options?.serverURL ?? client$._baseURL ?? "",
54930
+ operationID: "createListEntry",
54931
+ oAuth2Scopes: null,
54932
+ resolvedSecurity: requestSecurity,
54933
+ securitySource: client$._options.security,
54934
+ retryConfig: options?.retries || client$._options.retryConfig || {
54935
+ strategy: "backoff",
54936
+ backoff: {
54937
+ initialInterval: 500,
54938
+ maxInterval: 8000,
54939
+ exponent: 2,
54940
+ maxElapsedTime: 30000
54941
+ },
54942
+ retryConnectionErrors: true
54943
+ },
54944
+ retryCodes: options?.retryCodes || [
54945
+ "408",
54946
+ "429",
54947
+ "5XX"
54948
+ ]
54949
+ };
54950
+ const requestRes = client$._createRequest(context, {
54951
+ security: requestSecurity,
54952
+ method: "POST",
54953
+ baseURL: options?.serverURL,
54954
+ path: path$,
54955
+ headers: headers$,
54956
+ body: body$,
54957
+ userAgent: client$._options.userAgent,
54958
+ timeoutMs: options?.timeoutMs || client$._options.timeoutMs || -1
54959
+ }, options);
54960
+ if (!requestRes.ok) {
54961
+ return [requestRes, { status: "invalid" }];
54962
+ }
54963
+ const req$ = requestRes.value;
54964
+ const doResult = await client$._do(req$, {
54965
+ context,
54966
+ errorCodes: [],
54967
+ retryConfig: context.retryConfig,
54968
+ retryCodes: context.retryCodes
54969
+ });
54970
+ if (!doResult.ok) {
54971
+ return [doResult, { status: "request-error", request: req$ }];
54972
+ }
54973
+ return [doResult, {
54974
+ status: "complete",
54975
+ request: req$,
54976
+ response: doResult.value
54977
+ }];
54978
+ }
54979
+ var init_listsCreate = __esm(() => {
54980
+ init_encodings();
54981
+ init_primitives();
54982
+ init_schemas3();
54983
+ init_security();
54984
+ init_url();
54985
+ init_createlistentryop();
54986
+ init_async();
54987
+ });
54988
+
54989
+ // src/mcp-server/tools/listsCreate.ts
54990
+ var args17, tool$listsCreate;
54991
+ var init_listsCreate2 = __esm(() => {
54992
+ init_listsCreate();
54993
+ init_createlistentryop();
54994
+ init_tools();
54995
+ args17 = {
54996
+ request: CreateListEntryRequest$zodSchema
54997
+ };
54998
+ tool$listsCreate = {
54999
+ name: "create_list_entry",
55000
+ description: `Add an entry to an environment's list.
55001
+
55002
+ Adds an exact email (kind email) or an email domain (kind email_domain) to the signing key's environment's list with the action block or allow, and answers the entry with its value in canonical form. An account matches when one of its assessments sent the email, or an email of the domain: a block entry decides block for every flow and an allow entry allow, block winning when both match, and the account's risk carries list_match with the entry's id while its score is unchanged. Every matching account is re-decided at once and sends account.risk_changed when its decision changes. A value already on the list answers 409 list_entry_exists; a full list, or an entry matching more than 5,000 accounts, 409 list_limit_reached. Requires the management scope; the other environment answers 404 not_found.`,
55003
+ annotations: {
55004
+ title: "Add an email or domain to the allow or block list",
55005
+ destructiveHint: false,
55006
+ idempotentHint: false,
55007
+ openWorldHint: false,
55008
+ readOnlyHint: false
55009
+ },
55010
+ args: args17,
55011
+ tool: async (client, args, ctx) => {
55012
+ const [result] = await listsCreate(client, args.request, { fetchOptions: { signal: ctx.mcpReq.signal } }).$inspect();
55013
+ if (!result.ok) {
55014
+ return {
55015
+ content: [{ type: "text", text: result.error.message }],
55016
+ isError: true
55017
+ };
55018
+ }
55019
+ return formatResult(result.value);
55020
+ }
55021
+ };
55022
+ });
55023
+
55024
+ // src/models/deletelistentryop.ts
55025
+ var DeleteListEntryRequest$zodSchema, DeleteListEntryResponseResult$zodSchema, DeleteListEntryResponse$zodSchema;
55026
+ var init_deletelistentryop = __esm(() => {
55027
+ init_zod();
55028
+ init_authenticationerror();
55029
+ init_badrequesterror();
55030
+ init_conflicterror();
55031
+ init_keyenvironment();
55032
+ init_notfounderror();
55033
+ init_permissiondeniederror();
55034
+ init_ratelimiterror();
55035
+ DeleteListEntryRequest$zodSchema = object({
55036
+ environment: KeyEnvironment$zodSchema.describe("The environment: live or test. Each has its own settings. Any other value answers 400. An API key reads and changes only its own environment's; the other answers 404."),
55037
+ list_entry_id: string2().describe("The entry's id. An entry of another environment or workspace answers 404."),
55038
+ workspace_id: string2().describe("Your workspace id, as each key lists it in workspace_id. Another workspace, a malformed id and a test environment's id answer 404.")
55039
+ });
55040
+ DeleteListEntryResponseResult$zodSchema = union([
55041
+ BadRequestError$zodSchema,
55042
+ AuthenticationError$zodSchema,
55043
+ PermissionDeniedError$zodSchema,
55044
+ NotFoundError$zodSchema,
55045
+ ConflictError$zodSchema,
55046
+ RateLimitError$zodSchema
55047
+ ]);
55048
+ DeleteListEntryResponse$zodSchema = object({
55049
+ Headers: record(string2(), array(string2())).default({}),
55050
+ Result: union([
55051
+ BadRequestError$zodSchema,
55052
+ AuthenticationError$zodSchema,
55053
+ PermissionDeniedError$zodSchema,
55054
+ NotFoundError$zodSchema,
55055
+ ConflictError$zodSchema,
55056
+ RateLimitError$zodSchema
55057
+ ]).optional()
55058
+ });
55059
+ });
55060
+
55061
+ // src/funcs/listsDelete.ts
55062
+ function listsDelete(client$, request, options) {
55063
+ return new APIPromise($do18(client$, request, options));
55064
+ }
55065
+ async function $do18(client$, request, options) {
55066
+ const parsed$ = safeParse2(request, (value$) => DeleteListEntryRequest$zodSchema.parse(value$), "Input validation failed");
55067
+ if (!parsed$.ok) {
55068
+ return [parsed$, { status: "invalid" }];
55069
+ }
55070
+ const payload$ = parsed$.value;
55071
+ const body$ = null;
55072
+ const pathParams$ = {
55073
+ environment: encodeSimple("environment", payload$.environment, {
55074
+ explode: false,
55075
+ charEncoding: "percent"
55076
+ }),
55077
+ list_entry_id: encodeSimple("list_entry_id", payload$.list_entry_id, {
55078
+ explode: false,
55079
+ charEncoding: "percent"
55080
+ }),
55081
+ workspace_id: encodeSimple("workspace_id", payload$.workspace_id, {
55082
+ explode: false,
55083
+ charEncoding: "percent"
55084
+ })
55085
+ };
55086
+ const path$ = pathToFunc("/v1/workspaces/{workspace_id}/lists/{environment}/{list_entry_id}")(pathParams$);
55087
+ const headers$ = new Headers(compactMap({
55088
+ Accept: "application/problem+json"
55089
+ }));
55090
+ const securityInput = await extractSecurity(client$._options.security);
55091
+ const requestSecurity = resolveGlobalSecurity(securityInput);
55092
+ const context = {
55093
+ options: client$._options,
55094
+ baseURL: options?.serverURL ?? client$._baseURL ?? "",
55095
+ operationID: "deleteListEntry",
55096
+ oAuth2Scopes: null,
55097
+ resolvedSecurity: requestSecurity,
55098
+ securitySource: client$._options.security,
55099
+ retryConfig: options?.retries || client$._options.retryConfig || {
55100
+ strategy: "backoff",
55101
+ backoff: {
55102
+ initialInterval: 500,
55103
+ maxInterval: 8000,
55104
+ exponent: 2,
55105
+ maxElapsedTime: 30000
55106
+ },
55107
+ retryConnectionErrors: true
55108
+ },
55109
+ retryCodes: options?.retryCodes || [
55110
+ "408",
55111
+ "429",
55112
+ "5XX"
55113
+ ]
55114
+ };
55115
+ const requestRes = client$._createRequest(context, {
55116
+ security: requestSecurity,
55117
+ method: "DELETE",
55118
+ baseURL: options?.serverURL,
55119
+ path: path$,
55120
+ headers: headers$,
55121
+ body: body$,
55122
+ userAgent: client$._options.userAgent,
55123
+ timeoutMs: options?.timeoutMs || client$._options.timeoutMs || -1
55124
+ }, options);
55125
+ if (!requestRes.ok) {
55126
+ return [requestRes, { status: "invalid" }];
55127
+ }
55128
+ const req$ = requestRes.value;
55129
+ const doResult = await client$._do(req$, {
55130
+ context,
55131
+ errorCodes: [],
55132
+ retryConfig: context.retryConfig,
55133
+ retryCodes: context.retryCodes
55134
+ });
55135
+ if (!doResult.ok) {
55136
+ return [doResult, { status: "request-error", request: req$ }];
55137
+ }
55138
+ return [doResult, {
55139
+ status: "complete",
55140
+ request: req$,
55141
+ response: doResult.value
55142
+ }];
55143
+ }
55144
+ var init_listsDelete = __esm(() => {
55145
+ init_encodings();
55146
+ init_primitives();
55147
+ init_schemas3();
55148
+ init_security();
55149
+ init_url();
55150
+ init_deletelistentryop();
55151
+ init_async();
55152
+ });
55153
+
55154
+ // src/mcp-server/tools/listsDelete.ts
55155
+ var args18, tool$listsDelete;
55156
+ var init_listsDelete2 = __esm(() => {
55157
+ init_listsDelete();
55158
+ init_deletelistentryop();
55159
+ init_tools();
55160
+ args18 = {
55161
+ request: DeleteListEntryRequest$zodSchema
55162
+ };
55163
+ tool$listsDelete = {
55164
+ name: "delete_list_entry",
55165
+ description: `Remove an entry from an environment's list.
55166
+
55167
+ Removes an entry from the signing key's environment's list and re-decides every account it matched, each sending account.risk_changed when its decision changes. An unknown or already removed entry answers 404 not_found. Requires the management scope.`,
55168
+ annotations: {
55169
+ title: "Delete an entry from the allow or block list",
55170
+ destructiveHint: true,
55171
+ idempotentHint: true,
55172
+ openWorldHint: false,
55173
+ readOnlyHint: false
55174
+ },
55175
+ args: args18,
55176
+ tool: async (client, args, ctx) => {
55177
+ const [result] = await listsDelete(client, args.request, { fetchOptions: { signal: ctx.mcpReq.signal } }).$inspect();
55178
+ if (!result.ok) {
55179
+ return {
55180
+ content: [{ type: "text", text: result.error.message }],
55181
+ isError: true
55182
+ };
55183
+ }
55184
+ return formatResult(result.value);
55185
+ }
55186
+ };
55187
+ });
55188
+
55189
+ // src/models/listentrylist.ts
55190
+ var ListEntryList$zodSchema;
55191
+ var init_listentrylist = __esm(() => {
55192
+ init_zod();
55193
+ init_listentry();
55194
+ ListEntryList$zodSchema = object({
55195
+ items: array(ListEntry$zodSchema)
55196
+ }).describe("GET /v1/workspaces/{workspace_id}/lists/{environment}: every entry of the environment's list, newest first. An environment holds at most 10,000 entries.");
55197
+ });
55198
+
55199
+ // src/models/listlistentriesop.ts
55200
+ var ListListEntriesRequest$zodSchema, ListListEntriesResponseResult$zodSchema, ListListEntriesResponse$zodSchema;
55201
+ var init_listlistentriesop = __esm(() => {
55202
+ init_zod();
55203
+ init_authenticationerror();
55204
+ init_badrequesterror();
55205
+ init_conflicterror();
55206
+ init_keyenvironment();
55207
+ init_listentrylist();
55208
+ init_notfounderror();
55209
+ init_permissiondeniederror();
55210
+ init_ratelimiterror();
55211
+ ListListEntriesRequest$zodSchema = object({
55212
+ environment: KeyEnvironment$zodSchema.describe("The environment: live or test. Each has its own settings. Any other value answers 400. An API key reads and changes only its own environment's; the other answers 404."),
55213
+ workspace_id: string2().describe("Your workspace id, as each key lists it in workspace_id. Another workspace, a malformed id and a test environment's id answer 404.")
55214
+ });
55215
+ ListListEntriesResponseResult$zodSchema = union([
55216
+ BadRequestError$zodSchema,
55217
+ AuthenticationError$zodSchema,
55218
+ PermissionDeniedError$zodSchema,
55219
+ NotFoundError$zodSchema,
55220
+ ConflictError$zodSchema,
55221
+ RateLimitError$zodSchema,
55222
+ ListEntryList$zodSchema
55223
+ ]);
55224
+ ListListEntriesResponse$zodSchema = object({
55225
+ Headers: record(string2(), array(string2())).default({}),
55226
+ Result: union([
55227
+ BadRequestError$zodSchema,
55228
+ AuthenticationError$zodSchema,
55229
+ PermissionDeniedError$zodSchema,
55230
+ NotFoundError$zodSchema,
55231
+ ConflictError$zodSchema,
55232
+ RateLimitError$zodSchema,
55233
+ ListEntryList$zodSchema
55234
+ ])
55235
+ });
55236
+ });
55237
+
55238
+ // src/funcs/listsList.ts
55239
+ function listsList(client$, request, options) {
55240
+ return new APIPromise($do19(client$, request, options));
55241
+ }
55242
+ async function $do19(client$, request, options) {
55243
+ const parsed$ = safeParse2(request, (value$) => ListListEntriesRequest$zodSchema.parse(value$), "Input validation failed");
55244
+ if (!parsed$.ok) {
55245
+ return [parsed$, { status: "invalid" }];
55246
+ }
55247
+ const payload$ = parsed$.value;
55248
+ const body$ = null;
55249
+ const pathParams$ = {
55250
+ environment: encodeSimple("environment", payload$.environment, {
55251
+ explode: false,
55252
+ charEncoding: "percent"
55253
+ }),
55254
+ workspace_id: encodeSimple("workspace_id", payload$.workspace_id, {
55255
+ explode: false,
55256
+ charEncoding: "percent"
55257
+ })
55258
+ };
55259
+ const path$ = pathToFunc("/v1/workspaces/{workspace_id}/lists/{environment}")(pathParams$);
55260
+ const headers$ = new Headers(compactMap({
55261
+ Accept: options?.acceptHeaderOverride || "application/json;q=1, application/problem+json;q=0"
55262
+ }));
55263
+ const securityInput = await extractSecurity(client$._options.security);
55264
+ const requestSecurity = resolveGlobalSecurity(securityInput);
55265
+ const context = {
55266
+ options: client$._options,
55267
+ baseURL: options?.serverURL ?? client$._baseURL ?? "",
55268
+ operationID: "listListEntries",
55269
+ oAuth2Scopes: null,
55270
+ resolvedSecurity: requestSecurity,
55271
+ securitySource: client$._options.security,
55272
+ retryConfig: options?.retries || client$._options.retryConfig || {
55273
+ strategy: "backoff",
55274
+ backoff: {
55275
+ initialInterval: 500,
55276
+ maxInterval: 8000,
55277
+ exponent: 2,
55278
+ maxElapsedTime: 30000
55279
+ },
55280
+ retryConnectionErrors: true
55281
+ },
55282
+ retryCodes: options?.retryCodes || [
55283
+ "408",
55284
+ "429",
55285
+ "5XX"
55286
+ ]
55287
+ };
55288
+ const requestRes = client$._createRequest(context, {
55289
+ security: requestSecurity,
55290
+ method: "GET",
55291
+ baseURL: options?.serverURL,
55292
+ path: path$,
55293
+ headers: headers$,
55294
+ body: body$,
55295
+ userAgent: client$._options.userAgent,
55296
+ timeoutMs: options?.timeoutMs || client$._options.timeoutMs || -1
55297
+ }, options);
55298
+ if (!requestRes.ok) {
55299
+ return [requestRes, { status: "invalid" }];
55300
+ }
55301
+ const req$ = requestRes.value;
55302
+ const doResult = await client$._do(req$, {
55303
+ context,
55304
+ errorCodes: [],
55305
+ retryConfig: context.retryConfig,
55306
+ retryCodes: context.retryCodes
55307
+ });
55308
+ if (!doResult.ok) {
55309
+ return [doResult, { status: "request-error", request: req$ }];
55310
+ }
55311
+ return [doResult, {
55312
+ status: "complete",
55313
+ request: req$,
55314
+ response: doResult.value
55315
+ }];
55316
+ }
55317
+ var init_listsList = __esm(() => {
55318
+ init_encodings();
55319
+ init_primitives();
55320
+ init_schemas3();
55321
+ init_security();
55322
+ init_url();
55323
+ init_listlistentriesop();
55324
+ init_async();
55325
+ });
55326
+
55327
+ // src/mcp-server/tools/listsList.ts
55328
+ var args19, tool$listsList;
55329
+ var init_listsList2 = __esm(() => {
55330
+ init_listsList();
55331
+ init_listlistentriesop();
55332
+ init_tools();
55333
+ args19 = {
55334
+ request: ListListEntriesRequest$zodSchema
55335
+ };
55336
+ tool$listsList = {
55337
+ name: "list_list_entries",
55338
+ description: `List an environment's list entries.
55339
+
55340
+ Lists every entry of the signing key's environment's list, newest first: each an email or an email domain that decides the accounts it matches, block or allow, whatever their score. Requires the management scope; the other environment answers 404 not_found. Read-only and safe to retry.`,
55341
+ annotations: {
55342
+ title: "List this environment's allow and block list",
55343
+ destructiveHint: false,
55344
+ idempotentHint: true,
55345
+ openWorldHint: false,
55346
+ readOnlyHint: true
55347
+ },
55348
+ args: args19,
55349
+ tool: async (client, args, ctx) => {
55350
+ const [result] = await listsList(client, args.request, { fetchOptions: { signal: ctx.mcpReq.signal } }).$inspect();
55351
+ if (!result.ok) {
55352
+ return {
55353
+ content: [{ type: "text", text: result.error.message }],
55354
+ isError: true
55355
+ };
55356
+ }
55357
+ return formatResult(result.value);
55358
+ }
55359
+ };
55360
+ });
55361
+
54799
55362
  // src/models/admission.ts
54800
55363
  var Admission$zodSchema;
54801
55364
  var init_admission = __esm(() => {
@@ -54932,9 +55495,9 @@ var init_getsettingsop = __esm(() => {
54932
55495
 
54933
55496
  // src/funcs/settingsGet.ts
54934
55497
  function settingsGet(client$, request, options) {
54935
- return new APIPromise($do17(client$, request, options));
55498
+ return new APIPromise($do20(client$, request, options));
54936
55499
  }
54937
- async function $do17(client$, request, options) {
55500
+ async function $do20(client$, request, options) {
54938
55501
  const parsed$ = safeParse2(request, (value$) => GetSettingsRequest$zodSchema.parse(value$), "Input validation failed");
54939
55502
  if (!parsed$.ok) {
54940
55503
  return [parsed$, { status: "invalid" }];
@@ -55020,12 +55583,12 @@ var init_settingsGet = __esm(() => {
55020
55583
  });
55021
55584
 
55022
55585
  // src/mcp-server/tools/settingsGet.ts
55023
- var args17, tool$settingsGet;
55586
+ var args20, tool$settingsGet;
55024
55587
  var init_settingsGet2 = __esm(() => {
55025
55588
  init_settingsGet();
55026
55589
  init_getsettingsop();
55027
55590
  init_tools();
55028
- args17 = {
55591
+ args20 = {
55029
55592
  request: GetSettingsRequest$zodSchema
55030
55593
  };
55031
55594
  tool$settingsGet = {
@@ -55040,7 +55603,7 @@ Reads the settings of the signing key's environment: retention in days; per flow
55040
55603
  openWorldHint: false,
55041
55604
  readOnlyHint: true
55042
55605
  },
55043
- args: args17,
55606
+ args: args20,
55044
55607
  tool: async (client, args, ctx) => {
55045
55608
  const [result] = await settingsGet(client, args.request, { fetchOptions: { signal: ctx.mcpReq.signal } }).$inspect();
55046
55609
  if (!result.ok) {
@@ -55143,9 +55706,9 @@ var init_updatesettingsop = __esm(() => {
55143
55706
 
55144
55707
  // src/funcs/settingsUpdate.ts
55145
55708
  function settingsUpdate(client$, request, options) {
55146
- return new APIPromise($do18(client$, request, options));
55709
+ return new APIPromise($do21(client$, request, options));
55147
55710
  }
55148
- async function $do18(client$, request, options) {
55711
+ async function $do21(client$, request, options) {
55149
55712
  const parsed$ = safeParse2(request, (value$) => UpdateSettingsRequest$zodSchema.parse(value$), "Input validation failed");
55150
55713
  if (!parsed$.ok) {
55151
55714
  return [parsed$, { status: "invalid" }];
@@ -55232,12 +55795,12 @@ var init_settingsUpdate = __esm(() => {
55232
55795
  });
55233
55796
 
55234
55797
  // src/mcp-server/tools/settingsUpdate.ts
55235
- var args18, tool$settingsUpdate;
55798
+ var args21, tool$settingsUpdate;
55236
55799
  var init_settingsUpdate2 = __esm(() => {
55237
55800
  init_settingsUpdate();
55238
55801
  init_updatesettingsop();
55239
55802
  init_tools();
55240
- args18 = {
55803
+ args21 = {
55241
55804
  request: UpdateSettingsRequest$zodSchema
55242
55805
  };
55243
55806
  tool$settingsUpdate = {
@@ -55252,7 +55815,7 @@ Changes only what the body names, in one transaction: retention_days, refused_so
55252
55815
  openWorldHint: false,
55253
55816
  readOnlyHint: false
55254
55817
  },
55255
- args: args18,
55818
+ args: args21,
55256
55819
  tool: async (client, args, ctx) => {
55257
55820
  const [result] = await settingsUpdate(client, args.request, { fetchOptions: { signal: ctx.mcpReq.signal } }).$inspect();
55258
55821
  if (!result.ok) {
@@ -55279,9 +55842,9 @@ var init_webhookendpointrequest = __esm(() => {
55279
55842
 
55280
55843
  // src/funcs/webhookEndpointsCreate.ts
55281
55844
  function webhookEndpointsCreate(client$, request, options) {
55282
- return new APIPromise($do19(client$, request, options));
55845
+ return new APIPromise($do22(client$, request, options));
55283
55846
  }
55284
- async function $do19(client$, request, options) {
55847
+ async function $do22(client$, request, options) {
55285
55848
  const parsed$ = safeParse2(request, (value$) => WebhookEndpointRequest$zodSchema.parse(value$), "Input validation failed");
55286
55849
  if (!parsed$.ok) {
55287
55850
  return [parsed$, { status: "invalid" }];
@@ -55345,12 +55908,12 @@ var init_webhookEndpointsCreate = __esm(() => {
55345
55908
  });
55346
55909
 
55347
55910
  // src/mcp-server/tools/webhookEndpointsCreate.ts
55348
- var args19, tool$webhookEndpointsCreate;
55911
+ var args22, tool$webhookEndpointsCreate;
55349
55912
  var init_webhookEndpointsCreate2 = __esm(() => {
55350
55913
  init_webhookEndpointsCreate();
55351
55914
  init_webhookendpointrequest();
55352
55915
  init_tools();
55353
- args19 = {
55916
+ args22 = {
55354
55917
  request: WebhookEndpointRequest$zodSchema
55355
55918
  };
55356
55919
  tool$webhookEndpointsCreate = {
@@ -55365,7 +55928,7 @@ Registers a webhook endpoint and returns it with its first signing secret, shown
55365
55928
  openWorldHint: false,
55366
55929
  readOnlyHint: false
55367
55930
  },
55368
- args: args19,
55931
+ args: args22,
55369
55932
  tool: async (client, args, ctx) => {
55370
55933
  const [result] = await webhookEndpointsCreate(client, args.request, { fetchOptions: { signal: ctx.mcpReq.signal } }).$inspect();
55371
55934
  if (!result.ok) {
@@ -55415,9 +55978,9 @@ var init_deletewebhookendpointop = __esm(() => {
55415
55978
 
55416
55979
  // src/funcs/webhookEndpointsDelete.ts
55417
55980
  function webhookEndpointsDelete(client$, request, options) {
55418
- return new APIPromise($do20(client$, request, options));
55981
+ return new APIPromise($do23(client$, request, options));
55419
55982
  }
55420
- async function $do20(client$, request, options) {
55983
+ async function $do23(client$, request, options) {
55421
55984
  const parsed$ = safeParse2(request, (value$) => DeleteWebhookEndpointRequest$zodSchema.parse(value$), "Input validation failed");
55422
55985
  if (!parsed$.ok) {
55423
55986
  return [parsed$, { status: "invalid" }];
@@ -55499,12 +56062,12 @@ var init_webhookEndpointsDelete = __esm(() => {
55499
56062
  });
55500
56063
 
55501
56064
  // src/mcp-server/tools/webhookEndpointsDelete.ts
55502
- var args20, tool$webhookEndpointsDelete;
56065
+ var args23, tool$webhookEndpointsDelete;
55503
56066
  var init_webhookEndpointsDelete2 = __esm(() => {
55504
56067
  init_webhookEndpointsDelete();
55505
56068
  init_deletewebhookendpointop();
55506
56069
  init_tools();
55507
- args20 = {
56070
+ args23 = {
55508
56071
  request: DeleteWebhookEndpointRequest$zodSchema
55509
56072
  };
55510
56073
  tool$webhookEndpointsDelete = {
@@ -55519,7 +56082,7 @@ Deletes the endpoint and its signing keys. Deliveries still queued for it are dr
55519
56082
  openWorldHint: false,
55520
56083
  readOnlyHint: false
55521
56084
  },
55522
- args: args20,
56085
+ args: args23,
55523
56086
  tool: async (client, args, ctx) => {
55524
56087
  const [result] = await webhookEndpointsDelete(client, args.request, { fetchOptions: { signal: ctx.mcpReq.signal } }).$inspect();
55525
56088
  if (!result.ok) {
@@ -55535,9 +56098,9 @@ Deletes the endpoint and its signing keys. Deliveries still queued for it are dr
55535
56098
 
55536
56099
  // src/funcs/webhookEndpointsList.ts
55537
56100
  function webhookEndpointsList(client$, options) {
55538
- return new APIPromise($do21(client$, options));
56101
+ return new APIPromise($do24(client$, options));
55539
56102
  }
55540
- async function $do21(client$, options) {
56103
+ async function $do24(client$, options) {
55541
56104
  const path$ = pathToFunc("/v1/webhooks")();
55542
56105
  const headers$ = new Headers(compactMap({
55543
56106
  Accept: options?.acceptHeaderOverride || "application/json;q=1, application/problem+json;q=0"
@@ -55729,9 +56292,9 @@ var init_listwebhookdeliveriesop = __esm(() => {
55729
56292
 
55730
56293
  // src/funcs/webhookEndpointsListDeliveries.ts
55731
56294
  function webhookEndpointsListDeliveries(client$, request, options) {
55732
- return new APIPromise($do22(client$, request, options));
56295
+ return new APIPromise($do25(client$, request, options));
55733
56296
  }
55734
- async function $do22(client$, request, options) {
56297
+ async function $do25(client$, request, options) {
55735
56298
  const parsed$ = safeParse2(request, (value$) => ListWebhookDeliveriesRequest$zodSchema.parse(value$), "Input validation failed");
55736
56299
  if (!parsed$.ok) {
55737
56300
  return [parsed$, { status: "invalid" }];
@@ -55818,12 +56381,12 @@ var init_webhookEndpointsListDeliveries = __esm(() => {
55818
56381
  });
55819
56382
 
55820
56383
  // src/mcp-server/tools/webhookEndpointsListDeliveries.ts
55821
- var args21, tool$webhookEndpointsListDeliveries;
56384
+ var args24, tool$webhookEndpointsListDeliveries;
55822
56385
  var init_webhookEndpointsListDeliveries2 = __esm(() => {
55823
56386
  init_webhookEndpointsListDeliveries();
55824
56387
  init_listwebhookdeliveriesop();
55825
56388
  init_tools();
55826
- args21 = {
56389
+ args24 = {
55827
56390
  request: ListWebhookDeliveriesRequest$zodSchema
55828
56391
  };
55829
56392
  tool$webhookEndpointsListDeliveries = {
@@ -55838,7 +56401,7 @@ Every POST the endpoint received, newest first: the event id and type, which att
55838
56401
  openWorldHint: false,
55839
56402
  readOnlyHint: true
55840
56403
  },
55841
- args: args21,
56404
+ args: args24,
55842
56405
  tool: async (client, args, ctx) => {
55843
56406
  const [result] = await webhookEndpointsListDeliveries(client, args.request, { fetchOptions: { signal: ctx.mcpReq.signal } }).$inspect();
55844
56407
  if (!result.ok) {
@@ -55912,9 +56475,9 @@ var init_replaywebhookdeliveryop = __esm(() => {
55912
56475
 
55913
56476
  // src/funcs/webhookEndpointsReplayDelivery.ts
55914
56477
  function webhookEndpointsReplayDelivery(client$, request, options) {
55915
- return new APIPromise($do23(client$, request, options));
56478
+ return new APIPromise($do26(client$, request, options));
55916
56479
  }
55917
- async function $do23(client$, request, options) {
56480
+ async function $do26(client$, request, options) {
55918
56481
  const parsed$ = safeParse2(request, (value$) => ReplayWebhookDeliveryRequest$zodSchema.parse(value$), "Input validation failed");
55919
56482
  if (!parsed$.ok) {
55920
56483
  return [parsed$, { status: "invalid" }];
@@ -55988,12 +56551,12 @@ var init_webhookEndpointsReplayDelivery = __esm(() => {
55988
56551
  });
55989
56552
 
55990
56553
  // src/mcp-server/tools/webhookEndpointsReplayDelivery.ts
55991
- var args22, tool$webhookEndpointsReplayDelivery;
56554
+ var args25, tool$webhookEndpointsReplayDelivery;
55992
56555
  var init_webhookEndpointsReplayDelivery2 = __esm(() => {
55993
56556
  init_webhookEndpointsReplayDelivery();
55994
56557
  init_replaywebhookdeliveryop();
55995
56558
  init_tools();
55996
- args22 = {
56559
+ args25 = {
55997
56560
  request: ReplayWebhookDeliveryRequest$zodSchema
55998
56561
  };
55999
56562
  tool$webhookEndpointsReplayDelivery = {
@@ -56008,7 +56571,7 @@ Queues the event for the endpoint again: the same event id and body it received,
56008
56571
  openWorldHint: false,
56009
56572
  readOnlyHint: false
56010
56573
  },
56011
- args: args22,
56574
+ args: args25,
56012
56575
  tool: async (client, args, ctx) => {
56013
56576
  const [result] = await webhookEndpointsReplayDelivery(client, args.request, { fetchOptions: { signal: ctx.mcpReq.signal } }).$inspect();
56014
56577
  if (!result.ok) {
@@ -56094,9 +56657,9 @@ var init_rotatewebhooksigningkeyop = __esm(() => {
56094
56657
 
56095
56658
  // src/funcs/webhookEndpointsRotateSigningKey.ts
56096
56659
  function webhookEndpointsRotateSigningKey(client$, request, options) {
56097
- return new APIPromise($do24(client$, request, options));
56660
+ return new APIPromise($do27(client$, request, options));
56098
56661
  }
56099
- async function $do24(client$, request, options) {
56662
+ async function $do27(client$, request, options) {
56100
56663
  const parsed$ = safeParse2(request, (value$) => RotateWebhookSigningKeyRequest$zodSchema.parse(value$), "Input validation failed");
56101
56664
  if (!parsed$.ok) {
56102
56665
  return [parsed$, { status: "invalid" }];
@@ -56166,12 +56729,12 @@ var init_webhookEndpointsRotateSigningKey = __esm(() => {
56166
56729
  });
56167
56730
 
56168
56731
  // src/mcp-server/tools/webhookEndpointsRotateSigningKey.ts
56169
- var args23, tool$webhookEndpointsRotateSigningKey;
56732
+ var args26, tool$webhookEndpointsRotateSigningKey;
56170
56733
  var init_webhookEndpointsRotateSigningKey2 = __esm(() => {
56171
56734
  init_webhookEndpointsRotateSigningKey();
56172
56735
  init_rotatewebhooksigningkeyop();
56173
56736
  init_tools();
56174
- args23 = {
56737
+ args26 = {
56175
56738
  request: RotateWebhookSigningKeyRequest$zodSchema
56176
56739
  };
56177
56740
  tool$webhookEndpointsRotateSigningKey = {
@@ -56186,7 +56749,7 @@ Issues a new signing key for the endpoint and returns its secret once. Every del
56186
56749
  openWorldHint: false,
56187
56750
  readOnlyHint: false
56188
56751
  },
56189
- args: args23,
56752
+ args: args26,
56190
56753
  tool: async (client, args, ctx) => {
56191
56754
  const [result] = await webhookEndpointsRotateSigningKey(client, args.request, { fetchOptions: { signal: ctx.mcpReq.signal } }).$inspect();
56192
56755
  if (!result.ok) {
@@ -56287,9 +56850,9 @@ var init_sendwebhooktesteventop = __esm(() => {
56287
56850
 
56288
56851
  // src/funcs/webhookEndpointsSendTestEvent.ts
56289
56852
  function webhookEndpointsSendTestEvent(client$, request, options) {
56290
- return new APIPromise($do25(client$, request, options));
56853
+ return new APIPromise($do28(client$, request, options));
56291
56854
  }
56292
- async function $do25(client$, request, options) {
56855
+ async function $do28(client$, request, options) {
56293
56856
  const parsed$ = safeParse2(request, (value$) => SendWebhookTestEventRequest$zodSchema.parse(value$), "Input validation failed");
56294
56857
  if (!parsed$.ok) {
56295
56858
  return [parsed$, { status: "invalid" }];
@@ -56359,12 +56922,12 @@ var init_webhookEndpointsSendTestEvent = __esm(() => {
56359
56922
  });
56360
56923
 
56361
56924
  // src/mcp-server/tools/webhookEndpointsSendTestEvent.ts
56362
- var args24, tool$webhookEndpointsSendTestEvent;
56925
+ var args27, tool$webhookEndpointsSendTestEvent;
56363
56926
  var init_webhookEndpointsSendTestEvent2 = __esm(() => {
56364
56927
  init_webhookEndpointsSendTestEvent();
56365
56928
  init_sendwebhooktesteventop();
56366
56929
  init_tools();
56367
- args24 = {
56930
+ args27 = {
56368
56931
  request: SendWebhookTestEventRequest$zodSchema
56369
56932
  };
56370
56933
  tool$webhookEndpointsSendTestEvent = {
@@ -56379,7 +56942,7 @@ endpoint.verification sends a signed challenge now and answers whether the endpo
56379
56942
  openWorldHint: false,
56380
56943
  readOnlyHint: false
56381
56944
  },
56382
- args: args24,
56945
+ args: args27,
56383
56946
  tool: async (client, args, ctx) => {
56384
56947
  const [result] = await webhookEndpointsSendTestEvent(client, args.request, { fetchOptions: { signal: ctx.mcpReq.signal } }).$inspect();
56385
56948
  if (!result.ok) {
@@ -56397,7 +56960,7 @@ endpoint.verification sends a signed challenge now and answers whether the endpo
56397
56960
  function createMCPServer(deps) {
56398
56961
  const server = new McpServer({
56399
56962
  name: "NoResponse",
56400
- version: "0.6.9"
56963
+ version: "0.6.10"
56401
56964
  });
56402
56965
  const getClient = deps.getSDK || (() => new NoResponseCore({
56403
56966
  security: deps.security,
@@ -56441,6 +57004,9 @@ function createMCPServer(deps) {
56441
57004
  tool(tool$webhookEndpointsReplayDelivery);
56442
57005
  tool(tool$settingsGet);
56443
57006
  tool(tool$settingsUpdate);
57007
+ tool(tool$listsList);
57008
+ tool(tool$listsCreate);
57009
+ tool(tool$listsDelete);
56444
57010
  if (deps.dynamic) {
56445
57011
  registerDynamicTools(deps.logger, server, getClient, toolMap, scopes);
56446
57012
  }
@@ -56470,6 +57036,9 @@ var init_server = __esm(() => {
56470
57036
  init_integrationsRotate2();
56471
57037
  init_keysList2();
56472
57038
  init_keysRevoke2();
57039
+ init_listsCreate2();
57040
+ init_listsDelete2();
57041
+ init_listsList2();
56473
57042
  init_settingsGet2();
56474
57043
  init_settingsUpdate2();
56475
57044
  init_webhookEndpointsCreate2();
@@ -56634,6 +57203,24 @@ Reads the settings of the signing key's environment: retention in days; per flow
56634
57203
  description: `Change an environment's settings.
56635
57204
 
56636
57205
  Changes only what the body names, in one transaction: retention_days, refused_sources, and per flow step_up, review, block (null turns blocking off), default_depth, admission, hold_seconds, on_expiry, or inherits_account_creation to return login or purchase to account_creation's thresholds. After the change each flow keeps 0 < step_up < review <= 100 and block off or review <= block <= 100; a change that breaks it answers 400 naming the flow. A policy change is one new policy_version with the signing key's prefix as updated_by, and every change is recorded in the workspace's audit log with the key as its actor. Requires the management scope; the other environment answers 404 not_found. A change reaches assessments within a minute.`
57206
+ },
57207
+ {
57208
+ name: "list_list_entries",
57209
+ description: `List an environment's list entries.
57210
+
57211
+ Lists every entry of the signing key's environment's list, newest first: each an email or an email domain that decides the accounts it matches, block or allow, whatever their score. Requires the management scope; the other environment answers 404 not_found. Read-only and safe to retry.`
57212
+ },
57213
+ {
57214
+ name: "create_list_entry",
57215
+ description: `Add an entry to an environment's list.
57216
+
57217
+ Adds an exact email (kind email) or an email domain (kind email_domain) to the signing key's environment's list with the action block or allow, and answers the entry with its value in canonical form. An account matches when one of its assessments sent the email, or an email of the domain: a block entry decides block for every flow and an allow entry allow, block winning when both match, and the account's risk carries list_match with the entry's id while its score is unchanged. Every matching account is re-decided at once and sends account.risk_changed when its decision changes. A value already on the list answers 409 list_entry_exists; a full list, or an entry matching more than 5,000 accounts, 409 list_limit_reached. Requires the management scope; the other environment answers 404 not_found.`
57218
+ },
57219
+ {
57220
+ name: "delete_list_entry",
57221
+ description: `Remove an entry from an environment's list.
57222
+
57223
+ Removes an entry from the signing key's environment's list and re-decides every account it matched, each sending account.risk_changed when its decision changes. An unknown or already removed entry answers 404 not_found. Requires the management scope.`
56637
57224
  },
56638
57225
  {
56639
57226
  name: "wait_for_assessment",
@@ -65134,7 +65721,7 @@ var routes = buildRouteMap({
65134
65721
  var app = buildApplication(routes, {
65135
65722
  name: "mcp",
65136
65723
  versionInfo: {
65137
- currentVersion: "0.6.9"
65724
+ currentVersion: "0.6.10"
65138
65725
  }
65139
65726
  });
65140
65727
  run(app, process3.argv.slice(2), buildContext(process3));
@@ -65142,5 +65729,5 @@ export {
65142
65729
  app
65143
65730
  };
65144
65731
 
65145
- //# debugId=26CD1D1E48E0776D64756E2164756E21
65732
+ //# debugId=E5F1D65B84B2B7DC64756E2164756E21
65146
65733
  //# sourceMappingURL=mcp-server.js.map