@dialecte/scl 0.3.15 → 0.3.17

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 (130) hide show
  1. package/dist/{hooks-CLIa7kxj.js → hooks-BBGXNK0x.js} +1916 -1292
  2. package/dist/v2019C1/config/dialecte.config.d.ts +2 -2
  3. package/dist/v2019C1/config/dialecte.config.d.ts.map +1 -1
  4. package/dist/v2019C1/constants/topology-tags.d.ts +7 -0
  5. package/dist/v2019C1/constants/topology-tags.d.ts.map +1 -1
  6. package/dist/v2019C1/extensions/clean-up/transaction/orphan-lnode-bindings.d.ts +7 -2
  7. package/dist/v2019C1/extensions/clean-up/transaction/orphan-lnode-bindings.d.ts.map +1 -1
  8. package/dist/v2019C1/extensions/identity/index.d.ts +2 -0
  9. package/dist/v2019C1/extensions/identity/index.d.ts.map +1 -1
  10. package/dist/v2019C1/extensions/identity/query/index.d.ts +3 -0
  11. package/dist/v2019C1/extensions/identity/query/index.d.ts.map +1 -0
  12. package/dist/v2019C1/extensions/identity/query/resolve-identity.d.ts +18 -0
  13. package/dist/v2019C1/extensions/identity/query/resolve-identity.d.ts.map +1 -0
  14. package/dist/v2019C1/extensions/identity/query/resolve-identity.types.d.ts +19 -0
  15. package/dist/v2019C1/extensions/identity/query/resolve-identity.types.d.ts.map +1 -0
  16. package/dist/v2019C1/extensions/identity/transaction/write-identity.d.ts +3 -0
  17. package/dist/v2019C1/extensions/identity/transaction/write-identity.d.ts.map +1 -1
  18. package/dist/v2019C1/extensions/identity/transaction/write-identity.types.d.ts +1 -1
  19. package/dist/v2019C1/extensions/identity/transaction/write-identity.types.d.ts.map +1 -1
  20. package/dist/v2019C1/extensions/index.d.ts +1 -0
  21. package/dist/v2019C1/extensions/index.d.ts.map +1 -1
  22. package/dist/v2019C1/extensions/lifecycle/apply/apply.d.ts +2 -2
  23. package/dist/v2019C1/extensions/lifecycle/apply/apply.d.ts.map +1 -1
  24. package/dist/v2019C1/extensions/lifecycle/apply/apply.types.d.ts +4 -0
  25. package/dist/v2019C1/extensions/lifecycle/apply/apply.types.d.ts.map +1 -1
  26. package/dist/v2019C1/extensions/lifecycle/contract.types.d.ts +20 -1
  27. package/dist/v2019C1/extensions/lifecycle/contract.types.d.ts.map +1 -1
  28. package/dist/v2019C1/extensions/lifecycle/cross-cutting/finalize-cloned-identity.d.ts +24 -0
  29. package/dist/v2019C1/extensions/lifecycle/cross-cutting/finalize-cloned-identity.d.ts.map +1 -0
  30. package/dist/v2019C1/extensions/lifecycle/cross-cutting/index.d.ts +1 -0
  31. package/dist/v2019C1/extensions/lifecycle/cross-cutting/index.d.ts.map +1 -1
  32. package/dist/v2019C1/extensions/lifecycle/engine/correlate.d.ts +30 -0
  33. package/dist/v2019C1/extensions/lifecycle/engine/correlate.d.ts.map +1 -0
  34. package/dist/v2019C1/extensions/lifecycle/engine/decide.d.ts +9 -2
  35. package/dist/v2019C1/extensions/lifecycle/engine/decide.d.ts.map +1 -1
  36. package/dist/v2019C1/extensions/lifecycle/engine/diff.d.ts +7 -1
  37. package/dist/v2019C1/extensions/lifecycle/engine/diff.d.ts.map +1 -1
  38. package/dist/v2019C1/extensions/lifecycle/engine/diff.types.d.ts +9 -1
  39. package/dist/v2019C1/extensions/lifecycle/engine/diff.types.d.ts.map +1 -1
  40. package/dist/v2019C1/extensions/lifecycle/engine/group.d.ts +1 -1
  41. package/dist/v2019C1/extensions/lifecycle/engine/match-child.d.ts +31 -0
  42. package/dist/v2019C1/extensions/lifecycle/engine/match-child.d.ts.map +1 -0
  43. package/dist/v2019C1/extensions/lifecycle/engine/match-key.d.ts +26 -0
  44. package/dist/v2019C1/extensions/lifecycle/engine/match-key.d.ts.map +1 -0
  45. package/dist/v2019C1/extensions/lifecycle/engine/reconcile.d.ts +8 -2
  46. package/dist/v2019C1/extensions/lifecycle/engine/reconcile.d.ts.map +1 -1
  47. package/dist/v2019C1/extensions/lifecycle/engine/reference-match.d.ts +25 -0
  48. package/dist/v2019C1/extensions/lifecycle/engine/reference-match.d.ts.map +1 -0
  49. package/dist/v2019C1/extensions/lifecycle/extract/transaction/post-extraction-cleanup.d.ts +3 -3
  50. package/dist/v2019C1/extensions/lifecycle/extract/transaction/ssd.d.ts +6 -4
  51. package/dist/v2019C1/extensions/lifecycle/extract/transaction/ssd.d.ts.map +1 -1
  52. package/dist/v2019C1/extensions/lifecycle/index.d.ts +1 -1
  53. package/dist/v2019C1/extensions/lifecycle/instance/find-instance.d.ts +30 -9
  54. package/dist/v2019C1/extensions/lifecycle/instance/find-instance.d.ts.map +1 -1
  55. package/dist/v2019C1/extensions/lifecycle/instance/index.d.ts +1 -1
  56. package/dist/v2019C1/extensions/lifecycle/instance/index.d.ts.map +1 -1
  57. package/dist/v2019C1/extensions/lifecycle/instantiate/transaction/asd.d.ts.map +1 -1
  58. package/dist/v2019C1/extensions/lifecycle/instantiate/transaction/asd.types.d.ts +6 -0
  59. package/dist/v2019C1/extensions/lifecycle/instantiate/transaction/asd.types.d.ts.map +1 -1
  60. package/dist/v2019C1/extensions/lifecycle/instantiate/transaction/fsd.d.ts.map +1 -1
  61. package/dist/v2019C1/extensions/lifecycle/instantiate/transaction/fsd.types.d.ts +6 -0
  62. package/dist/v2019C1/extensions/lifecycle/instantiate/transaction/fsd.types.d.ts.map +1 -1
  63. package/dist/v2019C1/extensions/lifecycle/instantiate/transaction/index.d.ts +2 -0
  64. package/dist/v2019C1/extensions/lifecycle/instantiate/transaction/index.d.ts.map +1 -1
  65. package/dist/v2019C1/extensions/lifecycle/instantiate/transaction/ssd.d.ts +19 -0
  66. package/dist/v2019C1/extensions/lifecycle/instantiate/transaction/ssd.d.ts.map +1 -0
  67. package/dist/v2019C1/extensions/lifecycle/instantiate/transaction/ssd.types.d.ts +25 -0
  68. package/dist/v2019C1/extensions/lifecycle/instantiate/transaction/ssd.types.d.ts.map +1 -0
  69. package/dist/v2019C1/extensions/lifecycle/layers/topology/clone-topology-content.d.ts +15 -12
  70. package/dist/v2019C1/extensions/lifecycle/layers/topology/clone-topology-content.d.ts.map +1 -1
  71. package/dist/v2019C1/extensions/lifecycle/layers/topology/clone-topology-content.types.d.ts +14 -0
  72. package/dist/v2019C1/extensions/lifecycle/layers/topology/clone-topology-content.types.d.ts.map +1 -0
  73. package/dist/v2019C1/extensions/lifecycle/layers/topology/ensure-topology-frame.d.ts +25 -0
  74. package/dist/v2019C1/extensions/lifecycle/layers/topology/ensure-topology-frame.d.ts.map +1 -0
  75. package/dist/v2019C1/extensions/lifecycle/layers/topology/ensure-topology-frame.types.d.ts +22 -0
  76. package/dist/v2019C1/extensions/lifecycle/layers/topology/ensure-topology-frame.types.d.ts.map +1 -0
  77. package/dist/v2019C1/extensions/lifecycle/layers/topology/index.d.ts +5 -0
  78. package/dist/v2019C1/extensions/lifecycle/layers/topology/index.d.ts.map +1 -1
  79. package/dist/v2019C1/extensions/lifecycle/layers/topology/reconcile-topology-frame.d.ts +29 -0
  80. package/dist/v2019C1/extensions/lifecycle/layers/topology/reconcile-topology-frame.d.ts.map +1 -0
  81. package/dist/v2019C1/extensions/lifecycle/layers/topology/scope-content.d.ts +15 -0
  82. package/dist/v2019C1/extensions/lifecycle/layers/topology/scope-content.d.ts.map +1 -0
  83. package/dist/v2019C1/extensions/lifecycle/layers/topology/scope-content.types.d.ts +8 -0
  84. package/dist/v2019C1/extensions/lifecycle/layers/topology/scope-content.types.d.ts.map +1 -0
  85. package/dist/v2019C1/extensions/lifecycle/report/presentation-scope.d.ts.map +1 -1
  86. package/dist/v2019C1/extensions/lifecycle/report/query/index.d.ts +1 -0
  87. package/dist/v2019C1/extensions/lifecycle/report/query/index.d.ts.map +1 -1
  88. package/dist/v2019C1/extensions/lifecycle/report/query/report-asd.d.ts +1 -0
  89. package/dist/v2019C1/extensions/lifecycle/report/query/report-asd.d.ts.map +1 -1
  90. package/dist/v2019C1/extensions/lifecycle/report/query/report-fsd.d.ts +2 -1
  91. package/dist/v2019C1/extensions/lifecycle/report/query/report-fsd.d.ts.map +1 -1
  92. package/dist/v2019C1/extensions/lifecycle/report/query/report-function-satellites.d.ts +1 -1
  93. package/dist/v2019C1/extensions/lifecycle/report/query/report-function.d.ts +1 -1
  94. package/dist/v2019C1/extensions/lifecycle/report/query/report-ssd.d.ts +22 -0
  95. package/dist/v2019C1/extensions/lifecycle/report/query/report-ssd.d.ts.map +1 -0
  96. package/dist/v2019C1/extensions/lifecycle/report/query/report-topology-frame.d.ts +23 -0
  97. package/dist/v2019C1/extensions/lifecycle/report/query/report-topology-frame.d.ts.map +1 -0
  98. package/dist/v2019C1/extensions/lifecycle/report/query/satellite-companions.d.ts +1 -1
  99. package/dist/v2019C1/extensions/lifecycle/report/query/satellite-companions.d.ts.map +1 -1
  100. package/dist/v2019C1/extensions/lifecycle/report/report.d.ts +1 -1
  101. package/dist/v2019C1/extensions/lifecycle/report/report.d.ts.map +1 -1
  102. package/dist/v2019C1/extensions/lifecycle/scenario.d.ts +1 -2
  103. package/dist/v2019C1/extensions/lifecycle/scenario.d.ts.map +1 -1
  104. package/dist/v2019C1/extensions/lifecycle/transplant/transaction/primitives/merge-children-into.d.ts +5 -0
  105. package/dist/v2019C1/extensions/lifecycle/transplant/transaction/primitives/merge-children-into.d.ts.map +1 -1
  106. package/dist/v2019C1/extensions/lifecycle/update/transaction/asd.d.ts +3 -1
  107. package/dist/v2019C1/extensions/lifecycle/update/transaction/asd.d.ts.map +1 -1
  108. package/dist/v2019C1/extensions/lifecycle/update/transaction/cross-cutting-satellites.d.ts +4 -3
  109. package/dist/v2019C1/extensions/lifecycle/update/transaction/cross-cutting-satellites.d.ts.map +1 -1
  110. package/dist/v2019C1/extensions/lifecycle/update/transaction/fsd.d.ts +3 -2
  111. package/dist/v2019C1/extensions/lifecycle/update/transaction/fsd.d.ts.map +1 -1
  112. package/dist/v2019C1/extensions/lifecycle/update/transaction/function-satellites.d.ts +2 -2
  113. package/dist/v2019C1/extensions/lifecycle/update/transaction/function-satellites.d.ts.map +1 -1
  114. package/dist/v2019C1/extensions/lifecycle/update/transaction/index.d.ts +1 -0
  115. package/dist/v2019C1/extensions/lifecycle/update/transaction/index.d.ts.map +1 -1
  116. package/dist/v2019C1/extensions/lifecycle/update/transaction/satellite-reconcile.d.ts +2 -1
  117. package/dist/v2019C1/extensions/lifecycle/update/transaction/satellite-reconcile.d.ts.map +1 -1
  118. package/dist/v2019C1/extensions/lifecycle/update/transaction/ssd.d.ts +36 -0
  119. package/dist/v2019C1/extensions/lifecycle/update/transaction/ssd.d.ts.map +1 -0
  120. package/dist/v2019C1/hooks/after-standardized-record/uuid-attribute.d.ts.map +1 -1
  121. package/dist/v2019C1/hooks/io/io-hooks.d.ts +2 -2
  122. package/dist/v2019C1/index.js +10 -10
  123. package/dist/v2019C1/test/assert-valid-scl-xml.d.ts +24 -0
  124. package/dist/v2019C1/test/assert-valid-scl-xml.d.ts.map +1 -0
  125. package/dist/v2019C1/test/assert-valid-scl-xml.types.d.ts +45 -0
  126. package/dist/v2019C1/test/assert-valid-scl-xml.types.d.ts.map +1 -0
  127. package/dist/v2019C1/test/hydrated-test.d.ts +9 -1
  128. package/dist/v2019C1/test/hydrated-test.d.ts.map +1 -1
  129. package/dist/v2019C1/test.js +113 -19
  130. package/package.json +4 -2
