@ai-ecoverse/slicc-browsers 1.6.0 → 1.7.1

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.
@@ -126,7 +126,7 @@
126
126
  "observation": {
127
127
  "type": "object",
128
128
  "additionalProperties": false,
129
- "required": ["means"],
129
+ "required": ["means", "check"],
130
130
  "properties": {
131
131
  "means": {
132
132
  "type": "string",
@@ -142,6 +142,9 @@
142
142
  },
143
143
  "requires": {
144
144
  "$ref": "#/$defs/requires"
145
+ },
146
+ "check": {
147
+ "$ref": "#/$defs/check"
145
148
  }
146
149
  }
147
150
  },
@@ -284,8 +287,61 @@
284
287
  "items": {
285
288
  "enum": ["href", "iframe", "popup", "redirect"]
286
289
  }
290
+ },
291
+ "liveCheck": {
292
+ "$ref": "#/$defs/liveCheck"
287
293
  }
288
- }
294
+ },
295
+ "allOf": [
296
+ {
297
+ "if": {
298
+ "properties": {
299
+ "kind": {
300
+ "const": "cdp"
301
+ }
302
+ },
303
+ "required": ["kind"]
304
+ },
305
+ "then": {
306
+ "required": ["liveCheck"]
307
+ }
308
+ },
309
+ {
310
+ "if": {
311
+ "properties": {
312
+ "observe": {
313
+ "type": "object",
314
+ "required": ["hopped"]
315
+ }
316
+ },
317
+ "required": ["observe"]
318
+ },
319
+ "then": {
320
+ "anyOf": [
321
+ {
322
+ "properties": {
323
+ "setup": {
324
+ "type": "array",
325
+ "contains": {
326
+ "$ref": "#/$defs/hopStep"
327
+ }
328
+ }
329
+ }
330
+ },
331
+ {
332
+ "properties": {
333
+ "trigger": {
334
+ "type": "array",
335
+ "contains": {
336
+ "$ref": "#/$defs/hopStep"
337
+ }
338
+ }
339
+ }
340
+ }
341
+ ]
342
+ }
343
+ }
344
+ ]
289
345
  },
290
346
  "steps": {
291
347
  "type": "array",
@@ -576,6 +632,1056 @@
576
632
  }
577
633
  }
578
634
  ]
