@dialecte/scl 0.3.9 → 0.3.13

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.
Files changed (104) hide show
  1. package/dist/{hooks-DO4gUiix.js → hooks-D5DJSztS.js} +1364 -1041
  2. package/dist/v2019C1/extensions/data-model/transaction/import-types.d.ts.map +1 -1
  3. package/dist/v2019C1/extensions/identity/transaction/index.d.ts +1 -0
  4. package/dist/v2019C1/extensions/identity/transaction/index.d.ts.map +1 -1
  5. package/dist/v2019C1/extensions/identity/transaction/restore-cloned-uuids.d.ts +19 -0
  6. package/dist/v2019C1/extensions/identity/transaction/restore-cloned-uuids.d.ts.map +1 -0
  7. package/dist/v2019C1/extensions/index.d.ts +1 -0
  8. package/dist/v2019C1/extensions/index.d.ts.map +1 -1
  9. package/dist/v2019C1/extensions/lifecycle/constraints/classify-attribute.types.d.ts +0 -10
  10. package/dist/v2019C1/extensions/lifecycle/constraints/classify-attribute.types.d.ts.map +1 -1
  11. package/dist/v2019C1/extensions/lifecycle/contract.types.d.ts +18 -6
  12. package/dist/v2019C1/extensions/lifecycle/contract.types.d.ts.map +1 -1
  13. package/dist/v2019C1/extensions/lifecycle/cross-cutting/clone-applied-satellites.d.ts +1 -1
  14. package/dist/v2019C1/extensions/lifecycle/engine/decide.d.ts +8 -1
  15. package/dist/v2019C1/extensions/lifecycle/engine/decide.d.ts.map +1 -1
  16. package/dist/v2019C1/extensions/lifecycle/engine/diff.d.ts +43 -8
  17. package/dist/v2019C1/extensions/lifecycle/engine/diff.d.ts.map +1 -1
  18. package/dist/v2019C1/extensions/lifecycle/engine/diff.types.d.ts +35 -26
  19. package/dist/v2019C1/extensions/lifecycle/engine/diff.types.d.ts.map +1 -1
  20. package/dist/v2019C1/extensions/lifecycle/engine/group.d.ts +1 -1
  21. package/dist/v2019C1/extensions/lifecycle/engine/group.d.ts.map +1 -1
  22. package/dist/v2019C1/extensions/lifecycle/engine/index.d.ts +1 -1
  23. package/dist/v2019C1/extensions/lifecycle/engine/index.d.ts.map +1 -1
  24. package/dist/v2019C1/extensions/lifecycle/engine/reconcile.d.ts +6 -0
  25. package/dist/v2019C1/extensions/lifecycle/engine/reconcile.d.ts.map +1 -1
  26. package/dist/v2019C1/extensions/lifecycle/extract/transaction/asd.d.ts.map +1 -1
  27. package/dist/v2019C1/extensions/lifecycle/extract/transaction/fsd.d.ts.map +1 -1
  28. package/dist/v2019C1/extensions/lifecycle/index.d.ts +2 -0
  29. package/dist/v2019C1/extensions/lifecycle/index.d.ts.map +1 -1
  30. package/dist/v2019C1/extensions/lifecycle/instance/find-instance.d.ts +15 -0
  31. package/dist/v2019C1/extensions/lifecycle/instance/find-instance.d.ts.map +1 -1
  32. package/dist/v2019C1/extensions/lifecycle/instantiate/transaction/asd.d.ts +2 -2
  33. package/dist/v2019C1/extensions/lifecycle/instantiate/transaction/asd.d.ts.map +1 -1
  34. package/dist/v2019C1/extensions/lifecycle/instantiate/transaction/fsd.d.ts +2 -2
  35. package/dist/v2019C1/extensions/lifecycle/instantiate/transaction/fsd.d.ts.map +1 -1
  36. package/dist/v2019C1/extensions/lifecycle/layers/application/clone-application.d.ts +2 -1
  37. package/dist/v2019C1/extensions/lifecycle/layers/application/clone-application.d.ts.map +1 -1
  38. package/dist/v2019C1/extensions/lifecycle/layers/function/clone-function.d.ts +4 -2
  39. package/dist/v2019C1/extensions/lifecycle/layers/function/clone-function.d.ts.map +1 -1
  40. package/dist/v2019C1/extensions/lifecycle/public.d.ts +2 -0
  41. package/dist/v2019C1/extensions/lifecycle/public.d.ts.map +1 -1
  42. package/dist/v2019C1/extensions/lifecycle/report/mark-placement-conflicts.d.ts.map +1 -1
  43. package/dist/v2019C1/extensions/lifecycle/report/query/cross-cutting-satellites.d.ts +7 -5
  44. package/dist/v2019C1/extensions/lifecycle/report/query/cross-cutting-satellites.d.ts.map +1 -1
  45. package/dist/v2019C1/extensions/lifecycle/report/query/report-asd.d.ts.map +1 -1
  46. package/dist/v2019C1/extensions/lifecycle/report/query/report-fsd.d.ts +3 -3
  47. package/dist/v2019C1/extensions/lifecycle/report/query/report-fsd.d.ts.map +1 -1
  48. package/dist/v2019C1/extensions/lifecycle/report/query/report-function-satellites.d.ts +5 -3
  49. package/dist/v2019C1/extensions/lifecycle/report/query/report-function-satellites.d.ts.map +1 -1
  50. package/dist/v2019C1/extensions/lifecycle/report/query/report-function.d.ts +7 -2
  51. package/dist/v2019C1/extensions/lifecycle/report/query/report-function.d.ts.map +1 -1
  52. package/dist/v2019C1/extensions/lifecycle/report/query/report-instance.d.ts +20 -0
  53. package/dist/v2019C1/extensions/lifecycle/report/query/report-instance.d.ts.map +1 -0
  54. package/dist/v2019C1/extensions/lifecycle/report/query/satellite-companions.d.ts +5 -3
  55. package/dist/v2019C1/extensions/lifecycle/report/query/satellite-companions.d.ts.map +1 -1
  56. package/dist/v2019C1/extensions/lifecycle/report/report.d.ts +4 -4
  57. package/dist/v2019C1/extensions/lifecycle/report/report.d.ts.map +1 -1
  58. package/dist/v2019C1/extensions/lifecycle/scenario.d.ts +21 -0
  59. package/dist/v2019C1/extensions/lifecycle/scenario.d.ts.map +1 -0
  60. package/dist/v2019C1/extensions/lifecycle/transplant/transaction/deep.d.ts +2 -1
  61. package/dist/v2019C1/extensions/lifecycle/transplant/transaction/deep.d.ts.map +1 -1
  62. package/dist/v2019C1/extensions/lifecycle/transplant/transaction/index.d.ts +1 -0
  63. package/dist/v2019C1/extensions/lifecycle/transplant/transaction/index.d.ts.map +1 -1
  64. package/dist/v2019C1/extensions/lifecycle/transplant/transaction/primitives/clone-referenced.d.ts +2 -2
  65. package/dist/v2019C1/extensions/lifecycle/transplant/transaction/primitives/clone-tree.d.ts +1 -1
  66. package/dist/v2019C1/extensions/lifecycle/transplant/transaction/primitives/merge-children-into.d.ts +22 -0
  67. package/dist/v2019C1/extensions/lifecycle/transplant/transaction/primitives/merge-children-into.d.ts.map +1 -0
  68. package/dist/v2019C1/extensions/lifecycle/update/transaction/asd.d.ts +3 -3
  69. package/dist/v2019C1/extensions/lifecycle/update/transaction/asd.d.ts.map +1 -1
  70. package/dist/v2019C1/extensions/lifecycle/update/transaction/fsd.d.ts +1 -1
  71. package/dist/v2019C1/extensions/lifecycle/update/transaction/fsd.d.ts.map +1 -1
  72. package/dist/v2019C1/extensions/lifecycle/update/transaction/function-satellites.d.ts.map +1 -1
  73. package/dist/v2019C1/extensions/lifecycle/update/transaction/satellite-reconcile.d.ts.map +1 -1
  74. package/dist/v2019C1/extensions/lifecycle/validate/index.d.ts +4 -0
  75. package/dist/v2019C1/extensions/lifecycle/validate/index.d.ts.map +1 -0
  76. package/dist/v2019C1/extensions/lifecycle/validate/template-uuid-check.d.ts +15 -0
  77. package/dist/v2019C1/extensions/lifecycle/validate/template-uuid-check.d.ts.map +1 -0
  78. package/dist/v2019C1/extensions/lifecycle/validate/template-uuid-check.info.d.ts +10 -0
  79. package/dist/v2019C1/extensions/lifecycle/validate/template-uuid-check.info.d.ts.map +1 -0
  80. package/dist/v2019C1/extensions/lifecycle/validate/template-uuid-check.types.d.ts +41 -0
  81. package/dist/v2019C1/extensions/lifecycle/validate/template-uuid-check.types.d.ts.map +1 -0
  82. package/dist/v2019C1/extensions/reference/transaction/apply-type-id-remap.d.ts +1 -1
  83. package/dist/v2019C1/extensions/reference/transaction/apply-uuid-remap.d.ts +21 -0
  84. package/dist/v2019C1/extensions/reference/transaction/apply-uuid-remap.d.ts.map +1 -0
  85. package/dist/v2019C1/extensions/reference/transaction/index.d.ts +1 -0
  86. package/dist/v2019C1/extensions/reference/transaction/index.d.ts.map +1 -1
  87. package/dist/v2019C1/extensions/signature/public.d.ts +1 -1
  88. package/dist/v2019C1/extensions/signature/public.d.ts.map +1 -1
  89. package/dist/v2019C1/extensions/signature/query/element-signature.types.d.ts +15 -1
  90. package/dist/v2019C1/extensions/signature/query/element-signature.types.d.ts.map +1 -1
  91. package/dist/v2019C1/extensions/signature/query/index.d.ts +1 -1
  92. package/dist/v2019C1/extensions/signature/query/index.d.ts.map +1 -1
  93. package/dist/v2019C1/hooks/index.d.ts.map +1 -1
  94. package/dist/v2019C1/index.js +22 -3
  95. package/dist/v2019C1/test/hydrated-test.d.ts +2 -0
  96. package/dist/v2019C1/test/hydrated-test.d.ts.map +1 -1
  97. package/dist/v2019C1/test.js +1 -1
  98. package/package.json +5 -5
  99. package/dist/v2019C1/hooks/after-deep-clone/after-deep-clone.d.ts +0 -15
  100. package/dist/v2019C1/hooks/after-deep-clone/after-deep-clone.d.ts.map +0 -1
  101. package/dist/v2019C1/hooks/after-deep-clone/index.d.ts +0 -2
  102. package/dist/v2019C1/hooks/after-deep-clone/index.d.ts.map +0 -1
  103. package/dist/v2019C1/hooks/after-deep-clone/ref-paths.d.ts +0 -12
  104. package/dist/v2019C1/hooks/after-deep-clone/ref-paths.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../../src/v2019C1/extensions/lifecycle/public.ts"],"names":[],"mappings":"AAMA,YAAY,EACX,eAAe,EACf,aAAa,EACb,WAAW,EACX,UAAU,EACV,QAAQ,EACR,UAAU,EACV,WAAW,EACX,aAAa,EACb,aAAa,GACb,MAAM,iBAAiB,CAAA;AAExB,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAEnF,YAAY,EACX,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,aAAa,GACb,MAAM,kBAAkB,CAAA;AAEzB,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../../src/v2019C1/extensions/lifecycle/public.ts"],"names":[],"mappings":"AAMA,YAAY,EACX,eAAe,EACf,aAAa,EACb,WAAW,EACX,UAAU,EACV,QAAQ,EACR,UAAU,EACV,WAAW,EACX,aAAa,EACb,aAAa,GACb,MAAM,iBAAiB,CAAA;AAExB,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAEnF,YAAY,EACX,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,aAAa,GACb,MAAM,kBAAkB,CAAA;AAEzB,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAExD,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AACvD,YAAY,EACX,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,GACvB,MAAM,YAAY,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"mark-placement-conflicts.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/report/mark-placement-conflicts.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAO,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AACpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,sBAAsB,CAC3C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,UAAU,GAChB,OAAO,CAAC,IAAI,CAAC,CAuEf"}