@@ -0,0 +1,15 @@
1
+ import { TopologyReconcilables } from './scope-content.types';
2
+ import { Config, Scl } from '../../../../config';
3
+ import { TopologyStructuralTag } from '../../../../constants';
4
+ import type * as Core from '@dialecte/core';
5
+ /** Applications whose structural ancestry includes `scopeRef` (Substation / VoltageLevel / Bay). */
6
+ export declare function applicationsUnderScope(query: Core.Query<Config>, scopeRef: Scl.Ref<TopologyStructuralTag>): Promise<Scl.Ref<'Application'>[]>;
7
+ /** Top-level Functions whose structural ancestry includes `scopeRef`. */
8
+ export declare function functionsUnderScope(query: Core.Query<Config>, scopeRef: Scl.Ref<TopologyStructuralTag>): Promise<Scl.Ref<'Function'>[]>;
9
+ /**
10
+ * The reconcilable primaries of a topology scope: its Applications, and the Functions NOT
11
+ * composed by any of them (a composed Function is reconciled through its Application's cascade).
12
+ * Shared by `report.ssd` and `update.ssd` so both walk the same primary set.
13
+ */
14
+ export declare function resolveTopologyReconcilables(query: Core.Query<Config>, scopeRef: Scl.Ref<TopologyStructuralTag>): Promise<TopologyReconcilables>;
15
+ //# sourceMappingURL=scope-content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-content.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/layers/topology/scope-content.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C,oGAAoG;AACpG,wBAAsB,sBAAsB,CAC3C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC,GACtC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAWnC;AAED,yEAAyE;AACzE,wBAAsB,mBAAmB,CACxC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC,GACtC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAWhC;AAED;;;;GAIG;AACH,wBAAsB,4BAA4B,CACjD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC,GACtC,OAAO,CAAC,qBAAqB,CAAC,CAkBhC"}
@@ -0,0 +1,8 @@
1
+ import { Scl } from '../../../../config';
2
+ /** The reconcilable primaries of a topology scope (see `resolveTopologyReconcilables`). */
3
+ export type TopologyReconcilables = {
4
+ applications: Scl.Ref<'Application'>[];
5
+ /** Functions under the scope not composed by any Application (reconciled on their own). */
6
+ standaloneFunctions: Scl.Ref<'Function'>[];
7
+ };
8
+ //# sourceMappingURL=scope-content.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-content.types.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/layers/topology/scope-content.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAE3C,2FAA2F;AAC3F,MAAM,MAAM,qBAAqB,GAAG;IACnC,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAA;IACtC,2FAA2F;IAC3F,mBAAmB,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAA;CAC1C,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"presentation-scope.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/report/presentation-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAEpF;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,iBAAiB,CAU1F"}
1
+ {"version":3,"file":"presentation-scope.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/report/presentation-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAEpF;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,iBAAiB,CAW1F"}
@@ -1,3 +1,4 @@
1
1
  export { reportAsd } from './report-asd';
