@dialecte/scl 0.2.20 → 0.2.22

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 (118) hide show
  1. package/dist/{extensions-C_XbWugj.js → extensions-DDF6FezI.js} +991 -670
  2. package/dist/v2019C1/extensions/data-model/public.d.ts +2 -0
  3. package/dist/v2019C1/extensions/data-model/public.d.ts.map +1 -0
  4. package/dist/v2019C1/extensions/data-model/transaction/import-types.d.ts +21 -0
  5. package/dist/v2019C1/extensions/data-model/transaction/import-types.d.ts.map +1 -0
  6. package/dist/v2019C1/extensions/data-model/transaction/import-types.types.d.ts +32 -0
  7. package/dist/v2019C1/extensions/data-model/transaction/import-types.types.d.ts.map +1 -0
  8. package/dist/v2019C1/extensions/data-model/transaction/index.d.ts +1 -1
  9. package/dist/v2019C1/extensions/data-model/transaction/index.d.ts.map +1 -1
  10. package/dist/v2019C1/extensions/extraction/index.d.ts +12 -0
  11. package/dist/v2019C1/extensions/extraction/index.d.ts.map +1 -0
  12. package/dist/v2019C1/extensions/extraction/public.d.ts +3 -0
  13. package/dist/v2019C1/extensions/extraction/public.d.ts.map +1 -0
  14. package/dist/v2019C1/extensions/extraction/transaction/deep.d.ts +19 -0
  15. package/dist/v2019C1/extensions/extraction/transaction/deep.d.ts.map +1 -0
  16. package/dist/v2019C1/extensions/extraction/transaction/deep.types.d.ts +36 -0
  17. package/dist/v2019C1/extensions/extraction/transaction/deep.types.d.ts.map +1 -0
  18. package/dist/v2019C1/extensions/extraction/transaction/index.d.ts +6 -0
  19. package/dist/v2019C1/extensions/extraction/transaction/index.d.ts.map +1 -0
  20. package/dist/v2019C1/extensions/extraction/transaction/primitives/clone-referenced.d.ts.map +1 -0
  21. package/dist/v2019C1/extensions/{template/transaction/shared/clone-utils.d.ts → extraction/transaction/primitives/clone-tree.d.ts} +6 -3
  22. package/dist/v2019C1/extensions/extraction/transaction/primitives/clone-tree.d.ts.map +1 -0
  23. package/dist/v2019C1/extensions/{template/transaction/shared/shared.types.d.ts → extraction/transaction/primitives/clone-tree.types.d.ts} +1 -6
  24. package/dist/v2019C1/extensions/extraction/transaction/primitives/clone-tree.types.d.ts.map +1 -0
  25. package/dist/v2019C1/extensions/{template/transaction/shared → extraction/transaction/recipes/asd}/clone-application.d.ts +2 -2
  26. package/dist/v2019C1/extensions/extraction/transaction/recipes/asd/clone-application.d.ts.map +1 -0
  27. package/dist/v2019C1/extensions/extraction/transaction/recipes/asd/index.d.ts +2 -0
  28. package/dist/v2019C1/extensions/extraction/transaction/recipes/asd/index.d.ts.map +1 -0
  29. package/dist/v2019C1/extensions/{template/transaction/asd/extract-to-asd.d.ts → extraction/transaction/recipes/asd/to-asd.d.ts} +3 -3
  30. package/dist/v2019C1/extensions/extraction/transaction/recipes/asd/to-asd.d.ts.map +1 -0
  31. package/dist/v2019C1/extensions/extraction/transaction/recipes/fsd/index.d.ts +2 -0
  32. package/dist/v2019C1/extensions/extraction/transaction/recipes/fsd/index.d.ts.map +1 -0
  33. package/dist/v2019C1/extensions/extraction/transaction/recipes/fsd/omit.d.ts +4 -0
  34. package/dist/v2019C1/extensions/extraction/transaction/recipes/fsd/omit.d.ts.map +1 -0
  35. package/dist/v2019C1/extensions/{template/transaction/fsd/extract-to-fsd.d.ts → extraction/transaction/recipes/fsd/to-fsd.d.ts} +3 -3
  36. package/dist/v2019C1/extensions/extraction/transaction/recipes/fsd/to-fsd.d.ts.map +1 -0
  37. package/dist/v2019C1/extensions/{template/transaction → extraction/transaction/recipes}/shared/clone-function.d.ts +1 -1
  38. package/dist/v2019C1/extensions/extraction/transaction/recipes/shared/clone-function.d.ts.map +1 -0
  39. package/dist/v2019C1/extensions/{template/transaction → extraction/transaction/recipes/shared}/ensure-substation-structure.d.ts +1 -1
  40. package/dist/v2019C1/extensions/extraction/transaction/recipes/shared/ensure-substation-structure.d.ts.map +1 -0
  41. package/dist/v2019C1/extensions/extraction/transaction/recipes/shared/omit-filters.d.ts +4 -0
  42. package/dist/v2019C1/extensions/extraction/transaction/recipes/shared/omit-filters.d.ts.map +1 -0
  43. package/dist/v2019C1/extensions/{template/transaction → extraction/transaction/recipes}/shared/post-extraction-cleanup.d.ts +1 -1
  44. package/dist/v2019C1/extensions/extraction/transaction/recipes/shared/post-extraction-cleanup.d.ts.map +1 -0
  45. package/dist/v2019C1/extensions/{template/transaction → extraction/transaction/recipes}/shared/resolve-structure-ref.d.ts +1 -1
  46. package/dist/v2019C1/extensions/extraction/transaction/recipes/shared/resolve-structure-ref.d.ts.map +1 -0
  47. package/dist/v2019C1/extensions/extraction/transaction/recipes/shared/shared.types.d.ts +7 -0
  48. package/dist/v2019C1/extensions/extraction/transaction/recipes/shared/shared.types.d.ts.map +1 -0
  49. package/dist/v2019C1/extensions/index.d.ts +6 -2
  50. package/dist/v2019C1/extensions/index.d.ts.map +1 -1
  51. package/dist/v2019C1/extensions/public.d.ts +5 -0
  52. package/dist/v2019C1/extensions/public.d.ts.map +1 -0
  53. package/dist/v2019C1/extensions/reference/constants/derived.d.ts +7 -0
  54. package/dist/v2019C1/extensions/reference/constants/derived.d.ts.map +1 -1
  55. package/dist/v2019C1/extensions/reference/constants/helpers.d.ts +3 -1
  56. package/dist/v2019C1/extensions/reference/constants/helpers.d.ts.map +1 -1
  57. package/dist/v2019C1/extensions/reference/constants/index.d.ts +2 -1
  58. package/dist/v2019C1/extensions/reference/constants/index.d.ts.map +1 -1
  59. package/dist/v2019C1/extensions/reference/constants/type-id-pairs.d.ts +63 -0
  60. package/dist/v2019C1/extensions/reference/constants/type-id-pairs.d.ts.map +1 -0
  61. package/dist/v2019C1/extensions/reference/constants/types.d.ts +44 -0
  62. package/dist/v2019C1/extensions/reference/constants/types.d.ts.map +1 -1
  63. package/dist/v2019C1/extensions/reference/guards.d.ts +4 -0
  64. package/dist/v2019C1/extensions/reference/guards.d.ts.map +1 -0
  65. package/dist/v2019C1/extensions/reference/index.d.ts +3 -3
  66. package/dist/v2019C1/extensions/reference/index.d.ts.map +1 -1
  67. package/dist/v2019C1/extensions/reference/public.d.ts +5 -0
  68. package/dist/v2019C1/extensions/reference/public.d.ts.map +1 -0
  69. package/dist/v2019C1/extensions/reference/query/find/find-refs-pointing-to.d.ts +7 -4
  70. package/dist/v2019C1/extensions/reference/query/find/find-refs-pointing-to.d.ts.map +1 -1
  71. package/dist/v2019C1/extensions/reference/transaction/apply-type-id-remap.d.ts +17 -0
  72. package/dist/v2019C1/extensions/reference/transaction/apply-type-id-remap.d.ts.map +1 -0
  73. package/dist/v2019C1/extensions/reference/transaction/index.d.ts +2 -0
  74. package/dist/v2019C1/extensions/reference/transaction/index.d.ts.map +1 -0
  75. package/dist/v2019C1/extensions/signature/index.d.ts +5 -0
  76. package/dist/v2019C1/extensions/signature/index.d.ts.map +1 -0
  77. package/dist/v2019C1/extensions/signature/public.d.ts +3 -0
  78. package/dist/v2019C1/extensions/signature/public.d.ts.map +1 -0
  79. package/dist/v2019C1/extensions/signature/query/element-signature.constants.d.ts +3 -0
  80. package/dist/v2019C1/extensions/signature/query/element-signature.constants.d.ts.map +1 -0
  81. package/dist/v2019C1/extensions/signature/query/element-signature.d.ts +21 -0
  82. package/dist/v2019C1/extensions/signature/query/element-signature.d.ts.map +1 -0
  83. package/dist/v2019C1/extensions/signature/query/element-signature.types.d.ts +28 -0
  84. package/dist/v2019C1/extensions/signature/query/element-signature.types.d.ts.map +1 -0
  85. package/dist/v2019C1/extensions/signature/query/index.d.ts +3 -0
  86. package/dist/v2019C1/extensions/signature/query/index.d.ts.map +1 -0
  87. package/dist/v2019C1/index.d.ts +1 -0
  88. package/dist/v2019C1/index.d.ts.map +1 -1
  89. package/dist/v2019C1/index.js +8 -8
  90. package/dist/v2019C1/test/hydrated-test.d.ts +12 -4
  91. package/dist/v2019C1/test/hydrated-test.d.ts.map +1 -1
  92. package/dist/v2019C1/test.js +7 -7
  93. package/package.json +5 -5
  94. package/dist/v2019C1/extensions/data-model/transaction/extract.d.ts +0 -7
  95. package/dist/v2019C1/extensions/data-model/transaction/extract.d.ts.map +0 -1
  96. package/dist/v2019C1/extensions/template/index.d.ts +0 -5
  97. package/dist/v2019C1/extensions/template/index.d.ts.map +0 -1
  98. package/dist/v2019C1/extensions/template/transaction/asd/extract-to-asd.d.ts.map +0 -1
  99. package/dist/v2019C1/extensions/template/transaction/asd/index.d.ts +0 -2
  100. package/dist/v2019C1/extensions/template/transaction/asd/index.d.ts.map +0 -1
  101. package/dist/v2019C1/extensions/template/transaction/ensure-substation-structure.d.ts.map +0 -1
  102. package/dist/v2019C1/extensions/template/transaction/fsd/extract-to-fsd.d.ts.map +0 -1
  103. package/dist/v2019C1/extensions/template/transaction/fsd/index.d.ts +0 -2
  104. package/dist/v2019C1/extensions/template/transaction/fsd/index.d.ts.map +0 -1
  105. package/dist/v2019C1/extensions/template/transaction/index.d.ts +0 -4
  106. package/dist/v2019C1/extensions/template/transaction/index.d.ts.map +0 -1
  107. package/dist/v2019C1/extensions/template/transaction/shared/clone-application.d.ts.map +0 -1
  108. package/dist/v2019C1/extensions/template/transaction/shared/clone-function.d.ts.map +0 -1
  109. package/dist/v2019C1/extensions/template/transaction/shared/clone-referenced.d.ts.map +0 -1
  110. package/dist/v2019C1/extensions/template/transaction/shared/clone-utils.d.ts.map +0 -1
  111. package/dist/v2019C1/extensions/template/transaction/shared/extract-data-model.d.ts +0 -13
  112. package/dist/v2019C1/extensions/template/transaction/shared/extract-data-model.d.ts.map +0 -1
  113. package/dist/v2019C1/extensions/template/transaction/shared/omit-filters.d.ts +0 -5
  114. package/dist/v2019C1/extensions/template/transaction/shared/omit-filters.d.ts.map +0 -1
  115. package/dist/v2019C1/extensions/template/transaction/shared/post-extraction-cleanup.d.ts.map +0 -1
  116. package/dist/v2019C1/extensions/template/transaction/shared/resolve-structure-ref.d.ts.map +0 -1
  117. package/dist/v2019C1/extensions/template/transaction/shared/shared.types.d.ts.map +0 -1
  118. /package/dist/v2019C1/extensions/{template/transaction/shared → extraction/transaction/primitives}/clone-referenced.d.ts +0 -0