1
+ {"version":3,"file":"mark-placement-conflicts.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/report/mark-placement-conflicts.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,MAAM,EAAO,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AACpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,sBAAsB,CAC3C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,UAAU,GAChB,OAAO,CAAC,IAAI,CAAC,CAuEf"}
@@ -1,9 +1,9 @@
1
1
  import { Config, Scl } from '../../../../config';
2
- import { DiffReport } from '../../engine/diff.types';
2
+ import { InstanceDiff } from '../../engine/diff.types';
3
3
  import type * as Core from '@dialecte/core';
4
4
  /**
5
- * Fold the CROSS-CUTTING satellites (Variable / BehaviorDescription — 90-30
6
- * §12.1/§13.1) that apply to ANY element in the primary subtree as companions of
5
+ * Fold the CROSS-CUTTING satellites (Variable / BehaviorDescription) that apply
6
+ * to ANY element in the primary subtree as companions of
7
7
  * the primary's decision group. This is the single report-side entry point every
8
8
  * layer calls with its own `primaryRef` (function, application, and future IED /
9
9
  * topology), so cross-cutting carry is uniform and impossible to forget.
@@ -16,6 +16,8 @@ export declare function foldCrossCuttingSatellites(query: Core.Query<Config>, pa
16
16
  sourceQuery: Core.Query<Config>;
17
17
  primaryRef: Scl.Ref<Scl.ElementsOf>;
18
18
  instancePrimaryRef?: Scl.Ref<Scl.ElementsOf>;
19
- report: DiffReport;
20
- }): Promise<DiffReport>;
19
+ report: InstanceDiff;
20
+ /** INSTANTIATE: force satellite reference children to `added` (new per-instance refs). */
21
+ refsAlwaysAdded?: boolean;
22
+ }): Promise<InstanceDiff>;
21
23
  //# sourceMappingURL=cross-cutting-satellites.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cross-cutting-satellites.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/cross-cutting-satellites.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;GAUG;AACH,wBAAsB,0BAA0B,CAC/C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACnC,kBAAkB,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC5C,MAAM,EAAE,UAAU,CAAA;CAClB,GACC,OAAO,CAAC,UAAU,CAAC,CAgBrB"}
