@whooshbang/contracts 2.1.0 → 2.2.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.
Files changed (85) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/contract-manifest.json +32 -32
  3. package/dist/generated/artifact-index.d.ts +33 -33
  4. package/dist/generated/artifact-index.js +32 -32
  5. package/dist/generated/validators-standalone.js +126 -12
  6. package/dist/generated/validators-standalone.js.map +1 -1
  7. package/dist/generated/whooshbang-v1.d.ts +4 -0
  8. package/fixtures/core-v1/fixture-index.json +1 -1
  9. package/fixtures/core-v1/scenarios/api-credential-invalid-indistinguishable.json +1 -1
  10. package/fixtures/core-v1/scenarios/api-credential-one-time-reveal.json +1 -1
  11. package/fixtures/core-v1/scenarios/api-credential-revocation-replay.json +1 -1
  12. package/fixtures/core-v1/scenarios/api-credential-rotation-overlap.json +1 -1
  13. package/fixtures/core-v1/scenarios/cancellation-too-late.json +1 -1
  14. package/fixtures/core-v1/scenarios/cross-organization-project.json +1 -1
  15. package/fixtures/core-v1/scenarios/cross-project-resource.json +1 -1
  16. package/fixtures/core-v1/scenarios/environment-mismatch.json +1 -1
  17. package/fixtures/core-v1/scenarios/idempotency-conflict.json +1 -1
  18. package/fixtures/core-v1/scenarios/idempotency-equivalent-replay.json +1 -1
  19. package/fixtures/core-v1/scenarios/malformed-bearer.json +1 -1
  20. package/fixtures/core-v1/scenarios/metadata-overrun.json +1 -1
  21. package/fixtures/core-v1/scenarios/missing-scope.json +1 -1
  22. package/fixtures/core-v1/scenarios/project-create-equivalent-replay.json +1 -1
  23. package/fixtures/core-v1/scenarios/project-slug-conflict.json +1 -1
  24. package/fixtures/core-v1/scenarios/provider-outcome-unknown.json +1 -1
  25. package/fixtures/core-v1/scenarios/subscription-activation-replay.json +1 -1
  26. package/fixtures/core-v1/scenarios/subscription-authorization-capability-opacity.json +1 -1
  27. package/fixtures/core-v1/scenarios/subscription-cross-connection-callback-rejected.json +1 -1
  28. package/fixtures/core-v1/scenarios/subscription-expired-replay.json +1 -1
  29. package/fixtures/core-v1/scenarios/subscription-selected-connection-replay.json +1 -1
  30. package/fixtures/interaction-machine-v1/scenarios/ack-conflict.json +1 -1
  31. package/fixtures/interaction-machine-v1/scenarios/ack-cross-machine.json +1 -1
  32. package/fixtures/interaction-machine-v1/scenarios/ack-out-of-order.json +1 -1
  33. package/fixtures/interaction-machine-v1/scenarios/ack-replay.json +1 -1
  34. package/fixtures/interaction-machine-v1/scenarios/ambiguous-free-text.json +1 -1
  35. package/fixtures/interaction-machine-v1/scenarios/callback-token-opacity.json +1 -1
  36. package/fixtures/interaction-machine-v1/scenarios/credential-registration-conflict.json +1 -1
  37. package/fixtures/interaction-machine-v1/scenarios/credential-registration-replay.json +1 -1
  38. package/fixtures/interaction-machine-v1/scenarios/credential-revocation-replay.json +1 -1
  39. package/fixtures/interaction-machine-v1/scenarios/credential-rotation.json +1 -1
  40. package/fixtures/interaction-machine-v1/scenarios/first-credential-activates.json +1 -1
  41. package/fixtures/interaction-machine-v1/scenarios/interaction-duplicate.json +1 -1
  42. package/fixtures/interaction-machine-v1/scenarios/interaction-expired.json +1 -1
  43. package/fixtures/interaction-machine-v1/scenarios/interaction-mismatch.json +1 -1
  44. package/fixtures/interaction-machine-v1/scenarios/interaction-retired.json +1 -1
  45. package/fixtures/interaction-machine-v1/scenarios/interaction-stale.json +1 -1
  46. package/fixtures/interaction-machine-v1/scenarios/machine-admin-denied.json +1 -1
  47. package/fixtures/interaction-machine-v1/scenarios/machine-bound-message-create.json +1 -1
  48. package/fixtures/interaction-machine-v1/scenarios/machine-cancel-denied.json +1 -1
  49. package/fixtures/interaction-machine-v1/scenarios/machine-crash-before-ack.json +1 -1
  50. package/fixtures/interaction-machine-v1/scenarios/machine-notifier-mismatch.json +1 -1
  51. package/fixtures/interaction-machine-v1/scenarios/machine-other-message-read.json +1 -1
  52. package/fixtures/interaction-machine-v1/scenarios/machine-owned-message-read.json +1 -1
  53. package/fixtures/interaction-machine-v1/scenarios/machine-subscriber-mismatch.json +1 -1
  54. package/fixtures/interaction-machine-v1/scenarios/poll-uncommitted-cursor-rejected.json +1 -1
  55. package/fixtures/interaction-machine-v1/scenarios/project-credential-machine-endpoint-denied.json +1 -1
  56. package/fixtures/interaction-machine-v1/scenarios/quarantine-integrity-rejected.json +1 -1
  57. package/fixtures/interaction-machine-v1/scenarios/quarantine-signature-rejected.json +1 -1
  58. package/fixtures/interaction-machine-v1/scenarios/quarantine-valid.json +1 -1
  59. package/fixtures/interaction-machine-v1/scenarios/revoked-machine-credential.json +1 -1
  60. package/fixtures/recipient-experience-v1/scenarios/membership-broadcast-snapshot.json +1 -1
  61. package/fixtures/recipient-experience-v1/scenarios/preferred-binding-resolution.json +1 -1
  62. package/fixtures/recipient-experience-v1/scenarios/recipient-session-security.json +1 -1
  63. package/fixtures/recipient-experience-v1/scenarios/subscriber-initial-groups-transaction.json +1 -1
  64. package/openapi/generated/whooshbang-v1.bundle.json +10 -4
  65. package/openapi/whooshbang-v1.yaml +2 -2
  66. package/package.json +1 -1
  67. package/schemas/core-scenario.schema.json +1 -1
  68. package/schemas/events/agent-binding-degraded-v1.schema.json +1 -1
  69. package/schemas/events/interaction-expired-v1.schema.json +1 -1
  70. package/schemas/events/interaction-received-v1.schema.json +1 -1
  71. package/schemas/events/message-delivered-v1.schema.json +1 -1
  72. package/schemas/events/message-expired-v1.schema.json +1 -1
  73. package/schemas/events/message-failed-v1.schema.json +1 -1
  74. package/schemas/events/message-provider-accepted-v1.schema.json +1 -1
  75. package/schemas/events/subscription-activated-v1.schema.json +1 -1
  76. package/schemas/events/subscription-revoked-v1.schema.json +1 -1
  77. package/schemas/events/whooshbang-event-v1.schema.json +1 -1
  78. package/schemas/fixture-index.schema.json +1 -1
  79. package/schemas/interaction-machine-scenario.schema.json +1 -1
  80. package/schemas/interaction-v1.schema.json +1 -1
  81. package/schemas/machine-v1.schema.json +1 -1
  82. package/schemas/provider-capabilities-v1.schema.json +1 -1
  83. package/schemas/webhooks/webhook-delivery-case-v1.schema.json +1 -1
  84. package/schemas/webhooks/webhook-signing-vector-v1.schema.json +1 -1
  85. package/schemas/whooshbang-v1.schema.json +7 -1
