@memoarchitect/tools 0.4.4

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 (588) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +171 -0
  3. package/package.json +86 -0
  4. package/packages/tools/lib/__tests__/archetype-parsing.test.d.ts +2 -0
  5. package/packages/tools/lib/__tests__/archetype-parsing.test.d.ts.map +1 -0
  6. package/packages/tools/lib/__tests__/archetype-parsing.test.js +42 -0
  7. package/packages/tools/lib/__tests__/archetype-parsing.test.js.map +1 -0
  8. package/packages/tools/lib/__tests__/architecture-discovery.test.d.ts +2 -0
  9. package/packages/tools/lib/__tests__/architecture-discovery.test.d.ts.map +1 -0
  10. package/packages/tools/lib/__tests__/architecture-discovery.test.js +82 -0
  11. package/packages/tools/lib/__tests__/architecture-discovery.test.js.map +1 -0
  12. package/packages/tools/lib/__tests__/behavior.test.d.ts +2 -0
  13. package/packages/tools/lib/__tests__/behavior.test.d.ts.map +1 -0
  14. package/packages/tools/lib/__tests__/behavior.test.js +766 -0
  15. package/packages/tools/lib/__tests__/behavior.test.js.map +1 -0
  16. package/packages/tools/lib/__tests__/builder.test.d.ts +2 -0
  17. package/packages/tools/lib/__tests__/builder.test.d.ts.map +1 -0
  18. package/packages/tools/lib/__tests__/builder.test.js +728 -0
  19. package/packages/tools/lib/__tests__/builder.test.js.map +1 -0
  20. package/packages/tools/lib/__tests__/config-loader.test.d.ts +2 -0
  21. package/packages/tools/lib/__tests__/config-loader.test.d.ts.map +1 -0
  22. package/packages/tools/lib/__tests__/config-loader.test.js +196 -0
  23. package/packages/tools/lib/__tests__/config-loader.test.js.map +1 -0
  24. package/packages/tools/lib/__tests__/conformance.test.d.ts +2 -0
  25. package/packages/tools/lib/__tests__/conformance.test.d.ts.map +1 -0
  26. package/packages/tools/lib/__tests__/conformance.test.js +467 -0
  27. package/packages/tools/lib/__tests__/conformance.test.js.map +1 -0
  28. package/packages/tools/lib/__tests__/constraint-eval.test.d.ts +2 -0
  29. package/packages/tools/lib/__tests__/constraint-eval.test.d.ts.map +1 -0
  30. package/packages/tools/lib/__tests__/constraint-eval.test.js +195 -0
  31. package/packages/tools/lib/__tests__/constraint-eval.test.js.map +1 -0
  32. package/packages/tools/lib/__tests__/constraint-grammar.test.d.ts +2 -0
  33. package/packages/tools/lib/__tests__/constraint-grammar.test.d.ts.map +1 -0
  34. package/packages/tools/lib/__tests__/constraint-grammar.test.js +163 -0
  35. package/packages/tools/lib/__tests__/constraint-grammar.test.js.map +1 -0
  36. package/packages/tools/lib/__tests__/constraint-loader.test.d.ts +2 -0
  37. package/packages/tools/lib/__tests__/constraint-loader.test.d.ts.map +1 -0
  38. package/packages/tools/lib/__tests__/constraint-loader.test.js +150 -0
  39. package/packages/tools/lib/__tests__/constraint-loader.test.js.map +1 -0
  40. package/packages/tools/lib/__tests__/csv-io.test.d.ts +2 -0
  41. package/packages/tools/lib/__tests__/csv-io.test.d.ts.map +1 -0
  42. package/packages/tools/lib/__tests__/csv-io.test.js +317 -0
  43. package/packages/tools/lib/__tests__/csv-io.test.js.map +1 -0
  44. package/packages/tools/lib/__tests__/dhf-doc-store.test.d.ts +2 -0
  45. package/packages/tools/lib/__tests__/dhf-doc-store.test.d.ts.map +1 -0
  46. package/packages/tools/lib/__tests__/dhf-doc-store.test.js +94 -0
  47. package/packages/tools/lib/__tests__/dhf-doc-store.test.js.map +1 -0
  48. package/packages/tools/lib/__tests__/dhf-template-resolver.test.d.ts +2 -0
  49. package/packages/tools/lib/__tests__/dhf-template-resolver.test.d.ts.map +1 -0
  50. package/packages/tools/lib/__tests__/dhf-template-resolver.test.js +39 -0
  51. package/packages/tools/lib/__tests__/dhf-template-resolver.test.js.map +1 -0
  52. package/packages/tools/lib/__tests__/dhf.test.d.ts +2 -0
  53. package/packages/tools/lib/__tests__/dhf.test.d.ts.map +1 -0
  54. package/packages/tools/lib/__tests__/dhf.test.js +393 -0
  55. package/packages/tools/lib/__tests__/dhf.test.js.map +1 -0
  56. package/packages/tools/lib/__tests__/dimension-filter.test.d.ts +2 -0
  57. package/packages/tools/lib/__tests__/dimension-filter.test.d.ts.map +1 -0
  58. package/packages/tools/lib/__tests__/dimension-filter.test.js +85 -0
  59. package/packages/tools/lib/__tests__/dimension-filter.test.js.map +1 -0
  60. package/packages/tools/lib/__tests__/dsm.test.d.ts +2 -0
  61. package/packages/tools/lib/__tests__/dsm.test.d.ts.map +1 -0
  62. package/packages/tools/lib/__tests__/dsm.test.js +112 -0
  63. package/packages/tools/lib/__tests__/dsm.test.js.map +1 -0
  64. package/packages/tools/lib/__tests__/e2e-workflow.test.d.ts +2 -0
  65. package/packages/tools/lib/__tests__/e2e-workflow.test.d.ts.map +1 -0
  66. package/packages/tools/lib/__tests__/e2e-workflow.test.js +707 -0
  67. package/packages/tools/lib/__tests__/e2e-workflow.test.js.map +1 -0
  68. package/packages/tools/lib/__tests__/file-watcher.test.d.ts +2 -0
  69. package/packages/tools/lib/__tests__/file-watcher.test.d.ts.map +1 -0
  70. package/packages/tools/lib/__tests__/file-watcher.test.js +31 -0
  71. package/packages/tools/lib/__tests__/file-watcher.test.js.map +1 -0
  72. package/packages/tools/lib/__tests__/impact.test.d.ts +2 -0
  73. package/packages/tools/lib/__tests__/impact.test.d.ts.map +1 -0
  74. package/packages/tools/lib/__tests__/impact.test.js +82 -0
  75. package/packages/tools/lib/__tests__/impact.test.js.map +1 -0
  76. package/packages/tools/lib/__tests__/importer.test.d.ts +2 -0
  77. package/packages/tools/lib/__tests__/importer.test.d.ts.map +1 -0
  78. package/packages/tools/lib/__tests__/importer.test.js +336 -0
  79. package/packages/tools/lib/__tests__/importer.test.js.map +1 -0
  80. package/packages/tools/lib/__tests__/kind-registry.test.d.ts +2 -0
  81. package/packages/tools/lib/__tests__/kind-registry.test.d.ts.map +1 -0
  82. package/packages/tools/lib/__tests__/kind-registry.test.js +132 -0
  83. package/packages/tools/lib/__tests__/kind-registry.test.js.map +1 -0
  84. package/packages/tools/lib/__tests__/llm.test.d.ts +2 -0
  85. package/packages/tools/lib/__tests__/llm.test.d.ts.map +1 -0
  86. package/packages/tools/lib/__tests__/llm.test.js +275 -0
  87. package/packages/tools/lib/__tests__/llm.test.js.map +1 -0
  88. package/packages/tools/lib/__tests__/manifest-resolver.test.d.ts +2 -0
  89. package/packages/tools/lib/__tests__/manifest-resolver.test.d.ts.map +1 -0
  90. package/packages/tools/lib/__tests__/manifest-resolver.test.js +97 -0
  91. package/packages/tools/lib/__tests__/manifest-resolver.test.js.map +1 -0
  92. package/packages/tools/lib/__tests__/markdown-to-ir.test.d.ts +2 -0
  93. package/packages/tools/lib/__tests__/markdown-to-ir.test.d.ts.map +1 -0
  94. package/packages/tools/lib/__tests__/markdown-to-ir.test.js +74 -0
  95. package/packages/tools/lib/__tests__/markdown-to-ir.test.js.map +1 -0
  96. package/packages/tools/lib/__tests__/methodology-scope.test.d.ts +2 -0
  97. package/packages/tools/lib/__tests__/methodology-scope.test.d.ts.map +1 -0
  98. package/packages/tools/lib/__tests__/methodology-scope.test.js +59 -0
  99. package/packages/tools/lib/__tests__/methodology-scope.test.js.map +1 -0
  100. package/packages/tools/lib/__tests__/parser.test.d.ts +2 -0
  101. package/packages/tools/lib/__tests__/parser.test.d.ts.map +1 -0
  102. package/packages/tools/lib/__tests__/parser.test.js +938 -0
  103. package/packages/tools/lib/__tests__/parser.test.js.map +1 -0
  104. package/packages/tools/lib/__tests__/plugin.test.d.ts +2 -0
  105. package/packages/tools/lib/__tests__/plugin.test.d.ts.map +1 -0
  106. package/packages/tools/lib/__tests__/plugin.test.js +308 -0
  107. package/packages/tools/lib/__tests__/plugin.test.js.map +1 -0
  108. package/packages/tools/lib/__tests__/relationship-registry.test.d.ts +2 -0
  109. package/packages/tools/lib/__tests__/relationship-registry.test.d.ts.map +1 -0
  110. package/packages/tools/lib/__tests__/relationship-registry.test.js +96 -0
  111. package/packages/tools/lib/__tests__/relationship-registry.test.js.map +1 -0
  112. package/packages/tools/lib/__tests__/rule-registry.test.d.ts +2 -0
  113. package/packages/tools/lib/__tests__/rule-registry.test.d.ts.map +1 -0
  114. package/packages/tools/lib/__tests__/rule-registry.test.js +53 -0
  115. package/packages/tools/lib/__tests__/rule-registry.test.js.map +1 -0
  116. package/packages/tools/lib/__tests__/toolchain.test.d.ts +2 -0
  117. package/packages/tools/lib/__tests__/toolchain.test.d.ts.map +1 -0
  118. package/packages/tools/lib/__tests__/toolchain.test.js +94 -0
  119. package/packages/tools/lib/__tests__/toolchain.test.js.map +1 -0
  120. package/packages/tools/lib/__tests__/view-deriver-samples.test.d.ts +2 -0
  121. package/packages/tools/lib/__tests__/view-deriver-samples.test.d.ts.map +1 -0
  122. package/packages/tools/lib/__tests__/view-deriver-samples.test.js +39 -0
  123. package/packages/tools/lib/__tests__/view-deriver-samples.test.js.map +1 -0
  124. package/packages/tools/lib/__tests__/view-kinds.test.d.ts +2 -0
  125. package/packages/tools/lib/__tests__/view-kinds.test.d.ts.map +1 -0
  126. package/packages/tools/lib/__tests__/view-kinds.test.js +263 -0
  127. package/packages/tools/lib/__tests__/view-kinds.test.js.map +1 -0
  128. package/packages/tools/lib/__tests__/view-layout-store.test.d.ts +2 -0
  129. package/packages/tools/lib/__tests__/view-layout-store.test.d.ts.map +1 -0
  130. package/packages/tools/lib/__tests__/view-layout-store.test.js +61 -0
  131. package/packages/tools/lib/__tests__/view-layout-store.test.js.map +1 -0
  132. package/packages/tools/lib/analysis/dsm.d.ts +47 -0
  133. package/packages/tools/lib/analysis/dsm.d.ts.map +1 -0
  134. package/packages/tools/lib/analysis/dsm.js +172 -0
  135. package/packages/tools/lib/analysis/dsm.js.map +1 -0
  136. package/packages/tools/lib/analysis/impact.d.ts +35 -0
  137. package/packages/tools/lib/analysis/impact.d.ts.map +1 -0
  138. package/packages/tools/lib/analysis/impact.js +97 -0
  139. package/packages/tools/lib/analysis/impact.js.map +1 -0
  140. package/packages/tools/lib/bin/memo.d.ts +3 -0
  141. package/packages/tools/lib/bin/memo.d.ts.map +1 -0
  142. package/packages/tools/lib/bin/memo.js +461 -0
  143. package/packages/tools/lib/bin/memo.js.map +1 -0
  144. package/packages/tools/lib/browser/index.d.ts +13 -0
  145. package/packages/tools/lib/browser/index.d.ts.map +1 -0
  146. package/packages/tools/lib/browser/index.js +11 -0
  147. package/packages/tools/lib/browser/index.js.map +1 -0
  148. package/packages/tools/lib/commands/archetype-loader.d.ts +15 -0
  149. package/packages/tools/lib/commands/archetype-loader.d.ts.map +1 -0
  150. package/packages/tools/lib/commands/archetype-loader.js +31 -0
  151. package/packages/tools/lib/commands/archetype-loader.js.map +1 -0
  152. package/packages/tools/lib/commands/ask.d.ts +6 -0
  153. package/packages/tools/lib/commands/ask.d.ts.map +1 -0
  154. package/packages/tools/lib/commands/ask.js +79 -0
  155. package/packages/tools/lib/commands/ask.js.map +1 -0
  156. package/packages/tools/lib/commands/check.d.ts +6 -0
  157. package/packages/tools/lib/commands/check.d.ts.map +1 -0
  158. package/packages/tools/lib/commands/check.js +214 -0
  159. package/packages/tools/lib/commands/check.js.map +1 -0
  160. package/packages/tools/lib/commands/create-package.d.ts +12 -0
  161. package/packages/tools/lib/commands/create-package.d.ts.map +1 -0
  162. package/packages/tools/lib/commands/create-package.js +293 -0
  163. package/packages/tools/lib/commands/create-package.js.map +1 -0
  164. package/packages/tools/lib/commands/dev.d.ts +6 -0
  165. package/packages/tools/lib/commands/dev.d.ts.map +1 -0
  166. package/packages/tools/lib/commands/dev.js +316 -0
  167. package/packages/tools/lib/commands/dev.js.map +1 -0
  168. package/packages/tools/lib/commands/dhf-draft.d.ts +8 -0
  169. package/packages/tools/lib/commands/dhf-draft.d.ts.map +1 -0
  170. package/packages/tools/lib/commands/dhf-draft.js +115 -0
  171. package/packages/tools/lib/commands/dhf-draft.js.map +1 -0
  172. package/packages/tools/lib/commands/dhf-init.d.ts +4 -0
  173. package/packages/tools/lib/commands/dhf-init.d.ts.map +1 -0
  174. package/packages/tools/lib/commands/dhf-init.js +270 -0
  175. package/packages/tools/lib/commands/dhf-init.js.map +1 -0
  176. package/packages/tools/lib/commands/dhf-preview.d.ts +4 -0
  177. package/packages/tools/lib/commands/dhf-preview.d.ts.map +1 -0
  178. package/packages/tools/lib/commands/dhf-preview.js +285 -0
  179. package/packages/tools/lib/commands/dhf-preview.js.map +1 -0
  180. package/packages/tools/lib/commands/dhf.d.ts +27 -0
  181. package/packages/tools/lib/commands/dhf.d.ts.map +1 -0
  182. package/packages/tools/lib/commands/dhf.js +334 -0
  183. package/packages/tools/lib/commands/dhf.js.map +1 -0
  184. package/packages/tools/lib/commands/export.d.ts +9 -0
  185. package/packages/tools/lib/commands/export.d.ts.map +1 -0
  186. package/packages/tools/lib/commands/export.js +136 -0
  187. package/packages/tools/lib/commands/export.js.map +1 -0
  188. package/packages/tools/lib/commands/generate.d.ts +6 -0
  189. package/packages/tools/lib/commands/generate.d.ts.map +1 -0
  190. package/packages/tools/lib/commands/generate.js +80 -0
  191. package/packages/tools/lib/commands/generate.js.map +1 -0
  192. package/packages/tools/lib/commands/import-ea.d.ts +32 -0
  193. package/packages/tools/lib/commands/import-ea.d.ts.map +1 -0
  194. package/packages/tools/lib/commands/import-ea.js +156 -0
  195. package/packages/tools/lib/commands/import-ea.js.map +1 -0
  196. package/packages/tools/lib/commands/import-owl.d.ts +19 -0
  197. package/packages/tools/lib/commands/import-owl.d.ts.map +1 -0
  198. package/packages/tools/lib/commands/import-owl.js +103 -0
  199. package/packages/tools/lib/commands/import-owl.js.map +1 -0
  200. package/packages/tools/lib/commands/import-sysand.d.ts +11 -0
  201. package/packages/tools/lib/commands/import-sysand.d.ts.map +1 -0
  202. package/packages/tools/lib/commands/import-sysand.js +87 -0
  203. package/packages/tools/lib/commands/import-sysand.js.map +1 -0
  204. package/packages/tools/lib/commands/import.d.ts +30 -0
  205. package/packages/tools/lib/commands/import.d.ts.map +1 -0
  206. package/packages/tools/lib/commands/import.js +250 -0
  207. package/packages/tools/lib/commands/import.js.map +1 -0
  208. package/packages/tools/lib/commands/init-wizard.d.ts +10 -0
  209. package/packages/tools/lib/commands/init-wizard.d.ts.map +1 -0
  210. package/packages/tools/lib/commands/init-wizard.js +69 -0
  211. package/packages/tools/lib/commands/init-wizard.js.map +1 -0
  212. package/packages/tools/lib/commands/init.d.ts +30 -0
  213. package/packages/tools/lib/commands/init.d.ts.map +1 -0
  214. package/packages/tools/lib/commands/init.js +238 -0
  215. package/packages/tools/lib/commands/init.js.map +1 -0
  216. package/packages/tools/lib/commands/install.d.ts +8 -0
  217. package/packages/tools/lib/commands/install.d.ts.map +1 -0
  218. package/packages/tools/lib/commands/install.js +238 -0
  219. package/packages/tools/lib/commands/install.js.map +1 -0
  220. package/packages/tools/lib/commands/lock.d.ts +2 -0
  221. package/packages/tools/lib/commands/lock.d.ts.map +1 -0
  222. package/packages/tools/lib/commands/lock.js +29 -0
  223. package/packages/tools/lib/commands/lock.js.map +1 -0
  224. package/packages/tools/lib/commands/ontology.d.ts +14 -0
  225. package/packages/tools/lib/commands/ontology.d.ts.map +1 -0
  226. package/packages/tools/lib/commands/ontology.js +464 -0
  227. package/packages/tools/lib/commands/ontology.js.map +1 -0
  228. package/packages/tools/lib/commands/pack.d.ts +4 -0
  229. package/packages/tools/lib/commands/pack.d.ts.map +1 -0
  230. package/packages/tools/lib/commands/pack.js +89 -0
  231. package/packages/tools/lib/commands/pack.js.map +1 -0
  232. package/packages/tools/lib/commands/plugin.d.ts +10 -0
  233. package/packages/tools/lib/commands/plugin.d.ts.map +1 -0
  234. package/packages/tools/lib/commands/plugin.js +195 -0
  235. package/packages/tools/lib/commands/plugin.js.map +1 -0
  236. package/packages/tools/lib/commands/req.d.ts +10 -0
  237. package/packages/tools/lib/commands/req.d.ts.map +1 -0
  238. package/packages/tools/lib/commands/req.js +64 -0
  239. package/packages/tools/lib/commands/req.js.map +1 -0
  240. package/packages/tools/lib/commands/roundtrip.d.ts +6 -0
  241. package/packages/tools/lib/commands/roundtrip.d.ts.map +1 -0
  242. package/packages/tools/lib/commands/roundtrip.js +162 -0
  243. package/packages/tools/lib/commands/roundtrip.js.map +1 -0
  244. package/packages/tools/lib/commands/rules.d.ts +15 -0
  245. package/packages/tools/lib/commands/rules.d.ts.map +1 -0
  246. package/packages/tools/lib/commands/rules.js +282 -0
  247. package/packages/tools/lib/commands/rules.js.map +1 -0
  248. package/packages/tools/lib/commands/sysand-publish.d.ts +6 -0
  249. package/packages/tools/lib/commands/sysand-publish.d.ts.map +1 -0
  250. package/packages/tools/lib/commands/sysand-publish.js +231 -0
  251. package/packages/tools/lib/commands/sysand-publish.js.map +1 -0
  252. package/packages/tools/lib/commands/validate.d.ts +6 -0
  253. package/packages/tools/lib/commands/validate.d.ts.map +1 -0
  254. package/packages/tools/lib/commands/validate.js +269 -0
  255. package/packages/tools/lib/commands/validate.js.map +1 -0
  256. package/packages/tools/lib/completeness/tracker.d.ts +11 -0
  257. package/packages/tools/lib/completeness/tracker.d.ts.map +1 -0
  258. package/packages/tools/lib/completeness/tracker.js +86 -0
  259. package/packages/tools/lib/completeness/tracker.js.map +1 -0
  260. package/packages/tools/lib/dhf/dhf-config-v2.d.ts +102 -0
  261. package/packages/tools/lib/dhf/dhf-config-v2.d.ts.map +1 -0
  262. package/packages/tools/lib/dhf/dhf-config-v2.js +82 -0
  263. package/packages/tools/lib/dhf/dhf-config-v2.js.map +1 -0
  264. package/packages/tools/lib/dhf/dhf-config.d.ts +53 -0
  265. package/packages/tools/lib/dhf/dhf-config.d.ts.map +1 -0
  266. package/packages/tools/lib/dhf/dhf-config.js +44 -0
  267. package/packages/tools/lib/dhf/dhf-config.js.map +1 -0
  268. package/packages/tools/lib/dhf/directive-parser.d.ts +31 -0
  269. package/packages/tools/lib/dhf/directive-parser.d.ts.map +1 -0
  270. package/packages/tools/lib/dhf/directive-parser.js +83 -0
  271. package/packages/tools/lib/dhf/directive-parser.js.map +1 -0
  272. package/packages/tools/lib/dhf/document-compiler.d.ts +68 -0
  273. package/packages/tools/lib/dhf/document-compiler.d.ts.map +1 -0
  274. package/packages/tools/lib/dhf/document-compiler.js +209 -0
  275. package/packages/tools/lib/dhf/document-compiler.js.map +1 -0
  276. package/packages/tools/lib/dhf/document-ir.d.ts +170 -0
  277. package/packages/tools/lib/dhf/document-ir.d.ts.map +1 -0
  278. package/packages/tools/lib/dhf/document-ir.js +47 -0
  279. package/packages/tools/lib/dhf/document-ir.js.map +1 -0
  280. package/packages/tools/lib/dhf/document-registry.d.ts +45 -0
  281. package/packages/tools/lib/dhf/document-registry.d.ts.map +1 -0
  282. package/packages/tools/lib/dhf/document-registry.js +342 -0
  283. package/packages/tools/lib/dhf/document-registry.js.map +1 -0
  284. package/packages/tools/lib/dhf/export-plugin.d.ts +24 -0
  285. package/packages/tools/lib/dhf/export-plugin.d.ts.map +1 -0
  286. package/packages/tools/lib/dhf/export-plugin.js +24 -0
  287. package/packages/tools/lib/dhf/export-plugin.js.map +1 -0
  288. package/packages/tools/lib/dhf/exporters/docx-exporter.d.ts +15 -0
  289. package/packages/tools/lib/dhf/exporters/docx-exporter.d.ts.map +1 -0
  290. package/packages/tools/lib/dhf/exporters/docx-exporter.js +159 -0
  291. package/packages/tools/lib/dhf/exporters/docx-exporter.js.map +1 -0
  292. package/packages/tools/lib/dhf/exporters/html-exporter.d.ts +9 -0
  293. package/packages/tools/lib/dhf/exporters/html-exporter.d.ts.map +1 -0
  294. package/packages/tools/lib/dhf/exporters/html-exporter.js +248 -0
  295. package/packages/tools/lib/dhf/exporters/html-exporter.js.map +1 -0
  296. package/packages/tools/lib/dhf/exporters/markdown-exporter.d.ts +9 -0
  297. package/packages/tools/lib/dhf/exporters/markdown-exporter.d.ts.map +1 -0
  298. package/packages/tools/lib/dhf/exporters/markdown-exporter.js +147 -0
  299. package/packages/tools/lib/dhf/exporters/markdown-exporter.js.map +1 -0
  300. package/packages/tools/lib/dhf/index.d.ts +15 -0
  301. package/packages/tools/lib/dhf/index.d.ts.map +1 -0
  302. package/packages/tools/lib/dhf/index.js +21 -0
  303. package/packages/tools/lib/dhf/index.js.map +1 -0
  304. package/packages/tools/lib/dhf/markdown-to-ir.d.ts +19 -0
  305. package/packages/tools/lib/dhf/markdown-to-ir.d.ts.map +1 -0
  306. package/packages/tools/lib/dhf/markdown-to-ir.js +193 -0
  307. package/packages/tools/lib/dhf/markdown-to-ir.js.map +1 -0
  308. package/packages/tools/lib/dhf/query-engine.d.ts +61 -0
  309. package/packages/tools/lib/dhf/query-engine.d.ts.map +1 -0
  310. package/packages/tools/lib/dhf/query-engine.js +109 -0
  311. package/packages/tools/lib/dhf/query-engine.js.map +1 -0
  312. package/packages/tools/lib/dhf/query-executor.d.ts +33 -0
  313. package/packages/tools/lib/dhf/query-executor.d.ts.map +1 -0
  314. package/packages/tools/lib/dhf/query-executor.js +222 -0
  315. package/packages/tools/lib/dhf/query-executor.js.map +1 -0
  316. package/packages/tools/lib/dhf/script-runner.d.ts +4 -0
  317. package/packages/tools/lib/dhf/script-runner.d.ts.map +1 -0
  318. package/packages/tools/lib/dhf/script-runner.js +62 -0
  319. package/packages/tools/lib/dhf/script-runner.js.map +1 -0
  320. package/packages/tools/lib/dhf/snapshot.d.ts +60 -0
  321. package/packages/tools/lib/dhf/snapshot.d.ts.map +1 -0
  322. package/packages/tools/lib/dhf/snapshot.js +185 -0
  323. package/packages/tools/lib/dhf/snapshot.js.map +1 -0
  324. package/packages/tools/lib/dhf/template-engine.d.ts +18 -0
  325. package/packages/tools/lib/dhf/template-engine.d.ts.map +1 -0
  326. package/packages/tools/lib/dhf/template-engine.js +339 -0
  327. package/packages/tools/lib/dhf/template-engine.js.map +1 -0
  328. package/packages/tools/lib/dhf/template-resolver.d.ts +42 -0
  329. package/packages/tools/lib/dhf/template-resolver.d.ts.map +1 -0
  330. package/packages/tools/lib/dhf/template-resolver.js +196 -0
  331. package/packages/tools/lib/dhf/template-resolver.js.map +1 -0
  332. package/packages/tools/lib/import/column-mapper.d.ts +35 -0
  333. package/packages/tools/lib/import/column-mapper.d.ts.map +1 -0
  334. package/packages/tools/lib/import/column-mapper.js +171 -0
  335. package/packages/tools/lib/import/column-mapper.js.map +1 -0
  336. package/packages/tools/lib/import/import-diff.d.ts +49 -0
  337. package/packages/tools/lib/import/import-diff.d.ts.map +1 -0
  338. package/packages/tools/lib/import/import-diff.js +102 -0
  339. package/packages/tools/lib/import/import-diff.js.map +1 -0
  340. package/packages/tools/lib/import/recipes.d.ts +43 -0
  341. package/packages/tools/lib/import/recipes.d.ts.map +1 -0
  342. package/packages/tools/lib/import/recipes.js +133 -0
  343. package/packages/tools/lib/import/recipes.js.map +1 -0
  344. package/packages/tools/lib/importer/cameo-importer.d.ts +103 -0
  345. package/packages/tools/lib/importer/cameo-importer.d.ts.map +1 -0
  346. package/packages/tools/lib/importer/cameo-importer.js +384 -0
  347. package/packages/tools/lib/importer/cameo-importer.js.map +1 -0
  348. package/packages/tools/lib/importer/ea-importer.d.ts +115 -0
  349. package/packages/tools/lib/importer/ea-importer.d.ts.map +1 -0
  350. package/packages/tools/lib/importer/ea-importer.js +325 -0
  351. package/packages/tools/lib/importer/ea-importer.js.map +1 -0
  352. package/packages/tools/lib/importer/index.d.ts +5 -0
  353. package/packages/tools/lib/importer/index.d.ts.map +1 -0
  354. package/packages/tools/lib/importer/index.js +15 -0
  355. package/packages/tools/lib/importer/index.js.map +1 -0
  356. package/packages/tools/lib/importer/owl-importer.d.ts +91 -0
  357. package/packages/tools/lib/importer/owl-importer.d.ts.map +1 -0
  358. package/packages/tools/lib/importer/owl-importer.js +429 -0
  359. package/packages/tools/lib/importer/owl-importer.js.map +1 -0
  360. package/packages/tools/lib/importer/sysand-importer.d.ts +78 -0
  361. package/packages/tools/lib/importer/sysand-importer.d.ts.map +1 -0
  362. package/packages/tools/lib/importer/sysand-importer.js +188 -0
  363. package/packages/tools/lib/importer/sysand-importer.js.map +1 -0
  364. package/packages/tools/lib/index.d.ts +44 -0
  365. package/packages/tools/lib/index.d.ts.map +1 -0
  366. package/packages/tools/lib/index.js +56 -0
  367. package/packages/tools/lib/index.js.map +1 -0
  368. package/packages/tools/lib/language/generated/ast.d.ts +629 -0
  369. package/packages/tools/lib/language/generated/ast.d.ts.map +1 -0
  370. package/packages/tools/lib/language/generated/ast.js +961 -0
  371. package/packages/tools/lib/language/generated/ast.js.map +1 -0
  372. package/packages/tools/lib/language/generated/grammar.d.ts +7 -0
  373. package/packages/tools/lib/language/generated/grammar.d.ts.map +1 -0
  374. package/packages/tools/lib/language/generated/grammar.js +5676 -0
  375. package/packages/tools/lib/language/generated/grammar.js.map +1 -0
  376. package/packages/tools/lib/language/generated/module.d.ts +14 -0
  377. package/packages/tools/lib/language/generated/module.d.ts.map +1 -0
  378. package/packages/tools/lib/language/generated/module.js +21 -0
  379. package/packages/tools/lib/language/generated/module.js.map +1 -0
  380. package/packages/tools/lib/language/memo-sysml-module.d.ts +24 -0
  381. package/packages/tools/lib/language/memo-sysml-module.d.ts.map +1 -0
  382. package/packages/tools/lib/language/memo-sysml-module.js +20 -0
  383. package/packages/tools/lib/language/memo-sysml-module.js.map +1 -0
  384. package/packages/tools/lib/llm/ask-engine.d.ts +17 -0
  385. package/packages/tools/lib/llm/ask-engine.d.ts.map +1 -0
  386. package/packages/tools/lib/llm/ask-engine.js +43 -0
  387. package/packages/tools/lib/llm/ask-engine.js.map +1 -0
  388. package/packages/tools/lib/llm/draft-engine.d.ts +32 -0
  389. package/packages/tools/lib/llm/draft-engine.d.ts.map +1 -0
  390. package/packages/tools/lib/llm/draft-engine.js +270 -0
  391. package/packages/tools/lib/llm/draft-engine.js.map +1 -0
  392. package/packages/tools/lib/llm/generate-engine.d.ts +21 -0
  393. package/packages/tools/lib/llm/generate-engine.d.ts.map +1 -0
  394. package/packages/tools/lib/llm/generate-engine.js +83 -0
  395. package/packages/tools/lib/llm/generate-engine.js.map +1 -0
  396. package/packages/tools/lib/llm/index.d.ts +6 -0
  397. package/packages/tools/lib/llm/index.d.ts.map +1 -0
  398. package/packages/tools/lib/llm/index.js +11 -0
  399. package/packages/tools/lib/llm/index.js.map +1 -0
  400. package/packages/tools/lib/llm/llm-provider.d.ts +40 -0
  401. package/packages/tools/lib/llm/llm-provider.d.ts.map +1 -0
  402. package/packages/tools/lib/llm/llm-provider.js +121 -0
  403. package/packages/tools/lib/llm/llm-provider.js.map +1 -0
  404. package/packages/tools/lib/llm/model-context.d.ts +28 -0
  405. package/packages/tools/lib/llm/model-context.d.ts.map +1 -0
  406. package/packages/tools/lib/llm/model-context.js +162 -0
  407. package/packages/tools/lib/llm/model-context.js.map +1 -0
  408. package/packages/tools/lib/lock.d.ts +43 -0
  409. package/packages/tools/lib/lock.d.ts.map +1 -0
  410. package/packages/tools/lib/lock.js +225 -0
  411. package/packages/tools/lib/lock.js.map +1 -0
  412. package/packages/tools/lib/model/builder.d.ts +22 -0
  413. package/packages/tools/lib/model/builder.d.ts.map +1 -0
  414. package/packages/tools/lib/model/builder.js +708 -0
  415. package/packages/tools/lib/model/builder.js.map +1 -0
  416. package/packages/tools/lib/model/config-loader.d.ts +34 -0
  417. package/packages/tools/lib/model/config-loader.d.ts.map +1 -0
  418. package/packages/tools/lib/model/config-loader.js +257 -0
  419. package/packages/tools/lib/model/config-loader.js.map +1 -0
  420. package/packages/tools/lib/model/config.d.ts +220 -0
  421. package/packages/tools/lib/model/config.d.ts.map +1 -0
  422. package/packages/tools/lib/model/config.js +14 -0
  423. package/packages/tools/lib/model/config.js.map +1 -0
  424. package/packages/tools/lib/model/content-store.d.ts +8 -0
  425. package/packages/tools/lib/model/content-store.d.ts.map +1 -0
  426. package/packages/tools/lib/model/content-store.js +59 -0
  427. package/packages/tools/lib/model/content-store.js.map +1 -0
  428. package/packages/tools/lib/model/dimension-filter.d.ts +33 -0
  429. package/packages/tools/lib/model/dimension-filter.d.ts.map +1 -0
  430. package/packages/tools/lib/model/dimension-filter.js +57 -0
  431. package/packages/tools/lib/model/dimension-filter.js.map +1 -0
  432. package/packages/tools/lib/model/kind-registry.d.ts +72 -0
  433. package/packages/tools/lib/model/kind-registry.d.ts.map +1 -0
  434. package/packages/tools/lib/model/kind-registry.js +178 -0
  435. package/packages/tools/lib/model/kind-registry.js.map +1 -0
  436. package/packages/tools/lib/model/layer-resolver.d.ts +25 -0
  437. package/packages/tools/lib/model/layer-resolver.d.ts.map +1 -0
  438. package/packages/tools/lib/model/layer-resolver.js +82 -0
  439. package/packages/tools/lib/model/layer-resolver.js.map +1 -0
  440. package/packages/tools/lib/model/manifest.d.ts +23 -0
  441. package/packages/tools/lib/model/manifest.d.ts.map +1 -0
  442. package/packages/tools/lib/model/manifest.js +117 -0
  443. package/packages/tools/lib/model/manifest.js.map +1 -0
  444. package/packages/tools/lib/model/methodology-loader.d.ts +56 -0
  445. package/packages/tools/lib/model/methodology-loader.d.ts.map +1 -0
  446. package/packages/tools/lib/model/methodology-loader.js +203 -0
  447. package/packages/tools/lib/model/methodology-loader.js.map +1 -0
  448. package/packages/tools/lib/model/ontology-loader.d.ts +113 -0
  449. package/packages/tools/lib/model/ontology-loader.d.ts.map +1 -0
  450. package/packages/tools/lib/model/ontology-loader.js +901 -0
  451. package/packages/tools/lib/model/ontology-loader.js.map +1 -0
  452. package/packages/tools/lib/model/package-registry.d.ts +62 -0
  453. package/packages/tools/lib/model/package-registry.d.ts.map +1 -0
  454. package/packages/tools/lib/model/package-registry.js +164 -0
  455. package/packages/tools/lib/model/package-registry.js.map +1 -0
  456. package/packages/tools/lib/model/parser-utils.d.ts +23 -0
  457. package/packages/tools/lib/model/parser-utils.d.ts.map +1 -0
  458. package/packages/tools/lib/model/parser-utils.js +63 -0
  459. package/packages/tools/lib/model/parser-utils.js.map +1 -0
  460. package/packages/tools/lib/model/paths.d.ts +18 -0
  461. package/packages/tools/lib/model/paths.d.ts.map +1 -0
  462. package/packages/tools/lib/model/paths.js +26 -0
  463. package/packages/tools/lib/model/paths.js.map +1 -0
  464. package/packages/tools/lib/model/relationship-registry.d.ts +64 -0
  465. package/packages/tools/lib/model/relationship-registry.d.ts.map +1 -0
  466. package/packages/tools/lib/model/relationship-registry.js +141 -0
  467. package/packages/tools/lib/model/relationship-registry.js.map +1 -0
  468. package/packages/tools/lib/model/semantic.d.ts +175 -0
  469. package/packages/tools/lib/model/semantic.d.ts.map +1 -0
  470. package/packages/tools/lib/model/semantic.js +61 -0
  471. package/packages/tools/lib/model/semantic.js.map +1 -0
  472. package/packages/tools/lib/model/short-id.d.ts +32 -0
  473. package/packages/tools/lib/model/short-id.d.ts.map +1 -0
  474. package/packages/tools/lib/model/short-id.js +136 -0
  475. package/packages/tools/lib/model/short-id.js.map +1 -0
  476. package/packages/tools/lib/model/toolchain.d.ts +12 -0
  477. package/packages/tools/lib/model/toolchain.d.ts.map +1 -0
  478. package/packages/tools/lib/model/toolchain.js +92 -0
  479. package/packages/tools/lib/model/toolchain.js.map +1 -0
  480. package/packages/tools/lib/model/view-deriver.d.ts +22 -0
  481. package/packages/tools/lib/model/view-deriver.d.ts.map +1 -0
  482. package/packages/tools/lib/model/view-deriver.js +160 -0
  483. package/packages/tools/lib/model/view-deriver.js.map +1 -0
  484. package/packages/tools/lib/model/view-kinds.d.ts +29 -0
  485. package/packages/tools/lib/model/view-kinds.d.ts.map +1 -0
  486. package/packages/tools/lib/model/view-kinds.js +80 -0
  487. package/packages/tools/lib/model/view-kinds.js.map +1 -0
  488. package/packages/tools/lib/ontology/owl-exporter.d.ts +43 -0
  489. package/packages/tools/lib/ontology/owl-exporter.d.ts.map +1 -0
  490. package/packages/tools/lib/ontology/owl-exporter.js +70 -0
  491. package/packages/tools/lib/ontology/owl-exporter.js.map +1 -0
  492. package/packages/tools/lib/operations/index.d.ts +8 -0
  493. package/packages/tools/lib/operations/index.d.ts.map +1 -0
  494. package/packages/tools/lib/operations/index.js +8 -0
  495. package/packages/tools/lib/operations/index.js.map +1 -0
  496. package/packages/tools/lib/operations/project-snapshot.d.ts +17 -0
  497. package/packages/tools/lib/operations/project-snapshot.d.ts.map +1 -0
  498. package/packages/tools/lib/operations/project-snapshot.js +103 -0
  499. package/packages/tools/lib/operations/project-snapshot.js.map +1 -0
  500. package/packages/tools/lib/plugin/index.d.ts +5 -0
  501. package/packages/tools/lib/plugin/index.d.ts.map +1 -0
  502. package/packages/tools/lib/plugin/index.js +10 -0
  503. package/packages/tools/lib/plugin/index.js.map +1 -0
  504. package/packages/tools/lib/plugin/plugin-loader.d.ts +26 -0
  505. package/packages/tools/lib/plugin/plugin-loader.d.ts.map +1 -0
  506. package/packages/tools/lib/plugin/plugin-loader.js +216 -0
  507. package/packages/tools/lib/plugin/plugin-loader.js.map +1 -0
  508. package/packages/tools/lib/plugin/plugin-registry.d.ts +49 -0
  509. package/packages/tools/lib/plugin/plugin-registry.d.ts.map +1 -0
  510. package/packages/tools/lib/plugin/plugin-registry.js +121 -0
  511. package/packages/tools/lib/plugin/plugin-registry.js.map +1 -0
  512. package/packages/tools/lib/plugin/plugin-scaffold.d.ts +17 -0
  513. package/packages/tools/lib/plugin/plugin-scaffold.d.ts.map +1 -0
  514. package/packages/tools/lib/plugin/plugin-scaffold.js +223 -0
  515. package/packages/tools/lib/plugin/plugin-scaffold.js.map +1 -0
  516. package/packages/tools/lib/plugin/plugin-types.d.ts +115 -0
  517. package/packages/tools/lib/plugin/plugin-types.d.ts.map +1 -0
  518. package/packages/tools/lib/plugin/plugin-types.js +11 -0
  519. package/packages/tools/lib/plugin/plugin-types.js.map +1 -0
  520. package/packages/tools/lib/protocol/messages.d.ts +470 -0
  521. package/packages/tools/lib/protocol/messages.d.ts.map +1 -0
  522. package/packages/tools/lib/protocol/messages.js +6 -0
  523. package/packages/tools/lib/protocol/messages.js.map +1 -0
  524. package/packages/tools/lib/serializer/csv-io.d.ts +113 -0
  525. package/packages/tools/lib/serializer/csv-io.d.ts.map +1 -0
  526. package/packages/tools/lib/serializer/csv-io.js +394 -0
  527. package/packages/tools/lib/serializer/csv-io.js.map +1 -0
  528. package/packages/tools/lib/serializer/sysml-generator.d.ts +32 -0
  529. package/packages/tools/lib/serializer/sysml-generator.d.ts.map +1 -0
  530. package/packages/tools/lib/serializer/sysml-generator.js +120 -0
  531. package/packages/tools/lib/serializer/sysml-generator.js.map +1 -0
  532. package/packages/tools/lib/server/config-resolver.d.ts +14 -0
  533. package/packages/tools/lib/server/config-resolver.d.ts.map +1 -0
  534. package/packages/tools/lib/server/config-resolver.js +54 -0
  535. package/packages/tools/lib/server/config-resolver.js.map +1 -0
  536. package/packages/tools/lib/server/dev-server.d.ts +17 -0
  537. package/packages/tools/lib/server/dev-server.d.ts.map +1 -0
  538. package/packages/tools/lib/server/dev-server.js +939 -0
  539. package/packages/tools/lib/server/dev-server.js.map +1 -0
  540. package/packages/tools/lib/server/dhf-doc-store.d.ts +11 -0
  541. package/packages/tools/lib/server/dhf-doc-store.d.ts.map +1 -0
  542. package/packages/tools/lib/server/dhf-doc-store.js +181 -0
  543. package/packages/tools/lib/server/dhf-doc-store.js.map +1 -0
  544. package/packages/tools/lib/server/file-watcher.d.ts +20 -0
  545. package/packages/tools/lib/server/file-watcher.d.ts.map +1 -0
  546. package/packages/tools/lib/server/file-watcher.js +140 -0
  547. package/packages/tools/lib/server/file-watcher.js.map +1 -0
  548. package/packages/tools/lib/server/persistor.d.ts +25 -0
  549. package/packages/tools/lib/server/persistor.d.ts.map +1 -0
  550. package/packages/tools/lib/server/persistor.js +100 -0
  551. package/packages/tools/lib/server/persistor.js.map +1 -0
  552. package/packages/tools/lib/server/view-layout-store.d.ts +8 -0
  553. package/packages/tools/lib/server/view-layout-store.d.ts.map +1 -0
  554. package/packages/tools/lib/server/view-layout-store.js +73 -0
  555. package/packages/tools/lib/server/view-layout-store.js.map +1 -0
  556. package/packages/tools/lib/types/index.d.ts +4 -0
  557. package/packages/tools/lib/types/index.d.ts.map +1 -0
  558. package/packages/tools/lib/types/index.js +6 -0
  559. package/packages/tools/lib/types/index.js.map +1 -0
  560. package/packages/tools/lib/validator/behavior-validator.d.ts +12 -0
  561. package/packages/tools/lib/validator/behavior-validator.d.ts.map +1 -0
  562. package/packages/tools/lib/validator/behavior-validator.js +124 -0
  563. package/packages/tools/lib/validator/behavior-validator.js.map +1 -0
  564. package/packages/tools/lib/validator/constraint-eval.d.ts +90 -0
  565. package/packages/tools/lib/validator/constraint-eval.d.ts.map +1 -0
  566. package/packages/tools/lib/validator/constraint-eval.js +478 -0
  567. package/packages/tools/lib/validator/constraint-eval.js.map +1 -0
  568. package/packages/tools/lib/validator/constraint-loader.d.ts +10 -0
  569. package/packages/tools/lib/validator/constraint-loader.d.ts.map +1 -0
  570. package/packages/tools/lib/validator/constraint-loader.js +113 -0
  571. package/packages/tools/lib/validator/constraint-loader.js.map +1 -0
  572. package/packages/tools/lib/validator/rule-engine.d.ts +13 -0
  573. package/packages/tools/lib/validator/rule-engine.d.ts.map +1 -0
  574. package/packages/tools/lib/validator/rule-engine.js +38 -0
  575. package/packages/tools/lib/validator/rule-engine.js.map +1 -0
  576. package/packages/tools/lib/validator/rule-registry.d.ts +61 -0
  577. package/packages/tools/lib/validator/rule-registry.d.ts.map +1 -0
  578. package/packages/tools/lib/validator/rule-registry.js +142 -0
  579. package/packages/tools/lib/validator/rule-registry.js.map +1 -0
  580. package/packages/tools/lib/validator/types.d.ts +59 -0
  581. package/packages/tools/lib/validator/types.d.ts.map +1 -0
  582. package/packages/tools/lib/validator/types.js +3 -0
  583. package/packages/tools/lib/validator/types.js.map +1 -0
  584. package/packages/tools/lib/validator/view-validator.d.ts +11 -0
  585. package/packages/tools/lib/validator/view-validator.d.ts.map +1 -0
  586. package/packages/tools/lib/validator/view-validator.js +48 -0
  587. package/packages/tools/lib/validator/view-validator.js.map +1 -0
  588. package/packages/tools/src/grammar/memo-sysml.langium +450 -0
