@nexeraid/identity-schemas 2.225.0-dev → 2.226.0-dev

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.
Files changed (30) hide show
  1. package/dist/declarations/src/providers/index.d.ts +1 -0
  2. package/dist/declarations/src/providers/index.d.ts.map +1 -1
  3. package/dist/declarations/src/providers/kyc-sessions.schema.d.ts +37 -0
  4. package/dist/declarations/src/providers/kyc-sessions.schema.d.ts.map +1 -1
  5. package/dist/declarations/src/providers/provider.schema.d.ts +25 -25
  6. package/dist/declarations/src/providers/provider.schema.d.ts.map +1 -1
  7. package/dist/declarations/src/providers/veriff/index.d.ts +5 -0
  8. package/dist/declarations/src/providers/veriff/index.d.ts.map +1 -0
  9. package/dist/declarations/src/providers/veriff/veriff-decision.schema.d.ts +8 -0
  10. package/dist/declarations/src/providers/veriff/veriff-decision.schema.d.ts.map +1 -0
  11. package/dist/declarations/src/providers/veriff/veriff-session.schema.d.ts +192 -0
  12. package/dist/declarations/src/providers/veriff/veriff-session.schema.d.ts.map +1 -0
  13. package/dist/declarations/src/providers/veriff/veriff-watchlist.schema.d.ts +2400 -0
  14. package/dist/declarations/src/providers/veriff/veriff-watchlist.schema.d.ts.map +1 -0
  15. package/dist/declarations/src/providers/veriff/veriff-webhook.schema.d.ts +655 -0
  16. package/dist/declarations/src/providers/veriff/veriff-webhook.schema.d.ts.map +1 -0
  17. package/dist/nexeraid-identity-schemas.cjs.dev.cjs +2 -2
  18. package/dist/nexeraid-identity-schemas.cjs.prod.cjs +2 -2
  19. package/dist/nexeraid-identity-schemas.esm.mjs +1 -1
  20. package/dist/package.json +1 -1
  21. package/dist/{notabene.schema-a795a036.esm.mjs → veriff-webhook.schema-126f3aa3.esm.mjs} +162 -3
  22. package/dist/{notabene.schema-e5c798ca.cjs.dev.cjs → veriff-webhook.schema-23d9f688.cjs.dev.cjs} +180 -2
  23. package/dist/{notabene.schema-cf723922.cjs.prod.cjs → veriff-webhook.schema-afbdfa40.cjs.prod.cjs} +180 -2
  24. package/package.json +1 -1
  25. package/providers/dist/nexeraid-identity-schemas-providers.cjs.dev.cjs +345 -326
  26. package/providers/dist/nexeraid-identity-schemas-providers.cjs.prod.cjs +345 -326
  27. package/providers/dist/nexeraid-identity-schemas-providers.esm.mjs +1 -1
  28. package/webhooks/dist/nexeraid-identity-schemas-webhooks.cjs.dev.cjs +13 -13
  29. package/webhooks/dist/nexeraid-identity-schemas-webhooks.cjs.prod.cjs +13 -13
  30. package/webhooks/dist/nexeraid-identity-schemas-webhooks.esm.mjs +1 -1
