@cda/adapter-xma 0.2.0 → 0.3.0

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 (32) hide show
  1. package/README.md +30 -27
  2. package/dist/mapping/generic-relationship-mapping.d.ts +18 -0
  3. package/dist/mapping/generic-relationship-mapping.d.ts.map +1 -0
  4. package/dist/mapping/generic-relationship-mapping.js +68 -0
  5. package/dist/mapping/generic-relationship-mapping.js.map +1 -0
  6. package/dist/mapping/relationship-mapping.d.ts +20 -19
  7. package/dist/mapping/relationship-mapping.d.ts.map +1 -1
  8. package/dist/mapping/relationship-mapping.js +45 -19
  9. package/dist/mapping/relationship-mapping.js.map +1 -1
  10. package/dist/serializer/document-writer.d.ts +25 -4
  11. package/dist/serializer/document-writer.d.ts.map +1 -1
  12. package/dist/serializer/document-writer.js +24 -15
  13. package/dist/serializer/document-writer.js.map +1 -1
  14. package/dist/serializer/graphical-writer.d.ts +2 -2
  15. package/dist/serializer/graphical-writer.d.ts.map +1 -1
  16. package/dist/serializer/graphical-writer.js +30 -2
  17. package/dist/serializer/graphical-writer.js.map +1 -1
  18. package/dist/serializer/relationship-writer.d.ts +21 -6
  19. package/dist/serializer/relationship-writer.d.ts.map +1 -1
  20. package/dist/serializer/relationship-writer.js +20 -9
  21. package/dist/serializer/relationship-writer.js.map +1 -1
  22. package/dist/serializer/semantic-writer.d.ts +8 -0
  23. package/dist/serializer/semantic-writer.d.ts.map +1 -1
  24. package/dist/serializer/semantic-writer.js +45 -1
  25. package/dist/serializer/semantic-writer.js.map +1 -1
  26. package/dist/serializer/serialize-xma.d.ts.map +1 -1
  27. package/dist/serializer/serialize-xma.js +10 -20
  28. package/dist/serializer/serialize-xma.js.map +1 -1
  29. package/dist/serializer/view-writer.d.ts +2 -2
  30. package/dist/serializer/view-writer.d.ts.map +1 -1
  31. package/dist/serializer/view-writer.js.map +1 -1
  32. package/package.json +1 -1
package/README.md CHANGED
@@ -98,16 +98,26 @@ extrapolated beyond that evidence.
98
98
  Application, Technology, Physical, Motivation, Implementation & Migration,
99
99
  Composite), with confirmed scheme/collection placement and default icon
100
100
  decoration presence.
101
+ - `Junction`/`OrJunction` — a root-level `Connectors` container, confirmed
102
+ distinct graphical form (no fill/line color, `mm_graphicType="3"`). See
103
+ `tests/fixtures/README.md`.
101
104
  - Element and view names, and documentation (as RTF profile values).
102
- - A single ArchiMate view per model: node geometry (exact ×3 scale),
103
- default per-category fill colors, line color, opacity, and font.
105
+ - **Multiple ArchiMate views per model** (up from exactly one) — each gets
106
+ its own `GraphicalModule`, all nesting under one shared `AbstractViews`
107
+ container. Confirmed against 38-view and 3-view real-world fixtures. Node
108
+ geometry (exact ×3 scale), default per-category fill colors, line color,
109
+ opacity, and font are unaffected by view count.
104
110
  - Notes and Groups (as `ArchiMate:ViewGraphic`), including Group
105
111
  documentation.
106
- - **87 confirmed semantic relationship mappings** (up from 3), spanning all
107
- eight schemes see `src/mapping/relationship-mapping.ts` for the full
108
- table and `tests/fixtures/README.md` for how each was derived and
109
- verified. The original 3 (below) additionally have their graphical
110
- `MM_DirectedRel` representation confirmed end-to-end; the other 84 were
112
+ - **90 confirmed exact-triple semantic relationship mappings** (up from 3),
113
+ spanning all eight schemes, plus **3 confirmed generic (type-independent)
114
+ forms** `AssociationRelationship`, a `Grouping` endpoint (Composition,
115
+ Specialization, Influence, Use), and a `Junction`/`OrJunction` endpoint
116
+ (Realisation, Influence) see `src/mapping/relationship-mapping.ts` and
117
+ `src/mapping/generic-relationship-mapping.ts` for the tables, and
118
+ `tests/fixtures/README.md` for how each was derived and verified. The
119
+ original 3 exact-triple mappings additionally have their graphical
120
+ `MM_DirectedRel` representation confirmed end-to-end; the rest were
111
121
  confirmed at the semantic layer only (the same generic serializer code
112
122
  path, not independently fixture-checked for the graphical layer):
113
123
  - `AssignmentRelationship` `BusinessActor` → `BusinessProcess`
@@ -124,29 +134,21 @@ extrapolated beyond that evidence.
124
134
 
125
135
  ### Not yet guaranteed
126
136
 
127
- - Relationship type/source/target combinations beyond the 87 confirmed above
128
- (reported as a diagnostic, not silently dropped or guessed).
129
- - `AssociationRelationship` confirmed to always serialize as the generic
130
- `ElementElementAssociation` regardless of source/target type, but not yet
131
- modeled (the exact-triple table can't express a type-independent rule
132
- without one enormous list of duplicates). Still correctly diagnosed as
133
- unsupported, not silently dropped. See "Known limitation" in
134
- [`tests/fixtures/README.md`](tests/fixtures/README.md).
135
- - Any relationship with a `Grouping` or `Junction` endpoint — confirmed to
136
- use a generic form (`GroupingElementComposition`, `RealisationRelation`,
137
- ...) instead of a type-specific tag, also not yet modeled. Same doc.
137
+ - Relationship type/source/target combinations beyond the 90 confirmed exact
138
+ triples and the 3 confirmed generic forms (reported as a diagnostic, not
139
+ silently dropped or guessed) e.g. a `Grouping`/`Junction` endpoint paired
140
+ with a verb outside the confirmed set for that endpoint kind.
138
141
  - A handful of concrete types that collapse to a coarser XMA category
139
142
  specifically for relationship naming, distinct from their own element
