@memoarchitect/tools 0.6.6 → 0.7.2

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 (478) hide show
  1. package/README.md +54 -11
  2. package/package.json +19 -7
  3. package/packages/tools/lib/analysis-starters.d.ts +4 -0
  4. package/packages/tools/lib/analysis-starters.d.ts.map +1 -0
  5. package/packages/tools/lib/analysis-starters.js +425 -0
  6. package/packages/tools/lib/analysis-starters.js.map +1 -0
  7. package/packages/tools/lib/bin/memo.js +161 -10
  8. package/packages/tools/lib/bin/memo.js.map +1 -1
  9. package/packages/tools/lib/browser/index.d.ts +1 -1
  10. package/packages/tools/lib/browser/index.d.ts.map +1 -1
  11. package/packages/tools/lib/browser/index.js +1 -1
  12. package/packages/tools/lib/browser/index.js.map +1 -1
  13. package/packages/tools/lib/commands/ask.js +1 -1
  14. package/packages/tools/lib/commands/ask.js.map +1 -1
  15. package/packages/tools/lib/commands/check.d.ts.map +1 -1
  16. package/packages/tools/lib/commands/check.js +3 -9
  17. package/packages/tools/lib/commands/check.js.map +1 -1
  18. package/packages/tools/lib/commands/conformance.d.ts +36 -0
  19. package/packages/tools/lib/commands/conformance.d.ts.map +1 -0
  20. package/packages/tools/lib/commands/conformance.js +212 -0
  21. package/packages/tools/lib/commands/conformance.js.map +1 -0
  22. package/packages/tools/lib/commands/convert.d.ts +12 -0
  23. package/packages/tools/lib/commands/convert.d.ts.map +1 -0
  24. package/packages/tools/lib/commands/convert.js +103 -0
  25. package/packages/tools/lib/commands/convert.js.map +1 -0
  26. package/packages/tools/lib/commands/create-package.d.ts +1 -2
  27. package/packages/tools/lib/commands/create-package.d.ts.map +1 -1
  28. package/packages/tools/lib/commands/create-package.js.map +1 -1
  29. package/packages/tools/lib/commands/dev.d.ts +13 -0
  30. package/packages/tools/lib/commands/dev.d.ts.map +1 -1
  31. package/packages/tools/lib/commands/dev.js +208 -74
  32. package/packages/tools/lib/commands/dev.js.map +1 -1
  33. package/packages/tools/lib/commands/dhf-draft.js +1 -1
  34. package/packages/tools/lib/commands/dhf-draft.js.map +1 -1
  35. package/packages/tools/lib/commands/dhf-preview.js +1 -1
  36. package/packages/tools/lib/commands/dhf-preview.js.map +1 -1
  37. package/packages/tools/lib/commands/dhf.js +1 -1
  38. package/packages/tools/lib/commands/dhf.js.map +1 -1
  39. package/packages/tools/lib/commands/element.d.ts +34 -0
  40. package/packages/tools/lib/commands/element.d.ts.map +1 -0
  41. package/packages/tools/lib/commands/element.js +174 -0
  42. package/packages/tools/lib/commands/element.js.map +1 -0
  43. package/packages/tools/lib/commands/export.d.ts.map +1 -1
  44. package/packages/tools/lib/commands/export.js +39 -40
  45. package/packages/tools/lib/commands/export.js.map +1 -1
  46. package/packages/tools/lib/commands/generate.d.ts.map +1 -1
  47. package/packages/tools/lib/commands/generate.js +10 -7
  48. package/packages/tools/lib/commands/generate.js.map +1 -1
  49. package/packages/tools/lib/commands/import.d.ts.map +1 -1
  50. package/packages/tools/lib/commands/import.js +25 -12
  51. package/packages/tools/lib/commands/import.js.map +1 -1
  52. package/packages/tools/lib/commands/init.d.ts.map +1 -1
  53. package/packages/tools/lib/commands/init.js +37 -14
  54. package/packages/tools/lib/commands/init.js.map +1 -1
  55. package/packages/tools/lib/commands/inspect.d.ts +5 -0
  56. package/packages/tools/lib/commands/inspect.d.ts.map +1 -0
  57. package/packages/tools/lib/commands/inspect.js +56 -0
  58. package/packages/tools/lib/commands/inspect.js.map +1 -0
  59. package/packages/tools/lib/commands/lock.d.ts.map +1 -1
  60. package/packages/tools/lib/commands/lock.js +7 -2
  61. package/packages/tools/lib/commands/lock.js.map +1 -1
  62. package/packages/tools/lib/commands/ontology.d.ts.map +1 -1
  63. package/packages/tools/lib/commands/ontology.js +69 -116
  64. package/packages/tools/lib/commands/ontology.js.map +1 -1
  65. package/packages/tools/lib/commands/pack.d.ts +1 -1
  66. package/packages/tools/lib/commands/pack.d.ts.map +1 -1
  67. package/packages/tools/lib/commands/pack.js +20 -75
  68. package/packages/tools/lib/commands/pack.js.map +1 -1
  69. package/packages/tools/lib/commands/package.d.ts +10 -0
  70. package/packages/tools/lib/commands/package.d.ts.map +1 -0
  71. package/packages/tools/lib/commands/package.js +113 -0
  72. package/packages/tools/lib/commands/package.js.map +1 -0
  73. package/packages/tools/lib/commands/plugin.js +1 -1
  74. package/packages/tools/lib/commands/plugin.js.map +1 -1
  75. package/packages/tools/lib/commands/rules.d.ts.map +1 -1
  76. package/packages/tools/lib/commands/rules.js +120 -30
  77. package/packages/tools/lib/commands/rules.js.map +1 -1
  78. package/packages/tools/lib/commands/sysand-publish.d.ts.map +1 -1
  79. package/packages/tools/lib/commands/sysand-publish.js +14 -16
  80. package/packages/tools/lib/commands/sysand-publish.js.map +1 -1
  81. package/packages/tools/lib/commands/toolchain.d.ts +8 -0
  82. package/packages/tools/lib/commands/toolchain.d.ts.map +1 -0
  83. package/packages/tools/lib/commands/toolchain.js +64 -0
  84. package/packages/tools/lib/commands/toolchain.js.map +1 -0
  85. package/packages/tools/lib/commands/validate.d.ts +1 -1
  86. package/packages/tools/lib/commands/validate.d.ts.map +1 -1
  87. package/packages/tools/lib/commands/validate.js +183 -56
  88. package/packages/tools/lib/commands/validate.js.map +1 -1
  89. package/packages/tools/lib/completeness/tracker.d.ts +10 -2
  90. package/packages/tools/lib/completeness/tracker.d.ts.map +1 -1
  91. package/packages/tools/lib/completeness/tracker.js +16 -21
  92. package/packages/tools/lib/completeness/tracker.js.map +1 -1
  93. package/packages/tools/lib/conformance/baseline.d.ts +26 -0
  94. package/packages/tools/lib/conformance/baseline.d.ts.map +1 -0
  95. package/packages/tools/lib/conformance/baseline.js +170 -0
  96. package/packages/tools/lib/conformance/baseline.js.map +1 -0
  97. package/packages/tools/lib/conformance/bnf.d.ts +84 -0
  98. package/packages/tools/lib/conformance/bnf.d.ts.map +1 -0
  99. package/packages/tools/lib/conformance/bnf.js +166 -0
  100. package/packages/tools/lib/conformance/bnf.js.map +1 -0
  101. package/packages/tools/lib/conformance/corpus.d.ts +125 -0
  102. package/packages/tools/lib/conformance/corpus.d.ts.map +1 -0
  103. package/packages/tools/lib/conformance/corpus.js +190 -0
  104. package/packages/tools/lib/conformance/corpus.js.map +1 -0
  105. package/packages/tools/lib/conformance/diff-xmi.d.ts +118 -0
  106. package/packages/tools/lib/conformance/diff-xmi.d.ts.map +1 -0
  107. package/packages/tools/lib/conformance/diff-xmi.js +276 -0
  108. package/packages/tools/lib/conformance/diff-xmi.js.map +1 -0
  109. package/packages/tools/lib/conformance/generated/syside-rules.d.ts +10 -0
  110. package/packages/tools/lib/conformance/generated/syside-rules.d.ts.map +1 -0
  111. package/packages/tools/lib/conformance/generated/syside-rules.js +1142 -0
  112. package/packages/tools/lib/conformance/generated/syside-rules.js.map +1 -0
  113. package/packages/tools/lib/conformance/index.d.ts +7 -0
  114. package/packages/tools/lib/conformance/index.d.ts.map +1 -0
  115. package/packages/tools/lib/conformance/index.js +19 -0
  116. package/packages/tools/lib/conformance/index.js.map +1 -0
  117. package/packages/tools/lib/conformance/run.d.ts +117 -0
  118. package/packages/tools/lib/conformance/run.d.ts.map +1 -0
  119. package/packages/tools/lib/conformance/run.js +0 -0
  120. package/packages/tools/lib/conformance/run.js.map +1 -0
  121. package/packages/tools/lib/conformance/xmi.d.ts +45 -0
  122. package/packages/tools/lib/conformance/xmi.d.ts.map +1 -0
  123. package/packages/tools/lib/conformance/xmi.js +148 -0
  124. package/packages/tools/lib/conformance/xmi.js.map +1 -0
  125. package/packages/tools/lib/dhf/template-resolver.js +1 -1
  126. package/packages/tools/lib/dhf/template-resolver.js.map +1 -1
  127. package/packages/tools/lib/import/column-mapper.d.ts +2 -2
  128. package/packages/tools/lib/import/column-mapper.d.ts.map +1 -1
  129. package/packages/tools/lib/import/column-mapper.js +3 -3
  130. package/packages/tools/lib/import/column-mapper.js.map +1 -1
  131. package/packages/tools/lib/index.d.ts +20 -3
  132. package/packages/tools/lib/index.d.ts.map +1 -1
  133. package/packages/tools/lib/index.js +19 -2
  134. package/packages/tools/lib/index.js.map +1 -1
  135. package/packages/tools/lib/language/generated/ast.d.ts +196 -51
  136. package/packages/tools/lib/language/generated/ast.d.ts.map +1 -1
  137. package/packages/tools/lib/language/generated/ast.js +136 -15
  138. package/packages/tools/lib/language/generated/ast.js.map +1 -1
  139. package/packages/tools/lib/language/generated/grammar.d.ts.map +1 -1
  140. package/packages/tools/lib/language/generated/grammar.js +867 -295
  141. package/packages/tools/lib/language/generated/grammar.js.map +1 -1
  142. package/packages/tools/lib/llm/chat-engine.d.ts +4 -3
  143. package/packages/tools/lib/llm/chat-engine.d.ts.map +1 -1
  144. package/packages/tools/lib/llm/chat-engine.js +15 -12
  145. package/packages/tools/lib/llm/chat-engine.js.map +1 -1
  146. package/packages/tools/lib/llm/generate-engine.d.ts +7 -2
  147. package/packages/tools/lib/llm/generate-engine.d.ts.map +1 -1
  148. package/packages/tools/lib/llm/generate-engine.js +22 -4
  149. package/packages/tools/lib/llm/generate-engine.js.map +1 -1
  150. package/packages/tools/lib/llm/index.d.ts +1 -0
  151. package/packages/tools/lib/llm/index.d.ts.map +1 -1
  152. package/packages/tools/lib/llm/index.js +1 -0
  153. package/packages/tools/lib/llm/index.js.map +1 -1
  154. package/packages/tools/lib/llm/model-context.d.ts +2 -2
  155. package/packages/tools/lib/llm/model-context.d.ts.map +1 -1
  156. package/packages/tools/lib/llm/model-context.js +7 -13
  157. package/packages/tools/lib/llm/model-context.js.map +1 -1
  158. package/packages/tools/lib/llm/sysml-guidance.d.ts +8 -0
  159. package/packages/tools/lib/llm/sysml-guidance.d.ts.map +1 -0
  160. package/packages/tools/lib/llm/sysml-guidance.js +28 -0
  161. package/packages/tools/lib/llm/sysml-guidance.js.map +1 -0
  162. package/packages/tools/lib/lock.d.ts +14 -8
  163. package/packages/tools/lib/lock.d.ts.map +1 -1
  164. package/packages/tools/lib/lock.js +97 -108
  165. package/packages/tools/lib/lock.js.map +1 -1
  166. package/packages/tools/lib/mcp/model-loader.d.ts +5 -1
  167. package/packages/tools/lib/mcp/model-loader.d.ts.map +1 -1
  168. package/packages/tools/lib/mcp/model-loader.js +16 -27
  169. package/packages/tools/lib/mcp/model-loader.js.map +1 -1
  170. package/packages/tools/lib/mcp/tools.d.ts +3 -0
  171. package/packages/tools/lib/mcp/tools.d.ts.map +1 -1
  172. package/packages/tools/lib/mcp/tools.js +8 -9
  173. package/packages/tools/lib/mcp/tools.js.map +1 -1
  174. package/packages/tools/lib/model/activity-notation.d.ts +54 -0
  175. package/packages/tools/lib/model/activity-notation.d.ts.map +1 -0
  176. package/packages/tools/lib/model/activity-notation.js +208 -0
  177. package/packages/tools/lib/model/activity-notation.js.map +1 -0
  178. package/packages/tools/lib/model/builder.d.ts +3 -0
  179. package/packages/tools/lib/model/builder.d.ts.map +1 -1
  180. package/packages/tools/lib/model/builder.js +264 -26
  181. package/packages/tools/lib/model/builder.js.map +1 -1
  182. package/packages/tools/lib/model/config-loader.d.ts +19 -25
  183. package/packages/tools/lib/model/config-loader.d.ts.map +1 -1
  184. package/packages/tools/lib/model/config-loader.js +51 -233
  185. package/packages/tools/lib/model/config-loader.js.map +1 -1
  186. package/packages/tools/lib/model/config.d.ts +42 -213
  187. package/packages/tools/lib/model/config.d.ts.map +1 -1
  188. package/packages/tools/lib/model/config.js +11 -9
  189. package/packages/tools/lib/model/config.js.map +1 -1
  190. package/packages/tools/lib/model/effective-scope.d.ts +74 -0
  191. package/packages/tools/lib/model/effective-scope.d.ts.map +1 -0
  192. package/packages/tools/lib/model/effective-scope.js +133 -0
  193. package/packages/tools/lib/model/effective-scope.js.map +1 -0
  194. package/packages/tools/lib/model/ir-identity.d.ts +94 -0
  195. package/packages/tools/lib/model/ir-identity.d.ts.map +1 -0
  196. package/packages/tools/lib/model/ir-identity.js +178 -0
  197. package/packages/tools/lib/model/ir-identity.js.map +1 -0
  198. package/packages/tools/lib/model/kind-registry.d.ts +114 -1
  199. package/packages/tools/lib/model/kind-registry.d.ts.map +1 -1
  200. package/packages/tools/lib/model/kind-registry.js +148 -4
  201. package/packages/tools/lib/model/kind-registry.js.map +1 -1
  202. package/packages/tools/lib/model/layer-resolver.js +1 -1
  203. package/packages/tools/lib/model/layer-resolver.js.map +1 -1
  204. package/packages/tools/lib/model/methodology-loader.d.ts +19 -24
  205. package/packages/tools/lib/model/methodology-loader.d.ts.map +1 -1
  206. package/packages/tools/lib/model/methodology-loader.js +179 -176
  207. package/packages/tools/lib/model/methodology-loader.js.map +1 -1
  208. package/packages/tools/lib/model/methodology-resolver.d.ts +115 -0
  209. package/packages/tools/lib/model/methodology-resolver.d.ts.map +1 -0
  210. package/packages/tools/lib/model/methodology-resolver.js +317 -0
  211. package/packages/tools/lib/model/methodology-resolver.js.map +1 -0
  212. package/packages/tools/lib/model/native-project.d.ts +130 -0
  213. package/packages/tools/lib/model/native-project.d.ts.map +1 -0
  214. package/packages/tools/lib/model/native-project.js +570 -0
  215. package/packages/tools/lib/model/native-project.js.map +1 -0
  216. package/packages/tools/lib/model/ontology-loader.d.ts +34 -21
  217. package/packages/tools/lib/model/ontology-loader.d.ts.map +1 -1
  218. package/packages/tools/lib/model/ontology-loader.js +340 -614
  219. package/packages/tools/lib/model/ontology-loader.js.map +1 -1
  220. package/packages/tools/lib/model/package-manifest.d.ts +37 -0
  221. package/packages/tools/lib/model/package-manifest.d.ts.map +1 -0
  222. package/packages/tools/lib/model/package-manifest.js +96 -0
  223. package/packages/tools/lib/model/package-manifest.js.map +1 -0
  224. package/packages/tools/lib/model/parser-utils.d.ts +31 -0
  225. package/packages/tools/lib/model/parser-utils.d.ts.map +1 -1
  226. package/packages/tools/lib/model/parser-utils.js +89 -1
  227. package/packages/tools/lib/model/parser-utils.js.map +1 -1
  228. package/packages/tools/lib/model/paths.d.ts +10 -4
  229. package/packages/tools/lib/model/paths.d.ts.map +1 -1
  230. package/packages/tools/lib/model/paths.js +10 -4
  231. package/packages/tools/lib/model/paths.js.map +1 -1
  232. package/packages/tools/lib/model/project-conversion.d.ts +226 -0
  233. package/packages/tools/lib/model/project-conversion.d.ts.map +1 -0
  234. package/packages/tools/lib/model/project-conversion.js +946 -0
  235. package/packages/tools/lib/model/project-conversion.js.map +1 -0
  236. package/packages/tools/lib/model/relationship-legality.d.ts +12 -0
  237. package/packages/tools/lib/model/relationship-legality.d.ts.map +1 -1
  238. package/packages/tools/lib/model/relationship-legality.js.map +1 -1
  239. package/packages/tools/lib/model/relationship-registry.d.ts +16 -1
  240. package/packages/tools/lib/model/relationship-registry.d.ts.map +1 -1
  241. package/packages/tools/lib/model/relationship-registry.js.map +1 -1
  242. package/packages/tools/lib/model/semantic.d.ts +38 -0
  243. package/packages/tools/lib/model/semantic.d.ts.map +1 -1
  244. package/packages/tools/lib/model/semantic.js +3 -0
  245. package/packages/tools/lib/model/semantic.js.map +1 -1
  246. package/packages/tools/lib/model/settings-boundary.d.ts +19 -0
  247. package/packages/tools/lib/model/settings-boundary.d.ts.map +1 -0
  248. package/packages/tools/lib/model/settings-boundary.js +118 -0
  249. package/packages/tools/lib/model/settings-boundary.js.map +1 -0
  250. package/packages/tools/lib/model/short-id.d.ts +8 -7
  251. package/packages/tools/lib/model/short-id.d.ts.map +1 -1
  252. package/packages/tools/lib/model/short-id.js +26 -17
  253. package/packages/tools/lib/model/short-id.js.map +1 -1
  254. package/packages/tools/lib/model/source-graph.d.ts.map +1 -1
  255. package/packages/tools/lib/model/source-graph.js +5 -1
  256. package/packages/tools/lib/model/source-graph.js.map +1 -1
  257. package/packages/tools/lib/model/source-provenance.d.ts +112 -0
  258. package/packages/tools/lib/model/source-provenance.d.ts.map +1 -0
  259. package/packages/tools/lib/model/source-provenance.js +169 -0
  260. package/packages/tools/lib/model/source-provenance.js.map +1 -0
  261. package/packages/tools/lib/model/sysml-files.d.ts +9 -0
  262. package/packages/tools/lib/model/sysml-files.d.ts.map +1 -1
  263. package/packages/tools/lib/model/sysml-files.js +20 -1
  264. package/packages/tools/lib/model/sysml-files.js.map +1 -1
  265. package/packages/tools/lib/model/sysml-ir.d.ts +9 -0
  266. package/packages/tools/lib/model/sysml-ir.d.ts.map +1 -0
  267. package/packages/tools/lib/model/sysml-ir.js +105 -0
  268. package/packages/tools/lib/model/sysml-ir.js.map +1 -0
  269. package/packages/tools/lib/model/view-deriver.d.ts.map +1 -1
  270. package/packages/tools/lib/model/view-deriver.js +60 -6
  271. package/packages/tools/lib/model/view-deriver.js.map +1 -1
  272. package/packages/tools/lib/model/view-kinds.d.ts +2 -0
  273. package/packages/tools/lib/model/view-kinds.d.ts.map +1 -1
  274. package/packages/tools/lib/model/view-kinds.js +11 -0
  275. package/packages/tools/lib/model/view-kinds.js.map +1 -1
  276. package/packages/tools/lib/ontology/owl-exporter.d.ts +2 -2
  277. package/packages/tools/lib/ontology/owl-exporter.d.ts.map +1 -1
  278. package/packages/tools/lib/ontology/owl-exporter.js +12 -12
  279. package/packages/tools/lib/ontology/owl-exporter.js.map +1 -1
  280. package/packages/tools/lib/operations/ai-authoring.d.ts +24 -0
  281. package/packages/tools/lib/operations/ai-authoring.d.ts.map +1 -0
  282. package/packages/tools/lib/operations/ai-authoring.js +77 -0
  283. package/packages/tools/lib/operations/ai-authoring.js.map +1 -0
  284. package/packages/tools/lib/operations/authoring.d.ts +40 -0
  285. package/packages/tools/lib/operations/authoring.d.ts.map +1 -0
  286. package/packages/tools/lib/operations/authoring.js +56 -0
  287. package/packages/tools/lib/operations/authoring.js.map +1 -0
  288. package/packages/tools/lib/operations/index.d.ts +2 -0
  289. package/packages/tools/lib/operations/index.d.ts.map +1 -1
  290. package/packages/tools/lib/operations/index.js +2 -0
  291. package/packages/tools/lib/operations/index.js.map +1 -1
  292. package/packages/tools/lib/operations/project-snapshot.d.ts +28 -3
  293. package/packages/tools/lib/operations/project-snapshot.d.ts.map +1 -1
  294. package/packages/tools/lib/operations/project-snapshot.js +79 -30
  295. package/packages/tools/lib/operations/project-snapshot.js.map +1 -1
  296. package/packages/tools/lib/protocol/messages.d.ts +311 -11
  297. package/packages/tools/lib/protocol/messages.d.ts.map +1 -1
  298. package/packages/tools/lib/serializer/csv-io.d.ts +7 -7
  299. package/packages/tools/lib/serializer/csv-io.d.ts.map +1 -1
  300. package/packages/tools/lib/serializer/csv-io.js +11 -11
  301. package/packages/tools/lib/serializer/csv-io.js.map +1 -1
  302. package/packages/tools/lib/serializer/sysml-generator.d.ts.map +1 -1
  303. package/packages/tools/lib/serializer/sysml-generator.js +34 -2
  304. package/packages/tools/lib/serializer/sysml-generator.js.map +1 -1
  305. package/packages/tools/lib/server/config-resolver.d.ts +8 -4
  306. package/packages/tools/lib/server/config-resolver.d.ts.map +1 -1
  307. package/packages/tools/lib/server/config-resolver.js +25 -44
  308. package/packages/tools/lib/server/config-resolver.js.map +1 -1
  309. package/packages/tools/lib/server/conflict-policy.d.ts +44 -0
  310. package/packages/tools/lib/server/conflict-policy.d.ts.map +1 -0
  311. package/packages/tools/lib/server/conflict-policy.js +94 -0
  312. package/packages/tools/lib/server/conflict-policy.js.map +1 -0
  313. package/packages/tools/lib/server/dev-server.d.ts +32 -2
  314. package/packages/tools/lib/server/dev-server.d.ts.map +1 -1
  315. package/packages/tools/lib/server/dev-server.js +721 -53
  316. package/packages/tools/lib/server/dev-server.js.map +1 -1
  317. package/packages/tools/lib/server/element-writer.d.ts +11 -0
  318. package/packages/tools/lib/server/element-writer.d.ts.map +1 -0
  319. package/packages/tools/lib/server/element-writer.js +123 -0
  320. package/packages/tools/lib/server/element-writer.js.map +1 -0
  321. package/packages/tools/lib/server/file-watcher.d.ts +4 -1
  322. package/packages/tools/lib/server/file-watcher.d.ts.map +1 -1
  323. package/packages/tools/lib/server/file-watcher.js +17 -7
  324. package/packages/tools/lib/server/file-watcher.js.map +1 -1
  325. package/packages/tools/lib/server/mutation-domain.d.ts +22 -0
  326. package/packages/tools/lib/server/mutation-domain.d.ts.map +1 -0
  327. package/packages/tools/lib/server/mutation-domain.js +87 -0
  328. package/packages/tools/lib/server/mutation-domain.js.map +1 -0
  329. package/packages/tools/lib/server/persistor.d.ts +63 -8
  330. package/packages/tools/lib/server/persistor.d.ts.map +1 -1
  331. package/packages/tools/lib/server/persistor.js +152 -44
  332. package/packages/tools/lib/server/persistor.js.map +1 -1
  333. package/packages/tools/lib/server/relationship-writer.d.ts +28 -4
  334. package/packages/tools/lib/server/relationship-writer.d.ts.map +1 -1
  335. package/packages/tools/lib/server/relationship-writer.js +98 -9
  336. package/packages/tools/lib/server/relationship-writer.js.map +1 -1
  337. package/packages/tools/lib/server/rule-policy-writer.d.ts +40 -0
  338. package/packages/tools/lib/server/rule-policy-writer.d.ts.map +1 -0
  339. package/packages/tools/lib/server/rule-policy-writer.js +124 -0
  340. package/packages/tools/lib/server/rule-policy-writer.js.map +1 -0
  341. package/packages/tools/lib/server/runtime-budget.d.ts +14 -0
  342. package/packages/tools/lib/server/runtime-budget.d.ts.map +1 -0
  343. package/packages/tools/lib/server/runtime-budget.js +15 -0
  344. package/packages/tools/lib/server/runtime-budget.js.map +1 -0
  345. package/packages/tools/lib/server/sysml-notation.d.ts +36 -0
  346. package/packages/tools/lib/server/sysml-notation.d.ts.map +1 -0
  347. package/packages/tools/lib/server/sysml-notation.js +87 -0
  348. package/packages/tools/lib/server/sysml-notation.js.map +1 -0
  349. package/packages/tools/lib/server/view-layout-store.d.ts.map +1 -1
  350. package/packages/tools/lib/server/view-layout-store.js +2 -0
  351. package/packages/tools/lib/server/view-layout-store.js.map +1 -1
  352. package/packages/tools/lib/sysml-ir/generated/sysml-derivations.d.ts +9 -0
  353. package/packages/tools/lib/sysml-ir/generated/sysml-derivations.d.ts.map +1 -0
  354. package/packages/tools/lib/sysml-ir/generated/sysml-derivations.js +315 -0
  355. package/packages/tools/lib/sysml-ir/generated/sysml-derivations.js.map +1 -0
  356. package/packages/tools/lib/sysml-ir/generated/sysml-metamodel.d.ts +5206 -0
  357. package/packages/tools/lib/sysml-ir/generated/sysml-metamodel.d.ts.map +1 -0
  358. package/packages/tools/lib/sysml-ir/generated/sysml-metamodel.js +1933 -0
  359. package/packages/tools/lib/sysml-ir/generated/sysml-metamodel.js.map +1 -0
  360. package/packages/tools/lib/sysml-ir/index.d.ts +3 -0
  361. package/packages/tools/lib/sysml-ir/index.d.ts.map +1 -0
  362. package/packages/tools/lib/sysml-ir/index.js +3 -0
  363. package/packages/tools/lib/sysml-ir/index.js.map +1 -0
  364. package/packages/tools/lib/sysml-ir/ir.d.ts +50 -0
  365. package/packages/tools/lib/sysml-ir/ir.d.ts.map +1 -0
  366. package/packages/tools/lib/sysml-ir/ir.js +2 -0
  367. package/packages/tools/lib/sysml-ir/ir.js.map +1 -0
  368. package/packages/tools/lib/sysmlc/bin/memo-sysmlc.d.ts +3 -0
  369. package/packages/tools/lib/sysmlc/bin/memo-sysmlc.d.ts.map +1 -0
  370. package/packages/tools/lib/sysmlc/bin/memo-sysmlc.js +97 -0
  371. package/packages/tools/lib/sysmlc/bin/memo-sysmlc.js.map +1 -0
  372. package/packages/tools/lib/sysmlc/index.d.ts +2 -0
  373. package/packages/tools/lib/sysmlc/index.d.ts.map +1 -0
  374. package/packages/tools/lib/sysmlc/index.js +7 -0
  375. package/packages/tools/lib/sysmlc/index.js.map +1 -0
  376. package/packages/tools/lib/sysmlc/server.d.ts +29 -0
  377. package/packages/tools/lib/sysmlc/server.d.ts.map +1 -0
  378. package/packages/tools/lib/sysmlc/server.js +168 -0
  379. package/packages/tools/lib/sysmlc/server.js.map +1 -0
  380. package/packages/tools/lib/toolchain/default-registry.d.ts +12 -0
  381. package/packages/tools/lib/toolchain/default-registry.d.ts.map +1 -0
  382. package/packages/tools/lib/toolchain/default-registry.js +28 -0
  383. package/packages/tools/lib/toolchain/default-registry.js.map +1 -0
  384. package/packages/tools/lib/toolchain/diagnostic.d.ts +57 -0
  385. package/packages/tools/lib/toolchain/diagnostic.d.ts.map +1 -0
  386. package/packages/tools/lib/toolchain/diagnostic.js +69 -0
  387. package/packages/tools/lib/toolchain/diagnostic.js.map +1 -0
  388. package/packages/tools/lib/toolchain/effective.d.ts +36 -0
  389. package/packages/tools/lib/toolchain/effective.d.ts.map +1 -0
  390. package/packages/tools/lib/toolchain/effective.js +91 -0
  391. package/packages/tools/lib/toolchain/effective.js.map +1 -0
  392. package/packages/tools/lib/toolchain/index.d.ts +11 -0
  393. package/packages/tools/lib/toolchain/index.d.ts.map +1 -0
  394. package/packages/tools/lib/toolchain/index.js +21 -0
  395. package/packages/tools/lib/toolchain/index.js.map +1 -0
  396. package/packages/tools/lib/toolchain/lowering.d.ts +63 -0
  397. package/packages/tools/lib/toolchain/lowering.d.ts.map +1 -0
  398. package/packages/tools/lib/toolchain/lowering.js +100 -0
  399. package/packages/tools/lib/toolchain/lowering.js.map +1 -0
  400. package/packages/tools/lib/toolchain/operations.d.ts +87 -0
  401. package/packages/tools/lib/toolchain/operations.d.ts.map +1 -0
  402. package/packages/tools/lib/toolchain/operations.js +111 -0
  403. package/packages/tools/lib/toolchain/operations.js.map +1 -0
  404. package/packages/tools/lib/toolchain/process.d.ts +45 -0
  405. package/packages/tools/lib/toolchain/process.d.ts.map +1 -0
  406. package/packages/tools/lib/toolchain/process.js +125 -0
  407. package/packages/tools/lib/toolchain/process.js.map +1 -0
  408. package/packages/tools/lib/toolchain/protocol.d.ts +122 -0
  409. package/packages/tools/lib/toolchain/protocol.d.ts.map +1 -0
  410. package/packages/tools/lib/toolchain/protocol.js +74 -0
  411. package/packages/tools/lib/toolchain/protocol.js.map +1 -0
  412. package/packages/tools/lib/toolchain/providers/internal-kpar.d.ts +9 -0
  413. package/packages/tools/lib/toolchain/providers/internal-kpar.d.ts.map +1 -0
  414. package/packages/tools/lib/toolchain/providers/internal-kpar.js +84 -0
  415. package/packages/tools/lib/toolchain/providers/internal-kpar.js.map +1 -0
  416. package/packages/tools/lib/toolchain/providers/internal.d.ts +33 -0
  417. package/packages/tools/lib/toolchain/providers/internal.d.ts.map +1 -0
  418. package/packages/tools/lib/toolchain/providers/internal.js +286 -0
  419. package/packages/tools/lib/toolchain/providers/internal.js.map +1 -0
  420. package/packages/tools/lib/toolchain/providers/sysand.d.ts +12 -0
  421. package/packages/tools/lib/toolchain/providers/sysand.d.ts.map +1 -0
  422. package/packages/tools/lib/toolchain/providers/sysand.js +110 -0
  423. package/packages/tools/lib/toolchain/providers/sysand.js.map +1 -0
  424. package/packages/tools/lib/toolchain/providers/syside.d.ts +24 -0
  425. package/packages/tools/lib/toolchain/providers/syside.d.ts.map +1 -0
  426. package/packages/tools/lib/toolchain/providers/syside.js +208 -0
  427. package/packages/tools/lib/toolchain/providers/syside.js.map +1 -0
  428. package/packages/tools/lib/toolchain/registry.d.ts +192 -0
  429. package/packages/tools/lib/toolchain/registry.d.ts.map +1 -0
  430. package/packages/tools/lib/toolchain/registry.js +130 -0
  431. package/packages/tools/lib/toolchain/registry.js.map +1 -0
  432. package/packages/tools/lib/toolchain/schema.d.ts +30 -0
  433. package/packages/tools/lib/toolchain/schema.d.ts.map +1 -0
  434. package/packages/tools/lib/toolchain/schema.js +112 -0
  435. package/packages/tools/lib/toolchain/schema.js.map +1 -0
  436. package/packages/tools/lib/toolchain/sysmlc-client.d.ts +77 -0
  437. package/packages/tools/lib/toolchain/sysmlc-client.d.ts.map +1 -0
  438. package/packages/tools/lib/toolchain/sysmlc-client.js +0 -0
  439. package/packages/tools/lib/toolchain/sysmlc-client.js.map +1 -0
  440. package/packages/tools/lib/validator/architecture-validator.d.ts +17 -0
  441. package/packages/tools/lib/validator/architecture-validator.d.ts.map +1 -0
  442. package/packages/tools/lib/validator/architecture-validator.js +101 -0
  443. package/packages/tools/lib/validator/architecture-validator.js.map +1 -0
  444. package/packages/tools/lib/validator/builtin-rules.d.ts +16 -0
  445. package/packages/tools/lib/validator/builtin-rules.d.ts.map +1 -0
  446. package/packages/tools/lib/validator/builtin-rules.js +62 -0
  447. package/packages/tools/lib/validator/builtin-rules.js.map +1 -0
  448. package/packages/tools/lib/validator/constraint-eval.d.ts +15 -0
  449. package/packages/tools/lib/validator/constraint-eval.d.ts.map +1 -1
  450. package/packages/tools/lib/validator/constraint-eval.js +62 -7
  451. package/packages/tools/lib/validator/constraint-eval.js.map +1 -1
  452. package/packages/tools/lib/validator/constraint-loader.d.ts +22 -4
  453. package/packages/tools/lib/validator/constraint-loader.d.ts.map +1 -1
  454. package/packages/tools/lib/validator/constraint-loader.js +100 -27
  455. package/packages/tools/lib/validator/constraint-loader.js.map +1 -1
  456. package/packages/tools/lib/validator/rule-engine.d.ts +2 -1
  457. package/packages/tools/lib/validator/rule-engine.d.ts.map +1 -1
  458. package/packages/tools/lib/validator/rule-engine.js +57 -4
  459. package/packages/tools/lib/validator/rule-engine.js.map +1 -1
  460. package/packages/tools/lib/validator/sysml-constraints.d.ts +64 -0
  461. package/packages/tools/lib/validator/sysml-constraints.d.ts.map +1 -0
  462. package/packages/tools/lib/validator/sysml-constraints.js +251 -0
  463. package/packages/tools/lib/validator/sysml-constraints.js.map +1 -0
  464. package/packages/tools/lib/validator/types.d.ts +33 -0
  465. package/packages/tools/lib/validator/types.d.ts.map +1 -1
  466. package/packages/tools/lib/version.d.ts +2 -0
  467. package/packages/tools/lib/version.d.ts.map +1 -0
  468. package/packages/tools/lib/version.js +26 -0
  469. package/packages/tools/lib/version.js.map +1 -0
  470. package/packages/tools/src/grammar/memo-sysml.langium +104 -18
  471. package/packages/tools/lib/model/dimension-filter.d.ts +0 -33
  472. package/packages/tools/lib/model/dimension-filter.d.ts.map +0 -1
  473. package/packages/tools/lib/model/dimension-filter.js +0 -57
  474. package/packages/tools/lib/model/dimension-filter.js.map +0 -1
  475. package/packages/tools/lib/model/toolchain.d.ts +0 -12
  476. package/packages/tools/lib/model/toolchain.d.ts.map +0 -1
  477. package/packages/tools/lib/model/toolchain.js +0 -92
  478. package/packages/tools/lib/model/toolchain.js.map +0 -1