2
2
  export { reportFsd } from './report-fsd';
3
+ export { reportSsd } from './report-ssd';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA"}
@@ -18,5 +18,6 @@ export declare function reportAsd(query: Core.Query<Config>, params: {
18
18
  sourceQuery: Core.Query<Config>;
19
19
  applicationRef: Scl.Ref<'Application'>;
20
20
  scenario?: LifecycleScenario;
21
+ targetInstance?: Scl.Ref<Scl.ElementsOf>;
21
22
  }): Promise<DiffReport>;
22
23
  //# sourceMappingURL=report-asd.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"report-asd.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/report-asd.ts"],"names":[],"mappings":"AAWA,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;AAEzD,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,CAuDrB"}
1
+ {"version":3,"file":"report-asd.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/report-asd.ts"],"names":[],"mappings":"AAcA,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;AAEzD,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;IAC5B,cAAc,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;CACxC,GACC,OAAO,CAAC,UAAU,CAAC,CA4DrB"}
@@ -12,12 +12,13 @@ import type * as Core from '@dialecte/core';
12
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
- * as a companion of the function's decision group (ENGINE.md §16).
15
+ * as a companion of the function's decision group.
16
16
  */
17
17
  export declare function reportFsd(query: Core.Query<Config>, params: {
18
18
  sourceQuery: Core.Query<Config>;
19
19
  functionRef: Scl.Ref<'Function'>;
20
20
  targetParent: Scl.Ref<Scl.ElementsOf>;
21
21
  scenario?: LifecycleScenario;
22
+ targetInstance?: Scl.Ref<Scl.ElementsOf>;
22
23
  }): Promise<DiffReport>;
23
24
  //# sourceMappingURL=report-fsd.d.ts.map
@@ -1 +1 @@
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
+ {"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;IAC5B,cAAc,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;CACxC,GACC,OAAO,CAAC,UAAU,CAAC,CAiDrB"}
@@ -4,7 +4,7 @@ import { AnyRefOrRecord } from '@dialecte/core';
4
4
  import type * as Core from '@dialecte/core';
