@dialecte/scl 0.3.9 → 0.3.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{hooks-DO4gUiix.js → hooks-Cm_UYBBt.js} +1139 -815
- package/dist/v2019C1/extensions/index.d.ts +1 -0
- package/dist/v2019C1/extensions/index.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/constraints/classify-attribute.types.d.ts +0 -10
- package/dist/v2019C1/extensions/lifecycle/constraints/classify-attribute.types.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/engine/decide.d.ts +8 -1
- package/dist/v2019C1/extensions/lifecycle/engine/decide.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/engine/diff.d.ts +40 -8
- package/dist/v2019C1/extensions/lifecycle/engine/diff.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/engine/diff.types.d.ts +35 -26
- package/dist/v2019C1/extensions/lifecycle/engine/diff.types.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/engine/group.d.ts +1 -1
- package/dist/v2019C1/extensions/lifecycle/engine/group.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/engine/index.d.ts +1 -1
- package/dist/v2019C1/extensions/lifecycle/engine/index.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/index.d.ts +2 -0
- package/dist/v2019C1/extensions/lifecycle/index.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/instance/find-instance.d.ts +10 -0
- package/dist/v2019C1/extensions/lifecycle/instance/find-instance.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/layers/function/clone-function.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/public.d.ts +2 -0
- package/dist/v2019C1/extensions/lifecycle/public.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/report/mark-placement-conflicts.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/report/query/cross-cutting-satellites.d.ts +7 -5
- package/dist/v2019C1/extensions/lifecycle/report/query/cross-cutting-satellites.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/report/query/report-asd.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/report/query/report-fsd.d.ts +3 -3
- package/dist/v2019C1/extensions/lifecycle/report/query/report-fsd.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/report/query/report-function-satellites.d.ts +5 -3
- package/dist/v2019C1/extensions/lifecycle/report/query/report-function-satellites.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/report/query/report-function.d.ts +4 -2
- package/dist/v2019C1/extensions/lifecycle/report/query/report-function.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/report/query/report-instance.d.ts +20 -0
- package/dist/v2019C1/extensions/lifecycle/report/query/report-instance.d.ts.map +1 -0
- package/dist/v2019C1/extensions/lifecycle/report/query/satellite-companions.d.ts +5 -3
- package/dist/v2019C1/extensions/lifecycle/report/query/satellite-companions.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/report/report.d.ts +4 -4
- package/dist/v2019C1/extensions/lifecycle/report/report.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/transplant/transaction/index.d.ts +1 -0
- package/dist/v2019C1/extensions/lifecycle/transplant/transaction/index.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/transplant/transaction/primitives/merge-children-into.d.ts +22 -0
- package/dist/v2019C1/extensions/lifecycle/transplant/transaction/primitives/merge-children-into.d.ts.map +1 -0
- package/dist/v2019C1/extensions/lifecycle/update/transaction/asd.d.ts +2 -2
- package/dist/v2019C1/extensions/lifecycle/update/transaction/asd.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/update/transaction/fsd.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/update/transaction/function-satellites.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/update/transaction/satellite-reconcile.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/validate/index.d.ts +4 -0
- package/dist/v2019C1/extensions/lifecycle/validate/index.d.ts.map +1 -0
- package/dist/v2019C1/extensions/lifecycle/validate/template-uuid-check.d.ts +15 -0
- package/dist/v2019C1/extensions/lifecycle/validate/template-uuid-check.d.ts.map +1 -0
- package/dist/v2019C1/extensions/lifecycle/validate/template-uuid-check.info.d.ts +10 -0
- package/dist/v2019C1/extensions/lifecycle/validate/template-uuid-check.info.d.ts.map +1 -0
- package/dist/v2019C1/extensions/lifecycle/validate/template-uuid-check.types.d.ts +41 -0
- package/dist/v2019C1/extensions/lifecycle/validate/template-uuid-check.types.d.ts.map +1 -0
- package/dist/v2019C1/index.js +22 -3
- package/dist/v2019C1/test/hydrated-test.d.ts +2 -0
- package/dist/v2019C1/test/hydrated-test.d.ts.map +1 -1
- package/dist/v2019C1/test.js +1 -1
- package/package.json +1 -1
|
@@ -7,8 +7,8 @@ import type * as Core from '@dialecte/core';
|
|
|
7
7
|
* `update.fromAsd` — reconcile a project against a (possibly newer) ASD.
|
|
8
8
|
*
|
|
9
9
|
* Same engine as `update.fromFsd`, one layer up (proves `engine.reconcile` is
|
|
10
|
-
* layer-agnostic):
|
|
11
|
-
*
|
|
10
|
+
* layer-agnostic): several instances of one ASD template may live under one
|
|
11
|
+
* anchor, so EVERY matching `Application` instance is reconciled; if
|
|
12
12
|
* none exists yet, the application is instantiated fresh.
|
|
13
13
|
*
|
|
14
14
|
* Two layers, in order:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asd.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/update/transaction/asd.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"asd.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/update/transaction/asd.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAA;AACpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAA;AACtF,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAA;AAC/F,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,GAAG,CACxB,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAC5B,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,cAAc,EAAE,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IACtC,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACrC,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,iBAAiB,CAAA;IAC5B,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,SAAS,CAAC,EAAE,WAAW,CAAA;IACvB,iFAAiF;IACjF,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;CACrC,GACC,OAAO,CAAC;IACV,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAA;IACtC,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,EAAE,CAAA;CAC3D,CAAC,CA6GD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fsd.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/update/transaction/fsd.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fsd.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/update/transaction/fsd.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAA;AACpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAA;AAKtF,OAAO,KAAK,EAEX,WAAW,EACX,UAAU,EACV,MAAM,kDAAkD,CAAA;AACzD,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;;;GAaG;AACH,wBAAsB,GAAG,CACxB,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAC5B,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAChC,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACrC,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,iBAAiB,CAAA;IAC5B,0EAA0E;IAC1E,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,SAAS,CAAC,EAAE,WAAW,CAAA;IACvB,iFAAiF;IACjF,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;CACrC,GACC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAkE3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function-satellites.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/update/transaction/function-satellites.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oDAAoD,CAAA;AACrF,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,0BAA0B,CAC/C,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAC5B,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAChC,WAAW,EAAE,cAAc,CAAA;IAC3B,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACrC,QAAQ,CAAC,EAAE,WAAW,CAAA;CACtB,GACC,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"function-satellites.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/update/transaction/function-satellites.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oDAAoD,CAAA;AACrF,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,0BAA0B,CAC/C,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAC5B,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAChC,WAAW,EAAE,cAAc,CAAA;IAC3B,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACrC,QAAQ,CAAC,EAAE,WAAW,CAAA;CACtB,GACC,OAAO,CAAC,IAAI,CAAC,CAgEf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"satellite-reconcile.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/update/transaction/satellite-reconcile.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oDAAoD,CAAA;AACrF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uDAAuD,CAAA;AAC5F,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,mBAAmB,CACxC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAC5B,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAA;IACxC,qBAAqB,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAA;IACjD,SAAS,EAAE,eAAe,CAAA;IAC1B,QAAQ,CAAC,EAAE,WAAW,CAAA;CACtB,GACC,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"satellite-reconcile.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/update/transaction/satellite-reconcile.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oDAAoD,CAAA;AACrF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uDAAuD,CAAA;AAC5F,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,mBAAmB,CACxC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAC5B,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAA;IACxC,qBAAqB,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAA;IACjD,SAAS,EAAE,eAAe,CAAA;IAC1B,QAAQ,CAAC,EAAE,WAAW,CAAA;CACtB,GACC,OAAO,CAAC,IAAI,CAAC,CA2Df"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { checkTemplateUuids } from './template-uuid-check';
|
|
2
|
+
export { TEMPLATE_UUID_WARNING_INFO } from './template-uuid-check.info';
|
|
3
|
+
export type { TemplateUuidWarning, TemplateUuidWarningCode, TemplateUuidWarningInfo, } from './template-uuid-check.types';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/validate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAA;AACvE,YAAY,EACX,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,GACvB,MAAM,6BAA6B,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { TemplateUuidWarning } from './template-uuid-check.types';
|
|
2
|
+
import { Config } from '../../../config';
|
|
3
|
+
import type * as Core from '@dialecte/core';
|
|
4
|
+
/**
|
|
5
|
+
* `query.lifecycle.checkTemplateUuids` — a generic, read-only SCL identity-integrity check across
|
|
6
|
+
* the whole document. Every rule is a DEFINITIVE SCL identity invariant, not a heuristic:
|
|
7
|
+
* - `cross-type-template-uuid`: one `templateUuid` on elements of ≥2 element TYPES — impossible, a
|
|
8
|
+
* `templateUuid` identifies a single template element (one type);
|
|
9
|
+
* - `duplicate-instance-uuid`: a `uuid` used by ≥2 elements — "every instance UUID shall be unique";
|
|
10
|
+
* - `template-uuid-type-mismatch`: a `templateUuid` that resolves IN-FILE to an element of a
|
|
11
|
+
* different type than the bearer — an instance cannot derive from a template of another type.
|
|
12
|
+
* Legit same-type `templateUuid` sharing (multi-instance) and unique values are never reported.
|
|
13
|
+
*/
|
|
14
|
+
export declare function checkTemplateUuids(query: Core.Query<Config>): Promise<TemplateUuidWarning[]>;
|
|
15
|
+
//# sourceMappingURL=template-uuid-check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-uuid-check.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/validate/template-uuid-check.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAE9C,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAK3C;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACvC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GACvB,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAwEhC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { TemplateUuidWarningCode, TemplateUuidWarningInfo } from './template-uuid-check.types';
|
|
2
|
+
/**
|
|
3
|
+
* Per-code human copy for {@link checkTemplateUuids} warnings — the SINGLE source of truth a
|
|
4
|
+
* consumer UI renders (title / description / fallback) so the explanation never drifts from the
|
|
5
|
+
* checker. The per-occurrence specifics come from each warning's `message`; this map explains the
|
|
6
|
+
* violation CLASS and the recovery strategy the lifecycle engine applies when the identity is
|
|
7
|
+
* unreliable.
|
|
8
|
+
*/
|
|
9
|
+
export declare const TEMPLATE_UUID_WARNING_INFO: Record<TemplateUuidWarningCode, TemplateUuidWarningInfo>;
|
|
10
|
+
//# sourceMappingURL=template-uuid-check.info.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-uuid-check.info.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/validate/template-uuid-check.info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AAEnG;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,uBAAuB,EAAE,uBAAuB,CA6B9F,CAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { AnyRefOrRecord } from '@dialecte/core';
|
|
2
|
+
/** Diagnostic codes emitted by {@link checkTemplateUuids}. */
|
|
3
|
+
export type TemplateUuidWarningCode = 'cross-type-template-uuid' | 'duplicate-instance-uuid' | 'template-uuid-type-mismatch';
|
|
4
|
+
/**
|
|
5
|
+
* An SCL identity-integrity warning. Each code is a DEFINITIVE invariant
|
|
6
|
+
* violation, not a heuristic:
|
|
7
|
+
* - `cross-type-template-uuid`: one `templateUuid` on elements of ≥2 element TYPES (a templateUuid
|
|
8
|
+
* identifies a single template element, hence a single type);
|
|
9
|
+
* - `duplicate-instance-uuid`: a `uuid` used by ≥2 elements ("every instance UUID shall be unique");
|
|
10
|
+
* - `template-uuid-type-mismatch`: a `templateUuid` that resolves IN-FILE to an element of a
|
|
11
|
+
* different type than the bearer.
|
|
12
|
+
* Reported per offending value.
|
|
13
|
+
*/
|
|
14
|
+
export type TemplateUuidWarning = {
|
|
15
|
+
code: TemplateUuidWarningCode;
|
|
16
|
+
level: 'warning';
|
|
17
|
+
/** The offending `uuid` / `templateUuid` value. */
|
|
18
|
+
value: string;
|
|
19
|
+
/** The distinct element types involved (the evidence of the violation). */
|
|
20
|
+
tagNames: string[];
|
|
21
|
+
/** Every element involved (for select/highlight in a consumer UI). */
|
|
22
|
+
refs: AnyRefOrRecord[];
|
|
23
|
+
/** Number of elements involved. */
|
|
24
|
+
count: number;
|
|
25
|
+
/** Human-readable explanation. */
|
|
26
|
+
message: string;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Per-CODE human copy for a {@link TemplateUuidWarning} — the source of truth a consumer UI renders
|
|
30
|
+
* so the explanation never drifts from the checker. Where each `message` describes one offending
|
|
31
|
+
* occurrence, this describes the violation CLASS and the recovery the lifecycle engine applies.
|
|
32
|
+
*/
|
|
33
|
+
export type TemplateUuidWarningInfo = {
|
|
34
|
+
/** Short human title for the violation class. */
|
|
35
|
+
title: string;
|
|
36
|
+
/** What the violation is, in plain terms (why the lineage cannot be trusted). */
|
|
37
|
+
description: string;
|
|
38
|
+
/** How the engine still proceeds despite it (the recovery / fallback strategy). */
|
|
39
|
+
fallback: string;
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=template-uuid-check.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-uuid-check.types.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/validate/template-uuid-check.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,8DAA8D;AAC9D,MAAM,MAAM,uBAAuB,GAChC,0BAA0B,GAC1B,yBAAyB,GACzB,6BAA6B,CAAA;AAEhC;;;;;;;;;GASG;AACH,MAAM,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,uBAAuB,CAAA;IAC7B,KAAK,EAAE,SAAS,CAAA;IAChB,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAA;IACb,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,sEAAsE;IACtE,IAAI,EAAE,cAAc,EAAE,CAAA;IACtB,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACrC,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAA;IACb,iFAAiF;IACjF,WAAW,EAAE,MAAM,CAAA;IACnB,mFAAmF;IACnF,QAAQ,EAAE,MAAM,CAAA;CAChB,CAAA"}
|
package/dist/v2019C1/index.js
CHANGED
|
@@ -1,7 +1,26 @@
|
|
|
1
|
-
import { A as e, C as t, D as n, E as r, O as i, S as a, T as o, _ as s, a as c, b as l, c as u, d, f, g as p, h as m, i as h, k as g, l as _, m as v, n as y, o as b, p as x, r as S, s as C, t as w, u as T, v as E, w as D, x as O, y as k } from "../hooks-
|
|
1
|
+
import { A as e, C as t, D as n, E as r, O as i, S as a, T as o, _ as s, a as c, b as l, c as u, d, f, g as p, h as m, i as h, k as g, l as _, m as v, n as y, o as b, p as x, r as S, s as C, t as w, u as T, v as E, w as D, x as O, y as k } from "../hooks-Cm_UYBBt.js";
|
|
2
2
|
import { Project as A } from "@dialecte/core";
|
|
3
|
+
//#region src/v2019C1/extensions/lifecycle/validate/template-uuid-check.info.ts
|
|
4
|
+
var j = {
|
|
5
|
+
"cross-type-template-uuid": {
|
|
6
|
+
title: "Placeholder templateUuid reused across element types",
|
|
7
|
+
description: "One templateUuid is carried by elements of several different types, so it cannot identify a single template element — it is an authoring placeholder, not real lineage.",
|
|
8
|
+
fallback: "Template lineage is ignored for these elements; each instance is recognised by its name within its parent instead, so the merge still proceeds."
|
|
9
|
+
},
|
|
10
|
+
"duplicate-instance-uuid": {
|
|
11
|
+
title: "Duplicate instance uuid",
|
|
12
|
+
description: "The same uuid is used by more than one element. Every instance uuid in an SCL must be unique, so uuid-based identity is ambiguous for the affected elements.",
|
|
13
|
+
fallback: "The affected elements are matched by name and position rather than uuid, so the merge still proceeds — resolve the duplication to restore reliable identity."
|
|
14
|
+
},
|
|
15
|
+
"template-uuid-type-mismatch": {
|
|
16
|
+
title: "templateUuid resolves to a different element type",
|
|
17
|
+
description: "A templateUuid points in-file to an element of a different type than the one carrying it. An instance cannot derive from a template of another type, so the lineage is inconsistent.",
|
|
18
|
+
fallback: "The mismatched lineage is ignored and the element is recognised by name, so the merge still proceeds."
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
//#endregion
|
|
3
22
|
//#region src/v2019C1/dialecte.ts
|
|
4
|
-
function
|
|
23
|
+
function M(e) {
|
|
5
24
|
let { storage: t = { type: "local" }, extensions: n } = e ?? {};
|
|
6
25
|
return new A({
|
|
7
26
|
configs: { scl: i },
|
|
@@ -18,4 +37,4 @@ function j(e) {
|
|
|
18
37
|
});
|
|
19
38
|
}
|
|
20
39
|
//#endregion
|
|
21
|
-
export { u as ALL_REF_UUID_ATTRIBUTES, _ as ALL_RESOLUTIONS, c as DEFAULT_IGNORED_ATTRIBUTES, l as KEEP_ON_ORPHAN_REFS, T as LOCKED_LNODE_ATTRIBUTES, d as MAPPED_NAME_REFS, f as PAIRS_BY_REF, o as PATH_CONTRIBUTING_ATTRIBUTES, r as PATH_EXTRACTION_CONFIG, O as REFERENCE_TAGS, a as REFERENCE_TAG_NAMES, C as REF_CONTAINERS, x as RESOLUTION_TARGET_REFS, k as RESOLUTION_TYPE, v as RESOLVABLE_RESOLUTIONS, n as SCL_DATABASE_CONFIG, i as SCL_DIALECTE_CONFIG, g as SCL_IO_CONFIG, e as SCL_NAMESPACES, t as TARGET_ELEMENT_TYPES, E as TYPE_ID_REFERENCE_PAIRS, m as TYPE_ID_REFERRERS_BY_TARGET, p as TYPE_ID_REF_ATTRIBUTES, s as TYPE_ID_TARGET_TAGS, D as UUID_REFERENCE_PAIRS,
|
|
40
|
+
export { u as ALL_REF_UUID_ATTRIBUTES, _ as ALL_RESOLUTIONS, c as DEFAULT_IGNORED_ATTRIBUTES, l as KEEP_ON_ORPHAN_REFS, T as LOCKED_LNODE_ATTRIBUTES, d as MAPPED_NAME_REFS, f as PAIRS_BY_REF, o as PATH_CONTRIBUTING_ATTRIBUTES, r as PATH_EXTRACTION_CONFIG, O as REFERENCE_TAGS, a as REFERENCE_TAG_NAMES, C as REF_CONTAINERS, x as RESOLUTION_TARGET_REFS, k as RESOLUTION_TYPE, v as RESOLVABLE_RESOLUTIONS, n as SCL_DATABASE_CONFIG, i as SCL_DIALECTE_CONFIG, g as SCL_IO_CONFIG, e as SCL_NAMESPACES, t as TARGET_ELEMENT_TYPES, j as TEMPLATE_UUID_WARNING_INFO, E as TYPE_ID_REFERENCE_PAIRS, m as TYPE_ID_REFERRERS_BY_TARGET, p as TYPE_ID_REF_ATTRIBUTES, s as TYPE_ID_TARGET_TAGS, D as UUID_REFERENCE_PAIRS, M as createSclProject, b as isTypeIdTarget, h as presentationScope };
|
|
@@ -22,6 +22,7 @@ export declare const runSclTestCases: import('@dialecte/core/test').TestRunner<C
|
|
|
22
22
|
lifecycle: {
|
|
23
23
|
query: {
|
|
24
24
|
report: typeof import('../extensions/lifecycle/report').report;
|
|
25
|
+
checkTemplateUuids: typeof import('../extensions/lifecycle/validate').checkTemplateUuids;
|
|
25
26
|
};
|
|
26
27
|
transaction: {
|
|
27
28
|
extract: typeof import("../extensions/lifecycle/extract");
|
|
@@ -65,6 +66,7 @@ export declare function createSclTestProject(params: {
|
|
|
65
66
|
lifecycle: {
|
|
66
67
|
query: {
|
|
67
68
|
report: typeof import('../extensions/lifecycle/report').report;
|
|
69
|
+
checkTemplateUuids: typeof import('../extensions/lifecycle/validate').checkTemplateUuids;
|
|
68
70
|
};
|
|
69
71
|
transaction: {
|
|
70
72
|
extract: typeof import("../extensions/lifecycle/extract");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hydrated-test.d.ts","sourceRoot":"","sources":["../../../src/v2019C1/test/hydrated-test.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,0BAA0B,EAC1B,+BAA+B,EAE/B,MAAM,wBAAwB,CAAA;AAa/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAO9D,eAAO,MAAM,mBAAmB,QAA0D,CAAA;AAC1F,eAAO,MAAM,yBAAyB,QAA2G,CAAA;AACjJ,eAAO,MAAM,oBAAoB,QAAsG,CAAA;AACvI,OAAO,EAAE,0BAA0B,EAAE,+BAA+B,EAAE,CAAA;AAItE,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"hydrated-test.d.ts","sourceRoot":"","sources":["../../../src/v2019C1/test/hydrated-test.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,0BAA0B,EAC1B,+BAA+B,EAE/B,MAAM,wBAAwB,CAAA;AAa/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAO9D,eAAO,MAAM,mBAAmB,QAA0D,CAAA;AAC1F,eAAO,MAAM,yBAAyB,QAA2G,CAAA;AACjJ,eAAO,MAAM,oBAAoB,QAAsG,CAAA;AACvI,OAAO,EAAE,0BAA0B,EAAE,+BAA+B,EAAE,CAAA;AAItE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI1B,CAAA;AAEF,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAU3F;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;CAAuD,CAAA;AACvF,eAAO,MAAQ,4BAA4B;;;YAAE,8BAA8B;;;UAI1E,CAAA"}
|
package/dist/v2019C1/test.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { O as e, n as t, r as n, t as r } from "../hooks-
|
|
1
|
+
import { O as e, n as t, r as n, t as r } from "../hooks-Cm_UYBBt.js";
|
|
2
2
|
import { CUSTOM_RECORD_ID_ATTRIBUTE as i, CUSTOM_RECORD_ID_ATTRIBUTE_NAME as a, XMLNS_XSI_NAMESPACE as o } from "@dialecte/core/helpers";
|
|
3
3
|
import { XMLNS_DEV_NAMESPACE as s, createTestProject as c, createTestRecordFactory as l, createTestRunner as u, createXmlAssertions as d } from "@dialecte/core/test";
|
|
4
4
|
//#region src/v2019C1/test/hydrated-test.ts
|