@@ -5,115 +5,115 @@
5
5
  export const contractManifest = {
6
6
  schema: "flowxo.contract-manifest.v1",
7
7
  artifact: "@whooshbang/contracts",
8
- version: "2.1.0",
8
+ version: "2.2.0",
9
9
  openapi: [
10
10
  {
11
11
  id: "whooshbang-rest-v1",
12
- version: "2.1.0",
12
+ version: "2.2.0",
13
13
  path: "openapi/whooshbang-v1.yaml",
14
14
  },
15
15
  ],
16
16
  schemas: [
17
17
  {
18
18
  id: "whooshbang-v1",
19
- version: "2.1.0",
19
+ version: "2.2.0",
20
20
  path: "schemas/whooshbang-v1.schema.json",
21
21
  },
22
22
  {
23
23
  id: "interaction-v1",
24
- version: "2.1.0",
24
+ version: "2.2.0",
25
25
  path: "schemas/interaction-v1.schema.json",
26
26
  },
27
27
  {
28
28
  id: "machine-v1",
29
- version: "2.1.0",
29
+ version: "2.2.0",
30
30
  path: "schemas/machine-v1.schema.json",
31
31
  },
32
32
  {
33
33
  id: "provider-capabilities-v1",
34
- version: "2.1.0",
34
+ version: "2.2.0",
35
35
  path: "schemas/provider-capabilities-v1.schema.json",
36
36
  },
37
37
  {
38
38
  id: "whooshbang-event-v1",
39
- version: "2.1.0",
39
+ version: "2.2.0",
40
40
  path: "schemas/events/whooshbang-event-v1.schema.json",
41
41
  },
42
42
  {
43
43
  id: "subscription-activated-event-v1",
44
- version: "2.1.0",
44
+ version: "2.2.0",
45
45
  path: "schemas/events/subscription-activated-v1.schema.json",
46
46
  },
47
47
  {
48
48
  id: "subscription-revoked-event-v1",
49
- version: "2.1.0",
49
+ version: "2.2.0",
50
50
  path: "schemas/events/subscription-revoked-v1.schema.json",
51
51
  },
52
52
  {
53
53
  id: "message-provider-accepted-event-v1",
54
- version: "2.1.0",
54
+ version: "2.2.0",
55
55
  path: "schemas/events/message-provider-accepted-v1.schema.json",
56
56
  },
57
57
  {
58
58
  id: "message-delivered-event-v1",
59
- version: "2.1.0",
59
+ version: "2.2.0",
60
60
  path: "schemas/events/message-delivered-v1.schema.json",
61
61
  },
62
62
  {
63
63
  id: "message-failed-event-v1",
64
- version: "2.1.0",
64
+ version: "2.2.0",
65
65
  path: "schemas/events/message-failed-v1.schema.json",
66
66
  },
67
67
  {
68
68
  id: "message-expired-event-v1",
69
- version: "2.1.0",
69
+ version: "2.2.0",
70
70
  path: "schemas/events/message-expired-v1.schema.json",
71
71
  },
72
72
  {
73
73
  id: "interaction-received-event-v1",
74
- version: "2.1.0",
74
+ version: "2.2.0",
75
75
  path: "schemas/events/interaction-received-v1.schema.json",
76
76
  },
77
77
  {
78
78
  id: "interaction-expired-event-v1",
79
- version: "2.1.0",
79
+ version: "2.2.0",
80
80
  path: "schemas/events/interaction-expired-v1.schema.json",
81
81
  },
82
82
  {
83
83
  id: "agent-binding-degraded-event-v1",
84
- version: "2.1.0",
84
+ version: "2.2.0",
85
85
  path: "schemas/events/agent-binding-degraded-v1.schema.json",
86
86
  },
87
87
  {
88
88
  id: "webhook-signing-vector-v1",
89
- version: "2.1.0",
89
+ version: "2.2.0",
90
90
  path: "schemas/webhooks/webhook-signing-vector-v1.schema.json",
91
91
  },
92
92
  {
93
93
  id: "webhook-delivery-case-v1",
94
- version: "2.1.0",
94
+ version: "2.2.0",
95
95
  path: "schemas/webhooks/webhook-delivery-case-v1.schema.json",
96
96
  },
97
97
  {
98
98
  id: "interaction-machine-scenario",
99
- version: "2.1.0",
99
+ version: "2.2.0",
100
100
  path: "schemas/interaction-machine-scenario.schema.json",
101
101
  },
102
102
  {
103
103
  id: "core-contract-scenario",
104
- version: "2.1.0",
104
+ version: "2.2.0",
105
105
  path: "schemas/core-scenario.schema.json",
106
106
  },
107
107
  {
108
108
  id: "core-fixture-index",
109
- version: "2.1.0",
109
+ version: "2.2.0",
110
110
  path: "schemas/fixture-index.schema.json",
111
111
  },
112
112
  ],
113
113
  fixture_sets: [
114
114
  {
115
115
  id: "core-api-bodies",
116
- version: "2.1.0",
116
+ version: "2.2.0",
117
117
  schema: "schemas/whooshbang-v1.schema.json",
118
118
  fixtures: [
119
119
  "fixtures/core-v1/requests/create-project.json",
@@ -306,7 +306,7 @@ export const contractManifest = {
306
306
  },
307
307
  {
308
308
  id: "core-semantic-scenarios",
309
- version: "2.1.0",
309
+ version: "2.2.0",
310
310
  schema: "schemas/core-scenario.schema.json",
311
311
  fixtures: [
312
312
  "fixtures/core-v1/scenarios/project-create-equivalent-replay.json",
@@ -338,7 +338,7 @@ export const contractManifest = {
338
338
  },
339
339
  {
340
340
  id: "interaction-message-api-bodies",
341
- version: "2.1.0",
341
+ version: "2.2.0",
342
342
  schema: "schemas/whooshbang-v1.schema.json",
343
343
  fixtures: [
344
344
  "fixtures/interaction-machine-v1/requests/create-message-confirm.json",
@@ -350,7 +350,7 @@ export const contractManifest = {
350
350
  },
351
351
  {
352
352
  id: "interaction-contract-bodies",
353
- version: "2.1.0",
353
+ version: "2.2.0",
354
354
  schema: "schemas/interaction-v1.schema.json",
355
355
  fixtures: [
356
356
  "fixtures/interaction-machine-v1/success/interaction-open.json",
@@ -367,7 +367,7 @@ export const contractManifest = {
367
367
  },
368
368
  {
369
369
  id: "machine-api-bodies",
370
- version: "2.1.0",
370
+ version: "2.2.0",
371
371
  schema: "schemas/machine-v1.schema.json",
372
372
  fixtures: [
373
373
  "fixtures/interaction-machine-v1/requests/create-machine-client.json",
@@ -388,13 +388,13 @@ export const contractManifest = {
388
388
  },
389
389
  {
390
390
  id: "provider-capability-bodies",
391
- version: "2.1.0",
391
+ version: "2.2.0",
392
392
  schema: "schemas/provider-capabilities-v1.schema.json",
393
393
  fixtures: ["fixtures/interaction-machine-v1/capabilities/telegram.json"],
394
394
  },
395
395
  {
396
396
  id: "interaction-machine-semantic-scenarios",
397
- version: "2.1.0",
397
+ version: "2.2.0",
398
398
  schema: "schemas/interaction-machine-scenario.schema.json",
399
399
  fixtures: [
400
400
  "fixtures/interaction-machine-v1/scenarios/interaction-duplicate.json",
@@ -431,7 +431,7 @@ export const contractManifest = {
431
431
  },
432
432
  {
433
433
  id: "customer-event-bodies",
434
- version: "2.1.0",
434
+ version: "2.2.0",
435
435
  schema: "schemas/events/whooshbang-event-v1.schema.json",
436
436
  fixtures: [
437
437
  "fixtures/whooshbang-events-v1/events/subscription-activated.json",
@@ -449,19 +449,19 @@ export const contractManifest = {
449
449
  },
450
450
  {
451
451
  id: "webhook-signing-vectors",
452
- version: "2.1.0",
452
+ version: "2.2.0",
453
453
  schema: "schemas/webhooks/webhook-signing-vector-v1.schema.json",
454
454
  fixtures: ["fixtures/whooshbang-events-v1/signing/vectors.json"],
455
455
  },
456
456
  {
457
457
  id: "webhook-delivery-cases",
458
- version: "2.1.0",
458
+ version: "2.2.0",
459
459
  schema: "schemas/webhooks/webhook-delivery-case-v1.schema.json",
460
460
  fixtures: ["fixtures/whooshbang-events-v1/delivery/cases.json"],
461
461
  },
462
462
  {
463
463
  id: "core-fixture-index",
464
- version: "2.1.0",
464
+ version: "2.2.0",
465
465
  schema: "schemas/fixture-index.schema.json",
466
466
  fixtures: ["fixtures/core-v1/fixture-index.json"],
467
467
  },
@@ -153001,7 +153001,7 @@ export const validateProviderCapabilities = validate198;
153001
153001
  const schema368 = {
153002
153002
  $schema: "https://json-schema.org/draft/2020-12/schema",
153003
153003
  $id: "https://whooshbang.flowxo.com/schemas/provider-capabilities-v1.schema.json",
153004
- "x-contract-version": "2.1.0",
153004
+ "x-contract-version": "2.2.0",
153005
153005
  title: "ProviderCapabilitiesV1",
153006
153006
  description: "Provider-neutral, renderer-facing delivery and interaction capabilities with explicit degradation.",
153007
153007
  type: "object",
@@ -163063,7 +163063,7 @@ export const validateWhooshBangEvent = validate738;
163063
163063
  const schema1550 = {
163064
163064
  $schema: "https://json-schema.org/draft/2020-12/schema",
163065
163065
  $id: "https://whooshbang.flowxo.com/schemas/events/whooshbang-event-v1.schema.json",
163066
- "x-contract-version": "2.1.0",
163066
+ "x-contract-version": "2.2.0",
163067
163067
  title: "WhooshBangEventV1ContractDocument",
163068
163068
  description: "Strict public customer-event envelope and initial WhooshBang event union.",
163069
163069
  oneOf: [
@@ -174297,7 +174297,7 @@ export const validateWebhookSigningVectorSet = validate830;
174297
174297
  const schema1656 = {
174298
174298
  $schema: "https://json-schema.org/draft/2020-12/schema",
174299
174299
  $id: "https://whooshbang.flowxo.com/schemas/webhooks/webhook-signing-vector-v1.schema.json",
174300
- "x-contract-version": "2.1.0",
174300
+ "x-contract-version": "2.2.0",
174301
174301
  title: "WebhookSigningVectorSetV1",
174302
174302
  description: "Language-neutral deterministic Standard Webhooks V1 verification vectors. All key material is public synthetic test data and must never be used outside fixtures.",
174303
174303
  type: "object",
@@ -176314,7 +176314,7 @@ export const validateWebhookDeliveryCaseSet = validate833;
176314
176314
  const schema1661 = {
176315
176315
  $schema: "https://json-schema.org/draft/2020-12/schema",
176316
176316
  $id: "https://whooshbang.flowxo.com/schemas/webhooks/webhook-delivery-case-v1.schema.json",
176317
- "x-contract-version": "2.1.0",
176317
+ "x-contract-version": "2.2.0",
176318
176318
  title: "WebhookDeliveryCaseSetV1",
176319
176319
  description: "Deterministic customer webhook response classification, Retry-After, and delivery-bound cases.",
176320
176320
  type: "object",
@@ -177924,6 +177924,12 @@ const schema922 = {
177924
177924
  readiness: { enum: ["ready", "channel_unavailable"] },
177925
177925
  preferred_channel: { $ref: "#/$defs/Channel" },
177926
177926
  preferences_url: { type: "string", format: "uri" },
177927
+ setup_reason: {
177928
+ type: "string",
177929
+ minLength: 1,
177930
+ maxLength: 512,
177931
+ description: "An actionable platform setup reason when the default shared email setup is missing, ambiguous or unavailable.",
177932
+ },
177927
177933
  },
177928
177934
  additionalProperties: false,
177929
177935
  };
@@ -178024,7 +178030,8 @@ function validate836(data, { instancePath = "", parentData, parentDataProperty,
178024
178030
  key0 === "role" ||
178025
178031
  key0 === "readiness" ||
178026
178032
  key0 === "preferred_channel" ||
178027
- key0 === "preferences_url")) {
178033
+ key0 === "preferences_url" ||
178034
+ key0 === "setup_reason")) {
178028
178035
  const err5 = {
178029
178036
  instancePath,
178030
178037
  schemaPath: "#/additionalProperties",
@@ -178238,9 +178245,62 @@ function validate836(data, { instancePath = "", parentData, parentDataProperty,
178238
178245
  errors++;
178239
178246
  }
178240
178247
  }
178248
+ if (data.setup_reason !== undefined) {
178249
+ let data6 = data.setup_reason;
178250
+ if (typeof data6 === "string") {
178251
+ if (func1(data6) > 512) {
178252
+ const err17 = {
178253
+ instancePath: instancePath + "/setup_reason",
178254
+ schemaPath: "#/properties/setup_reason/maxLength",
178255
+ keyword: "maxLength",
178256
+ params: { limit: 512 },
178257
+ message: "must NOT have more than 512 characters",
178258
+ };
178259
+ if (vErrors === null) {
178260
+ vErrors = [err17];
178261
+ }
178262
+ else {
178263
+ vErrors.push(err17);
178264
+ }
178265
+ errors++;
178266
+ }
178267
+ if (func1(data6) < 1) {
178268
+ const err18 = {
178269
+ instancePath: instancePath + "/setup_reason",
178270
+ schemaPath: "#/properties/setup_reason/minLength",
178271
+ keyword: "minLength",
178272
+ params: { limit: 1 },
178273
+ message: "must NOT have fewer than 1 characters",
178274
+ };
178275
+ if (vErrors === null) {
178276
+ vErrors = [err18];
178277
+ }
178278
+ else {
178279
+ vErrors.push(err18);
178280
+ }
178281
+ errors++;
178282
+ }
178283
+ }
178284
+ else {
178285
+ const err19 = {
178286
+ instancePath: instancePath + "/setup_reason",
178287
+ schemaPath: "#/properties/setup_reason/type",
178288
+ keyword: "type",
178289
+ params: { type: "string" },
178290
+ message: "must be string",
178291
+ };
178292
+ if (vErrors === null) {
178293
+ vErrors = [err19];
178294
+ }
178295
+ else {
178296
+ vErrors.push(err19);
178297
+ }
178298
+ errors++;
178299
+ }
178300
+ }
178241
178301
  }
178242
178302
  else {
178243
- const err17 = {
178303
+ const err20 = {
178244
178304
  instancePath,
178245
178305
  schemaPath: "#/type",
178246
178306
  keyword: "type",
@@ -178248,10 +178308,10 @@ function validate836(data, { instancePath = "", parentData, parentDataProperty,
178248
178308
  message: "must be object",
178249
178309
  };
178250
178310
  if (vErrors === null) {
178251
- vErrors = [err17];
178311
+ vErrors = [err20];
178252
178312
  }
178253
178313
  else {
178254
- vErrors.push(err17);
178314
+ vErrors.push(err20);
178255
178315
  }
178256
178316
  errors++;
178257
178317
  }
@@ -178375,7 +178435,8 @@ function validate470(data, { instancePath = "", parentData, parentDataProperty,
178375
178435
  key0 === "role" ||
178376
178436
  key0 === "readiness" ||
178377
178437
  key0 === "preferred_channel" ||
178378
- key0 === "preferences_url")) {
178438
+ key0 === "preferences_url" ||
178439
+ key0 === "setup_reason")) {
178379
178440
  const err5 = {
178380
178441
  instancePath,
178381
178442
  schemaPath: "#/additionalProperties",
@@ -178589,9 +178650,62 @@ function validate470(data, { instancePath = "", parentData, parentDataProperty,
178589
178650
  errors++;
178590
178651
  }
178591
178652
  }
178653
+ if (data.setup_reason !== undefined) {
178654
+ let data6 = data.setup_reason;
178655
+ if (typeof data6 === "string") {
178656
+ if (func1(data6) > 512) {
178657
+ const err17 = {
178658
+ instancePath: instancePath + "/setup_reason",
178659
+ schemaPath: "#/properties/setup_reason/maxLength",
178660
+ keyword: "maxLength",
178661
+ params: { limit: 512 },
178662
+ message: "must NOT have more than 512 characters",
178663
+ };
178664
+ if (vErrors === null) {
178665
+ vErrors = [err17];
178666
+ }
178667
+ else {
178668
+ vErrors.push(err17);
178669
+ }
178670
+ errors++;
178671
+ }
178672
+ if (func1(data6) < 1) {
178673
+ const err18 = {
178674
+ instancePath: instancePath + "/setup_reason",
178675
+ schemaPath: "#/properties/setup_reason/minLength",
178676
+ keyword: "minLength",
178677
+ params: { limit: 1 },
178678
+ message: "must NOT have fewer than 1 characters",
178679
+ };
178680
+ if (vErrors === null) {
178681
+ vErrors = [err18];
178682
+ }
178683
+ else {
178684
+ vErrors.push(err18);
178685
+ }
178686
+ errors++;
178687
+ }
178688
+ }
178689
+ else {
178690
+ const err19 = {
178691
+ instancePath: instancePath + "/setup_reason",
178692
+ schemaPath: "#/properties/setup_reason/type",
178693
+ keyword: "type",
178694
+ params: { type: "string" },
178695
+ message: "must be string",
178696
+ };
178697
+ if (vErrors === null) {
178698
+ vErrors = [err19];
178699
+ }
178700
+ else {
178701
+ vErrors.push(err19);
178702
+ }
178703
+ errors++;
178704
+ }
178705
+ }
178592
178706
  }
178593
178707
  else {
178594
- const err17 = {
178708
+ const err20 = {
178595
178709
  instancePath,
178596
178710
  schemaPath: "#/type",
178597
178711
  keyword: "type",
@@ -178599,10 +178713,10 @@ function validate470(data, { instancePath = "", parentData, parentDataProperty,
178599
178713
  message: "must be object",
178600
178714
  };
178601
178715
  if (vErrors === null) {
178602
- vErrors = [err17];
178716
+ vErrors = [err20];
178603
178717
  }
178604
178718
  else {
178605
- vErrors.push(err17);
178719
+ vErrors.push(err20);
178606
178720
  }
178607
178721
  errors++;
178608
178722
  }