@zyphr-dev/node-sdk 0.1.48 → 0.1.49

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/dist/index.cjs CHANGED
@@ -1013,8 +1013,10 @@ __export(index_exports, {
1013
1013
  PaginationMetaFromJSONTyped: () => PaginationMetaFromJSONTyped,
1014
1014
  PaginationMetaToJSON: () => PaginationMetaToJSON,
1015
1015
  PaginationMetaToJSONTyped: () => PaginationMetaToJSONTyped,
1016
- PasswordRequirementsFromJSON: () => PasswordRequirementsFromJSON,
1017
- PasswordRequirementsFromJSONTyped: () => PasswordRequirementsFromJSONTyped,
1016
+ PasswordPolicyFromJSON: () => PasswordPolicyFromJSON,
1017
+ PasswordPolicyFromJSONTyped: () => PasswordPolicyFromJSONTyped,
1018
+ PasswordPolicyToJSON: () => PasswordPolicyToJSON,
1019
+ PasswordPolicyToJSONTyped: () => PasswordPolicyToJSONTyped,
1018
1020
  PasswordRequirementsResponseDataFromJSON: () => PasswordRequirementsResponseDataFromJSON,
1019
1021
  PasswordRequirementsResponseDataFromJSONTyped: () => PasswordRequirementsResponseDataFromJSONTyped,
1020
1022
  PasswordRequirementsResponseDataToJSON: () => PasswordRequirementsResponseDataToJSON,
@@ -1023,8 +1025,19 @@ __export(index_exports, {
1023
1025
  PasswordRequirementsResponseFromJSONTyped: () => PasswordRequirementsResponseFromJSONTyped,
1024
1026
  PasswordRequirementsResponseToJSON: () => PasswordRequirementsResponseToJSON,
1025
1027
  PasswordRequirementsResponseToJSONTyped: () => PasswordRequirementsResponseToJSONTyped,
1026
- PasswordRequirementsToJSON: () => PasswordRequirementsToJSON,
1027
- PasswordRequirementsToJSONTyped: () => PasswordRequirementsToJSONTyped,
1028
+ PasswordStrengthFromJSON: () => PasswordStrengthFromJSON,
1029
+ PasswordStrengthFromJSONTyped: () => PasswordStrengthFromJSONTyped,
1030
+ PasswordStrengthLabelEnum: () => PasswordStrengthLabelEnum,
1031
+ PasswordStrengthRequestFromJSON: () => PasswordStrengthRequestFromJSON,
1032
+ PasswordStrengthRequestFromJSONTyped: () => PasswordStrengthRequestFromJSONTyped,
1033
+ PasswordStrengthRequestToJSON: () => PasswordStrengthRequestToJSON,
1034
+ PasswordStrengthRequestToJSONTyped: () => PasswordStrengthRequestToJSONTyped,
1035
+ PasswordStrengthResponseFromJSON: () => PasswordStrengthResponseFromJSON,
1036
+ PasswordStrengthResponseFromJSONTyped: () => PasswordStrengthResponseFromJSONTyped,
1037
+ PasswordStrengthResponseToJSON: () => PasswordStrengthResponseToJSON,
1038
+ PasswordStrengthResponseToJSONTyped: () => PasswordStrengthResponseToJSONTyped,
1039
+ PasswordStrengthToJSON: () => PasswordStrengthToJSON,
1040
+ PasswordStrengthToJSONTyped: () => PasswordStrengthToJSONTyped,
1028
1041
  PayloadTooLargeErrorErrorCodeEnum: () => PayloadTooLargeErrorErrorCodeEnum,
1029
1042
  PayloadTooLargeErrorErrorDetailsFromJSON: () => PayloadTooLargeErrorErrorDetailsFromJSON,
1030
1043
  PayloadTooLargeErrorErrorDetailsFromJSONTyped: () => PayloadTooLargeErrorErrorDetailsFromJSONTyped,
@@ -2389,9 +2402,12 @@ __export(index_exports, {
2389
2402
  instanceOfOrganizationMembershipWithUser: () => instanceOfOrganizationMembershipWithUser,
2390
2403
  instanceOfOrganizationResponse: () => instanceOfOrganizationResponse,
2391
2404
  instanceOfPaginationMeta: () => instanceOfPaginationMeta,
2392
- instanceOfPasswordRequirements: () => instanceOfPasswordRequirements,
2405
+ instanceOfPasswordPolicy: () => instanceOfPasswordPolicy,
2393
2406
  instanceOfPasswordRequirementsResponse: () => instanceOfPasswordRequirementsResponse,
2394
2407
  instanceOfPasswordRequirementsResponseData: () => instanceOfPasswordRequirementsResponseData,
2408
+ instanceOfPasswordStrength: () => instanceOfPasswordStrength,
2409
+ instanceOfPasswordStrengthRequest: () => instanceOfPasswordStrengthRequest,
2410
+ instanceOfPasswordStrengthResponse: () => instanceOfPasswordStrengthResponse,
2395
2411
  instanceOfPayloadTooLargeError: () => instanceOfPayloadTooLargeError,
2396
2412
  instanceOfPayloadTooLargeErrorError: () => instanceOfPayloadTooLargeErrorError,
2397
2413
  instanceOfPayloadTooLargeErrorErrorDetails: () => instanceOfPayloadTooLargeErrorErrorDetails,
@@ -11230,30 +11246,38 @@ function OrganizationResponseToJSONTyped(value, ignoreDiscriminator = false) {
11230
11246
  };
11231
11247
  }
11232
11248
 
11233
- // src/src/models/PasswordRequirements.ts
11234
- function instanceOfPasswordRequirements(value) {
11249
+ // src/src/models/PasswordPolicy.ts
11250
+ function instanceOfPasswordPolicy(value) {
11251
+ if (!("minLength" in value) || value["minLength"] === void 0) return false;
11252
+ if (!("maxLength" in value) || value["maxLength"] === void 0) return false;
11253
+ if (!("requireUppercase" in value) || value["requireUppercase"] === void 0) return false;
11254
+ if (!("requireLowercase" in value) || value["requireLowercase"] === void 0) return false;
11255
+ if (!("requireNumbers" in value) || value["requireNumbers"] === void 0) return false;
11256
+ if (!("requireSpecial" in value) || value["requireSpecial"] === void 0) return false;
11257
+ if (!("disallowCommon" in value) || value["disallowCommon"] === void 0) return false;
11235
11258
  return true;
11236
11259
  }
11237
- function PasswordRequirementsFromJSON(json) {
11238
- return PasswordRequirementsFromJSONTyped(json, false);
11260
+ function PasswordPolicyFromJSON(json) {
11261
+ return PasswordPolicyFromJSONTyped(json, false);
11239
11262
  }
11240
- function PasswordRequirementsFromJSONTyped(json, ignoreDiscriminator) {
11263
+ function PasswordPolicyFromJSONTyped(json, ignoreDiscriminator) {
11241
11264
  if (json == null) {
11242
11265
  return json;
11243
11266
  }
11244
11267
  return {
11245
- "minLength": json["min_length"] == null ? void 0 : json["min_length"],
11246
- "maxLength": json["max_length"] == null ? void 0 : json["max_length"],
11247
- "requireUppercase": json["require_uppercase"] == null ? void 0 : json["require_uppercase"],
11248
- "requireLowercase": json["require_lowercase"] == null ? void 0 : json["require_lowercase"],
11249
- "requireNumbers": json["require_numbers"] == null ? void 0 : json["require_numbers"],
11250
- "requireSpecial": json["require_special"] == null ? void 0 : json["require_special"]
11268
+ "minLength": json["min_length"],
11269
+ "maxLength": json["max_length"],
11270
+ "requireUppercase": json["require_uppercase"],
11271
+ "requireLowercase": json["require_lowercase"],
11272
+ "requireNumbers": json["require_numbers"],
11273
+ "requireSpecial": json["require_special"],
11274
+ "disallowCommon": json["disallow_common"]
11251
11275
  };
11252
11276
  }
11253
- function PasswordRequirementsToJSON(json) {
11254
- return PasswordRequirementsToJSONTyped(json, false);
11277
+ function PasswordPolicyToJSON(json) {
11278
+ return PasswordPolicyToJSONTyped(json, false);
11255
11279
  }
11256
- function PasswordRequirementsToJSONTyped(value, ignoreDiscriminator = false) {
11280
+ function PasswordPolicyToJSONTyped(value, ignoreDiscriminator = false) {
11257
11281
  if (value == null) {
11258
11282
  return value;
11259
11283
  }
@@ -11263,12 +11287,15 @@ function PasswordRequirementsToJSONTyped(value, ignoreDiscriminator = false) {
11263
11287
  "require_uppercase": value["requireUppercase"],
11264
11288
  "require_lowercase": value["requireLowercase"],
11265
11289
  "require_numbers": value["requireNumbers"],
11266
- "require_special": value["requireSpecial"]
11290
+ "require_special": value["requireSpecial"],
11291
+ "disallow_common": value["disallowCommon"]
11267
11292
  };
11268
11293
  }
11269
11294
 
11270
11295
  // src/src/models/PasswordRequirementsResponseData.ts
11271
11296
  function instanceOfPasswordRequirementsResponseData(value) {
11297
+ if (!("policy" in value) || value["policy"] === void 0) return false;
11298
+ if (!("requirements" in value) || value["requirements"] === void 0) return false;
11272
11299
  return true;
11273
11300
  }
11274
11301
  function PasswordRequirementsResponseDataFromJSON(json) {
@@ -11279,7 +11306,8 @@ function PasswordRequirementsResponseDataFromJSONTyped(json, ignoreDiscriminator
11279
11306
  return json;
11280
11307
  }
11281
11308
  return {
11282
- "requirements": json["requirements"] == null ? void 0 : PasswordRequirementsFromJSON(json["requirements"])
11309
+ "policy": PasswordPolicyFromJSON(json["policy"]),
11310
+ "requirements": json["requirements"]
11283
11311
  };
11284
11312
  }
11285
11313
  function PasswordRequirementsResponseDataToJSON(json) {
@@ -11290,7 +11318,8 @@ function PasswordRequirementsResponseDataToJSONTyped(value, ignoreDiscriminator
11290
11318
  return value;
11291
11319
  }
11292
11320
  return {
11293
- "requirements": PasswordRequirementsToJSON(value["requirements"])
11321
+ "policy": PasswordPolicyToJSON(value["policy"]),
11322
+ "requirements": value["requirements"]
11294
11323
  };
11295
11324
  }
11296
11325
 
@@ -11323,6 +11352,108 @@ function PasswordRequirementsResponseToJSONTyped(value, ignoreDiscriminator = fa
11323
11352
  };
11324
11353
  }
11325
11354
 
11355
+ // src/src/models/PasswordStrength.ts
11356
+ var PasswordStrengthLabelEnum = {
11357
+ WEAK: "weak",
11358
+ FAIR: "fair",
11359
+ GOOD: "good",
11360
+ STRONG: "strong"
11361
+ };
11362
+ function instanceOfPasswordStrength(value) {
11363
+ if (!("valid" in value) || value["valid"] === void 0) return false;
11364
+ if (!("score" in value) || value["score"] === void 0) return false;
11365
+ if (!("label" in value) || value["label"] === void 0) return false;
11366
+ if (!("feedback" in value) || value["feedback"] === void 0) return false;
11367
+ return true;
11368
+ }
11369
+ function PasswordStrengthFromJSON(json) {
11370
+ return PasswordStrengthFromJSONTyped(json, false);
11371
+ }
11372
+ function PasswordStrengthFromJSONTyped(json, ignoreDiscriminator) {
11373
+ if (json == null) {
11374
+ return json;
11375
+ }
11376
+ return {
11377
+ "valid": json["valid"],
11378
+ "score": json["score"],
11379
+ "label": json["label"],
11380
+ "feedback": json["feedback"]
11381
+ };
11382
+ }
11383
+ function PasswordStrengthToJSON(json) {
11384
+ return PasswordStrengthToJSONTyped(json, false);
11385
+ }
11386
+ function PasswordStrengthToJSONTyped(value, ignoreDiscriminator = false) {
11387
+ if (value == null) {
11388
+ return value;
11389
+ }
11390
+ return {
11391
+ "valid": value["valid"],
11392
+ "score": value["score"],
11393
+ "label": value["label"],
11394
+ "feedback": value["feedback"]
11395
+ };
11396
+ }
11397
+
11398
+ // src/src/models/PasswordStrengthRequest.ts
11399
+ function instanceOfPasswordStrengthRequest(value) {
11400
+ if (!("password" in value) || value["password"] === void 0) return false;
11401
+ return true;
11402
+ }
11403
+ function PasswordStrengthRequestFromJSON(json) {
11404
+ return PasswordStrengthRequestFromJSONTyped(json, false);
11405
+ }
11406
+ function PasswordStrengthRequestFromJSONTyped(json, ignoreDiscriminator) {
11407
+ if (json == null) {
11408
+ return json;
11409
+ }
11410
+ return {
11411
+ "password": json["password"],
11412
+ "email": json["email"] == null ? void 0 : json["email"]
11413
+ };
11414
+ }
11415
+ function PasswordStrengthRequestToJSON(json) {
11416
+ return PasswordStrengthRequestToJSONTyped(json, false);
11417
+ }
11418
+ function PasswordStrengthRequestToJSONTyped(value, ignoreDiscriminator = false) {
11419
+ if (value == null) {
11420
+ return value;
11421
+ }
11422
+ return {
11423
+ "password": value["password"],
11424
+ "email": value["email"]
11425
+ };
11426
+ }
11427
+
11428
+ // src/src/models/PasswordStrengthResponse.ts
11429
+ function instanceOfPasswordStrengthResponse(value) {
11430
+ return true;
11431
+ }
11432
+ function PasswordStrengthResponseFromJSON(json) {
11433
+ return PasswordStrengthResponseFromJSONTyped(json, false);
11434
+ }
11435
+ function PasswordStrengthResponseFromJSONTyped(json, ignoreDiscriminator) {
11436
+ if (json == null) {
11437
+ return json;
11438
+ }
11439
+ return {
11440
+ "data": json["data"] == null ? void 0 : PasswordStrengthFromJSON(json["data"]),
11441
+ "meta": json["meta"] == null ? void 0 : RequestMetaFromJSON(json["meta"])
11442
+ };
11443
+ }
11444
+ function PasswordStrengthResponseToJSON(json) {
11445
+ return PasswordStrengthResponseToJSONTyped(json, false);
11446
+ }
11447
+ function PasswordStrengthResponseToJSONTyped(value, ignoreDiscriminator = false) {
11448
+ if (value == null) {
11449
+ return value;
11450
+ }
11451
+ return {
11452
+ "data": PasswordStrengthToJSON(value["data"]),
11453
+ "meta": RequestMetaToJSON(value["meta"])
11454
+ };
11455
+ }
11456
+
11326
11457
  // src/src/models/PayloadTooLargeErrorErrorDetails.ts
11327
11458
  function instanceOfPayloadTooLargeErrorErrorDetails(value) {
11328
11459
  return true;
@@ -26355,7 +26486,41 @@ var TopicsApi = class extends BaseAPI {
26355
26486
  // src/src/apis/UtilityApi.ts
26356
26487
  var UtilityApi = class extends BaseAPI {
26357
26488
  /**
26358
- * Get password requirements for the application. Useful for client-side validation before registration.
26489
+ * Pre-submit password check for a live registration/reset experience. Returns whether the password would be accepted by the server (`valid`), a strength `score` (0-100) and `label`, and actionable `feedback`. When an `email` is supplied, a password that resembles the email\'s local-part is flagged and marked invalid. The password is never logged or persisted.
26490
+ * Check password strength
26491
+ */
26492
+ async checkPasswordStrengthRaw(requestParameters, initOverrides) {
26493
+ if (requestParameters["passwordStrengthRequest"] == null) {
26494
+ throw new RequiredError(
26495
+ "passwordStrengthRequest",
26496
+ 'Required parameter "passwordStrengthRequest" was null or undefined when calling checkPasswordStrength().'
26497
+ );
26498
+ }
26499
+ const queryParameters = {};
26500
+ const headerParameters = {};
26501
+ headerParameters["Content-Type"] = "application/json";
26502
+ if (this.configuration && this.configuration.apiKey) {
26503
+ headerParameters["X-Application-Key"] = await this.configuration.apiKey("X-Application-Key");
26504
+ }
26505
+ const response = await this.request({
26506
+ path: `/auth/password-strength`,
26507
+ method: "POST",
26508
+ headers: headerParameters,
26509
+ query: queryParameters,
26510
+ body: PasswordStrengthRequestToJSON(requestParameters["passwordStrengthRequest"])
26511
+ }, initOverrides);
26512
+ return new JSONApiResponse(response, (jsonValue) => PasswordStrengthResponseFromJSON(jsonValue));
26513
+ }
26514
+ /**
26515
+ * Pre-submit password check for a live registration/reset experience. Returns whether the password would be accepted by the server (`valid`), a strength `score` (0-100) and `label`, and actionable `feedback`. When an `email` is supplied, a password that resembles the email\'s local-part is flagged and marked invalid. The password is never logged or persisted.
26516
+ * Check password strength
26517
+ */
26518
+ async checkPasswordStrength(passwordStrengthRequest, initOverrides) {
26519
+ const response = await this.checkPasswordStrengthRaw({ passwordStrengthRequest }, initOverrides);
26520
+ return await response.value();
26521
+ }
26522
+ /**
26523
+ * Get password requirements for the application. Returns both a structured `policy` object (for driving a live requirements checklist) and human-readable `requirements` display strings. Useful for client-side validation before registration.
26359
26524
  * Get password requirements
26360
26525
  */
26361
26526
  async getPasswordRequirementsRaw(initOverrides) {
@@ -26373,7 +26538,7 @@ var UtilityApi = class extends BaseAPI {
26373
26538
  return new JSONApiResponse(response, (jsonValue) => PasswordRequirementsResponseFromJSON(jsonValue));
26374
26539
  }
26375
26540
  /**
26376
- * Get password requirements for the application. Useful for client-side validation before registration.
26541
+ * Get password requirements for the application. Returns both a structured `policy` object (for driving a live requirements checklist) and human-readable `requirements` display strings. Useful for client-side validation before registration.
26377
26542
  * Get password requirements
26378
26543
  */
26379
26544
  async getPasswordRequirements(initOverrides) {
@@ -28871,6 +29036,8 @@ var Zyphr = class {
28871
29036
  webhooks;
28872
29037
  topics;
28873
29038
  devices;
29039
+ /** Publishable-key-safe utilities: password policy + pre-submit strength check. */
29040
+ utility;
28874
29041
  domains;
28875
29042
  /** Inbound (received) email — read access. Requires the `email:read` scope. */
28876
29043
  inbound;
@@ -28898,6 +29065,7 @@ var Zyphr = class {
28898
29065
  this.webhooks = new WebhooksApi(config);
28899
29066
  this.topics = new TopicsApi(config);
28900
29067
  this.devices = new DevicesApi(config);
29068
+ this.utility = new UtilityApi(config);
28901
29069
  this.domains = new DomainsApi(config);
28902
29070
  this.inbound = new InboundEmailApi(config);
28903
29071
  this.waas = {
@@ -28984,6 +29152,12 @@ var ZyphrClient = class {
28984
29152
  auth;
28985
29153
  /** Device registration for push (takes an OS-acquired token). */
28986
29154
  devices;
29155
+ /**
29156
+ * Utility endpoints that are publishable-key-safe: the application's password
29157
+ * policy (`getPasswordRequirements`) and a pre-submit password strength check
29158
+ * (`checkPasswordStrength`). Useful for building a live registration UX.
29159
+ */
29160
+ utility;
28987
29161
  applicationKey;
28988
29162
  accessToken;
28989
29163
  constructor(options) {
@@ -29034,6 +29208,7 @@ var ZyphrClient = class {
29034
29208
  webauthn: new AuthWebAuthnApi(config)
29035
29209
  };
29036
29210
  this.devices = new DevicesApi(config);
29211
+ this.utility = new UtilityApi(config);
29037
29212
  }
29038
29213
  /** Store the end-user access token; it is applied automatically to subsequent user-scoped calls. */
29039
29214
  setAccessToken(accessToken) {
@@ -30069,8 +30244,10 @@ var SDK_VERSION = "0.1.0";
30069
30244
  PaginationMetaFromJSONTyped,
30070
30245
  PaginationMetaToJSON,
30071
30246
  PaginationMetaToJSONTyped,
30072
- PasswordRequirementsFromJSON,
30073
- PasswordRequirementsFromJSONTyped,
30247
+ PasswordPolicyFromJSON,
30248
+ PasswordPolicyFromJSONTyped,
30249
+ PasswordPolicyToJSON,
30250
+ PasswordPolicyToJSONTyped,
30074
30251
  PasswordRequirementsResponseDataFromJSON,
30075
30252
  PasswordRequirementsResponseDataFromJSONTyped,
30076
30253
  PasswordRequirementsResponseDataToJSON,
@@ -30079,8 +30256,19 @@ var SDK_VERSION = "0.1.0";
30079
30256
  PasswordRequirementsResponseFromJSONTyped,
30080
30257
  PasswordRequirementsResponseToJSON,
30081
30258
  PasswordRequirementsResponseToJSONTyped,
30082
- PasswordRequirementsToJSON,
30083
- PasswordRequirementsToJSONTyped,
30259
+ PasswordStrengthFromJSON,
30260
+ PasswordStrengthFromJSONTyped,
30261
+ PasswordStrengthLabelEnum,
30262
+ PasswordStrengthRequestFromJSON,
30263
+ PasswordStrengthRequestFromJSONTyped,
30264
+ PasswordStrengthRequestToJSON,
30265
+ PasswordStrengthRequestToJSONTyped,
30266
+ PasswordStrengthResponseFromJSON,
30267
+ PasswordStrengthResponseFromJSONTyped,
30268
+ PasswordStrengthResponseToJSON,
30269
+ PasswordStrengthResponseToJSONTyped,
30270
+ PasswordStrengthToJSON,
30271
+ PasswordStrengthToJSONTyped,
30084
30272
  PayloadTooLargeErrorErrorCodeEnum,
30085
30273
  PayloadTooLargeErrorErrorDetailsFromJSON,
30086
30274
  PayloadTooLargeErrorErrorDetailsFromJSONTyped,
@@ -31445,9 +31633,12 @@ var SDK_VERSION = "0.1.0";
31445
31633
  instanceOfOrganizationMembershipWithUser,
31446
31634
  instanceOfOrganizationResponse,
31447
31635
  instanceOfPaginationMeta,
31448
- instanceOfPasswordRequirements,
31636
+ instanceOfPasswordPolicy,
31449
31637
  instanceOfPasswordRequirementsResponse,
31450
31638
  instanceOfPasswordRequirementsResponseData,
31639
+ instanceOfPasswordStrength,
31640
+ instanceOfPasswordStrengthRequest,
31641
+ instanceOfPasswordStrengthResponse,
31451
31642
  instanceOfPayloadTooLargeError,
31452
31643
  instanceOfPayloadTooLargeErrorError,
31453
31644
  instanceOfPayloadTooLargeErrorErrorDetails,