1
+ {"version":3,"file":"cross-cutting-satellites.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/cross-cutting-satellites.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kDAAkD,CAAA;AACpF,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;GAUG;AACH,wBAAsB,0BAA0B,CAC/C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACnC,kBAAkB,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC5C,MAAM,EAAE,YAAY,CAAA;IACpB,0FAA0F;IAC1F,eAAe,CAAC,EAAE,OAAO,CAAA;CACzB,GACC,OAAO,CAAC,YAAY,CAAC,CAiBvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"report-asd.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/report-asd.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAA;AACtF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAG3C;;;;;;;;;;;GAWG;AACH,wBAAsB,SAAS,CAC9B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,cAAc,EAAE,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IACtC,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC5B,GACC,OAAO,CAAC,UAAU,CAAC,CA+BrB"}
1
+ {"version":3,"file":"report-asd.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/report-asd.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAA;AACtF,OAAO,KAAK,EACX,UAAU,EAGV,MAAM,kDAAkD,CAAA;AACzD,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAG3C;;;;;;;;;;;GAWG;AACH,wBAAsB,SAAS,CAC9B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,cAAc,EAAE,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IACtC,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC5B,GACC,OAAO,CAAC,UAAU,CAAC,CAoDrB"}
@@ -7,9 +7,9 @@ import type * as Core from '@dialecte/core';
7
7
  * with the fast/full classification. No instance yet -> first-time = fast
8
8
  * (`needsDecisions: false`); one or more existing instances with changes -> full.
9
9
  *
10
- * The standard permits several instances of one template under one anchor, so
11
- * EVERY matching instance is diffed and its groups merged into one report (each
12
- * group tagged with its `instanceScopeId`); the decision layer targets a subset.
10
+ * Several instances of one template are allowed under one anchor, so
11
+ * EVERY matching instance is diffed and reported as its own {@link ReportInstance};
12
+ * the decision layer targets a subset (each instance owns its groups).
13
13
  *
14
14
  * A carried `FunctionCategory` satellite (outside the function subtree) travels
15
15
  * as a companion of the function's decision group (ENGINE.md §16).
@@ -1 +1 @@
1
- {"version":3,"file":"report-fsd.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/report-fsd.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAA;AACtF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;GAWG;AACH,wBAAsB,SAAS,CAC9B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,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,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC5B,GACC,OAAO,CAAC,UAAU,CAAC,CAsBrB"}
1
+ {"version":3,"file":"report-fsd.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/report-fsd.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAA;AACtF,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,kDAAkD,CAAA;AAClG,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;GAWG;AACH,wBAAsB,SAAS,CAC9B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,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,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC5B,GACC,OAAO,CAAC,UAAU,CAAC,CAgDrB"}
@@ -1,5 +1,5 @@
1
1
  import { Config, Scl } from '../../../../config';
2
- import { DiffReport } from '../../engine/diff.types';
2
+ import { InstanceDiff } from '../../engine/diff.types';
3
3
  import { AnyRefOrRecord } from '@dialecte/core';
4
4
  import type * as Core from '@dialecte/core';
5
5
  /**
@@ -16,6 +16,8 @@ export declare function foldCarriedSatellites(query: Core.Query<Config>, params:
16
16
  sourceQuery: Core.Query<Config>;
17
17
  functionRef: Scl.Ref<'Function'>;
18
18
  instance: AnyRefOrRecord | undefined;
19
- report: DiffReport;
20
- }): Promise<DiffReport>;
19
+ report: InstanceDiff;
20
+ /** INSTANTIATE: force satellite reference children to `added` (new per-instance refs). */
21
+ refsAlwaysAdded?: boolean;
22
+ }): Promise<InstanceDiff>;
21
23
  //# sourceMappingURL=report-function-satellites.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"report-function-satellites.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/report-function-satellites.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CAC1C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAChC,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,MAAM,EAAE,UAAU,CAAA;CAClB,GACC,OAAO,CAAC,UAAU,CAAC,CAgBrB"}
