@cda/adapter-xma 0.4.2 → 0.5.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 (213) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +31 -6
  3. package/dist/cjs/diagnostics/diagnostics.d.ts.map +1 -0
  4. package/dist/cjs/diagnostics/diagnostics.js +23 -0
  5. package/dist/cjs/diagnostics/diagnostics.js.map +1 -0
  6. package/dist/cjs/diagnostics/errors.d.ts.map +1 -0
  7. package/dist/cjs/diagnostics/errors.js +24 -0
  8. package/dist/cjs/diagnostics/errors.js.map +1 -0
  9. package/dist/cjs/geometry/bendpoints.d.ts.map +1 -0
  10. package/dist/cjs/geometry/bendpoints.js +51 -0
  11. package/dist/cjs/geometry/bendpoints.js.map +1 -0
  12. package/dist/cjs/geometry/geometry.d.ts +75 -0
  13. package/dist/cjs/geometry/geometry.d.ts.map +1 -0
  14. package/dist/cjs/geometry/geometry.js +77 -0
  15. package/dist/cjs/geometry/geometry.js.map +1 -0
  16. package/dist/cjs/index.d.ts.map +1 -0
  17. package/dist/cjs/index.js +9 -0
  18. package/dist/cjs/index.js.map +1 -0
  19. package/dist/cjs/infrastructure/assert.d.ts +10 -0
  20. package/dist/cjs/infrastructure/assert.d.ts.map +1 -0
  21. package/dist/cjs/infrastructure/assert.js +18 -0
  22. package/dist/cjs/infrastructure/assert.js.map +1 -0
  23. package/dist/cjs/infrastructure/id-allocator.d.ts.map +1 -0
  24. package/dist/cjs/infrastructure/id-allocator.js +59 -0
  25. package/dist/cjs/infrastructure/id-allocator.js.map +1 -0
  26. package/dist/cjs/infrastructure/xml-writer.d.ts.map +1 -0
  27. package/dist/cjs/infrastructure/xml-writer.js +94 -0
  28. package/dist/cjs/infrastructure/xml-writer.js.map +1 -0
  29. package/dist/cjs/mapping/element-mapping.d.ts.map +1 -0
  30. package/dist/cjs/mapping/element-mapping.js +117 -0
  31. package/dist/cjs/mapping/element-mapping.js.map +1 -0
  32. package/dist/cjs/mapping/generic-relationship-mapping.d.ts.map +1 -0
  33. package/dist/cjs/mapping/generic-relationship-mapping.js +71 -0
  34. package/dist/cjs/mapping/generic-relationship-mapping.js.map +1 -0
  35. package/dist/cjs/mapping/relationship-mapping.d.ts.map +1 -0
  36. package/dist/cjs/mapping/relationship-mapping.js +697 -0
  37. package/dist/cjs/mapping/relationship-mapping.js.map +1 -0
  38. package/dist/cjs/mapping/scheme-mapping.d.ts.map +1 -0
  39. package/dist/cjs/mapping/scheme-mapping.js +42 -0
  40. package/dist/cjs/mapping/scheme-mapping.js.map +1 -0
  41. package/dist/cjs/mapping/visual-mapping.d.ts.map +1 -0
  42. package/dist/cjs/mapping/visual-mapping.js +43 -0
  43. package/dist/cjs/mapping/visual-mapping.js.map +1 -0
  44. package/dist/cjs/package.json +3 -0
  45. package/dist/cjs/serializer/document-writer.d.ts.map +1 -0
  46. package/dist/cjs/serializer/document-writer.js +138 -0
  47. package/dist/cjs/serializer/document-writer.js.map +1 -0
  48. package/dist/cjs/serializer/graphical-writer.d.ts.map +1 -0
  49. package/dist/cjs/serializer/graphical-writer.js +464 -0
  50. package/dist/cjs/serializer/graphical-writer.js.map +1 -0
  51. package/dist/cjs/serializer/profile-values.d.ts.map +1 -0
  52. package/dist/cjs/serializer/profile-values.js +28 -0
  53. package/dist/cjs/serializer/profile-values.js.map +1 -0
  54. package/dist/cjs/serializer/relationship-writer.d.ts.map +1 -0
  55. package/dist/cjs/serializer/relationship-writer.js +109 -0
  56. package/dist/cjs/serializer/relationship-writer.js.map +1 -0
  57. package/dist/cjs/serializer/rtf.d.ts.map +1 -0
  58. package/dist/cjs/serializer/rtf.js +67 -0
  59. package/dist/cjs/serializer/rtf.js.map +1 -0
  60. package/dist/cjs/serializer/semantic-writer.d.ts.map +1 -0
  61. package/dist/cjs/serializer/semantic-writer.js +170 -0
  62. package/dist/cjs/serializer/semantic-writer.js.map +1 -0
  63. package/dist/cjs/serializer/serialize-xma.d.ts.map +1 -0
  64. package/dist/cjs/serializer/serialize-xma.js +113 -0
  65. package/dist/cjs/serializer/serialize-xma.js.map +1 -0
  66. package/dist/cjs/serializer/view-writer.d.ts.map +1 -0
  67. package/dist/cjs/serializer/view-writer.js +148 -0
  68. package/dist/cjs/serializer/view-writer.js.map +1 -0
  69. package/dist/esm/diagnostics/diagnostics.d.ts +20 -0
  70. package/dist/esm/diagnostics/diagnostics.d.ts.map +1 -0
  71. package/dist/esm/diagnostics/diagnostics.js.map +1 -0
  72. package/dist/esm/diagnostics/errors.d.ts +13 -0
  73. package/dist/esm/diagnostics/errors.d.ts.map +1 -0
  74. package/dist/esm/diagnostics/errors.js.map +1 -0
  75. package/dist/esm/geometry/bendpoints.d.ts +33 -0
  76. package/dist/esm/geometry/bendpoints.d.ts.map +1 -0
  77. package/dist/{geometry → esm/geometry}/bendpoints.js +6 -2
  78. package/dist/esm/geometry/bendpoints.js.map +1 -0
  79. package/dist/esm/geometry/geometry.d.ts +75 -0
  80. package/dist/esm/geometry/geometry.d.ts.map +1 -0
  81. package/dist/{geometry → esm/geometry}/geometry.js +25 -6
  82. package/dist/esm/geometry/geometry.js.map +1 -0
  83. package/dist/esm/index.d.ts +5 -0
  84. package/dist/esm/index.d.ts.map +1 -0
  85. package/dist/esm/index.js.map +1 -0
  86. package/dist/esm/infrastructure/assert.d.ts +10 -0
  87. package/dist/esm/infrastructure/assert.d.ts.map +1 -0
  88. package/dist/esm/infrastructure/assert.js +15 -0
  89. package/dist/esm/infrastructure/assert.js.map +1 -0
  90. package/dist/esm/infrastructure/id-allocator.d.ts +34 -0
  91. package/dist/esm/infrastructure/id-allocator.d.ts.map +1 -0
  92. package/dist/esm/infrastructure/id-allocator.js.map +1 -0
  93. package/dist/esm/infrastructure/xml-writer.d.ts +20 -0
  94. package/dist/esm/infrastructure/xml-writer.d.ts.map +1 -0
  95. package/dist/{infrastructure → esm/infrastructure}/xml-writer.js +37 -2
  96. package/dist/esm/infrastructure/xml-writer.js.map +1 -0
  97. package/dist/esm/mapping/element-mapping.d.ts +31 -0
  98. package/dist/esm/mapping/element-mapping.d.ts.map +1 -0
  99. package/dist/esm/mapping/element-mapping.js.map +1 -0
  100. package/dist/esm/mapping/generic-relationship-mapping.d.ts +18 -0
  101. package/dist/esm/mapping/generic-relationship-mapping.d.ts.map +1 -0
  102. package/dist/esm/mapping/generic-relationship-mapping.js.map +1 -0
  103. package/dist/esm/mapping/relationship-mapping.d.ts +47 -0
  104. package/dist/esm/mapping/relationship-mapping.d.ts.map +1 -0
  105. package/dist/esm/mapping/relationship-mapping.js.map +1 -0
  106. package/dist/esm/mapping/scheme-mapping.d.ts +38 -0
  107. package/dist/esm/mapping/scheme-mapping.d.ts.map +1 -0
  108. package/dist/esm/mapping/scheme-mapping.js.map +1 -0
  109. package/dist/esm/mapping/visual-mapping.d.ts +24 -0
  110. package/dist/esm/mapping/visual-mapping.d.ts.map +1 -0
  111. package/dist/esm/mapping/visual-mapping.js.map +1 -0
  112. package/dist/esm/serializer/document-writer.d.ts +40 -0
  113. package/dist/esm/serializer/document-writer.d.ts.map +1 -0
  114. package/dist/esm/serializer/document-writer.js.map +1 -0
  115. package/dist/esm/serializer/graphical-writer.d.ts +27 -0
  116. package/dist/esm/serializer/graphical-writer.d.ts.map +1 -0
  117. package/dist/{serializer → esm/serializer}/graphical-writer.js +156 -40
  118. package/dist/esm/serializer/graphical-writer.js.map +1 -0
  119. package/dist/esm/serializer/profile-values.d.ts +8 -0
  120. package/dist/esm/serializer/profile-values.d.ts.map +1 -0
  121. package/dist/esm/serializer/profile-values.js.map +1 -0
  122. package/dist/esm/serializer/relationship-writer.d.ts +41 -0
  123. package/dist/esm/serializer/relationship-writer.d.ts.map +1 -0
  124. package/dist/{serializer → esm/serializer}/relationship-writer.js +4 -1
  125. package/dist/esm/serializer/relationship-writer.js.map +1 -0
  126. package/dist/esm/serializer/rtf.d.ts +9 -0
  127. package/dist/esm/serializer/rtf.d.ts.map +1 -0
  128. package/dist/{serializer → esm/serializer}/rtf.js +14 -0
  129. package/dist/esm/serializer/rtf.js.map +1 -0
  130. package/dist/esm/serializer/semantic-writer.d.ts +51 -0
  131. package/dist/esm/serializer/semantic-writer.d.ts.map +1 -0
  132. package/dist/{serializer → esm/serializer}/semantic-writer.js +24 -0
  133. package/dist/esm/serializer/semantic-writer.js.map +1 -0
  134. package/dist/esm/serializer/serialize-xma.d.ts +29 -0
  135. package/dist/esm/serializer/serialize-xma.d.ts.map +1 -0
  136. package/dist/{serializer → esm/serializer}/serialize-xma.js +40 -1
  137. package/dist/esm/serializer/serialize-xma.js.map +1 -0
  138. package/dist/esm/serializer/view-writer.d.ts +27 -0
  139. package/dist/esm/serializer/view-writer.d.ts.map +1 -0
  140. package/dist/esm/serializer/view-writer.js.map +1 -0
  141. package/package.json +19 -8
  142. package/dist/diagnostics/diagnostics.d.ts.map +0 -1
  143. package/dist/diagnostics/diagnostics.js.map +0 -1
  144. package/dist/diagnostics/errors.d.ts.map +0 -1
  145. package/dist/diagnostics/errors.js.map +0 -1
  146. package/dist/geometry/bendpoints.d.ts.map +0 -1
  147. package/dist/geometry/bendpoints.js.map +0 -1
  148. package/dist/geometry/geometry.d.ts +0 -48
  149. package/dist/geometry/geometry.d.ts.map +0 -1
  150. package/dist/geometry/geometry.js.map +0 -1
  151. package/dist/index.d.ts.map +0 -1
  152. package/dist/index.js.map +0 -1
  153. package/dist/infrastructure/id-allocator.d.ts.map +0 -1
  154. package/dist/infrastructure/id-allocator.js.map +0 -1
  155. package/dist/infrastructure/xml-writer.d.ts.map +0 -1
  156. package/dist/infrastructure/xml-writer.js.map +0 -1
  157. package/dist/mapping/element-mapping.d.ts.map +0 -1
  158. package/dist/mapping/element-mapping.js.map +0 -1
  159. package/dist/mapping/generic-relationship-mapping.d.ts.map +0 -1
  160. package/dist/mapping/generic-relationship-mapping.js.map +0 -1
  161. package/dist/mapping/relationship-mapping.d.ts.map +0 -1
  162. package/dist/mapping/relationship-mapping.js.map +0 -1
  163. package/dist/mapping/scheme-mapping.d.ts.map +0 -1
  164. package/dist/mapping/scheme-mapping.js.map +0 -1
  165. package/dist/mapping/visual-mapping.d.ts.map +0 -1
  166. package/dist/mapping/visual-mapping.js.map +0 -1
  167. package/dist/serializer/document-writer.d.ts.map +0 -1
  168. package/dist/serializer/document-writer.js.map +0 -1
  169. package/dist/serializer/graphical-writer.d.ts.map +0 -1
  170. package/dist/serializer/graphical-writer.js.map +0 -1
  171. package/dist/serializer/profile-values.d.ts.map +0 -1
  172. package/dist/serializer/profile-values.js.map +0 -1
  173. package/dist/serializer/relationship-writer.d.ts.map +0 -1
  174. package/dist/serializer/relationship-writer.js.map +0 -1
  175. package/dist/serializer/rtf.d.ts.map +0 -1
  176. package/dist/serializer/rtf.js.map +0 -1
  177. package/dist/serializer/semantic-writer.d.ts.map +0 -1
  178. package/dist/serializer/semantic-writer.js.map +0 -1
  179. package/dist/serializer/serialize-xma.d.ts.map +0 -1
  180. package/dist/serializer/serialize-xma.js.map +0 -1
  181. package/dist/serializer/view-writer.d.ts.map +0 -1
  182. package/dist/serializer/view-writer.js.map +0 -1
  183. /package/dist/{diagnostics → cjs/diagnostics}/diagnostics.d.ts +0 -0
  184. /package/dist/{diagnostics → cjs/diagnostics}/errors.d.ts +0 -0
  185. /package/dist/{geometry → cjs/geometry}/bendpoints.d.ts +0 -0
  186. /package/dist/{index.d.ts → cjs/index.d.ts} +0 -0
  187. /package/dist/{infrastructure → cjs/infrastructure}/id-allocator.d.ts +0 -0
  188. /package/dist/{infrastructure → cjs/infrastructure}/xml-writer.d.ts +0 -0
  189. /package/dist/{mapping → cjs/mapping}/element-mapping.d.ts +0 -0
  190. /package/dist/{mapping → cjs/mapping}/generic-relationship-mapping.d.ts +0 -0
  191. /package/dist/{mapping → cjs/mapping}/relationship-mapping.d.ts +0 -0
  192. /package/dist/{mapping → cjs/mapping}/scheme-mapping.d.ts +0 -0
  193. /package/dist/{mapping → cjs/mapping}/visual-mapping.d.ts +0 -0
  194. /package/dist/{serializer → cjs/serializer}/document-writer.d.ts +0 -0
  195. /package/dist/{serializer → cjs/serializer}/graphical-writer.d.ts +0 -0
  196. /package/dist/{serializer → cjs/serializer}/profile-values.d.ts +0 -0
  197. /package/dist/{serializer → cjs/serializer}/relationship-writer.d.ts +0 -0
  198. /package/dist/{serializer → cjs/serializer}/rtf.d.ts +0 -0
  199. /package/dist/{serializer → cjs/serializer}/semantic-writer.d.ts +0 -0
  200. /package/dist/{serializer → cjs/serializer}/serialize-xma.d.ts +0 -0
  201. /package/dist/{serializer → cjs/serializer}/view-writer.d.ts +0 -0
  202. /package/dist/{diagnostics → esm/diagnostics}/diagnostics.js +0 -0
  203. /package/dist/{diagnostics → esm/diagnostics}/errors.js +0 -0
  204. /package/dist/{index.js → esm/index.js} +0 -0
  205. /package/dist/{infrastructure → esm/infrastructure}/id-allocator.js +0 -0
  206. /package/dist/{mapping → esm/mapping}/element-mapping.js +0 -0
  207. /package/dist/{mapping → esm/mapping}/generic-relationship-mapping.js +0 -0
  208. /package/dist/{mapping → esm/mapping}/relationship-mapping.js +0 -0
  209. /package/dist/{mapping → esm/mapping}/scheme-mapping.js +0 -0
  210. /package/dist/{mapping → esm/mapping}/visual-mapping.js +0 -0
  211. /package/dist/{serializer → esm/serializer}/document-writer.js +0 -0
  212. /package/dist/{serializer → esm/serializer}/profile-values.js +0 -0
  213. /package/dist/{serializer → esm/serializer}/view-writer.js +0 -0