5
5
  /**
6
6
  * Fold a function's carried `FunctionCategory` satellites into its decision group
7
- * as read-only companions (ENGINE.md §16, G6). The function layer resolves its own
7
+ * as read-only companions. The function layer resolves its own
8
8
  * satellites (reverse-ref) from the SOURCE; the generic fold attaches them.
9
9
  *
10
10
  * When an `instance` exists, the SAME reverse-ref finder is run against it so a
@@ -4,7 +4,7 @@ import { MatchKey } from '../../scenario';
4
4
  import { AnyRefOrRecord } from '@dialecte/core';
5
5
  import type * as Core from '@dialecte/core';
6
6
  /**
7
- * Function-layer report core (ENGINE.md §16, D-SAT-6): diff the function subtree,
7
+ * Function-layer report core: diff the function subtree,
8
8
  * then fold its satellites as companions of the function's decision group — both
9
9
  * the layer-owned `FunctionCategory` AND the CROSS-CUTTING satellites (e.g. a
10
10
  * `Variable`) that apply to any element in the subtree.
@@ -0,0 +1,22 @@
1
+ import { Scl, Config } from '../../../../config';
2
+ import { TopologyStructuralTag } from '../../../../constants';
3
+ import { LifecycleScenario } from '../../contract.types';
4
+ import { DiffReport } from '../../engine/diff.types';
5
+ import type * as Core from '@dialecte/core';
6
+ /**
7
+ * Report (read-only) what instantiating / updating an SSD would change: the union of the
8
+ * per-primary reports for the scope's Applications (each cascading to its composed Functions,
9
+ * via {@link reportAsd}) and its standalone Functions ({@link reportFsd}). The instances are
10
+ * merged into one {@link DiffReport}, so `groups` covers every primary and the fast/full
11
+ * classification holds across the whole SSD.
12
+ *
13
+ * The scope defaults to the SSD's instantiable root.
14
+ */
15
+ export declare function reportSsd(query: Core.Query<Config>, params: {
16
+ sourceQuery: Core.Query<Config>;
17
+ scopeRef?: Scl.Ref<TopologyStructuralTag>;
18
+ targetParent: Scl.Ref<Scl.ElementsOf>;
19
+ scenario?: LifecycleScenario;
20
+ targetInstance?: Scl.Ref<Scl.ElementsOf>;
21
+ }): Promise<DiffReport>;
22
+ //# sourceMappingURL=report-ssd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report-ssd.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/report-ssd.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAChE,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;;;;;;;;GAQG;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,QAAQ,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;IACzC,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACrC,QAAQ,CAAC,EAAE,iBAAiB,CAAA;IAC5B,cAAc,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;CACxC,GACC,OAAO,CAAC,UAAU,CAAC,CAuCrB"}
@@ -0,0 +1,23 @@
1
+ import { Config, Scl } from '../../../../config';
2
+ import { TopologyStructuralTag } from '../../../../constants';
3
+ import { LifecycleScenario } from '../../contract.types';
4
+ import { ReportInstance } from '../../engine/diff.types';
5
+ import type * as Core from '@dialecte/core';
6
+ /**
7
+ * Report (read-only) what `update.ssd` would change in the topology scope's OWN structural content
8
+ * (Substation/VoltageLevel/Bay attributes + BayType + equipment), matched by the stamped
9
+ * `templateUuid` lineage. The fn/app tags are a BOUNDARY: their changes are covered by the per-primary
10
+ * Application/Function reports, so this diff excludes them.
11
+ *
12
+ * Several bays may share one `templateUuid` (a bay-typical instantiated more than once), so EVERY
13
+ * matching instance is diffed and returned as its own {@link ReportInstance}; each owns its groups so
14
+ * the decision layer can target a subset. Returns `[]` for a first-time instantiate (the frame is the
15
+ * added fn/app primaries on the fast track) — the added scope-root group is emitted separately.
16
+ */
17
+ export declare function reportTopologyFrame(query: Core.Query<Config>, params: {
18
+ sourceQuery: Core.Query<Config>;
19
+ scopeRef: Scl.Ref<TopologyStructuralTag>;
20
+ scenario?: LifecycleScenario;
21
+ targetInstance?: Scl.Ref<Scl.ElementsOf>;
22
+ }): Promise<ReportInstance[]>;
23
+ //# sourceMappingURL=report-topology-frame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report-topology-frame.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/report-topology-frame.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAA;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAA;AACtF,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACxC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;IACxC,QAAQ,CAAC,EAAE,iBAAiB,CAAA;IAC5B,cAAc,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;CACxC,GACC,OAAO,CAAC,cAAc,EAAE,CAAC,CAuD3B"}
@@ -3,7 +3,7 @@ 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
6
- * COMPANIONS (ENGINE.md §16, G6). Generic over the layer: the caller resolves the
6
+ * COMPANIONS. Generic over the layer: the caller resolves the
7
7
  * satellite refs from the SOURCE (reverse-ref for the function's FunctionCategory,
8
8
  * outward-ref for the application's AllocationRole) and, for removal detection, the
9
9
  * matching refs from the TARGET instance (`instanceSatelliteRefs`, resolved with the
@@ -1 +1 @@
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"}
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,CA0EvB"}
@@ -3,7 +3,7 @@ import { LifecycleTarget } from '../contract.types';
3
3
  import { DiffReport } from '../engine/diff.types';
4
4
  import type * as Core from '@dialecte/core';
5
5
  /**
6
- * `query.lifecycle.report` — the generic read-only classify surface (ENGINE.md §6).
6
+ * `query.lifecycle.report` — the generic read-only classify surface.
7
7
  *
8
8
  * Dispatches on `verb` to the per-layer report and returns a {@link DiffReport} (one
9
9
  * {@link ReportInstance} per instance). `report.needsDecisions` tells the consumer the
@@ -1 +1 @@
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"}
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,CAkCrB"}
@@ -1,5 +1,4 @@
1
1
  import { LifecycleScenario } from './contract.types';
2
- import { IdentityMode } from '../identity/transaction/write-identity.types';
3
2
  /**
4
3
  * How an instance element is matched to a source element during diff/reconcile:
5
4
  * - `templateUuid` — instance carries `templateUuid = source.uuid` (instantiate/template);
@@ -17,5 +16,5 @@ export declare function matchKeyForScenario(scenario: LifecycleScenario | undefi
17
16
  * KEEPS identity (same-file revision — no re-stamp, no provenance); every other
18
17
  * scenario stamps template lineage onto a fresh instance.
19
18
  */
20
- export declare function identityModeForScenario(scenario: LifecycleScenario | undefined): IdentityMode;
19
+ export declare function identityModeForScenario(scenario: LifecycleScenario | undefined): 'stamp-template' | 'keep';
21
20
  //# sourceMappingURL=scenario.d.ts.map
@@ -1 +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"}
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;AAEzD;;;;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,CACtC,QAAQ,EAAE,iBAAiB,GAAG,SAAS,GACrC,gBAAgB,GAAG,MAAM,CAE3B"}
@@ -1,5 +1,6 @@
1
1
  import { StripConfig } from './clone-tree.types';
2
2
  import { Config, Scl } from '../../../../../config';
3
+ import { OmitEntry } from '@dialecte/core';
3
4
  import type * as Core from '@dialecte/core';
4
5
  /**
5
6
  * Merge the CHILDREN of a source element into an EXISTING target element, REUSING same-tag/same-name
@@ -10,6 +11,9 @@ import type * as Core from '@dialecte/core';
10
11
  * `SubCategory`) and, when a same-tag/same-name child already exists under the target, recurses into
11
12
  * it - so only the genuinely new leaves (references, unnamed content) are cloned. A source child with
12
13
  * no `name`, or with no matching twin, is cloned whole.
14
+ *
15
+ * `omit` (tag names) drops matching source children from the merge AND from the clones of new leaves,
16
+ * so a caller can merge an element's own content while leaving delegated children to another pass.
13
17
  */
14
18
  export declare function mergeChildrenInto(tx: Core.Transaction<Config>, params: {
15
19
  sourceQuery: Core.Query<Config>;
@@ -18,5 +22,6 @@ export declare function mergeChildrenInto(tx: Core.Transaction<Config>, params:
18
22
  /** The existing target element the children are merged under. */
19
23
  target: Scl.Ref<Scl.ElementsOf>;
20
24
  strip?: StripConfig | false;
25
+ omit?: OmitEntry<Config>[];
21
26
  }): Promise<Scl.CloneMapping[]>;
22
27
  //# sourceMappingURL=merge-children-into.d.ts.map
@@ -1 +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":"AAIA,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,CAkC7B"}
1
+ {"version":3,"file":"merge-children-into.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2019C1/extensions/lifecycle/transplant/transaction/primitives/merge-children-into.ts"],"names":[],"mappings":"AAIA,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;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C;;;;;;;;;;;;GAYG;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;IAC3B,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAA;CAC1B,GACC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CA2C7B"}
@@ -14,7 +14,7 @@ import type * as Core from '@dialecte/core';
14
14
  * Two layers, in order:
15
15
  * 1. application layer — reconcile each `Application` subtree (roles, allocation
16
16
  * refs, attributes);
17
- * 2. function-layer cascade (G2) — treat every composed Function the ASD
17
+ * 2. function-layer cascade — treat every composed Function the ASD
18
18
  * references as an FSD to update and delegate to `update.fromFsd`
19
19
  * (instantiate-or-reconcile), which fans out per composed-function instance.
20
20
  * Verbs compose verbs: a function added by the newer ASD is instantiated, an
@@ -34,6 +34,8 @@ export declare function asd(tx: Core.Transaction<Config>, params: {
34
34
  decisions?: DecisionMap;
35
35
  /** Type-dedup name authority, forwarded to `importTypes`. Default `'target'`. */
36
36
  keepNameTypesFrom?: KeepNameTypesFrom;
37
+ /** Multi-instance anchor: scope to ONE target instance (or its subtree). Absent = all. */
38
+ targetInstance?: Scl.Ref<Scl.ElementsOf>;
37
39
  }): Promise<{
38
40
  applications: Scl.Ref<'Application'>[];
39
41
  functions: (Scl.Ref<'Function'> | Scl.Ref<'SubFunction'>)[];
@@ -1 +1 @@
1
- {"version":3,"file":"asd.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/update/transaction/asd.ts"],"names":[],"mappings":"AAwBA,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,CAqHD"}
1
+ {"version":3,"file":"asd.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/update/transaction/asd.ts"],"names":[],"mappings":"AAiCA,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;IACrC,0FAA0F;IAC1F,cAAc,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;CACxC,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,CA2ID"}
@@ -3,10 +3,11 @@ import { IdentityMode } from '../../../identity/transaction/write-identity.types
3
3
  import { AcceptedIds } from '../../engine/decide.types';
4
4
  import { MatchKey } from '../../scenario';
5
5
  import { TargetStructure } from '../../transplant/transaction';
6
+ import { AnyRefOrRecord } from '@dialecte/core';
6
7
  import type * as Core from '@dialecte/core';
7
8
  /**
8
- * Carry the CROSS-CUTTING satellites (Variable / BehaviorDescription — 90-30
9
- * §12.1/§13.1) that apply to ANY element in the primary subtree, gated by
9
+ * Carry the CROSS-CUTTING satellites (Variable / BehaviorDescription) that apply
10
+ * to ANY element in the primary subtree, gated by
10
11
  * `accepted`. The single apply-side entry point every layer calls with its own
11
12
  * `primaryRef` (function, application, and future IED / topology) so the 3-way
12
13
  * add / reconcile-in-place / delete is uniform and impossible to forget.
@@ -23,5 +24,5 @@ export declare function reconcileCrossCuttingSatellites(tx: Core.Transaction<Con
23
24
  accepted?: AcceptedIds;
24
25
  matchKey?: MatchKey;
25
26
  identityMode?: IdentityMode;
26
- }): Promise<void>;
27
+ }): Promise<Map<string, AnyRefOrRecord>>;
27
28
  //# sourceMappingURL=cross-cutting-satellites.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cross-cutting-satellites.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/update/transaction/cross-cutting-satellites.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gEAAgE,CAAA;AAClG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oDAAoD,CAAA;AACrF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAA;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uDAAuD,CAAA;AAC5F,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;GAUG;AACH,wBAAsB,+BAA+B,CACpD,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAC5B,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,SAAS,EAAE,eAAe,CAAA;IAC1B,QAAQ,CAAC,EAAE,WAAW,CAAA;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,YAAY,CAAC,EAAE,YAAY,CAAA;CAC3B,GACC,OAAO,CAAC,IAAI,CAAC,CAyBf"}
1
+ {"version":3,"file":"cross-cutting-satellites.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/update/transaction/cross-cutting-satellites.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gEAAgE,CAAA;AAClG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oDAAoD,CAAA;AACrF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAA;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uDAAuD,CAAA;AAC5F,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD;;;;;;;;;;GAUG;AACH,wBAAsB,+BAA+B,CACpD,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAC5B,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,SAAS,EAAE,eAAe,CAAA;IAC1B,QAAQ,CAAC,EAAE,WAAW,CAAA;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,YAAY,CAAC,EAAE,YAAY,CAAA;CAC3B,GACC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAyBtC"}
@@ -6,8 +6,7 @@ import type * as Core from '@dialecte/core';
6
6
  /**
7
7
  * `update.fromFsd` — reconcile a project against a (possibly newer) FSD.
8
8
  *
9
- * Unifies instantiate and update (ENGINE.md §4, doc 02 §4: instantiate is the
10
- * first-time case of update):
9
+ * Unifies instantiate and update (instantiate is the first-time case of update):
11
10
  * - no instance under `targetParent` -> instantiate fresh (`instantiate.fsd`);
12
11
  * - one or more instances (elements whose `templateUuid` equals the source
13
12
  * function's `uuid`) -> reconcile the updated template ONTO EACH.
@@ -28,5 +27,7 @@ export declare function fsd(tx: Core.Transaction<Config>, params: {
28
27
  decisions?: DecisionMap;
29
28
  /** Type-dedup name authority, forwarded to `importTypes`. Default `'target'`. */
30
29
  keepNameTypesFrom?: KeepNameTypesFrom;
30
+ /** Multi-instance anchor: scope to ONE target instance (or its subtree). Absent = all. */
31
+ targetInstance?: Scl.Ref<Scl.ElementsOf>;
31
32
  }): Promise<(Scl.Ref<'Function'> | Scl.Ref<'SubFunction'>)[]>;
