@syntrologie/runtime-sdk 2.3.0 → 2.4.0-canary.2

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 (36) hide show
  1. package/dist/actions/schema.js +2 -1
  2. package/dist/chunk-BIYMC56J.js +165 -0
  3. package/dist/chunk-BIYMC56J.js.map +7 -0
  4. package/dist/{chunk-AYTRRBR5.js → chunk-DOJR7R46.js} +1 -16
  5. package/dist/{chunk-AYTRRBR5.js.map → chunk-DOJR7R46.js.map} +1 -1
  6. package/dist/chunk-JMHRHAEL.js +18 -0
  7. package/dist/chunk-JMHRHAEL.js.map +7 -0
  8. package/dist/{chunk-RUKIPJEJ.js → chunk-ZDZ3IYFN.js} +16 -41
  9. package/dist/chunk-ZDZ3IYFN.js.map +7 -0
  10. package/dist/config/schema.d.ts +4107 -0
  11. package/dist/config/schema.js +73 -0
  12. package/dist/config/schema.js.map +7 -0
  13. package/dist/context/ContextManager.d.ts +3 -3
  14. package/dist/context/types.d.ts +1 -1
  15. package/dist/decisions/schema.d.ts +1487 -49
  16. package/dist/decisions/schema.js +54 -0
  17. package/dist/decisions/schema.js.map +7 -0
  18. package/dist/decisions/types.d.ts +1 -1
  19. package/dist/hooks/useShadowCanvasConfig.d.ts +1 -3
  20. package/dist/index.js +48 -149
  21. package/dist/index.js.map +4 -4
  22. package/dist/react.js +3 -2
  23. package/dist/react.js.map +1 -1
  24. package/dist/runtime.d.ts +4 -4
  25. package/dist/smart-canvas.esm.js +27 -27
  26. package/dist/smart-canvas.esm.js.map +3 -3
  27. package/dist/smart-canvas.js +22 -36
  28. package/dist/smart-canvas.js.map +3 -3
  29. package/dist/smart-canvas.min.js +27 -27
  30. package/dist/smart-canvas.min.js.map +3 -3
  31. package/dist/types.d.ts +17 -76
  32. package/dist/version.d.ts +1 -1
  33. package/package.json +7 -7
  34. package/schema/canvas-config.schema.json +2044 -299
  35. package/dist/chunk-RUKIPJEJ.js.map +0 -7
  36. package/schema/canvas-config.base.schema.json +0 -351
@@ -10,18 +10,18 @@
10
10
  "actions"
11
11
  ],
12
12
  "properties": {
13
+ "schemaVersion": {
14
+ "type": "string"
15
+ },
13
16
  "fetchedAt": {
14
17
  "type": "string",
15
- "format": "date-time",
16
- "description": "When the config was fetched"
18
+ "format": "date-time"
17
19
  },
18
20
  "configVersion": {
19
- "type": "string",
20
- "description": "Version string for cache invalidation"
21
+ "type": "string"
21
22
  },
22
23
  "canvasTitle": {
23
- "type": "string",
24
- "description": "Display title for the canvas"
24
+ "type": "string"
25
25
  },
26
26
  "tiles": {
27
27
  "type": "array",
@@ -44,20 +44,12 @@
44
44
  "launcher": {
45
45
  "$ref": "#/$defs/launcherConfig",
46
46
  "description": "Launcher button configuration"
47
- },
48
- "routes": {
49
- "$ref": "#/$defs/routesConfig",
50
- "description": "Route filtering"
51
47
  }
52
48
  },
53
49
  "additionalProperties": false,
54
50
  "$defs": {
55
51
  "tile": {
56
52
  "type": "object",
57
- "required": [
58
- "id",
59
- "widget"
60
- ],
61
53
  "properties": {
62
54
  "id": {
63
55
  "type": "string"
@@ -72,43 +64,35 @@
72
64
  "type": "string"
73
65
  },
74
66
  "props": {
75
- "type": "object"
67
+ "type": "object",
68
+ "additionalProperties": {}
69
+ },
70
+ "activation": {
71
+ "$ref": "#/$defs/activationConfig",
72
+ "description": "Route and condition-based activation for this tile"
76
73
  },
77
74
  "notifications": {
78
75
  "type": "array",
79
- "description": "Declarative rules mapping EventBus events to toast notifications",
80
76
  "items": {
81
77
  "type": "object",
82
- "required": [
83
- "on",
84
- "title"
85
- ],
86
78
  "properties": {
87
79
  "on": {
88
- "type": "string",
89
- "description": "EventBus event name (exact or regex)"
80
+ "type": "string"
90
81
  },
91
82
  "title": {
92
- "type": "string",
93
- "description": "Toast title (supports {{props.x}})"
83
+ "type": "string"
94
84
  },
95
85
  "body": {
96
- "type": "string",
97
- "description": "Toast body (supports {{props.x}})"
86
+ "type": "string"
98
87
  },
99
88
  "icon": {
100
- "type": "string",
101
- "description": "Icon name or emoji"
89
+ "type": "string"
102
90
  },
103
91
  "ttl": {
104
- "type": "number",
105
- "description": "Auto-dismiss ms (default 8000)",
106
- "default": 8000
92
+ "type": "number"
107
93
  },
108
94
  "cooldown": {
109
- "type": "number",
110
- "description": "Cooldown ms (default 30000)",
111
- "default": 30000
95
+ "type": "number"
112
96
  },
113
97
  "deepLink": {
114
98
  "type": "object",
@@ -117,19 +101,27 @@
117
101
  "type": "string"
118
102
  },
119
103
  "itemId": {
120
- "type": "string",
121
- "description": "Supports {{props.x}}"
104
+ "type": "string"
122
105
  }
123
106
  },
124
107
  "required": [
125
108
  "tileId"
126
- ]
109
+ ],
110
+ "additionalProperties": false
127
111
  }
128
112
  },
113
+ "required": [
114
+ "on",
115
+ "title"
116
+ ],
129
117
  "additionalProperties": false
130
118
  }
131
119
  }
132
120
  },
121
+ "required": [
122
+ "id",
123
+ "widget"
124
+ ],
133
125
  "additionalProperties": false,
134
126
  "allOf": [
135
127
  {
@@ -191,85 +183,6 @@
191
183
  }
192
184
  ]
193
185
  },
194
- "actionStep": {
195
- "oneOf": [
196
- {
197
- "$ref": "#/$defs/addClass"
198
- },
199
- {
200
- "$ref": "#/$defs/addPoints"
201
- },
202
- {
203
- "$ref": "#/$defs/awardBadge"
204
- },
205
- {
206
- "$ref": "#/$defs/badge"
207
- },
208
- {
209
- "$ref": "#/$defs/faqQuestion"
210
- },
211
- {
212
- "$ref": "#/$defs/faqScrollTo"
213
- },
214
- {
215
- "$ref": "#/$defs/faqToggleItem"
216
- },
217
- {
218
- "$ref": "#/$defs/faqUpdate"
219
- },
220
- {
221
- "$ref": "#/$defs/highlight"
222
- },
223
- {
224
- "$ref": "#/$defs/insertHtml"
225
- },
226
- {
227
- "$ref": "#/$defs/modal"
228
- },
229
- {
230
- "$ref": "#/$defs/mountWidget"
231
- },
232
- {
233
- "$ref": "#/$defs/navigate"
234
- },
235
- {
236
- "$ref": "#/$defs/navTip"
237
- },
238
- {
239
- "$ref": "#/$defs/parallel"
240
- },
241
- {
242
- "$ref": "#/$defs/pulse"
243
- },
244
- {
245
- "$ref": "#/$defs/removeClass"
246
- },
247
- {
248
- "$ref": "#/$defs/scrollTo"
249
- },
250
- {
251
- "$ref": "#/$defs/sequence"
252
- },
253
- {
254
- "$ref": "#/$defs/setAttr"
255
- },
256
- {
257
- "$ref": "#/$defs/setStyle"
258
- },
259
- {
260
- "$ref": "#/$defs/setText"
261
- },
262
- {
263
- "$ref": "#/$defs/tooltip"
264
- },
265
- {
266
- "$ref": "#/$defs/tour"
267
- },
268
- {
269
- "$ref": "#/$defs/wait"
270
- }
271
- ]
272
- },
273
186
  "themeConfig": {
274
187
  "type": "object",
275
188
  "properties": {
@@ -299,6 +212,9 @@
299
212
  "colorText": {
300
213
  "type": "string"
301
214
  },
215
+ "colorTextSecondary": {
216
+ "type": "string"
217
+ },
302
218
  "borderRadius": {
303
219
  "type": "string"
304
220
  }
@@ -316,31 +232,26 @@
316
232
  },
317
233
  "position": {
318
234
  "type": "string"
319
- }
320
- },
321
- "additionalProperties": false
322
- },
323
- "routesConfig": {
324
- "type": "object",
325
- "properties": {
326
- "exclude": {
327
- "type": "array",
328
- "items": {
329
- "type": "string"
330
- }
331
235
  },
332
- "include": {
333
- "type": "array",
334
- "items": {
335
- "type": "string"
336
- }
236
+ "animate": {
237
+ "type": "boolean"
238
+ },
239
+ "animationStyle": {
240
+ "type": "string",
241
+ "enum": [
242
+ "pulse",
243
+ "bounce",
244
+ "glow"
245
+ ]
246
+ },
247
+ "notificationCount": {
248
+ "type": "number"
337
249
  }
338
250
  },
339
251
  "additionalProperties": false
340
252
  },
341
253
  "activationConfig": {
342
254
  "type": "object",
343
- "description": "Activation configuration for conditional tile rendering",
344
255
  "properties": {
345
256
  "routes": {
346
257
  "$ref": "#/$defs/routeFilter"
@@ -349,6 +260,9 @@
349
260
  "$ref": "#/$defs/decisionStrategy"
350
261
  }
351
262
  },
263
+ "required": [
264
+ "routes"
265
+ ],
352
266
  "additionalProperties": false
353
267
  },
354
268
  "routeFilter": {
@@ -358,44 +272,22 @@
358
272
  "type": "array",
359
273
  "items": {
360
274
  "type": "string"
361
- },
362
- "description": "Routes where the tile should appear"
275
+ }
363
276
  },