@@ -0,0 +1,2 @@
1
+ export type { ImportTypesParams, ImportTypesResult, ImportTypesStats, } from './transaction/import-types';
2
+ //# sourceMappingURL=public.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../../src/v2019C1/extensions/data-model/public.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,GAChB,MAAM,4BAA4B,CAAA"}
@@ -0,0 +1,21 @@
1
+ import { ImportTypesParams, ImportTypesResult } from './import-types.types';
2
+ import { Config } from '../../../config';
3
+ import type * as Core from '@dialecte/core';
4
+ export type { ImportTypesParams, ImportTypesResult, ImportTypesStats } from './import-types.types';
5
+ /**
6
+ * Import the type closure of `records` into the target `DataTypeTemplates`,
7
+ * content-addressed (§6.9):
8
+ *
9
+ * - **R1** structurally-equal type already in the target → reuse its id (dedup);
10
+ * - **R2** no match and the source id is free → clone, preserving the id;
11
+ * - **R3** no match but the id is taken by different content → fork under a new
12
+ * content-hash id (`<forkPrefix><id>_<hash>`) and propagate the fork upward.
13
+ *
14
+ * Child type references inside the imported types — and the `lnType` of the
15
+ * instances in `cloneMappings` (the caller's instance clone) — are repointed to
16
+ * the reconciled ids in the same transaction. With an empty / non-colliding
17
+ * target and no `cloneMappings` this is byte-identical to a plain id-preserving
18
+ * clone.
19
+ */
20
+ export declare function importTypes(tx: Core.Transaction<Config>, params: ImportTypesParams): Promise<ImportTypesResult>;
21
+ //# sourceMappingURL=import-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-types.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/data-model/transaction/import-types.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACX,iBAAiB,EACjB,iBAAiB,EAGjB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAO,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAElG;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,WAAW,CAChC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAC5B,MAAM,EAAE,iBAAiB,GACvB,OAAO,CAAC,iBAAiB,CAAC,CAuE5B"}
@@ -0,0 +1,32 @@
1
+ import { Scl, Config } from '../../../config';
2
+ import type * as Core from '@dialecte/core';
3
+ /** The DataTypeTemplates type records, reconciled bottom-up. */
4
+ export type TypeRecord = Scl.TrackedRecord<'EnumType'> | Scl.TrackedRecord<'DAType'> | Scl.TrackedRecord<'DOType'> | Scl.TrackedRecord<'LNodeType'>;
5
+ export type ImportTypesStats = {
6
+ reused: number;
7
+ preserved: number;
8
+ forked: number;
9
+ };
10
+ export type ImportTypesResult = {
11
+ /** source type id -> target type id (reused, preserved, or forked). */
12
+ idRemap: Map<string, string>;
13
+ stats: ImportTypesStats;
14
+ };
15
+ export type ImportTypesParams = {
16
+ sourceQuery: Core.Query<Config>;
17
+ records: (Scl.TrackedRecord<'LNode'> | Scl.TrackedRecord<'LN'>)[];
18
+ /**
19
+ * Clone mappings from the caller's instance `deepClone` (its `mappings`). The
20
+ * `lnType` of each cloned target whose source type was forked/deduped is
21
+ * repointed — only the mapped targets are touched, so pre-existing instances
22
+ * that share an id are never affected.
23
+ */
24
+ cloneMappings?: Scl.CloneMapping[];
25
+ /**
26
+ * Optional prefix prepended to a forked type's id. The id is always
27
+ * `<forkPrefix><sourceId>_<contentHash>` — the content hash is appended
28
+ * automatically so forks stay deterministic and content-addressed.
29
+ */
30
+ forkPrefix?: string;
31
+ };
32
+ //# sourceMappingURL=import-types.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-types.types.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/data-model/transaction/import-types.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C,gEAAgE;AAChE,MAAM,MAAM,UAAU,GACnB,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,GAC7B,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,GAC3B,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,GAC3B,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;AAEjC,MAAM,MAAM,gBAAgB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAEpF,MAAM,MAAM,iBAAiB,GAAG;IAC/B,uEAAuE;IACvE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,KAAK,EAAE,gBAAgB,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC/B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,OAAO,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,CAAA;IACjE;;;;;OAKG;IACH,aAAa,CAAC,EAAE,GAAG,CAAC,YAAY,EAAE,CAAA;IAClC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA"}
@@ -1,2 +1,2 @@
1
- export { extract } from './extract';
1
+ export { importTypes } from './import-types';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/data-model/transaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/data-model/transaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,12 @@
1
+ import * as extractionTransaction from './transaction';
2
+ /**
3
+ * Pull an element out of a document together with its reference/type closure.
4
+ *
5
+ * - `deep` — generic: clone an element subtree + its content-addressed type closure.
6
+ * - `toFsd` / `toAsd` — named recipes that place the result into a
7
+ * template Substation/VoltageLevel/Bay structure with FSD/ASD policy.
8
+ */
9
+ export declare const extraction: {
10
+ transaction: typeof extractionTransaction;
11
+ };
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/v2019C1/extensions/extraction/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,qBAAqB,MAAM,eAAe,CAAA;AAEtD;;;;;;GAMG;AACH,eAAO,MAAM,UAAU;;CAEtB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export type { ImportDeepParams, ImportDeepResult } from './transaction/deep.types';
2
+ export type { StripConfig, PromoteRootConfig } from './transaction/primitives/clone-tree.types';
3
+ //# sourceMappingURL=public.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../../src/v2019C1/extensions/extraction/public.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAClF,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAA"}
@@ -0,0 +1,19 @@
1
+ import { ImportDeepParams, ImportDeepResult } from './deep.types';
2
+ import { Config } from '../../../config';
3
+ import type * as Core from '@dialecte/core';
4
+ /**
5
+ * Import an element subtree into a target document together with its closures:
6
+ *
7
+ * 1. `withReferences` (default `true`) — forward uuid-reference closure: clone
8
+ * referenced satellites that are missing in the target (create-if-missing).
9
+ * Done first so the cloned subtree's references remap onto the new satellites;
10
+ * 2. clone the subtree under `targetParent` (with optional `omit` / `strip` /
11
+ * `promoteRoot`);
12
+ * 3. `withTypes` (default `true`) — content-addressed **type** closure: reconcile
13
+ * the LN/LNode type closure (reuse / preserve / fork) and repoint the cloned
14
+ * instances' `lnType` through the clone mappings.
15
+ *
16
+ * Uuid references inside the clone are remapped by the `afterDeepClone` hook.
17
+ */
18
+ export declare function deep(tx: Core.Transaction<Config>, params: ImportDeepParams): Promise<ImportDeepResult>;
19
+ //# sourceMappingURL=deep.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deep.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/extraction/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;;;;;;;;;;;;;GAaG;AACH,wBAAsB,IAAI,CACzB,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAC5B,MAAM,EAAE,gBAAgB,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAqC3B"}
@@ -0,0 +1,36 @@
1
+ import { PromoteRootConfig, StripConfig } from './primitives/clone-tree.types';
2
+ import { Scl, Config } from '../../../config';
3
+ import { OmitEntry } from '@dialecte/core';
4
+ import type * as Core from '@dialecte/core';
5
+ export type ImportDeepParams = {
6
+ sourceQuery: Core.Query<Config>;
7
+ /** The element subtree to import. */
8
+ ref: Scl.Ref<Scl.ElementsOf>;
9
+ /** Target parent the subtree is cloned under. */
10
+ targetParent: Scl.Ref<Scl.ElementsOf>;
11
+ /** Import the referenced **type** closure (content-addressed). Default `true`. */
12
+ withTypes?: boolean;
13
+ /**
14
+ * Import the forward **uuid-reference** closure — clone referenced satellites
15
+ * that are missing in the target (create-if-missing). Default `true`.
16
+ */
17
+ withReferences?: boolean;
18
+ /** Ref tag names to skip while resolving the uuid-reference closure. */
19
+ skipReferences?: ReadonlySet<string>;
20
+ /** Child element tag names to drop from the cloned subtree. */
21
+ omit?: OmitEntry<Config>[];
22
+ /**
23
+ * Attribute stripping applied to the cloned subtree. Default `false` (a generic
24
+ * import preserves provenance); recipes pass their own policy.
25
+ */
26
+ strip?: StripConfig | false;
27
+ /** Replace the root tagName when it matches `from` (e.g. SubFunction -> Function). */
28
+ promoteRoot?: PromoteRootConfig;
29
+ };
30
+ export type ImportDeepResult = {
31
+ /** The cloned root record in the target. */
32
+ record: Scl.RawRecord<Scl.ElementsOf>;
33
+ /** source type id -> target type id, from the type reconciliation. */
34
+ idRemap: Map<string, string>;
35
+ };
36
+ //# sourceMappingURL=deep.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deep.types.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/extraction/transaction/deep.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AACnF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,MAAM,MAAM,gBAAgB,GAAG;IAC9B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,qCAAqC;IACrC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC5B,iDAAiD;IACjD,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACrC,kFAAkF;IAClF,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,wEAAwE;IACxE,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACpC,+DAA+D;IAC/D,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAA;IAC1B;;;OAGG;IACH,KAAK,CAAC,EAAE,WAAW,GAAG,KAAK,CAAA;IAC3B,sFAAsF;IACtF,WAAW,CAAC,EAAE,iBAAiB,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC9B,4CAA4C;IAC5C,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACrC,sEAAsE;IACtE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC5B,CAAA"}
@@ -0,0 +1,6 @@
1
+ export { deep } from './deep';
2
+ export type { ImportDeepParams, ImportDeepResult } from './deep.types';
3
+ export * from './recipes/shared/ensure-substation-structure';
4
+ export { toAsd } from './recipes/asd';
5
+ export { toFsd } from './recipes/fsd';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/extraction/transaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAEtE,cAAc,8CAA8C,CAAA;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clone-referenced.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/extraction/transaction/primitives/clone-referenced.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AAC1E,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAI/C;;;;;GAKG;AACH,wBAAsB,4BAA4B,CACjD,GAAG,SAAS,UAAU,EACtB,MAAM,SAAS,QAAQ,CAAC,GAAG,CAAC,EAE5B,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAC5B,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAA;IACvC,UAAU,EAAE,GAAG,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;CACrB,GACC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAkC5B;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAAC,GAAG,SAAS,UAAU,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,CAAC,EAChG,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAC5B,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAA;IACvC,UAAU,EAAE,GAAG,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACrC,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAA;CAC1B,GACC,OAAO,CAAC,IAAI,CAAC,CAaf;AAkBD;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAC9C,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAC5B,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,YAAY,EAAE,GAAG,CAAC,UAAU,CAAA;IAC5B,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACjC,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACrC,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1B,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAA;CAC1B,GACC,OAAO,CAAC,IAAI,CAAC,CAuBf"}
@@ -1,4 +1,4 @@
1
- import { StripConfig, PromoteRootConfig } from './shared.types';
1
+ import { StripConfig, PromoteRootConfig } from './clone-tree.types';
2
2
  import { Scl, Config } from '../../../../config';
