@mailwoman/geographic-model 10.0.0 → 10.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -32
- package/data/geographic-model.json +5 -5
- package/data/model/concepts.json +5 -5
- package/lib/artifact.ts +37 -65
- package/lib/compile.ts +55 -70
- package/lib/index.ts +22 -35
- package/lib/load.ts +60 -72
- package/lib/lookup.ts +12 -28
- package/lib/packaged.ts +50 -0
- package/lib/schema.ts +104 -97
- package/lib/validate.ts +32 -56
- package/lib/validation/issues.ts +32 -36
- package/lib/validation/references.ts +24 -27
- package/out/artifact.d.ts +28 -45
- package/out/artifact.d.ts.map +1 -1
- package/out/artifact.js +25 -52
- package/out/artifact.js.map +1 -1
- package/out/compile.d.ts +27 -41
- package/out/compile.d.ts.map +1 -1
- package/out/compile.js +42 -64
- package/out/compile.js.map +1 -1
- package/out/index.d.ts +22 -35
- package/out/index.d.ts.map +1 -1
- package/out/index.js +22 -35
- package/out/index.js.map +1 -1
- package/out/load.d.ts +30 -39
- package/out/load.d.ts.map +1 -1
- package/out/load.js +42 -56
- package/out/load.js.map +1 -1
- package/out/lookup.d.ts +12 -28
- package/out/lookup.d.ts.map +1 -1
- package/out/lookup.js +4 -16
- package/out/lookup.js.map +1 -1
- package/out/packaged.d.ts +24 -0
- package/out/packaged.d.ts.map +1 -0
- package/out/packaged.js +42 -0
- package/out/packaged.js.map +1 -0
- package/out/schema.d.ts +104 -97
- package/out/schema.d.ts.map +1 -1
- package/out/schema.js +37 -52
- package/out/schema.js.map +1 -1
- package/out/tools/build-artifact.d.ts +27 -0
- package/out/tools/build-artifact.d.ts.map +1 -0
- package/out/tools/build-artifact.js +44 -0
- package/out/tools/build-artifact.js.map +1 -0
- package/out/validate.d.ts +29 -50
- package/out/validate.d.ts.map +1 -1
- package/out/validate.js +12 -35
- package/out/validate.js.map +1 -1
- package/out/validation/issues.d.ts +17 -20
- package/out/validation/issues.d.ts.map +1 -1
- package/out/validation/issues.js +25 -29
- package/out/validation/issues.js.map +1 -1
- package/out/validation/references.d.ts.map +1 -1
- package/out/validation/references.js +20 -23
- package/out/validation/references.js.map +1 -1
- package/package.json +35 -76
- package/tools/build-artifact.ts +56 -0
- package/out/scripts/build-artifact.d.ts +0 -51
- package/out/scripts/build-artifact.d.ts.map +0 -1
- package/out/scripts/build-artifact.js +0 -85
- package/out/scripts/build-artifact.js.map +0 -1
package/out/schema.js
CHANGED
|
@@ -3,101 +3,83 @@
|
|
|
3
3
|
* @license AGPL-3.0
|
|
4
4
|
* @author Teffen Ellis, et al.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
* vocabularies
|
|
8
|
-
* observations, and derived facts.
|
|
6
|
+
* Defines the authored record schema for `@mailwoman/geographic-model`: identifiers, closed
|
|
7
|
+
* vocabularies and the shapes of concepts, relations, mappings, observations and derived facts.
|
|
9
8
|
*
|
|
10
|
-
*
|
|
9
|
+
* The schema has no numeric fields. {@link Modality} is a vocabulary of words with no exported order,
|
|
10
|
+
* because ranking weights belong to `@mailwoman/resolver` and `@mailwoman/neural`.
|
|
11
11
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* called, and ranking belongs to `@mailwoman/resolver` and `@mailwoman/neural`.
|
|
12
|
+
* Authored assertions, source observations and derived facts are separate types with separately
|
|
13
|
+
* branded identifiers. A derived fact has no {@link SourceProvenance}. Its `derivation` and `inputs`
|
|
14
|
+
* serve as its provenance.
|
|
16
15
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* {@link SourceObservationRecord} records what a named external source states and never enters the
|
|
20
|
-
* concept table; a {@link DerivedFactRecord} names the procedure that produced it and every input
|
|
21
|
-
* that procedure read. Their identifiers are separately branded, so one is not assignable where
|
|
22
|
-
* another is expected.
|
|
23
|
-
*
|
|
24
|
-
* **Every record carries provenance, and a derived fact carries it structurally.** A derived fact
|
|
25
|
-
* has no {@link SourceProvenance} of its own: its `derivation` plus its resolved `inputs` ARE its
|
|
26
|
-
* provenance, and each input carries source provenance in turn.
|
|
27
|
-
*
|
|
28
|
-
* Identifier namespaces are per-table. A {@link ConceptID} and a {@link RelationID} may read the
|
|
29
|
-
* same string without colliding; the brands are what keep them apart in a consumer.
|
|
30
|
-
*
|
|
31
|
-
* Consumed by `./validate.ts` (which refuses a document violating any rule above), by #1926's
|
|
32
|
-
* deterministic compiler, and by the first authored document in #1927.
|
|
33
|
-
*
|
|
34
|
-
* Boundary record: `docs/superpowers/specs/2026-08-26-geographic-model-boundaries.md` (#1917).
|
|
16
|
+
* Each table has its own identifier namespace, so a {@link ConceptID} and a {@link RelationID} may hold
|
|
17
|
+
* the same string.
|
|
35
18
|
*/
|
|
36
19
|
/**
|
|
37
|
-
*
|
|
20
|
+
* Brands a string as a {@link ConceptID} without changing it.
|
|
38
21
|
*/
|
|
39
22
|
export function toConceptID(id) {
|
|
40
23
|
return id;
|
|
41
24
|
}
|
|
42
25
|
/**
|
|
43
|
-
*
|
|
26
|
+
* Brands a string as a {@link RelationID} without changing it.
|
|
44
27
|
*/
|
|
45
28
|
export function toRelationID(id) {
|
|
46
29
|
return id;
|
|
47
30
|
}
|
|
48
31
|
/**
|
|
49
|
-
*
|
|
32
|
+
* Brands a string as a {@link RuleID} without changing it.
|
|
50
33
|
*/
|
|
51
34
|
export function toRuleID(id) {
|
|
52
35
|
return id;
|
|
53
36
|
}
|
|
54
37
|
/**
|
|
55
|
-
*
|
|
38
|
+
* Brands a string as a {@link MappingID} without changing it.
|
|
56
39
|
*/
|
|
57
40
|
export function toMappingID(id) {
|
|
58
41
|
return id;
|
|
59
42
|
}
|
|
60
43
|
/**
|
|
61
|
-
*
|
|
44
|
+
* Brands a string as an {@link ObservationID} without changing it.
|
|
62
45
|
*/
|
|
63
46
|
export function toObservationID(id) {
|
|
64
47
|
return id;
|
|
65
48
|
}
|
|
66
49
|
/**
|
|
67
|
-
*
|
|
50
|
+
* Brands a string as a {@link DerivedFactID} without changing it.
|
|
68
51
|
*/
|
|
69
52
|
export function toDerivedFactID(id) {
|
|
70
53
|
return id;
|
|
71
54
|
}
|
|
72
55
|
/**
|
|
73
|
-
* The
|
|
74
|
-
*
|
|
75
|
-
* which is the review cost the program accepted in exchange for refusing speculative upper-ontology breadth.
|
|
56
|
+
* The concept kinds.
|
|
57
|
+
* A new kind requires a reviewed schema revision.
|
|
76
58
|
*/
|
|
77
59
|
export const ConceptKind = {
|
|
78
60
|
/**
|
|
79
|
-
* A geographic
|
|
61
|
+
* A geographic area or point where other things are located.
|
|
80
62
|
*/
|
|
81
63
|
Place: "place",
|
|
82
64
|
/**
|
|
83
|
-
* A class of premises a person can
|
|
65
|
+
* A class of premises that a person can visit, such as `pharmacy`.
|
|
84
66
|
*/
|
|
85
67
|
Establishment: "establishment",
|
|
86
68
|
/**
|
|
87
|
-
*
|
|
88
|
-
* are owned by #1683.
|
|
69
|
+
* A kind of activity, such as `obtain_medication`.
|
|
89
70
|
*/
|
|
90
71
|
Activity: "activity",
|
|
91
72
|
};
|
|
92
73
|
/**
|
|
93
|
-
* How strongly an assertion,
|
|
74
|
+
* How strongly an assertion, observation or derived fact claims that its proposition holds.
|
|
94
75
|
*
|
|
95
|
-
* The
|
|
96
|
-
*
|
|
76
|
+
* The values are ordinal in meaning, but the module exports no order
|
|
77
|
+
* so callers do not convert them into weights.
|
|
97
78
|
*/
|
|
98
79
|
export const Modality = {
|
|
99
80
|
/**
|
|
100
|
-
* Holds in every instance
|
|
81
|
+
* Holds in every instance.
|
|
82
|
+
* A counterexample falsifies the record.
|
|
101
83
|
*/
|
|
102
84
|
Necessary: "necessary",
|
|
103
85
|
/**
|
|
@@ -108,7 +90,7 @@ export const Modality = {
|
|
|
108
90
|
Expected: "expected",
|
|
109
91
|
WeaklyExpected: "weakly_expected",
|
|
110
92
|
/**
|
|
111
|
-
* Consistent with the concept
|
|
93
|
+
* Consistent with the concept, with no claim about frequency.
|
|
112
94
|
*/
|
|
113
95
|
Possible: "possible",
|
|
114
96
|
Unusual: "unusual",
|
|
@@ -128,32 +110,35 @@ export const RelationSemantics = {
|
|
|
128
110
|
Defeasible: "defeasible",
|
|
129
111
|
};
|
|
130
112
|
/**
|
|
131
|
-
* A concept's
|
|
132
|
-
*
|
|
113
|
+
* A concept's review status.
|
|
114
|
+
* It tells consumers whether to use the record.
|
|
133
115
|
*/
|
|
134
116
|
export const ConceptStatus = {
|
|
135
117
|
/**
|
|
136
|
-
* Authored
|
|
118
|
+
* Authored but not yet reviewed.
|
|
137
119
|
*/
|
|
138
120
|
Draft: "draft",
|
|
139
121
|
Active: "active",
|
|
140
122
|
/**
|
|
141
|
-
*
|
|
123
|
+
* Retained so that existing references resolve.
|
|
124
|
+
* New references should avoid it.
|
|
142
125
|
*/
|
|
143
126
|
Deprecated: "deprecated",
|
|
144
127
|
};
|
|
145
128
|
/**
|
|
146
|
-
*
|
|
147
|
-
*
|
|
129
|
+
* External vocabularies that concepts can map to.
|
|
130
|
+
*
|
|
131
|
+
* {@link ExternalMappingRecord} assumes a single vocabulary.
|
|
132
|
+
* A second vocabulary would require a union discriminated on `vocabulary`.
|
|
148
133
|
*/
|
|
149
134
|
export const ExternalVocabulary = {
|
|
150
135
|
/**
|
|
151
|
-
* `@mailwoman/poi-taxonomy
|
|
136
|
+
* Category identifiers from `@mailwoman/poi-taxonomy`.
|
|
152
137
|
*/
|
|
153
138
|
POITaxonomy: "poi-taxonomy",
|
|
154
139
|
};
|
|
155
140
|
/**
|
|
156
|
-
*
|
|
141
|
+
* The table that a {@link DerivationInput} refers to.
|
|
157
142
|
*/
|
|
158
143
|
export const DerivationInputKind = {
|
|
159
144
|
Concept: "concept",
|
package/out/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../lib/schema.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../lib/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAUH;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,EAAU;IACrC,OAAO,EAAe,CAAA;AACvB,CAAC;AAOD;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,EAAU;IACtC,OAAO,EAAgB,CAAA;AACxB,CAAC;AAOD;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAU;IAClC,OAAO,EAAY,CAAA;AACpB,CAAC;AAOD;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,EAAU;IACrC,OAAO,EAAe,CAAA;AACvB,CAAC;AAOD;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,EAAU;IACzC,OAAO,EAAmB,CAAA;AAC3B,CAAC;AAOD;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,EAAU;IACzC,OAAO,EAAmB,CAAA;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IAC1B;;OAEG;IACH,KAAK,EAAE,OAAO;IACd;;OAEG;IACH,aAAa,EAAE,eAAe;IAC9B;;OAEG;IACH,QAAQ,EAAE,UAAU;CACX,CAAA;AAOV;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACvB;;;OAGG;IACH,SAAS,EAAE,WAAW;IACtB;;OAEG;IACH,UAAU,EAAE,YAAY;IACxB,gBAAgB,EAAE,mBAAmB;IACrC,QAAQ,EAAE,UAAU;IACpB,cAAc,EAAE,iBAAiB;IACjC;;OAEG;IACH,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,eAAe,EAAE,kBAAkB;CAC1B,CAAA;AAOV;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAChC;;OAEG;IACH,IAAI,EAAE,MAAM;IACZ;;OAEG;IACH,UAAU,EAAE,YAAY;CACf,CAAA;AAOV;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC5B;;OAEG;IACH,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB;;;OAGG;IACH,UAAU,EAAE,YAAY;CACf,CAAA;AAOV;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IACjC;;OAEG;IACH,WAAW,EAAE,cAAc;CAClB,CAAA;AAqIV;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAClC,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,cAAc;CAClB,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright Sister Software
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
*
|
|
6
|
+
* Generator for `data/geographic-model.json` — the committed compiled artifact, built from the
|
|
7
|
+
* authored records under `data/model/`.
|
|
8
|
+
*
|
|
9
|
+
* A committed artifact is these bytes run through `oxfmt`, which inlines short arrays that
|
|
10
|
+
* `JSON.stringify` cannot reproduce, so the freshness check compares the parsed artifact against a
|
|
11
|
+
* fresh compile and asserts byte equality between two compiles instead.
|
|
12
|
+
*/
|
|
13
|
+
import type { CompiledGeographicModel } from "#artifact";
|
|
14
|
+
/**
|
|
15
|
+
* The command that rewrites the committed artifact, quoted by the freshness test's
|
|
16
|
+
* failure message so a reader who trips it is told what to run.
|
|
17
|
+
*/
|
|
18
|
+
export declare const REGENERATE_ARTIFACT_COMMAND = "node packages/geographic-model/tools/build-artifact.ts && npx oxfmt packages/geographic-model/data/geographic-model.json";
|
|
19
|
+
/**
|
|
20
|
+
* Load the authored records and compile them.
|
|
21
|
+
* No partial result is returned.
|
|
22
|
+
*
|
|
23
|
+
* @throws with every validation violation when the authored tables fail to load.
|
|
24
|
+
* @throws with every compilation issue when loading succeeds but compilation fails.
|
|
25
|
+
*/
|
|
26
|
+
export declare function compileAuthoredGeographicModel(): Promise<CompiledGeographicModel>;
|
|
27
|
+
//# sourceMappingURL=build-artifact.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-artifact.d.ts","sourceRoot":"","sources":["../../tools/build-artifact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AAKxD;;;GAGG;AACH,eAAO,MAAM,2BAA2B,6HACmF,CAAA;AAE3H;;;;;;GAMG;AACH,wBAAsB,8BAA8B,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAIvF"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright Sister Software
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
*
|
|
6
|
+
* Generator for `data/geographic-model.json` — the committed compiled artifact, built from the
|
|
7
|
+
* authored records under `data/model/`.
|
|
8
|
+
*
|
|
9
|
+
* A committed artifact is these bytes run through `oxfmt`, which inlines short arrays that
|
|
10
|
+
* `JSON.stringify` cannot reproduce, so the freshness check compares the parsed artifact against a
|
|
11
|
+
* fresh compile and asserts byte equality between two compiles instead.
|
|
12
|
+
*/
|
|
13
|
+
import { writeLocalJSONFile } from "@mailwoman/core/fs/writers";
|
|
14
|
+
import { compileGeographicModel } from "#compile";
|
|
15
|
+
import { loadGeographicModelDirectory } from "#load";
|
|
16
|
+
import { packagedModelPaths } from "#packaged";
|
|
17
|
+
/**
|
|
18
|
+
* The command that rewrites the committed artifact, quoted by the freshness test's
|
|
19
|
+
* failure message so a reader who trips it is told what to run.
|
|
20
|
+
*/
|
|
21
|
+
export const REGENERATE_ARTIFACT_COMMAND = "node packages/geographic-model/tools/build-artifact.ts && npx oxfmt packages/geographic-model/data/geographic-model.json";
|
|
22
|
+
/**
|
|
23
|
+
* Load the authored records and compile them.
|
|
24
|
+
* No partial result is returned.
|
|
25
|
+
*
|
|
26
|
+
* @throws with every validation violation when the authored tables fail to load.
|
|
27
|
+
* @throws with every compilation issue when loading succeeds but compilation fails.
|
|
28
|
+
*/
|
|
29
|
+
export async function compileAuthoredGeographicModel() {
|
|
30
|
+
const { source } = await packagedModelPaths();
|
|
31
|
+
return compileGeographicModel(await loadGeographicModelDirectory(source));
|
|
32
|
+
}
|
|
33
|
+
async function main() {
|
|
34
|
+
const { artifact } = await packagedModelPaths();
|
|
35
|
+
const model = await compileAuthoredGeographicModel();
|
|
36
|
+
await writeLocalJSONFile(model, artifact);
|
|
37
|
+
console.log(`wrote ${artifact}: ${model.concepts.length} concepts, ${model.relations.length} relations, ${model.mappings.length} mappings, ${model.observations.length} observations, ${model.derivedFacts.length} derived facts (model ${model.modelVersion})`);
|
|
38
|
+
}
|
|
39
|
+
// `import.meta.main` is undefined under a Vite/vitest module graph, so importing this
|
|
40
|
+
// module from a test stays side-effect-free and never rewrites the committed artifact.
|
|
41
|
+
if (import.meta.main) {
|
|
42
|
+
await main();
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=build-artifact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-artifact.js","sourceRoot":"","sources":["../../tools/build-artifact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAG/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,4BAA4B,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAE9C;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GACvC,0HAA0H,CAAA;AAE3H;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B;IACnD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,kBAAkB,EAAE,CAAA;IAE7C,OAAO,sBAAsB,CAAC,MAAM,4BAA4B,CAAC,MAAM,CAAC,CAAC,CAAA;AAC1E,CAAC;AAED,KAAK,UAAU,IAAI;IAClB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,kBAAkB,EAAE,CAAA;IAC/C,MAAM,KAAK,GAAG,MAAM,8BAA8B,EAAE,CAAA;IAEpD,MAAM,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAEzC,OAAO,CAAC,GAAG,CACV,SAAS,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC,MAAM,cAAc,KAAK,CAAC,SAAS,CAAC,MAAM,eAAe,KAAK,CAAC,QAAQ,CAAC,MAAM,cAAc,KAAK,CAAC,YAAY,CAAC,MAAM,kBAAkB,KAAK,CAAC,YAAY,CAAC,MAAM,yBAAyB,KAAK,CAAC,YAAY,GAAG,CACnP,CAAA;AACF,CAAC;AAED,sFAAsF;AACtF,uFAAuF;AACvF,IAAI,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACtB,MAAM,IAAI,EAAE,CAAA;AACb,CAAC"}
|
package/out/validate.d.ts
CHANGED
|
@@ -3,32 +3,14 @@
|
|
|
3
3
|
* @license AGPL-3.0
|
|
4
4
|
* @author Teffen Ellis, et al.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
6
|
+
* Deterministically validate a {@link GeographicModelDocument} without I/O or external schema libraries. Report all
|
|
7
|
+
* issues in traversal order and return either the complete valid document or the full issue list.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* also never returns a partial document: either the input satisfies every rule and is returned
|
|
12
|
-
* whole, or nothing is returned and every issue is named with the path it was found at. There is no
|
|
13
|
-
* third answer in which some records were dropped quietly, because a dropped record is
|
|
14
|
-
* indistinguishable from a world that does not contain it.
|
|
15
|
-
*
|
|
16
|
-
* Two passes, in this order, and both always run:
|
|
17
|
-
*
|
|
18
|
-
* 1. **Shape.** Field presence, field types, closed-vocabulary membership, and unknown keys. An
|
|
19
|
-
* unknown key whose name announces ranking policy — a boost, a penalty, a weight, a rank, a
|
|
20
|
-
* score — is reported under its own code rather than as an anonymous stray field, because that
|
|
21
|
-
* is the one authoring mistake this package exists to refuse.
|
|
22
|
-
* 2. **Whole-table references.** Duplicate identifiers, `isA` self-reference and cycles, relation
|
|
23
|
-
* and concept resolution, relation domain and range kinds, inverse reciprocity, and derivation
|
|
24
|
-
* inputs. These are answerable only once every table has been read, which is why they are
|
|
25
|
-
* reported after the shape issues rather than interleaved with them.
|
|
26
|
-
*
|
|
27
|
-
* Consumed by #1926's compiler, which validates before it emits, and by #1927's authored document.
|
|
9
|
+
* Validate record shapes first, then whole-table references such as duplicate IDs, inheritance cycles, relation
|
|
10
|
+
* constraints, inverses and derivation inputs.
|
|
28
11
|
*/
|
|
29
12
|
import { ConceptKind, DerivationInputKind, type GeographicModelDocument } from "#schema";
|
|
30
13
|
import { type ValidationIssue } from "#validation/issues";
|
|
31
|
-
export { type ValidationIssue, ValidationIssueCode } from "#validation/issues";
|
|
32
14
|
/**
|
|
33
15
|
* The whole document, or every reason it is not one.
|
|
34
16
|
*/
|
|
@@ -41,42 +23,42 @@ export type ValidationResult = {
|
|
|
41
23
|
};
|
|
42
24
|
export interface AssertionView {
|
|
43
25
|
path: string;
|
|
44
|
-
id
|
|
45
|
-
relation
|
|
46
|
-
target
|
|
26
|
+
id: string | null;
|
|
27
|
+
relation: string | null;
|
|
28
|
+
target: string | null;
|
|
47
29
|
}
|
|
48
30
|
export interface ConceptView {
|
|
49
31
|
path: string;
|
|
50
|
-
id
|
|
51
|
-
kind
|
|
52
|
-
isA
|
|
32
|
+
id: string | null;
|
|
33
|
+
kind: ConceptKind | null;
|
|
34
|
+
isA: string[] | null;
|
|
53
35
|
assertions: AssertionView[];
|
|
54
36
|
}
|
|
55
37
|
export interface RelationView {
|
|
56
38
|
path: string;
|
|
57
|
-
id
|
|
58
|
-
domainKinds
|
|
59
|
-
rangeKinds
|
|
60
|
-
transitive
|
|
61
|
-
symmetric
|
|
62
|
-
inverse
|
|
39
|
+
id: string | null;
|
|
40
|
+
domainKinds: ConceptKind[] | null;
|
|
41
|
+
rangeKinds: ConceptKind[] | null;
|
|
42
|
+
transitive: boolean | null;
|
|
43
|
+
symmetric: boolean | null;
|
|
44
|
+
inverse: string | null;
|
|
63
45
|
}
|
|
64
46
|
export interface MappingView {
|
|
65
47
|
path: string;
|
|
66
|
-
id
|
|
67
|
-
concept
|
|
48
|
+
id: string | null;
|
|
49
|
+
concept: string | null;
|
|
68
50
|
}
|
|
69
51
|
export interface TripleView {
|
|
70
52
|
path: string;
|
|
71
|
-
id
|
|
72
|
-
subject
|
|
73
|
-
relation
|
|
74
|
-
object
|
|
53
|
+
id: string | null;
|
|
54
|
+
subject: string | null;
|
|
55
|
+
relation: string | null;
|
|
56
|
+
object: string | null;
|
|
75
57
|
}
|
|
76
58
|
export interface DerivationInputView {
|
|
77
59
|
path: string;
|
|
78
|
-
kind
|
|
79
|
-
id
|
|
60
|
+
kind: DerivationInputKind | null;
|
|
61
|
+
id: string | null;
|
|
80
62
|
}
|
|
81
63
|
export interface DerivedFactView extends TripleView {
|
|
82
64
|
inputs: DerivationInputView[];
|
|
@@ -99,26 +81,23 @@ export interface ReferenceTables {
|
|
|
99
81
|
/**
|
|
100
82
|
* Validate an authored geographic-model document.
|
|
101
83
|
*
|
|
102
|
-
*
|
|
103
|
-
* in table order, then whole-table reference issues — so two runs over the same input produce the same list.
|
|
84
|
+
* @returns The full document or every validation issue in deterministic order.
|
|
104
85
|
*/
|
|
105
86
|
export declare function validateGeographicModelDocument(input: unknown): ValidationResult;
|
|
106
87
|
/**
|
|
107
|
-
*
|
|
88
|
+
* Format issues as `path: message [code]`, preserving their order.
|
|
108
89
|
*/
|
|
109
90
|
export declare function formatValidationIssues(issues: readonly ValidationIssue[]): string;
|
|
110
91
|
/**
|
|
111
|
-
*
|
|
112
|
-
* message, so a caller that only ever prints `error.message` still sees every violation.
|
|
92
|
+
* Validation error carrying the complete issue list in both `issues` and `message`.
|
|
113
93
|
*/
|
|
114
94
|
export declare class GeographicModelValidationError extends Error {
|
|
115
95
|
readonly issues: readonly ValidationIssue[];
|
|
116
96
|
constructor(issues: readonly ValidationIssue[]);
|
|
117
97
|
}
|
|
118
98
|
/**
|
|
119
|
-
* Validate and return
|
|
120
|
-
*
|
|
121
|
-
* step, a test.
|
|
99
|
+
* Validate and return the document, or throw with all issues.
|
|
100
|
+
* Use when partial results are not meaningful.
|
|
122
101
|
*/
|
|
123
102
|
export declare function parseGeographicModelDocument(input: unknown): GeographicModelDocument;
|
|
124
103
|
//# sourceMappingURL=validate.d.ts.map
|
package/out/validate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../lib/validate.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../lib/validate.ts"],"names":[],"mappings":"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"}
|
package/out/validate.js
CHANGED
|
@@ -3,34 +3,16 @@
|
|
|
3
3
|
* @license AGPL-3.0
|
|
4
4
|
* @author Teffen Ellis, et al.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
6
|
+
* Deterministically validate a {@link GeographicModelDocument} without I/O or external schema libraries. Report all
|
|
7
|
+
* issues in traversal order and return either the complete valid document or the full issue list.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* also never returns a partial document: either the input satisfies every rule and is returned
|
|
12
|
-
* whole, or nothing is returned and every issue is named with the path it was found at. There is no
|
|
13
|
-
* third answer in which some records were dropped quietly, because a dropped record is
|
|
14
|
-
* indistinguishable from a world that does not contain it.
|
|
15
|
-
*
|
|
16
|
-
* Two passes, in this order, and both always run:
|
|
17
|
-
*
|
|
18
|
-
* 1. **Shape.** Field presence, field types, closed-vocabulary membership, and unknown keys. An
|
|
19
|
-
* unknown key whose name announces ranking policy — a boost, a penalty, a weight, a rank, a
|
|
20
|
-
* score — is reported under its own code rather than as an anonymous stray field, because that
|
|
21
|
-
* is the one authoring mistake this package exists to refuse.
|
|
22
|
-
* 2. **Whole-table references.** Duplicate identifiers, `isA` self-reference and cycles, relation
|
|
23
|
-
* and concept resolution, relation domain and range kinds, inverse reciprocity, and derivation
|
|
24
|
-
* inputs. These are answerable only once every table has been read, which is why they are
|
|
25
|
-
* reported after the shape issues rather than interleaved with them.
|
|
26
|
-
*
|
|
27
|
-
* Consumed by #1926's compiler, which validates before it emits, and by #1927's authored document.
|
|
9
|
+
* Validate record shapes first, then whole-table references such as duplicate IDs, inheritance cycles, relation
|
|
10
|
+
* constraints, inverses and derivation inputs.
|
|
28
11
|
*/
|
|
29
12
|
import { isPlainObject } from "@mailwoman/core/objects";
|
|
30
13
|
import { ConceptKind, ConceptStatus, DerivationInputKind, ExternalVocabulary, Modality, RelationSemantics, } from "#schema";
|
|
31
14
|
import { add, checkFieldNames, readArray, readBoolean, readString, readStringArray, readVocabularyArray, readVocabularyValue, ValidationIssueCode, } from "#validation/issues";
|
|
32
15
|
import { checkReferences } from "#validation/references";
|
|
33
|
-
export { ValidationIssueCode } from "#validation/issues";
|
|
34
16
|
const DOCUMENT_FIELDS = ["version", "relations", "concepts", "mappings", "observations", "derivedFacts"];
|
|
35
17
|
const PROVENANCE_FIELDS = ["source", "sourceVersion", "sourceRecord", "sourceURL", "authoredAt", "notes"];
|
|
36
18
|
const OPTIONAL_PROVENANCE_FIELDS = ["sourceVersion", "sourceRecord", "sourceURL", "authoredAt", "notes"];
|
|
@@ -61,8 +43,7 @@ const DERIVED_FACT_FIELDS = [
|
|
|
61
43
|
];
|
|
62
44
|
const DERIVATION_INPUT_FIELDS = ["kind", "id"];
|
|
63
45
|
/**
|
|
64
|
-
* ISO 3166-1 alpha-2
|
|
65
|
-
* a claim to a country nothing else in the system names.
|
|
46
|
+
* Uppercase ISO 3166-1 alpha-2 country code.
|
|
66
47
|
*/
|
|
67
48
|
const COUNTRY_PATTERN = /^[A-Z]{2}$/;
|
|
68
49
|
function readCountries(issues, path, container) {
|
|
@@ -93,7 +74,7 @@ function readProvenance(issues, path, container) {
|
|
|
93
74
|
}
|
|
94
75
|
}
|
|
95
76
|
/**
|
|
96
|
-
* Read
|
|
77
|
+
* Read required label and description fields.
|
|
97
78
|
*/
|
|
98
79
|
function readNarration(issues, path, value) {
|
|
99
80
|
readString(issues, path, value, "label", true);
|
|
@@ -224,26 +205,23 @@ function collectIssues(input) {
|
|
|
224
205
|
/**
|
|
225
206
|
* Validate an authored geographic-model document.
|
|
226
207
|
*
|
|
227
|
-
*
|
|
228
|
-
* in table order, then whole-table reference issues — so two runs over the same input produce the same list.
|
|
208
|
+
* @returns The full document or every validation issue in deterministic order.
|
|
229
209
|
*/
|
|
230
210
|
export function validateGeographicModelDocument(input) {
|
|
231
211
|
const issues = collectIssues(input);
|
|
232
212
|
if (issues.length)
|
|
233
213
|
return { ok: false, issues };
|
|
234
|
-
//
|
|
235
|
-
// where `input` is still `unknown`, is what makes it a single step rather than a cast through `unknown`.
|
|
214
|
+
// Return the original document without rewriting it.
|
|
236
215
|
return { ok: true, document: input };
|
|
237
216
|
}
|
|
238
217
|
/**
|
|
239
|
-
*
|
|
218
|
+
* Format issues as `path: message [code]`, preserving their order.
|
|
240
219
|
*/
|
|
241
220
|
export function formatValidationIssues(issues) {
|
|
242
221
|
return issues.map((issue) => `${issue.path}: ${issue.message} [${issue.code}]`).join("\n");
|
|
243
222
|
}
|
|
244
223
|
/**
|
|
245
|
-
*
|
|
246
|
-
* message, so a caller that only ever prints `error.message` still sees every violation.
|
|
224
|
+
* Validation error carrying the complete issue list in both `issues` and `message`.
|
|
247
225
|
*/
|
|
248
226
|
export class GeographicModelValidationError extends Error {
|
|
249
227
|
issues;
|
|
@@ -254,9 +232,8 @@ export class GeographicModelValidationError extends Error {
|
|
|
254
232
|
}
|
|
255
233
|
}
|
|
256
234
|
/**
|
|
257
|
-
* Validate and return
|
|
258
|
-
*
|
|
259
|
-
* step, a test.
|
|
235
|
+
* Validate and return the document, or throw with all issues.
|
|
236
|
+
* Use when partial results are not meaningful.
|
|
260
237
|
*/
|
|
261
238
|
export function parseGeographicModelDocument(input) {
|
|
262
239
|
const result = validateGeographicModelDocument(input);
|
package/out/validate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../lib/validate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../lib/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAEvD,OAAO,EACN,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAElB,QAAQ,EACR,iBAAiB,GACjB,MAAM,SAAS,CAAA;AAChB,OAAO,EACN,GAAG,EACH,eAAe,EACf,SAAS,EACT,WAAW,EACX,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EAEnB,mBAAmB,GACnB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AASxD,MAAM,eAAe,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,CAAU,CAAA;AACjH,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,CAAU,CAAA;AAClH,MAAM,0BAA0B,GAAG,CAAC,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,CAAU,CAAA;AAEjH,MAAM,eAAe,GAAG;IACvB,IAAI;IACJ,OAAO;IACP,aAAa;IACb,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,SAAS;IACT,WAAW;CACF,CAAA;AAEV,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,CAAU,CAAA;AACrG,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAU,CAAA;AACnH,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAU,CAAA;AAC3F,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,CAAU,CAAA;AAElH,MAAM,mBAAmB,GAAG;IAC3B,IAAI;IACJ,YAAY;IACZ,QAAQ;IACR,SAAS;IACT,UAAU;IACV,QAAQ;IACR,UAAU;IACV,WAAW;CACF,CAAA;AAEV,MAAM,uBAAuB,GAAG,CAAC,MAAM,EAAE,IAAI,CAAU,CAAA;AAEvD;;GAEG;AACH,MAAM,eAAe,GAAG,YAAY,CAAA;AAoEpC,SAAS,aAAa,CAAC,MAAyB,EAAE,IAAY,EAAE,SAAkC;IACjG,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA;IAE3E,IAAI,CAAC,MAAM;QAAE,OAAM;IAEnB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAC/C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,GAAG,CACF,MAAM,EACN,GAAG,IAAI,cAAc,KAAK,GAAG,EAC7B,mBAAmB,CAAC,gBAAgB,EACpC,KAAK,KAAK,iDAAiD,CAC3D,CAAA;QACF,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,cAAc,CAAC,MAAyB,EAAE,IAAY,EAAE,SAAkC;IAClG,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAA;IAClC,MAAM,SAAS,GAAG,GAAG,IAAI,aAAa,CAAA;IAEtC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACzB,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,mBAAmB,CAAC,YAAY,EAAE,0BAA0B,CAAC,CAAA;QAEpF,OAAM;IACP,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,mBAAmB,CAAC,SAAS,EAAE,gCAAgC,CAAC,CAAA;QAEvF,OAAM;IACP,CAAC;IAED,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAA;IAC5D,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;IAEpD,KAAK,MAAM,GAAG,IAAI,0BAA0B,EAAE,CAAC;QAC9C,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;IACjD,CAAC;AACF,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,MAAyB,EAAE,IAAY,EAAE,KAA8B;IAC7F,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;IAC9C,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,CAAA;AACrD,CAAC;AAED,SAAS,YAAY,CAAC,MAAyB,EAAE,IAAY,EAAE,KAA8B;IAC5F,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAE/C,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,CAAC,CAAA;IAErD,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAEtD,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IAElC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,kBAAkB,CAAA;IACvD,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAA;IACnG,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAA;IACjG,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;IACjE,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;IAC/D,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;IAEjE,mBAAmB,CAClB,MAAM,EACN,IAAI,EACJ,KAAK,EACL,WAAW,EACX,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAChC,mBAAmB,CAAC,wBAAwB,CAC5C,CAAA;IAED,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;AAC7E,CAAC;AAED,SAAS,aAAa,CAAC,MAAyB,EAAE,IAAY,EAAE,KAA8B;IAC7F,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAA;IAEtD,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IACtD,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;IAClE,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;IAE9D,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAA;IAClH,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IAClC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IAEnC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;AACtC,CAAC;AAED,SAAS,WAAW,CAAC,MAAyB,EAAE,IAAY,EAAE,KAA8B;IAC3F,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,CAAA;IAEpD,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAEtD,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IAElC,MAAM,IAAI,GAAG,mBAAmB,CAC/B,MAAM,EACN,IAAI,EACJ,KAAK,EACL,MAAM,EACN,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAC1B,mBAAmB,CAAC,kBAAkB,CACtC,CAAA;IAED,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAC7D,MAAM,UAAU,GAAoB,EAAE,CAAA;IAEtC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QACnG,MAAM,SAAS,GAAG,GAAG,IAAI,eAAe,KAAK,GAAG,CAAA;QAEhD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,mBAAmB,CAAC,SAAS,EAAE,gCAAgC,CAAC,CAAA;YAEvF,SAAQ;QACT,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAA;IACzD,CAAC;IAED,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IAEnC,mBAAmB,CAClB,MAAM,EACN,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAC5B,mBAAmB,CAAC,oBAAoB,CACxC,CAAA;IAED,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,CAAA;AAC3C,CAAC;AAED,SAAS,WAAW,CAAC,MAAyB,EAAE,IAAY,EAAE,KAA8B;IAC3F,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,CAAA;IAEpD,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IACtD,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;IAEhE,mBAAmB,CAClB,MAAM,EACN,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,EACjC,mBAAmB,CAAC,yBAAyB,CAC7C,CAAA;IAED,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,CAAA;IACnD,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IAEnC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAA;AAC7B,CAAC;AAED,SAAS,eAAe,CAAC,MAAyB,EAAE,IAAY,EAAE,KAA8B;IAC/F,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAA;IAExD,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IACtD,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;IAChE,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;IAClE,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;IAE9D,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAA;IAClH,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IAClC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IAEnC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;AAC/C,CAAC;AAED,SAAS,mBAAmB,CAC3B,MAAyB,EACzB,IAAY,EACZ,KAA8B;IAE9B,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,uBAAuB,CAAC,CAAA;IAE7D,MAAM,IAAI,GAAG,mBAAmB,CAC/B,MAAM,EACN,IAAI,EACJ,KAAK,EACL,MAAM,EACN,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAClC,mBAAmB,CAAC,0BAA0B,CAC9C,CAAA;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAA;AACvE,CAAC;AAED,SAAS,eAAe,CAAC,MAAyB,EAAE,IAAY,EAAE,KAA8B;IAC/F,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAA;IAEzD,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAEtD,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,CAAA;IAEnD,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;IAC9D,MAAM,MAAM,GAA0B,EAAE,CAAA;IAExC,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAChC,GAAG,CACF,MAAM,EACN,GAAG,IAAI,SAAS,EAChB,mBAAmB,CAAC,SAAS,EAC7B,kGAAkG,CAClG,CAAA;IACF,CAAC;IAED,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QACxD,MAAM,SAAS,GAAG,GAAG,IAAI,WAAW,KAAK,GAAG,CAAA;QAE5C,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,mBAAmB,CAAC,SAAS,EAAE,sCAAsC,CAAC,CAAA;YAE7F,SAAQ;QACT,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAA;IAC3D,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;IAChE,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;IAClE,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;IAE9D,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAA;IAClH,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IAElC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;AACvD,CAAC;AAED,SAAS,SAAS,CACjB,MAAyB,EACzB,QAAiC,EACjC,GAAW,EACX,KAAa,EACb,IAAoF;IAEpF,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;IAC3D,MAAM,OAAO,GAAQ,EAAE,CAAA;IAEvB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QACxD,MAAM,SAAS,GAAG,KAAK,GAAG,IAAI,KAAK,GAAG,CAAA;QAEtC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,mBAAmB,CAAC,SAAS,EAAE,KAAK,KAAK,oBAAoB,CAAC,CAAA;YAErF,SAAQ;QACT,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAA;IAC7C,CAAC;IAED,OAAO,OAAO,CAAA;AACf,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACpC,MAAM,MAAM,GAAsB,EAAE,CAAA;IAEpC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,mBAAmB,CAAC,SAAS,EAAE,+CAA+C,CAAC,CAAA;QAEhG,OAAO,MAAM,CAAA;IACd,CAAC;IAED,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,CAAC,CAAA;IACpD,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;IAE/C,eAAe,CAAC,MAAM,EAAE;QACvB,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,CAAC;QAC1E,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC;QACtE,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC;QACtE,YAAY,EAAE,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,CAAC;QACtF,YAAY,EAAE,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,CAAC;KACvF,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAAC,KAAc;IAC7D,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;IAEnC,IAAI,MAAM,CAAC,MAAM;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;IAE/C,qDAAqD;IACrD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAgC,EAAE,CAAA;AAChE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAkC;IACxE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC3F,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IAC/C,MAAM,CAA4B;IAE3C,YAAY,MAAkC;QAC7C,KAAK,CAAC,yCAAyC,MAAM,CAAC,MAAM,aAAa,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAE1G,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAA;QAC5C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACrB,CAAC;CACD;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAAC,KAAc;IAC1D,MAAM,MAAM,GAAG,+BAA+B,CAAC,KAAK,CAAC,CAAA;IAErD,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,IAAI,8BAA8B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAEvE,OAAO,MAAM,CAAC,QAAQ,CAAA;AACvB,CAAC"}
|