364
277
  "exclude": {
365
278
  "type": "array",
366
279
  "items": {
367
280
  "type": "string"
368
- },
369
- "description": "Routes where the tile should NOT appear"
281
+ }
370
282
  }
371
283
  },
372
284
  "additionalProperties": false
373
285
  },
374
- "decisionStrategy": {
375
- "oneOf": [
376
- {
377
- "$ref": "#/$defs/ruleStrategy"
378
- },
379
- {
380
- "$ref": "#/$defs/scoreStrategy"
381
- },
382
- {
383
- "$ref": "#/$defs/modelStrategy"
384
- },
385
- {
386
- "$ref": "#/$defs/externalStrategy"
387
- }
388
- ]
389
- },
390
286
  "ruleStrategy": {
391
287
  "type": "object",
392
- "required": [
393
- "type",
394
- "rules",
395
- "default"
396
- ],
397
288
  "properties": {
398
289
  "type": {
290
+ "type": "string",
399
291
  "const": "rules"
400
292
  },
401
293
  "rules": {
@@ -406,19 +298,18 @@
406
298
  },
407
299
  "default": {}
408
300
  },
301
+ "required": [
302
+ "type",
303
+ "rules",
304
+ "default"
305
+ ],
409
306
  "additionalProperties": false
410
307
  },