32
33
  //# sourceMappingURL=fsd.d.ts.map
@@ -1 +1 @@
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,CA0E3D"}
1
+ {"version":3,"file":"fsd.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/update/transaction/fsd.ts"],"names":[],"mappings":"AA2BA,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;;;;;;;;;;;;GAYG;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;IACrC,0FAA0F;IAC1F,cAAc,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;CACxC,GACC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CA+F3D"}
@@ -6,7 +6,7 @@ import { AnyRefOrRecord } from '@dialecte/core';
6
6
  import type * as Core from '@dialecte/core';
7
7
  /**
8
8
  * Reconcile each carried satellite (e.g. a `FunctionCategory`) of a function ONTO
9
- * its existing instance, gated by `accepted` (ENGINE.md §16). The satellite lives
9
+ * its existing instance, gated by `accepted`. The satellite lives
10
10
  * OUTSIDE the function subtree, so the function reconcile never reaches it; here
11
11
  * it is matched globally by `templateUuid` and reconciled in place. The write is
12
12
  * gated exactly like the function's: `reconcile` only touches records whose source
@@ -35,5 +35,5 @@ export declare function reconcileCarriedSatellites(tx: Core.Transaction<Config>,
35
35
  matchKey?: MatchKey;
36
36
  /** `stamp-template` (default) or `keep` (fork) identity for an added satellite. */