140
- mapping — confirmed for `TechnologyCollaboration` → `TechnologyNode`,
141
- `BusinessCollaboration` → `BusinessRole`, and `SystemSoftware` →
142
- `TechnologyNode`; circumstantial for `Constraint` → `MotivationRequirement`.
143
- The two `...Collaboration` cases suggest a pattern (collapse to the type's
144
- own singular "active structure" counterpart) but it isn't confirmed beyond
145
- those two. Same doc.
146
- - More than one view per model (reported as a diagnostic).
143
+ mapping — confirmed and implemented for `TechnologyCollaboration` →
144
+ `TechnologyNode`, `BusinessCollaboration` → `BusinessRole`, and
145
+ `SystemSoftware` `TechnologyNode`. `Constraint` → `MotivationRequirement`
146
+ remains circumstantial (one otherwise-unexplained count mismatch, no
147
+ direct confirmation) and is **not** implemented. See "Generic and
148
+ collapsed forms" in [`tests/fixtures/README.md`](tests/fixtures/README.md).
147
149
  - Nested diagram objects, `DiagramModelReference` ("insert view as
148
150
  reference"), and purely visual (non-semantic) connections.
149
- - Junctions, profiles/specializations, and arbitrary model properties.
151
+ - Profiles/specializations and arbitrary model properties.
150
152
  - Explicit font size, bold/italic, line width, font color, or connector
151
153
  line color overrides (reported as diagnostics; the confirmed defaults are
152
154
  used instead).
@@ -174,7 +176,8 @@ src/
174
176
 
175
177
  mapping/ immutable mapping DATA (never switch statements)
176
178
  element-mapping.ts 60 confirmed Archi type -> XMA type/scheme/collection
177
- relationship-mapping.ts 3 confirmed (type, source, target) -> XMA relationship
179
+ relationship-mapping.ts 90 confirmed (type, source, target) -> XMA relationship
180
+ generic-relationship-mapping.ts 3 confirmed type-independent forms (Association, Grouping, Junction)
178
181
  scheme-mapping.ts scheme container / folder-nesting metadata
179
182
  visual-mapping.ts default fill/line colors, font, opacity
180
183
 
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Generic (type-independent) relationship forms — confirmed to exist, but
3
+ * structurally different from `relationship-mapping.ts`'s exact-triple
4
+ * table: these apply *regardless* of the concrete source/target type, not
5
+ * for one specific pair. See `tests/fixtures/README.md` for the full
6
+ * derivation evidence.
7
+ *
8
+ * All three forms serialize into the root-level `<ArchiMate:Relations>`
9
+ * container (a sibling of `AbstractSchemes` under `ArchiMateComponent`),
10
+ * never inside a layer scheme — confirmed directly in both fixtures
11
+ * (`sabsa.xma`, `agile-manifesto.xma`): every generic-form relation appears
12
+ * there, never nested in `BusinessScheme`/`ApplicationScheme`/etc.
13
+ */
14
+ export interface GenericRelationshipMapping {
15
+ xmaType: string;
16
+ }
17
+ export declare function lookupGenericRelationshipMapping(archiRelationshipType: string, sourceArchiType: string, targetArchiType: string): GenericRelationshipMapping | undefined;
18
+ //# sourceMappingURL=generic-relationship-mapping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic-relationship-mapping.d.ts","sourceRoot":"","sources":["../../src/mapping/generic-relationship-mapping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAkCH,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,gCAAgC,CAC9C,qBAAqB,EAAE,MAAM,EAC7B,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,GACtB,0BAA0B,GAAG,SAAS,CA4BxC"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Generic (type-independent) relationship forms — confirmed to exist, but
3
+ * structurally different from `relationship-mapping.ts`'s exact-triple
4
+ * table: these apply *regardless* of the concrete source/target type, not
5
+ * for one specific pair. See `tests/fixtures/README.md` for the full
6
+ * derivation evidence.
7
+ *
8
+ * All three forms serialize into the root-level `<ArchiMate:Relations>`
9
+ * container (a sibling of `AbstractSchemes` under `ArchiMateComponent`),
10
+ * never inside a layer scheme — confirmed directly in both fixtures
11
+ * (`sabsa.xma`, `agile-manifesto.xma`): every generic-form relation appears
12
+ * there, never nested in `BusinessScheme`/`ApplicationScheme`/etc.
13
+ */
14
+ /** Archi relationship type -> its confirmed "verb" suffix (see relationship-mapping.ts). */
15
+ const VERB_BY_ARCHI_TYPE = {
16
+ AssignmentRelationship: 'Assignment',
17
+ AccessRelationship: 'Access',
18
+ RealizationRelationship: 'Realisation',
19
+ FlowRelationship: 'Flow',
20
+ TriggeringRelationship: 'Triggering',
21
+ InfluenceRelationship: 'Influence',
22
+ SpecializationRelationship: 'Specialization',
23
+ CompositionRelationship: 'Composition',
24
+ ServingRelationship: 'Use',
25
+ };
26
+ /**
27
+ * Verbs confirmed (directly, not inferred) to produce the generic
28
+ * `{Verb}Relation` form when a `Junction`/`OrJunction` is an endpoint:
29
+ * `RealizationRelationship` (`RealisationRelation`, sabsa + agile-manifesto)
30
+ * and `InfluenceRelationship` (`InfluenceRelation`, agile-manifesto). Not
31
+ * extended to other verbs without fixture evidence for that specific verb —
32
+ * a relationship type absent from this set is still reported unsupported.
33
+ */
34
+ const JUNCTION_CONFIRMED_VERBS = new Set(['Realisation', 'Influence']);
35
+ /**
36
+ * Verbs confirmed to produce the `{Grouping|Element}{Grouping|Element}{Verb}`
37
+ * generic form when a `Grouping` is an endpoint (sabsa + agile-manifesto):
38
+ * `CompositionRelationship`, `SpecializationRelationship`,
39
+ * `InfluenceRelationship`, `ServingRelationship`. Same "no evidence, no
40
+ * guess" rule as Junction above.
41
+ */
42
+ const GROUPING_CONFIRMED_VERBS = new Set(['Composition', 'Specialization', 'Influence', 'Use']);
43
+ export function lookupGenericRelationshipMapping(archiRelationshipType, sourceArchiType, targetArchiType) {
44
+ // Confirmed universal: every AssociationRelationship instance across dozens of
45
+ // distinct source/target type pairs (sabsa + agile-manifesto) serializes as this
46
+ // one generic tag — never a type-specific one.
47
+ if (archiRelationshipType === 'AssociationRelationship') {
48
+ return { xmaType: 'ElementElementAssociation' };
49
+ }
50
+ const verb = VERB_BY_ARCHI_TYPE[archiRelationshipType];
51
+ if (!verb) {
52
+ return undefined;
53
+ }
54
+ const sourceIsJunction = sourceArchiType === 'Junction';
55
+ const targetIsJunction = targetArchiType === 'Junction';
56
+ if ((sourceIsJunction || targetIsJunction) && JUNCTION_CONFIRMED_VERBS.has(verb)) {
57
+ return { xmaType: `${verb}Relation` };
58
+ }
59
+ const sourceIsGrouping = sourceArchiType === 'Grouping';
60
+ const targetIsGrouping = targetArchiType === 'Grouping';
61
+ if ((sourceIsGrouping || targetIsGrouping) && GROUPING_CONFIRMED_VERBS.has(verb)) {
62
+ const sourcePart = sourceIsGrouping ? 'Grouping' : 'Element';
63
+ const targetPart = targetIsGrouping ? 'Grouping' : 'Element';
64
+ return { xmaType: `${sourcePart}${targetPart}${verb}` };
65
+ }
66
+ return undefined;
67
+ }
68
+ //# sourceMappingURL=generic-relationship-mapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic-relationship-mapping.js","sourceRoot":"","sources":["../../src/mapping/generic-relationship-mapping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,4FAA4F;AAC5F,MAAM,kBAAkB,GAAqC;IAC3D,sBAAsB,EAAE,YAAY;IACpC,kBAAkB,EAAE,QAAQ;IAC5B,uBAAuB,EAAE,aAAa;IACtC,gBAAgB,EAAE,MAAM;IACxB,sBAAsB,EAAE,YAAY;IACpC,qBAAqB,EAAE,WAAW;IAClC,0BAA0B,EAAE,gBAAgB;IAC5C,uBAAuB,EAAE,aAAa;IACtC,mBAAmB,EAAE,KAAK;CAC3B,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;AAEvE;;;;;;GAMG;AACH,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;AAMhG,MAAM,UAAU,gCAAgC,CAC9C,qBAA6B,EAC7B,eAAuB,EACvB,eAAuB;IAEvB,+EAA+E;IAC/E,iFAAiF;IACjF,+CAA+C;IAC/C,IAAI,qBAAqB,KAAK,yBAAyB,EAAE,CAAC;QACxD,OAAO,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;IAClD,CAAC;IAED,MAAM,IAAI,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;IACvD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,gBAAgB,GAAG,eAAe,KAAK,UAAU,CAAC;IACxD,MAAM,gBAAgB,GAAG,eAAe,KAAK,UAAU,CAAC;IACxD,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,IAAI,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACjF,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC;IACxC,CAAC;IAED,MAAM,gBAAgB,GAAG,eAAe,KAAK,UAAU,CAAC;IACxD,MAAM,gBAAgB,GAAG,eAAe,KAAK,UAAU,CAAC;IACxD,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,IAAI,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACjF,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7D,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7D,OAAO,EAAE,OAAO,EAAE,GAAG,UAAU,GAAG,UAAU,GAAG,IAAI,EAAE,EAAE,CAAC;IAC1D,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -2,12 +2,13 @@
2
2
  * Archi relationship mapping, resolved by (relationship type, source
3
3
  * semantic type, target semantic type) — never by relationship type alone.
4
4
  *
5
- * 87 mappings are proven: the original 3 confirmed against
5
+ * 90 exact-triple mappings are proven: the original 3 confirmed against
6
6
  * `tests/fixtures/relationships/relaciones.{archimate,xma}`, 64 more
7
- * confirmed against `tests/fixtures/sabsa/sabsa.{archimate,xma}`, and 20 more
8
- * confirmed against `tests/fixtures/agile-manifesto/agile-manifesto.{archimate,xma}`
9
- * (see each fixture pair's entry in `tests/fixtures/README.md` for the full
10
- * derivation method and the open questions they surfaced). Every other
7
+ * confirmed against `tests/fixtures/sabsa/sabsa.{archimate,xma}`, 20 more
8
+ * confirmed against `tests/fixtures/agile-manifesto/agile-manifesto.{archimate,xma}`,
9
+ * and 3 confirmed "...Collaboration collapses to its singular active-structure
10
+ * counterpart" instances (see below) see each fixture pair's entry in
11
+ * `tests/fixtures/README.md` for the full derivation method. Every other
11
12
  * relationship type/source/target combination is unsupported for v0.1 and
12
13
  * must be diagnosed, never guessed (see `serializer/relationship-writer.ts`).
13
14
  *
@@ -15,22 +16,22 @@
15
16
  * schemes, e.g. `WorkPackage -> BusinessFunction` lives in `IMScheme`, the
16
17
  * source's scheme, not `BusinessScheme`).
17
18
  *
18
- * NOT modeled here confirmed to exist, but needs a different mechanism
19
- * than this exact-triple table (see `tests/fixtures/README.md`):
19
+ * Three "...Collaboration" entries collapse to their singular active-structure
20
+ * counterpart for relationship naming only (their own element mapping is
21
+ * unaffected — see `element-mapping.ts`): `BusinessCollaboration` collapses
22
+ * to `BusinessRole`, `TechnologyCollaboration` collapses to `TechnologyNode`.
23
+ * Verified directly against raw relation instances in both fixtures, not
24
+ * inferred.
25
+ *
26
+ * NOT modeled here as exact triples — genuinely type-independent, so they
27
+ * live in `generic-relationship-mapping.ts` instead:
20
28
  * - `AssociationRelationship` always serializes as the generic
21
29
  * `ElementElementAssociation`, regardless of source/target type.
22
- * - Any relationship with a `Grouping` or `Junction` endpoint uses a
23
- * generic form (e.g. `GroupingElementComposition`, `RealisationRelation`)
24
- * instead of a type-specific one.
25
- * - A handful of concrete types collapse to a coarser XMA "category" only
26
- * for relationship naming (not for their own element mapping) — always a
27
- * type's own singular "active structure" counterpart, confirmed twice
28
- * now for the `...Collaboration` pattern specifically: `TechnologyCollaboration`
29
- * collapses to `TechnologyNode`, and `BusinessCollaboration` collapses to
30
- * `BusinessRole` (verified directly against raw relation instances in
31
- * both fixtures, not inferred). Also confirmed: `SystemSoftware`
32
- * collapses to `TechnologyNode`; `Constraint` collapses to
33
- * `MotivationRequirement`.
30
+ * - A `Grouping` endpoint (for the confirmed verbs Composition,
31
+ * Specialization, Influence, Use) or a `Junction`/`OrJunction` endpoint
32
+ * (for the confirmed verbs Realisation, Influence) uses a generic form
33
+ * (e.g. `GroupingElementComposition`, `RealisationRelation`) instead of a
34
+ * type-specific one.
34
35
  */
35
36
  export interface RelationshipMappingEntry {
36
37
  archiRelationshipType: string;
@@ -1 +1 @@
1
- {"version":3,"file":"relationship-mapping.d.ts","sourceRoot":"","sources":["../../src/mapping/relationship-mapping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,MAAM,WAAW,wBAAwB;IACvC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,qFAAqF;IACrF,OAAO,EAAE,MAAM,CAAC;IAChB,oGAAoG;IACpG,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,qBAAqB,EAAE,SAAS,wBAAwB,EAqnBpE,CAAC;AAaF,wBAAgB,yBAAyB,CACvC,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,GACtB,wBAAwB,GAAG,SAAS,CAEtC"}
1
+ {"version":3,"file":"relationship-mapping.d.ts","sourceRoot":"","sources":["../../src/mapping/relationship-mapping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,MAAM,WAAW,wBAAwB;IACvC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,qFAAqF;IACrF,OAAO,EAAE,MAAM,CAAC;IAChB,oGAAoG;IACpG,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,qBAAqB,EAAE,SAAS,wBAAwB,EA+oBpE,CAAC;AAaF,wBAAgB,yBAAyB,CACvC,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,GACtB,wBAAwB,GAAG,SAAS,CAEtC"}
@@ -2,12 +2,13 @@
2
2
  * Archi relationship mapping, resolved by (relationship type, source
3
3
  * semantic type, target semantic type) — never by relationship type alone.
4
4
  *
5
- * 87 mappings are proven: the original 3 confirmed against
5
+ * 90 exact-triple mappings are proven: the original 3 confirmed against
6
6
  * `tests/fixtures/relationships/relaciones.{archimate,xma}`, 64 more
7
- * confirmed against `tests/fixtures/sabsa/sabsa.{archimate,xma}`, and 20 more
8
- * confirmed against `tests/fixtures/agile-manifesto/agile-manifesto.{archimate,xma}`
9
- * (see each fixture pair's entry in `tests/fixtures/README.md` for the full
10
- * derivation method and the open questions they surfaced). Every other
7
+ * confirmed against `tests/fixtures/sabsa/sabsa.{archimate,xma}`, 20 more
8
+ * confirmed against `tests/fixtures/agile-manifesto/agile-manifesto.{archimate,xma}`,
9
+ * and 3 confirmed "...Collaboration collapses to its singular active-structure
10
+ * counterpart" instances (see below) see each fixture pair's entry in
11
+ * `tests/fixtures/README.md` for the full derivation method. Every other
11
12
  * relationship type/source/target combination is unsupported for v0.1 and
12
13
  * must be diagnosed, never guessed (see `serializer/relationship-writer.ts`).
13
14
  *
@@ -15,22 +16,22 @@
15
16
  * schemes, e.g. `WorkPackage -> BusinessFunction` lives in `IMScheme`, the
16
17
  * source's scheme, not `BusinessScheme`).
17
18
  *
18
- * NOT modeled here confirmed to exist, but needs a different mechanism
19
- * than this exact-triple table (see `tests/fixtures/README.md`):
19
+ * Three "...Collaboration" entries collapse to their singular active-structure
20
+ * counterpart for relationship naming only (their own element mapping is
21
+ * unaffected — see `element-mapping.ts`): `BusinessCollaboration` collapses
22
+ * to `BusinessRole`, `TechnologyCollaboration` collapses to `TechnologyNode`.
23
+ * Verified directly against raw relation instances in both fixtures, not
24
+ * inferred.
25
+ *
26
+ * NOT modeled here as exact triples — genuinely type-independent, so they
27
+ * live in `generic-relationship-mapping.ts` instead:
20
28
  * - `AssociationRelationship` always serializes as the generic
21
29
  * `ElementElementAssociation`, regardless of source/target type.
22
- * - Any relationship with a `Grouping` or `Junction` endpoint uses a
23
- * generic form (e.g. `GroupingElementComposition`, `RealisationRelation`)
24
- * instead of a type-specific one.
25
- * - A handful of concrete types collapse to a coarser XMA "category" only
26
- * for relationship naming (not for their own element mapping) — always a
27
- * type's own singular "active structure" counterpart, confirmed twice
28
- * now for the `...Collaboration` pattern specifically: `TechnologyCollaboration`
29
- * collapses to `TechnologyNode`, and `BusinessCollaboration` collapses to
30
- * `BusinessRole` (verified directly against raw relation instances in
31
- * both fixtures, not inferred). Also confirmed: `SystemSoftware`
32
- * collapses to `TechnologyNode`; `Constraint` collapses to
33
- * `MotivationRequirement`.
30
+ * - A `Grouping` endpoint (for the confirmed verbs Composition,
31
+ * Specialization, Influence, Use) or a `Junction`/`OrJunction` endpoint
32
+ * (for the confirmed verbs Realisation, Influence) uses a generic form
33
+ * (e.g. `GroupingElementComposition`, `RealisationRelation`) instead of a
34
+ * type-specific one.
34
35
  */
35
36
  export const RELATIONSHIP_MAPPINGS = [
36
37
  {
@@ -653,6 +654,31 @@ export const RELATIONSHIP_MAPPINGS = [
653
654
  xmaType: 'MotivationAssessmentMotivationRequirementInfluence',
654
655
  scheme: 'MotivationScheme',
655
656
  },
657
+ // Confirmed "...Collaboration collapses to its singular active-structure counterpart"
658
+ // instances (BusinessCollaboration -> BusinessRole, TechnologyCollaboration ->
659
+ // TechnologyNode) — these are still exact-triple entries keyed by the real Archi
660
+ // type; only the xmaType value reflects the collapse. See tests/fixtures/README.md.
661
+ {
662
+ archiRelationshipType: 'TriggeringRelationship',
663
+ sourceArchiType: 'BusinessCollaboration',
664
+ targetArchiType: 'BusinessProcess',
665
+ xmaType: 'BusinessRoleBusinessProcessTriggering',
666
+ scheme: 'BusinessScheme',
667
+ },
668
+ {
669
+ archiRelationshipType: 'ServingRelationship',
670
+ sourceArchiType: 'ApplicationComponent',
671
+ targetArchiType: 'BusinessCollaboration',
672
+ xmaType: 'ApplicationComponentBusinessRoleUse',
673
+ scheme: 'ApplicationScheme',
674
+ },
675
+ {
676
+ archiRelationshipType: 'ServingRelationship',
677
+ sourceArchiType: 'TechnologyCollaboration',
678
+ targetArchiType: 'ApplicationComponent',
679
+ xmaType: 'TechnologyNodeApplicationComponentUse',
680
+ scheme: 'TechnologyScheme',
681
+ },
656
682
  ];
657
683
  function relationshipKey(relationshipType, sourceType, targetType) {
658
684
  return `${relationshipType}|${sourceType}|${targetType}`;
@@ -1 +1 @@
1
- {"version":3,"file":"relationship-mapping.js","sourceRoot":"","sources":["../../src/mapping/relationship-mapping.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relationship-mapping.js","sourceRoot":"","sources":["../../src/mapping/relationship-mapping.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,13 @@ import type { XmlElement } from '../infrastructure/xml-writer.js';
3
3
  import type { XmaIdRegistry } from '../infrastructure/id-allocator.js';
4
4
  import { type SchemeBuild } from './semantic-writer.js';
5
5
  import type { ViewBuildResult } from './view-writer.js';
6
+ /** One view fully built by `view-writer`/`graphical-writer`, ready to assemble into the document. */
7
+ export interface BuiltView {
8
+ view: ArchiView;
9
+ viewResult: ViewBuildResult;
10
+ /** The `MM_Diagram:MM_Diagram` built by `graphical-writer` for this view. */
11
+ graphicalDiagramXml: XmlElement;
12
+ }
6
13
  export interface DocumentAssemblyInput {
7
14
  modelName: string;
8
15
  packageName: string;
@@ -10,10 +17,24 @@ export interface DocumentAssemblyInput {
10
17
  ids: XmaIdRegistry;
11
18
  schemeBuilds: Map<string, SchemeBuild>;
12
19
  folders: readonly ArchiFolder[];
13
- view: ArchiView | null;
14
- viewResult: ViewBuildResult | null;
15
- /** The `MM_Diagram:MM_Diagram` built by `graphical-writer`, when a view is present. */
16
- graphicalDiagramXml: XmlElement | null;
20
+ /**
21
+ * Every view in the model, already built. Confirmed against
22
+ * tests/fixtures/sabsa (38 views) and tests/fixtures/agile-manifesto (3
23
+ * views): all views nest as siblings inside one shared `AbstractViews`
24
+ * container, while each gets its own separate `GraphicalModule` (with its
25
+ * own `MM_Diagram` and its own `Any/Objectref` pointing back to its
26
+ * `AllView`) — see tests/fixtures/README.md for the full derivation.
27
+ */
28
+ views: readonly BuiltView[];
29
+ /**
30
+ * `Junction`/`OrJunction` elements — a root-level `<ArchiMate:Connectors>`
31
+ * container, a sibling of `AbstractSchemes` under `ArchiMateComponent`.
32
+ * Confirmed order relative to `rootRelationsXml`: `Relations` then
33
+ * `Connectors` (see tests/fixtures/README.md).
34
+ */
35
+ rootConnectorsXml: readonly XmlElement[];
36
+ /** Generic-form relations (`AssociationRelationship`, `Grouping`/`Junction` endpoints) — see relationship-writer.ts. */
37
+ rootRelationsXml: readonly XmlElement[];
17
38
  }
18
39
  export declare function buildXmaDocument(input: DocumentAssemblyInput): XmlElement;
19
40
  //# sourceMappingURL=document-writer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"document-writer.d.ts","sourceRoot":"","sources":["../../src/serializer/document-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAIvE,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAoExD,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,aAAa,CAAC;IACnB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACvC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IAChC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;IACnC,uFAAuF;IACvF,mBAAmB,EAAE,UAAU,GAAG,IAAI,CAAC;CACxC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,UAAU,CA6GzE"}
1
+ {"version":3,"file":"document-writer.d.ts","sourceRoot":"","sources":["../../src/serializer/document-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAIvE,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAoExD,qGAAqG;AACrG,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,EAAE,eAAe,CAAC;IAC5B,6EAA6E;IAC7E,mBAAmB,EAAE,UAAU,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,aAAa,CAAC;IACnB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACvC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IAChC;;;;;;;OAOG;IACH,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;IAC5B;;;;;OAKG;IACH,iBAAiB,EAAE,SAAS,UAAU,EAAE,CAAC;IACzC,wHAAwH;IACxH,gBAAgB,EAAE,SAAS,UAAU,EAAE,CAAC;CACzC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,UAAU,CAsHzE"}
@@ -56,7 +56,7 @@ function renderNestedScheme(build, ids) {
56
56
  return element(`ArchiMate:${build.tag}`, [['id', String(ids.fresh())]], children);
57
57
  }
58
58
  export function buildXmaDocument(input) {
59
- const { modelName, packageName, language, ids, schemeBuilds, folders, view, viewResult, graphicalDiagramXml } = input;
59
+ const { modelName, packageName, language, ids, schemeBuilds, folders, views, rootConnectorsXml, rootRelationsXml } = input;
60
60
  const emittedSchemeTags = new Set();
61
61
  const rootSchemesXml = ROOT_LEVEL_CATEGORIES.map((category) => renderRootScheme(schemeBuilds, ids, category, folders, language, emittedSchemeTags)).filter((el) => el !== null);
62
62
  const technologySchemeXml = renderNestedScheme(schemeBuilds.get(SCHEME_BY_CATEGORY.Technology.tag), ids);
@@ -71,20 +71,23 @@ export function buildXmaDocument(input) {
71
71
  element('ArchiMate:AbstractFolders', [['name', 'folders'], ['id', String(ids.fresh())]]),
72
72
  ]));
73
73
  }
74
- let allViewXmaId = null;
75
- if (view && viewResult) {
76
- allViewXmaId = ids.idFor(view.id);
77
- const allViewXml = element('ArchiMate:AllView', [['id', String(allViewXmaId)]], [
78
- buildProfileValues(language, view.name ?? '', view.documentation),
79
- ...(viewResult.viewGraphicsXml.length > 0
80
- ? [element('ArchiMate:ViewGraphics', [['name', 'viewGraphics'], ['id', String(ids.fresh())]], viewResult.viewGraphicsXml)]
81
- : []),
82
- element('ArchiMate:RefObjects', [['name', 'refObjects'], ['id', String(ids.fresh())]], viewResult.refObjectsXml),
83
- ]);
74
+ const allViewXmaIds = [];
75
+ if (views.length > 0) {
76
+ const allViewXmlEntries = views.map(({ view, viewResult }) => {
77
+ const allViewXmaId = ids.idFor(view.id);
78
+ allViewXmaIds.push(allViewXmaId);
79
+ return element('ArchiMate:AllView', [['id', String(allViewXmaId)]], [
80
+ buildProfileValues(language, view.name ?? '', view.documentation),
81
+ ...(viewResult.viewGraphicsXml.length > 0
82
+ ? [element('ArchiMate:ViewGraphics', [['name', 'viewGraphics'], ['id', String(ids.fresh())]], viewResult.viewGraphicsXml)]
83
+ : []),
84
+ element('ArchiMate:RefObjects', [['name', 'refObjects'], ['id', String(ids.fresh())]], viewResult.refObjectsXml),
85
+ ]);
86
+ });
84
87
  topLevelFolders.push(element('ArchiMate:AbstractFolder', [['id', String(ids.fresh())]], [
85
88
  textElement('nm', findFolderName(folders, VIEWS_FOLDER.archiFolderType, VIEWS_FOLDER.defaultLabel)),
86
89
  element('ArchiMate:AbstractSchemes', [['name', 'schemes'], ['id', String(ids.fresh())]]),
87
- element('ArchiMate:AbstractViews', [['name', 'views'], ['id', String(ids.fresh())]], [allViewXml]),
90
+ element('ArchiMate:AbstractViews', [['name', 'views'], ['id', String(ids.fresh())]], allViewXmlEntries),
88
91
  element('ArchiMate:AbstractFolders', [['name', 'folders'], ['id', String(ids.fresh())]]),
89
92
  ]));
90
93
  }
@@ -92,6 +95,12 @@ export function buildXmaDocument(input) {
92
95
  const archiMateComponent = element('ArchiMate:ArchiMateComponent', [['name', 'root'], ['id', String(ids.fresh())]], [
93
96
  modelNameProfile,
94
97
  element('ArchiMate:DomainDataSet', [['name', 'domainDataSet'], ['id', String(ids.fresh())]]),
98
+ ...(rootRelationsXml.length > 0
99
+ ? [element('ArchiMate:Relations', [['name', 'relations'], ['id', String(ids.fresh())]], [...rootRelationsXml])]
100
+ : []),
101
+ ...(rootConnectorsXml.length > 0
102
+ ? [element('ArchiMate:Connectors', [['name', 'connectors'], ['id', String(ids.fresh())]], [...rootConnectorsXml])]
103
+ : []),
95
104
  element('ArchiMate:AbstractCommandContainers', [['name', 'commandContainers'], ['id', String(ids.fresh())]]),
96
105
  element('ArchiMate:AbstractSchemes', [['name', 'schemes'], ['id', String(ids.fresh())]], rootSchemesXml),
97
106
  element('ArchiMate:AbstractViews', [['name', 'views'], ['id', String(ids.fresh())]]),
@@ -99,9 +108,9 @@ export function buildXmaDocument(input) {
99
108
  ]);
100
109
  const semanticModule = element('MM_ModelPackage:MM_Module', [['id', String(ids.fresh())], ['nm', 'SemanticModule'], ['metaModel', 'ArchiMate']], [archiMateComponent]);
101
110
  const modules = [semanticModule];
102
- if (graphicalDiagramXml && allViewXmaId !== null) {
103
- modules.push(element('MM_ModelPackage:MM_Module', [['id', String(ids.fresh())], ['nm', 'GraphicalModule'], ['metaModel', 'MM_Diagram']], [graphicalDiagramXml, element('Any', [['name', 'tag']], [element('Objectref', [['value', String(allViewXmaId)]])])]));
104
- }
111
+ views.forEach(({ graphicalDiagramXml }, index) => {
112
+ modules.push(element('MM_ModelPackage:MM_Module', [['id', String(ids.fresh())], ['nm', 'GraphicalModule'], ['metaModel', 'MM_Diagram']], [graphicalDiagramXml, element('Any', [['name', 'tag']], [element('Objectref', [['value', String(allViewXmaIds[index])]])])]));
113
+ });
105
114
  const archiMateMMModel = element('ArchiMate:ArchiMateMM_Model', [['id', String(ids.fresh())]], [
106
115
  buildProfileValues(language, modelName),
107
116
  element('MM_ModelPackage:MM_Modules', [['name', 'modules'], ['id', String(ids.fresh())]], modules),
@@ -1 +1 @@
1
- {"version":3,"file":"document-writer.js","sourceRoot":"","sources":["../../src/serializer/document-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-writer.js","sourceRoot":"","sources":["../../src/serializer/document-writer.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import type { XmlElement } from '../infrastructure/xml-writer.js';
3
3
  import { XmaIdRegistry, type XmaIdAllocator } from '../infrastructure/id-allocator.js';
4
4
  import type { DiagnosticCollector } from '../diagnostics/diagnostics.js';
5
5
  import type { ElementMappingEntry } from '../mapping/element-mapping.js';
6
- import type { RelationshipMappingEntry } from '../mapping/relationship-mapping.js';
6
+ import type { ResolvedRelationshipMapping } from './relationship-writer.js';
7
7
  import type { ViewBuildResult } from './view-writer.js';
8
8
  export interface GraphicalModuleResult {
9
9
  diagramXml: XmlElement;
@@ -21,5 +21,5 @@ export interface GraphicalModuleResult {
21
21
  * required, add that behavior here, isolated from the rest of this
22
22
  * function.
23
23
  */
24
- export declare function buildGraphicalModule(model: ArchiModel, view: ArchiView, ids: XmaIdRegistry, refIds: XmaIdRegistry, allocator: XmaIdAllocator, mappedElements: ReadonlyMap<string, ElementMappingEntry>, mappedRelationships: ReadonlyMap<string, RelationshipMappingEntry>, viewResult: ViewBuildResult, diagnostics: DiagnosticCollector): GraphicalModuleResult;
24
+ export declare function buildGraphicalModule(model: ArchiModel, view: ArchiView, ids: XmaIdRegistry, refIds: XmaIdRegistry, allocator: XmaIdAllocator, mappedElements: ReadonlyMap<string, ElementMappingEntry>, mappedRelationships: ReadonlyMap<string, ResolvedRelationshipMapping>, viewResult: ViewBuildResult, diagnostics: DiagnosticCollector): GraphicalModuleResult;
25
25
  //# sourceMappingURL=graphical-writer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphical-writer.d.ts","sourceRoot":"","sources":["../../src/serializer/graphical-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EAIV,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAInF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,UAAU,CAAC;CACxB;AAsLD;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,SAAS,EACf,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,cAAc,EACzB,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,EACxD,mBAAmB,EAAE,WAAW,CAAC,MAAM,EAAE,wBAAwB,CAAC,EAClE,UAAU,EAAE,eAAe,EAC3B,WAAW,EAAE,mBAAmB,GAC/B,qBAAqB,CAyJvB"}
1
+ {"version":3,"file":"graphical-writer.d.ts","sourceRoot":"","sources":["../../src/serializer/graphical-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EAIV,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAI5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,UAAU,CAAC;CACxB;AAmND;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,SAAS,EACf,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,cAAc,EACzB,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,EACxD,mBAAmB,EAAE,WAAW,CAAC,MAAM,EAAE,2BAA2B,CAAC,EACrE,UAAU,EAAE,eAAe,EAC3B,WAAW,EAAE,mBAAmB,GAC/B,qBAAqB,CA6JvB"}
@@ -140,6 +140,29 @@ function buildStyledNode(ids, nodeXmaId, concept, semanticObject, hasIcon, visua
140
140
  rectElement(ids.fresh(), bounds),
141
141
  ]);
142
142
  }
143
+ const JUNCTION_XMA_TYPES = new Set(['Junction', 'OrJunction']);
144
+ /**
145
+ * Builds a `Junction`/`OrJunction` node — confirmed structurally different
146
+ * from every other element node: `mm_graphicType="3"` (not `"5"`), and no
147
+ * `MM_Color`/`MM_Colors` at all (a Junction carries no fill/line styling in
148
+ * either fixture). Fabricating a color here would contradict that evidence,
149
+ * not fill a gap in it.
150
+ */
151
+ function buildJunctionNode(ids, nodeXmaId, concept, semanticObject, bounds) {
152
+ return element('MM_Diagram:MM_Node', [
153
+ ['id', String(nodeXmaId)],
154
+ ['mm_graphicType', '3'],
155
+ ['mm_concept', concept],
156
+ ['mm_lineOpacity', String(DEFAULT_OPACITY)],
157
+ ['mm_fillOpacity', String(DEFAULT_OPACITY)],
158
+ ['mm_semanticObject', String(semanticObject)],
159
+ ], [
160
+ element('MM_Diagram:MM_Graphics', [['name', 'mm_graphics'], ['id', String(ids.fresh())]], [
161
+ buildLabelDecoration(ids.fresh(), DEFAULT_FONT_NAME),
162
+ ]),
163
+ rectElement(ids.fresh(), bounds),
164
+ ]);
165
+ }
143
166
  /**
144
167
  * Builds the `GraphicalModule`'s `MM_Diagram` for the single supported
145
168
  * view: a Canvas node wrapping one `MM_Node` per drawable diagram
@@ -165,9 +188,14 @@ export function buildGraphicalModule(model, view, ids, refIds, allocator, mapped
165
188
  if (viewResult.validElementNodeObjectIds.has(objId) && obj.archimateElementId) {
166
189
  const mapping = mappedElements.get(obj.archimateElementId);
167
190
  const refId = refIds.get(obj.archimateElementId);
168
- const visuals = resolveNodeVisuals(obj.style, CATEGORY_FILL_COLOR[mapping.category], diagnostics, obj.id, 'ArchiDiagramObject');
169
191
  const nodeXmaId = nodeIds.idFor(obj.id);
170
- canvasChildren.push(buildStyledNode(ids, nodeXmaId, mapping.xmaType, refId, mapping.hasIcon, visuals, obj.bounds, null));
192
+ if (JUNCTION_XMA_TYPES.has(mapping.xmaType)) {
193
+ canvasChildren.push(buildJunctionNode(ids, nodeXmaId, mapping.xmaType, refId, obj.bounds));
194
+ }
195
+ else {
196
+ const visuals = resolveNodeVisuals(obj.style, CATEGORY_FILL_COLOR[mapping.category], diagnostics, obj.id, 'ArchiDiagramObject');
197
+ canvasChildren.push(buildStyledNode(ids, nodeXmaId, mapping.xmaType, refId, mapping.hasIcon, visuals, obj.bounds, null));
198
+ }
171
199
  }
172
200
  else if (viewResult.validGroupObjectIds.has(objId)) {
173
201
  const groupSemanticId = ids.get(obj.id);
@@ -1 +1 @@
1
- {"version":3,"file":"graphical-writer.js","sourceRoot":"","sources":["../../src/serializer/graphical-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphical-writer.js","sourceRoot":"","sources":["../../src/serializer/graphical-writer.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,30 @@
1
1
  import type { ArchiModel, ArchiElement, ArchiRelationship } from '@cda/archi-semantic-core';
2
+ import type { XmlElement } from '../infrastructure/xml-writer.js';
2
3
  import type { XmaIdRegistry } from '../infrastructure/id-allocator.js';
3
4
  import type { DiagnosticCollector } from '../diagnostics/diagnostics.js';
4
- import { type RelationshipMappingEntry } from '../mapping/relationship-mapping.js';
5
5
  import type { ElementMappingEntry } from '../mapping/element-mapping.js';
6
6
  import type { SchemeBuild } from './semantic-writer.js';
7
+ /** What downstream (view-writer, graphical-writer) actually needs from a resolved relationship mapping. */
8
+ export interface ResolvedRelationshipMapping {
9
+ xmaType: string;
10
+ }
11
+ export interface SemanticRelationshipsResult {
12
+ mappedRelationships: Map<string, ResolvedRelationshipMapping>;
13
+ /**
14
+ * Generic-form relations (`AssociationRelationship`, or a `Grouping`/`Junction`
15
+ * endpoint) — these live in a root-level `<ArchiMate:Relations>` container
16
+ * (a sibling of `AbstractSchemes`), never inside a layer scheme. Confirmed
17
+ * directly in both fixtures; see `mapping/generic-relationship-mapping.ts`.
18
+ */
19
+ rootRelationsXml: XmlElement[];
20
+ }
7
21
  /**
8
22
  * Builds the semantic `<ArchiMate:{RelationshipType} from="..." to="..."/>`
9
- * elements for every `ArchiRelationship` whose (type, source type, target
10
- * type) triple matches one of the three confirmed mappings, appending them
11
- * to the appropriate scheme's `Relations` collection. Everything else is
12
- * diagnosed, never guessed — see `mapping/relationship-mapping.ts`.
23
+ * elements for every `ArchiRelationship` that resolves either to a confirmed
24
+ * exact-triple mapping (appended to its scheme's `Relations` collection) or
25
+ * a confirmed generic form (appended to the root-level `Relations`
26
+ * container). Everything else is diagnosed, never guessed — see
27
+ * `mapping/relationship-mapping.ts` and `mapping/generic-relationship-mapping.ts`.
13
28
  */
14
- export declare function buildSemanticRelationships(model: ArchiModel, ids: XmaIdRegistry, elementIndex: ReadonlyMap<string, ArchiElement>, relationshipIndex: ReadonlyMap<string, ArchiRelationship>, mappedElements: ReadonlyMap<string, ElementMappingEntry>, schemeBuilds: Map<string, SchemeBuild>, diagnostics: DiagnosticCollector): Map<string, RelationshipMappingEntry>;
29
+ export declare function buildSemanticRelationships(model: ArchiModel, ids: XmaIdRegistry, elementIndex: ReadonlyMap<string, ArchiElement>, relationshipIndex: ReadonlyMap<string, ArchiRelationship>, mappedElements: ReadonlyMap<string, ElementMappingEntry>, schemeBuilds: Map<string, SchemeBuild>, diagnostics: DiagnosticCollector): SemanticRelationshipsResult;
15
30
  //# sourceMappingURL=relationship-writer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"relationship-writer.d.ts","sourceRoot":"","sources":["../../src/serializer/relationship-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE5F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAA6B,KAAK,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAC9G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAWxD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,UAAU,EACjB,GAAG,EAAE,aAAa,EAClB,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,EAC/C,iBAAiB,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,EACzD,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,EACxD,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EACtC,WAAW,EAAE,mBAAmB,GAC/B,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,CA2EvC"}
1
+ {"version":3,"file":"relationship-writer.d.ts","sourceRoot":"","sources":["../../src/serializer/relationship-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE5F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,2GAA2G;AAC3G,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,MAAM,CAAC;CACjB;AAWD,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;IAC9D;;;;;OAKG;IACH,gBAAgB,EAAE,UAAU,EAAE,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,UAAU,EACjB,GAAG,EAAE,aAAa,EAClB,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,EAC/C,iBAAiB,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,EACzD,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,EACxD,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EACtC,WAAW,EAAE,mBAAmB,GAC/B,2BAA2B,CAkF7B"}
@@ -1,5 +1,6 @@
1
1
  import { element } from '../infrastructure/xml-writer.js';
2
2
  import { lookupRelationshipMapping } from '../mapping/relationship-mapping.js';
3
+ import { lookupGenericRelationshipMapping } from '../mapping/generic-relationship-mapping.js';
3
4
  function getOrCreateScheme(schemeBuilds, tag) {
4
5
  let build = schemeBuilds.get(tag);
5
6
  if (!build) {
@@ -10,13 +11,15 @@ function getOrCreateScheme(schemeBuilds, tag) {
10
11
  }
11
12
  /**
12
13
  * Builds the semantic `<ArchiMate:{RelationshipType} from="..." to="..."/>`
13
- * elements for every `ArchiRelationship` whose (type, source type, target
14
- * type) triple matches one of the three confirmed mappings, appending them
15
- * to the appropriate scheme's `Relations` collection. Everything else is
16
- * diagnosed, never guessed — see `mapping/relationship-mapping.ts`.
14
+ * elements for every `ArchiRelationship` that resolves either to a confirmed
15
+ * exact-triple mapping (appended to its scheme's `Relations` collection) or
16
+ * a confirmed generic form (appended to the root-level `Relations`
17
+ * container). Everything else is diagnosed, never guessed — see
18
+ * `mapping/relationship-mapping.ts` and `mapping/generic-relationship-mapping.ts`.
17
19
  */
18
20
  export function buildSemanticRelationships(model, ids, elementIndex, relationshipIndex, mappedElements, schemeBuilds, diagnostics) {
19
21
  const mappedRelationships = new Map();
22
+ const rootRelationsXml = [];
20
23
  for (const rel of model.relationships) {
21
24
  const sourceEl = elementIndex.get(rel.sourceId);
22
25
  const targetEl = elementIndex.get(rel.targetId);
@@ -43,7 +46,9 @@ export function buildSemanticRelationships(model, ids, elementIndex, relationshi
43
46
  });
44
47
  continue;
45
48
  }
46
- const mapping = lookupRelationshipMapping(rel.type, sourceEl.type, targetEl.type);
49
+ const exactMapping = lookupRelationshipMapping(rel.type, sourceEl.type, targetEl.type);
50
+ const genericMapping = exactMapping ? undefined : lookupGenericRelationshipMapping(rel.type, sourceEl.type, targetEl.type);
51
+ const mapping = exactMapping ?? genericMapping;
47
52
  if (!mapping) {
48
53
  diagnostics.error({
49
54
  code: 'unsupported-relationship',
@@ -70,14 +75,20 @@ export function buildSemanticRelationships(model, ids, elementIndex, relationshi
70
75
  });
71
76
  }
72
77
  mappedRelationships.set(rel.id, mapping);
73
- const scheme = getOrCreateScheme(schemeBuilds, mapping.scheme);
74
78
  const xmaId = ids.idFor(rel.id);
75
- scheme.relations.push(element(`ArchiMate:${mapping.xmaType}`, [
79
+ const relationXml = element(`ArchiMate:${mapping.xmaType}`, [
76
80
  ['id', String(xmaId)],
77
81
  ['from', String(ids.idFor(sourceEl.id))],
78
82
  ['to', String(ids.idFor(targetEl.id))],
79
- ]));
83
+ ]);
84
+ if (exactMapping) {
85
+ const scheme = getOrCreateScheme(schemeBuilds, exactMapping.scheme);
86
+ scheme.relations.push(relationXml);
87
+ }
88
+ else {
89
+ rootRelationsXml.push(relationXml);
90
+ }
80
91
  }
81
- return mappedRelationships;
92
+ return { mappedRelationships, rootRelationsXml };
82
93
  }
83
94
  //# sourceMappingURL=relationship-writer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"relationship-writer.js","sourceRoot":"","sources":["../../src/serializer/relationship-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relationship-writer.js","sourceRoot":"","sources":["../../src/serializer/relationship-writer.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,14 @@ export interface SemanticBuildResult {
17
17
  schemeBuilds: Map<string, SchemeBuild>;
18
18
  /** Archi element id -> its resolved mapping, for elements that mapped successfully (feeds view/graphical writers). */
19
19
  mappedElements: Map<string, ElementMappingEntry>;
20
+ /**
21
+ * `<ArchiMate:Junction>`/`<ArchiMate:OrJunction>` elements — these live in a
22
+ * root-level `<ArchiMate:Connectors>` container (a sibling of
23
+ * `AbstractSchemes` under `ArchiMateComponent`), never inside a layer
24
+ * scheme's element collections. Confirmed directly in both fixtures; see
25
+ * `tests/fixtures/README.md`.
26
+ */
27
+ rootConnectorsXml: XmlElement[];
20
28
  }
21
29
  /**
22
30
  * Builds the per-scheme element collections (`<ArchiMate:BusinessActors>`
@@ -1 +1 @@
1
- {"version":3,"file":"semantic-writer.d.ts","sourceRoot":"","sources":["../../src/serializer/semantic-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAgB,MAAM,0BAA0B,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAkD,KAAK,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAGzH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,uHAAuH;IACvH,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC,CAAC;IACnE,8FAA8F;IAC9F,SAAS,EAAE,UAAU,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACvC,sHAAsH;IACtH,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CAClD;AAuCD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,UAAU,EACjB,GAAG,EAAE,aAAa,EAClB,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EAAE,MAAM,GACf,mBAAmB,CA8BrB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,GAAG,IAAI,GAAG,UAAU,EAAE,CAgBrG"}
1
+ {"version":3,"file":"semantic-writer.d.ts","sourceRoot":"","sources":["../../src/serializer/semantic-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAgB,MAAM,0BAA0B,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAkD,KAAK,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAGzH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,uHAAuH;IACvH,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC,CAAC;IACnE,8FAA8F;IAC9F,SAAS,EAAE,UAAU,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACvC,sHAAsH;IACtH,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACjD;;;;;;OAMG;IACH,iBAAiB,EAAE,UAAU,EAAE,CAAC;CACjC;AA0ED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,UAAU,EACjB,GAAG,EAAE,aAAa,EAClB,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EAAE,MAAM,GACf,mBAAmB,CA4CrB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,GAAG,IAAI,GAAG,UAAU,EAAE,CAgBrG"}
@@ -1,6 +1,39 @@
1
1
  import { element } from '../infrastructure/xml-writer.js';
2
2
  import { getSchemeCollectionOrder, lookupElementMapping } from '../mapping/element-mapping.js';
3
3
  import { buildProfileValues } from './profile-values.js';
4
+ /**
5
+ * `ArchiElement.type` is always the literal string `"Junction"` for both
6
+ * AND and OR junctions — the And/Or distinction lives in the separate
7
+ * `junctionType` field. Confirmed directly in both fixtures: XMA has two
8
+ * distinct element tags for this, `Junction` (AND) and `OrJunction` (OR),
9
+ * each living in the root `Connectors` container. This resolves the XMA tag
10
+ * for a Junction element; unlike every other type, it can't be a static
11
+ * `ELEMENT_MAPPINGS` table entry keyed by `archiType` alone.
12
+ */
13
+ function junctionXmaType(el) {
14
+ return el.junctionType === 'Or' ? 'OrJunction' : 'Junction';
15
+ }
16
+ /**
17
+ * A `Junction`'s own `category`/`hasIcon` are never read: `graphical-writer`
18
+ * draws Junctions via a dedicated, colorless node form (confirmed in both
19
+ * fixtures — no `MM_Color`/`MM_Colors`, `mm_graphicType="3"` instead of the
20
+ * usual `"5"`) before ever consulting `CATEGORY_FILL_COLOR`. `category`
21
+ * still needs *some* valid value to satisfy `ElementMappingEntry`'s type;
22
+ * `'Grouping'` is used as an inert placeholder, not a claim about Junction's
23
+ * real presentation category.
24
+ */
25
+ function junctionMappingEntry(el) {
26
+ const xmaType = junctionXmaType(el);
27
+ return {
28
+ archiType: 'Junction',
29
+ xmaType,
30
+ scheme: 'root',
31
+ collectionTag: 'Connectors',
32
+ collectionName: 'connectors',
33
+ category: 'Grouping',
34
+ hasIcon: false,
35
+ };
36
+ }
4
37
  function getOrCreateScheme(schemeBuilds, tag) {
5
38
  let build = schemeBuilds.get(tag);
6
39
  if (!build) {
@@ -44,7 +77,18 @@ function reportAncillaryLossWarnings(el, diagnostics) {
44
77
  export function buildSemanticElements(model, ids, diagnostics, language) {
45
78
  const schemeBuilds = new Map();
46
79
  const mappedElements = new Map();
80
+ const rootConnectorsXml = [];
47
81
  for (const el of model.elements) {
82
+ if (el.type === 'Junction') {
83
+ const mapping = junctionMappingEntry(el);
84
+ mappedElements.set(el.id, mapping);
85
+ reportAncillaryLossWarnings(el, diagnostics);
86
+ const xmaId = ids.idFor(el.id);
87
+ rootConnectorsXml.push(element(`ArchiMate:${mapping.xmaType}`, [['id', String(xmaId)]], [
88
+ buildProfileValues(language, el.name ?? '', el.documentation),
89
+ ]));
90
+ continue;
91
+ }
48
92
  const mapping = lookupElementMapping(el.type);
49
93
  if (!mapping) {
50
94
  reportUnsupportedElement(el, diagnostics);
@@ -62,7 +106,7 @@ export function buildSemanticElements(model, ids, diagnostics, language) {
62
106
  const concept = element(`ArchiMate:${mapping.xmaType}`, [['id', String(xmaId)]], [buildProfileValues(language, el.name ?? '', el.documentation)]);
63
107
  collection.children.push(concept);
64
108
  }
65
- return { schemeBuilds, mappedElements };
109
+ return { schemeBuilds, mappedElements, rootConnectorsXml };
66
110
  }
67
111
  /**
68
112
  * Renders a `SchemeBuild`'s children (an optional `nm` profile, then each
@@ -1 +1 @@
1
- {"version":3,"file":"semantic-writer.js","sourceRoot":"","sources":["../../src/serializer/semantic-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"semantic-writer.js","sourceRoot":"","sources":["../../src/serializer/semantic-writer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"serialize-xma.d.ts","sourceRoot":"","sources":["../../src/serializer/serialize-xma.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,0BAA0B,CAAC;AAGtE,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAQxF,MAAM,WAAW,mBAAmB;IAClC,2IAA2I;IAC3I,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iJAAiJ;IACjJ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6IAA6I;IAC7I,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA8ED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAMrF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,aAAa,EAAE,CAEnG"}
1
+ {"version":3,"file":"serialize-xma.d.ts","sourceRoot":"","sources":["../../src/serializer/serialize-xma.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAG3D,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAQxF,MAAM,WAAW,mBAAmB;IAClC,2IAA2I;IAC3I,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iJAAiJ;IACjJ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6IAA6I;IAC7I,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAoED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAMrF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,aAAa,EAAE,CAEnG"}
@@ -16,25 +16,15 @@ function planXmaDocument(model, options) {
16
16
  const allocator = new XmaIdAllocator();
17
17
  const ids = new XmaIdRegistry(allocator);
18
18
  const refIds = new XmaIdRegistry(allocator);
19
- const { schemeBuilds, mappedElements } = buildSemanticElements(model, ids, diagnostics, language);
19
+ const { schemeBuilds, mappedElements, rootConnectorsXml } = buildSemanticElements(model, ids, diagnostics, language);
20
20
  const elementIndex = new Map(model.elements.map((e) => [e.id, e]));
21
21
  const relationshipIndex = new Map(model.relationships.map((r) => [r.id, r]));
22
- const mappedRelationships = buildSemanticRelationships(model, ids, elementIndex, relationshipIndex, mappedElements, schemeBuilds, diagnostics);
23
- let view = null;
24
- let viewResult = null;
25
- let graphicalDiagramXml = null;
26
- if (model.views.length > 1) {
27
- diagnostics.error({
28
- code: 'unsupported-multiple-views',
29
- message: `Model has ${model.views.length} views; XMA v0.1 supports serializing exactly one view. Split the model or remove extra views before converting.`,
30
- });
31
- }
32
- else if (model.views.length === 1) {
33
- view = model.views[0];
34
- viewResult = buildView(model, view, ids, refIds, mappedElements, mappedRelationships, diagnostics, language);
35
- const graphicalResult = buildGraphicalModule(model, view, ids, refIds, allocator, mappedElements, mappedRelationships, viewResult, diagnostics);
36
- graphicalDiagramXml = graphicalResult.diagramXml;
37
- }
22
+ const { mappedRelationships, rootRelationsXml } = buildSemanticRelationships(model, ids, elementIndex, relationshipIndex, mappedElements, schemeBuilds, diagnostics);
23
+ const builtViews = model.views.map((view) => {
24
+ const viewResult = buildView(model, view, ids, refIds, mappedElements, mappedRelationships, diagnostics, language);
25
+ const { diagramXml } = buildGraphicalModule(model, view, ids, refIds, allocator, mappedElements, mappedRelationships, viewResult, diagnostics);
26
+ return { view, viewResult, graphicalDiagramXml: diagramXml };
27
+ });
38
28
  if (diagnostics.hasErrors) {
39
29
  return { diagnostics: diagnostics.all, documentXml: null };
40
30
  }
@@ -45,9 +35,9 @@ function planXmaDocument(model, options) {
45
35
  ids,
46
36
  schemeBuilds,
47
37
  folders: model.folders,
48
- view,
49
- viewResult,
50
- graphicalDiagramXml,
38
+ views: builtViews,
39
+ rootConnectorsXml,
40
+ rootRelationsXml,
51
41
  });
52
42
  return { diagnostics: diagnostics.all, documentXml };
53
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"serialize-xma.js","sourceRoot":"","sources":["../../src/serializer/serialize-xma.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serialize-xma.js","sourceRoot":"","sources":["../../src/serializer/serialize-xma.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import type { XmlElement } from '../infrastructure/xml-writer.js';
3
3
  import type { XmaIdRegistry } from '../infrastructure/id-allocator.js';
4
4
  import type { DiagnosticCollector } from '../diagnostics/diagnostics.js';
5
5
  import type { ElementMappingEntry } from '../mapping/element-mapping.js';
6
- import type { RelationshipMappingEntry } from '../mapping/relationship-mapping.js';
6
+ import type { ResolvedRelationshipMapping } from './relationship-writer.js';
7
7
  export interface ViewBuildResult {
8
8
  viewGraphicsXml: XmlElement[];
9
9
  refObjectsXml: XmlElement[];
@@ -22,5 +22,5 @@ export interface ViewBuildResult {
22
22
  * membership are model-wide preservation guarantees, not just node drawing
23
23
  * concerns.
24
24
  */
25
- export declare function buildView(model: ArchiModel, view: ArchiView, ids: XmaIdRegistry, refIds: XmaIdRegistry, mappedElements: ReadonlyMap<string, ElementMappingEntry>, mappedRelationships: ReadonlyMap<string, RelationshipMappingEntry>, diagnostics: DiagnosticCollector, language: string): ViewBuildResult;
25
+ export declare function buildView(model: ArchiModel, view: ArchiView, ids: XmaIdRegistry, refIds: XmaIdRegistry, mappedElements: ReadonlyMap<string, ElementMappingEntry>, mappedRelationships: ReadonlyMap<string, ResolvedRelationshipMapping>, diagnostics: DiagnosticCollector, language: string): ViewBuildResult;
26
26
  //# sourceMappingURL=view-writer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"view-writer.d.ts","sourceRoot":"","sources":["../../src/serializer/view-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAInF,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,UAAU,EAAE,CAAC;IAC9B,aAAa,EAAE,UAAU,EAAE,CAAC;IAC5B,qGAAqG;IACrG,yBAAyB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,+EAA+E;IAC/E,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,+DAA+D;IAC/D,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC3B;AAMD;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,SAAS,EACf,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,aAAa,EACrB,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,EACxD,mBAAmB,EAAE,WAAW,CAAC,MAAM,EAAE,wBAAwB,CAAC,EAClE,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EAAE,MAAM,GACf,eAAe,CAiJjB"}
1
+ {"version":3,"file":"view-writer.d.ts","sourceRoot":"","sources":["../../src/serializer/view-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAI5E,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,UAAU,EAAE,CAAC;IAC9B,aAAa,EAAE,UAAU,EAAE,CAAC;IAC5B,qGAAqG;IACrG,yBAAyB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,+EAA+E;IAC/E,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,+DAA+D;IAC/D,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC3B;AAMD;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,SAAS,EACf,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,aAAa,EACrB,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,EACxD,mBAAmB,EAAE,WAAW,CAAC,MAAM,EAAE,2BAA2B,CAAC,EACrE,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EAAE,MAAM,GACf,eAAe,CAiJjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"view-writer.js","sourceRoot":"","sources":["../../src/serializer/view-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view-writer.js","sourceRoot":"","sources":["../../src/serializer/view-writer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cda/adapter-xma",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "XMA output adapter for the Continuous-Driven Architecture (CDA) ecosystem. Serializes the ArchiModel produced by @cda/archi-semantic-core into an XMA document.",
5
5
  "keywords": [
6
6
  "archimate",