@_linked/core 2.16.1 → 2.17.0-next.20260827134740
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/CHANGELOG.md +37 -0
- package/lib/esm/paths/normalizePropertyPath.js +31 -1
- package/lib/esm/paths/normalizePropertyPath.js.map +1 -1
- package/lib/esm/paths/pathExprToSparql.d.ts +16 -0
- package/lib/esm/paths/pathExprToSparql.js +44 -11
- package/lib/esm/paths/pathExprToSparql.js.map +1 -1
- package/lib/esm/shapes/SHACL.d.ts +15 -0
- package/lib/esm/shapes/SHACL.js.map +1 -1
- package/lib/esm/shapes/syncShapes.d.ts +22 -2
- package/lib/esm/shapes/syncShapes.js +29 -10
- package/lib/esm/shapes/syncShapes.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,42 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.17.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#198](https://github.com/linked-cm/core/pull/198) [`4a3f607`](https://github.com/linked-cm/core/commit/4a3f6070089396cc596a01703dcfc8939fcb69f0) Thanks [@flyon](https://github.com/flyon)! - Add `canonicalPathKey(expr)` — a stable, prefix-independent identity for a property path.
|
|
8
|
+
|
|
9
|
+
A `PathExpr` needs a scalar form whenever it is used as an identity: keying a map of properties, comparing two paths, or naming a property across a process boundary. `pathExprToSparql` cannot serve that purpose — it renders for humans and for queries, shortening IRIs via `formatUri`, so the same path serialises differently depending on which prefixes happen to be registered in the current process.
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
import { canonicalPathKey } from "@_linked/core/paths/pathExprToSparql";
|
|
13
|
+
|
|
14
|
+
canonicalPathKey("https://schema.org/name"); // 'https://schema.org/name'
|
|
15
|
+
canonicalPathKey({ id: "https://schema.org/name" }); // 'https://schema.org/name' — same key
|
|
16
|
+
canonicalPathKey({ seq: [a, b] }); // '<a>/<b>'
|
|
17
|
+
canonicalPathKey({ inv: a }); // '^<a>'
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Absolute IRIs, always, never prefixed, so a catalog written in one process matches the same catalog read in another. A **simple** path returns the bare predicate IRI, so single-predicate property identities are unchanged and only complex paths gain a new spelling. Note it is an _identity_, not a round-trippable path: a bare IRI is not valid property-path syntax, so a simple key cannot be fed back to `parsePropertyPath` (complex keys can).
|
|
21
|
+
|
|
22
|
+
**Fixes:** `normalizePropertyPath` threw on any bare absolute IRI. `'https://schema.org/name'` contains `/`, so it matched the path-operator test and was handed to the path parser, which then failed on the `//` in the scheme. This was invisible for as long as paths arrived as `NamedNode`s or prefixed names from decorators, and appears the moment a plain IRI string is used — which is every simple property in a shape catalog. A hierarchical IRI is now distinguished from a prefixed-name sequence, so `'ex:a/ex:b'` still parses as a sequence and `'<a>/<b>'` still parses as an expression.
|
|
23
|
+
|
|
24
|
+
`PropertyShapeConfig.path` now documents all four accepted forms, including that an ontology term is passed **directly** (`documents.confidence`) and never via `.id` — which would unwrap it back to the bare string.
|
|
25
|
+
|
|
26
|
+
- [#199](https://github.com/linked-cm/core/pull/199) [`ec22ee1`](https://github.com/linked-cm/core/commit/ec22ee170eed4c9dfb2366b6fcd73d800ec16525) Thanks [@flyon](https://github.com/flyon)! - `syncShapes` can scope its orphan sweep to the namespaces it owns.
|
|
27
|
+
|
|
28
|
+
The sweep previously pruned every store-only shape it found. In a **multi-writer** dataset — an app-data store written by more than one package — that means one writer's sync deletes shapes another writer legitimately owns.
|
|
29
|
+
|
|
30
|
+
```ts
|
|
31
|
+
await syncShapes(shapes, { orphanScope: "ownedNamespaces" });
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
- `'all'` _(default, unchanged)_ — prune every store-only shape. Correct when the sync is the sole writer.
|
|
35
|
+
- `'ownedNamespaces'` — only prune shapes in namespaces this sync owns.
|
|
36
|
+
- `'none'` — never prune.
|
|
37
|
+
|
|
38
|
+
Additive: omit the option and behaviour is exactly as before.
|
|
39
|
+
|
|
3
40
|
## 2.16.1
|
|
4
41
|
|
|
5
42
|
### Patch Changes
|
|
@@ -4,6 +4,23 @@
|
|
|
4
4
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
5
|
*/
|
|
6
6
|
import { parsePropertyPath, PATH_OPERATOR_CHARS } from './PropertyPathExpr.js';
|
|
7
|
+
/**
|
|
8
|
+
* An absolute IRI written bare, e.g. `https://schema.org/name` or `urn:prop:sku`.
|
|
9
|
+
*
|
|
10
|
+
* Two forms, and the distinction from a PREFIXED-NAME SEQUENCE is the whole difficulty:
|
|
11
|
+
*
|
|
12
|
+
* - A hierarchical IRI carries `://`, which `ex:friend/ex:name` never does. The `/` inside it
|
|
13
|
+
* is part of the IRI, not a sequence separator.
|
|
14
|
+
* - A non-hierarchical IRI (`urn:prop:sku`) has a scheme and NO path operator at all.
|
|
15
|
+
*
|
|
16
|
+
* So `ex:friend/ex:name` is still read as a sequence, and `<a>/<b>` — which starts with `<`,
|
|
17
|
+
* not a scheme — still parses as an expression.
|
|
18
|
+
*/
|
|
19
|
+
const isBareIri = (value) => {
|
|
20
|
+
if (/^[A-Za-z][A-Za-z0-9+.-]*:\/\//.test(value))
|
|
21
|
+
return !/[|^*+?()!<>\s]/.test(value);
|
|
22
|
+
return /^[A-Za-z][A-Za-z0-9+.-]*:/.test(value) && !PATH_OPERATOR_CHARS.test(value);
|
|
23
|
+
};
|
|
7
24
|
/** Path expression operator keys used to detect structured PathExpr objects. */
|
|
8
25
|
const PATH_EXPR_KEYS = new Set(['seq', 'alt', 'inv', 'zeroOrMore', 'oneOrMore', 'zeroOrOne', 'negatedPropertySet']);
|
|
9
26
|
/** Check if an object is a structured PathExpr (not a plain {id} ref). */
|
|
@@ -25,7 +42,20 @@ export function normalizePropertyPath(input) {
|
|
|
25
42
|
let result;
|
|
26
43
|
// String input
|
|
27
44
|
if (typeof input === 'string') {
|
|
28
|
-
if (
|
|
45
|
+
if (isBareIri(input)) {
|
|
46
|
+
// A bare absolute IRI is a PathRef, not an expression — even though it contains `/` and
|
|
47
|
+
// `:`, which `PATH_OPERATOR_CHARS` matches. Without this, `https://schema.org/name` is fed
|
|
48
|
+
// to the parser and dies at the `//` in its scheme.
|
|
49
|
+
//
|
|
50
|
+
// It never showed up while paths arrived as NamedNodes or prefixed names from decorators.
|
|
51
|
+
// It bites the moment a plain IRI string is used — which `PropertyDetails.path` now is for
|
|
52
|
+
// every simple property in a shape catalog.
|
|
53
|
+
//
|
|
54
|
+
// A genuine sequence of absolute IRIs is written `<a>/<b>` and contains `<`, so the two
|
|
55
|
+
// are unambiguous.
|
|
56
|
+
result = input;
|
|
57
|
+
}
|
|
58
|
+
else if (PATH_OPERATOR_CHARS.test(input)) {
|
|
29
59
|
result = parsePropertyPath(input);
|
|
30
60
|
}
|
|
31
61
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalizePropertyPath.js","sourceRoot":"","sources":["../../../src/paths/normalizePropertyPath.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAgB,iBAAiB,EAAE,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAY5F,gFAAgF;AAChF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAEpH,0EAA0E;AAC1E,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAAW,EAAE;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAiC;IACrE,IAAI,MAAgB,CAAC;IAErB,eAAe;IACf,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"normalizePropertyPath.js","sourceRoot":"","sources":["../../../src/paths/normalizePropertyPath.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,3 +12,19 @@ export declare function collectPathUris(expr: PathExpr): string[];
|
|
|
12
12
|
* Adds parentheses only when needed for correct precedence.
|
|
13
13
|
*/
|
|
14
14
|
export declare function pathExprToSparql(expr: PathExpr): string;
|
|
15
|
+
/**
|
|
16
|
+
* A stable, prefix-INDEPENDENT identity for a property path.
|
|
17
|
+
*
|
|
18
|
+
* `pathExprToSparql` renders for humans and for queries: it shortens IRIs via `formatUri`, so the
|
|
19
|
+
* same path serializes differently depending on which prefixes happen to be registered in the
|
|
20
|
+
* current process. That is fine for a query string and disqualifying for a wire key — the
|
|
21
|
+
* extraction contract uses this value to name a property across process boundaries, and a
|
|
22
|
+
* catalog written in one process must match a result read in another.
|
|
23
|
+
*
|
|
24
|
+
* So: absolute IRIs, always, never prefixed. Round-trips through `parsePropertyPath`.
|
|
25
|
+
*
|
|
26
|
+
* A SIMPLE path returns the bare predicate IRI rather than `<iri>`, because that is what a
|
|
27
|
+
* single-predicate property has always been identified by — widening `propertyIri` to a full
|
|
28
|
+
* path (plan-035 D13) must not change the key of the overwhelmingly common case.
|
|
29
|
+
*/
|
|
30
|
+
export declare function canonicalPathKey(expr: PathExpr): string;
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { isPathRef } from './PropertyPathExpr.js';
|
|
7
7
|
import { formatUri } from '../sparql/sparqlUtils.js';
|
|
8
|
+
import { Prefix } from '../utils/Prefix.js';
|
|
8
9
|
// ---------------------------------------------------------------------------
|
|
9
10
|
// Precedence levels (higher = tighter binding)
|
|
10
11
|
// ---------------------------------------------------------------------------
|
|
@@ -91,39 +92,71 @@ function walkPathExpr(expr, uris) {
|
|
|
91
92
|
* Adds parentheses only when needed for correct precedence.
|
|
92
93
|
*/
|
|
93
94
|
export function pathExprToSparql(expr) {
|
|
94
|
-
return renderExpr(expr, 0);
|
|
95
|
+
return renderExpr(expr, 0, refToSparql);
|
|
95
96
|
}
|
|
96
|
-
|
|
97
|
+
/**
|
|
98
|
+
* Absolute, prefix-independent rendering of a single path reference.
|
|
99
|
+
*
|
|
100
|
+
* BOTH spellings are expanded. A `{id}` ref usually carries a full IRI, but not always — the
|
|
101
|
+
* shape catalog and hand-written fixtures both produce `{id: 'schema:name'}`. Expanding only the
|
|
102
|
+
* string form would give one path two different keys depending on how it was spelled, which is
|
|
103
|
+
* the one thing a canonical key may never do.
|
|
104
|
+
*/
|
|
105
|
+
const absoluteIri = (ref) => Prefix.toFullIfPossible(typeof ref === 'string' ? ref : ref.id);
|
|
106
|
+
function refToAbsolute(ref) {
|
|
107
|
+
return `<${absoluteIri(ref)}>`;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* A stable, prefix-INDEPENDENT identity for a property path.
|
|
111
|
+
*
|
|
112
|
+
* `pathExprToSparql` renders for humans and for queries: it shortens IRIs via `formatUri`, so the
|
|
113
|
+
* same path serializes differently depending on which prefixes happen to be registered in the
|
|
114
|
+
* current process. That is fine for a query string and disqualifying for a wire key — the
|
|
115
|
+
* extraction contract uses this value to name a property across process boundaries, and a
|
|
116
|
+
* catalog written in one process must match a result read in another.
|
|
117
|
+
*
|
|
118
|
+
* So: absolute IRIs, always, never prefixed. Round-trips through `parsePropertyPath`.
|
|
119
|
+
*
|
|
120
|
+
* A SIMPLE path returns the bare predicate IRI rather than `<iri>`, because that is what a
|
|
121
|
+
* single-predicate property has always been identified by — widening `propertyIri` to a full
|
|
122
|
+
* path (plan-035 D13) must not change the key of the overwhelmingly common case.
|
|
123
|
+
*/
|
|
124
|
+
export function canonicalPathKey(expr) {
|
|
125
|
+
if (isPathRef(expr))
|
|
126
|
+
return absoluteIri(expr);
|
|
127
|
+
return renderExpr(expr, 0, refToAbsolute);
|
|
128
|
+
}
|
|
129
|
+
function renderExpr(expr, parentPrec, ref = refToSparql) {
|
|
97
130
|
if (isPathRef(expr)) {
|
|
98
|
-
return
|
|
131
|
+
return ref(expr);
|
|
99
132
|
}
|
|
100
133
|
if ('seq' in expr) {
|
|
101
|
-
const inner = expr.seq.map((e) => renderExpr(e, PREC_SEQ)).join('/');
|
|
134
|
+
const inner = expr.seq.map((e) => renderExpr(e, PREC_SEQ, ref)).join('/');
|
|
102
135
|
return parentPrec > PREC_SEQ ? `(${inner})` : inner;
|
|
103
136
|
}
|
|
104
137
|
if ('alt' in expr) {
|
|
105
|
-
const inner = expr.alt.map((e) => renderExpr(e, PREC_ALT)).join('|');
|
|
138
|
+
const inner = expr.alt.map((e) => renderExpr(e, PREC_ALT, ref)).join('|');
|
|
106
139
|
return parentPrec > PREC_ALT ? `(${inner})` : inner;
|
|
107
140
|
}
|
|
108
141
|
if ('inv' in expr) {
|
|
109
|
-
return `^${renderExpr(expr.inv, PREC_UNARY)}`;
|
|
142
|
+
return `^${renderExpr(expr.inv, PREC_UNARY, ref)}`;
|
|
110
143
|
}
|
|
111
144
|
if ('zeroOrMore' in expr) {
|
|
112
|
-
return `${renderExpr(expr.zeroOrMore, PREC_PRIMARY)}*`;
|
|
145
|
+
return `${renderExpr(expr.zeroOrMore, PREC_PRIMARY, ref)}*`;
|
|
113
146
|
}
|
|
114
147
|
if ('oneOrMore' in expr) {
|
|
115
|
-
return `${renderExpr(expr.oneOrMore, PREC_PRIMARY)}+`;
|
|
148
|
+
return `${renderExpr(expr.oneOrMore, PREC_PRIMARY, ref)}+`;
|
|
116
149
|
}
|
|
117
150
|
if ('zeroOrOne' in expr) {
|
|
118
|
-
return `${renderExpr(expr.zeroOrOne, PREC_PRIMARY)}?`;
|
|
151
|
+
return `${renderExpr(expr.zeroOrOne, PREC_PRIMARY, ref)}?`;
|
|
119
152
|
}
|
|
120
153
|
if ('negatedPropertySet' in expr) {
|
|
121
154
|
const items = expr.negatedPropertySet.map((item) => {
|
|
122
155
|
if (typeof item === 'string' || (typeof item === 'object' && 'id' in item && !('inv' in item))) {
|
|
123
|
-
return
|
|
156
|
+
return ref(item);
|
|
124
157
|
}
|
|
125
158
|
const invItem = item;
|
|
126
|
-
return `^${
|
|
159
|
+
return `^${ref(invItem.inv)}`;
|
|
127
160
|
});
|
|
128
161
|
return items.length === 1 ? `!${items[0]}` : `!(${items.join('|')})`;
|
|
129
162
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pathExprToSparql.js","sourceRoot":"","sources":["../../../src/paths/pathExprToSparql.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"pathExprToSparql.js","sourceRoot":"","sources":["../../../src/paths/pathExprToSparql.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAE1C,8EAA8E;AAC9E,+CAA+C;AAC/C,8EAA8E;AAC9E,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,UAAU,GAAG,CAAC,CAAC;AACrB,MAAM,YAAY,GAAG,CAAC,CAAC;AAEvB,SAAS,WAAW,CAAC,GAAY;IAC/B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,kFAAkF;QAClF,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;QAC/C,kEAAkE;QAClE,OAAO,GAAG,CAAC;IACb,CAAC;IACD,2EAA2E;IAC3E,OAAO,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,IAAc;IAC5C,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,GAAY,EAAE,IAAc;IAC9C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAAc,EAAE,IAAc;IAClD,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvB,OAAO;IACT,CAAC;IACD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAAC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG;YAAE,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IAC/E,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAAC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG;YAAE,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IAC/E,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IAC5D,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IAC1E,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;QAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IACxE,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;QAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IACxE,IAAI,oBAAoB,IAAI,IAAI,EAAE,CAAC;QACjC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC3C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC;gBAC/F,UAAU,CAAC,IAAe,EAAE,IAAI,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAE,IAAuB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAc;IAC7C,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;AAC1C,CAAC;AAID;;;;;;;GAOG;AACH,MAAM,WAAW,GAAG,CAAC,GAAY,EAAU,EAAE,CAC3C,MAAM,CAAC,gBAAgB,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAElE,SAAS,aAAa,CAAC,GAAY;IACjC,OAAO,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;AACjC,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAc;IAC7C,IAAI,SAAS,CAAC,IAAI,CAAC;QAAE,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;IAC9C,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,UAAU,CAAC,IAAc,EAAE,UAAkB,EAAE,MAAoB,WAAW;IACrF,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAED,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1E,OAAO,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IACtD,CAAC;IAED,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1E,OAAO,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IACtD,CAAC;IAED,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC;IACrD,CAAC;IAED,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QACzB,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC;IAC9D,CAAC;IAED,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;QACxB,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC;IAC7D,CAAC;IAED,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;QACxB,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC;IAC7D,CAAC;IAED,IAAI,oBAAoB,IAAI,IAAI,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACjD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC;gBAC/F,OAAO,GAAG,CAAC,IAAe,CAAC,CAAC;YAC9B,CAAC;YACD,MAAM,OAAO,GAAG,IAAsB,CAAC;YACvC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACvE,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACrE,CAAC"}
|
|
@@ -121,6 +121,21 @@ export interface ObjectPropertyShapeConfig extends PropertyShapeConfig {
|
|
|
121
121
|
export interface PropertyShapeConfig {
|
|
122
122
|
/**
|
|
123
123
|
* The property path of this property shape.
|
|
124
|
+
*
|
|
125
|
+
* Four accepted forms, all equivalent where they overlap:
|
|
126
|
+
*
|
|
127
|
+
* - **An ontology term** — `documents.confidence`. The idiom for real shapes: it reuses the
|
|
128
|
+
* ontology, so a namespace changes in one place. `createNameSpace` returns a `{id}` ref, so
|
|
129
|
+
* the term IS the second form and is passed DIRECTLY — never `documents.confidence.id`,
|
|
130
|
+
* which unwraps it back to a bare string.
|
|
131
|
+
* - **A node reference** — `{id: 'https://example.org/vocab#startsAt'}`. What the first form
|
|
132
|
+
* produces. Convenient in tests, or wherever an ontology module would be overkill.
|
|
133
|
+
* - **A bare IRI or prefixed name** — `'https://example.org/vocab#startsAt'`, `'ex:startsAt'`.
|
|
134
|
+
* - **A path expression** — `'ex:a/ex:b'`, `{seq: [...]}`, `{inv: ...}`, and the other
|
|
135
|
+
* operators. An array is read as a sequence.
|
|
136
|
+
*
|
|
137
|
+
* A string is parsed as an expression only when it is not a bare absolute IRI: `ex:a/ex:b` is
|
|
138
|
+
* a sequence, while the `/` inside `https://example.org/vocab#x` belongs to the IRI.
|
|
124
139
|
*/
|
|
125
140
|
path: PropertyPathInputList;
|
|
126
141
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SHACL.js","sourceRoot":"","sources":["../../../src/shapes/SHACL.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SHACL.js","sourceRoot":"","sources":["../../../src/shapes/SHACL.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
import { Shape } from './Shape.js';
|
|
2
2
|
import type { IDataset } from '../interfaces/IDataset.js';
|
|
3
|
+
/** Options controlling how {@link syncShapes} treats store shapes that are not in code. */
|
|
4
|
+
export interface SyncShapesOptions {
|
|
5
|
+
/**
|
|
6
|
+
* How to treat NodeShapes present in the store but not in the current process's code:
|
|
7
|
+
* - `'all'` (default) — prune every store-only shape as an orphan. Correct for a
|
|
8
|
+
* **single-writer** dataset (CN's own storage sync, tests), where "not in code" ⇒ deleted.
|
|
9
|
+
* - `'ownedNamespaces'` — prune a store-only shape ONLY if its IRI falls within a namespace
|
|
10
|
+
* this process actually writes (the package-namespace of one of its code-registered shapes,
|
|
11
|
+
* i.e. the IRI prefix up to the last `/` or `#`). This is the **multi-writer** rule (arch-04:
|
|
12
|
+
* one app-data dataset, several writers): an app booting `syncShapesOnBoot` must not delete
|
|
13
|
+
* shapes another writer (e.g. CN's `enableCapability`) materialized into the same dataset in a
|
|
14
|
+
* package the app never registers. Renames/removals WITHIN the app's own package still prune.
|
|
15
|
+
* - `'none'` — never prune; purely additive (delete→recreate the code shapes, touch nothing else).
|
|
16
|
+
*/
|
|
17
|
+
orphanScope?: 'all' | 'ownedNamespaces' | 'none';
|
|
18
|
+
}
|
|
3
19
|
/**
|
|
4
20
|
* Plan an idempotent sync of all code-registered (non-framework) NodeShapes into the store as
|
|
5
21
|
* SHACL data — the forward (code → graph) materialization of arch-05 "code is canonical".
|
|
@@ -11,14 +27,18 @@ import type { IDataset } from '../interfaces/IDataset.js';
|
|
|
11
27
|
* Each in-code shape's thunk runs `delete → create` in order (the delete cascade-cleans the old
|
|
12
28
|
* property shapes / list / path subtrees via the containment cascade, the create rebuilds them).
|
|
13
29
|
* Shapes present in the store but no longer in code are deleted as orphans (their owned subtree
|
|
14
|
-
* cascades too). Reads existing shape IRIs for orphan detection.
|
|
30
|
+
* cascades too) — subject to `options.orphanScope`. Reads existing shape IRIs for orphan detection.
|
|
15
31
|
*
|
|
16
32
|
* `ds` (optional) targets an explicit dataset instead of the global router. It is a **plan-time**
|
|
17
33
|
* parameter: it feeds both the orphan-detection read (so orphans are computed against the same
|
|
18
34
|
* store they'll be pruned from) and every delete/create thunk. Omitted → today's global behavior;
|
|
19
35
|
* the returned thunks stay nullary either way.
|
|
36
|
+
*
|
|
37
|
+
* `options.orphanScope` (default `'all'`) scopes the orphan sweep — see {@link SyncShapesOptions}.
|
|
38
|
+
* Multi-writer datasets (an app materializing on boot next to CN's capability shapes) MUST pass
|
|
39
|
+
* `'ownedNamespaces'` so the sweep never clobbers another writer's shapes.
|
|
20
40
|
*/
|
|
21
|
-
export declare function syncShapes(ds?: IDataset): Promise<Array<() => Promise<void>>>;
|
|
41
|
+
export declare function syncShapes(ds?: IDataset, options?: SyncShapesOptions): Promise<Array<() => Promise<void>>>;
|
|
22
42
|
/**
|
|
23
43
|
* Plan an idempotent sync of ONE code-registered NodeShape into the store as SHACL data.
|
|
24
44
|
*
|
|
@@ -118,6 +118,11 @@ function buildSyncThunk(nodeShape, iri, ds) {
|
|
|
118
118
|
.then(() => undefined);
|
|
119
119
|
};
|
|
120
120
|
}
|
|
121
|
+
/** The owning namespace of a shape IRI — everything up to and including the last `/` or `#`. */
|
|
122
|
+
function shapeNamespace(iri) {
|
|
123
|
+
const cut = Math.max(iri.lastIndexOf('/'), iri.lastIndexOf('#'));
|
|
124
|
+
return cut >= 0 ? iri.slice(0, cut + 1) : iri;
|
|
125
|
+
}
|
|
121
126
|
/**
|
|
122
127
|
* Plan an idempotent sync of all code-registered (non-framework) NodeShapes into the store as
|
|
123
128
|
* SHACL data — the forward (code → graph) materialization of arch-05 "code is canonical".
|
|
@@ -129,15 +134,21 @@ function buildSyncThunk(nodeShape, iri, ds) {
|
|
|
129
134
|
* Each in-code shape's thunk runs `delete → create` in order (the delete cascade-cleans the old
|
|
130
135
|
* property shapes / list / path subtrees via the containment cascade, the create rebuilds them).
|
|
131
136
|
* Shapes present in the store but no longer in code are deleted as orphans (their owned subtree
|
|
132
|
-
* cascades too). Reads existing shape IRIs for orphan detection.
|
|
137
|
+
* cascades too) — subject to `options.orphanScope`. Reads existing shape IRIs for orphan detection.
|
|
133
138
|
*
|
|
134
139
|
* `ds` (optional) targets an explicit dataset instead of the global router. It is a **plan-time**
|
|
135
140
|
* parameter: it feeds both the orphan-detection read (so orphans are computed against the same
|
|
136
141
|
* store they'll be pruned from) and every delete/create thunk. Omitted → today's global behavior;
|
|
137
142
|
* the returned thunks stay nullary either way.
|
|
143
|
+
*
|
|
144
|
+
* `options.orphanScope` (default `'all'`) scopes the orphan sweep — see {@link SyncShapesOptions}.
|
|
145
|
+
* Multi-writer datasets (an app materializing on boot next to CN's capability shapes) MUST pass
|
|
146
|
+
* `'ownedNamespaces'` so the sweep never clobbers another writer's shapes.
|
|
138
147
|
*/
|
|
139
|
-
export function syncShapes(ds) {
|
|
148
|
+
export function syncShapes(ds, options) {
|
|
140
149
|
return __awaiter(this, void 0, void 0, function* () {
|
|
150
|
+
var _a;
|
|
151
|
+
const orphanScope = (_a = options === null || options === void 0 ? void 0 : options.orphanScope) !== null && _a !== void 0 ? _a : 'all';
|
|
141
152
|
// 1. Enumerate code-registered user shapes (exclude framework/meta shapes).
|
|
142
153
|
const userShapes = [];
|
|
143
154
|
for (const [iri, shapeClass] of getAllShapeClasses()) {
|
|
@@ -151,18 +162,26 @@ export function syncShapes(ds) {
|
|
|
151
162
|
userShapes.push({ iri, nodeShape: shapeClass.shape });
|
|
152
163
|
}
|
|
153
164
|
const localShapeIris = new Set(userShapes.map((s) => s.iri));
|
|
154
|
-
//
|
|
155
|
-
|
|
156
|
-
const existingRows = (yield NodeShape.select().exec(ds));
|
|
157
|
-
const existingShapeIris = new Set(existingRows.map((r) => r.id));
|
|
165
|
+
// Namespaces this process actually writes — the ownership scope for `'ownedNamespaces'` pruning.
|
|
166
|
+
const ownedNamespaces = new Set(userShapes.map((s) => shapeNamespace(s.iri)));
|
|
158
167
|
const thunks = [];
|
|
159
|
-
//
|
|
168
|
+
// 2. Per in-code shape: delete (cascade) then recreate.
|
|
160
169
|
for (const { iri, nodeShape } of userShapes) {
|
|
161
170
|
thunks.push(buildSyncThunk(nodeShape, iri, ds));
|
|
162
171
|
}
|
|
163
|
-
//
|
|
164
|
-
|
|
165
|
-
|
|
172
|
+
// 3. Orphan sweep (unless disabled). Identity-read existing NodeShape IRIs (ids only). Must hit
|
|
173
|
+
// the same `ds` the thunks target, or orphans get computed against the wrong store.
|
|
174
|
+
if (orphanScope !== 'none') {
|
|
175
|
+
const existingRows = (yield NodeShape.select().exec(ds));
|
|
176
|
+
// Orphan shapes (in store, not in code) → delete (cascade cleans their owned subtree). In
|
|
177
|
+
// `'ownedNamespaces'` mode, only shapes within a namespace this process writes are eligible —
|
|
178
|
+
// other writers' shapes (different package namespace) are left untouched.
|
|
179
|
+
for (const { id: iri } of existingRows) {
|
|
180
|
+
if (localShapeIris.has(iri))
|
|
181
|
+
continue;
|
|
182
|
+
if (orphanScope === 'ownedNamespaces' && !ownedNamespaces.has(shapeNamespace(iri))) {
|
|
183
|
+
continue;
|
|
184
|
+
}
|
|
166
185
|
thunks.push(() => DeleteBuilder.from(NodeShape, { id: iri }).exec(ds).then(() => undefined));
|
|
167
186
|
}
|
|
168
187
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncShapes.js","sourceRoot":"","sources":["../../../src/shapes/syncShapes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"syncShapes.js","sourceRoot":"","sources":["../../../src/shapes/syncShapes.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;;;GAIG;AACH,OAAO,EAAC,kBAAkB,EAAE,aAAa,EAAC,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AACrC,OAAO,EACL,uBAAuB,GAGxB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AAErE;;;GAGG;AACH,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAE1C,mGAAmG;AACnG,SAAS,sBAAsB,CAAC,EAAqB,EAAE,QAAgB;IACrE,MAAM,KAAK,GAAG,GAAG,QAAQ,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;IACxC,MAAM,CAAC,GAA4B;QACjC,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,uBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC;KAC9C,CAAC;IACF,IAAI,EAAE,CAAC,QAAQ;QAAE,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;IAC1C,IAAI,EAAE,CAAC,QAAQ;QAAE,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;IAC1C,IAAI,OAAO,EAAE,CAAC,QAAQ,KAAK,QAAQ;QAAE,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;IAC9D,IAAI,OAAO,EAAE,CAAC,QAAQ,KAAK,QAAQ;QAAE,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;IAC9D,IAAI,EAAE,CAAC,IAAI;QAAE,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;IAC9B,IAAI,EAAE,CAAC,WAAW;QAAE,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;IACnD,IAAI,OAAO,EAAE,CAAC,KAAK,KAAK,QAAQ;QAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;IACrD,IAAI,EAAE,CAAC,KAAK;QAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;IACjC,IAAI,EAAE,CAAC,KAAK;QAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;IACjC,IAAI,EAAE,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAC,IAAI,EAAE,GAAG,KAAK,KAAK,EAAC,CAAC,CAAC;IACxD,IAAI,EAAE,CAAC,gBAAgB;QAAE,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC;IACxD,IAAI,EAAE,CAAC,QAAQ;QAAE,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;IAC1C,IAAI,EAAE,CAAC,QAAQ;QAAE,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;IAC1C,IAAI,EAAE,CAAC,gBAAgB;QAAE,CAAC,CAAC,gBAAgB,GAAG,EAAE,CAAC,gBAAgB,CAAC;IAClE,IAAI,EAAE,CAAC,YAAY,KAAK,SAAS;QAAE,CAAC,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;IACpE,IAAI,EAAE,CAAC,YAAY,KAAK,SAAS;QAAE,CAAC,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;IACpE,IAAI,EAAE,CAAC,YAAY,KAAK,SAAS;QAAE,CAAC,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;IACpE,IAAI,EAAE,CAAC,YAAY,KAAK,SAAS;QAAE,CAAC,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;IACpE,IAAI,OAAO,EAAE,CAAC,SAAS,KAAK,QAAQ;QAAE,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC;IACjE,IAAI,OAAO,EAAE,CAAC,SAAS,KAAK,QAAQ;QAAE,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC;IACjE,uDAAuD;IACvD,IAAI,EAAE,CAAC,OAAO;QAAE,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,CAAC,kBAAkB,KAAK,SAAS;QAAE,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,kBAAkB,CAAC;IAC5E,IAAI,EAAE,CAAC,UAAU;QAAE,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;IAChD,IAAI,EAAE,CAAC,QAAQ;QAAE,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;IACnC,OAAO,CAAC,CAAC;AACX,CAAC;AAED,iGAAiG;AACjG,SAAS,kBAAkB,CAAC,SAAwB,EAAE,QAAgB;IACpE,MAAM,CAAC,GAA4B,EAAE,CAAC;IACtC,IAAI,SAAS,CAAC,WAAW;QAAE,CAAC,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;IACjE,IAAI,SAAS,CAAC,WAAW;QAAE,CAAC,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;IACjE,IAAI,SAAS,CAAC,OAAO;QAAE,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;IACrD,IAAI,SAAS,CAAC,SAAS;QAAE,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;IAC5C,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS;QAAE,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IAChE,IAAI,SAAS,CAAC,iBAAiB,IAAI,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;QACtE,CAAC,CAAC,iBAAiB,GAAG,SAAS,CAAC,iBAAiB,CAAC;IACpD,CAAC;IACD,qFAAqF;IACrF,CAAC,CAAC,UAAU,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAC3D,sBAAsB,CAAC,EAAE,EAAE,QAAQ,CAAC,CACrC,CAAC;IACF,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,SAAwB,EAAE,GAAW,EAAE,EAAa;IAC1E,OAAO,GAAG,EAAE;QACV,qFAAqF;QACrF,oFAAoF;QACpF,MAAM,IAAI,GAAG,kBAAkB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAChD,OAAQ,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,EAAC,EAAE,EAAE,GAAG,EAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAsB;aAC3E,IAAI,CAAC,GAAG,EAAE,CACR,SAAS,CAAC,MAAM,CAAC,IAAa,CAAC,CAAC,MAAM,CAAC,GAAG,CAEzC,CAAC,IAAI,CAAC,EAAE,CAAC,CACZ;aACA,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC,CAAC;AACJ,CAAC;AAmBD,gGAAgG;AAChG,SAAS,cAAc,CAAC,GAAW;IACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAgB,UAAU,CAC9B,EAAa,EACb,OAA2B;;;QAE3B,MAAM,WAAW,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,mCAAI,KAAK,CAAC;QAClD,4EAA4E;QAC5E,MAAM,UAAU,GAAmD,EAAE,CAAC;QACtE,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,kBAAkB,EAAE,EAAE,CAAC;YACrD,IAAI,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,CAAA;gBAAE,SAAS;YACjC,MAAM,GAAG,GAAI,UAAqC,CAAC,WAAW,CAAC;YAC/D,yFAAyF;YACzF,uEAAuE;YACvE,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,iBAAiB;gBAAE,SAAS;YAChD,UAAU,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,KAAK,EAAC,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7D,iGAAiG;QACjG,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAE9E,MAAM,MAAM,GAA+B,EAAE,CAAC;QAE9C,wDAAwD;QACxD,KAAK,MAAM,EAAC,GAAG,EAAE,SAAS,EAAC,IAAI,UAAU,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC;QAED,gGAAgG;QAChG,uFAAuF;QACvF,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,YAAY,GAAG,CAAC,MAAO,SAE3B,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAwB,CAAC;YAE7C,0FAA0F;YAC1F,8FAA8F;YAC9F,0EAA0E;YAC1E,KAAK,MAAM,EAAC,EAAE,EAAE,GAAG,EAAC,IAAI,YAAY,EAAE,CAAC;gBACrC,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,SAAS;gBACtC,IAAI,WAAW,KAAK,iBAAiB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBACnF,SAAS;gBACX,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CACd,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,EAAC,EAAE,EAAE,GAAG,EAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAsB,CAAC,IAAI,CAC1E,GAAG,EAAE,CAAC,SAAS,CAChB,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAAA;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,SAAS,CAAC,MAA6B,EAAE,EAAa;IACpE,iDAAiD;IACjD,MAAM,GAAG,GACP,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,MAAuB,CAAC;IAChF,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,0CAA0C,MAAM,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,SAAS,GAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,CAAC;IAC7B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,OAAO,MAAM,KAAK,QAAQ;YACxB,CAAC,CAAC,0CAA0C,MAAM,EAAE;YACpD,CAAC,CAAC,6CAA6C,CAClD,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,SAAS,CAAC,EAAE,CAAC;IAEzB,+FAA+F;IAC/F,uDAAuD;IACvD,MAAM,GAAG,GAAI,GAA8B,CAAC,WAAW,CAAC;IACxD,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,iBAAiB,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,oDAAoD,GAAG,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC"}
|