37
37
  identityMode?: IdentityMode;
38
- }): Promise<void>;
38
+ }): Promise<Map<string, AnyRefOrRecord>>;
39
39
  //# sourceMappingURL=function-satellites.d.ts.map
@@ -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,YAAY,EAAE,MAAM,gEAAgE,CAAA;AAClG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oDAAoD,CAAA;AACrF,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;;;;;;;;;;;;;;;;;;;;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;IACtB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,mFAAmF;IACnF,YAAY,CAAC,EAAE,YAAY,CAAA;CAC3B,GACC,OAAO,CAAC,IAAI,CAAC,CA6Ef"}
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,YAAY,EAAE,MAAM,gEAAgE,CAAA;AAClG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oDAAoD,CAAA;AACrF,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;;;;;;;;;;;;;;;;;;;;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;IACtB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,mFAAmF;IACnF,YAAY,CAAC,EAAE,YAAY,CAAA;CAC3B,GACC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAoFtC"}
@@ -1,3 +1,4 @@
1
1
  export { asd } from './asd';
2
2
  export { fsd } from './fsd';
3
+ export { ssd } from './ssd';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/update/transaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/update/transaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA"}
@@ -3,6 +3,7 @@ import { IdentityMode } from '../../../identity/transaction/write-identity.types
3
3
  import { AcceptedIds } from '../../engine/decide.types';
4
4
  import { MatchKey } from '../../scenario';
5
5
  import { TargetStructure } from '../../transplant/transaction';
6
+ import { AnyRefOrRecord } from '@dialecte/core';
6
7
  import type * as Core from '@dialecte/core';
7
8
  /**
8
9
  * Reconcile each satellite against the target, gated by `accepted`. Generic over
@@ -31,5 +32,5 @@ export declare function reconcileSatellites(tx: Core.Transaction<Config>, params
31
32
  matchKey?: MatchKey;
32
33
  /** `stamp-template` (default) or `keep` (fork) identity for an added satellite. */
33
34
  identityMode?: IdentityMode;
34
- }): Promise<void>;
35
+ }): Promise<Map<string, AnyRefOrRecord>>;
35
36
  //# sourceMappingURL=satellite-reconcile.d.ts.map