635
+ },
636
+ "check": {
637
+ "oneOf": [
638
+ {
639
+ "type": "object",
640
+ "additionalProperties": false,
641
+ "required": ["beacon", "observer"],
642
+ "properties": {
643
+ "beacon": {
644
+ "type": "string"
645
+ },
646
+ "observer": {
647
+ "const": "fixture"
648
+ }
649
+ }
650
+ },
651
+ {
652
+ "type": "object",
653
+ "additionalProperties": false,
654
+ "required": ["served", "observer"],
655
+ "properties": {
656
+ "served": {
657
+ "type": "string"
658
+ },
659
+ "origin": {
660
+ "type": "string"
661
+ },
662
+ "observer": {
663
+ "const": "fixture"
664
+ },
665
+ "tagged": {
666
+ "type": "boolean"
667
+ }
668
+ }
669
+ },
670
+ {
671
+ "type": "object",
672
+ "additionalProperties": false,
673
+ "required": ["header", "on", "observer"],
674
+ "properties": {
675
+ "header": {
676
+ "type": "string"
677
+ },
678
+ "on": {
679
+ "type": "string"
680
+ },
681
+ "value": {
682
+ "type": "string"
683
+ },
684
+ "observer": {
685
+ "const": "fixture"
686
+ }
687
+ }
688
+ },
689
+ {
690
+ "type": "object",
691
+ "additionalProperties": false,
692
+ "required": ["event", "observer"],
693
+ "properties": {
694
+ "event": {
695
+ "type": "string"
696
+ },
697
+ "where": {
698
+ "$ref": "#/$defs/predicate"
699
+ },
700
+ "observer": {
701
+ "const": "client"
702
+ }
703
+ }
704
+ },
705
+ {
706
+ "type": "object",
707
+ "additionalProperties": false,
708
+ "required": ["result", "equals", "observer"],
709
+ "properties": {
710
+ "result": {
711
+ "type": "string"
712
+ },
713
+ "path": {
714
+ "type": "string"
715
+ },
716
+ "equals": {
717
+ "$ref": "#/$defs/predicate"
718
+ },
719
+ "observer": {
720
+ "const": "client"
721
+ }
722
+ }
723
+ },
724
+ {
725
+ "type": "object",
726
+ "additionalProperties": false,
727
+ "required": ["cookie", "from", "observer"],
728
+ "properties": {
729
+ "cookie": {
730
+ "type": "string"
731
+ },
732
+ "from": {
733
+ "type": "string"
734
+ },
735
+ "observer": {
736
+ "const": "client"
737
+ },
738
+ "on": {
739
+ "type": "string"
740
+ }
741
+ }
742
+ },
743
+ {
744
+ "type": "object",
745
+ "additionalProperties": false,
746
+ "required": ["compare", "path", "observer"],
747
+ "properties": {
748
+ "compare": {
749
+ "type": "array",
750
+ "items": {
751
+ "type": "string"
752
+ },
753
+ "minItems": 2,
754
+ "maxItems": 2
755
+ },
756
+ "path": {
757
+ "type": "string"
758
+ },
759
+ "observer": {
760
+ "const": "client"
761
+ }
762
+ }
763
+ },
764
+ {
765
+ "type": "object",
766
+ "additionalProperties": false,
767
+ "required": ["refused", "observer"],
768
+ "properties": {
769
+ "refused": {
770
+ "$ref": "#/$defs/callNames"
771
+ },
772
+ "refusal": {
773
+ "type": "object",
774
+ "additionalProperties": false,
775
+ "required": ["match"],
776
+ "properties": {
777
+ "match": {
778
+ "type": "string",
779
+ "minLength": 1
780
+ }
781
+ }
782
+ },
783
+ "observer": {
784
+ "const": "client"
785
+ }
786
+ }
787
+ },
788
+ {
789
+ "type": "object",
790
+ "additionalProperties": false,
791
+ "required": ["reached", "observer"],
792
+ "properties": {
793
+ "reached": {
794
+ "$ref": "#/$defs/callNames"
795
+ },
796
+ "observer": {
797
+ "const": "client"
798
+ }
799
+ }
800
+ },
801
+ {
802
+ "type": "object",
803
+ "additionalProperties": false,
804
+ "required": ["attached", "observer"],
805
+ "properties": {
806
+ "attached": {
807
+ "type": "string"
808
+ },
809
+ "session": {
810
+ "$ref": "#/$defs/session"
811
+ },
812
+ "observer": {
813
+ "const": "client"
814
+ }
815
+ }
816
+ },
817
+ {
818
+ "type": "object",
819
+ "additionalProperties": false,
820
+ "required": ["delivered", "observer"],
821
+ "properties": {
822
+ "delivered": {
823
+ "type": "string"
824
+ },
825
+ "observer": {
826
+ "const": "client"
827
+ }
828
+ }
829
+ },
830
+ {
831
+ "type": "object",
832
+ "additionalProperties": false,
833
+ "required": ["title", "via", "observer"],
834
+ "properties": {
835
+ "title": {
836
+ "type": "string"
837
+ },
838
+ "via": {
839
+ "const": "unguarded"
840
+ },
841
+ "session": {
842
+ "$ref": "#/$defs/session"
843
+ },
844
+ "observer": {
845
+ "const": "unguarded"
846
+ }
847
+ }
848
+ },
849
+ {
850
+ "type": "object",
851
+ "additionalProperties": false,
852
+ "required": ["expression", "equals", "via", "observer"],
853
+ "properties": {
854
+ "expression": {
855
+ "type": "string"
856
+ },
857
+ "equals": {
858
+ "$ref": "#/$defs/predicate"
859
+ },
860
+ "via": {
861
+ "const": "unguarded"
862
+ },
863
+ "session": {
864
+ "$ref": "#/$defs/session"
865
+ },
866
+ "observer": {
867
+ "const": "unguarded"
868
+ }
869
+ }
870
+ },
871
+ {
872
+ "type": "object",
873
+ "additionalProperties": false,
874
+ "required": ["all", "observer"],
875
+ "properties": {
876
+ "all": {
877
+ "$ref": "#/$defs/checks"
878
+ },
879
+ "observer": {
880
+ "const": "client"
881
+ }
882
+ }
883
+ },
884
+ {
885
+ "type": "object",
886
+ "additionalProperties": false,
887
+ "required": ["any", "observer"],
888
+ "properties": {
889
+ "any": {
890
+ "$ref": "#/$defs/checks"
891
+ },
892
+ "observer": {
893
+ "const": "client"
894
+ }
895
+ }
896
+ },
897
+ {
898
+ "type": "object",
899
+ "additionalProperties": false,
900
+ "required": ["not", "observer"],
901
+ "properties": {
902
+ "not": {
903
+ "$ref": "#/$defs/check"
904
+ },
905
+ "observer": {
906
+ "const": "client"
907
+ }
908
+ }
909
+ },
910
+ {
911
+ "type": "object",
912
+ "additionalProperties": false,
913
+ "required": ["executed", "observer"],
914
+ "properties": {
915
+ "executed": {
916
+ "enum": ["setup", "trigger", "child"]
917
+ },
918
+ "observer": {
919
+ "const": "client"
920
+ }
921
+ }
922
+ },
923
+ {
924
+ "type": "object",
925
+ "additionalProperties": false,
926
+ "required": ["live", "observer"],
927
+ "properties": {
928
+ "live": {
929
+ "const": true
930
+ },
931
+ "observer": {
932
+ "const": "unguarded"
933
+ }
934
+ }
935
+ },
936
+ {
937
+ "type": "object",
938
+ "additionalProperties": false,
939
+ "required": ["hops", "to", "observer"],
940
+ "properties": {
941
+ "hops": {
942
+ "$ref": "#/$defs/hops"
943
+ },
944
+ "to": {
945
+ "type": "string"
946
+ },
947
+ "observer": {
948
+ "const": "fixture"
949
+ }
950
+ }
951
+ },
952
+ {
953
+ "type": "object",
954
+ "additionalProperties": false,
955
+ "required": ["detached", "observer"],
956
+ "properties": {
957
+ "detached": {
958
+ "enum": ["page", "child"]
959
+ },
960
+ "observer": {
961
+ "const": "client"
962
+ }
963
+ }
964
+ },
965
+ {
966
+ "type": "object",
967
+ "additionalProperties": false,
968
+ "required": ["pre", "observer"],
969
+ "properties": {
970
+ "pre": {
971
+ "$ref": "#/$defs/url"
972
+ },
973
+ "observer": {
974
+ "const": "fixture"
975
+ }
976
+ }
977
+ },
978
+ {
979
+ "type": "object",
980
+ "additionalProperties": false,
981
+ "required": ["loaded", "observer"],
982
+ "properties": {
983
+ "loaded": {
984
+ "$ref": "#/$defs/url"
985
+ },
986
+ "observer": {
987
+ "const": "fixture"
988
+ }
989
+ }
990
+ },
991
+ {
992
+ "type": "object",
993
+ "additionalProperties": false,
994
+ "required": ["registration", "observer"],
995
+ "properties": {
996
+ "registration": {
997
+ "const": "any"
998
+ },
999
+ "observer": {
1000
+ "const": "client"
1001
+ }
1002
+ }
1003
+ },
1004
+ {
1005
+ "type": "object",
1006
+ "additionalProperties": false,
1007
+ "required": ["state", "observer"],
1008
+ "properties": {
1009
+ "state": {
1010
+ "type": "object",
1011
+ "additionalProperties": false,
1012
+ "required": ["origin", "cookie", "value"],
1013
+ "properties": {
1014
+ "origin": {
1015
+ "type": "string"
1016
+ },
1017
+ "cookie": {
1018
+ "type": "string"
1019
+ },
1020
+ "value": {
1021
+ "type": "string"
1022
+ },
1023
+ "storage": {
1024
+ "type": "boolean"
1025
+ }
1026
+ }
1027
+ },
1028
+ "observer": {
1029
+ "const": "unguarded"
1030
+ }
1031
+ }
1032
+ },
1033
+ {
1034
+ "type": "object",
1035
+ "additionalProperties": false,
1036
+ "required": ["filtered", "observer"],
1037
+ "properties": {
1038
+ "filtered": {
1039
+ "type": "object",
1040
+ "additionalProperties": false,
1041
+ "required": ["from", "cookie"],
1042
+ "properties": {
1043
+ "from": {
1044
+ "$ref": "#/$defs/callNames"
1045
+ },
1046
+ "cookie": {
1047
+ "type": "string"
1048
+ },
1049
+ "on": {
1050
+ "type": "string"
1051
+ }
1052
+ }
1053
+ },
1054
+ "observer": {
1055
+ "const": "client"
1056
+ }
1057
+ }
1058
+ },
1059
+ {
1060
+ "type": "object",
1061
+ "additionalProperties": false,
1062
+ "required": ["blocked", "observer"],
1063
+ "properties": {
1064
+ "blocked": {
1065
+ "type": "object",
1066
+ "additionalProperties": false,
1067
+ "required": ["url"],
1068
+ "properties": {
1069
+ "url": {
1070
+ "$ref": "#/$defs/url"
1071
+ },
1072
+ "session": {
1073
+ "enum": ["page", "child"]
1074
+ },
1075
+ "frame": {
1076
+ "type": "boolean"
1077
+ }
1078
+ }
1079
+ },
1080
+ "observer": {
1081
+ "const": "client"
1082
+ }
1083
+ }
1084
+ },
1085
+ {
1086
+ "type": "object",
1087
+ "additionalProperties": false,
1088
+ "required": ["blocked", "observer"],
1089
+ "properties": {
1090
+ "blocked": {
1091
+ "type": "object",
1092
+ "additionalProperties": false,
1093
+ "required": ["url"],
1094
+ "properties": {
1095
+ "url": {
1096
+ "$ref": "#/$defs/url"
1097
+ },
1098
+ "session": {
1099
+ "enum": ["page", "child"]
1100
+ },
1101
+ "frame": {
1102
+ "type": "boolean"
1103
+ }
1104
+ }
1105
+ },
1106
+ "observer": {
1107
+ "const": "unguarded"
1108
+ }
1109
+ }
1110
+ }
1111
+ ]
1112
+ },
1113
+ "checks": {
1114
+ "type": "array",
1115
+ "minItems": 1,
1116
+ "items": {
1117
+ "$ref": "#/$defs/check"
1118
+ }
1119
+ },
1120
+ "callNames": {
1121
+ "oneOf": [
1122
+ {
1123
+ "const": "all"
1124
+ },
1125
+ {
1126
+ "type": "array",
1127
+ "minItems": 1,
1128
+ "uniqueItems": true,
1129
+ "items": {
1130
+ "$ref": "#/$defs/name"
1131
+ }
1132
+ }
1133
+ ]
1134
+ },
1135
+ "predicate": {
1136
+ "oneOf": [
1137
+ {
1138
+ "type": ["string", "boolean", "number", "null"]
1139
+ },
1140
+ {
1141
+ "type": "object",
1142
+ "properties": {
1143
+ "$contains": {
1144
+ "type": "string"
1145
+ },
1146
+ "$regex": {
1147
+ "type": "string"
1148
+ },
1149
+ "$some": {
1150
+ "$ref": "#/$defs/predicate"
1151
+ },
1152
+ "$every": {
1153
+ "$ref": "#/$defs/predicate"
1154
+ },
1155
+ "$encoded": {
1156
+ "type": "object",
1157
+ "additionalProperties": false,
1158
+ "required": ["value"],
1159
+ "properties": {
1160
+ "value": {
1161
+ "type": "string"
1162
+ },
1163
+ "prefix": {
1164
+ "type": "string"
1165
+ }
1166
+ }
1167
+ }
1168
+ },
1169
+ "additionalProperties": {
1170
+ "$ref": "#/$defs/predicate"
1171
+ }
1172
+ }
1173
+ ]
1174
+ },
1175
+ "hopStep": {
1176
+ "anyOf": [
1177
+ {
1178
+ "type": "object",
1179
+ "required": ["hops"]
1180
+ },
1181
+ {
1182
+ "type": "object",
1183
+ "required": ["children"],
1184
+ "properties": {
1185
+ "children": {
1186
+ "type": "array",
1187
+ "contains": {
1188
+ "$ref": "#/$defs/hopStep"
1189
+ }
1190
+ }
1191
+ }
1192
+ }
1193
+ ]
1194
+ },
1195
+ "url": {
1196
+ "oneOf": [
1197
+ {
1198
+ "type": "string"
1199
+ },
1200
+ {
1201
+ "type": "object",
1202
+ "additionalProperties": false,
1203
+ "required": ["hops", "to"],
1204
+ "properties": {
1205
+ "hops": {
1206
+ "$ref": "#/$defs/hops"
1207
+ },
1208
+ "to": {
1209
+ "type": "string"
1210
+ },
1211
+ "index": {
1212
+ "type": "integer",
1213
+ "minimum": 0
1214
+ }
1215
+ }
1216
+ }
1217
+ ]
1218
+ },
1219
+ "liveCheck": {
1220
+ "type": "object",
1221
+ "oneOf": [
1222
+ {
1223
+ "type": "object",
1224
+ "additionalProperties": false,
1225
+ "required": ["beacon", "observer"],
1226
+ "properties": {
1227
+ "beacon": {
1228
+ "type": "string"
1229
+ },
1230
+ "observer": {
1231
+ "const": "fixture"
1232
+ }
1233
+ }
1234
+ },
1235
+ {
1236
+ "type": "object",
1237
+ "additionalProperties": false,
1238
+ "required": ["served", "observer"],
1239
+ "properties": {
1240
+ "served": {
1241
+ "type": "string"
1242
+ },
1243
+ "origin": {
1244
+ "type": "string"
1245
+ },
1246
+ "observer": {
1247
+ "const": "fixture"
1248
+ },
1249
+ "tagged": {
1250
+ "type": "boolean"
1251
+ }
1252
+ }
1253
+ },
1254
+ {
1255
+ "type": "object",
1256
+ "additionalProperties": false,
1257
+ "required": ["header", "on", "observer"],
1258
+ "properties": {
1259
+ "header": {
1260
+ "type": "string"
1261
+ },
1262
+ "on": {
1263
+ "type": "string"
1264
+ },
1265
+ "value": {
1266
+ "type": "string"
1267
+ },
1268
+ "observer": {
1269
+ "const": "fixture"
1270
+ }
1271
+ }
1272
+ },
1273
+ {
1274
+ "type": "object",
1275
+ "additionalProperties": false,
1276
+ "required": ["event", "observer"],
1277
+ "properties": {
1278
+ "event": {
1279
+ "type": "string"
1280
+ },
1281
+ "where": {
1282
+ "$ref": "#/$defs/predicate"
1283
+ },
1284
+ "observer": {
1285
+ "const": "client"
1286
+ }
1287
+ }
1288
+ },
1289
+ {
1290
+ "type": "object",
1291
+ "additionalProperties": false,
1292
+ "required": ["result", "equals", "observer"],
1293
+ "properties": {
1294
+ "result": {
1295
+ "type": "string"
1296
+ },
1297
+ "path": {
1298
+ "type": "string"
1299
+ },
1300
+ "equals": {
1301
+ "$ref": "#/$defs/predicate"
1302
+ },
1303
+ "observer": {
1304
+ "const": "client"
1305
+ }
1306
+ }
1307
+ },
1308
+ {
1309
+ "type": "object",
1310
+ "additionalProperties": false,
1311
+ "required": ["cookie", "from", "observer"],
1312
+ "properties": {
1313
+ "cookie": {
1314
+ "type": "string"
1315
+ },
1316
+ "from": {
1317
+ "type": "string"
1318
+ },
1319
+ "observer": {
1320
+ "const": "client"
1321
+ },
1322
+ "on": {
1323
+ "type": "string"
1324
+ }
1325
+ }
1326
+ },
1327
+ {
1328
+ "type": "object",
1329
+ "additionalProperties": false,
1330
+ "required": ["compare", "path", "observer"],
1331
+ "properties": {
1332
+ "compare": {
1333
+ "type": "array",
1334
+ "items": {
1335
+ "type": "string"
1336
+ },
1337
+ "minItems": 2,
1338
+ "maxItems": 2
1339
+ },
1340
+ "path": {
1341
+ "type": "string"
1342
+ },
1343
+ "observer": {
1344
+ "const": "client"
1345
+ }
1346
+ }
1347
+ },
1348
+ {
1349
+ "type": "object",
1350
+ "additionalProperties": false,
1351
+ "required": ["refused", "observer"],
1352
+ "properties": {
1353
+ "refused": {
1354
+ "$ref": "#/$defs/callNames"
1355
+ },
1356
+ "refusal": {
1357
+ "type": "object",
1358
+ "additionalProperties": false,
1359
+ "required": ["match"],
1360
+ "properties": {
1361
+ "match": {
1362
+ "type": "string",
1363
+ "minLength": 1
1364
+ }
1365
+ }
1366
+ },
1367
+ "observer": {
1368
+ "const": "client"
1369
+ }
1370
+ }
1371
+ },
1372
+ {
1373
+ "type": "object",
1374
+ "additionalProperties": false,
1375
+ "required": ["reached", "observer"],
1376
+ "properties": {
1377
+ "reached": {
1378
+ "$ref": "#/$defs/callNames"
1379
+ },
1380
+ "observer": {
1381
+ "const": "client"
1382
+ }
1383
+ }
1384
+ },
1385
+ {
1386
+ "type": "object",
1387
+ "additionalProperties": false,
1388
+ "required": ["attached", "observer"],
1389
+ "properties": {
1390
+ "attached": {
1391
+ "type": "string"
1392
+ },
1393
+ "session": {
1394
+ "$ref": "#/$defs/session"
1395
+ },
1396
+ "observer": {
1397
+ "const": "client"
1398
+ }
1399
+ }
1400
+ },
1401
+ {
1402
+ "type": "object",
1403
+ "additionalProperties": false,
1404
+ "required": ["delivered", "observer"],
1405
+ "properties": {
1406
+ "delivered": {
1407
+ "type": "string"
1408
+ },
1409
+ "observer": {
1410
+ "const": "client"
1411
+ }
1412
+ }
1413
+ },
1414
+ {
1415
+ "type": "object",
1416
+ "additionalProperties": false,
1417
+ "required": ["title", "via", "observer"],
1418
+ "properties": {
1419
+ "title": {
1420
+ "type": "string"
1421
+ },
1422
+ "via": {
1423
+ "const": "unguarded"
1424
+ },
1425
+ "session": {
1426
+ "$ref": "#/$defs/session"
1427
+ },
1428
+ "observer": {
1429
+ "const": "unguarded"
1430
+ }
1431
+ }
1432
+ },
1433
+ {
1434
+ "type": "object",
1435
+ "additionalProperties": false,
1436
+ "required": ["expression", "equals", "via", "observer"],
1437
+ "properties": {
1438
+ "expression": {
1439
+ "type": "string"
1440
+ },
1441
+ "equals": {
1442
+ "$ref": "#/$defs/predicate"
1443
+ },
1444
+ "via": {
1445
+ "const": "unguarded"
1446
+ },
1447
+ "session": {
1448
+ "$ref": "#/$defs/session"
1449
+ },
1450
+ "observer": {
1451
+ "const": "unguarded"
1452
+ }
1453
+ }
1454
+ },
1455
+ {
1456
+ "type": "object",
1457
+ "additionalProperties": false,
1458
+ "required": ["all", "observer"],
1459
+ "properties": {
1460
+ "all": {
1461
+ "$ref": "#/$defs/liveChecks"
1462
+ },
1463
+ "observer": {
1464
+ "const": "client"
1465
+ }
1466
+ }
1467
+ },
1468
+ {
1469
+ "type": "object",
1470
+ "additionalProperties": false,
1471
+ "required": ["any", "observer"],
1472
+ "properties": {
1473
+ "any": {
1474
+ "$ref": "#/$defs/liveChecks"
1475
+ },
1476
+ "observer": {
1477
+ "const": "client"
1478
+ }
1479
+ }
1480
+ },
1481
+ {
1482
+ "type": "object",
1483
+ "additionalProperties": false,
1484
+ "required": ["not", "observer"],
1485
+ "properties": {
1486
+ "not": {
1487
+ "$ref": "#/$defs/liveCheck"
1488
+ },
1489
+ "observer": {
1490
+ "const": "client"
1491
+ }
1492
+ }
1493
+ },
1494
+ {
1495
+ "type": "object",
1496
+ "additionalProperties": false,
1497
+ "required": ["hops", "to", "observer"],
1498
+ "properties": {
1499
+ "hops": {
1500
+ "$ref": "#/$defs/hops"
1501
+ },
1502
+ "to": {
1503
+ "type": "string"
1504
+ },
1505
+ "observer": {
1506
+ "const": "fixture"
1507
+ }
1508
+ }
1509
+ },
1510
+ {
1511
+ "type": "object",
1512
+ "additionalProperties": false,
1513
+ "required": ["detached", "observer"],
1514
+ "properties": {
1515
+ "detached": {
1516
+ "enum": ["page", "child"]
1517
+ },
1518
+ "observer": {
1519
+ "const": "client"
1520
+ }
1521
+ }
1522
+ },
1523
+ {
1524
+ "type": "object",
1525
+ "additionalProperties": false,
1526
+ "required": ["pre", "observer"],
1527
+ "properties": {
1528
+ "pre": {
1529
+ "$ref": "#/$defs/url"
1530
+ },
1531
+ "observer": {
1532
+ "const": "fixture"
1533
+ }
1534
+ }
1535
+ },
1536
+ {
1537
+ "type": "object",
1538
+ "additionalProperties": false,
1539
+ "required": ["loaded", "observer"],
1540
+ "properties": {
1541
+ "loaded": {
1542
+ "$ref": "#/$defs/url"
1543
+ },
1544
+ "observer": {
1545
+ "const": "fixture"
1546
+ }
1547
+ }
1548
+ },
1549
+ {
1550
+ "type": "object",
1551
+ "additionalProperties": false,
1552
+ "required": ["registration", "observer"],
1553
+ "properties": {
1554
+ "registration": {
1555
+ "const": "any"
1556
+ },
1557
+ "observer": {
1558
+ "const": "client"
1559
+ }
1560
+ }
1561
+ },
1562
+ {
1563
+ "type": "object",
1564
+ "additionalProperties": false,
1565
+ "required": ["state", "observer"],
1566
+ "properties": {
1567
+ "state": {
1568
+ "type": "object",
1569
+ "additionalProperties": false,
1570
+ "required": ["origin", "cookie", "value"],
1571
+ "properties": {
1572
+ "origin": {
1573
+ "type": "string"
1574
+ },
1575
+ "cookie": {
1576
+ "type": "string"
1577
+ },
1578
+ "value": {
1579
+ "type": "string"
1580
+ },
1581
+ "storage": {
1582
+ "type": "boolean"
1583
+ }
1584
+ }
1585
+ },
1586
+ "observer": {
1587
+ "const": "unguarded"
1588
+ }
1589
+ }
1590
+ },
1591
+ {
1592
+ "type": "object",
1593
+ "additionalProperties": false,
1594
+ "required": ["filtered", "observer"],
1595
+ "properties": {
1596
+ "filtered": {
1597
+ "type": "object",
1598
+ "additionalProperties": false,
1599
+ "required": ["from", "cookie"],
1600
+ "properties": {
1601
+ "from": {
1602
+ "$ref": "#/$defs/callNames"
1603
+ },
1604
+ "cookie": {
1605
+ "type": "string"
1606
+ },
1607
+ "on": {
1608
+ "type": "string"
1609
+ }
1610
+ }
1611
+ },
1612
+ "observer": {
1613
+ "const": "client"
1614
+ }
1615
+ }
1616
+ },
1617
+ {
1618
+ "type": "object",
1619
+ "additionalProperties": false,
1620
+ "required": ["blocked", "observer"],
1621
+ "properties": {
1622
+ "blocked": {
1623
+ "type": "object",
1624
+ "additionalProperties": false,
1625
+ "required": ["url"],
1626
+ "properties": {
1627
+ "url": {
1628
+ "$ref": "#/$defs/url"
1629
+ },
1630
+ "session": {
1631
+ "enum": ["page", "child"]
1632
+ },
1633
+ "frame": {
1634
+ "type": "boolean"
1635
+ }
1636
+ }
1637
+ },
1638
+ "observer": {
1639
+ "const": "client"
1640
+ }
1641
+ }
1642
+ },
1643
+ {
1644
+ "type": "object",
1645
+ "additionalProperties": false,
1646
+ "required": ["blocked", "observer"],
1647
+ "properties": {
1648
+ "blocked": {
1649
+ "type": "object",
1650
+ "additionalProperties": false,
1651
+ "required": ["url"],
1652
+ "properties": {
1653
+ "url": {
1654
+ "$ref": "#/$defs/url"
1655
+ },
1656
+ "session": {
1657
+ "enum": ["page", "child"]
1658
+ },
1659
+ "frame": {
1660
+ "type": "boolean"
1661
+ }
1662
+ }
1663
+ },
1664
+ "observer": {
1665
+ "const": "unguarded"
1666
+ }
1667
+ }
1668
+ }
1669
+ ],
1670
+ "not": {
1671
+ "required": ["on"],
1672
+ "properties": {
1673
+ "on": {
1674
+ "const": "control"
1675
+ }
1676
+ }
1677
+ }
1678
+ },
1679
+ "liveChecks": {
1680
+ "type": "array",
1681
+ "minItems": 1,
1682
+ "items": {
1683
+ "$ref": "#/$defs/liveCheck"
1684
+ }
579
1685
  }
580
1686
  }
581
1687
  }