@@ -0,0 +1,141 @@
1
+ // ─── Relationship Registry ──────────────────────────────────────────────────
2
+ //
3
+ // Discovers relationship types from SysML AST ConnectionDefinition nodes,
4
+ // replacing config.relationshipTypes. Walks ConnectionDefinition nodes and
5
+ // derives layer from the file's directory path (Apollo-11 convention).
6
+ // Normalizes PascalCase SysML names to camelCase for matching.
7
+ //
8
+ // Usage:
9
+ // const registry = new RelationshipRegistry();
10
+ // registry.populateFromDocuments(parsedDocs);
11
+ // const rel = registry.getRelType("mitigates");
12
+ // ─────────────────────────────────────────────────────────────────────────────
13
+ import { isConnectionDefinition, isEndDeclaration, isPackageDeclaration, } from '../language/generated/ast.js';
14
+ import { resolveLayerFromPath } from './layer-resolver.js';
15
+ /**
16
+ * Convert PascalCase to camelCase.
17
+ * "Mitigates" → "mitigates", "TraceTo" → "traceTo", "HasSubProcedure" → "hasSubProcedure"
18
+ */
19
+ export function pascalToCamelCase(name) {
20
+ if (!name)
21
+ return name;
22
+ return name[0].toLowerCase() + name.slice(1);
23
+ }
24
+ /**
25
+ * Convert PascalCase to a human-readable label.
26
+ * "TraceTo" → "Trace To", "HasSubProcedure" → "Has Sub Procedure"
27
+ */
28
+ function pascalToLabel(name) {
29
+ return name.replace(/([a-z])([A-Z])/g, '$1 $2');
30
+ }
31
+ /**
32
+ * Registry that discovers relationship types from SysML AST ConnectionDefinition nodes.
33
+ * Replaces config.relationshipTypes lookups in the builder.
34
+ */
35
+ export class RelationshipRegistry {
36
+ relTypes = new Map();
37
+ /** Number of registered relationship types */
38
+ get size() {
39
+ return this.relTypes.size;
40
+ }
41
+ /**
42
+ * Look up a relationship type by camelCase name.
43
+ * Returns undefined if not registered.
44
+ */
45
+ getRelType(name) {
46
+ return this.relTypes.get(name);
47
+ }
48
+ /**
49
+ * Convert a registry entry to a RelationshipType (for backward compat).
50
+ * Uses empty string for color since SysML doesn't define colors —
51
+ * colors come from memo.rendering.yaml.
52
+ */
53
+ toRelationshipType(name) {
54
+ const entry = this.relTypes.get(name);
55
+ if (!entry)
56
+ return undefined;
57
+ return {
58
+ name: entry.name,
59
+ label: entry.label,
60
+ layer: entry.layer,
61
+ color: '',
62
+ };
63
+ }
64
+ /**
65
+ * Get all registered relationship types as RelationshipType[],
66
+ * matching the shape of config.relationshipTypes for backward compatibility.
67
+ */
68
+ toRelationshipTypesArray() {
69
+ return Array.from(this.relTypes.values()).map(entry => ({
70
+ name: entry.name,
71
+ label: entry.label,
72
+ layer: entry.layer,
73
+ color: '',
74
+ }));
75
+ }
76
+ /** Check if a relationship type is registered */
77
+ has(name) {
78
+ return this.relTypes.has(name);
79
+ }
80
+ /** Get all relationship type names (camelCase) */
81
+ relTypeNames() {
82
+ return Array.from(this.relTypes.keys());
83
+ }
84
+ /** Get all entries */
85
+ entries() {
86
+ return Array.from(this.relTypes.values());
87
+ }
88
+ /** Register a relationship type manually (for testing or config fallback) */
89
+ register(entry) {
90
+ this.relTypes.set(entry.name, entry);
91
+ }
92
+ /**
93
+ * Populate the registry from parsed SysML documents.
94
+ * Walks all ConnectionDefinition nodes in each document's AST.
95
+ */
96
+ populateFromDocuments(documents) {
97
+ for (const doc of documents) {
98
+ const model = doc.document.parseResult.value;
99
+ const layer = resolveLayerFromPath(doc.filePath);
100
+ for (const member of model.members) {
101
+ if (isPackageDeclaration(member)) {
102
+ this.walkPackage(member, layer);
103
+ }
104
+ }
105
+ }
106
+ }
107
+ /** Walk a package declaration and register all ConnectionDefinition nodes */
108
+ walkPackage(pkg, layer) {
109
+ for (const member of pkg.members) {
110
+ if (isPackageDeclaration(member)) {
111
+ this.walkPackage(member, layer);
112
+ continue;
113
+ }
114
+ if (isConnectionDefinition(member)) {
115
+ const sysmlName = member.name;
116
+ if (!sysmlName)
117
+ continue;
118
+ const name = pascalToCamelCase(sysmlName);
119
+ const label = pascalToLabel(sysmlName);
120
+ // Extract end declarations
121
+ const ends = [];
122
+ for (const bodyMember of member.body) {
123
+ if (isEndDeclaration(bodyMember)) {
124
+ ends.push({
125
+ name: bodyMember.name || '',
126
+ type: bodyMember.type || undefined,
127
+ });
128
+ }
129
+ }
130
+ this.relTypes.set(name, {
131
+ sysmlName,
132
+ name,
133
+ label,
134
+ layer,
135
+ ends,
136
+ });
137
+ }
138
+ }
139
+ }
140
+ }
141
+ //# sourceMappingURL=relationship-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relationship-registry.js","sourceRoot":"","sources":["../../src/model/relationship-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,175 @@
1
+ /** Direction of a port or action parameter */
2
+ export type ParameterDirection = 'in' | 'out' | 'inout';
3
+ /** Port specification on a port usage element */
4
+ export interface PortSpec {
5
+ /** Port type name (qualified) */
6
+ type: string;
7
+ /** Direction: in, out, or inout (undefined = undirected) */
8
+ direction?: ParameterDirection;
9
+ /** True if conjugated (~) */
10
+ isConjugated: boolean;
11
+ }
12
+ /** A typed parameter on an action definition */
13
+ export interface ActionParameter {
14
+ /** Parameter name */
15
+ name: string;
16
+ /** Direction: in, out, or inout */
17
+ direction: ParameterDirection;
18
+ /** Type name (qualified) */
19
+ type: string;
20
+ }
21
+ /** A model element (part, requirement, action, port, item, etc.) */
22
+ export interface MemoElement {
23
+ /** Unique element identifier (usage name from SysML) */
24
+ id: string;
25
+ /** Stable short ID for deep-linking, e.g. "SW-REQ-4291" (set by builder) */
26
+ shortId?: string;
27
+ /** Human-readable name (from 'attribute redefines name = ...' or id) */
28
+ name: string;
29
+ /** The kind key matching config.kinds, e.g. "Hazard", "Requirement" */
30
+ kind: string;
31
+ /** SysML v2 construct: 'part', 'requirement', 'action', 'port', 'item' */
32
+ construct: string;
33
+ /** Architecture layer from config, e.g. "risk", "requirements" */
34
+ layer: string;
35
+ /** Source file path (relative) */
36
+ file: string;
37
+ /** Containing package qualified name, e.g. "InfusionPump" */
38
+ package?: string;
39
+ /** All attributes as key-value pairs */
40
+ attributes: Record<string, string>;
41
+ /** Doc comment if present */
42
+ doc?: string;
43
+ /** Action parameters (for ActionDefinition elements) */
44
+ parameters?: ActionParameter[];
45
+ /** Parent action ID (for nested action usages) */
46
+ parentAction?: string;
47
+ /** Structural part this action is allocated to (from allocate statements) */
48
+ allocatedTo?: string;
49
+ /** Owner element ID (for ports nested inside a definition) */
50
+ owner?: string;
51
+ /** IDs of owned port elements (populated on the owner definition element) */
52
+ ownedPorts?: string[];
53
+ /** Port specification (for port usage elements) */
54
+ portSpec?: PortSpec;
55
+ }
56
+ /** A typed relationship between two elements */
57
+ export interface MemoRelationship {
58
+ /** Unique relationship id (auto-generated) */
59
+ id: string;
60
+ /** Relationship type name (lowercase), e.g. "mitigates", "traceTo", "flow", "succession" */
61
+ type: string;
62
+ /** Source element id */
63
+ sourceId: string;
64
+ /** Source end name from connection usage, e.g. "control" */
65
+ sourceEnd: string;
66
+ /** Target element id */
67
+ targetId: string;
68
+ /** Target end name from connection usage, e.g. "hazard" */
69
+ targetEnd: string;
70
+ /** Source file path (relative) */
71
+ file: string;
72
+ /** Item type being transported (for flow relationships) */
73
+ flowItem?: string;
74
+ /** Source port element ID (when connection endpoint is a port) */
75
+ sourcePortId?: string;
76
+ /** Target port element ID (when connection endpoint is a port) */
77
+ targetPortId?: string;
78
+ }
79
+ /** A parse error from a specific file */
80
+ export interface ParseError {
81
+ /** File path */
82
+ file: string;
83
+ /** Error message */
84
+ message: string;
85
+ /** Line number (1-based) */
86
+ line?: number;
87
+ /** Column number (1-based) */
88
+ column?: number;
89
+ }
90
+ /** The complete semantic model — serializable for WebSocket transport */
91
+ export interface MemoModel {
92
+ /** All elements indexed by id */
93
+ elements: Map<string, MemoElement>;
94
+ /** All relationships */
95
+ relationships: MemoRelationship[];
96
+ /** Parse errors encountered */
97
+ errors: ParseError[];
98
+ /** Elements grouped by kind */
99
+ elementsByKind: Map<string, MemoElement[]>;
100
+ /** Elements grouped by architecture layer */
101
+ elementsByLayer: Map<string, MemoElement[]>;
102
+ /** Relationships grouped by type */
103
+ relationshipsByType: Map<string, MemoRelationship[]>;
104
+ /** Outgoing relationships from element id */
105
+ outgoing: Map<string, MemoRelationship[]>;
106
+ /** Incoming relationships to element id */
107
+ incoming: Map<string, MemoRelationship[]>;
108
+ }
109
+ /** Viewpoint definition (serializable subset of config) */
110
+ export interface ViewpointDTO {
111
+ id: string;
112
+ label: string;
113
+ visibleKinds: string[];
114
+ visibleRelationships: string[];
115
+ visibleLayers: string[];
116
+ supportedDiagramTypes?: string[];
117
+ }
118
+ /** Diagram definition (serializable for WebSocket transport) */
119
+ export interface DiagramDTO {
120
+ id: string;
121
+ name: string;
122
+ diagramType: string;
123
+ /** SysML v2 spec view kind (one of the 8 standard kinds, see view-kinds.ts) */
124
+ viewKind?: string;
125
+ viewpointId: string;
126
+ auto: boolean;
127
+ description?: string;
128
+ properties?: Record<string, string>;
129
+ elementIds?: string[];
130
+ relationshipTypes?: string[];
131
+ /** SysML source containing the view definition (project-relative). */
132
+ sourceFile?: string;
133
+ }
134
+ /** Architecture layer info (serializable subset of config) */
135
+ export interface ArchLayerDTO {
136
+ id: string;
137
+ label: string;
138
+ color: string;
139
+ }
140
+ /** Model metadata for version/attribution */
141
+ export interface ModelMetadata {
142
+ /** Project name from config */
143
+ projectName?: string;
144
+ /** Semantic version (from config or auto-incremented) */
145
+ version?: string;
146
+ /** Git user name (from git config) */
147
+ gitUser?: string;
148
+ /** Git branch name */
149
+ gitBranch?: string;
150
+ /** Last commit short hash */
151
+ gitCommitShort?: string;
152
+ }
153
+ /** Serializable version of MemoModel for JSON transport */
154
+ export interface MemoModelDTO {
155
+ elements: Record<string, MemoElement>;
156
+ relationships: MemoRelationship[];
157
+ errors: ParseError[];
158
+ /** Viewpoint definitions from config (for client-side filtering) */
159
+ viewpoints?: ViewpointDTO[];
160
+ /** Architecture layer definitions from config */
161
+ architectureLayers?: ArchLayerDTO[];
162
+ /** Diagram definitions from config viewpoints */
163
+ diagrams?: DiagramDTO[];
164
+ /** Model metadata for versioning and attribution */
165
+ metadata?: ModelMetadata;
166
+ }
167
+ /** Convert MemoModel to a plain JSON-serializable object */
168
+ export declare function modelToDTO(model: MemoModel, options?: {
169
+ viewpoints?: ViewpointDTO[];
170
+ architectureLayers?: ArchLayerDTO[];
171
+ diagrams?: DiagramDTO[];
172
+ }): MemoModelDTO;
173
+ /** Reconstruct a MemoModel from a DTO (e.g. received over WebSocket) */
174
+ export declare function dtoToModel(dto: MemoModelDTO): MemoModel;
175
+ //# sourceMappingURL=semantic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic.d.ts","sourceRoot":"","sources":["../../src/model/semantic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ // ─── MEMO Semantic Model ──────────────────────────────────────────────────────
2
+ //
3
+ // Serializable model types produced by the builder from parsed AST.
4
+ // These types are what the CLI and web app work with — they are
5
+ // decoupled from Langium's AST nodes so they can be sent over WebSocket.
6
+ // ─────────────────────────────────────────────────────────────────────────────
7
+ /** Convert MemoModel to a plain JSON-serializable object */
8
+ export function modelToDTO(model, options) {
9
+ const elements = {};
10
+ for (const [id, el] of model.elements) {
11
+ elements[id] = el;
12
+ }
13
+ return {
14
+ elements,
15
+ relationships: model.relationships,
16
+ errors: model.errors,
17
+ viewpoints: options?.viewpoints,
18
+ architectureLayers: options?.architectureLayers,
19
+ diagrams: options?.diagrams,
20
+ };
21
+ }
22
+ /** Reconstruct a MemoModel from a DTO (e.g. received over WebSocket) */
23
+ export function dtoToModel(dto) {
24
+ const elements = new Map(Object.entries(dto.elements));
25
+ const relationships = dto.relationships;
26
+ const elementsByKind = new Map();
27
+ const elementsByLayer = new Map();
28
+ for (const el of elements.values()) {
29
+ if (!elementsByKind.has(el.kind))
30
+ elementsByKind.set(el.kind, []);
31
+ elementsByKind.get(el.kind).push(el);
32
+ if (!elementsByLayer.has(el.layer))
33
+ elementsByLayer.set(el.layer, []);
34
+ elementsByLayer.get(el.layer).push(el);
35
+ }
36
+ const relationshipsByType = new Map();
37
+ const outgoing = new Map();
38
+ const incoming = new Map();
39
+ for (const rel of relationships) {
40
+ if (!relationshipsByType.has(rel.type))
41
+ relationshipsByType.set(rel.type, []);
42
+ relationshipsByType.get(rel.type).push(rel);
43
+ if (!outgoing.has(rel.sourceId))
44
+ outgoing.set(rel.sourceId, []);
45
+ outgoing.get(rel.sourceId).push(rel);
46
+ if (!incoming.has(rel.targetId))
47
+ incoming.set(rel.targetId, []);
48
+ incoming.get(rel.targetId).push(rel);
49
+ }
50
+ return {
51
+ elements,
52
+ relationships,
53
+ errors: dto.errors,
54
+ elementsByKind,
55
+ elementsByLayer,
56
+ relationshipsByType,
57
+ outgoing,
58
+ incoming,
59
+ };
60
+ }
61
+ //# sourceMappingURL=semantic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../src/model/semantic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Get the kind prefix for an element kind.
3
+ * Returns a well-known override if available, otherwise auto-derives from CamelCase.
4
+ */
5
+ export declare function kindToPrefix(kind: string): string;
6
+ /**
7
+ * The URL family segment — first hyphen-separated token of the prefix.
8
+ * e.g. "SW-REQ" → "SW", "HZD-EVT" → "HZD", "SYS-COMP" → "SYS"
9
+ */
10
+ export declare function prefixToFamily(prefix: string): string;
11
+ /**
12
+ * Assign sequential short IDs to a group of elements of the same kind.
13
+ *
14
+ * Elements are sorted by their SysML id (lexicographic) for a deterministic,
15
+ * stable order — adding a new element appends it at its sort position, and
16
+ * deleting one does not renumber the survivors.
17
+ *
18
+ * Format: {KIND-PREFIX}-{n} e.g. "HZD-1", "HZD-2", "SW-REQ-1", "SW-REQ-2"
19
+ *
20
+ * Returns a Map from element id → shortId.
21
+ */
22
+ export declare function assignSequentialShortIds(kind: string, elementIds: string[]): Map<string, string>;
23
+ /**
24
+ * Parse a shortId back to its prefix and sequence number.
25
+ * e.g. "SW-REQ-3" → { prefix: "SW-REQ", seq: 3 }
26
+ * Returns null if the format is unrecognised.
27
+ */
28
+ export declare function parseShortId(shortId: string): {
29
+ prefix: string;
30
+ seq: number;
31
+ } | null;
32
+ //# sourceMappingURL=short-id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"short-id.d.ts","sourceRoot":"","sources":["../../src/model/short-id.ts"],"names":[],"mappings":"AA6FA;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACpC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAAE,GACrB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAQrB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAIpF"}
@@ -0,0 +1,136 @@
1
+ // ─── Short ID generation for MEMO elements ───────────────────────────────────
2
+ //
3
+ // Generates stable, human-readable short IDs in the form {KIND-PREFIX}-{SEQ},
4
+ // e.g. "SW-REQ-4291", "HZD-1823", "SYS-COMP-7432".
5
+ //
6
+ // The prefix is derived deterministically from the kind name (CamelCase split).
7
+ // The sequence number is a hash of the element's SysML id — stable across
8
+ // rebuilds as long as the element name in the source file doesn't change.
9
+ //
10
+ // URL family = first segment of the prefix (SW-REQ → SW, HZD → HZD).
11
+ // This determines the grouping in /catalog/:family/ routes.
12
+ // ─────────────────────────────────────────────────────────────────────────────
13
+ /**
14
+ * Well-known overrides for common medical-device kinds.
15
+ * Auto-generation handles everything else.
16
+ */
17
+ const KIND_PREFIX_OVERRIDES = {
18
+ // Risk
19
+ Hazard: 'HZD',
20
+ HazardousEvent: 'HZD-EVT',
21
+ HazardousSituation: 'HZD-SIT',
22
+ Risk: 'RISK',
23
+ RiskControl: 'RISK-CTL',
24
+ MitigationMeasure: 'MIT',
25
+ ResidualRisk: 'RRISK',
26
+ // Requirements
27
+ StakeholderRequirement: 'STK-REQ',
28
+ Requirement: 'REQ',
29
+ SoftwareSpecification: 'SW-SPEC',
30
+ InterfaceRequirement: 'REQ',
31
+ PerformanceRequirement: 'PERF-REQ',
32
+ SafetyRequirement: 'SAF-REQ',
33
+ RegulatoryRequirement: 'REG-REQ',
34
+ FunctionalRequirement: 'REQ',
35
+ NonFunctionalRequirement: 'NFR',
36
+ // Architecture
37
+ SystemComponent: 'SYS-COMP',
38
+ SoftwareComponent: 'SW-COMP',
39
+ HardwareComponent: 'HW-COMP',
40
+ Subsystem: 'SUBSYS',
41
+ Module: 'MOD',
42
+ Interface: 'IF',
43
+ Port: 'PORT',
44
+ // Actions / behavior
45
+ Action: 'ACT',
46
+ ActionDefinition: 'ACT-DEF',
47
+ UseCase: 'UC',
48
+ // Operational
49
+ Stakeholder: 'STK',
50
+ OperationalScenario: 'OPS',
51
+ Mission: 'MSNS',
52
+ Capability: 'CAP',
53
+ // Compliance / DHF
54
+ DesignInput: 'DI',
55
+ DesignOutput: 'DO',
56
+ VerificationActivity: 'VER',
57
+ ValidationActivity: 'VAL',
58
+ TestCase: 'TC',
59
+ // Generic fallbacks
60
+ Item: 'ITM',
61
+ Part: 'PART',
62
+ };
63
+ /**
64
+ * Split a CamelCase string into its constituent words.
65
+ * e.g. "SoftwareComponent" → ["Software", "Component"]
66
+ */
67
+ function splitCamelCase(s) {
68
+ return s.replace(/([A-Z])/g, ' $1').trim().split(' ').filter(Boolean);
69
+ }
70
+ /**
71
+ * Abbreviate a single word to a short prefix token.
72
+ * Takes the first 2-3 letters, removing vowels if >3 chars.
73
+ */
74
+ function abbreviateWord(word) {
75
+ if (word.length <= 3)
76
+ return word.toUpperCase();
77
+ // Drop interior vowels to get consonant abbreviation
78
+ const consonants = word[0] + word.slice(1).replace(/[aeiouAEIOU]/g, '');
79
+ return consonants.slice(0, 3).toUpperCase();
80
+ }
81
+ /**
82
+ * Derive a kind prefix from a kind name using CamelCase splitting + abbreviation.
83
+ * e.g. "SoftwareComponent" → "SFT-CMP", "Hazard" → "HZD"
84
+ */
85
+ function derivePrefix(kind) {
86
+ const words = splitCamelCase(kind);
87
+ if (words.length === 0)
88
+ return 'EL';
89
+ return words.map(abbreviateWord).join('-');
90
+ }
91
+ /**
92
+ * Get the kind prefix for an element kind.
93
+ * Returns a well-known override if available, otherwise auto-derives from CamelCase.
94
+ */
95
+ export function kindToPrefix(kind) {
96
+ return KIND_PREFIX_OVERRIDES[kind] ?? derivePrefix(kind);
97
+ }
98
+ /**
99
+ * The URL family segment — first hyphen-separated token of the prefix.
100
+ * e.g. "SW-REQ" → "SW", "HZD-EVT" → "HZD", "SYS-COMP" → "SYS"
101
+ */
102
+ export function prefixToFamily(prefix) {
103
+ return prefix.split('-')[0];
104
+ }
105
+ /**
106
+ * Assign sequential short IDs to a group of elements of the same kind.
107
+ *
108
+ * Elements are sorted by their SysML id (lexicographic) for a deterministic,
109
+ * stable order — adding a new element appends it at its sort position, and
110
+ * deleting one does not renumber the survivors.
111
+ *
112
+ * Format: {KIND-PREFIX}-{n} e.g. "HZD-1", "HZD-2", "SW-REQ-1", "SW-REQ-2"
113
+ *
114
+ * Returns a Map from element id → shortId.
115
+ */
116
+ export function assignSequentialShortIds(kind, elementIds) {
117
+ const prefix = kindToPrefix(kind);
118
+ const sorted = [...elementIds].sort((a, b) => a.localeCompare(b));
119
+ const out = new Map();
120
+ for (let i = 0; i < sorted.length; i++) {
121
+ out.set(sorted[i], `${prefix}-${i + 1}`);
122
+ }
123
+ return out;
124
+ }
125
+ /**
126
+ * Parse a shortId back to its prefix and sequence number.
127
+ * e.g. "SW-REQ-3" → { prefix: "SW-REQ", seq: 3 }
128
+ * Returns null if the format is unrecognised.
129
+ */
130
+ export function parseShortId(shortId) {
131
+ const match = shortId.match(/^(.+)-(\d+)$/);
132
+ if (!match)
133
+ return null;
134
+ return { prefix: match[1], seq: parseInt(match[2], 10) };
135
+ }
136
+ //# sourceMappingURL=short-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"short-id.js","sourceRoot":"","sources":["../../src/model/short-id.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { MEMOConfig } from './config.js';
2
+ export interface ToolInvocation {
3
+ command: string;
4
+ args: string[];
5
+ provider: 'syside' | 'sysand';
6
+ }
7
+ export declare function buildCompilerInvocation(config: MEMOConfig, projectDir: string, includeDirs?: string[]): ToolInvocation | undefined;
8
+ export declare function buildPackagerInvocation(config: MEMOConfig, projectDir: string, outputPath: string): ToolInvocation | undefined;
9
+ export declare function runToolInvocation(invocation: ToolInvocation, cwd: string): void;
10
+ export declare function compileWithConfiguredTool(config: MEMOConfig, projectDir: string, configPath?: string): 'internal' | 'syside';
11
+ export declare function packageWithConfiguredTool(config: MEMOConfig, projectDir: string, outputPath: string): 'internal' | 'sysand';
12
+ //# sourceMappingURL=toolchain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolchain.d.ts","sourceRoot":"","sources":["../../src/model/toolchain.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACjC;AAeD,wBAAgB,uBAAuB,CACnC,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,EAClB,WAAW,GAAE,MAAM,EAAO,GAC3B,cAAc,GAAG,SAAS,CAiB5B;AAED,wBAAgB,uBAAuB,CACnC,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACnB,cAAc,GAAG,SAAS,CAe5B;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAW/E;AAED,wBAAgB,yBAAyB,CACrC,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,GACpB,UAAU,GAAG,QAAQ,CAQvB;AAED,wBAAgB,yBAAyB,CACrC,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACnB,UAAU,GAAG,QAAQ,CAQvB"}