@dialecte/scl 0.3.9 → 0.3.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/{hooks-DO4gUiix.js → hooks-Cm_UYBBt.js} +1139 -815
  2. package/dist/v2019C1/extensions/index.d.ts +1 -0
  3. package/dist/v2019C1/extensions/index.d.ts.map +1 -1
  4. package/dist/v2019C1/extensions/lifecycle/constraints/classify-attribute.types.d.ts +0 -10
  5. package/dist/v2019C1/extensions/lifecycle/constraints/classify-attribute.types.d.ts.map +1 -1
  6. package/dist/v2019C1/extensions/lifecycle/engine/decide.d.ts +8 -1
  7. package/dist/v2019C1/extensions/lifecycle/engine/decide.d.ts.map +1 -1
  8. package/dist/v2019C1/extensions/lifecycle/engine/diff.d.ts +40 -8
  9. package/dist/v2019C1/extensions/lifecycle/engine/diff.d.ts.map +1 -1
  10. package/dist/v2019C1/extensions/lifecycle/engine/diff.types.d.ts +35 -26
  11. package/dist/v2019C1/extensions/lifecycle/engine/diff.types.d.ts.map +1 -1
  12. package/dist/v2019C1/extensions/lifecycle/engine/group.d.ts +1 -1
  13. package/dist/v2019C1/extensions/lifecycle/engine/group.d.ts.map +1 -1
  14. package/dist/v2019C1/extensions/lifecycle/engine/index.d.ts +1 -1
  15. package/dist/v2019C1/extensions/lifecycle/engine/index.d.ts.map +1 -1
  16. package/dist/v2019C1/extensions/lifecycle/index.d.ts +2 -0
  17. package/dist/v2019C1/extensions/lifecycle/index.d.ts.map +1 -1
  18. package/dist/v2019C1/extensions/lifecycle/instance/find-instance.d.ts +10 -0
  19. package/dist/v2019C1/extensions/lifecycle/instance/find-instance.d.ts.map +1 -1
  20. package/dist/v2019C1/extensions/lifecycle/layers/function/clone-function.d.ts.map +1 -1
  21. package/dist/v2019C1/extensions/lifecycle/public.d.ts +2 -0
  22. package/dist/v2019C1/extensions/lifecycle/public.d.ts.map +1 -1
  23. package/dist/v2019C1/extensions/lifecycle/report/mark-placement-conflicts.d.ts.map +1 -1
  24. package/dist/v2019C1/extensions/lifecycle/report/query/cross-cutting-satellites.d.ts +7 -5
  25. package/dist/v2019C1/extensions/lifecycle/report/query/cross-cutting-satellites.d.ts.map +1 -1
  26. package/dist/v2019C1/extensions/lifecycle/report/query/report-asd.d.ts.map +1 -1
  27. package/dist/v2019C1/extensions/lifecycle/report/query/report-fsd.d.ts +3 -3
  28. package/dist/v2019C1/extensions/lifecycle/report/query/report-fsd.d.ts.map +1 -1
  29. package/dist/v2019C1/extensions/lifecycle/report/query/report-function-satellites.d.ts +5 -3
  30. package/dist/v2019C1/extensions/lifecycle/report/query/report-function-satellites.d.ts.map +1 -1
  31. package/dist/v2019C1/extensions/lifecycle/report/query/report-function.d.ts +4 -2
  32. package/dist/v2019C1/extensions/lifecycle/report/query/report-function.d.ts.map +1 -1
  33. package/dist/v2019C1/extensions/lifecycle/report/query/report-instance.d.ts +20 -0
  34. package/dist/v2019C1/extensions/lifecycle/report/query/report-instance.d.ts.map +1 -0
  35. package/dist/v2019C1/extensions/lifecycle/report/query/satellite-companions.d.ts +5 -3
  36. package/dist/v2019C1/extensions/lifecycle/report/query/satellite-companions.d.ts.map +1 -1
  37. package/dist/v2019C1/extensions/lifecycle/report/report.d.ts +4 -4
  38. package/dist/v2019C1/extensions/lifecycle/report/report.d.ts.map +1 -1
  39. package/dist/v2019C1/extensions/lifecycle/transplant/transaction/index.d.ts +1 -0
  40. package/dist/v2019C1/extensions/lifecycle/transplant/transaction/index.d.ts.map +1 -1
  41. package/dist/v2019C1/extensions/lifecycle/transplant/transaction/primitives/merge-children-into.d.ts +22 -0
  42. package/dist/v2019C1/extensions/lifecycle/transplant/transaction/primitives/merge-children-into.d.ts.map +1 -0
  43. package/dist/v2019C1/extensions/lifecycle/update/transaction/asd.d.ts +2 -2
  44. package/dist/v2019C1/extensions/lifecycle/update/transaction/asd.d.ts.map +1 -1
  45. package/dist/v2019C1/extensions/lifecycle/update/transaction/fsd.d.ts.map +1 -1
  46. package/dist/v2019C1/extensions/lifecycle/update/transaction/function-satellites.d.ts.map +1 -1
  47. package/dist/v2019C1/extensions/lifecycle/update/transaction/satellite-reconcile.d.ts.map +1 -1
  48. package/dist/v2019C1/extensions/lifecycle/validate/index.d.ts +4 -0
  49. package/dist/v2019C1/extensions/lifecycle/validate/index.d.ts.map +1 -0
  50. package/dist/v2019C1/extensions/lifecycle/validate/template-uuid-check.d.ts +15 -0
  51. package/dist/v2019C1/extensions/lifecycle/validate/template-uuid-check.d.ts.map +1 -0
  52. package/dist/v2019C1/extensions/lifecycle/validate/template-uuid-check.info.d.ts +10 -0
  53. package/dist/v2019C1/extensions/lifecycle/validate/template-uuid-check.info.d.ts.map +1 -0
  54. package/dist/v2019C1/extensions/lifecycle/validate/template-uuid-check.types.d.ts +41 -0
  55. package/dist/v2019C1/extensions/lifecycle/validate/template-uuid-check.types.d.ts.map +1 -0
  56. package/dist/v2019C1/index.js +22 -3
  57. package/dist/v2019C1/test/hydrated-test.d.ts +2 -0
  58. package/dist/v2019C1/test/hydrated-test.d.ts.map +1 -1
  59. package/dist/v2019C1/test.js +1 -1
  60. package/package.json +1 -1