1
+ {"version":3,"file":"report-function-satellites.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/report-function-satellites.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kDAAkD,CAAA;AACpF,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CAC1C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAChC,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,MAAM,EAAE,YAAY,CAAA;IACpB,0FAA0F;IAC1F,eAAe,CAAC,EAAE,OAAO,CAAA;CACzB,GACC,OAAO,CAAC,YAAY,CAAC,CAiBvB"}
@@ -1,5 +1,6 @@
1
1
  import { Config, Scl } from '../../../../config';
2
- import { DiffReport } from '../../engine/diff.types';
2
+ import { InstanceDiff } from '../../engine/diff.types';
3
+ import { MatchKey } from '../../scenario';
3
4
  import { AnyRefOrRecord } from '@dialecte/core';
4
5
  import type * as Core from '@dialecte/core';
5
6
  /**
@@ -17,5 +18,9 @@ export declare function reportFunction(query: Core.Query<Config>, params: {
17
18
  sourceQuery: Core.Query<Config>;
18
19
  functionRef: Scl.Ref<'Function'>;
19
20
  instance: AnyRefOrRecord | undefined;
20
- }): Promise<DiffReport>;
21
+ /** INSTANTIATE: force satellite reference children to `added` (new per-instance refs). */
22
+ refsAlwaysAdded?: boolean;
23
+ /** How the instance matches source. `templateUuid` (default) or `uuid` (fork). */
24
+ matchKey?: MatchKey;
25
+ }): Promise<InstanceDiff>;
21
26
  //# sourceMappingURL=report-function.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"report-function.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/report-function.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CACnC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAChC,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;CACpC,GACC,OAAO,CAAC,UAAU,CAAC,CA2BrB"}
