@ai-ecoverse/slicc-browsers 1.7.2 → 1.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -12
- package/fixture-server.mjs +4 -2
- package/guard-driver.mjs +30 -8
- package/guard-runner.mjs +360 -84
- package/guard-vectors.json +2779 -686
- package/package.json +5 -3
- package/schema/guard-vectors.schema.json +105 -5
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-ecoverse/slicc-browsers",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.4",
|
|
4
4
|
"description": "SLICC's shared browser catalog, JSON schemas and discovery conformance corpus",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -64,12 +64,14 @@
|
|
|
64
64
|
"trust": "npx fledgling sync -y --skip-publish",
|
|
65
65
|
"trust:dry": "npx fledgling sync --dry-run -y --skip-publish",
|
|
66
66
|
"release": "semantic-release",
|
|
67
|
-
"test:guard": "
|
|
67
|
+
"test:guard": "npm run test:guard-integration && npm run test:guard-sweep",
|
|
68
|
+
"test:guard-integration": "node --test test/integration/guard-fit.test.mjs test/integration/guard-chain.test.mjs test/integration/guard-validation.test.mjs test/integration/guard-liveness.test.mjs test/integration/guard-observations.test.mjs test/integration/guard-child-latency.test.mjs test/integration/guard-adoption.test.mjs test/integration/guard-scoping.test.mjs",
|
|
69
|
+
"test:guard-sweep": "node scripts/test-guards.mjs",
|
|
68
70
|
"test:guard-target": "node --test test/integration/guard-runner.test.mjs",
|
|
69
71
|
"test:unit:guard": "node --experimental-test-coverage --test --test-coverage-include=guard-runner.mjs --test-coverage-include=fixture-server.mjs --test-coverage-lines=100 test/unit/guard-*.test.mjs"
|
|
70
72
|
},
|
|
71
73
|
"devDependencies": {
|
|
72
|
-
"@ai-ecoverse/slicc-shared-web": "1.
|
|
74
|
+
"@ai-ecoverse/slicc-shared-web": "1.21.0",
|
|
73
75
|
"@biomejs/biome": "2.5.15",
|
|
74
76
|
"ajv": "8.20.0",
|
|
75
77
|
"ajv-formats": "3.0.1",
|
|
@@ -145,6 +145,9 @@
|
|
|
145
145
|
},
|
|
146
146
|
"check": {
|
|
147
147
|
"$ref": "#/$defs/check"
|
|
148
|
+
},
|
|
149
|
+
"eitherWhen": {
|
|
150
|
+
"$ref": "#/$defs/check"
|
|
148
151
|
}
|
|
149
152
|
}
|
|
150
153
|
},
|
|
@@ -542,6 +545,22 @@
|
|
|
542
545
|
"children": {
|
|
543
546
|
"$ref": "#/$defs/steps"
|
|
544
547
|
},
|
|
548
|
+
"where": {
|
|
549
|
+
"oneOf": [
|
|
550
|
+
{
|
|
551
|
+
"type": "object",
|
|
552
|
+
"additionalProperties": false,
|
|
553
|
+
"required": ["openerId"],
|
|
554
|
+
"properties": { "openerId": { "const": "page" } }
|
|
555
|
+
},
|
|
556
|
+
{
|
|
557
|
+
"type": "object",
|
|
558
|
+
"additionalProperties": false,
|
|
559
|
+
"required": ["urlPrefix"],
|
|
560
|
+
"properties": { "urlPrefix": { "type": "string", "minLength": 1 } }
|
|
561
|
+
}
|
|
562
|
+
]
|
|
563
|
+
},
|
|
545
564
|
"on": {
|
|
546
565
|
"$ref": "#/$defs/on"
|
|
547
566
|
},
|
|
@@ -575,9 +594,23 @@
|
|
|
575
594
|
},
|
|
576
595
|
"session": {
|
|
577
596
|
"$ref": "#/$defs/session"
|
|
597
|
+
},
|
|
598
|
+
"required": {
|
|
599
|
+
"const": true
|
|
600
|
+
},
|
|
601
|
+
"dependsOn": {
|
|
602
|
+
"type": "array",
|
|
603
|
+
"uniqueItems": true,
|
|
604
|
+
"items": {
|
|
605
|
+
"type": "string",
|
|
606
|
+
"pattern": "^(refused\\.[0-9]+|[A-Za-z][A-Za-z0-9]*)$"
|
|
607
|
+
}
|
|
578
608
|
}
|
|
579
609
|
}
|
|
580
610
|
},
|
|
611
|
+
"requires": {
|
|
612
|
+
"$ref": "#/$defs/requires"
|
|
613
|
+
},
|
|
581
614
|
"on": {
|
|
582
615
|
"$ref": "#/$defs/on"
|
|
583
616
|
}
|
|
@@ -1081,6 +1114,32 @@
|
|
|
1081
1114
|
"const": "unguarded"
|
|
1082
1115
|
}
|
|
1083
1116
|
}
|
|
1117
|
+
},
|
|
1118
|
+
{
|
|
1119
|
+
"type": "object",
|
|
1120
|
+
"additionalProperties": false,
|
|
1121
|
+
"required": ["history", "observer"],
|
|
1122
|
+
"properties": {
|
|
1123
|
+
"history": {
|
|
1124
|
+
"$ref": "#/$defs/blocked"
|
|
1125
|
+
},
|
|
1126
|
+
"observer": {
|
|
1127
|
+
"const": "unguarded"
|
|
1128
|
+
}
|
|
1129
|
+
}
|
|
1130
|
+
},
|
|
1131
|
+
{
|
|
1132
|
+
"type": "object",
|
|
1133
|
+
"additionalProperties": false,
|
|
1134
|
+
"required": ["frameBlocked", "observer"],
|
|
1135
|
+
"properties": {
|
|
1136
|
+
"frameBlocked": {
|
|
1137
|
+
"$ref": "#/$defs/blocked"
|
|
1138
|
+
},
|
|
1139
|
+
"observer": {
|
|
1140
|
+
"const": "unguarded"
|
|
1141
|
+
}
|
|
1142
|
+
}
|
|
1084
1143
|
}
|
|
1085
1144
|
]
|
|
1086
1145
|
},
|
|
@@ -1193,16 +1252,31 @@
|
|
|
1193
1252
|
"blocked": {
|
|
1194
1253
|
"type": "object",
|
|
1195
1254
|
"additionalProperties": false,
|
|
1196
|
-
"oneOf": [
|
|
1255
|
+
"oneOf": [
|
|
1256
|
+
{
|
|
1257
|
+
"required": ["url"]
|
|
1258
|
+
},
|
|
1259
|
+
{
|
|
1260
|
+
"required": ["anyOf"]
|
|
1261
|
+
}
|
|
1262
|
+
],
|
|
1197
1263
|
"properties": {
|
|
1198
|
-
"url": {
|
|
1264
|
+
"url": {
|
|
1265
|
+
"$ref": "#/$defs/url"
|
|
1266
|
+
},
|
|
1199
1267
|
"anyOf": {
|
|
1200
1268
|
"type": "array",
|
|
1201
1269
|
"minItems": 1,
|
|
1202
|
-
"items": {
|
|
1270
|
+
"items": {
|
|
1271
|
+
"$ref": "#/$defs/url"
|
|
1272
|
+
}
|
|
1273
|
+
},
|
|
1274
|
+
"session": {
|
|
1275
|
+
"enum": ["page", "child"]
|
|
1203
1276
|
},
|
|
1204
|
-
"
|
|
1205
|
-
|
|
1277
|
+
"frame": {
|
|
1278
|
+
"type": "boolean"
|
|
1279
|
+
}
|
|
1206
1280
|
}
|
|
1207
1281
|
},
|
|
1208
1282
|
"liveCheck": {
|
|
@@ -1628,6 +1702,32 @@
|
|
|
1628
1702
|
"const": "unguarded"
|
|
1629
1703
|
}
|
|
1630
1704
|
}
|
|
1705
|
+
},
|
|
1706
|
+
{
|
|
1707
|
+
"type": "object",
|
|
1708
|
+
"additionalProperties": false,
|
|
1709
|
+
"required": ["history", "observer"],
|
|
1710
|
+
"properties": {
|
|
1711
|
+
"history": {
|
|
1712
|
+
"$ref": "#/$defs/blocked"
|
|
1713
|
+
},
|
|
1714
|
+
"observer": {
|
|
1715
|
+
"const": "unguarded"
|
|
1716
|
+
}
|
|
1717
|
+
}
|
|
1718
|
+
},
|
|
1719
|
+
{
|
|
1720
|
+
"type": "object",
|
|
1721
|
+
"additionalProperties": false,
|
|
1722
|
+
"required": ["frameBlocked", "observer"],
|
|
1723
|
+
"properties": {
|
|
1724
|
+
"frameBlocked": {
|
|
1725
|
+
"$ref": "#/$defs/blocked"
|
|
1726
|
+
},
|
|
1727
|
+
"observer": {
|
|
1728
|
+
"const": "unguarded"
|
|
1729
|
+
}
|
|
1730
|
+
}
|
|
1631
1731
|
}
|
|
1632
1732
|
],
|
|
1633
1733
|
"not": {
|