@@ -0,0 +1,697 @@
1
+ "use strict";
2
+ /**
3
+ * Archi relationship mapping, resolved by (relationship type, source
4
+ * semantic type, target semantic type) — never by relationship type alone.
5
+ *
6
+ * 90 exact-triple mappings are proven: the original 3 confirmed against
7
+ * `tests/fixtures/relationships/relaciones.{archimate,xma}`, 64 more
8
+ * confirmed against `tests/fixtures/sabsa/sabsa.{archimate,xma}`, 20 more
9
+ * confirmed against `tests/fixtures/agile-manifesto/agile-manifesto.{archimate,xma}`,
10
+ * and 3 confirmed "...Collaboration collapses to its singular active-structure
11
+ * counterpart" instances (see below) — see each fixture pair's entry in
12
+ * `tests/fixtures/README.md` for the full derivation method. Every other
13
+ * relationship type/source/target combination is unsupported for v0.1 and
14
+ * must be diagnosed, never guessed (see `serializer/relationship-writer.ts`).
15
+ *
16
+ * `scheme` is always the scheme of the *source* type (confirmed even across
17
+ * schemes, e.g. `WorkPackage -> BusinessFunction` lives in `IMScheme`, the
18
+ * source's scheme, not `BusinessScheme`).
19
+ *
20
+ * Three "...Collaboration" entries collapse to their singular active-structure
21
+ * counterpart for relationship naming only (their own element mapping is
22
+ * unaffected — see `element-mapping.ts`): `BusinessCollaboration` collapses
23
+ * to `BusinessRole`, `TechnologyCollaboration` collapses to `TechnologyNode`.
24
+ * Verified directly against raw relation instances in both fixtures, not
25
+ * inferred.
26
+ *
27
+ * NOT modeled here as exact triples — genuinely type-independent, so they
28
+ * live in `generic-relationship-mapping.ts` instead:
29
+ * - `AssociationRelationship` always serializes as the generic
30
+ * `ElementElementAssociation`, regardless of source/target type.
31
+ * - A `Grouping` endpoint (for the confirmed verbs Composition,
32
+ * Specialization, Influence, Use) or a `Junction`/`OrJunction` endpoint
33
+ * (for the confirmed verbs Realisation, Influence) uses a generic form
34
+ * (e.g. `GroupingElementComposition`, `RealisationRelation`) instead of a
35
+ * type-specific one.
36
+ */
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.RELATIONSHIP_MAPPINGS = void 0;
39
+ exports.lookupRelationshipMapping = lookupRelationshipMapping;
40
+ exports.RELATIONSHIP_MAPPINGS = [
41
+ {
42
+ archiRelationshipType: 'AssignmentRelationship',
43
+ sourceArchiType: 'BusinessActor',
44
+ targetArchiType: 'BusinessProcess',
45
+ xmaType: 'BusinessActorBusinessProcessAssignment',
46
+ scheme: 'BusinessScheme',
47
+ },
48
+ {
49
+ // Archi calls this a ServingRelationship; the XMA metamodel's own name for
50
+ // it is "...Use", not "...Serving" — do not rename it back.
51
+ archiRelationshipType: 'ServingRelationship',
52
+ sourceArchiType: 'ApplicationService',
53
+ targetArchiType: 'BusinessProcess',
54
+ xmaType: 'ApplicationServiceBusinessProcessUse',
55
+ scheme: 'ApplicationScheme',
56
+ },
57
+ {
58
+ archiRelationshipType: 'FlowRelationship',
59
+ sourceArchiType: 'BusinessProcess',
60
+ targetArchiType: 'BusinessProcess',
61
+ xmaType: 'BusinessProcessBusinessProcessFlow',
62
+ scheme: 'BusinessScheme',
63
+ },
64
+ // StrategyScheme
65
+ {
66
+ archiRelationshipType: 'ServingRelationship',
67
+ sourceArchiType: 'Capability',
68
+ targetArchiType: 'ValueStream',
69
+ xmaType: 'StrategyCapabilityStrategyValueStreamUse',
70
+ scheme: 'StrategyScheme',
71
+ },
72
+ {
73
+ archiRelationshipType: 'CompositionRelationship',
74
+ sourceArchiType: 'ValueStream',
75
+ targetArchiType: 'ValueStream',
76
+ xmaType: 'StrategyValueStreamStrategyValueStreamComposition',
77
+ scheme: 'StrategyScheme',
78
+ },
79
+ {
80
+ archiRelationshipType: 'FlowRelationship',
81
+ sourceArchiType: 'ValueStream',
82
+ targetArchiType: 'ValueStream',
83
+ xmaType: 'StrategyValueStreamStrategyValueStreamFlow',
84
+ scheme: 'StrategyScheme',
85
+ },
86
+ {
87
+ archiRelationshipType: 'FlowRelationship',
88
+ sourceArchiType: 'ValueStream',
89
+ targetArchiType: 'CourseOfAction',
90
+ xmaType: 'StrategyValueStreamStrategyCourseOfActionFlow',
91
+ scheme: 'StrategyScheme',
92
+ },
93
+ // BusinessScheme
94
+ {
95
+ archiRelationshipType: 'CompositionRelationship',
96
+ sourceArchiType: 'BusinessProcess',
97
+ targetArchiType: 'BusinessFunction',
98
+ xmaType: 'BusinessProcessBusinessFunctionComposition',
99
+ scheme: 'BusinessScheme',
100
+ },
101
+ {
102
+ archiRelationshipType: 'CompositionRelationship',
103
+ sourceArchiType: 'BusinessProcess',
104
+ targetArchiType: 'BusinessProcess',
105
+ xmaType: 'BusinessProcessBusinessProcessComposition',
106
+ scheme: 'BusinessScheme',
107
+ },
108
+ {
109
+ archiRelationshipType: 'AssignmentRelationship',
110
+ sourceArchiType: 'BusinessActor',
111
+ targetArchiType: 'BusinessRole',
112
+ xmaType: 'BusinessActorBusinessRoleAssignment',
113
+ scheme: 'BusinessScheme',
114
+ },
115
+ {
116
+ archiRelationshipType: 'AssignmentRelationship',
117
+ sourceArchiType: 'BusinessRole',
118
+ targetArchiType: 'BusinessProcess',
119
+ xmaType: 'BusinessRoleBusinessProcessAssignment',
120
+ scheme: 'BusinessScheme',
121
+ },
122
+ {
123
+ archiRelationshipType: 'AccessRelationship',
124
+ sourceArchiType: 'BusinessProcess',
125
+ targetArchiType: 'Representation',
126
+ xmaType: 'BusinessProcessBusinessRepresentationAccess',
127
+ scheme: 'BusinessScheme',
128
+ },
129
+ {
130
+ archiRelationshipType: 'AccessRelationship',
131
+ sourceArchiType: 'BusinessProcess',
132
+ targetArchiType: 'BusinessObject',
133
+ xmaType: 'BusinessProcessBusinessObjectAccess',
134
+ scheme: 'BusinessScheme',
135
+ },
136
+ {
137
+ archiRelationshipType: 'CompositionRelationship',
138
+ sourceArchiType: 'BusinessRole',
139
+ targetArchiType: 'BusinessRole',
140
+ xmaType: 'BusinessRoleBusinessRoleComposition',
141
+ scheme: 'BusinessScheme',
142
+ },
143
+ {
144
+ archiRelationshipType: 'TriggeringRelationship',
145
+ sourceArchiType: 'BusinessEvent',
146
+ targetArchiType: 'BusinessEvent',
147
+ xmaType: 'BusinessEventBusinessEventTriggering',
148
+ scheme: 'BusinessScheme',
149
+ },
150
+ {
151
+ archiRelationshipType: 'SpecializationRelationship',
152
+ sourceArchiType: 'BusinessRole',
153
+ targetArchiType: 'BusinessRole',
154
+ xmaType: 'BusinessRoleBusinessRoleSpecialization',
155
+ scheme: 'BusinessScheme',
156
+ },
157
+ {
158
+ archiRelationshipType: 'TriggeringRelationship',
159
+ sourceArchiType: 'BusinessEvent',
160
+ targetArchiType: 'BusinessProcess',
161
+ xmaType: 'BusinessEventBusinessProcessTriggering',
162
+ scheme: 'BusinessScheme',
163
+ },
164
+ {
165
+ archiRelationshipType: 'SpecializationRelationship',
166
+ sourceArchiType: 'BusinessActor',
167
+ targetArchiType: 'BusinessActor',
168
+ xmaType: 'BusinessActorBusinessActorSpecialization',
169
+ scheme: 'BusinessScheme',
170
+ },
171
+ {
172
+ archiRelationshipType: 'TriggeringRelationship',
173
+ sourceArchiType: 'BusinessProcess',
174
+ targetArchiType: 'BusinessEvent',
175
+ xmaType: 'BusinessProcessBusinessEventTriggering',
176
+ scheme: 'BusinessScheme',
177
+ },
178
+ {
179
+ archiRelationshipType: 'RealizationRelationship',
180
+ sourceArchiType: 'BusinessProcess',
181
+ targetArchiType: 'Capability',
182
+ xmaType: 'BusinessProcessStrategyCapabilityRealisation',
183
+ scheme: 'BusinessScheme',
184
+ },
185
+ {
186
+ archiRelationshipType: 'RealizationRelationship',
187
+ sourceArchiType: 'Representation',
188
+ targetArchiType: 'Requirement',
189
+ xmaType: 'BusinessRepresentationMotivationRequirementRealisation',
190
+ scheme: 'BusinessScheme',
191
+ },
192
+ {
193
+ archiRelationshipType: 'CompositionRelationship',
194
+ sourceArchiType: 'BusinessActor',
195
+ targetArchiType: 'BusinessActor',
196
+ xmaType: 'BusinessActorBusinessActorComposition',
197
+ scheme: 'BusinessScheme',
198
+ },
199
+ {
200
+ archiRelationshipType: 'CompositionRelationship',
201
+ sourceArchiType: 'Representation',
202
+ targetArchiType: 'Representation',
203
+ xmaType: 'BusinessRepresentationBusinessRepresentationComposition',
204
+ scheme: 'BusinessScheme',
205
+ },
206
+ {
207
+ archiRelationshipType: 'AssignmentRelationship',
208
+ sourceArchiType: 'BusinessActor',
209
+ targetArchiType: 'BusinessEvent',
210
+ xmaType: 'BusinessActorBusinessEventAssignment',
211
+ scheme: 'BusinessScheme',
212
+ },
213
+ {
214
+ archiRelationshipType: 'InfluenceRelationship',
215
+ sourceArchiType: 'BusinessEvent',
216
+ targetArchiType: 'Assessment',
217
+ xmaType: 'BusinessEventMotivationAssessmentInfluence',
218
+ scheme: 'BusinessScheme',
219
+ },
220
+ {
221
+ archiRelationshipType: 'InfluenceRelationship',
222
+ sourceArchiType: 'BusinessService',
223
+ targetArchiType: 'Assessment',
224
+ xmaType: 'BusinessServiceMotivationAssessmentInfluence',
225
+ scheme: 'BusinessScheme',
226
+ },
227
+ {
228
+ archiRelationshipType: 'RealizationRelationship',
229
+ sourceArchiType: 'BusinessService',
230
+ targetArchiType: 'Requirement',
231
+ xmaType: 'BusinessServiceMotivationRequirementRealisation',
232
+ scheme: 'BusinessScheme',
233
+ },
234
+ // ApplicationScheme
235
+ {
236
+ archiRelationshipType: 'RealizationRelationship',
237
+ sourceArchiType: 'ApplicationComponent',
238
+ targetArchiType: 'ApplicationService',
239
+ xmaType: 'ApplicationComponentApplicationServiceRealisation',
240
+ scheme: 'ApplicationScheme',
241
+ },
242
+ {
243
+ archiRelationshipType: 'AccessRelationship',
244
+ sourceArchiType: 'ApplicationFunction',
245
+ targetArchiType: 'DataObject',
246
+ xmaType: 'ApplicationFunctionApplicationDataObjectAccess',
247
+ scheme: 'ApplicationScheme',
248
+ },
249
+ {
250
+ archiRelationshipType: 'AssignmentRelationship',
251
+ sourceArchiType: 'ApplicationComponent',
252
+ targetArchiType: 'ApplicationFunction',
253
+ xmaType: 'ApplicationComponentApplicationFunctionAssignment',
254
+ scheme: 'ApplicationScheme',
255
+ },
256
+ {
257
+ archiRelationshipType: 'RealizationRelationship',
258
+ sourceArchiType: 'DataObject',
259
+ targetArchiType: 'BusinessObject',
260
+ xmaType: 'ApplicationDataObjectBusinessObjectRealisation',
261
+ scheme: 'ApplicationScheme',
262
+ },
263
+ {
264
+ archiRelationshipType: 'ServingRelationship',
265
+ sourceArchiType: 'ApplicationFunction',
266
+ targetArchiType: 'BusinessProcess',
267
+ xmaType: 'ApplicationFunctionBusinessProcessUse',
268
+ scheme: 'ApplicationScheme',
269
+ },
270
+ {
271
+ archiRelationshipType: 'ServingRelationship',
272
+ sourceArchiType: 'ApplicationComponent',
273
+ targetArchiType: 'BusinessRole',
274
+ xmaType: 'ApplicationComponentBusinessRoleUse',
275
+ scheme: 'ApplicationScheme',
276
+ },
277
+ {
278
+ archiRelationshipType: 'AccessRelationship',
279
+ sourceArchiType: 'ApplicationService',
280
+ targetArchiType: 'DataObject',
281
+ xmaType: 'ApplicationServiceApplicationDataObjectAccess',
282
+ scheme: 'ApplicationScheme',
283
+ },
284
+ {
285
+ archiRelationshipType: 'RealizationRelationship',
286
+ sourceArchiType: 'DataObject',
287
+ targetArchiType: 'Requirement',
288
+ xmaType: 'ApplicationDataObjectMotivationRequirementRealisation',
289
+ scheme: 'ApplicationScheme',
290
+ },
291
+ {
292
+ archiRelationshipType: 'CompositionRelationship',
293
+ sourceArchiType: 'ApplicationComponent',
294
+ targetArchiType: 'ApplicationComponent',
295
+ xmaType: 'ApplicationComponentApplicationComponentComposition',
296
+ scheme: 'ApplicationScheme',
297
+ },
298
+ {
299
+ archiRelationshipType: 'ServingRelationship',
300
+ sourceArchiType: 'ApplicationComponent',
301
+ targetArchiType: 'ApplicationComponent',
302
+ xmaType: 'ApplicationComponentApplicationComponentUse',
303
+ scheme: 'ApplicationScheme',
304
+ },
305
+ {
306
+ archiRelationshipType: 'InfluenceRelationship',
307
+ sourceArchiType: 'ApplicationService',
308
+ targetArchiType: 'Assessment',
309
+ xmaType: 'ApplicationServiceMotivationAssessmentInfluence',
310
+ scheme: 'ApplicationScheme',
311
+ },
312
+ // TechnologyScheme
313
+ {
314
+ archiRelationshipType: 'ServingRelationship',
315
+ sourceArchiType: 'TechnologyService',
316
+ targetArchiType: 'ApplicationComponent',
317
+ xmaType: 'TechnologyServiceApplicationComponentUse',
318
+ scheme: 'TechnologyScheme',
319
+ },
320
+ {
321
+ archiRelationshipType: 'RealizationRelationship',
322
+ sourceArchiType: 'TechnologyService',
323
+ targetArchiType: 'Requirement',
324
+ xmaType: 'TechnologyServiceMotivationRequirementRealisation',
325
+ scheme: 'TechnologyScheme',
326
+ },
327
+ {
328
+ archiRelationshipType: 'AccessRelationship',
329
+ sourceArchiType: 'TechnologyService',
330
+ targetArchiType: 'Artifact',
331
+ xmaType: 'TechnologyServiceTechnologyArtifactAccess',
332
+ scheme: 'TechnologyScheme',
333
+ },
334
+ {
335
+ archiRelationshipType: 'AssignmentRelationship',
336
+ sourceArchiType: 'Node',
337
+ targetArchiType: 'Artifact',
338
+ xmaType: 'TechnologyNodeTechnologyArtifactAssignment',
339
+ scheme: 'TechnologyScheme',
340
+ },
341
+ {
342
+ archiRelationshipType: 'RealizationRelationship',
343
+ sourceArchiType: 'Artifact',
344
+ targetArchiType: 'DataObject',
345
+ xmaType: 'TechnologyArtifactApplicationDataObjectRealisation',
346
+ scheme: 'TechnologyScheme',
347
+ },
348
+ {
349
+ archiRelationshipType: 'InfluenceRelationship',
350
+ sourceArchiType: 'TechnologyService',
351
+ targetArchiType: 'Assessment',
352
+ xmaType: 'TechnologyServiceMotivationAssessmentInfluence',
353
+ scheme: 'TechnologyScheme',
354
+ },
355
+ // PhysicalScheme
356
+ {
357
+ archiRelationshipType: 'CompositionRelationship',
358
+ sourceArchiType: 'Facility',
359
+ targetArchiType: 'Facility',
360
+ xmaType: 'PhysicalFacilityPhysicalFacilityComposition',
361
+ scheme: 'PhysicalScheme',
362
+ },
363
+ // MotivationScheme
364
+ {
365
+ archiRelationshipType: 'SpecializationRelationship',
366
+ sourceArchiType: 'Principle',
367
+ targetArchiType: 'Principle',
368
+ xmaType: 'MotivationPrincipleMotivationPrincipleSpecialization',
369
+ scheme: 'MotivationScheme',
370
+ },
371
+ {
372
+ archiRelationshipType: 'InfluenceRelationship',
373
+ sourceArchiType: 'Principle',
374
+ targetArchiType: 'Principle',
375
+ xmaType: 'MotivationPrincipleMotivationPrincipleInfluence',
376
+ scheme: 'MotivationScheme',
377
+ },
378
+ {
379
+ archiRelationshipType: 'RealizationRelationship',
380
+ sourceArchiType: 'Requirement',
381
+ targetArchiType: 'Goal',
382
+ xmaType: 'MotivationRequirementMotivationGoalRealisation',
383
+ scheme: 'MotivationScheme',
384
+ },
385
+ {
386
+ archiRelationshipType: 'CompositionRelationship',
387
+ sourceArchiType: 'Value',
388
+ targetArchiType: 'Value',
389
+ xmaType: 'MotivationValueMotivationValueComposition',
390
+ scheme: 'MotivationScheme',
391
+ },
392
+ {
393
+ archiRelationshipType: 'RealizationRelationship',
394
+ sourceArchiType: 'Requirement',
395
+ targetArchiType: 'Principle',
396
+ xmaType: 'MotivationRequirementMotivationPrincipleRealisation',
397
+ scheme: 'MotivationScheme',
398
+ },
399
+ {
400
+ archiRelationshipType: 'InfluenceRelationship',
401
+ sourceArchiType: 'Goal',
402
+ targetArchiType: 'Principle',
403
+ xmaType: 'MotivationGoalMotivationPrincipleInfluence',
404
+ scheme: 'MotivationScheme',
405
+ },
406
+ {
407
+ archiRelationshipType: 'SpecializationRelationship',
408
+ sourceArchiType: 'Assessment',
409
+ targetArchiType: 'Assessment',
410
+ xmaType: 'MotivationAssessmentMotivationAssessmentSpecialization',
411
+ scheme: 'MotivationScheme',
412
+ },
413
+ {
414
+ archiRelationshipType: 'SpecializationRelationship',
415
+ sourceArchiType: 'Outcome',
416
+ targetArchiType: 'Outcome',
417
+ xmaType: 'MotivationOutcomeMotivationOutcomeSpecialization',
418
+ scheme: 'MotivationScheme',
419
+ },
420
+ {
421
+ archiRelationshipType: 'RealizationRelationship',
422
+ sourceArchiType: 'Principle',
423
+ targetArchiType: 'Goal',
424
+ xmaType: 'MotivationPrincipleMotivationGoalRealisation',
425
+ scheme: 'MotivationScheme',
426
+ },
427
+ {
428
+ archiRelationshipType: 'SpecializationRelationship',
429
+ sourceArchiType: 'Value',
430
+ targetArchiType: 'Value',
431
+ xmaType: 'MotivationValueMotivationValueSpecialization',
432
+ scheme: 'MotivationScheme',
433
+ },
434
+ {
435
+ archiRelationshipType: 'SpecializationRelationship',
436
+ sourceArchiType: 'Goal',
437
+ targetArchiType: 'Goal',
438
+ xmaType: 'MotivationGoalMotivationGoalSpecialization',
439
+ scheme: 'MotivationScheme',
440
+ },
441
+ {
442
+ archiRelationshipType: 'CompositionRelationship',
443
+ sourceArchiType: 'Requirement',
444
+ targetArchiType: 'Requirement',
445
+ xmaType: 'MotivationRequirementMotivationRequirementComposition',
446
+ scheme: 'MotivationScheme',
447
+ },
448
+ {
449
+ archiRelationshipType: 'RealizationRelationship',
450
+ sourceArchiType: 'Requirement',
451
+ targetArchiType: 'Outcome',
452
+ xmaType: 'MotivationRequirementMotivationOutcomeRealisation',
453
+ scheme: 'MotivationScheme',
454
+ },
455
+ {
456
+ archiRelationshipType: 'RealizationRelationship',
457
+ sourceArchiType: 'Principle',
458
+ targetArchiType: 'Outcome',
459
+ xmaType: 'MotivationPrincipleMotivationOutcomeRealisation',
460
+ scheme: 'MotivationScheme',
461
+ },
462
+ {
463
+ archiRelationshipType: 'InfluenceRelationship',
464
+ sourceArchiType: 'Assessment',
465
+ targetArchiType: 'Assessment',
466
+ xmaType: 'MotivationAssessmentMotivationAssessmentInfluence',
467
+ scheme: 'MotivationScheme',
468
+ },
469
+ {
470
+ archiRelationshipType: 'InfluenceRelationship',
471
+ sourceArchiType: 'Assessment',
472
+ targetArchiType: 'Goal',
473
+ xmaType: 'MotivationAssessmentMotivationGoalInfluence',
474
+ scheme: 'MotivationScheme',
475
+ },
476
+ {
477
+ archiRelationshipType: 'InfluenceRelationship',
478
+ sourceArchiType: 'Goal',
479
+ targetArchiType: 'Assessment',
480
+ xmaType: 'MotivationGoalMotivationAssessmentInfluence',
481
+ scheme: 'MotivationScheme',
482
+ },
483
+ {
484
+ archiRelationshipType: 'RealizationRelationship',
485
+ sourceArchiType: 'Outcome',
486
+ targetArchiType: 'Goal',
487
+ xmaType: 'MotivationOutcomeMotivationGoalRealisation',
488
+ scheme: 'MotivationScheme',
489
+ },
490
+ // IMScheme
491
+ {
492
+ archiRelationshipType: 'AccessRelationship',
493
+ sourceArchiType: 'WorkPackage',
494
+ targetArchiType: 'Deliverable',
495
+ xmaType: 'IMWorkpackageIMDeliverableAccess',
496
+ scheme: 'IMScheme',
497
+ },
498
+ {
499
+ archiRelationshipType: 'RealizationRelationship',
500
+ sourceArchiType: 'WorkPackage',
501
+ targetArchiType: 'BusinessFunction',
502
+ xmaType: 'IMWorkpackageBusinessFunctionRealisation',
503
+ scheme: 'IMScheme',
504
+ },
505
+ {
506
+ archiRelationshipType: 'RealizationRelationship',
507
+ sourceArchiType: 'WorkPackage',
508
+ targetArchiType: 'BusinessProcess',
509
+ xmaType: 'IMWorkpackageBusinessProcessRealisation',
510
+ scheme: 'IMScheme',
511
+ },
512
+ {
513
+ archiRelationshipType: 'CompositionRelationship',
514
+ sourceArchiType: 'Deliverable',
515
+ targetArchiType: 'Deliverable',
516
+ xmaType: 'IMDeliverableIMDeliverableComposition',
517
+ scheme: 'IMScheme',
518
+ },
519
+ // From tests/fixtures/agile-manifesto/ (20 more, including the first confirmed
520
+ // Driver-involving Influence/Specialization mappings)
521
+ {
522
+ archiRelationshipType: 'ServingRelationship',
523
+ sourceArchiType: 'ApplicationComponent',
524
+ targetArchiType: 'BusinessInteraction',
525
+ xmaType: 'ApplicationComponentBusinessInteractionUse',
526
+ scheme: 'ApplicationScheme',
527
+ },
528
+ {
529
+ archiRelationshipType: 'ServingRelationship',
530
+ sourceArchiType: 'BusinessFunction',
531
+ targetArchiType: 'BusinessFunction',
532
+ xmaType: 'BusinessFunctionBusinessFunctionUse',
533
+ scheme: 'BusinessScheme',
534
+ },
535
+ {
536
+ archiRelationshipType: 'RealizationRelationship',
537
+ sourceArchiType: 'Deliverable',
538
+ targetArchiType: 'BusinessProcess',
539
+ xmaType: 'IMDeliverableBusinessProcessRealisation',
540
+ scheme: 'IMScheme',
541
+ },
542
+ {
543
+ archiRelationshipType: 'RealizationRelationship',
544
+ sourceArchiType: 'Deliverable',
545
+ targetArchiType: 'ApplicationComponent',
546
+ xmaType: 'IMDeliverableApplicationComponentRealisation',
547
+ scheme: 'IMScheme',
548
+ },
549
+ {
550
+ archiRelationshipType: 'RealizationRelationship',
551
+ sourceArchiType: 'ApplicationComponent',
552
+ targetArchiType: 'BusinessProcess',
553
+ xmaType: 'ApplicationComponentBusinessProcessRealisation',
554
+ scheme: 'ApplicationScheme',
555
+ },
556
+ {
557
+ archiRelationshipType: 'SpecializationRelationship',
558
+ sourceArchiType: 'BusinessProcess',
559
+ targetArchiType: 'BusinessProcess',
560
+ xmaType: 'BusinessProcessBusinessProcessSpecialization',
561
+ scheme: 'BusinessScheme',
562
+ },
563
+ {
564
+ archiRelationshipType: 'AssignmentRelationship',
565
+ sourceArchiType: 'BusinessActor',
566
+ targetArchiType: 'BusinessInteraction',
567
+ xmaType: 'BusinessActorBusinessInteractionAssignment',
568
+ scheme: 'BusinessScheme',
569
+ },
570
+ {
571
+ archiRelationshipType: 'RealizationRelationship',
572
+ sourceArchiType: 'ApplicationComponent',
573
+ targetArchiType: 'BusinessInteraction',
574
+ xmaType: 'ApplicationComponentBusinessInteractionRealisation',
575
+ scheme: 'ApplicationScheme',
576
+ },
577
+ {
578
+ archiRelationshipType: 'ServingRelationship',
579
+ sourceArchiType: 'BusinessProcess',
580
+ targetArchiType: 'BusinessProcess',
581
+ xmaType: 'BusinessProcessBusinessProcessUse',
582
+ scheme: 'BusinessScheme',
583
+ },
584
+ {
585
+ archiRelationshipType: 'SpecializationRelationship',
586
+ sourceArchiType: 'Driver',
587
+ targetArchiType: 'Driver',
588
+ xmaType: 'MotivationDriverMotivationDriverSpecialization',
589
+ scheme: 'MotivationScheme',
590
+ },
591
+ {
592
+ archiRelationshipType: 'InfluenceRelationship',
593
+ sourceArchiType: 'Principle',
594
+ targetArchiType: 'Driver',
595
+ xmaType: 'MotivationPrincipleMotivationDriverInfluence',
596
+ scheme: 'MotivationScheme',
597
+ },
598
+ {
599
+ archiRelationshipType: 'InfluenceRelationship',
600
+ sourceArchiType: 'Driver',
601
+ targetArchiType: 'Driver',
602
+ xmaType: 'MotivationDriverMotivationDriverInfluence',
603
+ scheme: 'MotivationScheme',
604
+ },
605
+ {
606
+ archiRelationshipType: 'SpecializationRelationship',
607
+ sourceArchiType: 'Meaning',
608
+ targetArchiType: 'Meaning',
609
+ xmaType: 'MotivationMeaningMotivationMeaningSpecialization',
610
+ scheme: 'MotivationScheme',
611
+ },
612
+ {
613
+ archiRelationshipType: 'InfluenceRelationship',
614
+ sourceArchiType: 'Requirement',
615
+ targetArchiType: 'Driver',
616
+ xmaType: 'MotivationRequirementMotivationDriverInfluence',
617
+ scheme: 'MotivationScheme',
618
+ },
619
+ {
620
+ archiRelationshipType: 'InfluenceRelationship',
621
+ sourceArchiType: 'Requirement',
622
+ targetArchiType: 'Requirement',
623
+ xmaType: 'MotivationRequirementMotivationRequirementInfluence',
624
+ scheme: 'MotivationScheme',
625
+ },
626
+ {
627
+ archiRelationshipType: 'InfluenceRelationship',
628
+ sourceArchiType: 'Principle',
629
+ targetArchiType: 'Requirement',
630
+ xmaType: 'MotivationPrincipleMotivationRequirementInfluence',
631
+ scheme: 'MotivationScheme',
632
+ },
633
+ {
634
+ archiRelationshipType: 'InfluenceRelationship',
635
+ sourceArchiType: 'Assessment',
636
+ targetArchiType: 'Driver',
637
+ xmaType: 'MotivationAssessmentMotivationDriverInfluence',
638
+ scheme: 'MotivationScheme',
639
+ },
640
+ {
641
+ archiRelationshipType: 'InfluenceRelationship',
642
+ sourceArchiType: 'Principle',
643
+ targetArchiType: 'Assessment',
644
+ xmaType: 'MotivationPrincipleMotivationAssessmentInfluence',
645
+ scheme: 'MotivationScheme',
646
+ },
647
+ {
648
+ archiRelationshipType: 'InfluenceRelationship',
649
+ sourceArchiType: 'Driver',
650
+ targetArchiType: 'Requirement',
651
+ xmaType: 'MotivationDriverMotivationRequirementInfluence',
652
+ scheme: 'MotivationScheme',
653
+ },
654
+ {
655
+ archiRelationshipType: 'InfluenceRelationship',
656
+ sourceArchiType: 'Assessment',
657
+ targetArchiType: 'Requirement',
658
+ xmaType: 'MotivationAssessmentMotivationRequirementInfluence',
659
+ scheme: 'MotivationScheme',
660
+ },
661
+ // Confirmed "...Collaboration collapses to its singular active-structure counterpart"
662
+ // instances (BusinessCollaboration -> BusinessRole, TechnologyCollaboration ->
663
+ // TechnologyNode) — these are still exact-triple entries keyed by the real Archi
664
+ // type; only the xmaType value reflects the collapse. See tests/fixtures/README.md.
665
+ {
666
+ archiRelationshipType: 'TriggeringRelationship',
667
+ sourceArchiType: 'BusinessCollaboration',
668
+ targetArchiType: 'BusinessProcess',
669
+ xmaType: 'BusinessRoleBusinessProcessTriggering',
670
+ scheme: 'BusinessScheme',
671
+ },
672
+ {
673
+ archiRelationshipType: 'ServingRelationship',
674
+ sourceArchiType: 'ApplicationComponent',
675
+ targetArchiType: 'BusinessCollaboration',
676
+ xmaType: 'ApplicationComponentBusinessRoleUse',
677
+ scheme: 'ApplicationScheme',
678
+ },
679
+ {
680
+ archiRelationshipType: 'ServingRelationship',
681
+ sourceArchiType: 'TechnologyCollaboration',
682
+ targetArchiType: 'ApplicationComponent',
683
+ xmaType: 'TechnologyNodeApplicationComponentUse',
684
+ scheme: 'TechnologyScheme',
685
+ },
686
+ ];
687
+ function relationshipKey(relationshipType, sourceType, targetType) {
688
+ return `${relationshipType}|${sourceType}|${targetType}`;
689
+ }
690
+ const BY_KEY = new Map(exports.RELATIONSHIP_MAPPINGS.map((entry) => [
691
+ relationshipKey(entry.archiRelationshipType, entry.sourceArchiType, entry.targetArchiType),
692
+ entry,
693
+ ]));
694
+ function lookupRelationshipMapping(relationshipType, sourceArchiType, targetArchiType) {
695
+ return BY_KEY.get(relationshipKey(relationshipType, sourceArchiType, targetArchiType));
696
+ }
697
+ //# sourceMappingURL=relationship-mapping.js.map