@@ -24,9 +24,11 @@
24
24
  // - AllocateUsage → MemoRelationship of type "allocateTo"
25
25
  // - ItemDefinition → MemoElement with construct "item"
26
26
  // ─────────────────────────────────────────────────────────────────────────────
27
+ import { createHash } from 'node:crypto';
27
28
  import { PackageRegistry } from './package-registry.js';
28
- import { assignSequentialShortIds } from './short-id.js';
29
+ import { assignSequentialShortIds, kindToPrefix } from './short-id.js';
29
30
  import { indexKinds, kindConformsTo } from './relationship-legality.js';
31
+ import { CONTROL_KIND_METACLASS } from './activity-notation.js';
30
32
  let relationshipCounter = 0;
31
33
  /**
32
34
  * Resolve a kind definition using registry-first, config-fallback strategy.
@@ -54,8 +56,10 @@ function resolveKindDef(typeName, config, registries) {
54
56
  }
55
57
  }
56
58
  }
57
- // Fall back to config (if kinds are present)
58
- const kinds = config.kinds ?? {};
59
+ // There is no config fallback. Kinds come from the ontology the project
60
+ // resolves; a YAML `kinds:` block used to be able to declare one, which
61
+ // meant a settings file could invent a type the ontology never defined.
62
+ const kinds = {};
59
63
  const kindDef = kinds[typeName];
60
64
  if (kindDef) {
61
65
  return { kindDef, resolvedKind: typeName };
@@ -107,6 +111,10 @@ export function buildMemoModel(documents, config, parseErrors = [], registries)
107
111
  for (const { allocate, filePath, packageName } of deferredAllocates) {
108
112
  resolveAllocate(allocate, filePath, packageName, elements, relationships, registry, allElementIds);
109
113
  }
114
+ // Keep ownership of a declaration separate from ownership of the type that
115
+ // classifies it. A project usage of `Hazard` is editable project content;
116
+ // its classifier is a read-only ontology definition.
117
+ applySemanticProvenance(elements, relationships, registries);
110
118
  // Build indexes
111
119
  const elementsByKind = new Map();
112
120
  const elementsByLayer = new Map();
@@ -118,12 +126,20 @@ export function buildMemoModel(documents, config, parseErrors = [], registries)
118
126
  elementsByLayer.set(el.layer, []);
119
127
  elementsByLayer.get(el.layer).push(el);
120
128
  }
121
- // Assign sequential short IDs: sort each kind group by element id, then
122
- // assign PREFIX-1, PREFIX-2, ... Deletion-stable (survivors keep their seq).
123
- for (const [kind, kindElements] of elementsByKind) {
124
- const idToShortId = assignSequentialShortIds(kind, kindElements.map(e => e.id));
125
- for (const el of kindElements) {
129
+ // Assign each three-letter prefix one sequential display index. This is
130
+ // deliberately distinct from the technical UUID assigned below.
131
+ const elementsByPrefix = new Map();
132
+ for (const element of elements.values()) {
133
+ const prefix = kindToPrefix(element.kind);
134
+ const prefixElements = elementsByPrefix.get(prefix) ?? [];
135
+ prefixElements.push(element);
136
+ elementsByPrefix.set(prefix, prefixElements);
137
+ }
138
+ for (const [prefix, prefixElements] of elementsByPrefix) {
139
+ const idToShortId = assignSequentialShortIds(prefix, prefixElements.map(e => e.id));
140
+ for (const el of prefixElements) {
126
141
  el.shortId = idToShortId.get(el.id);
142
+ el.uuid = stableElementUuid(el);
127
143
  }
128
144
  }
129
145
  // Phase 4: Validate relationship end types (warnings only).
@@ -188,6 +204,64 @@ export function buildMemoModel(documents, config, parseErrors = [], registries)
188
204
  incoming,
189
205
  };
190
206
  }
207
+ function applySemanticProvenance(elements, relationships, registries) {
208
+ const table = registries?.provenance;
209
+ if (!table)
210
+ return;
211
+ const entryFor = (kind) => registries?.kindRegistry?.getKind(kind)
212
+ ?? registries?.kindRegistry?.getKind(kind.split('::').pop() ?? kind);
213
+ const classifierFor = (kind) => {
214
+ const entry = entryFor(kind);
215
+ if (!entry?.qualifiedName)
216
+ return undefined;
217
+ return {
218
+ qualifiedName: entry.qualifiedName,
219
+ shortName: entry.name,
220
+ provenance: entry.sourceFile ? table.lookup(entry.sourceFile) : undefined,
221
+ };
222
+ };
223
+ const classifierChainFor = (kind) => {
224
+ const chain = [];
225
+ const seen = new Set();
226
+ let entry = entryFor(kind);
227
+ while (entry?.qualifiedName && !seen.has(entry.qualifiedName)) {
228
+ seen.add(entry.qualifiedName);
229
+ chain.push({
230
+ qualifiedName: entry.qualifiedName,
231
+ shortName: entry.name,
232
+ provenance: entry.sourceFile ? table.lookup(entry.sourceFile) : undefined,
233
+ });
234
+ entry = entry.superType ? entryFor(entry.superType) : undefined;
235
+ }
236
+ return chain.length > 0 ? chain : undefined;
237
+ };
238
+ const declarationFor = (file, kind) => ({
239
+ declaration: table.lookupOrProject(file),
240
+ classifier: kind ? classifierFor(kind) : undefined,
241
+ classifierChain: kind ? classifierChainFor(kind) : undefined,
242
+ });
243
+ for (const element of elements.values()) {
244
+ element.provenance = declarationFor(element.file, element.kind);
245
+ }
246
+ for (const relationship of relationships) {
247
+ relationship.provenance = declarationFor(relationship.file, relationship.type);
248
+ }
249
+ }
250
+ /**
251
+ * Derive a UUID from source identity, rather than allocating a random value on
252
+ * every compilation. This is the machine identity; `shortId` is the compact
253
+ * human-facing PREFIX-1, PREFIX-2, … label used in explorers.
254
+ */
255
+ function stableElementUuid(element) {
256
+ const bytes = createHash('sha256')
257
+ .update(`${element.file}\0${element.kind}\0${element.id}`)
258
+ .digest()
259
+ .subarray(0, 16);
260
+ bytes[6] = (bytes[6] & 0x0f) | 0x50; // UUID v5 shape
261
+ bytes[8] = (bytes[8] & 0x3f) | 0x80; // RFC 4122 variant
262
+ const hex = bytes.toString('hex');
263
+ return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
264
+ }
191
265
  // ─── AST Walking ────────────────────────────────────────────────────────────