@@ -16,6 +16,7 @@ export declare const SCL_EXTENSION_MODULES: {
16
16
  lifecycle: {
17
17
  query: {
18
18
  report: typeof import('./lifecycle/report').report;
19
+ checkTemplateUuids: typeof import('./lifecycle/validate').checkTemplateUuids;
19
20
  };
20
21
  transaction: {
21
22
  extract: typeof import("./lifecycle/extract");
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v2019C1/extensions/index.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CASjC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v2019C1/extensions/index.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CASjC,CAAA"}
@@ -19,15 +19,5 @@ export type EditableAttribute = {
19
19
  */
20
20
  conflict?: boolean;
21
21
  suggestedValue?: string;
22
- /**
23
- * Modification delta for a `modified` group, present only when this editable attribute
24
- * actually changed on update. `before` = the instance's current value, `after` = the
25
- * template's incoming value (`undefined` on either side = the attribute is absent /
26
- * being cleared). `changed` marks it so the UI can surface changed fields first and
27
- * default the input to `after` with a "keep current" (`before`) affordance.
28
- */
29
- before?: string;
30
- after?: string;
31
- changed?: boolean;
32
22
  };
33
23
  //# sourceMappingURL=classify-attribute.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"classify-attribute.types.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/constraints/classify-attribute.types.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,MAAM,MAAM,oBAAoB;AAC/B,2FAA2F;AACzF,UAAU;AACZ,2EAA2E;GACzE,WAAW;AACb,8FAA8F;GAC5F,QAAQ;AACV,4EAA4E;GAC1E,MAAM,CAAA;AAET,4FAA4F;AAC5F,MAAM,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAA;IACvB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA"}
1
+ {"version":3,"file":"classify-attribute.types.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/constraints/classify-attribute.types.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,MAAM,MAAM,oBAAoB;AAC/B,2FAA2F;AACzF,UAAU;AACZ,2EAA2E;GACzE,WAAW;AACb,8FAA8F;GAC5F,QAAQ;AACV,4EAA4E;GAC1E,MAAM,CAAA;AAET,4FAA4F;AAC5F,MAAM,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAA;IACvB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA"}
@@ -1,5 +1,7 @@
1
1
  import { AcceptedIds, CollisionOverrides } from './decide.types';
2
- import { DecisionGroup, DecisionMap, GroupDecision } from './diff.types';
2
+ import { DecisionGroup, DecisionMap, DiffReport, GroupDecision } from './diff.types';
3
+ /** The decision groups scoped to one instance root (empty when the instance is absent/up-to-date). */
4
+ export declare function groupsForInstance(report: DiffReport | undefined, instanceId: string): DecisionGroup[];
3
5
  /** The action of a decision (absent -> accept; string or object form). */
4
6
  export declare function decisionAction(decision: GroupDecision | undefined): 'accept' | 'skip';
5
7
  /**
@@ -23,6 +25,11 @@ export declare function assertDecisionsCoherent(params: {
23
25
  * Collect the record ids reconcile may write, from every accepted group's
24
26
  * primary + companions. Added/modified nodes contribute their `sourceRef`
25
27
  * (reconcile matches/adds by source); removed nodes contribute `instanceRef`.
28
+ *
29
+ * A companion can be a STRUCTURED subtree (a satellite folded onto an existing
30
+ * container: an unchanged container carrying a changed descendant), so recurse each
31
+ * node and skip unchanged context — otherwise a nested accepted change is never
32
+ * written.
26
33
  */
27
34
  export declare function acceptedRefIds(params: {
28
35
  groups: DecisionGroup[];
@@ -1 +1 @@
1
- {"version":3,"file":"decide.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/engine/decide.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAY,aAAa,EAAE,MAAM,cAAc,CAAA;AAEvF,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAIrF;AAsBD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IAC1C,MAAM,EAAE,aAAa,EAAE,CAAA;IACvB,SAAS,EAAE,WAAW,CAAA;CACtB,GAAG,kBAAkB,CAWrB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC/C,MAAM,EAAE,aAAa,EAAE,CAAA;IACvB,SAAS,EAAE,WAAW,CAAA;CACtB,GAAG,IAAI,CAUP;AAMD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACtC,MAAM,EAAE,aAAa,EAAE,CAAA;IACvB,SAAS,EAAE,WAAW,CAAA;CACtB,GAAG,WAAW,CAad"}
1
+ {"version":3,"file":"decide.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/engine/decide.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAY,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAEnG,sGAAsG;AACtG,wBAAgB,iBAAiB,CAChC,MAAM,EAAE,UAAU,GAAG,SAAS,EAC9B,UAAU,EAAE,MAAM,GAChB,aAAa,EAAE,CAEjB;AAED,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAIrF;AAsBD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IAC1C,MAAM,EAAE,aAAa,EAAE,CAAA;IACvB,SAAS,EAAE,WAAW,CAAA;CACtB,GAAG,kBAAkB,CAWrB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC/C,MAAM,EAAE,aAAa,EAAE,CAAA;IACvB,SAAS,EAAE,WAAW,CAAA;CACtB,GAAG,IAAI,CAUP;AAMD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACtC,MAAM,EAAE,aAAa,EAAE,CAAA;IACvB,SAAS,EAAE,WAAW,CAAA;CACtB,GAAG,WAAW,CAad"}
@@ -1,7 +1,13 @@
1
- import { DiffReport } from './diff.types';
1
+ import { DecisionGroup, DiffNode, DiffReport, InstanceDiff, ReportInstance } from './diff.types';
2
2
  import { Config } from '../../../config';
3
- import { AnyRefOrRecord } from '@dialecte/core';
3
+ import { AnyRefOrRecord, AnyTreeRecord } from '@dialecte/core';
4
4
  import type * as Core from '@dialecte/core';
5
+ /**
6
+ * Provenance decision for a kept-leftover reference child of a shared satellite: `'removed'` when it
7
+ * is a GENUINE removal (its target is in the source's own scope and the source no longer references
8
+ * it), `'keep'` otherwise (another primary's link / indeterminate). See {@link diff}.
9
+ */
10
+ export type LeftoverRefPolicy = (instanceChild: AnyTreeRecord) => Promise<'keep' | 'removed'>;
5
11
  /**
6
12
  * Engine diff (ENGINE.md §3): compares an (updated) template subtree against the
7
13
  * existing instance, matched by `templateUuid` (= the source element's `uuid`),
@@ -19,12 +25,38 @@ export declare function diff(params: {
19
25
  sourceRootRef: AnyRefOrRecord;
20
26
  /** Omit (or pass a ref that resolves to nothing) for a first-time instantiate. */
21
27
  instanceRootRef?: AnyRefOrRecord;
22
- }): Promise<DiffReport>;
28
+ /**
29
+ * Keep leftover instance reference children as `unchanged` instead of `removed`. Set when
30
+ * diffing a SHARED/catalog satellite (`AllocationRole`/`FunctionCategory`/...): its extra refs
31
+ * belong to OTHER primaries/instances, so a scoped single-primary update must never flag them
32
+ * removed (the coupling invariant: catalog satellites persist when merely un-referenced).
33
+ */
34
+ keepLeftoverRefs?: boolean;
35
+ /**
36
+ * Provenance override for the kept-leftover case: decides, per leftover reference child, whether
37
+ * it is a GENUINE removal (its target is in the source's own scope and the source no longer
38
+ * references it) rather than another primary's link. Returns `'removed'` to override the keep.
39
+ * Only consulted when the ref would otherwise be kept.
40
+ */
41
+ leftoverRefPolicy?: LeftoverRefPolicy;
42
+ /**
43
+ * Treat every REFERENCE child (link element) as `added` instead of matching it to an existing
44
+ * instance ref by template lineage. Set for a satellite folded on the INSTANTIATE scenario: a
45
+ * fresh instantiation always creates its OWN per-instance refs (e.g. one `FunctionCatRef` per new
46
+ * SubFunction), so a ref that lineage-matches a PRIOR instance's ref is still a genuine addition.
47
+ * The container itself still matches (merge into it); only its ref children are forced added, and
48
+ * the prior instance's refs are kept as unchanged context (with `keepLeftoverRefs`).
49
+ */
50
+ refsAlwaysAdded?: boolean;
51
+ }): Promise<InstanceDiff>;
23
52
  /**
24
- * Combine several reports into one (e.g. an ASD's application-layer report plus
25
- * one per composed function). `root` keeps the first report's tree; `groups` is
26
- * the concatenation (the full-track decision surface); `summary` sums; and
27
- * `needsDecisions` is true if any part needs a decision.
53
+ * Assemble the per-instance {@link ReportInstance}s into the consumer-facing
54
+ * {@link DiffReport}: `summary` sums every instance's primary tree and
55
+ * `needsDecisions` is true when any instance has a decision group.
28
56
  */
29
- export declare function mergeReports(reports: [DiffReport, ...DiffReport[]]): DiffReport;
57
+ export declare function assembleReport(instances: ReportInstance[]): DiffReport;
58
+ /** Every decision group across all instances — the flat surface the decision engine consumes. */
59
+ export declare function allGroups(report: DiffReport): DecisionGroup[];
60
+ /** All element ids in a diff tree, by side (`instanceRef` for staged/existing, `sourceRef` for added). */
61
+ export declare function collectTreeIds(root: DiffNode, side: 'instanceRef' | 'sourceRef'): string[];
30
62
  //# sourceMappingURL=diff.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/engine/diff.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAA6B,UAAU,EAAe,MAAM,cAAc,CAAA;AACtF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,gBAAgB,CAAA;AAgBnE;;;;;;;;;;GAUG;AACH,wBAAsB,IAAI,CAAC,MAAM,EAAE;IAClC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,aAAa,EAAE,cAAc,CAAA;IAC7B,kFAAkF;IAClF,eAAe,CAAC,EAAE,cAAc,CAAA;CAChC,GAAG,OAAO,CAAC,UAAU,CAAC,CA4CtB;AA+JD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,GAAG,UAAU,EAAE,CAAC,GAAG,UAAU,CAmB/E"}
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/engine/diff.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAEX,aAAa,EACb,QAAQ,EACR,UAAU,EAEV,YAAY,EACZ,cAAc,EACd,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAqBnE;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,aAAa,EAAE,aAAa,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;AAE7F;;;;;;;;;;GAUG;AACH,wBAAsB,IAAI,CAAC,MAAM,EAAE;IAClC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,aAAa,EAAE,cAAc,CAAA;IAC7B,kFAAkF;IAClF,eAAe,CAAC,EAAE,cAAc,CAAA;IAChC;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;CACzB,GAAG,OAAO,CAAC,YAAY,CAAC,CAmCxB;AAiYD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,UAAU,CAsBtE;AAED,iGAAiG;AACjG,wBAAgB,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,EAAE,CAE7D;AAED,0GAA0G;AAC1G,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,GAAG,MAAM,EAAE,CAS1F"}
@@ -23,6 +23,17 @@ export type DiffSummary = {
23
23
  removed: number;
24
24
  modified: number;
25
25
  };
26
+ /**
27
+ * The engine's per-instance diff primitive: one instance's change `root` tree, its
28
+ * decision `groups`, and its `summary`. The report builders enrich this into a
29
+ * {@link ReportInstance} (title / linkage) and aggregate several into a
30
+ * {@link DiffReport}. Internal to the report pipeline — consumers see `DiffReport`.
31
+ */
32
+ export type InstanceDiff = {
33
+ root: DiffNode;
34
+ groups: DecisionGroup[];
35
+ summary: DiffSummary;
36
+ };
26
37
  /**
27
38
  * An identity-locked placement collision on a decision group's primary: every field
28
39
  * of the violated uniqueness constraint is identity (none editable), so the engine
@@ -71,35 +82,33 @@ export type DecisionGroup = {
71
82
  * field is bumped instead — see {@link EditableAttribute.conflict}).
72
83
  */
73
84
  conflict?: GroupConflict;
74
- /**
75
- * The id of the instance root this group belongs to, when several instances of one
76
- * template are reported together (multi-instance). Lets the decision layer target a
77
- * SUBSET of instances and lets apply partition groups per instance. Omitted for a
78
- * first-time instantiate (no instance yet).
79
- */
80
- instanceScopeId?: string;
81
- /**
82
- * Human-readable title of the instance root (`extractElementTitle`), tagged at the
83
- * report surface so a multi-instance UI can label each instance section (e.g. `Prot`
84
- * vs `Prot_1`) without resolving the element itself. Omitted for a first-time
85
- * instantiate.
86
- */
87
- instanceScopeTitle?: string;
88
85
  };
