@noresponse/mcp 0.7.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.9.0
4
+
5
+ * `SDK.assessments.aggregate()`:
6
+ * `request.time_zone` **Added**
7
+ * `response.time_zone` **Added**
8
+
9
+ ## 0.8.0
10
+
11
+ * `SDK.assessments.search()`:
12
+ * `request` **Changed**
13
+ * `response` **Changed**
14
+
3
15
  ## 0.7.0
4
16
 
5
17
  * `SDK.usage.get()`: `response.console_lookups` **Added**
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.7.0",
48139
+ sdkVersion: "0.9.0",
48140
48140
  genVersion: "internal",
48141
- userAgent: "noresponse-sdk/mcp-typescript 0.7.0 internal 1 @noresponse/mcp"
48141
+ userAgent: "noresponse-sdk/mcp-typescript 0.9.0 internal 1 @noresponse/mcp"
48142
48142
  };
48143
48143
  });
48144
48144
 
@@ -54880,7 +54880,7 @@ var init_bucket = __esm(() => {
54880
54880
  "hour",
54881
54881
  "day",
54882
54882
  "week"
54883
- ]).describe("The period each count covers, in UTC; a week starts on Monday.");
54883
+ ]).describe("The period each count covers: an hour, or a day or a week (from Monday) in time_zone. Hour buckets are whole UTC hours in any time zone.");
54884
54884
  });
54885
54885
 
54886
54886
  // src/models/decision.ts
@@ -54942,7 +54942,7 @@ var init_assessmentaggregaterequest = __esm(() => {
54942
54942
  AssessmentAggregateRequest$zodSchema = object({
54943
54943
  asn: int().optional(),
54944
54944
  band: Band$zodSchema.optional(),
54945
- bucket: Bucket$zodSchema.describe("The period each count covers, in UTC; a week starts on Monday."),
54945
+ bucket: Bucket$zodSchema.describe("The period each count covers: an hour, or a day or a week (from Monday) in time_zone. Hour buckets are whole UTC hours in any time zone."),
54946
54946
  country: string2().optional(),
54947
54947
  decision: Decision$zodSchema.optional().describe("An assessment's own decision: block when its stored risk.block is true, otherwise its recommendation. It is not the account's decision or held-admission state."),
54948
54948
  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."),
@@ -54960,8 +54960,9 @@ var init_assessmentaggregaterequest = __esm(() => {
54960
54960
  score_max: int().optional().describe("Inclusive upper score bound, at least score_min when both are supplied."),
54961
54961
  score_min: int().optional().describe("Inclusive lower score bound. Pending answers without a score do not match."),
54962
54962
  status: Status$zodSchema.optional().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."),
54963
+ time_zone: string2().default("UTC").describe("The IANA time zone whose local midnight starts each day and week bucket, such as Europe/London or Asia/Kolkata; daylight saving changes make those days 23 or 25 hours long. A name the zone database does not know is refused (400 invalid_request naming time_zone). Day and week buckets in a zone other than UTC cover at most 92 days (400 invalid_request naming to); a year of them reads too many hourly counts to answer in time. Hour buckets stay whole UTC hours. Bucket starts, from and to stay instants. With the default population, a zone whose local midnight falls inside a UTC hour (a half-hour offset such as Asia/Kolkata) is refused for day and week buckets, as those counts are kept by the hour; retained_first_answers counts it."),
54963
54964
  to: string2().describe("The end, excluded: the start of the bucket after the last.")
54964
- }).describe("Count this environment's assessments created in [from,to) by bucket, from counts kept as each assessment is first answered, not by scanning assessments. Each assessment counts once, by its first answer (the answer served when it was first answered); later revisions and late results do not count it again, and late_flips counts its later account decision changes. from and to start a bucket (an hour, a UTC day, or a week from Monday 00:00 UTC), cover at most 366 days (31 for hour buckets) and from is inside the retention period. The filters are POST /v1/assessments/search's and describe the first answer, so a cell drills down to search with the same filters, revision first and the cell's bucket as from and to. Counts hold no identifier and stay when an assessment or account is deleted or erased; they expire with retention and go with the workspace. Reasons are counted by code and impact band, not by weight. No Idempotency-Key. Select retained_first_answers for exact facet filters and pairs over retained detail. This mode supports count, score_histogram and score_outcomes, and refuses late_flips. It has a 31-day and 100000-record work budget.");
54965
+ }).describe("Count this environment's assessments created in [from,to) by bucket, from counts kept as each assessment is first answered, not by scanning assessments. Each assessment counts once, by its first answer (the answer served when it was first answered); later revisions and late results do not count it again, and late_flips counts its later account decision changes. from and to start a bucket (an hour, or a day or a week from Monday that starts at midnight in time_zone, UTC by default), cover at most 366 days (31 for hour buckets, 92 for day and week buckets in a time_zone other than UTC) and from is inside the retention period. The filters are POST /v1/assessments/search's and describe the first answer, so a cell drills down to search with the same filters, revision first and the cell's bucket as from and to. Counts hold no identifier and stay when an assessment or account is deleted or erased; they expire with retention and go with the workspace. Reasons are counted by code and impact band, not by weight. No Idempotency-Key. Select retained_first_answers for exact facet filters and pairs over retained detail. This mode supports count, score_histogram and score_outcomes, and refuses late_flips. It has a 31-day and 100000-record work budget.");
54965
54966
  });