411
308
  "scoreStrategy": {
412
309
  "type": "object",
413
- "required": [
414
- "type",
415
- "field",
416
- "threshold",
417
- "above",
418
- "below"
419
- ],
420
310
  "properties": {
421
311
  "type": {
312
+ "type": "string",
422
313
  "const": "score"
423
314
  },
424
315
  "field": {
@@ -430,19 +321,20 @@
430
321
  "above": {},
431
322
  "below": {}
432
323
  },
324
+ "required": [
325
+ "type",
326
+ "field",
327
+ "threshold",
328
+ "above",
329
+ "below"
330
+ ],
433
331
  "additionalProperties": false
434
332
  },
435
333
  "modelStrategy": {
436
334
  "type": "object",
437
- "required": [
438
- "type",
439
- "modelId",
440
- "inputs",
441
- "outputMapping",
442
- "default"
443
- ],
444
335
  "properties": {
445
336
  "type": {
337
+ "type": "string",
446
338
  "const": "model"
447
339
  },
448
340
  "modelId": {
@@ -455,27 +347,32 @@
455
347
  }
456
348
  },
457
349
  "outputMapping": {
458
- "type": "object"
350
+ "type": "object",
351
+ "additionalProperties": {}
459
352
  },
460
353
  "default": {}
461
354
  },
462
- "additionalProperties": false
463
- },
464
- "externalStrategy": {
465
- "type": "object",
466
355
  "required": [
467
356
  "type",
468
- "endpoint",
357
+ "modelId",
358
+ "inputs",
359
+ "outputMapping",
469
360
  "default"
470
361
  ],
362
+ "additionalProperties": false
363
+ },
364
+ "externalStrategy": {
365
+ "type": "object",
471
366
  "properties": {
472
367
  "type": {
368
+ "type": "string",
473
369
  "const": "external"
474
370
  },
475
371
  "endpoint": {
476
372
  "type": "string"
477
373
  },
478
374
  "method": {
375
+ "type": "string",
479
376
  "enum": [
480
377
  "GET",
481
378
  "POST"
@@ -486,14 +383,15 @@
486
383
  "type": "number"
487
384
  }
488
385
  },
386
+ "required": [
387
+ "type",
388
+ "endpoint",
389
+ "default"
390
+ ],
489
391
  "additionalProperties": false
490
392
  },
491
393
  "rule": {
492
394
  "type": "object",
493
- "required": [
494
- "conditions",
495
- "value"
496
- ],
497
395
  "properties": {
498
396
  "conditions": {
499
397
  "type": "array",
@@ -503,57 +401,60 @@
503
401
  },
504
402
  "value": {}
505
403
  },
404
+ "required": [
405
+ "conditions",
406
+ "value"
407
+ ],
506
408
  "additionalProperties": false
507
409
  },
508
410
  "condition": {
509
411
  "oneOf": [
510
412
  {
511
413
  "type": "object",
512
- "required": [
513
- "type",
514
- "url"
515
- ],
516
414
  "properties": {
517
415
  "type": {
416
+ "type": "string",
518
417
  "const": "page_url"
519
418
  },
520
419
  "url": {
521
420
  "type": "string"
522
421
  }
523
422
  },
423
+ "required": [
424
+ "type",
425
+ "url"
426
+ ],
524
427
  "additionalProperties": false
525
428
  },
526
429
  {
527
430
  "type": "object",
528
- "required": [
529
- "type",
530
- "routeId"
531
- ],
532
431
  "properties": {
533
432
  "type": {
433
+ "type": "string",
534
434
  "const": "route"
535
435
  },
536
436
  "routeId": {
537
437
  "type": "string"
538
438
  }
539
439
  },
440
+ "required": [
441
+ "type",
442
+ "routeId"
443
+ ],
540
444
  "additionalProperties": false
541
445
  },
542
446
  {
543
447
  "type": "object",
544
- "required": [
545
- "type",
546
- "anchorId",
547
- "state"
548
- ],
549
448
  "properties": {
550
449
  "type": {
450
+ "type": "string",
551
451
  "const": "anchor_visible"
552
452
  },
553
453
  "anchorId": {
554
454
  "type": "string"
555
455
  },
556
456
  "state": {
457
+ "type": "string",
557
458
  "enum": [
558
459
  "visible",
559
460
  "present",
@@ -561,16 +462,18 @@
561
462
  ]
562
463
  }
563
464
  },
465
+ "required": [
466
+ "type",
467
+ "anchorId",
468
+ "state"
469
+ ],
564
470
  "additionalProperties": false
565
471
  },
566
472
  {
567
473
  "type": "object",
568
- "required": [
569
- "type",
570
- "eventName"
571
- ],
572
474
  "properties": {
573
475
  "type": {
476
+ "type": "string",
574
477
  "const": "event_occurred"
575
478
  },
576
479
  "eventName": {
@@ -580,16 +483,17 @@
580
483
  "type": "number"
581
484
  }
582
485
  },
486
+ "required": [
487
+ "type",
488
+ "eventName"
489
+ ],
583
490
  "additionalProperties": false
584
491
  },
585
492
  {
586
493
  "type": "object",
587
- "required": [
588
- "type",
589
- "key"
590
- ],
591
494
  "properties": {
592
495
  "type": {
496
+ "type": "string",
593
497
  "const": "state_equals"
594
498
  },
595
499
  "key": {
@@ -597,15 +501,17 @@
597
501
  },
598
502
  "value": {}
599
503
  },
504
+ "required": [
505
+ "type",
506
+ "key"
507
+ ],
600
508
  "additionalProperties": false
601
509
  },
602
510
  {
603
511
  "type": "object",
604
- "required": [
605
- "type"
606
- ],
607
512
  "properties": {
608
513
  "type": {
514
+ "type": "string",
609
515
  "const": "viewport"
610
516
  },
611
517
  "minWidth": {
@@ -621,24 +527,23 @@
621
527
  "type": "number"
622
528
  }
623
529
  },
530
+ "required": [
531
+ "type"
532
+ ],
624
533
  "additionalProperties": false
625
534
  },
626
535
  {
627
536
  "type": "object",
628
- "required": [
629
- "type",
630
- "key",
631
- "operator",
632
- "threshold"
633
- ],
634
537
  "properties": {
635
538
  "type": {
539
+ "type": "string",
636
540
  "const": "session_metric"
637
541
  },
638
542
  "key": {
639
543
  "type": "string"
640
544
  },
641
545
  "operator": {
546
+ "type": "string",
642
547
  "enum": [
643
548
  "gte",
644
549
  "lte",
@@ -651,16 +556,19 @@
651
556
  "type": "number"
652
557
  }
653
558
  },
559
+ "required": [
560
+ "type",
561
+ "key",
562
+ "operator",
563
+ "threshold"
564
+ ],
654
565
  "additionalProperties": false
655
566
  },
656
567
  {
657
568
  "type": "object",
658
- "required": [
659
- "type",
660
- "key"
661
- ],
662
569
  "properties": {
663
570
  "type": {
571
+ "type": "string",
664
572
  "const": "dismissed"
665
573
  },
666
574
  "key": {
@@ -670,16 +578,17 @@
670
578
  "type": "boolean"
671
579
  }
672
580
  },
673
- "additionalProperties": false
674
- },
675
- {
676
- "type": "object",
677
581
  "required": [
678
582
  "type",
679
583
  "key"
680
584
  ],
585
+ "additionalProperties": false
586
+ },
587
+ {
588
+ "type": "object",
681
589
  "properties": {
682
590
  "type": {
591
+ "type": "string",
683
592
  "const": "cooldown_active"
684
593
  },
685
594
  "key": {
@@ -689,17 +598,17 @@
689
598
  "type": "boolean"
690
599
  }
691
600
  },
601
+ "required": [
602
+ "type",
603
+ "key"
604
+ ],
692
605
  "additionalProperties": false
693
606
  },
694
607
  {
695
608
  "type": "object",
696
- "required": [
697
- "type",
698
- "key",
699
- "limit"
700
- ],
701
609
  "properties": {
702
610
  "type": {
611
+ "type": "string",
703
612
  "const": "frequency_limit"
704
613
  },
705
614
  "key": {
@@ -712,25 +621,25 @@
712
621
  "type": "boolean"
713
622
  }
714
623
  },
715
- "additionalProperties": false
716
- },
717
- {
718
- "type": "object",
719
624
  "required": [
720
625
  "type",
721
626
  "key",
722
- "operator",
723
- "count"
627
+ "limit"
724
628
  ],
629
+ "additionalProperties": false
630
+ },
631
+ {
632
+ "type": "object",
725
633
  "properties": {
726
634
  "type": {
635
+ "type": "string",
727
636
  "const": "event_count"
728
637
  },
729
638
  "key": {
730
- "type": "string",
731
- "description": "Key referencing a callback registered by the adaptive via accumulator.register()"
639
+ "type": "string"
732
640
  },
733
641
  "operator": {
642
+ "type": "string",
734
643
  "enum": [
735
644
  "gte",
736
645
  "lte",
@@ -745,14 +654,35 @@
745
654
  },
746
655
  "withinMs": {
747
656
  "type": "number",
748
- "exclusiveMinimum": 0,
749
- "description": "Only count events within this time window (ms). Omit = session lifetime."
657
+ "exclusiveMinimum": 0
750
658
  }
751
659
  },
660
+ "required": [
661
+ "type",
662
+ "key",
663
+ "operator",
664
+ "count"
665
+ ],
752
666
  "additionalProperties": false
753
667
  }
754
668
  ]
755
669
  },
670
+ "decisionStrategy": {
671
+ "oneOf": [
672
+ {
673
+ "$ref": "#/$defs/ruleStrategy"
674
+ },
675
+ {
676
+ "$ref": "#/$defs/scoreStrategy"
677
+ },
678
+ {
679
+ "$ref": "#/$defs/modelStrategy"
680
+ },
681
+ {
682
+ "$ref": "#/$defs/externalStrategy"
683
+ }
684
+ ]
685
+ },
756
686
  "setText": {
757
687
  "type": "object",
758
688
  "properties": {
@@ -1596,16 +1526,264 @@
1596
1526
  "conditions": {
1597
1527
  "type": "array",
1598
1528
  "items": {
1599
- "type": "object",
1600
- "properties": {
1601
- "type": {
1602
- "type": "string"
1529
+ "anyOf": [
1530
+ {
1531
+ "type": "object",
1532
+ "properties": {
1533
+ "type": {
1534
+ "type": "string",
1535
+ "const": "page_url"
1536
+ },
1537
+ "url": {
1538
+ "type": "string"
1539
+ }
1540
+ },
1541
+ "required": [
1542
+ "type",
1543
+ "url"
1544
+ ],
1545
+ "additionalProperties": false
1546
+ },
1547
+ {
1548
+ "type": "object",
1549
+ "properties": {
1550
+ "type": {
1551
+ "type": "string",
1552
+ "const": "route"
1553
+ },
1554
+ "routeId": {
1555
+ "type": "string"
1556
+ }
1557
+ },
1558
+ "required": [
1559
+ "type",
1560
+ "routeId"
1561
+ ],
1562
+ "additionalProperties": false
1563
+ },
1564
+ {
1565
+ "type": "object",
1566
+ "properties": {
1567
+ "type": {
1568
+ "type": "string",
1569
+ "const": "anchor_visible"
1570
+ },
1571
+ "anchorId": {
1572
+ "type": "string"
1573
+ },
1574
+ "state": {
1575
+ "type": "string",
1576
+ "enum": [
1577
+ "visible",
1578
+ "present",
1579
+ "absent"
1580
+ ]
1581
+ }
1582
+ },
1583
+ "required": [
1584
+ "type",
1585
+ "anchorId",
1586
+ "state"
1587
+ ],
1588
+ "additionalProperties": false
1589
+ },
1590
+ {
1591
+ "type": "object",
1592
+ "properties": {
1593
+ "type": {
1594
+ "type": "string",
1595
+ "const": "event_occurred"
1596
+ },
1597
+ "eventName": {
1598
+ "type": "string"
1599
+ },
1600
+ "withinMs": {
1601
+ "type": "number"
1602
+ }
1603
+ },
1604
+ "required": [
1605
+ "type",
1606
+ "eventName"
1607
+ ],
1608
+ "additionalProperties": false
1609
+ },
1610
+ {
1611
+ "type": "object",
1612
+ "properties": {
1613
+ "type": {
1614
+ "type": "string",
1615
+ "const": "state_equals"
1616
+ },
1617
+ "key": {
1618
+ "type": "string"
1619
+ },
1620
+ "value": {}
1621
+ },
1622
+ "required": [
1623
+ "type",
1624
+ "key"
1625
+ ],
1626
+ "additionalProperties": false
1627
+ },
1628
+ {
1629
+ "type": "object",
1630
+ "properties": {
1631
+ "type": {
1632
+ "type": "string",
1633
+ "const": "viewport"
1634
+ },
1635
+ "minWidth": {
1636
+ "type": "number"
1637
+ },
1638
+ "maxWidth": {
1639
+ "type": "number"
1640
+ },
1641
+ "minHeight": {
1642
+ "type": "number"
1643
+ },
1644
+ "maxHeight": {
1645
+ "type": "number"
1646
+ }
1647
+ },
1648
+ "required": [
1649
+ "type"
1650
+ ],
1651
+ "additionalProperties": false
1652
+ },
1653
+ {
1654
+ "type": "object",
1655
+ "properties": {
1656
+ "type": {
1657
+ "type": "string",
1658
+ "const": "session_metric"
1659
+ },
1660
+ "key": {
1661
+ "type": "string"
1662
+ },
1663
+ "operator": {
1664
+ "type": "string",
1665
+ "enum": [
1666
+ "gte",
1667
+ "lte",
1668
+ "eq",
1669
+ "gt",
1670
+ "lt"
1671
+ ]
1672
+ },
1673
+ "threshold": {
1674
+ "type": "number"
1675
+ }
1676
+ },
1677
+ "required": [
1678
+ "type",
1679
+ "key",
1680
+ "operator",
1681
+ "threshold"
1682
+ ],
1683
+ "additionalProperties": false
1684
+ },
1685
+ {
1686
+ "type": "object",
1687
+ "properties": {
1688
+ "type": {
1689
+ "type": "string",
1690
+ "const": "dismissed"
1691
+ },
1692
+ "key": {
1693
+ "type": "string"
1694
+ },
1695
+ "inverted": {
1696
+ "type": "boolean"
1697
+ }
1698
+ },
1699
+ "required": [
1700
+ "type",
1701
+ "key"
1702
+ ],
1703
+ "additionalProperties": false
1704
+ },
1705
+ {
1706
+ "type": "object",
1707
+ "properties": {
1708
+ "type": {
1709
+ "type": "string",
1710
+ "const": "cooldown_active"
1711
+ },
1712
+ "key": {
1713
+ "type": "string"
1714
+ },
1715
+ "inverted": {
1716
+ "type": "boolean"
1717
+ }
1718
+ },
1719
+ "required": [
1720
+ "type",
1721
+ "key"
1722
+ ],
1723
+ "additionalProperties": false
1724
+ },
1725
+ {
1726
+ "type": "object",
1727
+ "properties": {
1728
+ "type": {
1729
+ "type": "string",
1730
+ "const": "frequency_limit"
1731
+ },
1732
+ "key": {
1733
+ "type": "string"
1734
+ },
1735
+ "limit": {
1736
+ "type": "number"
1737
+ },
1738
+ "inverted": {
1739
+ "type": "boolean"
1740
+ }
1741
+ },
1742
+ "required": [
1743
+ "type",
1744
+ "key",
1745
+ "limit"
1746
+ ],
1747
+ "additionalProperties": false
1748
+ },
1749
+ {
1750
+ "type": "object",
1751
+ "properties": {
1752
+ "type": {
1753
+ "type": "string",
1754
+ "const": "event_count"
1755
+ },
1756
+ "key": {
1757
+ "type": "string"
1758
+ },
1759
+ "operator": {
1760
+ "type": "string",
1761
+ "enum": [
1762
+ "gte",
1763
+ "lte",
1764
+ "eq",
1765
+ "gt",
1766
+ "lt"
1767
+ ]
1768
+ },
1769
+ "count": {
1770
+ "type": "integer",
1771
+ "minimum": 0
1772
+ },
1773
+ "withinMs": {
1774
+ "type": "number",
1775
+ "exclusiveMinimum": 0
1776
+ }
1777
+ },
1778
+ "required": [
1779
+ "type",
1780
+ "key",
1781
+ "operator",
1782
+ "count"
1783
+ ],
1784
+ "additionalProperties": false
1603
1785
  }
1604
- },
1605
- "required": [
1606
- "type"
1607
- ],
1608
- "additionalProperties": true
1786
+ ]
1609
1787
  }
1610
1788
  },
1611
1789
  "value": {}
@@ -1974,16 +2152,264 @@
1974
2152
  "conditions": {
1975
2153
  "type": "array",
1976
2154
  "items": {
1977
- "type": "object",
1978
- "properties": {
1979
- "type": {
1980
- "type": "string"
2155
+ "anyOf": [
2156
+ {
2157
+ "type": "object",
2158
+ "properties": {
2159
+ "type": {
2160
+ "type": "string",
2161
+ "const": "page_url"
2162
+ },
2163
+ "url": {
2164
+ "type": "string"
2165
+ }
2166
+ },
2167
+ "required": [
2168
+ "type",
2169
+ "url"
2170
+ ],
2171
+ "additionalProperties": false
2172
+ },
2173
+ {
2174
+ "type": "object",
2175
+ "properties": {
2176
+ "type": {
2177
+ "type": "string",
2178
+ "const": "route"
2179
+ },
2180
+ "routeId": {
2181
+ "type": "string"
2182
+ }
2183
+ },
2184
+ "required": [
2185
+ "type",
2186
+ "routeId"
2187
+ ],
2188
+ "additionalProperties": false
2189
+ },
2190
+ {
2191
+ "type": "object",
2192
+ "properties": {
2193
+ "type": {
2194
+ "type": "string",
2195
+ "const": "anchor_visible"
2196
+ },
2197
+ "anchorId": {
2198
+ "type": "string"
2199
+ },
2200
+ "state": {
2201
+ "type": "string",
2202
+ "enum": [
2203
+ "visible",
2204
+ "present",
2205
+ "absent"
2206
+ ]
2207
+ }
2208
+ },
2209
+ "required": [
2210
+ "type",
2211
+ "anchorId",
2212
+ "state"
2213
+ ],
2214
+ "additionalProperties": false
2215
+ },
2216
+ {
2217
+ "type": "object",
2218
+ "properties": {
2219
+ "type": {
2220
+ "type": "string",
2221
+ "const": "event_occurred"
2222
+ },
2223
+ "eventName": {
2224
+ "type": "string"
2225
+ },
2226
+ "withinMs": {
2227
+ "type": "number"
2228
+ }
2229
+ },
2230
+ "required": [
2231
+ "type",
2232
+ "eventName"
2233
+ ],
2234
+ "additionalProperties": false
2235
+ },
2236
+ {
2237
+ "type": "object",
2238
+ "properties": {
2239
+ "type": {
2240
+ "type": "string",
2241
+ "const": "state_equals"
2242
+ },
2243
+ "key": {
2244
+ "type": "string"
2245
+ },
2246
+ "value": {}
2247
+ },
2248
+ "required": [
2249
+ "type",
2250
+ "key"
2251
+ ],
2252
+ "additionalProperties": false
2253
+ },
2254
+ {
2255
+ "type": "object",
2256
+ "properties": {
2257
+ "type": {
2258
+ "type": "string",
2259
+ "const": "viewport"
2260
+ },
2261
+ "minWidth": {
2262
+ "type": "number"
2263
+ },
2264
+ "maxWidth": {
2265
+ "type": "number"
2266
+ },
2267
+ "minHeight": {
2268
+ "type": "number"
2269
+ },
2270
+ "maxHeight": {
2271
+ "type": "number"
2272
+ }
2273
+ },
2274
+ "required": [
2275
+ "type"
2276
+ ],
2277
+ "additionalProperties": false
2278
+ },
2279
+ {
2280
+ "type": "object",
2281
+ "properties": {
2282
+ "type": {
2283
+ "type": "string",
2284
+ "const": "session_metric"
2285
+ },
2286
+ "key": {
2287
+ "type": "string"
2288
+ },
2289
+ "operator": {
2290
+ "type": "string",
2291
+ "enum": [
2292
+ "gte",
2293
+ "lte",
2294
+ "eq",
2295
+ "gt",
2296
+ "lt"
2297
+ ]
2298
+ },
2299
+ "threshold": {
2300
+ "type": "number"
2301
+ }
2302
+ },
2303
+ "required": [
2304
+ "type",
2305
+ "key",
2306
+ "operator",
2307
+ "threshold"
2308
+ ],
2309
+ "additionalProperties": false
2310
+ },
2311
+ {
2312
+ "type": "object",
2313
+ "properties": {
2314
+ "type": {
2315
+ "type": "string",
2316
+ "const": "dismissed"
2317
+ },
2318
+ "key": {
2319
+ "type": "string"
2320
+ },
2321
+ "inverted": {
2322
+ "type": "boolean"
2323
+ }
2324
+ },
2325
+ "required": [
2326
+ "type",
2327
+ "key"
2328
+ ],
2329
+ "additionalProperties": false
2330
+ },
2331
+ {
2332
+ "type": "object",
2333
+ "properties": {
2334
+ "type": {
2335
+ "type": "string",
2336
+ "const": "cooldown_active"
2337
+ },
2338
+ "key": {
2339
+ "type": "string"
2340
+ },
2341
+ "inverted": {
2342
+ "type": "boolean"
2343
+ }
2344
+ },
2345
+ "required": [
2346
+ "type",
2347
+ "key"
2348
+ ],
2349
+ "additionalProperties": false
2350
+ },
2351
+ {
2352
+ "type": "object",
2353
+ "properties": {
2354
+ "type": {
2355
+ "type": "string",
2356
+ "const": "frequency_limit"
2357
+ },
2358
+ "key": {
2359
+ "type": "string"
2360
+ },
2361
+ "limit": {
2362
+ "type": "number"
2363
+ },
2364
+ "inverted": {
2365
+ "type": "boolean"
2366
+ }
2367
+ },
2368
+ "required": [
2369
+ "type",
2370
+ "key",
2371
+ "limit"
2372
+ ],
2373
+ "additionalProperties": false
2374
+ },
2375
+ {
2376
+ "type": "object",
2377
+ "properties": {
2378
+ "type": {
2379
+ "type": "string",
2380
+ "const": "event_count"
2381
+ },
2382
+ "key": {
2383
+ "type": "string"
2384
+ },
2385
+ "operator": {
2386
+ "type": "string",
2387
+ "enum": [
2388
+ "gte",
2389
+ "lte",
2390
+ "eq",
2391
+ "gt",
2392
+ "lt"
2393
+ ]
2394
+ },
2395
+ "count": {
2396
+ "type": "integer",
2397
+ "minimum": 0
2398
+ },
2399
+ "withinMs": {
2400
+ "type": "number",
2401
+ "exclusiveMinimum": 0
2402
+ }
2403
+ },
2404
+ "required": [
2405
+ "type",
2406
+ "key",
2407
+ "operator",
2408
+ "count"
2409
+ ],
2410
+ "additionalProperties": false
1981
2411
  }
1982
- },
1983
- "required": [
1984
- "type"
1985
- ],
1986
- "additionalProperties": true
2412
+ ]
1987
2413
  }
1988
2414
  },
1989
2415
  "value": {}
@@ -2256,16 +2682,264 @@
2256
2682
  "conditions": {
2257
2683
  "type": "array",
2258
2684
  "items": {
2259
- "type": "object",
2260
- "properties": {
2261
- "type": {
2262
- "type": "string"
2685
+ "anyOf": [
2686
+ {
2687
+ "type": "object",
2688
+ "properties": {
2689
+ "type": {
2690
+ "type": "string",
2691
+ "const": "page_url"
2692
+ },
2693
+ "url": {
2694
+ "type": "string"
2695
+ }
2696
+ },
2697
+ "required": [
2698
+ "type",
2699
+ "url"
2700
+ ],
2701
+ "additionalProperties": false
2702
+ },
2703
+ {
2704
+ "type": "object",
2705
+ "properties": {
2706
+ "type": {
2707
+ "type": "string",
2708
+ "const": "route"
2709
+ },
2710
+ "routeId": {
2711
+ "type": "string"
2712
+ }
2713
+ },
2714
+ "required": [
2715
+ "type",
2716
+ "routeId"
2717
+ ],
2718
+ "additionalProperties": false
2719
+ },
2720
+ {
2721
+ "type": "object",
2722
+ "properties": {
2723
+ "type": {
2724
+ "type": "string",
2725
+ "const": "anchor_visible"
2726
+ },
2727
+ "anchorId": {
2728
+ "type": "string"
2729
+ },
2730
+ "state": {
2731
+ "type": "string",
2732
+ "enum": [
2733
+ "visible",
2734
+ "present",
2735
+ "absent"
2736
+ ]
2737
+ }
2738
+ },
2739
+ "required": [
2740
+ "type",
2741
+ "anchorId",
2742
+ "state"
2743
+ ],
2744
+ "additionalProperties": false
2745
+ },
2746
+ {
2747
+ "type": "object",
2748
+ "properties": {
2749
+ "type": {
2750
+ "type": "string",
2751
+ "const": "event_occurred"
2752
+ },
2753
+ "eventName": {
2754
+ "type": "string"
2755
+ },
2756
+ "withinMs": {
2757
+ "type": "number"
2758
+ }
2759
+ },
2760
+ "required": [
2761
+ "type",
2762
+ "eventName"
2763
+ ],
2764
+ "additionalProperties": false
2765
+ },
2766
+ {
2767
+ "type": "object",
2768
+ "properties": {
2769
+ "type": {
2770
+ "type": "string",
2771
+ "const": "state_equals"
2772
+ },
2773
+ "key": {
2774
+ "type": "string"
2775
+ },
2776
+ "value": {}
2777
+ },
2778
+ "required": [
2779
+ "type",
2780
+ "key"
2781
+ ],
2782
+ "additionalProperties": false
2783
+ },
2784
+ {
2785
+ "type": "object",
2786
+ "properties": {
2787
+ "type": {
2788
+ "type": "string",
2789
+ "const": "viewport"
2790
+ },
2791
+ "minWidth": {
2792
+ "type": "number"
2793
+ },
2794
+ "maxWidth": {
2795
+ "type": "number"
2796
+ },
2797
+ "minHeight": {
2798
+ "type": "number"
2799
+ },
2800
+ "maxHeight": {
2801
+ "type": "number"
2802
+ }
2803
+ },
2804
+ "required": [
2805
+ "type"
2806
+ ],
2807
+ "additionalProperties": false
2808
+ },
2809
+ {
2810
+ "type": "object",
2811
+ "properties": {
2812
+ "type": {
2813
+ "type": "string",
2814
+ "const": "session_metric"
2815
+ },
2816
+ "key": {
2817
+ "type": "string"
2818
+ },
2819
+ "operator": {
2820
+ "type": "string",
2821
+ "enum": [
2822
+ "gte",
2823
+ "lte",
2824
+ "eq",
2825
+ "gt",
2826
+ "lt"
2827
+ ]
2828
+ },
2829
+ "threshold": {
2830
+ "type": "number"
2831
+ }
2832
+ },
2833
+ "required": [
2834
+ "type",
2835
+ "key",
2836
+ "operator",
2837
+ "threshold"
2838
+ ],
2839
+ "additionalProperties": false
2840
+ },
2841
+ {
2842
+ "type": "object",
2843
+ "properties": {
2844
+ "type": {
2845
+ "type": "string",
2846
+ "const": "dismissed"
2847
+ },
2848
+ "key": {
2849
+ "type": "string"
2850
+ },
2851
+ "inverted": {
2852
+ "type": "boolean"
2853
+ }
2854
+ },
2855
+ "required": [
2856
+ "type",
2857
+ "key"
2858
+ ],
2859
+ "additionalProperties": false
2860
+ },
2861
+ {
2862
+ "type": "object",
2863
+ "properties": {
2864
+ "type": {
2865
+ "type": "string",
2866
+ "const": "cooldown_active"
2867
+ },
2868
+ "key": {
2869
+ "type": "string"
2870
+ },
2871
+ "inverted": {
2872
+ "type": "boolean"
2873
+ }
2874
+ },
2875
+ "required": [
2876
+ "type",
2877
+ "key"
2878
+ ],
2879
+ "additionalProperties": false
2880
+ },
2881
+ {
2882
+ "type": "object",
2883
+ "properties": {
2884
+ "type": {
2885
+ "type": "string",
2886
+ "const": "frequency_limit"
2887
+ },
2888
+ "key": {
2889
+ "type": "string"
2890
+ },
2891
+ "limit": {
2892
+ "type": "number"
2893
+ },
2894
+ "inverted": {
2895
+ "type": "boolean"
2896
+ }
2897
+ },
2898
+ "required": [
2899
+ "type",
2900
+ "key",
2901
+ "limit"
2902
+ ],
2903
+ "additionalProperties": false
2904
+ },
2905
+ {
2906
+ "type": "object",
2907
+ "properties": {
2908
+ "type": {
2909
+ "type": "string",
2910
+ "const": "event_count"
2911
+ },
2912
+ "key": {
2913
+ "type": "string"
2914
+ },
2915
+ "operator": {
2916
+ "type": "string",
2917
+ "enum": [
2918
+ "gte",
2919
+ "lte",
2920
+ "eq",
2921
+ "gt",
2922
+ "lt"
2923
+ ]
2924
+ },
2925
+ "count": {
2926
+ "type": "integer",
2927
+ "minimum": 0
2928
+ },
2929
+ "withinMs": {
2930
+ "type": "number",
2931
+ "exclusiveMinimum": 0
2932
+ }
2933
+ },
2934
+ "required": [
2935
+ "type",
2936
+ "key",
2937
+ "operator",
2938
+ "count"
2939
+ ],
2940
+ "additionalProperties": false
2263
2941
  }
2264
- },
2265
- "required": [
2266
- "type"
2267
- ],
2268
- "additionalProperties": true
2942
+ ]
2269
2943
  }
2270
2944
  },
2271
2945
  "value": {}
@@ -2628,16 +3302,264 @@
2628
3302
  "conditions": {
2629
3303
  "type": "array",
2630
3304
  "items": {
2631
- "type": "object",
2632
- "properties": {
2633
- "type": {
2634
- "type": "string"
3305
+ "anyOf": [
3306
+ {
3307
+ "type": "object",
3308
+ "properties": {
3309
+ "type": {
3310
+ "type": "string",
3311
+ "const": "page_url"
3312
+ },
3313
+ "url": {
3314
+ "type": "string"
3315
+ }
3316
+ },
3317
+ "required": [
3318
+ "type",
3319
+ "url"
3320
+ ],
3321
+ "additionalProperties": false
3322
+ },
3323
+ {
3324
+ "type": "object",
3325
+ "properties": {
3326
+ "type": {
3327
+ "type": "string",
3328
+ "const": "route"
3329
+ },
3330
+ "routeId": {
3331
+ "type": "string"
3332
+ }
3333
+ },
3334
+ "required": [
3335
+ "type",
3336
+ "routeId"
3337
+ ],
3338
+ "additionalProperties": false
3339
+ },
3340
+ {
3341
+ "type": "object",
3342
+ "properties": {
3343
+ "type": {
3344
+ "type": "string",
3345
+ "const": "anchor_visible"
3346
+ },
3347
+ "anchorId": {
3348
+ "type": "string"
3349
+ },
3350
+ "state": {
3351
+ "type": "string",
3352
+ "enum": [
3353
+ "visible",
3354
+ "present",
3355
+ "absent"
3356
+ ]
3357
+ }
3358
+ },
3359
+ "required": [
3360
+ "type",
3361
+ "anchorId",
3362
+ "state"
3363
+ ],
3364
+ "additionalProperties": false
3365
+ },
3366
+ {
3367
+ "type": "object",
3368
+ "properties": {
3369
+ "type": {
3370
+ "type": "string",
3371
+ "const": "event_occurred"
3372
+ },
3373
+ "eventName": {
3374
+ "type": "string"
3375
+ },
3376
+ "withinMs": {
3377
+ "type": "number"
3378
+ }
3379
+ },
3380
+ "required": [
3381
+ "type",
3382
+ "eventName"
3383
+ ],
3384
+ "additionalProperties": false
3385
+ },
3386
+ {
3387
+ "type": "object",
3388
+ "properties": {
3389
+ "type": {
3390
+ "type": "string",
3391
+ "const": "state_equals"
3392
+ },
3393
+ "key": {
3394
+ "type": "string"
3395
+ },
3396
+ "value": {}
3397
+ },
3398
+ "required": [
3399
+ "type",
3400
+ "key"
3401
+ ],
3402
+ "additionalProperties": false
3403
+ },
3404
+ {
3405
+ "type": "object",
3406
+ "properties": {
3407
+ "type": {
3408
+ "type": "string",
3409
+ "const": "viewport"
3410
+ },
3411
+ "minWidth": {
3412
+ "type": "number"
3413
+ },
3414
+ "maxWidth": {
3415
+ "type": "number"
3416
+ },
3417
+ "minHeight": {
3418
+ "type": "number"
3419
+ },
3420
+ "maxHeight": {
3421
+ "type": "number"
3422
+ }
3423
+ },
3424
+ "required": [
3425
+ "type"
3426
+ ],
3427
+ "additionalProperties": false
3428
+ },
3429
+ {
3430
+ "type": "object",
3431
+ "properties": {
3432
+ "type": {
3433
+ "type": "string",
3434
+ "const": "session_metric"
3435
+ },
3436
+ "key": {
3437
+ "type": "string"
3438
+ },
3439
+ "operator": {
3440
+ "type": "string",
3441
+ "enum": [
3442
+ "gte",
3443
+ "lte",
3444
+ "eq",
3445
+ "gt",
3446
+ "lt"
3447
+ ]
3448
+ },
3449
+ "threshold": {
3450
+ "type": "number"
3451
+ }
3452
+ },
3453
+ "required": [
3454
+ "type",
3455
+ "key",
3456
+ "operator",
3457
+ "threshold"
3458
+ ],
3459
+ "additionalProperties": false
3460
+ },
3461
+ {
3462
+ "type": "object",
3463
+ "properties": {
3464
+ "type": {
3465
+ "type": "string",
3466
+ "const": "dismissed"
3467
+ },
3468
+ "key": {
3469
+ "type": "string"
3470
+ },
3471
+ "inverted": {
3472
+ "type": "boolean"
3473
+ }
3474
+ },
3475
+ "required": [
3476
+ "type",
3477
+ "key"
3478
+ ],
3479
+ "additionalProperties": false
3480
+ },
3481
+ {
3482
+ "type": "object",
3483
+ "properties": {
3484
+ "type": {
3485
+ "type": "string",
3486
+ "const": "cooldown_active"
3487
+ },
3488
+ "key": {
3489
+ "type": "string"
3490
+ },
3491
+ "inverted": {
3492
+ "type": "boolean"
3493
+ }
3494
+ },
3495
+ "required": [
3496
+ "type",
3497
+ "key"
3498
+ ],
3499
+ "additionalProperties": false
3500
+ },
3501
+ {
3502
+ "type": "object",
3503
+ "properties": {
3504
+ "type": {
3505
+ "type": "string",
3506
+ "const": "frequency_limit"
3507
+ },
3508
+ "key": {
3509
+ "type": "string"
3510
+ },
3511
+ "limit": {
3512
+ "type": "number"
3513
+ },
3514
+ "inverted": {
3515
+ "type": "boolean"
3516
+ }
3517
+ },
3518
+ "required": [
3519
+ "type",
3520
+ "key",
3521
+ "limit"
3522
+ ],
3523
+ "additionalProperties": false
3524
+ },
3525
+ {
3526
+ "type": "object",
3527
+ "properties": {
3528
+ "type": {
3529
+ "type": "string",
3530
+ "const": "event_count"
3531
+ },
3532
+ "key": {
3533
+ "type": "string"
3534
+ },
3535
+ "operator": {
3536
+ "type": "string",
3537
+ "enum": [
3538
+ "gte",
3539
+ "lte",
3540
+ "eq",
3541
+ "gt",
3542
+ "lt"
3543
+ ]
3544
+ },
3545
+ "count": {
3546
+ "type": "integer",
3547
+ "minimum": 0
3548
+ },
3549
+ "withinMs": {
3550
+ "type": "number",
3551
+ "exclusiveMinimum": 0
3552
+ }
3553
+ },
3554
+ "required": [
3555
+ "type",
3556
+ "key",
3557
+ "operator",
3558
+ "count"
3559
+ ],
3560
+ "additionalProperties": false
2635
3561
  }
2636
- },
2637
- "required": [
2638
- "type"
2639
- ],
2640
- "additionalProperties": true
3562
+ ]
2641
3563
  }
2642
3564
  },
2643
3565
  "value": {}
@@ -2857,16 +3779,264 @@
2857
3779
  "conditions": {
2858
3780
  "type": "array",
2859
3781
  "items": {
2860
- "type": "object",
2861
- "properties": {
2862
- "type": {
2863
- "type": "string"
3782
+ "anyOf": [
3783
+ {
3784
+ "type": "object",
3785
+ "properties": {
3786
+ "type": {
3787
+ "type": "string",
3788
+ "const": "page_url"
3789
+ },
3790
+ "url": {
3791
+ "type": "string"
3792
+ }
3793
+ },
3794
+ "required": [
3795
+ "type",
3796
+ "url"
3797
+ ],
3798
+ "additionalProperties": false
3799
+ },
3800
+ {
3801
+ "type": "object",
3802
+ "properties": {
3803
+ "type": {
3804
+ "type": "string",
3805
+ "const": "route"
3806
+ },
3807
+ "routeId": {
3808
+ "type": "string"
3809
+ }
3810
+ },
3811
+ "required": [
3812
+ "type",
3813
+ "routeId"
3814
+ ],
3815
+ "additionalProperties": false
3816
+ },
3817
+ {
3818
+ "type": "object",
3819
+ "properties": {
3820
+ "type": {
3821
+ "type": "string",
3822
+ "const": "anchor_visible"
3823
+ },
3824
+ "anchorId": {
3825
+ "type": "string"
3826
+ },
3827
+ "state": {
3828
+ "type": "string",
3829
+ "enum": [
3830
+ "visible",
3831
+ "present",
3832
+ "absent"
3833
+ ]
3834
+ }
3835
+ },
3836
+ "required": [
3837
+ "type",
3838
+ "anchorId",
3839
+ "state"
3840
+ ],
3841
+ "additionalProperties": false
3842
+ },
3843
+ {
3844
+ "type": "object",
3845
+ "properties": {
3846
+ "type": {
3847
+ "type": "string",
3848
+ "const": "event_occurred"
3849
+ },
3850
+ "eventName": {
3851
+ "type": "string"
3852
+ },
3853
+ "withinMs": {
3854
+ "type": "number"
3855
+ }
3856
+ },
3857
+ "required": [
3858
+ "type",
3859
+ "eventName"
3860
+ ],
3861
+ "additionalProperties": false
3862
+ },
3863
+ {
3864
+ "type": "object",
3865
+ "properties": {
3866
+ "type": {
3867
+ "type": "string",
3868
+ "const": "state_equals"
3869
+ },
3870
+ "key": {
3871
+ "type": "string"
3872
+ },
3873
+ "value": {}
3874
+ },
3875
+ "required": [
3876
+ "type",
3877
+ "key"
3878
+ ],
3879
+ "additionalProperties": false
3880
+ },
3881
+ {
3882
+ "type": "object",
3883
+ "properties": {
3884
+ "type": {
3885
+ "type": "string",
3886
+ "const": "viewport"
3887
+ },
3888
+ "minWidth": {
3889
+ "type": "number"
3890
+ },
3891
+ "maxWidth": {
3892
+ "type": "number"
3893
+ },
3894
+ "minHeight": {
3895
+ "type": "number"
3896
+ },
3897
+ "maxHeight": {
3898
+ "type": "number"
3899
+ }
3900
+ },
3901
+ "required": [
3902
+ "type"
3903
+ ],
3904
+ "additionalProperties": false
3905
+ },
3906
+ {
3907
+ "type": "object",
3908
+ "properties": {
3909
+ "type": {
3910
+ "type": "string",
3911
+ "const": "session_metric"
3912
+ },
3913
+ "key": {
3914
+ "type": "string"
3915
+ },
3916
+ "operator": {
3917
+ "type": "string",
3918
+ "enum": [
3919
+ "gte",
3920
+ "lte",
3921
+ "eq",
3922
+ "gt",
3923
+ "lt"
3924
+ ]
3925
+ },
3926
+ "threshold": {
3927
+ "type": "number"
3928
+ }
3929
+ },
3930
+ "required": [
3931
+ "type",
3932
+ "key",
3933
+ "operator",
3934
+ "threshold"
3935
+ ],
3936
+ "additionalProperties": false
3937
+ },
3938
+ {
3939
+ "type": "object",
3940
+ "properties": {
3941
+ "type": {
3942
+ "type": "string",
3943
+ "const": "dismissed"
3944
+ },
3945
+ "key": {
3946
+ "type": "string"
3947
+ },
3948
+ "inverted": {
3949
+ "type": "boolean"
3950
+ }
3951
+ },
3952
+ "required": [
3953
+ "type",
3954
+ "key"
3955
+ ],
3956
+ "additionalProperties": false
3957
+ },
3958
+ {
3959
+ "type": "object",
3960
+ "properties": {
3961
+ "type": {
3962
+ "type": "string",
3963
+ "const": "cooldown_active"
3964
+ },
3965
+ "key": {
3966
+ "type": "string"
3967
+ },
3968
+ "inverted": {
3969
+ "type": "boolean"
3970
+ }
3971
+ },
3972
+ "required": [
3973
+ "type",
3974
+ "key"
3975
+ ],
3976
+ "additionalProperties": false
3977
+ },
3978
+ {
3979
+ "type": "object",
3980
+ "properties": {
3981
+ "type": {
3982
+ "type": "string",
3983
+ "const": "frequency_limit"
3984
+ },
3985
+ "key": {
3986
+ "type": "string"
3987
+ },
3988
+ "limit": {
3989
+ "type": "number"
3990
+ },
3991
+ "inverted": {
3992
+ "type": "boolean"
3993
+ }
3994
+ },
3995
+ "required": [
3996
+ "type",
3997
+ "key",
3998
+ "limit"
3999
+ ],
4000
+ "additionalProperties": false
4001
+ },
4002
+ {
4003
+ "type": "object",
4004
+ "properties": {
4005
+ "type": {
4006
+ "type": "string",
4007
+ "const": "event_count"
4008
+ },
4009
+ "key": {
4010
+ "type": "string"
4011
+ },
4012
+ "operator": {
4013
+ "type": "string",
4014
+ "enum": [
4015
+ "gte",
4016
+ "lte",
4017
+ "eq",
4018
+ "gt",
4019
+ "lt"
4020
+ ]
4021
+ },
4022
+ "count": {
4023
+ "type": "integer",
4024
+ "minimum": 0
4025
+ },
4026
+ "withinMs": {
4027
+ "type": "number",
4028
+ "exclusiveMinimum": 0
4029
+ }
4030
+ },
4031
+ "required": [
4032
+ "type",
4033
+ "key",
4034
+ "operator",
4035
+ "count"
4036
+ ],
4037
+ "additionalProperties": false
2864
4038
  }
2865
- },
2866
- "required": [
2867
- "type"
2868
- ],
2869
- "additionalProperties": true
4039
+ ]
2870
4040
  }
2871
4041
  },
2872
4042
  "value": {}
@@ -3127,16 +4297,264 @@
3127
4297
  "conditions": {
3128
4298
  "type": "array",
3129
4299
  "items": {
3130
- "type": "object",
3131
- "properties": {
3132
- "type": {
3133
- "type": "string"
4300
+ "anyOf": [
4301
+ {
4302
+ "type": "object",
4303
+ "properties": {
4304
+ "type": {
4305
+ "type": "string",
4306
+ "const": "page_url"
4307
+ },
4308
+ "url": {
4309
+ "type": "string"
4310
+ }
4311
+ },
4312
+ "required": [
4313
+ "type",
4314
+ "url"
4315
+ ],
4316
+ "additionalProperties": false
4317
+ },
4318
+ {
4319
+ "type": "object",
4320
+ "properties": {
4321
+ "type": {
4322
+ "type": "string",
4323
+ "const": "route"
4324
+ },
4325
+ "routeId": {
4326
+ "type": "string"
4327
+ }
4328
+ },
4329
+ "required": [
4330
+ "type",
4331
+ "routeId"
4332
+ ],
4333
+ "additionalProperties": false
4334
+ },
4335
+ {
4336
+ "type": "object",
4337
+ "properties": {
4338
+ "type": {
4339
+ "type": "string",
4340
+ "const": "anchor_visible"
4341
+ },
4342
+ "anchorId": {
4343
+ "type": "string"
4344
+ },
4345
+ "state": {
4346
+ "type": "string",
4347
+ "enum": [
4348
+ "visible",
4349
+ "present",
4350
+ "absent"
4351
+ ]
4352
+ }
4353
+ },
4354
+ "required": [
4355
+ "type",
4356
+ "anchorId",
4357
+ "state"
4358
+ ],
4359
+ "additionalProperties": false
4360
+ },
4361
+ {
4362
+ "type": "object",
4363
+ "properties": {
4364
+ "type": {
4365
+ "type": "string",
4366
+ "const": "event_occurred"
4367
+ },
4368
+ "eventName": {
4369
+ "type": "string"
4370
+ },
4371
+ "withinMs": {
4372
+ "type": "number"
4373
+ }
4374
+ },
4375
+ "required": [
4376
+ "type",
4377
+ "eventName"
4378
+ ],
4379
+ "additionalProperties": false
4380
+ },
4381
+ {
4382
+ "type": "object",
4383
+ "properties": {
4384
+ "type": {
4385
+ "type": "string",
4386
+ "const": "state_equals"
4387
+ },
4388
+ "key": {
4389
+ "type": "string"
4390
+ },
4391
+ "value": {}
4392
+ },
4393
+ "required": [
4394
+ "type",
4395
+ "key"
4396
+ ],
4397
+ "additionalProperties": false
4398
+ },
4399
+ {
4400
+ "type": "object",
4401
+ "properties": {
4402
+ "type": {
4403
+ "type": "string",
4404
+ "const": "viewport"
4405
+ },
4406
+ "minWidth": {
4407
+ "type": "number"
4408
+ },
4409
+ "maxWidth": {
4410
+ "type": "number"
4411
+ },
4412
+ "minHeight": {
4413
+ "type": "number"
4414
+ },
4415
+ "maxHeight": {
4416
+ "type": "number"
4417
+ }
4418
+ },
4419
+ "required": [
4420
+ "type"
4421
+ ],
4422
+ "additionalProperties": false
4423
+ },
4424
+ {
4425
+ "type": "object",
4426
+ "properties": {
4427
+ "type": {
4428
+ "type": "string",
4429
+ "const": "session_metric"
4430
+ },
4431
+ "key": {
4432
+ "type": "string"
4433
+ },
4434
+ "operator": {
4435
+ "type": "string",
4436
+ "enum": [
4437
+ "gte",
4438
+ "lte",
4439
+ "eq",
4440
+ "gt",
4441
+ "lt"
4442
+ ]
4443
+ },
4444
+ "threshold": {
4445
+ "type": "number"
4446
+ }
4447
+ },
4448
+ "required": [
4449
+ "type",
4450
+ "key",
4451
+ "operator",
4452
+ "threshold"
4453
+ ],
4454
+ "additionalProperties": false
4455
+ },
4456
+ {
4457
+ "type": "object",
4458
+ "properties": {
4459
+ "type": {
4460
+ "type": "string",
4461
+ "const": "dismissed"
4462
+ },
4463
+ "key": {
4464
+ "type": "string"
4465
+ },
4466
+ "inverted": {
4467
+ "type": "boolean"
4468
+ }
4469
+ },
4470
+ "required": [
4471
+ "type",
4472
+ "key"
4473
+ ],
4474
+ "additionalProperties": false
4475
+ },
4476
+ {
4477
+ "type": "object",
4478
+ "properties": {
4479
+ "type": {
4480
+ "type": "string",
4481
+ "const": "cooldown_active"
4482
+ },
4483
+ "key": {
4484
+ "type": "string"
4485
+ },
4486
+ "inverted": {
4487
+ "type": "boolean"
4488
+ }
4489
+ },
4490
+ "required": [
4491
+ "type",
4492
+ "key"
4493
+ ],
4494
+ "additionalProperties": false
4495
+ },
4496
+ {
4497
+ "type": "object",
4498
+ "properties": {
4499
+ "type": {
4500
+ "type": "string",
4501
+ "const": "frequency_limit"
4502
+ },
4503
+ "key": {
4504
+ "type": "string"
4505
+ },
4506
+ "limit": {
4507
+ "type": "number"
4508
+ },
4509
+ "inverted": {
4510
+ "type": "boolean"
4511
+ }
4512
+ },
4513
+ "required": [
4514
+ "type",
4515
+ "key",
4516
+ "limit"
4517
+ ],
4518
+ "additionalProperties": false
4519
+ },
4520
+ {
4521
+ "type": "object",
4522
+ "properties": {
4523
+ "type": {
4524
+ "type": "string",
4525
+ "const": "event_count"
4526
+ },
4527
+ "key": {
4528
+ "type": "string"
4529
+ },
4530
+ "operator": {
4531
+ "type": "string",
4532
+ "enum": [
4533
+ "gte",
4534
+ "lte",
4535
+ "eq",
4536
+ "gt",
4537
+ "lt"
4538
+ ]
4539
+ },
4540
+ "count": {
4541
+ "type": "integer",
4542
+ "minimum": 0
4543
+ },
4544
+ "withinMs": {
4545
+ "type": "number",
4546
+ "exclusiveMinimum": 0
4547
+ }
4548
+ },
4549
+ "required": [
4550
+ "type",
4551
+ "key",
4552
+ "operator",
4553
+ "count"
4554
+ ],
4555
+ "additionalProperties": false
3134
4556
  }
3135
- },
3136
- "required": [
3137
- "type"
3138
- ],
3139
- "additionalProperties": true
4557
+ ]
3140
4558
  }
3141
4559
  },
3142
4560
  "value": {}
@@ -3409,16 +4827,264 @@
3409
4827
  "conditions": {
3410
4828
  "type": "array",
3411
4829
  "items": {
3412
- "type": "object",
3413
- "properties": {
3414
- "type": {
3415
- "type": "string"
4830
+ "anyOf": [
4831
+ {
4832
+ "type": "object",
4833
+ "properties": {
4834
+ "type": {
4835
+ "type": "string",
4836
+ "const": "page_url"
4837
+ },
4838
+ "url": {
4839
+ "type": "string"
4840
+ }
4841
+ },
4842
+ "required": [
4843
+ "type",
4844
+ "url"
4845
+ ],
4846
+ "additionalProperties": false
4847
+ },
4848
+ {
4849
+ "type": "object",
4850
+ "properties": {
4851
+ "type": {
4852
+ "type": "string",
4853
+ "const": "route"
4854
+ },
4855
+ "routeId": {
4856
+ "type": "string"
4857
+ }
4858
+ },
4859
+ "required": [
4860
+ "type",
4861
+ "routeId"
4862
+ ],
4863
+ "additionalProperties": false
4864
+ },
4865
+ {
4866
+ "type": "object",
4867
+ "properties": {
4868
+ "type": {
4869
+ "type": "string",
4870
+ "const": "anchor_visible"
4871
+ },
4872
+ "anchorId": {
4873
+ "type": "string"
4874
+ },
4875
+ "state": {
4876
+ "type": "string",
4877
+ "enum": [
4878
+ "visible",
4879
+ "present",
4880
+ "absent"
4881
+ ]
4882
+ }
4883
+ },
4884
+ "required": [
4885
+ "type",
4886
+ "anchorId",
4887
+ "state"
4888
+ ],
4889
+ "additionalProperties": false
4890
+ },
4891
+ {
4892
+ "type": "object",
4893
+ "properties": {
4894
+ "type": {
4895
+ "type": "string",
4896
+ "const": "event_occurred"
4897
+ },
4898
+ "eventName": {
4899
+ "type": "string"
4900
+ },
4901
+ "withinMs": {
4902
+ "type": "number"
4903
+ }
4904
+ },
4905
+ "required": [
4906
+ "type",
4907
+ "eventName"
4908
+ ],
4909
+ "additionalProperties": false
4910
+ },
4911
+ {
4912
+ "type": "object",
4913
+ "properties": {
4914
+ "type": {
4915
+ "type": "string",
4916
+ "const": "state_equals"
4917
+ },
4918
+ "key": {
4919
+ "type": "string"
4920
+ },
4921
+ "value": {}
4922
+ },
4923
+ "required": [
4924
+ "type",
4925
+ "key"
4926
+ ],
4927
+ "additionalProperties": false
4928
+ },
4929
+ {
4930
+ "type": "object",
4931
+ "properties": {
4932
+ "type": {
4933
+ "type": "string",
4934
+ "const": "viewport"
4935
+ },
4936
+ "minWidth": {
4937
+ "type": "number"
4938
+ },
4939
+ "maxWidth": {
4940
+ "type": "number"
4941
+ },
4942
+ "minHeight": {
4943
+ "type": "number"
4944
+ },
4945
+ "maxHeight": {
4946
+ "type": "number"
4947
+ }
4948
+ },
4949
+ "required": [
4950
+ "type"
4951
+ ],
4952
+ "additionalProperties": false
4953
+ },
4954
+ {
4955
+ "type": "object",
4956
+ "properties": {
4957
+ "type": {
4958
+ "type": "string",
4959
+ "const": "session_metric"
4960
+ },
4961
+ "key": {
4962
+ "type": "string"
4963
+ },
4964
+ "operator": {
4965
+ "type": "string",
4966
+ "enum": [
4967
+ "gte",
4968
+ "lte",
4969
+ "eq",
4970
+ "gt",
4971
+ "lt"
4972
+ ]
4973
+ },
4974
+ "threshold": {
4975
+ "type": "number"
4976
+ }
4977
+ },
4978
+ "required": [
4979
+ "type",
4980
+ "key",
4981
+ "operator",
4982
+ "threshold"
4983
+ ],
4984
+ "additionalProperties": false
4985
+ },
4986
+ {
4987
+ "type": "object",
4988
+ "properties": {
4989
+ "type": {
4990
+ "type": "string",
4991
+ "const": "dismissed"
4992
+ },
4993
+ "key": {
4994
+ "type": "string"
4995
+ },
4996
+ "inverted": {
4997
+ "type": "boolean"
4998
+ }
4999
+ },
5000
+ "required": [
5001
+ "type",
5002
+ "key"
5003
+ ],
5004
+ "additionalProperties": false
5005
+ },
5006
+ {
5007
+ "type": "object",
5008
+ "properties": {
5009
+ "type": {
5010
+ "type": "string",
5011
+ "const": "cooldown_active"
5012
+ },
5013
+ "key": {
5014
+ "type": "string"
5015
+ },
5016
+ "inverted": {
5017
+ "type": "boolean"
5018
+ }
5019
+ },
5020
+ "required": [
5021
+ "type",
5022
+ "key"
5023
+ ],
5024
+ "additionalProperties": false
5025
+ },
5026
+ {
5027
+ "type": "object",
5028
+ "properties": {
5029
+ "type": {
5030
+ "type": "string",
5031
+ "const": "frequency_limit"
5032
+ },
5033
+ "key": {
5034
+ "type": "string"
5035
+ },
5036
+ "limit": {
5037
+ "type": "number"
5038
+ },
5039
+ "inverted": {
5040
+ "type": "boolean"
5041
+ }
5042
+ },
5043
+ "required": [
5044
+ "type",
5045
+ "key",
5046
+ "limit"
5047
+ ],
5048
+ "additionalProperties": false
5049
+ },
5050
+ {
5051
+ "type": "object",
5052
+ "properties": {
5053
+ "type": {
5054
+ "type": "string",
5055
+ "const": "event_count"
5056
+ },
5057
+ "key": {
5058
+ "type": "string"
5059
+ },
5060
+ "operator": {
5061
+ "type": "string",
5062
+ "enum": [
5063
+ "gte",
5064
+ "lte",
5065
+ "eq",
5066
+ "gt",
5067
+ "lt"
5068
+ ]
5069
+ },
5070
+ "count": {
5071
+ "type": "integer",
5072
+ "minimum": 0
5073
+ },
5074
+ "withinMs": {
5075
+ "type": "number",
5076
+ "exclusiveMinimum": 0
5077
+ }
5078
+ },
5079
+ "required": [
5080
+ "type",
5081
+ "key",
5082
+ "operator",
5083
+ "count"
5084
+ ],
5085
+ "additionalProperties": false
3416
5086
  }
3417
- },
3418
- "required": [
3419
- "type"
3420
- ],
3421
- "additionalProperties": true
5087
+ ]
3422
5088
  }
3423
5089
  },
3424
5090
  "value": {}
@@ -3601,6 +5267,85 @@
3601
5267
  }
3602
5268
  },
3603
5269
  "additionalProperties": false
5270
+ },
5271
+ "actionStep": {
5272
+ "oneOf": [
5273
+ {
5274
+ "$ref": "#/$defs/addClass"
5275
+ },
5276
+ {
5277
+ "$ref": "#/$defs/addPoints"
5278
+ },
5279
+ {
5280
+ "$ref": "#/$defs/awardBadge"
5281
+ },
5282
+ {
5283
+ "$ref": "#/$defs/badge"
5284
+ },
5285
+ {
5286
+ "$ref": "#/$defs/faqQuestion"
5287
+ },
5288
+ {
5289
+ "$ref": "#/$defs/faqScrollTo"
5290
+ },
5291
+ {
5292
+ "$ref": "#/$defs/faqToggleItem"
5293
+ },
5294
+ {
5295
+ "$ref": "#/$defs/faqUpdate"
5296
+ },
5297
+ {
5298
+ "$ref": "#/$defs/highlight"
5299
+ },
5300
+ {
5301
+ "$ref": "#/$defs/insertHtml"
5302
+ },
5303
+ {
5304
+ "$ref": "#/$defs/modal"
5305
+ },
5306
+ {
5307
+ "$ref": "#/$defs/mountWidget"
5308
+ },
5309
+ {
5310
+ "$ref": "#/$defs/navigate"
5311
+ },
5312
+ {
5313
+ "$ref": "#/$defs/navTip"
5314
+ },
5315
+ {
5316
+ "$ref": "#/$defs/parallel"
5317
+ },
5318
+ {
5319
+ "$ref": "#/$defs/pulse"
5320
+ },
5321
+ {
5322
+ "$ref": "#/$defs/removeClass"
5323
+ },
5324
+ {
5325
+ "$ref": "#/$defs/scrollTo"
5326
+ },
5327
+ {
5328
+ "$ref": "#/$defs/sequence"
5329
+ },
5330
+ {
5331
+ "$ref": "#/$defs/setAttr"
5332
+ },
5333
+ {
5334
+ "$ref": "#/$defs/setStyle"
5335
+ },
5336
+ {
5337
+ "$ref": "#/$defs/setText"
5338
+ },
5339
+ {
5340
+ "$ref": "#/$defs/tooltip"
5341
+ },
5342
+ {
5343
+ "$ref": "#/$defs/tour"
5344
+ },
5345
+ {
5346
+ "$ref": "#/$defs/wait"
5347
+ }
5348
+ ]
3604
5349
  }
3605
5350
  }
3606
5351
  }