@hyperscale0/udl 1.0.0-alpha.3 → 1.0.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -1
- package/README.md +8 -11
- package/dist/evolution.d.ts +4 -12
- package/dist/evolution.d.ts.map +1 -1
- package/dist/evolution.js +5 -15
- package/dist/evolution.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/spec/README.md +3 -3
- package/src/evolution.ts +5 -22
- package/src/index.ts +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,18 @@ here under the release that made it.
|
|
|
10
10
|
|
|
11
11
|
## [Unreleased]
|
|
12
12
|
|
|
13
|
+
## [1.0.0-alpha.4] - 2026-08-26
|
|
14
|
+
|
|
15
|
+
### Removed
|
|
16
|
+
|
|
17
|
+
- `diffUdlEvolution`. It validated both arguments and then handed off to
|
|
18
|
+
`diffValidatedUdlEvolution`, and nothing called it: `udl diff` and the
|
|
19
|
+
engine's composer both take the validated door. Two doors onto one comparison
|
|
20
|
+
meant every caller first had to work out which one it was standing in.
|
|
21
|
+
Validate with `validateUdl` or `assertValidUdl`, then call
|
|
22
|
+
`diffValidatedUdlEvolution`, whose `UdlDocument` parameters keep the compiler
|
|
23
|
+
on the right side of that rule.
|
|
24
|
+
|
|
13
25
|
## [1.0.0-alpha.3] - 2026-08-25
|
|
14
26
|
|
|
15
27
|
### Changed
|
|
@@ -92,7 +104,8 @@ First public release. Format version 1.
|
|
|
92
104
|
- `bun run spec:check`, which fails when the committed schema drifts from the
|
|
93
105
|
grammar it was generated from.
|
|
94
106
|
|
|
95
|
-
[Unreleased]: https://github.com/hyperscale0/hyperscale-udl/compare/v1.0.0-alpha.
|
|
107
|
+
[Unreleased]: https://github.com/hyperscale0/hyperscale-udl/compare/v1.0.0-alpha.4...HEAD
|
|
108
|
+
[1.0.0-alpha.4]: https://github.com/hyperscale0/hyperscale-udl/compare/v1.0.0-alpha.3...v1.0.0-alpha.4
|
|
96
109
|
[1.0.0-alpha.3]: https://github.com/hyperscale0/hyperscale-udl/compare/v1.0.0-alpha.2...v1.0.0-alpha.3
|
|
97
110
|
[1.0.0-alpha.2]: https://github.com/hyperscale0/hyperscale-udl/compare/v1.0.0-alpha.1...v1.0.0-alpha.2
|
|
98
111
|
[1.0.0-alpha.1]: https://github.com/hyperscale0/hyperscale-udl/releases/tag/v1.0.0-alpha.1
|
package/README.md
CHANGED
|
@@ -64,7 +64,7 @@ change to the surface ships as a minor bump, not a major.
|
|
|
64
64
|
```ts
|
|
65
65
|
import { readFile, writeFile } from "node:fs/promises";
|
|
66
66
|
import {
|
|
67
|
-
|
|
67
|
+
diffValidatedUdlEvolution,
|
|
68
68
|
parseUdl,
|
|
69
69
|
serializeUdl,
|
|
70
70
|
validateUdl,
|
|
@@ -81,22 +81,19 @@ if (!result.ok) console.error(result.issues);
|
|
|
81
81
|
|
|
82
82
|
// Is this change legal against the version that already has live instances?
|
|
83
83
|
const live = parseUdl(await readFile("note.live.udl"));
|
|
84
|
-
const violations =
|
|
84
|
+
const violations = diffValidatedUdlEvolution(live, document);
|
|
85
85
|
```
|
|
86
86
|
|
|
87
87
|
`parseUdl` takes a string or a `Uint8Array`; bytes are decoded as strict UTF-8.
|
|
88
88
|
`serializeUdl` validates before it writes, so an invalid document has no
|
|
89
89
|
canonical form.
|
|
90
90
|
|
|
91
|
-
`
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
the document, or hand two documents you have already validated to
|
|
98
|
-
`diffValidatedUdlEvolution`, which keeps the `UdlDocument` parameter types and
|
|
99
|
-
so is also the door to use if you want the compiler checking your call.
|
|
91
|
+
`diffValidatedUdlEvolution` takes two `UdlDocument`s and assumes both have
|
|
92
|
+
already been admitted. Validate first: an evolution verdict on a document
|
|
93
|
+
`validateUdl` refuses is not a verdict at all, and a candidate that drops a
|
|
94
|
+
live noun sails through a diff that never checked whether the noun was
|
|
95
|
+
referenced. The `UdlDocument` parameter types are what keeps the compiler on
|
|
96
|
+
your side of that rule.
|
|
100
97
|
|
|
101
98
|
## The command
|
|
102
99
|
|
package/dist/evolution.d.ts
CHANGED
|
@@ -59,18 +59,10 @@ export declare function snapshotUdlNoun(noun: UdlNoun): NounEvolutionSnapshot;
|
|
|
59
59
|
/**
|
|
60
60
|
* Compare two product definitions under the append-only evolution law.
|
|
61
61
|
*
|
|
62
|
-
* Both
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
* `resource_limit` issue for the same object.
|
|
67
|
-
*/
|
|
68
|
-
export declare function diffUdlEvolution(previous: unknown, next: unknown): readonly string[];
|
|
69
|
-
/**
|
|
70
|
-
* The same comparison for a caller holding two documents `validateUdl` has
|
|
71
|
-
* already admitted. Validation costs roughly twice what the diff costs, so a
|
|
72
|
-
* caller that has paid once should not pay again: `udl diff` parses both
|
|
73
|
-
* files and then takes this door.
|
|
62
|
+
* Both documents must already have passed `validateUdl`. The diff walks
|
|
63
|
+
* straight into `stableStringify`, so an unvalidated document with a cycle in
|
|
64
|
+
* it throws a RangeError out of here where the validator would have returned a
|
|
65
|
+
* clean `resource_limit` issue: parse first, then diff.
|
|
74
66
|
*/
|
|
75
67
|
export declare function diffValidatedUdlEvolution(previous: UdlDocument, next: UdlDocument): readonly string[];
|
|
76
68
|
/** Diff one noun snapshot. An empty result means the change is additive. */
|
package/dist/evolution.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evolution.d.ts","sourceRoot":"","sources":["../src/evolution.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"evolution.d.ts","sourceRoot":"","sources":["../src/evolution.ts"],"names":[],"mappings":"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"}
|
package/dist/evolution.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { UDL_LIMITS } from "./limits.js";
|
|
2
|
-
import {
|
|
2
|
+
import { UdlError } from "./validation.js";
|
|
3
3
|
/** Project an open .udl noun into the evolution engine's exact semantic shape. */
|
|
4
4
|
export function snapshotUdlNoun(noun) {
|
|
5
5
|
const required = new Set(noun.required);
|
|
@@ -33,20 +33,10 @@ export function snapshotUdlNoun(noun) {
|
|
|
33
33
|
/**
|
|
34
34
|
* Compare two product definitions under the append-only evolution law.
|
|
35
35
|
*
|
|
36
|
-
* Both
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
* `resource_limit` issue for the same object.
|
|
41
|
-
*/
|
|
42
|
-
export function diffUdlEvolution(previous, next) {
|
|
43
|
-
return diffValidatedUdlEvolution(assertValidUdl(previous), assertValidUdl(next));
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* The same comparison for a caller holding two documents `validateUdl` has
|
|
47
|
-
* already admitted. Validation costs roughly twice what the diff costs, so a
|
|
48
|
-
* caller that has paid once should not pay again: `udl diff` parses both
|
|
49
|
-
* files and then takes this door.
|
|
36
|
+
* Both documents must already have passed `validateUdl`. The diff walks
|
|
37
|
+
* straight into `stableStringify`, so an unvalidated document with a cycle in
|
|
38
|
+
* it throws a RangeError out of here where the validator would have returned a
|
|
39
|
+
* clean `resource_limit` issue: parse first, then diff.
|
|
50
40
|
*/
|
|
51
41
|
export function diffValidatedUdlEvolution(previous, next) {
|
|
52
42
|
const violations = [];
|
package/dist/evolution.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evolution.js","sourceRoot":"","sources":["../src/evolution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AA+D3D,kFAAkF;AAClF,MAAM,UAAU,eAAe,CAAC,IAAa;IAC3C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,OAAO;QACL,mBAAmB,EAAE,CAAC,IAAI,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,GAAG,CACvD,qBAAqB,CACtB;QACD,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,MAAM,EAAE,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;YACnD,KAAK;YACL,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE;SAC1C,CAAC,CACH;QACD,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO;QAC/B,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC;QAC1C,UAAU,EAAE,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CACrC,CAAC,SAAS,EAAE,EAAE,CACZ,GAAG,SAAS,CAAC,UAAU,MAAM,CAAC,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAC/E;QACD,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAClC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;QACrD,WAAW,EAAE,MAAM,CAAC,WAAW,CAC7B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC;YACrE,IAAI;YACJ,EAAE,IAAI,EAAE,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE;SAClD,CAAC,CACH;QACD,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;QAC3B,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE;QACvC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE;QACvC,KAAK,EAAE,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC;YACrD,IAAI;YACJ,eAAe,CAAC,UAAU,CAAC;SAC5B,CAAC,CACH;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAiB,EACjB,IAAa;IAEb,OAAO,yBAAyB,CAC9B,cAAc,CAAC,QAAQ,CAAC,EACxB,cAAc,CAAC,IAAI,CAAC,CACrB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CACvC,QAAqB,EACrB,IAAiB;IAEjB,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QACtC,UAAU,CAAC,IAAI,CACb,2BAA2B,QAAQ,CAAC,OAAO,OAAO,IAAI,CAAC,OAAO,EAAE,CACjE,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QACpC,UAAU,CAAC,IAAI,CACb,uCAAuC,QAAQ,CAAC,OAAO,OAAO,IAAI,CAAC,OAAO,EAAE,CAC7E,CAAC;IACJ,CAAC;IAED,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAC9B,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAU,CAAC,CACrE,CAAC;IACF,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAU,CAAC,CACjE,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,gBAAgB,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,cAAc,GAAG,IAAI,CAAC;YACtB,UAAU,CAAC,IAAI,CAAC,gBAAgB,IAAI,yBAAyB,CAAC,CAAC;QACjE,CAAC;aAAM,IAAI,eAAe,CAAC,OAAO,CAAC,KAAK,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;YACjE,cAAc,GAAG,IAAI,CAAC;YACtB,UAAU,CAAC,IAAI,CAAC,gBAAgB,IAAI,8BAA8B,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;QACvC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,cAAc,GAAG,IAAI,CAAC;IACzD,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC,CAAU,CAAC,CACxE,CAAC;IACF,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC,CAAU,CAAC,CACpE,CAAC;IACF,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,aAAa,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,cAAc,GAAG,IAAI,CAAC;YACtB,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,0CAA0C,CAAC,CAAC;YACjE,SAAS;QACX,CAAC;QACD,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,cAAc,GAAG,IAAI,CAAC;IACpD,CAAC;IAED,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACvD,UAAU,CAAC,IAAI,CACb,yDAAyD,QAAQ,CAAC,OAAO,EAAE,CAC5E,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,iBAAiB,CAC/B,QAA+B,EAC/B,IAA2B;IAE3B,IAAI,QAAQ,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;QAC5B,OAAO,CAAC,wBAAwB,QAAQ,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxC,UAAU,CAAC,IAAI,CACb,mCAAmC,QAAQ,CAAC,QAAQ,OAAO,IAAI,CAAC,QAAQ,EAAE,CAC3E,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QACtC,UAAU,CAAC,IAAI,CACb,wCAAwC,QAAQ,CAAC,OAAO,OAAO,IAAI,CAAC,OAAO,EAAE,CAC9E,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,IAAI,CACb,GAAG,iBAAiB,CAClB,QAAQ,CAAC,MAAM,EACf,IAAI,CAAC,MAAM,EACX,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,KAAK,yBAAyB,CAC7D,CACF,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACtE,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,UAAU,CAAC,IAAI,CAAC,uBAAuB,IAAI,yBAAyB,CAAC,CAAC;YACtE,SAAS;QACX,CAAC;QACD,IAAI,UAAU,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,EAAE,CAAC;YACjC,UAAU,CAAC,IAAI,CACb,uBAAuB,IAAI,kCAAkC,UAAU,CAAC,EAAE,OAAO,OAAO,CAAC,EAAE,EAAE,CAC9F,CAAC;QACJ,CAAC;QACD,UAAU,CAAC,IAAI,CACb,GAAG,iBAAiB,CAClB,UAAU,CAAC,IAAI,EACf,OAAO,CAAC,IAAI,EACZ,CAAC,KAAK,EAAE,EAAE,CACR,uBAAuB,IAAI,+BAA+B,KAAK,EAAE,CACpE,CACF,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QACxE,UAAU,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,UAAU,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,UAAU,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IACnD,UAAU,CAAC,IAAI,CACb,GAAG,iBAAiB,CAClB,QAAQ,CAAC,UAAU,EACnB,IAAI,CAAC,UAAU,EACf,CAAC,GAAG,EAAE,EAAE,CAAC,kBAAkB,GAAG,eAAe,CAC9C,EACD,GAAG,IAAI,CAAC,UAAU;SACf,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;SACnD,GAAG,CACF,CAAC,GAAG,EAAE,EAAE,CACN,kBAAkB,GAAG,gDAAgD,CACxE,CACJ,CAAC;IACF,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,UAAU,CAAC,IAAI,CACb,GAAG,iBAAiB,CAClB,QAAQ,CAAC,QAAQ,EACjB,IAAI,CAAC,QAAQ,EACb,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,IAAI,0CAA0C,CACzE,EACD,GAAG,iBAAiB,CAClB,QAAQ,CAAC,YAAY,EACrB,IAAI,CAAC,YAAY,EACjB,CAAC,KAAK,EAAE,EAAE,CAAC,yCAAyC,KAAK,EAAE,CAC5D,EACD,GAAG,iBAAiB,CAClB,QAAQ,CAAC,YAAY,EACrB,IAAI,CAAC,YAAY,EACjB,CAAC,KAAK,EAAE,EAAE,CAAC,yCAAyC,KAAK,EAAE,CAC5D,CACF,CAAC;IACF,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,eAAe,CAAC,UAAmB;IAC1C,OAAO;QACL,QAAQ,EAAE,UAAU,CAAC,QAAQ,IAAI,IAAI;QACrC,QAAQ,EAAE,UAAU,CAAC,QAAQ,IAAI,IAAI;QACrC,GAAG,EAAE,UAAU,CAAC,GAAG,IAAI,IAAI;QAC3B,QAAQ,EAAE,UAAU,CAAC,QAAQ,IAAI,KAAK;QACtC,SAAS,EAAE,UAAU,CAAC,SAAS,IAAI,IAAI;QACvC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,wBAAwB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;QAC3E,gBAAgB,EAAE,UAAU,CAAC,KAAK;YAChC,CAAC,CAAC,6BAA6B,CAAC,UAAU,CAAC,KAAK,CAAC;YACjD,CAAC,CAAC,IAAI;QACR,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,IAAI;QAC7B,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,IAAI;QACjC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACrC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;YAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QACH,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,IAAI,EAAE;QACrD,sBAAsB,EAAE,UAAU,CAAC,sBAAsB,IAAI,IAAI;QACjE,YAAY,EAAE,UAAU,CAAC,YAAY,IAAI,EAAE;QAC3C,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACrC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,MAAyC;IAEzC,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC5B,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CACpB,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CACtD;QACH,CAAC,CAAC,EAAE,CACP,CAAC;IACF,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC;QACvD,KAAK;QACL,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE;KACvD,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CACpC,MAAyC;IAEzC,MAAM,EACJ,UAAU,EAAE,WAAW,EACvB,QAAQ,EAAE,SAAS,EACnB,GAAG,WAAW,EACf,GAAG,MAAM,CAAC;IACX,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,UAAU,CACjB,QAA0D,EAC1D,IAAsD;IAEtD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,UAAU,CAAC,IAAI,CAAC,SAAS,KAAK,yBAAyB,CAAC,CAAC;YACzD,SAAS;QACX,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC7C,UAAU,CAAC,IAAI,CAAC,SAAS,KAAK,yCAAyC,CAAC,CAAC;QAC3E,CAAC;QACD,IACE,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,EACtE,CAAC;YACD,UAAU,CAAC,IAAI,CACb,SAAS,KAAK,gDAAgD,CAC/D,CAAC;QACJ,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC5C,UAAU,CAAC,IAAI,CACb,SAAS,KAAK,8FAA8F,CAC7G,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,SAAS,CAChB,QAAyD,EACzD,IAAqD;IAErD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI,yBAAyB,CAAC,CAAC;YACvD,SAAS;QACX,CAAC;QACD,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACrD,UAAU,CAAC,IAAI,CACb,QAAQ,IAAI,gCAAgC,UAAU,CAAC,KAAK,CAAC,MAAM,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,sCAAsC,CACrI,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAA0B,CAAC;gBAC/D,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACxD,UAAU,CAAC,IAAI,CACb,QAAQ,IAAI,iBAAiB,IAAI,CAAC,GAAG,aAAa,KAAK,sCAAsC,CAC9F,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACrD,UAAU,CAAC,IAAI,CACb,QAAQ,IAAI,gCAAgC,UAAU,CAAC,KAAK,CAAC,MAAM,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,kCAAkC,CACjI,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAA0B,CAAC;gBAC/D,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,eAAe,CAAC,QAAQ,CAAC;oBAAE,OAAO;gBAChE,UAAU,CAAC,IAAI,CACb,QAAQ,IAAI,iBAAiB,KAAK,KAAK,IAAI,CAAC,SAAS,mCAAmC,CACzF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QACD,UAAU,CAAC,IAAI,CACb,GAAG,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAChE,CAAC;QACF,2EAA2E;QAC3E,4EAA4E;QAC5E,IACE,UAAU,CAAC,KAAK,KAAK,IAAI;YACzB,eAAe,CAAC,UAAU,CAAC,gBAAgB,CAAC;gBAC1C,eAAe,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAC3C,CAAC;YACD,UAAU,CAAC,IAAI,CACb,QAAQ,IAAI,+EAA+E,CAC5F,CAAC;QACJ,CAAC;QACD,IACE,eAAe,CAAC,UAAU,CAAC,YAAY,CAAC;YACxC,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,EACrC,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI,+BAA+B,CAAC,CAAC;QAC/D,CAAC;QACD,IACE,eAAe,CAAC,UAAU,CAAC,iBAAiB,CAAC;YAC7C,eAAe,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAC1C,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI,wCAAwC,CAAC,CAAC;QACxE,CAAC;QACD,IACE,eAAe,CAAC,UAAU,CAAC,sBAAsB,CAAC;YAClD,eAAe,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAC/C,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI,mCAAmC,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,UAAU,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC7C,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI,4BAA4B,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,UAAU,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC;YAC/C,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI,yBAAyB,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACrE,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI,4BAA4B,CAAC,CAAC;QAC5D,CAAC;QACD,IACE,eAAe,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,EAC1E,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI,iCAAiC,CAAC,CAAC;QACjE,CAAC;QACD,IACE,eAAe,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,EAC1E,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI,gCAAgC,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACvE,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI,4BAA4B,CAAC,CAAC;QAC5D,CAAC;QACD,IACE,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,EACtE,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI,iCAAiC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,SAAS,CAChB,IAAY,EACZ,QAA0D,EAC1D,IAAsD;IAEtD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,qEAAqE;YACrE,yEAAyE;YACzE,UAAU,CAAC,IAAI,CACb,QAAQ,IAAI,gBAAgB,KAAK,yBAAyB,CAC3D,CAAC;YACF,SAAS;QACX,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC7C,UAAU,CAAC,IAAI,CACb,QAAQ,IAAI,gBAAgB,KAAK,6CAA6C,CAC/E,CAAC;QACJ,CAAC;QACD,IACE,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,EACtE,CAAC;YACD,UAAU,CAAC,IAAI,CACb,QAAQ,IAAI,gBAAgB,KAAK,qDAAqD,CACvF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC5C,UAAU,CAAC,IAAI,CACb,QAAQ,IAAI,gBAAgB,KAAK,mDAAmD,CACrF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,WAAW,CAClB,QAA0C,EAC1C,IAAsC;IAEtC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO;YAAE,UAAU,CAAC,IAAI,CAAC,cAAc,IAAI,yBAAyB,CAAC,CAAC;aACtE,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YAC3B,UAAU,CAAC,IAAI,CACb,cAAc,IAAI,qBAAqB,KAAK,OAAO,OAAO,EAAE,CAC7D,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,cAAc,CACrB,QAA+B,EAC/B,IAA2B;IAE3B,OAAO;QACL,GAAG,iBAAiB,CAClB,QAAQ,CAAC,mBAAmB,EAC5B,IAAI,CAAC,mBAAmB,EACxB,CAAC,GAAG,EAAE,EAAE,CAAC,wBAAwB,GAAG,eAAe,CACpD;QACD,GAAG,IAAI,CAAC,mBAAmB;aACxB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;aAC5D,GAAG,CACF,CAAC,GAAG,EAAE,EAAE,CACN,wBAAwB,GAAG,kDAAkD,CAChF;KACJ,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,QAAiB,EAAE,IAAa;IAClD,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACjC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACxD,OAAO,eAAe,CAAC,QAAQ,CAAC,KAAK,eAAe,CAAC,IAAI,CAAC;QACxD,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE,yFAAyF;SAC1F,CAAC;AACR,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAuB;IACpD,MAAM,OAAO,GACX,YAAY,IAAI,SAAS;QACvB,CAAC,CAAC,SAAS,CAAC,UAAU;QACtB,CAAC,CAAC,QAAQ,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK,QAAQ,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACpG,OAAO,GAAG,SAAS,CAAC,WAAW,IAAI,OAAO,WAAW,SAAS,CAAC,WAAW,QAAQ,SAAS,CAAC,aAAa,UAAU,CAAC,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACrK,CAAC;AAED,SAAS,iBAAiB,CACxB,QAA2B,EAC3B,IAAuB,EACvB,OAAkC;IAElC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAA+D;IAE/D,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAChC,CAAC,KAAK,EAA6B,EAAE,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CACnE,CACF,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,CAAC,CAAE,KAA2C;QAC9C,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,KAAc,EAAE,KAAK,GAAG,CAAC;IAChD,IAAI,KAAK,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,QAAQ,CAAC;YACjB;gBACE,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,uBAAuB,UAAU,CAAC,QAAQ,SAAS;gBAC5D,IAAI,EAAE,GAAG;aACV;SACF,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC;IACzC,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,2EAA2E;QAC3E,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAChF,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC;SAC7D,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC;SAC1C,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,OAAO,IAAI,OAAO;SACf,GAAG,CACF,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CACf,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,CAChE;SACA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"evolution.js","sourceRoot":"","sources":["../src/evolution.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export { canonicalizeUdl, parseUdl } from "./parser.js";
|
|
|
2
2
|
export { serializeUdl } from "./canonical.js";
|
|
3
3
|
export { fixedIsoDurationMs } from "./duration.js";
|
|
4
4
|
export { analyzeNounFinance, type FinanceIssue, type FinanceOptions, } from "./finance.js";
|
|
5
|
-
export { diffNounEvolution,
|
|
5
|
+
export { diffNounEvolution, diffValidatedUdlEvolution, snapshotUdlNoun, } from "./evolution.js";
|
|
6
6
|
export type { EvolutionFieldSnapshot, EvolutionMoveSnapshot, EvolutionStepSnapshot, EvolutionTransitionSnapshot, EvolutionVerbSnapshot, NounEvolutionSnapshot, } from "./evolution.js";
|
|
7
7
|
export { UDL_FORMAT_VERSION, udlDocumentSchema, udlKernelOperationSchema, } from "./schema.js";
|
|
8
8
|
export type { UdlAggregate, UdlAggregateCondition, UdlBinding, UdlDeclaredValuePolicy, UdlDecision, UdlDocument, UdlDue, UdlExample, UdlGate, UdlKernelOperation, UdlLifecycle, UdlLifecycleTransition, UdlNoun, UdlNounSubject, UdlStep, UdlSubject, UdlUnwind, UdlVerb, } from "./schema.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,iBAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,YAAY,EACZ,qBAAqB,EACrB,UAAU,EACV,sBAAsB,EACtB,WAAW,EACX,WAAW,EACX,MAAM,EACN,UAAU,EACV,OAAO,EACP,kBAAkB,EAClB,YAAY,EACZ,sBAAsB,EACtB,OAAO,EACP,cAAc,EACd,OAAO,EACP,UAAU,EACV,SAAS,EACT,OAAO,GACR,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,QAAQ,EACR,WAAW,EACX,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,oBAAoB,EACpB,QAAQ,EACR,YAAY,EACZ,mBAAmB,GACpB,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@ export { canonicalizeUdl, parseUdl } from "./parser.js";
|
|
|
2
2
|
export { serializeUdl } from "./canonical.js";
|
|
3
3
|
export { fixedIsoDurationMs } from "./duration.js";
|
|
4
4
|
export { analyzeNounFinance, } from "./finance.js";
|
|
5
|
-
export { diffNounEvolution,
|
|
5
|
+
export { diffNounEvolution, diffValidatedUdlEvolution, snapshotUdlNoun, } from "./evolution.js";
|
|
6
6
|
export { UDL_FORMAT_VERSION, udlDocumentSchema, udlKernelOperationSchema, } from "./schema.js";
|
|
7
7
|
export { assertValidUdl, openReferenceShapeBudget, UdlError, validateUdl, validateUdlSchemaValue, } from "./validation.js";
|
|
8
8
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,kBAAkB,GAGnB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,iBAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,kBAAkB,GAGnB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AASxB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAqBrB,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,QAAQ,EACR,WAAW,EACX,sBAAsB,GACvB,MAAM,iBAAiB,CAAC"}
|
package/package.json
CHANGED
package/spec/README.md
CHANGED
|
@@ -51,9 +51,9 @@ refuses.
|
|
|
51
51
|
never a support process.
|
|
52
52
|
7. **Append-only evolution law.** Once a definition has live instances, adding
|
|
53
53
|
states, transitions, optional fields, and verbs is legal; removing,
|
|
54
|
-
renaming, tightening, or changing a money step is not.
|
|
55
|
-
decides
|
|
56
|
-
`
|
|
54
|
+
renaming, tightening, or changing a money step is not.
|
|
55
|
+
`diffValidatedUdlEvolution` decides, on two documents the validator has
|
|
56
|
+
already admitted; `udl diff` parses both files and then calls it.
|
|
57
57
|
8. **Naming law.** Nouns are `snake_case`, singular, plain business English.
|
|
58
58
|
Verbs are single words in imperative present. Operations are `noun.verb`.
|
|
59
59
|
Fields are `camelCase`. The patterns live in the schema.
|
package/src/evolution.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UDL_LIMITS } from "./limits.js";
|
|
2
2
|
import type { UdlAggregate, UdlDocument, UdlNoun, UdlVerb } from "./schema.js";
|
|
3
|
-
import {
|
|
3
|
+
import { UdlError } from "./validation.js";
|
|
4
4
|
|
|
5
5
|
export interface EvolutionFieldSnapshot {
|
|
6
6
|
readonly required: boolean;
|
|
@@ -108,27 +108,10 @@ export function snapshotUdlNoun(noun: UdlNoun): NounEvolutionSnapshot {
|
|
|
108
108
|
/**
|
|
109
109
|
* Compare two product definitions under the append-only evolution law.
|
|
110
110
|
*
|
|
111
|
-
* Both
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
* `resource_limit` issue for the same object.
|
|
116
|
-
*/
|
|
117
|
-
export function diffUdlEvolution(
|
|
118
|
-
previous: unknown,
|
|
119
|
-
next: unknown,
|
|
120
|
-
): readonly string[] {
|
|
121
|
-
return diffValidatedUdlEvolution(
|
|
122
|
-
assertValidUdl(previous),
|
|
123
|
-
assertValidUdl(next),
|
|
124
|
-
);
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
/**
|
|
128
|
-
* The same comparison for a caller holding two documents `validateUdl` has
|
|
129
|
-
* already admitted. Validation costs roughly twice what the diff costs, so a
|
|
130
|
-
* caller that has paid once should not pay again: `udl diff` parses both
|
|
131
|
-
* files and then takes this door.
|
|
111
|
+
* Both documents must already have passed `validateUdl`. The diff walks
|
|
112
|
+
* straight into `stableStringify`, so an unvalidated document with a cycle in
|
|
113
|
+
* it throws a RangeError out of here where the validator would have returned a
|
|
114
|
+
* clean `resource_limit` issue: parse first, then diff.
|
|
132
115
|
*/
|
|
133
116
|
export function diffValidatedUdlEvolution(
|
|
134
117
|
previous: UdlDocument,
|