@@ -1442,7 +1442,7 @@ var TRMLabsAddressesScreeningResponse = z__default["default"].union([TRMLabsAddr
1442
1442
  var ProviderWithoutConfig = ["chainalysis", "scorechain", "integratedScorechain", "trmLabs"];
1443
1443
  var IdentityProviderOptions = ["nexeraIdSSID", "nexeraIdKYB", "synaps", "ondato"];
1444
1444
  var IdentityProvider = z.z["enum"](IdentityProviderOptions);
1445
- var DataProviderOptions = ["complyAdvantage", "big", "scorechain", "merkleScience", "chainalysis", "trmLabs", "crystal", "notabene", "ipQualityScore", "integratedComplyAdvantage", "integratedScorechain", "integratedIpqualityscore", "notabene", "integratedWalletMonitoring"];
1445
+ var DataProviderOptions = ["complyAdvantage", "big", "scorechain", "merkleScience", "chainalysis", "trmLabs", "crystal", "notabene", "ipQualityScore", "integratedComplyAdvantage", "integratedScorechain", "integratedIpqualityscore", "notabene", "integratedWalletMonitoring", "veriff"];
1446
1446
  var DataProvider = z.z["enum"](DataProviderOptions);
1447
1447
  var MergedProviders = z.z["enum"]([].concat(vault_schema._toConsumableArray(IdentityProvider.options), vault_schema._toConsumableArray(DataProvider.options)));
1448
1448
  var MerkleScienceConfig = z.z.object({
@@ -2567,7 +2567,9 @@ var SelectKycSession = z.z.object({
2567
2567
  workflowSessionId: vault_schema.WorkflowSessionId.nullable(),
2568
2568
  workspaceId: vault_schema.WorkspaceId.nullish(),
2569
2569
  organizationId: vault_schema.OrganizationId.nullish(),
2570
- applicantCheckStatus: ApplicantCheckStatus
2570
+ applicantCheckStatus: ApplicantCheckStatus,
2571
+ kycProvider: z.z.string()["default"]("sumsub"),
2572
+ providerPersonData: z.z.unknown().nullish()
2571
2573
  });
2572
2574
  var SelectKycSessionWithCompletedSteps = SelectKycSession.extend({
2573
2575
  stepsCompleted: z.z.array(SelectKycSessionStep)
@@ -2648,6 +2650,8 @@ var ApiSuccessCommandResponse = function ApiSuccessCommandResponse(dataSchema) {
2648
2650
  });
2649
2651
  };
2650
2652
  var GetKycSessionsOutput = z.z.discriminatedUnion("isOk", [ApiErrorCommandResponse, ApiSuccessCommandResponse(z.z.array(GetKycSessionResponseWithCredentialsMetadata))]);
2653
+ var KYC_PROVIDER_NAMES = ["sumsub", "veriff"];
2654
+ var KycProviderName = z.z["enum"](KYC_PROVIDER_NAMES);
2651
2655
 
2652
2656
  var KYB_STEP_TYPES = ["Started"];
2653
2657
  var KybStep = z.z["enum"](KYB_STEP_TYPES);
@@ -3264,6 +3268,161 @@ var NotabeneWebhookSchema = z.z.object({
3264
3268
  status: NotabeneTxCreateStatus
3265
3269
  });
3266
3270
 
3271
+ var VERIFF_DECISION_STATUSES = ["approved", "declined", "resubmission_requested", "expired", "abandoned"];
3272
+ var VeriffDecisionStatus = z.z["enum"](VERIFF_DECISION_STATUSES);
3273
+ var VERIFF_DECISION_CODES = [9001, 9102, 9103, 9104];
3274
+ var VeriffDecisionCode = z.z.union([z.z.literal(9001),
3275
+ // approved
3276
+ z.z.literal(9102),
3277
+ // declined
3278
+ z.z.literal(9103),
3279
+ // resubmission_requested
3280
+ z.z.literal(9104),
3281
+ // expired
3282
+ z.z.number() // fallback for unknown codes — do not reject valid webhooks
3283
+ ]);
3284
+
3285
+ // .passthrough() — see veriff-webhook.schema.ts.
3286
+
3287
+ var VeriffCreateSessionRequest = z.z.object({
3288
+ verification: z.z.object({
3289
+ person: z.z.object({
3290
+ firstName: z.z.string(),
3291
+ lastName: z.z.string()
3292
+ }).passthrough(),
3293
+ vendorData: z.z.string(),
3294
+ // our internal customerId
3295
+ callback: z.z.string().url(),
3296
+ timestamp: z.z.string() // ISO 8601
3297
+ }).passthrough()
3298
+ }).passthrough();
3299
+ var VeriffCreateSessionResponse = z.z.object({
3300
+ status: z.z.string(),
3301
+ verification: z.z.object({
3302
+ id: z.z.string().uuid(),
3303
+ url: z.z.string().url(),
3304
+ sessionToken: z.z.string(),
3305
+ baseUrl: z.z.string().optional()
3306
+ }).passthrough()
3307
+ }).passthrough();
3308
+
3309
+ /** Veriff watchlist webhook (initial_result | updated_result).
3310
+ * Strict (no passthrough) so it satisfies MessageBrokerEvent's ZodSchema<T>
3311
+ * — passthrough breaks that via the inferred index signature. */
3312
+
3313
+ var VeriffWatchlistCheckType = z.z["enum"](["initial_result", "updated_result"]);
3314
+ var VeriffWatchlistMatchStatus = z.z["enum"](["possible_match", "no_match"]);
3315
+ var VeriffWatchlistSearchTerm = z.z.object({
3316
+ name: z.z.string().nullable().optional(),
3317
+ // Veriff sends `year` as a string in practice; coerce handles both.
3318
+ year: z.z.coerce.number().nullable().optional(),
3319
+ lists: z.z.array(z.z.string()).nullable().optional(),
3320
+ countries: z.z.array(z.z.string()).nullable().optional(),
3321
+ exactMatch: z.z["boolean"]().nullable().optional(),
3322
+ matchThreshold: z.z.number().nullable().optional(),
3323
+ excludeDeceased: z.z["boolean"]().nullable().optional()
3324
+ });
3325
+ /** Listing entry per category; passthrough preserves undocumented fields. */
3326
+ var VeriffWatchlistListingEntry = z.z.object({
3327
+ sourceName: z.z.string().nullable().optional(),
3328
+ sourceUrl: z.z.string().nullable().optional(),
3329
+ snippet: z.z.string().nullable().optional(),
3330
+ date: z.z.string().nullable().optional()
3331
+ }).passthrough();
3332
+ /** Five hit categories; passthrough for future buckets. */
3333
+ var VeriffWatchlistListingsByCategory = z.z.object({
3334
+ warnings: z.z.array(VeriffWatchlistListingEntry).nullable().optional(),
3335
+ sanctions: z.z.array(VeriffWatchlistListingEntry).nullable().optional(),
3336
+ fitnessProbity: z.z.array(VeriffWatchlistListingEntry).nullable().optional(),
3337
+ pep: z.z.array(VeriffWatchlistListingEntry).nullable().optional(),
3338
+ adverseMedia: z.z.array(VeriffWatchlistListingEntry).nullable().optional()
3339
+ }).passthrough();
3340
+ /** Per-hit schema. aka/associates/matchTypes use z.unknown() — Veriff sometimes
3341
+ * returns objects instead of strings; UI handles both shapes at render time. */
3342
+ var VeriffWatchlistHit = z.z.object({
3343
+ matchedName: z.z.string().nullable().optional(),
3344
+ countries: z.z.array(z.z.string()).nullable().optional(),
3345
+ dateOfBirth: z.z.string().nullable().optional(),
3346
+ dateOfDeath: z.z.string().nullable().optional(),
3347
+ matchTypes: z.z.array(z.z.unknown()).nullable().optional(),
3348
+ aka: z.z.array(z.z.unknown()).nullable().optional(),
3349
+ associates: z.z.array(z.z.unknown()).nullable().optional(),
3350
+ listingsRelatedToMatch: VeriffWatchlistListingsByCategory.nullable().optional()
3351
+ }).passthrough();
3352
+ // Top-level strict so it's assignable to MessageBrokerEvent's ZodSchema<T>;
3353
+ // passthrough lives on nested objects.
3354
+ var VeriffWatchlistWebhook = z.z.object({
3355
+ checkType: VeriffWatchlistCheckType,
3356
+ attemptId: z.z.string(),
3357
+ sessionId: z.z.string(),
3358
+ vendorData: z.z.string().nullable().optional(),
3359
+ endUserId: z.z.string().nullable().optional(),
3360
+ matchStatus: VeriffWatchlistMatchStatus,
3361
+ // Diverges from matchStatus when operator marks hits on Veriff's side.
3362
+ reviewStatus: z.z.string().nullable().optional(),
3363
+ // Veriff-side flag for unseen monitoring updates; surfaced in dashboard.
3364
+ hasUnacknowledgedChanges: z.z["boolean"]().nullable().optional(),
3365
+ createdAt: z.z.string(),
3366
+ totalHits: z.z.number(),
3367
+ hits: z.z.array(VeriffWatchlistHit),
3368
+ searchTerm: VeriffWatchlistSearchTerm.nullable().optional()
3369
+ });
3370
+
3371
+ // .passthrough() everywhere — strict shapes silently drop fields Veriff adds
3372
+ // in some flows (yearOfBirth, pepSanctionMatch, etc.), same trap as Topograph.
3373
+
3374
+ var VeriffPerson = z.z.object({
3375
+ firstName: z.z.string().nullable().optional(),
3376
+ lastName: z.z.string().nullable().optional(),
3377
+ dateOfBirth: z.z.string().nullable().optional(),
3378
+ // YYYY-MM-DD
3379
+ gender: z.z.string().nullable().optional(),
3380
+ nationality: z.z.string().nullable().optional(),
3381
+ placeOfBirth: z.z.string().nullable().optional(),
3382
+ idNumber: z.z.string().nullable().optional()
3383
+ }).passthrough();
3384
+ var VeriffDocument = z.z.object({
3385
+ number: z.z.string().nullable().optional(),
3386
+ type: z.z.string().nullable().optional(),
3387
+ country: z.z.string().nullable().optional(),
3388
+ validFrom: z.z.string().nullable().optional(),
3389
+ validUntil: z.z.string().nullable().optional()
3390
+ }).passthrough();
3391
+ var VeriffEventWebhook = z.z.object({
3392
+ id: z.z.string().uuid(),
3393
+ attemptId: z.z.string().uuid().optional(),
3394
+ feature: z.z.string().optional(),
3395
+ code: z.z.number(),
3396
+ action: z.z.string(),
3397
+ vendorData: z.z.string().nullable().optional(),
3398
+ // our customerId
3399
+ endUserId: z.z.string().nullable().optional()
3400
+ }).passthrough();
3401
+ var VeriffDecisionWebhook = z.z.object({
3402
+ status: z.z.string(),
3403
+ verification: z.z.object({
3404
+ id: z.z.string().uuid(),
3405
+ // providerSessionId
3406
+ attemptId: z.z.string().uuid().optional(),
3407
+ vendorData: z.z.string().optional(),
3408
+ // our customerId
3409
+ status: VeriffDecisionStatus,
3410
+ code: VeriffDecisionCode,
3411
+ reason: z.z.string().nullable().optional(),
3412
+ reasonCode: z.z.number().nullable().optional(),
3413
+ acceptanceTime: z.z.string().optional(),
3414
+ decisionTime: z.z.string().nullable().optional(),
3415
+ person: VeriffPerson.optional(),
3416
+ document: VeriffDocument.optional(),
3417
+ riskScore: z.z.object({
3418
+ score: z.z.number()
3419
+ }).optional()
3420
+ }).passthrough().nullable(),
3421
+ technicalData: z.z.object({
3422
+ ip: z.z.string().nullable().optional()
3423
+ }).passthrough().optional()
3424
+ }).passthrough();
3425
+
3267
3426
  exports.AMLMetadata = AMLMetadata;
3268
3427
  exports.APPLICANT_CHECK_STATUSES = APPLICANT_CHECK_STATUSES;
3269
3428
  exports.ApiErrorCommandResponse = ApiErrorCommandResponse;
@@ -3403,6 +3562,7 @@ exports.KYB_RESULTS = KYB_RESULTS;
3403
3562
  exports.KYB_SESSION_STATUSES = KYB_SESSION_STATUSES;
3404
3563
  exports.KYB_STEP_TYPES = KYB_STEP_TYPES;
3405
3564
  exports.KYC_DOC_SIDES = KYC_DOC_SIDES;
3565
+ exports.KYC_PROVIDER_NAMES = KYC_PROVIDER_NAMES;
3406
3566
  exports.KYC_RESULTS = KYC_RESULTS;
3407
3567
  exports.KYC_SESSION_STATUSES = KYC_SESSION_STATUSES;
3408
3568
  exports.KYC_STEP_TYPES = KYC_STEP_TYPES;
@@ -3410,6 +3570,7 @@ exports.KybResult = KybResult;
3410
3570
  exports.KybSessionStatus = KybSessionStatus;
3411
3571
  exports.KybStep = KybStep;
3412
3572
  exports.KycDocSide = KycDocSide;
3573
+ exports.KycProviderName = KycProviderName;
3413
3574
  exports.KycResult = KycResult;
3414
3575
  exports.KycSessionStatus = KycSessionStatus;
3415
3576
  exports.KycStep = KycStep;
@@ -3581,6 +3742,23 @@ exports.UpdateProviderResponse = UpdateProviderResponse;
3581
3742
  exports.UpdateSearchEntitiesInput = UpdateSearchEntitiesInput;
3582
3743
  exports.UpdateSearchInput = UpdateSearchInput;
3583
3744
  exports.UploadDocumentRequest = UploadDocumentRequest;
3745
+ exports.VERIFF_DECISION_CODES = VERIFF_DECISION_CODES;
3746
+ exports.VERIFF_DECISION_STATUSES = VERIFF_DECISION_STATUSES;
3747
+ exports.VeriffCreateSessionRequest = VeriffCreateSessionRequest;
3748
+ exports.VeriffCreateSessionResponse = VeriffCreateSessionResponse;
3749
+ exports.VeriffDecisionCode = VeriffDecisionCode;
3750
+ exports.VeriffDecisionStatus = VeriffDecisionStatus;
3751
+ exports.VeriffDecisionWebhook = VeriffDecisionWebhook;
3752
+ exports.VeriffDocument = VeriffDocument;
3753
+ exports.VeriffEventWebhook = VeriffEventWebhook;
3754
+ exports.VeriffPerson = VeriffPerson;
3755
+ exports.VeriffWatchlistCheckType = VeriffWatchlistCheckType;
3756
+ exports.VeriffWatchlistHit = VeriffWatchlistHit;
3757
+ exports.VeriffWatchlistListingEntry = VeriffWatchlistListingEntry;
3758
+ exports.VeriffWatchlistListingsByCategory = VeriffWatchlistListingsByCategory;
3759
+ exports.VeriffWatchlistMatchStatus = VeriffWatchlistMatchStatus;
3760
+ exports.VeriffWatchlistSearchTerm = VeriffWatchlistSearchTerm;
3761
+ exports.VeriffWatchlistWebhook = VeriffWatchlistWebhook;
3584
3762
  exports.VideoKycMetaData = VideoKycMetaData;
3585
3763
  exports.WEBHOOK_TYPES = WEBHOOK_TYPES;
3586
3764
  exports.WebhookPayload = WebhookPayload;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexeraid/identity-schemas",
3
- "version": "2.225.0-dev",
3
+ "version": "2.226.0-dev",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "license": "ISC",