1
+ {"version":3,"file":"report-function.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/report-function.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kDAAkD,CAAA;AACpF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAA;AACvE,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CACnC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAChC,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,0FAA0F;IAC1F,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACnB,GACC,OAAO,CAAC,YAAY,CAAC,CA+BvB"}
@@ -0,0 +1,20 @@
1
+ import { Config } from '../../../../config';
2
+ import { InstanceDiff, ReportInstance } from '../../engine/diff.types';
3
+ import { AnyRefOrRecord } from '@dialecte/core';
4
+ import type * as Core from '@dialecte/core';
5
+ /**
6
+ * Enrich a per-instance {@link InstanceDiff} into a consumer-facing {@link ReportInstance}:
7
+ * resolve the human title, the linkage flag (recognised as an instantiation of the loaded
8
+ * template — `templateUuid`/`originUuid` lineage on the root), and the up-to-date flag (no
9
+ * decision groups).
10
+ *
11
+ * For a first-time instantiate (`instance` undefined) there is no existing instance:
12
+ * `linked`/`rootRef` are absent.
13
+ */
14
+ export declare function buildReportInstance(query: Core.Query<Config>, params: {
15
+ instanceDiff: InstanceDiff;
16
+ instance: AnyRefOrRecord | undefined;
17
+ sourceQuery: Core.Query<Config>;
18
+ sourceRef: AnyRefOrRecord;
19
+ }): Promise<ReportInstance>;
20
+ //# sourceMappingURL=report-instance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report-instance.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/report-instance.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAA;AACpG,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACxC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE;IACP,YAAY,EAAE,YAAY,CAAA;IAC1B,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,SAAS,EAAE,cAAc,CAAA;CACzB,GACC,OAAO,CAAC,cAAc,CAAC,CA0BzB"}
@@ -1,5 +1,5 @@
1
1
  import { Config, Scl } from '../../../../config';
2
- import { DiffReport } from '../../engine/diff.types';
2
+ import { InstanceDiff } from '../../engine/diff.types';
3
3
  import type * as Core from '@dialecte/core';
4
4
  /**
5
5
  * Fold each satellite's changes into the primary's decision group as read-only
@@ -24,8 +24,10 @@ export declare function foldSatelliteCompanions(query: Core.Query<Config>, param
24
24
  primaryRef: Scl.Ref<Scl.ElementsOf>;
25
25
  satelliteRefs: Scl.Ref<Scl.ElementsOf>[];
26
26
  instanceSatelliteRefs?: Scl.Ref<Scl.ElementsOf>[];
27
- report: DiffReport;
27
+ report: InstanceDiff;
28
28
  /** Instance scope for a standalone satellite group (primary-unchanged case). */
29
29
  instanceScopeId?: string;
30
- }): Promise<DiffReport>;
30
+ /** INSTANTIATE: force satellite reference children to `added` (new per-instance refs). */
31
+ refsAlwaysAdded?: boolean;
32
+ }): Promise<InstanceDiff>;
31
33
  //# sourceMappingURL=satellite-companions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"satellite-companions.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/satellite-companions.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,uBAAuB,CAC5C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACnC,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,MAAM,EAAE,UAAU,CAAA;IAClB,gFAAgF;IAChF,eAAe,CAAC,EAAE,MAAM,CAAA;CACxB,GACC,OAAO,CAAC,UAAU,CAAC,CA+DrB"}
1
+ {"version":3,"file":"satellite-companions.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/satellite-companions.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kDAAkD,CAAA;AACpF,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAG3C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,uBAAuB,CAC5C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACnC,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,MAAM,EAAE,YAAY,CAAA;IACpB,gFAAgF;IAChF,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,0FAA0F;IAC1F,eAAe,CAAC,EAAE,OAAO,CAAA;CACzB,GACC,OAAO,CAAC,YAAY,CAAC,CA2EvB"}
@@ -5,10 +5,10 @@ import type * as Core from '@dialecte/core';
5
5
  /**
6
6
  * `query.lifecycle.report` — the generic read-only classify surface (ENGINE.md §6).
7
7
  *
8
- * Dispatches on `verb` to the per-layer report and returns a {@link DiffReport}.
9
- * `report.needsDecisions` tells the consumer the track: `false` = fast (apply
10
- * headless), `true` = full (resolve decisions first). The consumer never picks
11
- * the track — dialecte decides it here.
8
+ * Dispatches on `verb` to the per-layer report and returns a {@link DiffReport} (one
9
+ * {@link ReportInstance} per instance). `report.needsDecisions` tells the consumer the
10
+ * track: `false` = fast (apply headless), `true` = full (resolve decisions first). The
11
+ * consumer never picks the track — dialecte decides it here.
12
12
  *
13
13
  * Tags each decision group with its primary's editable attributes (schema-derived)
14
14
  * so the UI renders inputs straight from the report without re-deriving them.
@@ -1 +1 @@
1
- {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/report/report.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAE9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AACpF,OAAO,KAAK,EAAmB,UAAU,EAAE,MAAM,kDAAkD,CAAA;AACnG,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;GAUG;AACH,wBAAsB,MAAM,CAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE,eAAe,GACrB,OAAO,CAAC,UAAU,CAAC,CA0BrB"}
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/report/report.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AACpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;GAUG;AACH,wBAAsB,MAAM,CAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE,eAAe,GACrB,OAAO,CAAC,UAAU,CAAC,CAuBrB"}
@@ -0,0 +1,21 @@
1
+ import { LifecycleScenario } from './contract.types';
2
+ import { IdentityMode } from '../identity/transaction/write-identity.types';
3
+ /**
4
+ * How an instance element is matched to a source element during diff/reconcile:
5
+ * - `templateUuid` — instance carries `templateUuid = source.uuid` (instantiate/template);
6
+ * - `uuid` — source and target are two revisions of the SAME file, sharing `uuid` (fork).
7
+ */
8
+ export type MatchKey = 'uuid' | 'templateUuid';
9
+ /**
10
+ * The match key a scenario reconciles by. `fork` matches by `uuid` (same-file
11
+ * revision); every other scenario matches an instance by its `templateUuid`
12
+ * lineage. Derived once at the verb boundary so the engine stays scenario-agnostic.
13
+ */
14
+ export declare function matchKeyForScenario(scenario: LifecycleScenario | undefined): MatchKey;
15
+ /**
16
+ * The identity write mode a scenario applies to added/reconciled elements. `fork`
17
+ * KEEPS identity (same-file revision — no re-stamp, no provenance); every other
18
+ * scenario stamps template lineage onto a fresh instance.
19
+ */
20
+ export declare function identityModeForScenario(scenario: LifecycleScenario | undefined): IdentityMode;
21
+ //# sourceMappingURL=scenario.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scenario.d.ts","sourceRoot":"","sources":["../../../../src/v2019C1/extensions/lifecycle/scenario.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gEAAgE,CAAA;AAElG;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,cAAc,CAAA;AAE9C;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,SAAS,GAAG,QAAQ,CAErF;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,SAAS,GAAG,YAAY,CAE7F"}
@@ -19,7 +19,8 @@ import type * as Core from '@dialecte/core';
19
19
  * `deep` is a faithful subtree copy: it does **not** follow forward uuid references.