3
3
  import { OmitEntry } from '@dialecte/core';
4
4
  import type * as Core from '@dialecte/core';
@@ -10,6 +10,9 @@ export type { StripConfig, PromoteRootConfig };
10
10
  * By default strips `templateUuid` and `originUuid` from the entire tree.
11
11
  * Pass `strip: false` to disable all stripping.
12
12
  * Pass `strip: { scope, attributes }` to customise.
13
+ *
14
+ * Returns the `CloneResult` (cloned root record + source->target mappings), or
15
+ * `undefined` when the source element does not exist.
13
16
  */
14
17
  export declare function cloneTree(tx: Core.Transaction<Config>, params: {
15
18
  sourceQuery: Core.Query<Config>;
@@ -18,5 +21,5 @@ export declare function cloneTree(tx: Core.Transaction<Config>, params: {
18
21
  omit?: OmitEntry<Config>[];
19
22
  promoteRoot?: PromoteRootConfig;
20
23
  strip?: StripConfig | false;
21
- }): Promise<void>;
22
- //# sourceMappingURL=clone-utils.d.ts.map
24
+ }): Promise<Core.CloneResult<Config, Exclude<Scl.ElementsOf, 'SCL'>> | undefined>;
25
+ //# sourceMappingURL=clone-tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clone-tree.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/extraction/transaction/primitives/clone-tree.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACxE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAA;AAO9C;;;;;;;;;;GAUG;AACH,wBAAsB,SAAS,CAC9B,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAC5B,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC5B,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACrC,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAA;IAC1B,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B,KAAK,CAAC,EAAE,WAAW,GAAG,KAAK,CAAA;CAC3B,GACC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,CAuB/E"}
@@ -1,9 +1,4 @@
1
1
  import { Scl } from '../../../../config';
