@openuji/speculator 0.6.2 → 0.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.
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/parse/assembler.d.ts.map +1 -1
- package/dist/parse/assembler.js +6 -16
- package/dist/parse/assembler.js.map +1 -1
- package/dist/parse/html/CodeHtmlParser.d.ts.map +1 -1
- package/dist/parse/html/CodeHtmlParser.js +1 -0
- package/dist/parse/html/CodeHtmlParser.js.map +1 -1
- package/dist/parse/html/HeadingsHtmlParser.d.ts.map +1 -1
- package/dist/parse/html/HeadingsHtmlParser.js +7 -0
- package/dist/parse/html/HeadingsHtmlParser.js.map +1 -1
- package/dist/parse/html/MiscHtmlParser.d.ts.map +1 -1
- package/dist/parse/html/MiscHtmlParser.js +1 -0
- package/dist/parse/html/MiscHtmlParser.js.map +1 -1
- package/dist/parse/html/SectionsHtmlParser.d.ts.map +1 -1
- package/dist/parse/html/SectionsHtmlParser.js +3 -0
- package/dist/parse/html/SectionsHtmlParser.js.map +1 -1
- package/dist/parse/html/SpecStatementHtmlParser.d.ts +9 -0
- package/dist/parse/html/SpecStatementHtmlParser.d.ts.map +1 -0
- package/dist/parse/html/SpecStatementHtmlParser.js +52 -0
- package/dist/parse/html/SpecStatementHtmlParser.js.map +1 -0
- package/dist/parse/markdown/CodeMarkdownParser.d.ts.map +1 -1
- package/dist/parse/markdown/CodeMarkdownParser.js +1 -0
- package/dist/parse/markdown/CodeMarkdownParser.js.map +1 -1
- package/dist/parse/markdown/HeadingsMarkdownParser.d.ts.map +1 -1
- package/dist/parse/markdown/HeadingsMarkdownParser.js +23 -13
- package/dist/parse/markdown/HeadingsMarkdownParser.js.map +1 -1
- package/dist/parse/markdown/HtmlBlockMarkdownParser.d.ts.map +1 -1
- package/dist/parse/markdown/HtmlBlockMarkdownParser.js +5 -20
- package/dist/parse/markdown/HtmlBlockMarkdownParser.js.map +1 -1
- package/dist/parse/markdown/HtmlParagraphMarkdownParser.d.ts.map +1 -1
- package/dist/parse/markdown/HtmlParagraphMarkdownParser.js +19 -18
- package/dist/parse/markdown/HtmlParagraphMarkdownParser.js.map +1 -1
- package/dist/parse/markdown/MiscMarkdownParser.d.ts.map +1 -1
- package/dist/parse/markdown/MiscMarkdownParser.js +2 -0
- package/dist/parse/markdown/MiscMarkdownParser.js.map +1 -1
- package/dist/parse/normalize.d.ts +22 -0
- package/dist/parse/normalize.d.ts.map +1 -1
- package/dist/parse/normalize.js +36 -0
- package/dist/parse/normalize.js.map +1 -1
- package/dist/parse/parsers.d.ts +1 -0
- package/dist/parse/parsers.d.ts.map +1 -1
- package/dist/parse/parsers.js +3 -0
- package/dist/parse/parsers.js.map +1 -1
- package/dist/parse/pipeline.d.ts.map +1 -1
- package/dist/parse/pipeline.js +1 -1
- package/dist/parse/pipeline.js.map +1 -1
- package/dist/parse/utils/hast-utils.d.ts +5 -1
- package/dist/parse/utils/hast-utils.d.ts.map +1 -1
- package/dist/parse/utils/hast-utils.js +76 -5
- package/dist/parse/utils/hast-utils.js.map +1 -1
- package/dist/parse/utils/markdown-utils.d.ts +9 -0
- package/dist/parse/utils/markdown-utils.d.ts.map +1 -0
- package/dist/parse/utils/markdown-utils.js +27 -0
- package/dist/parse/utils/markdown-utils.js.map +1 -0
- package/dist/parse/utils/normative.d.ts +31 -0
- package/dist/parse/utils/normative.d.ts.map +1 -0
- package/dist/parse/utils/normative.js +66 -0
- package/dist/parse/utils/normative.js.map +1 -0
- package/dist/pipeline/runner.d.ts +2 -0
- package/dist/pipeline/runner.d.ts.map +1 -1
- package/dist/pipeline/runner.js +38 -16
- package/dist/pipeline/runner.js.map +1 -1
- package/dist/pipeline/types.d.ts +9 -2
- package/dist/pipeline/types.d.ts.map +1 -1
- package/dist/pipeline/types.js.map +1 -1
- package/dist/pipeline/workspace-index.d.ts +6 -6
- package/dist/pipeline/workspace-index.d.ts.map +1 -1
- package/dist/pipeline/workspace-index.js +26 -47
- package/dist/pipeline/workspace-index.js.map +1 -1
- package/dist/postprocess/index.d.ts +3 -0
- package/dist/postprocess/index.d.ts.map +1 -1
- package/dist/postprocess/index.js +9 -0
- package/dist/postprocess/index.js.map +1 -1
- package/dist/postprocess/plugins/biblio-index.d.ts +9 -0
- package/dist/postprocess/plugins/biblio-index.d.ts.map +1 -0
- package/dist/postprocess/plugins/biblio-index.js +32 -0
- package/dist/postprocess/plugins/biblio-index.js.map +1 -0
- package/dist/postprocess/plugins/bibliography-generator.d.ts.map +1 -1
- package/dist/postprocess/plugins/bibliography-generator.js +2 -1
- package/dist/postprocess/plugins/bibliography-generator.js.map +1 -1
- package/dist/postprocess/plugins/dfn-index.d.ts.map +1 -1
- package/dist/postprocess/plugins/dfn-index.js +20 -2
- package/dist/postprocess/plugins/dfn-index.js.map +1 -1
- package/dist/postprocess/plugins/jsonld-compute.d.ts +14 -0
- package/dist/postprocess/plugins/jsonld-compute.d.ts.map +1 -0
- package/dist/postprocess/plugins/jsonld-compute.js +122 -0
- package/dist/postprocess/plugins/jsonld-compute.js.map +1 -0
- package/dist/postprocess/plugins/statement-index.d.ts +11 -0
- package/dist/postprocess/plugins/statement-index.d.ts.map +1 -0
- package/dist/postprocess/plugins/statement-index.js +136 -0
- package/dist/postprocess/plugins/statement-index.js.map +1 -0
- package/dist/postprocess/plugins/statementsJsonLd-compute.d.ts +14 -0
- package/dist/postprocess/plugins/statementsJsonLd-compute.d.ts.map +1 -0
- package/dist/postprocess/plugins/statementsJsonLd-compute.js +151 -0
- package/dist/postprocess/plugins/statementsJsonLd-compute.js.map +1 -0
- package/dist/preprocess/config/doc-config.d.ts +1 -1
- package/dist/preprocess/config/doc-config.d.ts.map +1 -1
- package/dist/preprocess/config/doc-config.js +4 -2
- package/dist/preprocess/config/doc-config.js.map +1 -1
- package/dist/preprocess/config/env.d.ts +14 -0
- package/dist/preprocess/config/env.d.ts.map +1 -0
- package/dist/preprocess/config/env.js +22 -0
- package/dist/preprocess/config/env.js.map +1 -0
- package/dist/preprocess/config/loader.d.ts +1 -1
- package/dist/preprocess/config/loader.d.ts.map +1 -1
- package/dist/preprocess/config/loader.js +4 -2
- package/dist/preprocess/config/loader.js.map +1 -1
- package/dist/preprocess/config/normalize.d.ts.map +1 -1
- package/dist/preprocess/config/normalize.js +16 -4
- package/dist/preprocess/config/normalize.js.map +1 -1
- package/dist/preprocess/config/types.d.ts +2 -0
- package/dist/preprocess/config/types.d.ts.map +1 -1
- package/dist/preprocess/index.d.ts +1 -1
- package/dist/preprocess/index.d.ts.map +1 -1
- package/dist/preprocess/pipeline.d.ts +2 -0
- package/dist/preprocess/pipeline.d.ts.map +1 -1
- package/dist/preprocess/pipeline.js +1 -1
- package/dist/preprocess/pipeline.js.map +1 -1
- package/dist/preprocess/types.d.ts +13 -2
- package/dist/preprocess/types.d.ts.map +1 -1
- package/dist/types/ast.generated.d.ts +107 -37
- package/dist/types/ast.generated.d.ts.map +1 -1
- package/dist/types/ast.generated.js +1 -1
- package/dist/types/ast.generated.js.map +1 -1
- package/dist/utils/mapping.d.ts +26 -0
- package/dist/utils/mapping.d.ts.map +1 -0
- package/dist/utils/mapping.js +46 -0
- package/dist/utils/mapping.js.map +1 -0
- package/dist/workspace/builder.d.ts +15 -7
- package/dist/workspace/builder.d.ts.map +1 -1
- package/dist/workspace/builder.js +7 -13
- package/dist/workspace/builder.js.map +1 -1
- package/dist/workspace/index.d.ts +1 -1
- package/dist/workspace/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/schema/spec-ast.schema.json +168 -20
|
@@ -7,6 +7,36 @@
|
|
|
7
7
|
"description": "AST-first schema for Speculator workspace. A workspace contains one or more specification documents. Semantic marker nodes are introduced during parse and may be refined during resolve. Global indexing aggregates definitions across documents.",
|
|
8
8
|
"type": "object",
|
|
9
9
|
"definitions": {
|
|
10
|
+
"NormativeLevel": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"enum": [
|
|
13
|
+
"MUST",
|
|
14
|
+
"MUST NOT",
|
|
15
|
+
"SHOULD",
|
|
16
|
+
"SHOULD NOT",
|
|
17
|
+
"MAY",
|
|
18
|
+
"NOTE",
|
|
19
|
+
"NONE",
|
|
20
|
+
"AMBIGUOUS"
|
|
21
|
+
],
|
|
22
|
+
"description": "Canonical RFC 2119 / 8174 requirement level."
|
|
23
|
+
},
|
|
24
|
+
"NormativeKeyword": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"enum": [
|
|
27
|
+
"MUST",
|
|
28
|
+
"MUST NOT",
|
|
29
|
+
"REQUIRED",
|
|
30
|
+
"SHALL",
|
|
31
|
+
"SHALL NOT",
|
|
32
|
+
"SHOULD",
|
|
33
|
+
"SHOULD NOT",
|
|
34
|
+
"RECOMMENDED",
|
|
35
|
+
"MAY",
|
|
36
|
+
"OPTIONAL"
|
|
37
|
+
],
|
|
38
|
+
"description": "RFC 2119 / 8174 keyword aliases."
|
|
39
|
+
},
|
|
10
40
|
"SourcePos": {
|
|
11
41
|
"type": "object",
|
|
12
42
|
"description": "Source position for bidirectional AST-to-source mapping",
|
|
@@ -399,19 +429,7 @@
|
|
|
399
429
|
"const": "requirement"
|
|
400
430
|
},
|
|
401
431
|
"keyword": {
|
|
402
|
-
"
|
|
403
|
-
"enum": [
|
|
404
|
-
"MUST",
|
|
405
|
-
"MUST NOT",
|
|
406
|
-
"REQUIRED",
|
|
407
|
-
"SHALL",
|
|
408
|
-
"SHALL NOT",
|
|
409
|
-
"SHOULD",
|
|
410
|
-
"SHOULD NOT",
|
|
411
|
-
"RECOMMENDED",
|
|
412
|
-
"MAY",
|
|
413
|
-
"OPTIONAL"
|
|
414
|
-
]
|
|
432
|
+
"$ref": "#/definitions/NormativeKeyword"
|
|
415
433
|
},
|
|
416
434
|
"id": {
|
|
417
435
|
"type": "string",
|
|
@@ -668,6 +686,10 @@
|
|
|
668
686
|
"type": "boolean",
|
|
669
687
|
"description": "If true, the section created from this heading will be unnumbered.",
|
|
670
688
|
"default": false
|
|
689
|
+
},
|
|
690
|
+
"dataCopConcept": {
|
|
691
|
+
"type": "string",
|
|
692
|
+
"description": "Optional Class of Products (COP) identifier for this heading/section scope."
|
|
671
693
|
}
|
|
672
694
|
},
|
|
673
695
|
"required": [
|
|
@@ -706,11 +728,18 @@
|
|
|
706
728
|
},
|
|
707
729
|
"value": {
|
|
708
730
|
"type": "string"
|
|
731
|
+
},
|
|
732
|
+
"children": {
|
|
733
|
+
"type": "array",
|
|
734
|
+
"maxItems": 0,
|
|
735
|
+
"items": {},
|
|
736
|
+
"description": "Always empty - code blocks are leaf nodes with raw value content"
|
|
709
737
|
}
|
|
710
738
|
},
|
|
711
739
|
"required": [
|
|
712
740
|
"type",
|
|
713
|
-
"value"
|
|
741
|
+
"value",
|
|
742
|
+
"children"
|
|
714
743
|
]
|
|
715
744
|
}
|
|
716
745
|
]
|
|
@@ -956,10 +985,17 @@
|
|
|
956
985
|
},
|
|
957
986
|
"id": {
|
|
958
987
|
"type": "string"
|
|
988
|
+
},
|
|
989
|
+
"children": {
|
|
990
|
+
"type": "array",
|
|
991
|
+
"maxItems": 0,
|
|
992
|
+
"items": {},
|
|
993
|
+
"description": "Always empty - thematic breaks are void/leaf nodes"
|
|
959
994
|
}
|
|
960
995
|
},
|
|
961
996
|
"required": [
|
|
962
|
-
"type"
|
|
997
|
+
"type",
|
|
998
|
+
"children"
|
|
963
999
|
]
|
|
964
1000
|
}
|
|
965
1001
|
]
|
|
@@ -980,11 +1016,18 @@
|
|
|
980
1016
|
},
|
|
981
1017
|
"value": {
|
|
982
1018
|
"type": "string"
|
|
1019
|
+
},
|
|
1020
|
+
"children": {
|
|
1021
|
+
"type": "array",
|
|
1022
|
+
"maxItems": 0,
|
|
1023
|
+
"items": {},
|
|
1024
|
+
"description": "Always empty - HTML blocks are leaf nodes with raw value content"
|
|
983
1025
|
}
|
|
984
1026
|
},
|
|
985
1027
|
"required": [
|
|
986
1028
|
"type",
|
|
987
|
-
"value"
|
|
1029
|
+
"value",
|
|
1030
|
+
"children"
|
|
988
1031
|
]
|
|
989
1032
|
}
|
|
990
1033
|
]
|
|
@@ -1034,6 +1077,53 @@
|
|
|
1034
1077
|
}
|
|
1035
1078
|
]
|
|
1036
1079
|
},
|
|
1080
|
+
"BlockSpecStatement": {
|
|
1081
|
+
"allOf": [
|
|
1082
|
+
{
|
|
1083
|
+
"$ref": "#/definitions/BaseNode"
|
|
1084
|
+
},
|
|
1085
|
+
{
|
|
1086
|
+
"type": "object",
|
|
1087
|
+
"description": "A semantic statement node (normative or informative). Auto-detects RFC 2119 keywords and handles JSON-LD harvesting.",
|
|
1088
|
+
"properties": {
|
|
1089
|
+
"type": {
|
|
1090
|
+
"const": "specStatement"
|
|
1091
|
+
},
|
|
1092
|
+
"id": {
|
|
1093
|
+
"type": "string",
|
|
1094
|
+
"description": "Unique identifier for this statement. If not explicitly provided, it is finalized from tempId during post-processing."
|
|
1095
|
+
},
|
|
1096
|
+
"tempId": {
|
|
1097
|
+
"type": "string",
|
|
1098
|
+
"description": "Temporary/candidate identifier used during parse before uniqueness is guaranteed."
|
|
1099
|
+
},
|
|
1100
|
+
"level": {
|
|
1101
|
+
"$ref": "#/definitions/NormativeLevel",
|
|
1102
|
+
"description": "The requirement level of the statement."
|
|
1103
|
+
},
|
|
1104
|
+
"contentText": {
|
|
1105
|
+
"type": "string",
|
|
1106
|
+
"description": "Plain text content of the statement (collapsed whitespace)."
|
|
1107
|
+
},
|
|
1108
|
+
"children": {
|
|
1109
|
+
"type": "array",
|
|
1110
|
+
"items": {
|
|
1111
|
+
"$ref": "#/definitions/Inline"
|
|
1112
|
+
}
|
|
1113
|
+
},
|
|
1114
|
+
"dataCopConcept": {
|
|
1115
|
+
"type": "string",
|
|
1116
|
+
"description": "Optional explicit Class of Products (COP) identifier for this statement."
|
|
1117
|
+
}
|
|
1118
|
+
},
|
|
1119
|
+
"required": [
|
|
1120
|
+
"type",
|
|
1121
|
+
"contentText",
|
|
1122
|
+
"children"
|
|
1123
|
+
]
|
|
1124
|
+
}
|
|
1125
|
+
]
|
|
1126
|
+
},
|
|
1037
1127
|
"Block": {
|
|
1038
1128
|
"oneOf": [
|
|
1039
1129
|
{
|
|
@@ -1065,6 +1155,9 @@
|
|
|
1065
1155
|
},
|
|
1066
1156
|
{
|
|
1067
1157
|
"$ref": "#/definitions/BlockNote"
|
|
1158
|
+
},
|
|
1159
|
+
{
|
|
1160
|
+
"$ref": "#/definitions/BlockSpecStatement"
|
|
1068
1161
|
}
|
|
1069
1162
|
]
|
|
1070
1163
|
},
|
|
@@ -1105,6 +1198,10 @@
|
|
|
1105
1198
|
}
|
|
1106
1199
|
]
|
|
1107
1200
|
}
|
|
1201
|
+
},
|
|
1202
|
+
"dataCopConcept": {
|
|
1203
|
+
"type": "string",
|
|
1204
|
+
"description": "Optional Class of Products (COP) identifier for this section scope."
|
|
1108
1205
|
}
|
|
1109
1206
|
},
|
|
1110
1207
|
"required": [
|
|
@@ -1313,9 +1410,37 @@
|
|
|
1313
1410
|
"key"
|
|
1314
1411
|
]
|
|
1315
1412
|
},
|
|
1316
|
-
"
|
|
1413
|
+
"IndexStatementEntry": {
|
|
1317
1414
|
"type": "object",
|
|
1318
|
-
"description": "
|
|
1415
|
+
"description": "Entry in the statements index, extracted from BlockSpecStatement nodes",
|
|
1416
|
+
"properties": {
|
|
1417
|
+
"id": {
|
|
1418
|
+
"type": "string"
|
|
1419
|
+
},
|
|
1420
|
+
"level": {
|
|
1421
|
+
"type": "string"
|
|
1422
|
+
},
|
|
1423
|
+
"contentText": {
|
|
1424
|
+
"type": "string"
|
|
1425
|
+
},
|
|
1426
|
+
"subject": {
|
|
1427
|
+
"type": "string",
|
|
1428
|
+
"description": "Resolved requirement subject IRI (Class of Product)"
|
|
1429
|
+
},
|
|
1430
|
+
"sourcePos": {
|
|
1431
|
+
"$ref": "#/definitions/SourcePos"
|
|
1432
|
+
}
|
|
1433
|
+
},
|
|
1434
|
+
"required": [
|
|
1435
|
+
"id",
|
|
1436
|
+
"level",
|
|
1437
|
+
"contentText",
|
|
1438
|
+
"sourcePos"
|
|
1439
|
+
]
|
|
1440
|
+
},
|
|
1441
|
+
"DocumentIndexes": {
|
|
1442
|
+
"type": "object",
|
|
1443
|
+
"description": "Indexes extracted from AST marker nodes during indexing within a single document.",
|
|
1319
1444
|
"properties": {
|
|
1320
1445
|
"definitions": {
|
|
1321
1446
|
"type": "array",
|
|
@@ -1353,6 +1478,24 @@
|
|
|
1353
1478
|
"$ref": "#/definitions/IndexCiteEntry"
|
|
1354
1479
|
}
|
|
1355
1480
|
},
|
|
1481
|
+
"statements": {
|
|
1482
|
+
"type": "array",
|
|
1483
|
+
"items": {
|
|
1484
|
+
"$ref": "#/definitions/IndexStatementEntry"
|
|
1485
|
+
}
|
|
1486
|
+
}
|
|
1487
|
+
}
|
|
1488
|
+
},
|
|
1489
|
+
"GlobalIndex": {
|
|
1490
|
+
"type": "object",
|
|
1491
|
+
"description": "Aggregated global index across all documents in a workspace.",
|
|
1492
|
+
"properties": {
|
|
1493
|
+
"definitions": {
|
|
1494
|
+
"type": "array",
|
|
1495
|
+
"items": {
|
|
1496
|
+
"$ref": "#/definitions/IndexDefinitionEntry"
|
|
1497
|
+
}
|
|
1498
|
+
},
|
|
1356
1499
|
"bibliography": {
|
|
1357
1500
|
"type": "array",
|
|
1358
1501
|
"items": {
|
|
@@ -1425,6 +1568,11 @@
|
|
|
1425
1568
|
"description": "Total word count",
|
|
1426
1569
|
"x-computed": true
|
|
1427
1570
|
},
|
|
1571
|
+
"statementsJsonLd": {
|
|
1572
|
+
"type": "object",
|
|
1573
|
+
"description": "Embedded machine-readable statements/requirements in JSON-LD format.",
|
|
1574
|
+
"x-computed": true
|
|
1575
|
+
},
|
|
1428
1576
|
"readingTime": {
|
|
1429
1577
|
"type": "integer",
|
|
1430
1578
|
"description": "Estimated reading time in minutes",
|
|
@@ -1664,7 +1812,7 @@
|
|
|
1664
1812
|
}
|
|
1665
1813
|
},
|
|
1666
1814
|
"indexes": {
|
|
1667
|
-
"$ref": "#/definitions/
|
|
1815
|
+
"$ref": "#/definitions/DocumentIndexes",
|
|
1668
1816
|
"description": "Indexes extracted from marker nodes during indexing"
|
|
1669
1817
|
},
|
|
1670
1818
|
"computed": {
|
|
@@ -1699,7 +1847,7 @@
|
|
|
1699
1847
|
"description": "Collection of documents in the workspace"
|
|
1700
1848
|
},
|
|
1701
1849
|
"globalIndex": {
|
|
1702
|
-
"$ref": "#/definitions/
|
|
1850
|
+
"$ref": "#/definitions/GlobalIndex",
|
|
1703
1851
|
"description": "Aggregated global index across all documents"
|
|
1704
1852
|
}
|
|
1705
1853
|
},
|