192
266
  function extractFromModel(model, filePath, config, elements, deferredConnections, deferredFlows, deferredSuccessions, deferredAllocates, errors, registry, registries) {
193
267
  for (const member of model.members) {
@@ -245,6 +319,23 @@ function extractFromPackage(pkg, filePath, parentPackage, config, elements, defe
245
319
  packageName,
246
320
  });
247
321
  break;
322
+ case 'FlowConnectionUsage':
323
+ // A flow between two action usages declared side by side in a
324
+ // package has no enclosing action, so parentActionId is unset
325
+ // and the endpoints resolve against the package scope.
326
+ deferredFlows.push({
327
+ flow: member,
328
+ filePath,
329
+ packageName,
330
+ });
331
+ break;
332
+ case 'SuccessionUsage':
333
+ deferredSuccessions.push({
334
+ succession: member,
335
+ filePath,
336
+ packageName,
337
+ });
338
+ break;
248
339
  case 'AllocateUsage':
249
340
  deferredAllocates.push({
250
341
  allocate: member,
@@ -254,7 +345,7 @@ function extractFromPackage(pkg, filePath, parentPackage, config, elements, defe
254
345
  break;
255
346
  // ─── Definition members ─────────────────────────────────────
256
347
  case 'ActionDefinition':
257
- extractActionDefinition(member, filePath, packageName, config, elements, registry);
348
+ extractActionDefinition(member, filePath, packageName, config, elements, deferredFlows, deferredSuccessions, registry, registries);
258
349
  break;
259
350
  case 'ItemDefinition':
260
351
  extractItemDefinition(member, filePath, packageName, config, elements, registry, registries);
@@ -288,13 +379,21 @@ function extractUsage(usage, construct, filePath, packageName, config, elements,
288
379
  continue;
289
380
  const pm = member;
290
381
  if (pm.boundRef && pm.name) {
382
+ // Two shapes land here. `part viewpointDefinition :> vp;` names the
383
+ // feature in `name` and the value in `boundRef`. The subsetting
384
+ // form for a multi-valued feature —
385
+ // `part vpLogical :> viewpointDefinition = someViewpoint;` — puts
386
+ // the FEATURE in `boundRef` and the value in `subsetValue`, and its
387
+ // member name is arbitrary. Attribute it to the feature it subsets,
388
+ // or a view governed by three viewpoints would surface as three
389
+ // unrelated attributes nothing reads.
390
+ const key = pm.subsetValue ? pm.boundRef : pm.name;
391
+ const value = pm.subsetValue ?? pm.boundRef;
291
392
  // A feature with multiplicity may be rebound more than once. Keep
292
393
  // every binding as a comma-separated value so view conformance can
293
394
  // model one view against several viewpoints without cloning it.
294
- const previous = attributes[pm.name];
295
- attributes[pm.name] = previous
296
- ? `${previous},${pm.boundRef}`
297
- : pm.boundRef;
395
+ const previous = attributes[key];
396
+ attributes[key] = previous ? `${previous},${value}` : value;
298
397
  }
299
398
  else if (pm.body && pm.name) {
300
399
  const nested = extractAttributes(pm.body);
@@ -319,11 +418,23 @@ function extractUsage(usage, construct, filePath, packageName, config, elements,
319
418
  // Port-specific fields
320
419
  if (construct === 'port') {
321
420
  const portNode = usage;
421
+ const directedItems = (usage.body || [])
422
+ .filter(member => member.$type === 'ItemUsage' && !!member.direction)
423
+ .map(member => member);
424
+ const itemDirections = new Set(directedItems.map(item => item.direction));
322
425
  element.portSpec = {
323
426
  type: portNode.type,
324
- direction: portNode.direction,
427
+ direction: (portNode.direction ?? (itemDirections.size === 1 ? directedItems[0]?.direction : undefined)),
325
428
  isConjugated: portNode.isConjugated ?? false,
326
429
  };
430
+ element.parameters = directedItems
431
+ .map(feature => {
432
+ return {
433
+ name: feature.name,
434
+ direction: feature.direction,
435
+ type: feature.type || 'Item',
436
+ };
437
+ });
327
438
  }
328
439
  elements.set(id, element);
329
440
  registry.registerElement(id, packageName);
@@ -331,18 +442,18 @@ function extractUsage(usage, construct, filePath, packageName, config, elements,
331
442
  /**
332
443
  * Extract an ActionDefinition as a MemoElement with parameters.
333
444
  */
334
- function extractActionDefinition(actionDef, filePath, packageName, config, elements, registry) {
445
+ function extractActionDefinition(actionDef, filePath, packageName, config, elements, deferredFlows, deferredSuccessions, registry, registries) {
335
446
  const id = actionDef.name;
336
447
  // Extract parameters from body
337
448
  const parameters = [];
338
449
  const bodyMembers = actionDef.body || [];
339
450
  for (const member of bodyMembers) {
340
- if (member.$type === 'ActionParameterMember') {
451
+ if (member.$type === 'ActionParameterMember' || (member.$type === 'ItemUsage' && member.direction)) {
341
452
  const param = member;
342
453
  parameters.push({
343
454
  name: param.name,
344
455
  direction: param.direction,
345
- type: param.type,
456
+ type: param.type || 'Item',
346
457
  });
347
458
  }
348
459
  }
@@ -364,6 +475,66 @@ function extractActionDefinition(actionDef, filePath, packageName, config, eleme
364
475
  };
365
476
  elements.set(id, element);
366
477
  registry.registerElement(id, packageName);
478
+ // Standard SysML activity bodies may contain action/control usages directly
479
+ // (not wrapped in an ActionUsage). Preserve those declarations so a valid
480
+ // activity diagram cannot collapse to its enclosing action alone.
481
+ // `previousStep` carries the member a `then` refers back to: in standard
482
+ // SysML a body member written `then action x ...` succeeds the step declared
483
+ // before it, with no `succession` usage naming either end.
484
+ let previousStep;
485
+ let terminateCount = 0;
486
+ for (const member of bodyMembers) {
487
+ let step;
488
+ if (member.$type === 'ActionUsage') {
489
+ extractActionUsage(member, filePath, packageName, config, elements, deferredFlows, deferredSuccessions, registry, registries, id);
490
+ step = member.name;
491
+ }
492
+ else if (member.$type === 'ControlNodeUsage') {
493
+ extractControlNode(member, filePath, packageName, elements, registry, id);
494
+ step = member.name;
495
+ }
496
+ else if (['AcceptActionUsage', 'SendActionUsage', 'DecisionNodeUsage', 'MergeNodeUsage', 'TerminateUsage'].includes(member.$type)) {
497
+ const node = member;
498
+ // A terminate node has no name to be given one by, and an id keyed
499
+ // on `elements.size` moves whenever anything else in the file does.
500
+ // Key it on the action that owns it instead, so a view can name it
501
+ // and a saved layout keeps pointing at the same node.
502
+ const fallback = node.$type === 'TerminateUsage'
503
+ ? `${id}__terminate${terminateCount++ === 0 ? '' : terminateCount}`
504
+ : `${node.$type}-${elements.size}`;
505
+ const nodeId = node.name ?? fallback;
506
+ step = nodeId;
507
+ extractStandardActivityNode(node, filePath, packageName, elements, registry, id, nodeId);
508
+ }
509
+ else if (member.$type === 'SuccessionUsage') {
510
+ deferredSuccessions.push({ succession: member, filePath, packageName, parentActionId: id });
511
+ }
512
+ if (step && member.followsPrevious && previousStep) {
513
+ deferredSuccessions.push({
514
+ succession: { steps: [{ ref: previousStep }, { ref: step }] },
515
+ filePath,
516
+ packageName,
517
+ parentActionId: id,
518
+ });
519
+ }
520
+ if (step)
521
+ previousStep = step;
522
+ }
523
+ }
524
+ function extractStandardActivityNode(node, filePath, packageName, elements, registry, parentActionId, id) {
525
+ const typeToKind = {
526
+ AcceptActionUsage: 'AcceptActionUsage', SendActionUsage: 'SendActionUsage',
527
+ DecisionNodeUsage: 'DecisionNodeUsage', MergeNodeUsage: 'MergeNodeUsage', TerminateUsage: 'ActivityFinalNodeUsage',
528
+ };
529
+ const parameters = node.$type === 'AcceptActionUsage' && node.payloadName
530
+ ? [{ name: node.payloadName, direction: 'out', type: node.payloadType ?? 'Item' }]
531
+ : undefined;
532
+ elements.set(id, {
533
+ id, name: node.name ?? node.$type, kind: typeToKind[node.$type] ?? node.$type,
534
+ construct: 'action', layer: 'behavior', file: filePath, package: packageName || undefined,
535
+ attributes: { ...(node.payloadName ? { payloadName: node.payloadName } : {}), ...(node.payloadType ? { payloadType: node.payloadType } : {}) }, parentAction: parentActionId, parameters,
536
+ });
537
+ registry.registerElement(id, packageName);
367
538
  }
368
539
  /**
369
540
  * Extract an ItemDefinition as a MemoElement.
@@ -458,6 +629,9 @@ function extractActionUsage(usage, filePath, packageName, config, elements, defe
458
629
  attributes,
459
630
  doc,
460
631
  parentAction: parentActionId,
632
+ parameters: bodyMembers
633
+ .filter(member => member.$type === 'ActionParameterMember')
634
+ .map(member => ({ name: member.name, direction: member.direction, type: member.type || 'Item' })),
461
635
  };
462
636
  elements.set(id, element);
463
637
  registry.registerElement(id, packageName);
@@ -491,18 +665,22 @@ function extractActionUsage(usage, filePath, packageName, config, elements, defe
491
665
  }
492
666
  }
493
667
  /**
494
- * Extract a fork/join control node. Modeled as a behavior-layer element with
668
+ * Extract a control node. Modeled as a behavior-layer element with
495
669
  * `construct: 'action'` so it participates in succession ordering and swimlane
496
- * layout like any other flow step, but carries a distinct kind
497
- * (`ForkNode` / `JoinNode`) and a `controlKind` attribute so renderers draw it
498
- * as a synchronization bar rather than an action card.
670
+ * layout like any other flow step, but carries the metaclass its `controlKind`
671
+ * names and a `controlKind` attribute, so renderers draw the right symbol —
672
+ * a bar for fork/join, a diamond for decide/merge.
673
+ *
674
+ * The kind comes from `CONTROL_KIND_METACLASS`, the same binding
675
+ * `activityNodeType` classifies by; a second mapping here is how `decide` and
676
+ * `merge` came to be stored as `JoinNode`.
499
677
  */
500
678
  function extractControlNode(node, filePath, packageName, elements, registry, parentActionId) {
501
679
  const id = node.name;
502
- const kind = node.controlKind === 'fork' ? 'ForkNode' : 'JoinNode';
680
+ const kind = CONTROL_KIND_METACLASS[node.controlKind];
503
681
  elements.set(id, {
504
682
  id,
505
- name: node.controlKind,
683
+ name: node.name,
506
684
  kind,
507
685
  construct: 'action',
508
686
  layer: 'behavior',
@@ -528,6 +706,7 @@ function resolveConnection(conn, filePath, packageName, config, elements, relati
528
706
  return;
529
707
  // A named connection usage carries its own stable ID; anonymous ones fall
530
708
  // back to a positional counter that shifts whenever the file changes.
709
+ const attributes = extractAttributes(conn.body);
531
710
  const rel = {
532
711
  id: conn.name || `rel-${++relationshipCounter}`,
533
712
  type: normalizedType,
@@ -537,7 +716,8 @@ function resolveConnection(conn, filePath, packageName, config, elements, relati
537
716
  targetEnd: conn.target.endName,
538
717
  file: filePath,
539
718
  named: conn.name ? true : undefined,
540
- attributes: extractAttributes(conn.body),
719
+ attributes,
720
+ flowItem: attributes.transportedItem || attributes.flowItem || undefined,
541
721
  };
542
722
  // Tag port IDs when endpoints reference port elements
543
723
  const sourceEl = elements.get(sourceId);
@@ -604,11 +784,12 @@ function resolveSuccession(succession, filePath, packageName, parentActionId, re
604
784
  const targetKnown = toRef === 'done' || allElementIds.has(targetId);
605
785
  if (!sourceKnown || !targetKnown)
606
786
  continue;
787
+ const guardLabel = renderGuardExpression(steps[i].guard);
607
788
  const rel = {
608
789
  id: `rel-${++relationshipCounter}`,
609
790
  type: 'succession',
610
791
  sourceId,
611
- sourceEnd: '',
792
+ sourceEnd: guardLabel === undefined ? '' : `[${guardLabel}]`,
612
793
  targetId,
613
794
  targetEnd: '',
614
795
  file: filePath,
@@ -616,6 +797,44 @@ function resolveSuccession(succession, filePath, packageName, parentActionId, re
616
797
  relationships.push(rel);
617
798
  }
618
799
  }
800
+ /**
801
+ * Preserve a SysML succession guard as readable diagram text.
802
+ *
803
+ * Guards use the same expression AST as constraints. Previously only literal
804
+ * `true`/`false` nodes happened to carry one of the three fields inspected by
805
+ * the builder, so a valid guard such as `validUser == true` silently vanished
806
+ * during lowering even though SysIDE accepted it.
807
+ */
808
+ function renderGuardExpression(expr) {
809
+ if (!expr)
810
+ return undefined;
811
+ switch (expr.$type) {
812
+ case 'LiteralExpr':
813
+ return expr.boolValue ?? expr.intValue ?? expr.strValue;
814
+ case 'FeatureChain':
815
+ return Array.isArray(expr.segments) ? expr.segments.join('.') : undefined;
816
+ case 'UnaryExpr': {
817
+ const operand = renderGuardExpression(expr.operand);
818
+ return operand === undefined ? undefined : `${expr.op} ${operand}`;
819
+ }
820
+ case 'BinaryExpr': {
821
+ const left = renderGuardExpression(expr.left);
822
+ const right = renderGuardExpression(expr.right);
823
+ return left === undefined || right === undefined
824
+ ? undefined
825
+ : `${left} ${expr.op} ${right}`;
826
+ }
827
+ case 'CollectionOp': {
828
+ const target = renderGuardExpression(expr.target);
829
+ const argument = renderGuardExpression(expr.argument);
830
+ if (target === undefined)
831
+ return undefined;
832
+ return `${target}->${expr.op}(${argument ?? ''})`;
833
+ }
834
+ default:
835
+ return expr.text ?? expr.value;
836
+ }
837
+ }
619
838
  /**
620
839
  * Resolve an allocate usage into a MemoRelationship and set allocatedTo on the element.
621
840
  */
@@ -659,6 +878,17 @@ function extractAttributes(body) {
659
878
  else if (attr.type) {
660
879
  attrs[attr.name] = `<${attr.type}>`;
661
880
  }
881
+ else if (attr.body?.length) {
882
+ // Structured value: the members of an `attribute def` assigned
883
+ // inline, e.g. `attribute :>> bounds { attribute :>> x = 0.1; }`.
884
+ // Flattened to dotted keys ("bounds.x") so the value lands in
885
+ // the same flat map every consumer already reads. Without this
886
+ // branch the whole assignment is dropped and the model carries
887
+ // no record of it.
888
+ for (const [key, value] of Object.entries(extractAttributes(attr.body))) {
889
+ attrs[`${attr.name}.${key}`] = value;
890
+ }
891
+ }
662
892
  }
663
893
  }
664
894
  return attrs;
@@ -716,7 +946,15 @@ function resolveRef(ref) {
716
946
  * are registered under their leaf name, so when the full reference is not a
717
947
  * known element id, resolve its last dot segment instead.
718
948
  */
719
- function resolveEndpointId(ref, packageName, registry, allElementIds) {
949
+ function resolveEndpointId(
950
+ // An endpoint can parse without a reference — the Release examples contain
951
+ // connection forms the MEMO grammar accepts structurally but cannot bind.
952
+ // An unresolvable endpoint drops the relationship at the call site, which
953
+ // is the same outcome as any other unresolved reference; crashing the whole
954
+ // build over it is not (§1.1 — the compiler reports, it does not refuse).
955
+ ref, packageName, registry, allElementIds) {
956
+ if (!ref)
957
+ return undefined;
720
958
  const direct = registry.resolveElementId(ref, packageName, allElementIds) || resolveRef(ref);
721
959
  if (direct && allElementIds.has(direct))
722
960
  return direct;
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/model/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/model/builder.ts"],"names":[],"mappings":"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"}
@@ -1,34 +1,28 @@
1
- import type { MEMOConfig, ArchLayer, ViewpointDefinition } from './config.js';
1
+ import type { MEMOConfig } from './config.js';
2
2
  /**
3
- * Locate the nearest config file by walking up from `startDir`.
4
- * Prefers memo.package.yaml (new format), falls back to memo.config.yaml (legacy).
5
- * Returns the resolved path or undefined if not found.
3
+ * Locate the nearest settings file by walking up from `startDir`.
4
+ *
5
+ * Returns undefined when there is none, which is a normal state: a project with
6
+ * no application settings is complete, because settings never carried meaning.
6
7
  */
7
8
  export declare function findConfigFile(startDir: string): string | undefined;
8
9
  /**
9
- * Load rendering layers from a memo.rendering.yaml file.
10
- * Returns the layers array, or empty array if file not found.
11
- */
12
- export declare function loadRenderingLayers(configDir: string): ArchLayer[];
13
- /**
14
- * Load viewpoints from a memo.viewpoints.yaml file.
15
- * Returns the viewpoints array, or undefined if file not found.
16
- */
17
- export declare function loadViewpoints(configDir: string): {
18
- viewpoints?: ViewpointDefinition[];
19
- firstRun?: MEMOConfig['firstRun'];
20
- };
21
- /**
22
- * Load and parse a MEMOConfig from a YAML file.
23
- * Supports both new format (memo.package.yaml) and legacy format (memo.config.yaml).
24
- * Also loads memo.rendering.yaml, memo.rules.yaml, and memo.viewpoints.yaml if present.
25
- * Does NOT resolve `extends` — call `resolveConfig` for that.
10
+ * Load application settings from a file.
11
+ *
12
+ * Unknown fields are ignored here rather than merged: `checkSemanticFields`
13
+ * owns rejecting the ones that used to mean something, and it produces a
14
+ * message naming the native replacement. Silently reading them here would be
15
+ * exactly the dual-read path the flip exists to remove.
26
16
  */
27
17
  export declare function loadConfig(filePath: string): MEMOConfig;
18
+ /** Settings for a project that has none. Every command works from this. */
19
+ export declare function defaultConfig(projectName: string): MEMOConfig;
28
20
  /**
29
- * Resolve the `extends` chain by merging configs.
30
- * Child properties override parent properties; arrays are concatenated.
31
- * `extends` may be a single package name or an array of names.
21
+ * Load settings for a project directory, or defaults when there are none.
22
+ *
23
+ * This replaces `loadAndResolveConfig`, which walked an `extends` chain and
24
+ * merged kinds, layers, viewpoints, and workflows down it. There is nothing
25
+ * left to merge.
32
26
  */
33
- export declare function resolveConfig(config: MEMOConfig, loader: (packageName: string) => MEMOConfig | undefined): MEMOConfig;
27
+ export declare function loadProjectSettings(projectRoot: string): MEMOConfig;
34
28
  //# sourceMappingURL=config-loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/model/config-loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAO9E;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAsBnE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,CAclE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;CAAE,CAiB3H;AAUD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CA8DvD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CACzB,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,UAAU,GAAG,SAAS,GACxD,UAAU,CAkBZ"}
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/model/config-loader.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAM9C;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAYnE;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CASvD;AAED,2EAA2E;AAC3E,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CAE7D;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CAGnE"}