2
- export type TemplateStructure = {
3
- Substation: Scl.RawRecord<'Substation'>;
4
- VoltageLevel: Scl.RawRecord<'VoltageLevel'>;
5
- Bay: Scl.RawRecord<'Bay'>;
6
- };
7
2
  export type StripConfig = {
8
3
  /** 'root': remove attributes from root element only (shallow).
9
4
  * 'tree': remove attributes recursively from root and all descendants. */
@@ -15,4 +10,4 @@ export type PromoteRootConfig = {
15
10
  from: Scl.ElementsOf;
16
11
  to: Scl.ElementsOf;
17
12
  };
18
- //# sourceMappingURL=shared.types.d.ts.map
13
+ //# sourceMappingURL=clone-tree.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clone-tree.types.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/extraction/transaction/primitives/clone-tree.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAEtC,MAAM,MAAM,WAAW,GAAG;IACzB;+EAC2E;IAC3E,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,EAAE,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC/B,uDAAuD;IACvD,IAAI,EAAE,GAAG,CAAC,UAAU,CAAA;IACpB,EAAE,EAAE,GAAG,CAAC,UAAU,CAAA;CAClB,CAAA"}
@@ -1,5 +1,5 @@
1
- import { TemplateStructure } from './shared.types';
2
- import { Scl, Config } from '../../../../config';
1
+ import { TemplateStructure } from '../shared/shared.types';
2
+ import { Scl, Config } from '../../../../../config';
3
3
  import type * as Core from '@dialecte/core';
4
4
  /**
5
5
  * ASD content brick: clones an Application and all its satellites (Functions,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clone-application.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2019C1/extensions/extraction/transaction/recipes/asd/clone-application.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC5C,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,SAAS,EAAE,iBAAiB,CAAA;CAC5B,GACC,OAAO,CAAC,IAAI,CAAC,CAgDf"}
@@ -0,0 +1,2 @@
1
+ export { toAsd } from './to-asd';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2019C1/extensions/extraction/transaction/recipes/asd/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA"}
@@ -1,10 +1,10 @@
1
- import { Scl, Config } from '../../../../config';
1
+ import { Scl, Config } from '../../../../../config';
2
2
  import type * as Core from '@dialecte/core';
3
- export declare function extractToAsd(tx: Core.Transaction<Config>, params: {
3
+ export declare function toAsd(tx: Core.Transaction<Config>, params: {
4
4
  sourceQuery: Core.Query<Config>;
5
5
  applicationRef: Scl.Ref<'Application'>;
6
6
  tool: Scl.AttributesValueObjectOf<'Header'>['toolID'];
7
7
  who: Scl.AttributesValueObjectOf<'Hitem'>['who'];
8
8
  nameStructure?: Scl.AttributesValueObjectOf<'Header'>['nameStructure'];
9
9
  }): Promise<void>;
10
- //# sourceMappingURL=extract-to-asd.d.ts.map
10
+ //# sourceMappingURL=to-asd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to-asd.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2019C1/extensions/extraction/transaction/recipes/asd/to-asd.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C,wBAAsB,KAAK,CAC1B,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,IAAI,EAAE,GAAG,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAA;IACrD,GAAG,EAAE,GAAG,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAA;IAChD,aAAa,CAAC,EAAE,GAAG,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAA;CACtE,GACC,OAAO,CAAC,IAAI,CAAC,CAyBf"}
@@ -0,0 +1,2 @@
1
+ export { toFsd } from './to-fsd';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2019C1/extensions/extraction/transaction/recipes/fsd/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { Config } from '../../../../../config';
2
+ import { OmitEntry } from '@dialecte/core';
3
+ export declare const FSD_OMIT: OmitEntry<Config>[];
4
+ //# sourceMappingURL=omit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"omit.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2019C1/extensions/extraction/transaction/recipes/fsd/omit.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,eAAO,MAAM,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,EAUvC,CAAA"}
@@ -1,10 +1,10 @@
1
- import { Scl, Config } from '../../../../config';
1
+ import { Scl, Config } from '../../../../../config';
2
2
  import type * as Core from '@dialecte/core';
3
- export declare function extractToFsd(tx: Core.Transaction<Config>, params: {
3
+ export declare function toFsd(tx: Core.Transaction<Config>, params: {
4
4
  sourceQuery: Core.Query<Config>;
5
5
  functionRef: Scl.Ref<'Function'> | Scl.Ref<'SubFunction'>;
6
6
  tool: Scl.AttributesValueObjectOf<'Header'>['toolID'];
7
7
  who: Scl.AttributesValueObjectOf<'Hitem'>['who'];
8
8
  nameStructure?: Scl.AttributesValueObjectOf<'Header'>['nameStructure'];
9
9
  }): Promise<void>;
10
- //# sourceMappingURL=extract-to-fsd.d.ts.map
10
+ //# sourceMappingURL=to-fsd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to-fsd.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2019C1/extensions/extraction/transaction/recipes/fsd/to-fsd.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C,wBAAsB,KAAK,CAC1B,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,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IACzD,IAAI,EAAE,GAAG,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAA;IACrD,GAAG,EAAE,GAAG,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAA;IAChD,aAAa,CAAC,EAAE,GAAG,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAA;CACtE,GACC,OAAO,CAAC,IAAI,CAAC,CAyCf"}
@@ -1,5 +1,5 @@
1
1
  import { TemplateStructure } from './shared.types';
2
- import { Config, Scl } from '../../../../config';
2
+ import { Config, Scl } from '../../../../../config';
3
3
  import { OmitEntry } from '@dialecte/core';
4
4
  import type * as Core from '@dialecte/core';
5
5
  /**
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clone-function.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2019C1/extensions/extraction/transaction/recipes/shared/clone-function.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAEnD,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAI/C;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAClC,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,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IACzD,eAAe,EAAE,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACjF,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAA;IAC1B,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACvC,GACC,OAAO,CAAC,IAAI,CAAC,CAmBf;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC5C,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,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IACzD,SAAS,EAAE,iBAAiB,CAAA;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC7B,GACC,OAAO,CAAC,IAAI,CAAC,CAmBf"}
@@ -1,4 +1,4 @@
1
- import { Scl, Config } from '../../../config';
1
+ import { Scl, Config } from '../../../../../config';
2
2
  import type * as Core from '@dialecte/core';
3
3
  export declare function ensureSubstationTemplateStructure(tx: Core.Transaction<Config>): Promise<{
4
4
  Substation: Scl.RawRecord<'Substation'>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure-substation-structure.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2019C1/extensions/extraction/transaction/recipes/shared/ensure-substation-structure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C,wBAAsB,iCAAiC,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;IAC9F,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;IACvC,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;IAC3C,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;CACzB,CAAC,CAuBD"}
@@ -0,0 +1,4 @@
1
+ import { Config } from '../../../../../config';
2
+ import { OmitEntry } from '@dialecte/core';
3
+ export declare const ALWAYS_OMIT: OmitEntry<Config>[];
4
+ //# sourceMappingURL=omit-filters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"omit-filters.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2019C1/extensions/extraction/transaction/recipes/shared/omit-filters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,EAK1C,CAAA"}
@@ -1,4 +1,4 @@
1
- import { Config } from '../../../../config';
1
+ import { Config } from '../../../../../config';
2
2
  import type * as Core from '@dialecte/core';
3
3
  /**
4
4
  * Universal post-extraction cleanup run after cloning records into a target DB.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-extraction-cleanup.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2019C1/extensions/extraction/transaction/recipes/shared/post-extraction-cleanup.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAIvF"}
@@ -1,5 +1,5 @@
1
1
  import { TemplateStructure } from './shared.types';
2
- import { Scl, Config } from '../../../../config';
2
+ import { Scl, Config } from '../../../../../config';
3
3
  import type * as Core from '@dialecte/core';
4
4
  /**
5
5
  * Finds the nearest Substation/VoltageLevel/Bay ancestor of a source-side ref
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-structure-ref.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2019C1/extensions/extraction/transaction/recipes/shared/resolve-structure-ref.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;GAGG;AACH,wBAAsB,mBAAmB,CACxC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAC/B,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,EAC5B,SAAS,EAAE,iBAAiB,GAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAc3E"}
@@ -0,0 +1,7 @@
1
+ import { Scl } from '../../../../../config';
2
+ export type TemplateStructure = {
3
+ Substation: Scl.RawRecord<'Substation'>;
4
+ VoltageLevel: Scl.RawRecord<'VoltageLevel'>;
5
+ Bay: Scl.RawRecord<'Bay'>;
6
+ };
7
+ //# sourceMappingURL=shared.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.types.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2019C1/extensions/extraction/transaction/recipes/shared/shared.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAEtC,MAAM,MAAM,iBAAiB,GAAG;IAC/B,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;IACvC,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;IAC3C,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;CACzB,CAAA"}
@@ -6,15 +6,19 @@ export declare const SCL_EXTENSION_MODULES: {
6
6
  query: typeof import("./data-model/query");
7
7
  transaction: typeof import("./data-model/transaction");
8
8
  };
9
+ extraction: {
10
+ transaction: typeof import("./extraction/transaction");
11
+ };
9
12
  history: {
10
13
  query: typeof import("./history/query");
11
14
  transaction: typeof import("./history/transaction");
12
15
  };
13
16
  reference: {
14
17
  query: typeof import("./reference/query");
18
+ transaction: typeof import("./reference/transaction");
15
19
  };
16
- template: {
17
- transaction: typeof import("./template/transaction");
20
+ signature: {
21
+ query: typeof import("./signature/query");
18
22
  };
19
23
  presentation: {
20
24
  query: typeof import("./presentation/query");
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v2019C1/extensions/index.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;CAOjC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v2019C1/extensions/index.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;CAQjC,CAAA"}
@@ -0,0 +1,5 @@
1
+ export * from './data-model/public';
2
+ export * from './extraction/public';
3
+ export * from './reference/public';
4
+ export * from './signature/public';
5
+ //# sourceMappingURL=public.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/v2019C1/extensions/public.ts"],"names":[],"mappings":"AAIA,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { TypeIdTarget, TypeIdReferrer } from './types';
1
2
  /**
2
3
  * Maps each resolution strategy to a map of target tagName -> RefEntry[].
3
4
  *
@@ -23,4 +24,10 @@ export declare const PAIRS_BY_REF: Map<string, import('./types').RefPairEntry[]>
23
24
  * Use as the attribute list for remapUuidAttrs so new ref pairs are automatically covered.
24
25
  */
25
26
  export declare const ALL_REF_UUID_ATTRIBUTES: readonly string[];
27
+ /** Distinct attribute names that can carry a type id, per referrer tag. */
28
+ export declare const TYPE_ID_REF_ATTRIBUTES: ReadonlyMap<string, readonly string[]>;
29
+ /** Reverse index: target type tag → the referrers (refTag + attribute) pointing at it. */
30
+ export declare const TYPE_ID_REFERRERS_BY_TARGET: ReadonlyMap<TypeIdTarget, readonly TypeIdReferrer[]>;
31
+ /** All DataTypeTemplates type tags that are targets of a type-id reference. */
32
+ export declare const TYPE_ID_TARGET_TAGS: ReadonlySet<string>;
26
33
  //# sourceMappingURL=derived.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"derived.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/reference/constants/derived.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,qFAAwD,CAAA;AAE3F;;;GAGG;AACH,eAAO,MAAM,sBAAsB,qEAKzB,CAAA;AAEV;;;GAGG;AACH,eAAO,MAAM,YAAY,+CAA2C,CAAA;AAEpE;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAMpD,CAAA"}
1
+ {"version":3,"file":"derived.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/reference/constants/derived.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE3D;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,qFAAwD,CAAA;AAE3F;;;GAGG;AACH,eAAO,MAAM,sBAAsB,qEAKzB,CAAA;AAEV;;;GAGG;AACH,eAAO,MAAM,YAAY,+CAA2C,CAAA;AAEpE;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAMpD,CAAA;AAID,2EAA2E;AAC3E,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAKzE,CAAA;AAED,0FAA0F;AAC1F,eAAO,MAAM,2BAA2B,EAAE,WAAW,CAAC,YAAY,EAAE,SAAS,cAAc,EAAE,CACvC,CAAA;AAEtD,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAA+C,CAAA"}
@@ -1,7 +1,9 @@
1
- import { UuidReferencePairs, ResolutionType, RefEntry, RefPairEntry } from './types';
1
+ import { UuidReferencePairs, ResolutionType, RefEntry, RefPairEntry, TypeIdReferencePairs, TypeIdReferrer, TypeIdTarget } from './types';
2
2
  export declare function buildResolutionsToTargetRefsMap(UUID_REFERENCE_PAIRS: UuidReferencePairs): Record<ResolutionType, Map<string, RefEntry[]>>;
3
3
  /**
4
4
  * Maps ref tagName -> list of its UUID pair entries (flattened for hook consumers).
5
5
  */
6
6
  export declare function buildPairsByRefMap(UUID_REFERENCE_PAIRS: UuidReferencePairs): Map<string, RefPairEntry[]>;
7
+ /** Reverse index: target type tag -> the referrers (refTag + attribute) pointing at it. */
8
+ export declare function buildTypeIdReferrersByTarget(TYPE_ID_REFERENCE_PAIRS: TypeIdReferencePairs): Map<TypeIdTarget, TypeIdReferrer[]>;
7
9
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/reference/constants/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEzF,wBAAgB,+BAA+B,CAC9C,oBAAoB,EAAE,kBAAkB,GACtC,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAkBjD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CACjC,oBAAoB,EAAE,kBAAkB,GACtC,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAc7B"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/reference/constants/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,kBAAkB,EAClB,cAAc,EACd,QAAQ,EACR,YAAY,EAEZ,oBAAoB,EACpB,cAAc,EAGd,YAAY,EACZ,MAAM,SAAS,CAAA;AAEhB,wBAAgB,+BAA+B,CAC9C,oBAAoB,EAAE,kBAAkB,GACtC,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAkBjD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CACjC,oBAAoB,EAAE,kBAAkB,GACtC,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAc7B;AAED,2FAA2F;AAC3F,wBAAgB,4BAA4B,CAC3C,uBAAuB,EAAE,oBAAoB,GAC3C,GAAG,CAAC,YAAY,EAAE,cAAc,EAAE,CAAC,CAcrC"}
@@ -1,6 +1,7 @@
1
1
  export { RESOLUTION_TYPE } from './resolution-types';