54966
54967
 
54967
54968
  // src/funcs/assessmentsAggregate.ts
@@ -55057,7 +55058,7 @@ var init_assessmentsAggregate2 = __esm(() => {
55057
55058
  name: "aggregate_assessments",
55058
55059
  description: `Count assessments by time, decision and reason
55059
55060
 
55060
- Count this environment's assessments created in [from,to) by hour, day or week, grouped by up to two of decision, flow, recommendation, band, reason, lane, country, asn and list_match. Each assessment counts once, by its first answer; late results do not count it again and appear in late_flips. Optional metrics add a score histogram per flow, that histogram by the latest reported outcome, and late account decision changes. from and to start a bucket and cover at most 366 days (31 for hour buckets) inside the retention period. The filters are search's and describe the first answer: send them to search with revision first to list a cell's assessments. Counts hold no identifier, stay when an assessment or account is deleted, and report reasons by code and impact band. No Idempotency-Key.`,
55061
+ Count this environment's assessments created in [from,to) by UTC hour, or by day or week from local midnight in time_zone (an IANA name, UTC by default; at most 92 days in a zone other than UTC), grouped by up to two of decision, flow, recommendation, band, reason, lane, country, asn and list_match. Each assessment counts once, by its first answer; late results do not count it again and appear in late_flips. Optional metrics add a score histogram per flow, that histogram by the latest reported outcome, and late account decision changes. from and to start a bucket and cover at most 366 days (31 for hour buckets) inside the retention period. The filters are search's and describe the first answer: send them to search with revision first to list a cell's assessments. Counts hold no identifier, stay when an assessment or account is deleted, and report reasons by code and impact band. No Idempotency-Key.`,
55061
55062
  annotations: {
55062
55063
  title: "Count assessments by time, decision and reason",
55063
55064
  destructiveHint: false,
@@ -56270,9 +56271,11 @@ var init_assessmentsearchrequest = __esm(() => {
56270
56271
  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."),
56271
56272
  asn: int().optional(),
56272
56273
  band: Band$zodSchema.optional(),
56274
+ changed: boolean2().optional().describe("true returns only assessments whose latest stored revision's decision differs from their first answer's decision (see decision); false only the others. An assessment whose first answer or latest revision has no decision yet is not changed. Cannot be combined with revision first."),
56273
56275
  country: string2().optional(),
56274
56276
  cursor: string2().optional().describe("Opaque, expiring cursor bound to this environment, operation and every filter. Keep the filters unchanged."),
56275
56277
  decision: Decision$zodSchema.optional().describe("An assessment's own decision: block when its stored risk.block is true, otherwise its recommendation. It is not the account's decision or held-admission state."),
56278
+ 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."),
56276
56279
  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."),
56277
56280
  from: string2(),
56278
56281
  impact: Impact$zodSchema.optional().describe("The selected reason's served impact band. Requires reason."),
@@ -56383,7 +56386,7 @@ var init_assessmentsSearch2 = __esm(() => {
56383
56386
  name: "search_assessments",
56384
56387
  description: `Search assessments across this environment
56385
56388
 
56386
- Search retained assessments created in [from,to), over at most 366 days. Filters use each assessment decision, rather than the current account decision. Results can change between pages. Keep the assessment version to retrieve the exact decision later. Each item's detail.identifiers holds the identifiers its assessment was sent, exactly as received. This read does not require an idempotency key.`,
56389
+ Search retained assessments created in [from,to), over at most 366 days. Filters use each assessment decision, rather than the current account decision. Results can change between pages. Keep the assessment version to retrieve the exact decision later. Each item's detail.identifiers holds the identifiers its assessment was sent, exactly as received, and first_decision holds the decision of its first answer. email finds every assessment of the accounts that sent a mailbox, matched as lists match it. changed keeps the assessments a later revision changed. total counts every match, exactly up to 10000. This read does not require an idempotency key.`,
56387
56390
  annotations: {
56388
56391
  title: "Search assessments in this environment",
56389
56392
  destructiveHint: false,
@@ -69557,7 +69560,7 @@ endpoint.verification sends a signed challenge now and answers whether the endpo
69557
69560
  function createMCPServer(deps) {
69558
69561
  const server = new McpServer({
69559
69562
  name: "NoResponse",
69560
- version: "0.7.0"
69563
+ version: "0.9.0"
69561
69564
  });
69562
69565
  const getClient = deps.getSDK || (() => new NoResponseCore({
69563
69566
  security: deps.security,
@@ -69815,13 +69818,13 @@ History is a POST with account_id in the body so an account identifier stays out
69815
69818
  name: "aggregate_assessments",
69816
69819
  description: `Count assessments by time, decision and reason
69817
69820
 
69818
- Count this environment's assessments created in [from,to) by hour, day or week, grouped by up to two of decision, flow, recommendation, band, reason, lane, country, asn and list_match. Each assessment counts once, by its first answer; late results do not count it again and appear in late_flips. Optional metrics add a score histogram per flow, that histogram by the latest reported outcome, and late account decision changes. from and to start a bucket and cover at most 366 days (31 for hour buckets) inside the retention period. The filters are search's and describe the first answer: send them to search with revision first to list a cell's assessments. Counts hold no identifier, stay when an assessment or account is deleted, and report reasons by code and impact band. No Idempotency-Key.`
69821
+ Count this environment's assessments created in [from,to) by UTC hour, or by day or week from local midnight in time_zone (an IANA name, UTC by default; at most 92 days in a zone other than UTC), grouped by up to two of decision, flow, recommendation, band, reason, lane, country, asn and list_match. Each assessment counts once, by its first answer; late results do not count it again and appear in late_flips. Optional metrics add a score histogram per flow, that histogram by the latest reported outcome, and late account decision changes. from and to start a bucket and cover at most 366 days (31 for hour buckets) inside the retention period. The filters are search's and describe the first answer: send them to search with revision first to list a cell's assessments. Counts hold no identifier, stay when an assessment or account is deleted, and report reasons by code and impact band. No Idempotency-Key.`
69819
69822
  },
69820
69823
  {
69821
69824
  name: "search_assessments",
69822
69825
  description: `Search assessments across this environment
69823
69826
 
69824
- Search retained assessments created in [from,to), over at most 366 days. Filters use each assessment decision, rather than the current account decision. Results can change between pages. Keep the assessment version to retrieve the exact decision later. Each item's detail.identifiers holds the identifiers its assessment was sent, exactly as received. This read does not require an idempotency key.`
69827
+ Search retained assessments created in [from,to), over at most 366 days. Filters use each assessment decision, rather than the current account decision. Results can change between pages. Keep the assessment version to retrieve the exact decision later. Each item's detail.identifiers holds the identifiers its assessment was sent, exactly as received, and first_decision holds the decision of its first answer. email finds every assessment of the accounts that sent a mailbox, matched as lists match it. changed keeps the assessments a later revision changed. total counts every match, exactly up to 10000. This read does not require an idempotency key.`
69825
69828
  },
69826
69829
  {
69827
69830
  name: "get_assessment_version",
@@ -78838,7 +78841,7 @@ var routes = buildRouteMap({
78838
78841
  var app = buildApplication(routes, {
78839
78842
  name: "mcp",
78840
78843
  versionInfo: {
78841
- currentVersion: "0.7.0"
78844
+ currentVersion: "0.9.0"
78842
78845
  }
78843
78846
  });
78844
78847
  run(app, process3.argv.slice(2), buildContext(process3));
@@ -78846,5 +78849,5 @@ export {
78846
78849
  app
78847
78850
  };
78848
78851
 
78849
- //# debugId=B1B8A34B2355226564756E2164756E21
78852
+ //# debugId=A28E4380E8ABFAE664756E2164756E21
78850
78853
  //# sourceMappingURL=mcp-server.js.map