20
20
  * Reference rewiring is the caller's responsibility (recipes place same-domain
21
21
  * satellites by ancestry; cross-domain/lineage rewiring is plan-driven). Uuid
22
- * references inside the clone are remapped by the `afterDeepClone` hook.
22
+ * references inside the clone are repointed by the caller via `reference.applyUuidRemap`
23
+ * over the returned `recordMappings`.
23
24
  */
24
25
  export declare function deep(tx: Core.Transaction<Config>, params: ImportDeepParams): Promise<ImportDeepResult>;
25
26
  //# sourceMappingURL=deep.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deep.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/transplant/transaction/deep.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACtE,OAAO,KAAK,EAAO,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,IAAI,CACzB,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAC5B,MAAM,EAAE,gBAAgB,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAsD3B"}
1
+ {"version":3,"file":"deep.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/transplant/transaction/deep.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACtE,OAAO,KAAK,EAAO,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,IAAI,CACzB,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAC5B,MAAM,EAAE,gBAAgB,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAsD3B"}
@@ -3,6 +3,7 @@ export type { ImportDeepParams, ImportDeepResult } from './deep.types';
3
3
  export * from './primitives/clone-tree';
4
4
  export * from './primitives/clone-referenced';
5
5
  export { addChildrenTo } from './primitives/add-children-to';
6
+ export { mergeChildrenInto } from './primitives/merge-children-into';
6
7
  export { resolveStructureRef, createAncestryResolver } from './resolve-structure-ref';
7
8
  export type { TemplateStructure, TargetStructure } from './structure.types';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/transplant/transaction/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAEtE,cAAc,yBAAyB,CAAA;AACvC,cAAc,+BAA+B,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAE5D,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AACrF,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/transplant/transaction/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAEtE,cAAc,yBAAyB,CAAA;AACvC,cAAc,+BAA+B,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAEpE,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AACrF,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA"}
@@ -29,7 +29,7 @@ export declare function findMissingReferencedRecords<Ref extends RefTagName, Tar
29
29
  * values (derived from the UUID_REFERENCE_PAIRS constant), skips records
30
30
  * already present in the target, clones each missing one under the parent
31
31
  * returned by `resolveTargetParent` (mirroring the source hierarchy).
32
- * UUID remapping is handled by afterDeepClone hook via cumulativeCloneMappings.
32
+ * UUID remapping is the caller's responsibility via `reference.applyUuidRemap` over the returned mappings.
33
33
  */