2
2
  export { UUID_REFERENCE_PAIRS } from './pairs';
3
- export { RESOLUTION_TARGET_REFS, RESOLVABLE_RESOLUTIONS, PAIRS_BY_REF, ALL_REF_UUID_ATTRIBUTES, } from './derived';
3
+ export { TYPE_ID_REFERENCE_PAIRS } from './type-id-pairs';
4
+ export { RESOLUTION_TARGET_REFS, RESOLVABLE_RESOLUTIONS, PAIRS_BY_REF, ALL_REF_UUID_ATTRIBUTES, TYPE_ID_REF_ATTRIBUTES, TYPE_ID_REFERRERS_BY_TARGET, TYPE_ID_TARGET_TAGS, } from './derived';
4
5
  export { KEEP_ON_ORPHAN_REFS, REF_CONTAINERS } from './orphan-rules';
5
6
  export { PATH_EXTRACTION_CONFIG, PATH_CONTRIBUTING_ATTRIBUTES } from './path-extraction';
6
7
  export type * from './types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/reference/constants/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EACN,sBAAsB,EACtB,sBAAsB,EACtB,YAAY,EACZ,uBAAuB,GACvB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpE,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAA;AACxF,mBAAmB,SAAS,CAAA;AAC5B,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/reference/constants/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EACN,sBAAsB,EACtB,sBAAsB,EACtB,YAAY,EACZ,uBAAuB,EACvB,sBAAsB,EACtB,2BAA2B,EAC3B,mBAAmB,GACnB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpE,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAA;AACxF,mBAAmB,SAAS,CAAA;AAC5B,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Type-id references — the DataTypeTemplates linkage that uses single