@@ -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,YAAY,EAAE,MAAM,gEAAgE,CAAA;AAClG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oDAAoD,CAAA;AACrF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAA;AACvE,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;IACtB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,mFAAmF;IACnF,YAAY,CAAC,EAAE,YAAY,CAAA;CAC3B,GACC,OAAO,CAAC,IAAI,CAAC,CA0Ef"}
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,YAAY,EAAE,MAAM,gEAAgE,CAAA;AAClG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oDAAoD,CAAA;AACrF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAA;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uDAAuD,CAAA;AAC5F,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD;;;;;;;;;;;;;;;;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;IACtB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,mFAAmF;IACnF,YAAY,CAAC,EAAE,YAAY,CAAA;CAC3B,GACC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAiFtC"}
@@ -0,0 +1,36 @@
1
+ import { Scl, Config } from '../../../../config';
2
+ import { TopologyStructuralTag } from '../../../../constants';
3
+ import { KeepNameTypesFrom } from '../../../data-model/transaction';
4
+ import { LifecycleScenario } from '../../contract.types';
5
+ import { DecisionMap, DiffReport } from '../../engine/diff.types';
6
+ import type * as Core from '@dialecte/core';
7
+ type UpdateSsdResult = {
8
+ applications: Scl.Ref<'Application'>[];
9
+ functions: (Scl.Ref<'Function'> | Scl.Ref<'SubFunction'>)[];
10
+ };
11
+ /**
12
+ * `update.fromSsd` - reconcile a project against a (possibly newer) SSD.
13
+ *
14
+ * Mirrors `update.fromAsd` one layer up:
15
+ * - **first-time** (no instance of any scope primary, or a forced `instantiate`) delegates to
16
+ * `instantiate.ssd`, so the source is recorded ONCE at document level (`Header > SourceFiles`),
17
+ * consistent with the direct verb - not scattered per primary.
18
+ * - **reconcile** cascades to the per-primary update verbs: each Application via `update.fromAsd`
19
+ * (which cascades to its composed Functions) and each standalone Function via `update.fromFsd`.
20
+ *
21
+ * `report` + `decisions` gate every write, partitioned per instance by the sub-verbs. The scope
22
+ * defaults to the SSD's instantiable root.
23
+ */
24
+ export declare function ssd(tx: Core.Transaction<Config>, params: {
25
+ sourceQuery: Core.Query<Config>;
26
+ scopeRef?: Scl.Ref<TopologyStructuralTag>;
27
+ targetParent: Scl.Ref<Scl.ElementsOf>;
28
+ scenario?: LifecycleScenario;
29
+ report?: DiffReport;
30
+ decisions?: DecisionMap;
31
+ keepNameTypesFrom?: KeepNameTypesFrom;
32
+ /** Multi-instance anchor: scope to ONE placed Bay (frame + fn/app under it). Absent = all. */
33
+ targetInstance?: Scl.Ref<Scl.ElementsOf>;
34
+ }): Promise<UpdateSsdResult>;
35
+ export {};
36
+ //# sourceMappingURL=ssd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssd.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/update/transaction/ssd.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAChE,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;AAE/F,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C,KAAK,eAAe,GAAG;IACtB,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,CAAA;AAED;;;;;;;;;;;;GAYG;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,QAAQ,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;IACzC,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACrC,QAAQ,CAAC,EAAE,iBAAiB,CAAA;IAC5B,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,SAAS,CAAC,EAAE,WAAW,CAAA;IACvB,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,8FAA8F;IAC9F,cAAc,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;CACxC,GACC,OAAO,CAAC,eAAe,CAAC,CA2F1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"uuid-attribute.d.ts","sourceRoot":"","sources":["../../../../src/v2019C1/hooks/after-standardized-record/uuid-attribute.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAEpC;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,SAAS,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE;IACnF,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;CACrC,GAAG,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CA6BhC"}
1
+ {"version":3,"file":"uuid-attribute.d.ts","sourceRoot":"","sources":["../../../../src/v2019C1/hooks/after-standardized-record/uuid-attribute.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AACpC;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,SAAS,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE;IACnF,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;CACrC,GAAG,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CA6BhC"}
@@ -3,7 +3,7 @@ import { IOHooks } from '@dialecte/core';
3
3
  * Creates SCL IO hooks for UUID reference resolution.
4
4
  * The import pipeline is two-pass:
5
5
  *
6
- * **Phase 1 — `beforeImportRecord`** (called once per record, in document order):
6
+ * **Pass 1 — `beforeImportRecord`** (called once per record, in document order):
7
7
  *
8
8
  * Records arrive already standardized, so any `uuid` enforced by
9
9
  * `afterStandardizedRecord` is already present — no need to ensure it here.
@@ -24,7 +24,7 @@ import { IOHooks } from '@dialecte/core';
24
24
  * lookupKey: "S1/Bay1/VoltLevel1/Fn1" }]
25
25
  * ```
26
26
  *
27
- * **Phase 2 — `afterImport`** (called once, after all records):
27
+ * **Pass 2 — `afterImport`** (called once, after all records):
28
28
  *
29
29
  * Each pending resolution is looked up in `pathIndex`:
30
30
  * ```
@@ -1,7 +1,7 @@
1
- import { A as e, C as t, D as n, E as r, M as i, N as a, O as o, S as s, T as c, _ as l, a as u, b as d, c as f, d as p, f as m, g as h, h as g, i as _, j as v, k as y, l as b, m as x, n as S, o as C, p as w, r as T, s as E, t as D, u as O, v as k, w as A, x as j, y as M } from "../hooks-CLIa7kxj.js";
2
- import { Project as N } from "@dialecte/core";
1
+ import { A as e, C as t, D as n, E as r, M as i, N as a, O as o, P as s, S as c, T as l, _ as u, a as d, b as f, c as p, d as m, f as h, g, h as _, i as v, j as y, k as b, l as x, m as S, n as C, o as w, p as T, r as E, s as D, t as O, u as k, v as A, w as j, x as M, y as N } from "../hooks-BBGXNK0x.js";
2
+ import { Project as P } from "@dialecte/core";
3
3
  //#region src/v2019C1/extensions/lifecycle/validate/template-uuid-check.info.ts