89
- export type DiffReport = {
90
- root: DiffNode;
91
- /**
92
- * One root per instance in the report. A single diff carries `[root]`; a merged
93
- * multi-instance report carries every instance's root (both layers for an ASD), so
94
- * a UI can render each instance's full tree (unchanged context included) directly.
95
- */
96
- roots: DiffNode[];
97
- /** The change tree folded into accept/skip units — the full-track surface. */
86
+ /**
87
+ * One instance in a report: a linked template instance (`Application`/`Function`) with
88
+ * its diff tree, its decision groups, and its linkage/up-to-date status. The report is a
89
+ * list of these — a changed instance and an up-to-date instance render through the same
90
+ * shape (the up-to-date one simply has no `groups`).
91
+ */
92
+ export type ReportInstance = {
93
+ /** The instance root record (`Application`/`Function`). Omitted for a first-time instantiate. */
94
+ rootRef?: AnyRefOrRecord;
95
+ /** Human-readable title of the instance root (`extractElementTitle`). */
96
+ title: string;
97
+ /** Recognised as an instantiation of the loaded template (provenance or `templateUuid` lineage). */
98
+ linked: boolean;
99
+ /** Nothing to apply for this instance (`groups.length === 0`). */
100
+ upToDate: boolean;
101
+ /** The full diff tree for this instance (unchanged context included). */
102
+ tree: DiffNode;
103
+ /** The change tree folded into accept/skip units for this instance. */
98
104
  groups: DecisionGroup[];
105
+ };
106
+ export type DiffReport = {
107
+ /** One entry per reported instance (`Application`/`Function`). */
108
+ instances: ReportInstance[];
99
109
  /**
100
- * `false` = fast track (apply headless): either a first-time instantiate (no
101
- * existing instance) or nothing changed. `true` = full track: the instance
102
- * exists and something changed, so the caller must resolve decisions.
110
+ * `false` = fast track (apply headless): a first-time instantiate or nothing changed
111
+ * anywhere. `true` = full track: some instance has changes to resolve.
103
112
  */
104
113
  needsDecisions: boolean;
105
114
  summary: DiffSummary;
@@ -1 +1 @@
1
- {"version":3,"file":"diff.types.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/engine/diff.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,oFAAoF;AAGpF,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,CAAA;AAEvF,MAAM,MAAM,eAAe,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAE/E,MAAM,MAAM,QAAQ,GAAG;IACtB,MAAM,EAAE,UAAU,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,kFAAkF;IAClF,SAAS,CAAC,EAAE,cAAc,CAAA;IAC1B,2EAA2E;IAC3E,WAAW,CAAC,EAAE,cAAc,CAAA;IAC5B,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAA;IACpC,QAAQ,EAAE,QAAQ,EAAE,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAA;AAE9E;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;CACrB,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,aAAa,GAAG;IAC3B,sEAAsE;IACtE,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;IACxC,yHAAyH;IACzH,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,QAAQ,CAAA;IACjB,UAAU,EAAE,QAAQ,EAAE,CAAA;IACtB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,eAAe,EAAE,QAAQ,GAAG,MAAM,CAAA;IAClC;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAA;IACxC;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAA;IACxB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,QAAQ,CAAA;IACd;;;;OAIG;IACH,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,8EAA8E;IAC9E,MAAM,EAAE,aAAa,EAAE,CAAA;IACvB;;;;OAIG;IACH,cAAc,EAAE,OAAO,CAAA;IACvB,OAAO,EAAE,WAAW,CAAA;CACpB,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GACtB,QAAQ,GACR,MAAM,GACN;IAAE,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAA;AAEjE;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA"}
1
+ {"version":3,"file":"diff.types.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/engine/diff.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,oFAAoF;AAGpF,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,CAAA;AAEvF,MAAM,MAAM,eAAe,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAE/E,MAAM,MAAM,QAAQ,GAAG;IACtB,MAAM,EAAE,UAAU,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,kFAAkF;IAClF,SAAS,CAAC,EAAE,cAAc,CAAA;IAC1B,2EAA2E;IAC3E,WAAW,CAAC,EAAE,cAAc,CAAA;IAC5B,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAA;IACpC,QAAQ,EAAE,QAAQ,EAAE,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAA;AAE9E;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,QAAQ,CAAA;IACd,MAAM,EAAE,aAAa,EAAE,CAAA;IACvB,OAAO,EAAE,WAAW,CAAA;CACpB,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;CACrB,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,aAAa,GAAG;IAC3B,sEAAsE;IACtE,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;IACxC,yHAAyH;IACzH,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,QAAQ,CAAA;IACjB,UAAU,EAAE,QAAQ,EAAE,CAAA;IACtB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,eAAe,EAAE,QAAQ,GAAG,MAAM,CAAA;IAClC;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAA;IACxC;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAA;CACxB,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG;IAC5B,iGAAiG;IACjG,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAA;IACb,oGAAoG;IACpG,MAAM,EAAE,OAAO,CAAA;IACf,kEAAkE;IAClE,QAAQ,EAAE,OAAO,CAAA;IACjB,yEAAyE;IACzE,IAAI,EAAE,QAAQ,CAAA;IACd,uEAAuE;IACvE,MAAM,EAAE,aAAa,EAAE,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACxB,kEAAkE;IAClE,SAAS,EAAE,cAAc,EAAE,CAAA;IAC3B;;;OAGG;IACH,cAAc,EAAE,OAAO,CAAA;IACvB,OAAO,EAAE,WAAW,CAAA;CACpB,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GACtB,QAAQ,GACR,MAAM,GACN;IAAE,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAA;AAEjE;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA"}
@@ -12,7 +12,7 @@ import { DecisionGroup, DiffNode } from './diff.types';
12
12
  * reference-linked companions (satellites via the ownership map + ref pairs),
13
13
  * and `dependsOn` edges for nested-independent changes — both currently empty.
14
14
  */
15
- export declare function groupChanges(root: DiffNode, instanceScopeId?: string): DecisionGroup[];
15
+ export declare function groupChanges(root: DiffNode, scopePrefix?: string): DecisionGroup[];
16
16
  export declare function collectChangedDescendants(params: {
17
17
  node: DiffNode;
18
18
  out: DiffNode[];
@@ -1 +1 @@
1
- {"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/engine/group.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAE3D;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE,CAItF;AAgCD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,QAAQ,EAAE,CAAA;CAAE,GAAG,IAAI,CAM3F"}
1
+ {"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/engine/group.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAE3D;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE,CAIlF;AA+BD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,QAAQ,EAAE,CAAA;CAAE,GAAG,IAAI,CAM3F"}
@@ -1,4 +1,4 @@
1
- export { diff, mergeReports } from './diff';
1
+ export { diff, assembleReport, allGroups, collectTreeIds } from './diff';
2
2
  export { groupChanges } from './group';
3
3
  export { reconcile } from './reconcile';
4
4
  export { acceptedRefIds, assertDecisionsCoherent, collisionOverrides, decisionAction, } from './decide';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/engine/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EACN,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,GACd,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAExD,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACrE,mBAAmB,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/engine/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EACN,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,GACd,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAExD,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACrE,mBAAmB,cAAc,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { apply } from './apply';
2
2
  import { report } from './report';
3
3
  import { deep } from './transplant';
4
+ import { checkTemplateUuids } from './validate';
4
5
  import * as extractTransaction from './extract';
5
6
  import * as instantiateTransaction from './instantiate';
6
7
  import * as updateTransaction from './update';
@@ -30,6 +31,7 @@ import * as updateTransaction from './update';
30
31
  export declare const lifecycle: {
31
32
  query: {
32
33
  report: typeof report;
34
+ checkTemplateUuids: typeof checkTemplateUuids;
33
35
  };
34
36
  transaction: {
35
37
  extract: typeof extractTransaction;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/v2019C1/extensions/lifecycle/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,KAAK,kBAAkB,MAAM,WAAW,CAAA;AAC/C,OAAO,KAAK,sBAAsB,MAAM,eAAe,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,KAAK,iBAAiB,MAAM,UAAU,CAAA;AAE7C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;CAWrB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/v2019C1/extensions/lifecycle/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,KAAK,kBAAkB,MAAM,WAAW,CAAA;AAC/C,OAAO,KAAK,sBAAsB,MAAM,eAAe,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,KAAK,iBAAiB,MAAM,UAAU,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAE/C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;CAYrB,CAAA"}
@@ -35,16 +35,26 @@ export declare function findInstancesUnder(reader: Reader, params: {
35
35
  export declare function findInstanceByTemplateUuid(reader: Reader, params: {
36
36
  tagName: Scl.ElementsOf;
37
37
  sourceUuid: string | undefined;
38
+ sourceName?: string;
38
39
  }): Promise<AnyTrackedRecord | undefined>;
39
40
  /**
40
41
  * ALL records of `tagName` anywhere whose `templateUuid` equals the source uuid,
41
42
  * in document order. The global counterpart of {@link findInstancesUnder} used
42
43
  * where there is no placement anchor (the ASD report/apply cascade), so several
43
44
  * instances of one template are enumerated and gated as a subset (multi-instance).
45
+ *
46
+ * `sourceName` opt-in fallback: when NO instance carries the source `uuid` as its
47
+ * `templateUuid` — an externally-authored project whose `templateUuid` lineage is
48
+ * broken (a placeholder value, not the source uuid, as real .ssd files reuse one
49
+ * dummy across elements) — recognize the instance by `name` instead, but ONLY when
50
+ * it is unambiguous (exactly one same-tag element of that name), so an unrelated
51
+ * element is never adopted. Callers that omit `sourceName` keep the strict lineage
52
+ * behaviour.
44
53
  */
45
54
  export declare function findInstancesByTemplateUuid(reader: Reader, params: {
46
55
  tagName: Scl.ElementsOf;
47
56
  sourceUuid: string | undefined;
57
+ sourceName?: string;
48
58
  }): Promise<AnyTrackedRecord[]>;
49
59
  export {};
50
60
  //# sourceMappingURL=find-instance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"find-instance.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/instance/find-instance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAErE,iFAAiF;AACjF,KAAK,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;AAE3D;;;;GAIG;AACH,wBAAsB,iBAAiB,CACtC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE;IACP,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACrC,OAAO,EAAE,GAAG,CAAC,UAAU,CAAA;IACvB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;CAC9B,GACC,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAGpC;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACvC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE;IACP,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACrC,OAAO,EAAE,GAAG,CAAC,UAAU,CAAA;IACvB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;CAC9B,GACC,OAAO,CAAC,aAAa,EAAE,CAAC,CAQ1B;AAwBD;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC/C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE;IAAE,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GACjE,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAGvC;AAED;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAChD,MAAM,EAAE,MAAM,EACd,MAAM,EAAE;IAAE,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GACjE,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAW7B"}
1
+ {"version":3,"file":"find-instance.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/instance/find-instance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAErE,iFAAiF;AACjF,KAAK,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;AAE3D;;;;GAIG;AACH,wBAAsB,iBAAiB,CACtC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE;IACP,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACrC,OAAO,EAAE,GAAG,CAAC,UAAU,CAAA;IACvB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;CAC9B,GACC,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAGpC;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACvC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE;IACP,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACrC,OAAO,EAAE,GAAG,CAAC,UAAU,CAAA;IACvB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;CAC9B,GACC,OAAO,CAAC,aAAa,EAAE,CAAC,CAQ1B;AAwBD;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC/C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE;IAAE,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GACtF,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAGvC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,2BAA2B,CAChD,MAAM,EAAE,MAAM,EACd,MAAM,EAAE;IAAE,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GACtF,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAsB7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"clone-function.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/layers/function/clone-function.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAA;AACpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uDAAuD,CAAA;AAE5F,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;IACvC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;CACrC,GACC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CA6B7B;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,eAAe,CAAA;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC7B,GACC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAoC7B"}
1
+ {"version":3,"file":"clone-function.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/layers/function/clone-function.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAA;AACpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uDAAuD,CAAA;AAE5F,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;IACvC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;CACrC,GACC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CA6B7B;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,eAAe,CAAA;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC7B,GACC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAqC7B"}
@@ -4,4 +4,6 @@ export type { LifecycleApplyParams, LifecycleScenario, LifecycleTarget, Lifecycl
4
4
  export type { AppliedInstances, ApplyResult } from './apply';
5
5
  export { presentationScope } from './report/public';
6
6
  export type { PresentationScope } from './report/public';
7
+ export { TEMPLATE_UUID_WARNING_INFO } from './validate';
8
+ export type { TemplateUuidWarning, TemplateUuidWarningCode, TemplateUuidWarningInfo, } from './validate';
7
9
  //# sourceMappingURL=public.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../../src/v2019C1/extensions/lifecycle/public.ts"],"names":[],"mappings":"AAMA,YAAY,EACX,eAAe,EACf,aAAa,EACb,WAAW,EACX,UAAU,EACV,QAAQ,EACR,UAAU,EACV,WAAW,EACX,aAAa,EACb,aAAa,GACb,MAAM,iBAAiB,CAAA;AAExB,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAEnF,YAAY,EACX,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,aAAa,GACb,MAAM,kBAAkB,CAAA;AAEzB,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../../src/v2019C1/extensions/lifecycle/public.ts"],"names":[],"mappings":"AAMA,YAAY,EACX,eAAe,EACf,aAAa,EACb,WAAW,EACX,UAAU,EACV,QAAQ,EACR,UAAU,EACV,WAAW,EACX,aAAa,EACb,aAAa,GACb,MAAM,iBAAiB,CAAA;AAExB,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAEnF,YAAY,EACX,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,aAAa,GACb,MAAM,kBAAkB,CAAA;AAEzB,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAExD,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AACvD,YAAY,EACX,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,GACvB,MAAM,YAAY,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"mark-placement-conflicts.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/report/mark-placement-conflicts.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAO,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AACpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,sBAAsB,CAC3C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,UAAU,GAChB,OAAO,CAAC,IAAI,CAAC,CAuEf"}
1
+ {"version":3,"file":"mark-placement-conflicts.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/report/mark-placement-conflicts.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,MAAM,EAAO,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AACpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,sBAAsB,CAC3C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,UAAU,GAChB,OAAO,CAAC,IAAI,CAAC,CAuEf"}
@@ -1,9 +1,9 @@
1
1
  import { Config, Scl } from '../../../../config';
2
- import { DiffReport } from '../../engine/diff.types';
2
+ import { InstanceDiff } from '../../engine/diff.types';
3
3
  import type * as Core from '@dialecte/core';
4
4
  /**
5
- * Fold the CROSS-CUTTING satellites (Variable / BehaviorDescription — 90-30
6
- * §12.1/§13.1) that apply to ANY element in the primary subtree as companions of
5
+ * Fold the CROSS-CUTTING satellites (Variable / BehaviorDescription) that apply
6
+ * to ANY element in the primary subtree as companions of
7
7
  * the primary's decision group. This is the single report-side entry point every
8
8
  * layer calls with its own `primaryRef` (function, application, and future IED /
9
9
  * topology), so cross-cutting carry is uniform and impossible to forget.
@@ -16,6 +16,8 @@ export declare function foldCrossCuttingSatellites(query: Core.Query<Config>, pa
16
16
  sourceQuery: Core.Query<Config>;
17
17
  primaryRef: Scl.Ref<Scl.ElementsOf>;
18
18
  instancePrimaryRef?: Scl.Ref<Scl.ElementsOf>;
19
- report: DiffReport;
20
- }): Promise<DiffReport>;
19
+ report: InstanceDiff;
20
+ /** INSTANTIATE: force satellite reference children to `added` (new per-instance refs). */
21
+ refsAlwaysAdded?: boolean;
22
+ }): Promise<InstanceDiff>;
21
23
  //# sourceMappingURL=cross-cutting-satellites.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cross-cutting-satellites.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/cross-cutting-satellites.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;GAUG;AACH,wBAAsB,0BAA0B,CAC/C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACnC,kBAAkB,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC5C,MAAM,EAAE,UAAU,CAAA;CAClB,GACC,OAAO,CAAC,UAAU,CAAC,CAgBrB"}
1
+ {"version":3,"file":"cross-cutting-satellites.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/cross-cutting-satellites.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kDAAkD,CAAA;AACpF,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;GAUG;AACH,wBAAsB,0BAA0B,CAC/C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACnC,kBAAkB,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC5C,MAAM,EAAE,YAAY,CAAA;IACpB,0FAA0F;IAC1F,eAAe,CAAC,EAAE,OAAO,CAAA;CACzB,GACC,OAAO,CAAC,YAAY,CAAC,CAiBvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"report-asd.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/report-asd.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAA;AACtF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAG3C;;;;;;;;;;;GAWG;AACH,wBAAsB,SAAS,CAC9B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,cAAc,EAAE,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IACtC,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC5B,GACC,OAAO,CAAC,UAAU,CAAC,CA+BrB"}
1
+ {"version":3,"file":"report-asd.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/report-asd.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAA;AACtF,OAAO,KAAK,EACX,UAAU,EAGV,MAAM,kDAAkD,CAAA;AACzD,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAG3C;;;;;;;;;;;GAWG;AACH,wBAAsB,SAAS,CAC9B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,cAAc,EAAE,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IACtC,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC5B,GACC,OAAO,CAAC,UAAU,CAAC,CAoDrB"}
@@ -7,9 +7,9 @@ import type * as Core from '@dialecte/core';
7
7
  * with the fast/full classification. No instance yet -> first-time = fast
8
8
  * (`needsDecisions: false`); one or more existing instances with changes -> full.
9
9
  *
10
- * The standard permits several instances of one template under one anchor, so
11
- * EVERY matching instance is diffed and its groups merged into one report (each
12
- * group tagged with its `instanceScopeId`); the decision layer targets a subset.
10
+ * Several instances of one template are allowed under one anchor, so
11
+ * EVERY matching instance is diffed and reported as its own {@link ReportInstance};
12
+ * the decision layer targets a subset (each instance owns its groups).
13
13
  *
14
14
  * A carried `FunctionCategory` satellite (outside the function subtree) travels
15
15
  * as a companion of the function's decision group (ENGINE.md §16).
@@ -1 +1 @@
1
- {"version":3,"file":"report-fsd.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/report-fsd.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAA;AACtF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;GAWG;AACH,wBAAsB,SAAS,CAC9B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAChC,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACrC,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC5B,GACC,OAAO,CAAC,UAAU,CAAC,CAsBrB"}
1
+ {"version":3,"file":"report-fsd.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/report-fsd.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAA;AACtF,OAAO,KAAK,EAAE,UAAU,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,CA6CrB"}
@@ -1,5 +1,5 @@
1
1
  import { Config, Scl } from '../../../../config';
2
- import { DiffReport } from '../../engine/diff.types';
2
+ import { InstanceDiff } from '../../engine/diff.types';
3
3
  import { AnyRefOrRecord } from '@dialecte/core';
4
4
  import type * as Core from '@dialecte/core';
5
5
  /**
@@ -16,6 +16,8 @@ export declare function foldCarriedSatellites(query: Core.Query<Config>, params:
16
16
  sourceQuery: Core.Query<Config>;
17
17
  functionRef: Scl.Ref<'Function'>;
18
18
  instance: AnyRefOrRecord | undefined;
19
- report: DiffReport;
20
- }): Promise<DiffReport>;
19
+ report: InstanceDiff;
20
+ /** INSTANTIATE: force satellite reference children to `added` (new per-instance refs). */
21
+ refsAlwaysAdded?: boolean;
22
+ }): Promise<InstanceDiff>;
21
23
  //# sourceMappingURL=report-function-satellites.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"report-function-satellites.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/report-function-satellites.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CAC1C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAChC,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,MAAM,EAAE,UAAU,CAAA;CAClB,GACC,OAAO,CAAC,UAAU,CAAC,CAgBrB"}
1
+ {"version":3,"file":"report-function-satellites.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/report-function-satellites.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kDAAkD,CAAA;AACpF,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CAC1C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAChC,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,MAAM,EAAE,YAAY,CAAA;IACpB,0FAA0F;IAC1F,eAAe,CAAC,EAAE,OAAO,CAAA;CACzB,GACC,OAAO,CAAC,YAAY,CAAC,CAiBvB"}
@@ -1,5 +1,5 @@
1
1
  import { Config, Scl } from '../../../../config';
2
- import { DiffReport } from '../../engine/diff.types';
2
+ import { InstanceDiff } from '../../engine/diff.types';
3
3
  import { AnyRefOrRecord } from '@dialecte/core';
4
4
  import type * as Core from '@dialecte/core';
5
5
  /**
@@ -17,5 +17,7 @@ export declare function reportFunction(query: Core.Query<Config>, params: {
17
17
  sourceQuery: Core.Query<Config>;
18
18
  functionRef: Scl.Ref<'Function'>;
19
19
  instance: AnyRefOrRecord | undefined;
20
- }): Promise<DiffReport>;
20
+ /** INSTANTIATE: force satellite reference children to `added` (new per-instance refs). */
21
+ refsAlwaysAdded?: boolean;
22
+ }): Promise<InstanceDiff>;
21
23
  //# sourceMappingURL=report-function.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"report-function.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/report-function.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CACnC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAChC,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;CACpC,GACC,OAAO,CAAC,UAAU,CAAC,CA2BrB"}
1
+ {"version":3,"file":"report-function.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/report-function.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kDAAkD,CAAA;AACpF,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CACnC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAChC,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,0FAA0F;IAC1F,eAAe,CAAC,EAAE,OAAO,CAAA;CACzB,GACC,OAAO,CAAC,YAAY,CAAC,CA8BvB"}
@@ -0,0 +1,20 @@
1
+ import { Config } from '../../../../config';
2
+ import { InstanceDiff, ReportInstance } from '../../engine/diff.types';
3
+ import { AnyRefOrRecord } from '@dialecte/core';
4
+ import type * as Core from '@dialecte/core';
5
+ /**
6
+ * Enrich a per-instance {@link InstanceDiff} into a consumer-facing {@link ReportInstance}:
7
+ * resolve the human title, the linkage flag (recognised as an instantiation of the loaded
8
+ * template — `templateUuid`/`originUuid` lineage on the root), and the up-to-date flag (no
9
+ * decision groups).
10
+ *
11
+ * For a first-time instantiate (`instance` undefined) there is no existing instance:
12
+ * `linked`/`rootRef` are absent.
13
+ */
14
+ export declare function buildReportInstance(query: Core.Query<Config>, params: {
15
+ instanceDiff: InstanceDiff;
16
+ instance: AnyRefOrRecord | undefined;
17
+ sourceQuery: Core.Query<Config>;
18
+ sourceRef: AnyRefOrRecord;
19
+ }): Promise<ReportInstance>;
20
+ //# sourceMappingURL=report-instance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report-instance.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/report-instance.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAA;AACpG,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACxC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE;IACP,YAAY,EAAE,YAAY,CAAA;IAC1B,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,SAAS,EAAE,cAAc,CAAA;CACzB,GACC,OAAO,CAAC,cAAc,CAAC,CA0BzB"}
@@ -1,5 +1,5 @@
1
1
  import { Config, Scl } from '../../../../config';
2
- import { DiffReport } from '../../engine/diff.types';
2
+ import { InstanceDiff } from '../../engine/diff.types';
3
3
  import type * as Core from '@dialecte/core';
4
4
  /**
5
5
  * Fold each satellite's changes into the primary's decision group as read-only
@@ -24,8 +24,10 @@ export declare function foldSatelliteCompanions(query: Core.Query<Config>, param
24
24
  primaryRef: Scl.Ref<Scl.ElementsOf>;
25
25
  satelliteRefs: Scl.Ref<Scl.ElementsOf>[];
26
26
  instanceSatelliteRefs?: Scl.Ref<Scl.ElementsOf>[];
27
- report: DiffReport;
27
+ report: InstanceDiff;
28
28
  /** Instance scope for a standalone satellite group (primary-unchanged case). */
29
29
  instanceScopeId?: string;
30
- }): Promise<DiffReport>;
30
+ /** INSTANTIATE: force satellite reference children to `added` (new per-instance refs). */
31
+ refsAlwaysAdded?: boolean;
32
+ }): Promise<InstanceDiff>;
31
33
  //# sourceMappingURL=satellite-companions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"satellite-companions.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/satellite-companions.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,uBAAuB,CAC5C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACnC,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAA;IACxC,qBAAqB,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAA;IACjD,MAAM,EAAE,UAAU,CAAA;IAClB,gFAAgF;IAChF,eAAe,CAAC,EAAE,MAAM,CAAA;CACxB,GACC,OAAO,CAAC,UAAU,CAAC,CA+DrB"}
1
+ {"version":3,"file":"satellite-companions.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/report/query/satellite-companions.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kDAAkD,CAAA;AACpF,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAG3C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,uBAAuB,CAC5C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACnC,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAA;IACxC,qBAAqB,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAA;IACjD,MAAM,EAAE,YAAY,CAAA;IACpB,gFAAgF;IAChF,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,0FAA0F;IAC1F,eAAe,CAAC,EAAE,OAAO,CAAA;CACzB,GACC,OAAO,CAAC,YAAY,CAAC,CA2EvB"}
@@ -5,10 +5,10 @@ import type * as Core from '@dialecte/core';
5
5
  /**
6
6
  * `query.lifecycle.report` — the generic read-only classify surface (ENGINE.md §6).
7
7
  *
8
- * Dispatches on `verb` to the per-layer report and returns a {@link DiffReport}.
9
- * `report.needsDecisions` tells the consumer the track: `false` = fast (apply
10
- * headless), `true` = full (resolve decisions first). The consumer never picks
11
- * the track — dialecte decides it here.
8
+ * Dispatches on `verb` to the per-layer report and returns a {@link DiffReport} (one
9
+ * {@link ReportInstance} per instance). `report.needsDecisions` tells the consumer the
10
+ * track: `false` = fast (apply headless), `true` = full (resolve decisions first). The
11
+ * consumer never picks the track — dialecte decides it here.
12
12
  *
13
13
  * Tags each decision group with its primary's editable attributes (schema-derived)
14
14
  * so the UI renders inputs straight from the report without re-deriving them.
@@ -1 +1 @@
1
- {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/report/report.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAE9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AACpF,OAAO,KAAK,EAAmB,UAAU,EAAE,MAAM,kDAAkD,CAAA;AACnG,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;GAUG;AACH,wBAAsB,MAAM,CAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE,eAAe,GACrB,OAAO,CAAC,UAAU,CAAC,CA0BrB"}
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/report/report.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AACpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;GAUG;AACH,wBAAsB,MAAM,CAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE,eAAe,GACrB,OAAO,CAAC,UAAU,CAAC,CAuBrB"}
@@ -3,6 +3,7 @@ export type { ImportDeepParams, ImportDeepResult } from './deep.types';
3
3
  export * from './primitives/clone-tree';
4
4
  export * from './primitives/clone-referenced';
5
5
  export { addChildrenTo } from './primitives/add-children-to';
6
+ export { mergeChildrenInto } from './primitives/merge-children-into';
6
7
  export { resolveStructureRef, createAncestryResolver } from './resolve-structure-ref';
7
8
  export type { TemplateStructure, TargetStructure } from './structure.types';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/transplant/transaction/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAEtE,cAAc,yBAAyB,CAAA;AACvC,cAAc,+BAA+B,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAE5D,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AACrF,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/lifecycle/transplant/transaction/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAEtE,cAAc,yBAAyB,CAAA;AACvC,cAAc,+BAA+B,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAEpE,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AACrF,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1,22 @@
1
+ import { StripConfig } from './clone-tree.types';
2
+ import { Config, Scl } from '../../../../../config';
3
+ import type * as Core from '@dialecte/core';
4
+ /**
5
+ * Merge the CHILDREN of a source element into an EXISTING target element, REUSING same-tag/same-name
6
+ * child containers recursively instead of cloning duplicates.
7
+ *
8
+ * Generic, element-agnostic counterpart of {@link addChildrenTo}: where `addChildrenTo` pours every
9
+ * source child in as a fresh clone, this walks name-keyed containers (e.g. `FunctionCategory` ->
10
+ * `SubCategory`) and, when a same-tag/same-name child already exists under the target, recurses into
11
+ * it — so only the genuinely new leaves (references, unnamed content) are cloned. A source child with
12
+ * no `name`, or with no matching twin, is cloned whole.
13
+ */
14
+ export declare function mergeChildrenInto(tx: Core.Transaction<Config>, params: {
15
+ sourceQuery: Core.Query<Config>;
16
+ /** The source element whose children are merged over. */
17
+ source: Scl.Ref<Scl.ElementsOf>;
18
+ /** The existing target element the children are merged under. */
19
+ target: Scl.Ref<Scl.ElementsOf>;
20
+ strip?: StripConfig | false;
21
+ }): Promise<Scl.CloneMapping[]>;
22
+ //# sourceMappingURL=merge-children-into.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-children-into.d.ts","sourceRoot":"","sources":["../../../../../../../src/v2019C1/extensions/lifecycle/transplant/transaction/primitives/merge-children-into.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACtC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAC5B,MAAM,EAAE;IACP,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,yDAAyD;IACzD,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC/B,iEAAiE;IACjE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC/B,KAAK,CAAC,EAAE,WAAW,GAAG,KAAK,CAAA;CAC3B,GACC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CA6B7B"}