3
+ * **id-string** attributes (not the `{path, uuid}` pairs of
4
+ * {@link UUID_REFERENCE_PAIRS}). Registered here so all reference tooling (find,
5
+ * remap) treats both reference systems uniformly.
6
+ *
7
+ * LN / LN0 / LNode.lnType → LNodeType
8
+ * DO / SDO.type → DOType
9
+ * DA / BDA.type → EnumType (bType=Enum) | DAType (bType=Struct)
10
+ */
11
+ export declare const TYPE_ID_REFERENCE_PAIRS: {
12
+ readonly LN: readonly [{
13
+ readonly attribute: "lnType";
14
+ readonly target: "LNodeType";
15
+ }];
16
+ readonly LN0: readonly [{
17
+ readonly attribute: "lnType";
18
+ readonly target: "LNodeType";
19
+ }];
20
+ readonly LNode: readonly [{
21
+ readonly attribute: "lnType";
22
+ readonly target: "LNodeType";
23
+ }];
24
+ readonly DO: readonly [{
25
+ readonly attribute: "type";
26
+ readonly target: "DOType";
27
+ }];
28
+ readonly SDO: readonly [{
29
+ readonly attribute: "type";
30
+ readonly target: "DOType";
31
+ }];
32
+ readonly DA: readonly [{
33
+ readonly attribute: "type";
34
+ readonly target: "EnumType";
35
+ readonly when: {
36
+ readonly attribute: "bType";
37
+ readonly equals: "Enum";
38
+ };
39
+ }, {
40
+ readonly attribute: "type";
41
+ readonly target: "DAType";
42
+ readonly when: {
43
+ readonly attribute: "bType";
44
+ readonly equals: "Struct";
45
+ };
46
+ }];
47
+ readonly BDA: readonly [{
48
+ readonly attribute: "type";
49
+ readonly target: "EnumType";
50
+ readonly when: {
51
+ readonly attribute: "bType";
52
+ readonly equals: "Enum";
53
+ };
54
+ }, {
55
+ readonly attribute: "type";
56
+ readonly target: "DAType";
57
+ readonly when: {
58
+ readonly attribute: "bType";
59
+ readonly equals: "Struct";
60
+ };
61
+ }];
62
+ };
63
+ //# sourceMappingURL=type-id-pairs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-id-pairs.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/reference/constants/type-id-pairs.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAcU,CAAA"}