34
34
  export declare function cloneReferencedRecords<Ref extends RefTagName, Target extends TargetOf<Ref>>(tx: Core.Transaction<Config>, params: {
35
35
  sourceQuery: Core.Query<Config>;
@@ -49,7 +49,7 @@ export declare function cloneReferencedRecords<Ref extends RefTagName, Target ex
49
49
  * not flattened to `Substation`.
50
50
  *
51
51
  * Targets already present in the target tx are skipped (dedup via findMissingReferencedRecords).
52
- * UUID remapping is handled by afterDeepClone hook via cumulativeCloneMappings.
52
+ * UUID remapping is the caller's responsibility via `reference.applyUuidRemap` over the returned mappings.
53
53
  */
54
54
  export declare function cloneAllReferencedTargets(tx: Core.Transaction<Config>, params: {
55
55
  sourceQuery: Core.Query<Config>;
@@ -4,7 +4,7 @@ import { OmitEntry } from '@dialecte/core';
4
4
  import type * as Core from '@dialecte/core';
5
5
  /**
6
6
  * Clone pipeline: getTree -> optional retag root tagName -> strip -> deepClone.
7
- * UUID remapping is handled by afterDeepClone hook via cumulativeCloneMappings.
7
+ * UUID remapping is the caller's responsibility via `reference.applyUuidRemap` over the returned mappings.
8
8
  *
9
9
  * By default strips `templateUuid` and `originUuid` from the entire tree.
10
10
  * Pass `strip: false` to disable all stripping.
@@ -0,0 +1,22 @@
1
+ import { StripConfig } from './clone-tree.types';
2
+ import { Config, Scl } from '../../../../../config';
3
+ import type * as Core from '@dialecte/core';
4
+ /**
5
+ * Merge the CHILDREN of a source element into an EXISTING target element, REUSING same-tag/same-name
6
+ * child containers recursively instead of cloning duplicates.
7
+ *
8
+ * Generic, element-agnostic counterpart of {@link addChildrenTo}: where `addChildrenTo` pours every
9
+ * source child in as a fresh clone, this walks name-keyed containers (e.g. `FunctionCategory` ->
10
+ * `SubCategory`) and, when a same-tag/same-name child already exists under the target, recurses into
11
+ * it — so only the genuinely new leaves (references, unnamed content) are cloned. A source child with
12
+ * no `name`, or with no matching twin, is cloned whole.
13
+ */
14
+ export declare function mergeChildrenInto(tx: Core.Transaction<Config>, params: {
15
+ sourceQuery: Core.Query<Config>;
16
+ /** The source element whose children are merged over. */
17
+ source: Scl.Ref<Scl.ElementsOf>;
18
+ /** The existing target element the children are merged under. */
19
+ target: Scl.Ref<Scl.ElementsOf>;
20
+ strip?: StripConfig | false;
21
+ }): Promise<Scl.CloneMapping[]>;
22
+ //# sourceMappingURL=merge-children-into.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-children-into.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2019C1/extensions/lifecycle/transplant/transaction/primitives/merge-children-into.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACtC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAC5B,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,yDAAyD;IACzD,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC/B,iEAAiE;IACjE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC/B,KAAK,CAAC,EAAE,WAAW,GAAG,KAAK,CAAA;CAC3B,GACC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CA6B7B"}
@@ -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): the standard permits several instances of one ASD template
11
- * under one anchor, so EVERY matching `Application` instance is reconciled; if
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:
@@ -28,7 +28,7 @@ export declare function asd(tx: Core.Transaction<Config>, params: {
28
28
  sourceQuery: Core.Query<Config>;
29
29
  applicationRef: Scl.Ref<'Application'>;
30
30
  targetParent: Scl.Ref<Scl.ElementsOf>;
31
- /** `instantiate` forces a fresh instance; `update` (default) reconciles. */
31
+ /** `instantiate` forces a fresh instance; `template` (default) reconciles. */
32
32
  scenario?: LifecycleScenario;
33
33
  report?: DiffReport;
34
34
  decisions?: DecisionMap;
@@ -1 +1 @@
1
- {"version":3,"file":"asd.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/update/transaction/asd.ts"],"names":[],"mappings":"AAeA,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,CA2GD"}
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,8EAA8E;IAC9E,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"}
@@ -21,7 +21,7 @@ export declare function fsd(tx: Core.Transaction<Config>, params: {
21
21
  sourceQuery: Core.Query<Config>;
22
22
  functionRef: Scl.Ref<'Function'>;
23
23
  targetParent: Scl.Ref<Scl.ElementsOf>;
24
- /** `instantiate` forces a fresh instance; `update` (default) reconciles. */
24
+ /** `instantiate` forces a fresh instance; `template` (default) reconciles. */
25
25
  scenario?: LifecycleScenario;
26
26
  /** Multi-instance gate: partitioned per instance by `instanceScopeId`. */
27
27
  report?: DiffReport;
@@ -1 +1 @@
1
- {"version":3,"file":"fsd.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/update/transaction/fsd.ts"],"names":[],"mappings":"AAWA,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,CAiE3D"}
1
+ {"version":3,"file":"fsd.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/update/transaction/fsd.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;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,8EAA8E;IAC9E,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,CAsE3D"}
@@ -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,CA+Df"}
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,CA0Df"}
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"}
@@ -4,7 +4,7 @@ import type * as Core from '@dialecte/core';
4
4
  * Mechanically rewrite every type-id reference attribute (`lnType`, `DO.type`,
5
5
  * `SDO.type`, `DA.type`, `BDA.type`) in `records` whose current value appears in
6
6
  * `idRemap`. Registry-driven via {@link TYPE_ID_REF_ATTRIBUTES} (no hardcoded
7
- * tag list). Counterpart of the uuid-ref remap done by `afterDeepClone`, but for
7
+ * tag list). Counterpart of {@link applyUuidRemap} (the uuid-ref remap), but for
8
8
  * the id-string type-reference system.
9
9
  *
10
10
  * Idempotent: an attribute whose value is not a key of `idRemap` (or maps to
@@ -0,0 +1,21 @@
1
+ import { Scl, Config } from '../../../config';
2
+ import type * as Core from '@dialecte/core';
3
+ /**
4
+ * Repoint the uuid references of cloned elements onto the clone's fresh
5
+ * identities and recompute their path attributes. Counterpart of
6
+ * {@link applyTypeIdRemap} for the uuid reference system (`UUID_REFERENCE_PAIRS`).
7
+ *
8
+ * Caller-owned, single pass: given the complete `mappings` of an operation, it
9
+ * builds the source-uuid -> target-uuid map once and rewrites every cloned
10
+ * ref-holder. A ref whose target is part of the mappings is repointed; a ref
11
+ * pointing outside them keeps its source uuid. Run it once per operation, with
12
+ * ALL of that operation's clone mappings, BEFORE any pass that reads cloned ref
13
+ * uuids (orphan cleanup, identity restore).
14
+ *
15
+ * Idempotent: a ref already pointing at a target uuid (not a source uuid) is
16
+ * left untouched.
17
+ */
18
+ export declare function applyUuidRemap(tx: Core.Transaction<Config>, params: {
19
+ mappings: readonly Scl.CloneMapping[];
20
+ }): Promise<void>;
21
+ //# sourceMappingURL=apply-uuid-remap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply-uuid-remap.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/reference/transaction/apply-uuid-remap.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CACnC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAC5B,MAAM,EAAE;IAAE,QAAQ,EAAE,SAAS,GAAG,CAAC,YAAY,EAAE,CAAA;CAAE,GAC/C,OAAO,CAAC,IAAI,CAAC,CAsDf"}
@@ -1,4 +1,5 @@
1
1
  export { applyTypeIdRemap } from './apply-type-id-remap';
2
+ export { applyUuidRemap } from './apply-uuid-remap';
2
3
  export { writeProvenance } from './write-provenance';
3
4
  export type { ProvenanceFileType, WriteProvenanceParams } from './write-provenance.types';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/reference/transaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/reference/transaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA"}
@@ -1,3 +1,3 @@
1
1
  export { DEFAULT_IGNORED_ATTRIBUTES } from './query/element-signature.constants';
2
- export type { ElementSignatureParams } from './query/element-signature.types';
2
+ export type { ElementSignatureParams, SignatureCache } from './query/element-signature.types';
3
3
  //# sourceMappingURL=public.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../../src/v2019C1/extensions/signature/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAA;AAChF,YAAY,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA"}
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../../src/v2019C1/extensions/signature/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAA;AAChF,YAAY,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA"}
@@ -1,5 +1,11 @@
1
1
  import { Scl, Config } from '../../../config';
2
2
  import type * as Core from '@dialecte/core';
3
+ /** `${tagName}:${id}` — the key of a signature cache entry. */
4
+ type TagNameId = string;
5
+ /** Canonical structural signature string of an element subtree. */
6
+ type Signature = string;
7
+ /** Cache of computed element signatures, keyed by `tagName:id`. */
8
+ export type SignatureCache = Map<TagNameId, Signature>;
3
9
  export type ElementSignatureParams = {
4
10
  ref: Scl.Ref<Scl.ElementsOf>;
5
11
  /**
@@ -11,13 +17,20 @@ export type ElementSignatureParams = {
11
17
  resolveReferences?: boolean;
12
18
  /** Attribute names excluded from the signature. Default: `id`, `uuid`. */
13
19
  ignoreAttributes?: readonly string[];
20
+ /**
21
+ * Shared signature cache reused across calls. Pass the same map to every
22
+ * `elementSignature` over ONE query/document so a descendant referenced by many
23
+ * top-level elements is computed once, not per caller. Never share across
24
+ * different documents — ids are only unique within one.
25
+ */
26
+ signatureCache?: SignatureCache;
14
27
  };
15
28
  /** Internal recursion state for {@link elementSignature}. */
16
29
  export type ElementSignatureContext = {
17
30
  query: Core.Query<Config>;
18
31
  resolveReferences: boolean;
19
32
  ignore: ReadonlySet<string>;
20
- memo: Map<string, string>;
33
+ signatureCache: SignatureCache;
21
34
  seen: Set<string>;
22
35
  };
23
36
  /** Minimal view of a definition attribute's schema metadata used by the signature. */
@@ -25,4 +38,5 @@ export type AttributeSchemaDetail = {
25
38
  /** XSD default value — an attribute written with this value is equivalent to being absent. */
26
39
  default?: string;
27
40
  };
41
+ export {};
28
42
  //# sourceMappingURL=element-signature.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"element-signature.types.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/signature/query/element-signature.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C,MAAM,MAAM,sBAAsB,GAAG;IACpC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC5B;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACpC,CAAA;AAED,6DAA6D;AAC7D,MAAM,MAAM,uBAAuB,GAAG;IACrC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACzB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC3B,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CACjB,CAAA;AAED,sFAAsF;AACtF,MAAM,MAAM,qBAAqB,GAAG;IACnC,8FAA8F;IAC9F,OAAO,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA"}
1
+ {"version":3,"file":"element-signature.types.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/signature/query/element-signature.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C,+DAA+D;AAC/D,KAAK,SAAS,GAAG,MAAM,CAAA;AACvB,mEAAmE;AACnE,KAAK,SAAS,GAAG,MAAM,CAAA;AAEvB,mEAAmE;AACnE,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;AAEtD,MAAM,MAAM,sBAAsB,GAAG;IACpC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC5B;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;CAC/B,CAAA;AAED,6DAA6D;AAC7D,MAAM,MAAM,uBAAuB,GAAG;IACrC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACzB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC3B,cAAc,EAAE,cAAc,CAAA;IAC9B,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CACjB,CAAA;AAED,sFAAsF;AACtF,MAAM,MAAM,qBAAqB,GAAG;IACnC,8FAA8F;IAC9F,OAAO,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA"}