4
- var P = {
4
+ var F = {
5
5
  "cross-type-template-uuid": {
6
6
  title: "Placeholder templateUuid reused across element types",
7
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.",
@@ -20,21 +20,21 @@ var P = {
20
20
  };
21
21
  //#endregion
22
22
  //#region src/v2019C1/dialecte.ts
23
- function F(e) {
23
+ function I(e) {
24
24
  let { storage: t = { type: "local" }, extensions: n } = e ?? {};
25
- return new N({
26
- configs: { scl: v },
25
+ return new P({
26
+ configs: { scl: i },
27
27
  defaultConfigKey: "scl",
28
28
  storage: t,
29
29
  extensions: {
30
- base: T,
30
+ base: E,
31
31
  custom: n
32
32
  },
33
33
  hooks: {
34
- ...S(),
35
- ...D
34
+ ...C(),
35
+ ...O
36
36
  }
37
37
  });
38
38
  }
39
39
  //#endregion
40
- export { f as ALL_REF_UUID_ATTRIBUTES, b as ALL_RESOLUTIONS, u as DEFAULT_IGNORED_ATTRIBUTES, t as KEEP_ON_ORPHAN_REFS, O as LOCKED_LNODE_ATTRIBUTES, p as MAPPED_NAME_REFS, m as PAIRS_BY_REF, o as PATH_CONTRIBUTING_ATTRIBUTES, y as PATH_EXTRACTION_CONFIG, A as REFERENCE_TAGS, c as REFERENCE_TAG_NAMES, E as REF_CONTAINERS, w as RESOLUTION_TARGET_REFS, M as RESOLUTION_TYPE, x as RESOLVABLE_RESOLUTIONS, e as SCL_DATABASE_CONFIG, v as SCL_DIALECTE_CONFIG, i as SCL_IO_CONFIG, a as SCL_NAMESPACES, r as TARGET_ELEMENT_TYPES, s as TEMPLATE_NAME, P as TEMPLATE_UUID_WARNING_INFO, d as TOPOLOGY_EQUIPMENT_TAGS, j as TOPOLOGY_STRUCTURAL_TAGS, k as TYPE_ID_REFERENCE_PAIRS, g as TYPE_ID_REFERRERS_BY_TARGET, h as TYPE_ID_REF_ATTRIBUTES, l as TYPE_ID_TARGET_TAGS, n as UUID_REFERENCE_PAIRS, F as createSclProject, C as isTypeIdTarget, _ as presentationScope };
40
+ export { p as ALL_REF_UUID_ATTRIBUTES, x as ALL_RESOLUTIONS, d as DEFAULT_IGNORED_ATTRIBUTES, f as FRAME_OMIT_CHILD_TAGS, j as KEEP_ON_ORPHAN_REFS, k as LOCKED_LNODE_ATTRIBUTES, m as MAPPED_NAME_REFS, h as PAIRS_BY_REF, b as PATH_CONTRIBUTING_ATTRIBUTES, e as PATH_EXTRACTION_CONFIG, l as REFERENCE_TAGS, r as REFERENCE_TAG_NAMES, D as REF_CONTAINERS, T as RESOLUTION_TARGET_REFS, N as RESOLUTION_TYPE, S as RESOLVABLE_RESOLUTIONS, y as SCL_DATABASE_CONFIG, i as SCL_DIALECTE_CONFIG, a as SCL_IO_CONFIG, s as SCL_NAMESPACES, n as TARGET_ELEMENT_TYPES, t as TEMPLATE_NAME, F as TEMPLATE_UUID_WARNING_INFO, M as TOPOLOGY_EQUIPMENT_TAGS, c as TOPOLOGY_STRUCTURAL_TAGS, A as TYPE_ID_REFERENCE_PAIRS, _ as TYPE_ID_REFERRERS_BY_TARGET, g as TYPE_ID_REF_ATTRIBUTES, u as TYPE_ID_TARGET_TAGS, o as UUID_REFERENCE_PAIRS, I as createSclProject, w as isTypeIdTarget, v as presentationScope };
@@ -0,0 +1,24 @@
1
+ import { AssertValidSclTestCasesParams, AssertValidSclXmlOptions } from './assert-valid-scl-xml.types';
2
+ /**
3
+ * Assert a test XML string is valid SCL, structurally: every element's namespace matches its parent
4
+ * context, every element is an allowed child of its parent, and every attribute is a known attribute of
5
+ * its element. Elements unknown to the schema are skipped (bespoke content under a transparent
6
+ * `Private`), and so is any element in a namespace the SCL config does not declare — even when its
7
+ * local name collides with a schema element.
8
+ *
9
+ * `requireComplete` (default `true`) additionally requires every schema-required attribute to be
10
+ * present. Minimal test fixtures legitimately omit these (e.g. a bare `<SCL>` without
11
+ * `version`/`revision`/`release`), so the harness runs with it OFF — structural correctness is
12
+ * enforced, document completeness is not.
13
+ *
14
+ * NOT yet enforced (planned with the validation feature): attribute VALUE facets (uuid pattern, enums,
15
+ * datatypes) and cross-element constraints (unique keys, keyref resolution).
16
+ */
17
+ export declare function assertValidSclXml(xml: string, label?: string, options?: AssertValidSclXmlOptions): void;
18
+ /**
19
+ * Validate every case's `sourceXml`/`targetXml` and throw ONCE with the violations of all invalid
20
+ * cases, each attributed to its case name — so a suite's fixtures are fixed in one round instead of
21
+ * one failure at a time.
22
+ */
23
+ export declare function assertValidSclTestCases(params: AssertValidSclTestCasesParams): void;
24
+ //# sourceMappingURL=assert-valid-scl-xml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert-valid-scl-xml.d.ts","sourceRoot":"","sources":["../../../src/v2019C1/test/assert-valid-scl-xml.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,6BAA6B,EAC7B,wBAAwB,EAKxB,MAAM,8BAA8B,CAAA;AAsJrC;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAChC,GAAG,EAAE,MAAM,EACX,KAAK,SAAa,EAClB,OAAO,GAAE,wBAA6B,GACpC,IAAI,CAIN;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,6BAA6B,GAAG,IAAI,CAkBnF"}
@@ -0,0 +1,45 @@
1
+ export type SchemaNamespace = {
2
+ uri: string;
3
+ };
4
+ /** The slice of a generated element definition the fixture validator reads. */
5
+ export type SchemaElementDefinition = {
6
+ namespace?: SchemaNamespace;
7
+ attributes?: {
8
+ sequence?: readonly string[];
9
+ details?: Record<string, {
10
+ required?: boolean;
11
+ } | undefined>;
12
+ };
13
+ children?: {
14
+ sequence?: readonly string[];
15
+ any?: boolean;
16
+ details?: Record<string, {
17
+ namespace?: SchemaNamespace;
18
+ } | undefined>;
19
+ };
20
+ };
21
+ export type AssertValidSclXmlOptions = {
22
+ requireComplete?: boolean;
23
+ };
24
+ export type DescribeInvalidSclXmlParams = {
25
+ xml: string;
26
+ label: string;
27
+ requireComplete: boolean;
28
+ };
29
+ export type CollectElementViolationsParams = {
30
+ element: Element;
31
+ parentLocalName: string | undefined;
32
+ requireComplete: boolean;
33
+ };
34
+ export type CollectAttributeViolationsParams = {
35
+ element: Element;
36
+ definition: SchemaElementDefinition;
37
+ requireComplete: boolean;
38
+ };
39
+ export type AssertValidSclTestCasesParams = {
40
+ testCases: Record<string, {
41
+ sourceXml: string;
42
+ targetXml?: string;
43
+ }>;
44
+ };
45
+ //# sourceMappingURL=assert-valid-scl-xml.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert-valid-scl-xml.types.d.ts","sourceRoot":"","sources":["../../../src/v2019C1/test/assert-valid-scl-xml.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAA;AAE7C,+EAA+E;AAC/E,MAAM,MAAM,uBAAuB,GAAG;IACrC,SAAS,CAAC,EAAE,eAAe,CAAA;IAC3B,UAAU,CAAC,EAAE;QACZ,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;QAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;SAAE,GAAG,SAAS,CAAC,CAAA;KAC5D,CAAA;IACD,QAAQ,CAAC,EAAE;QACV,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;QAC5B,GAAG,CAAC,EAAE,OAAO,CAAA;QACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,SAAS,CAAC,EAAE,eAAe,CAAA;SAAE,GAAG,SAAS,CAAC,CAAA;KACrE,CAAA;CACD,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAEpE,MAAM,MAAM,2BAA2B,GAAG;IACzC,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,eAAe,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,8BAA8B,GAAG;IAC5C,OAAO,EAAE,OAAO,CAAA;IAChB,eAAe,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,eAAe,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,gCAAgC,GAAG;IAC9C,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,uBAAuB,CAAA;IACnC,eAAe,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG;IAC3C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACpE,CAAA"}