@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
@@ -1,257 +1,75 @@
1
- import { readFileSync, existsSync } from 'node:fs';
2
- import { resolve, dirname } from 'node:path';
3
- import { parse as parseYaml } from 'yaml';
4
- const CONFIG_FILENAMES = ['memo.config.yaml', 'memo.config.yml'];
5
- const PACKAGE_FILENAMES = ['memo.package.yaml', 'memo.package.yml'];
6
- const RENDERING_FILENAMES = ['memo.rendering.yaml', 'memo.rendering.yml'];
7
- const VIEWPOINTS_FILENAMES = ['memo.viewpoints.yaml', 'memo.viewpoints.yml'];
1
+ // ─── Application Settings Loader ──────────────────────────────────────────────
2
+ //
3
+ // Reads the tool settings for a project. It reads no semantic field, and there
4
+ // is no `extends` chain to resolve any more: a settings file inherits nothing,
5
+ // because inheritance was how one project's settings selected another package's
6
+ // model content.
7
+ //
8
+ // `findConfigFile` still exists because commands report which settings file
9
+ // they loaded, but it is no longer how the project root is found. That is
10
+ // `findProjectRoot` in `native-project.ts`, which looks for the native
11
+ // entrypoint — a project stays a project when every YAML file beside it is
12
+ // deleted.
13
+ //
14
+ // Design reference: sections 5.3, 5.5, 16.
15
+ // ─────────────────────────────────────────────────────────────────────────────
16
+ import { existsSync } from 'node:fs';
17
+ import { basename, dirname, resolve } from 'node:path';
18
+ import { CONFIG_SEARCH_ORDER, readManifest } from './package-manifest.js';
19
+ /** Settings filenames, most product-scoped first. */
20
+ const SETTINGS_FILENAMES = ['memo.tools.yaml', 'memo.tools.yml', ...CONFIG_SEARCH_ORDER];
8
21
  /**
9
- * Locate the nearest config file by walking up from `startDir`.
10
- * Prefers memo.package.yaml (new format), falls back to memo.config.yaml (legacy).
11
- * Returns the resolved path or undefined if not found.
22
+ * Locate the nearest settings file by walking up from `startDir`.
23
+ *
24
+ * Returns undefined when there is none, which is a normal state: a project with
25
+ * no application settings is complete, because settings never carried meaning.
12
26
  */
13
27
  export function findConfigFile(startDir) {
14
28
  let dir = resolve(startDir);
15
29
  while (true) {
16
- // Prefer new package format
17
- for (const name of PACKAGE_FILENAMES) {
30
+ for (const name of SETTINGS_FILENAMES) {
18
31
  const candidate = resolve(dir, name);
19
- if (existsSync(candidate)) {
32
+ if (existsSync(candidate))
20
33
  return candidate;
21
- }
22
- }
23
- // Fall back to legacy config
24
- for (const name of CONFIG_FILENAMES) {
25
- const candidate = resolve(dir, name);
26
- if (existsSync(candidate)) {
27
- return candidate;
28
- }
29
34
  }
30
35
  const parent = dirname(dir);
31
36
  if (parent === dir)
32
- break; // reached filesystem root
37
+ break;
33
38
  dir = parent;
34
39
  }
35
40
  return undefined;
36
41
  }
37
42
  /**
38
- * Load rendering layers from a memo.rendering.yaml file.
39
- * Returns the layers array, or empty array if file not found.
40
- */
41
- export function loadRenderingLayers(configDir) {
42
- for (const name of RENDERING_FILENAMES) {
43
- const candidate = resolve(configDir, name);
44
- if (existsSync(candidate)) {
45
- try {
46
- const raw = readFileSync(candidate, 'utf-8');
47
- const parsed = parseYaml(raw);
48
- return parsed?.layers ?? [];
49
- }
50
- catch {
51
- // skip malformed file
52
- }
53
- }
54
- }
55
- return [];
56
- }
57
- /**
58
- * Load viewpoints from a memo.viewpoints.yaml file.
59
- * Returns the viewpoints array, or undefined if file not found.
60
- */
61
- export function loadViewpoints(configDir) {
62
- for (const name of VIEWPOINTS_FILENAMES) {
63
- const candidate = resolve(configDir, name);
64
- if (existsSync(candidate)) {
65
- try {
66
- const raw = readFileSync(candidate, 'utf-8');
67
- const parsed = parseYaml(raw);
68
- return {
69
- viewpoints: parsed?.viewpoints,
70
- firstRun: parsed?.firstRun,
71
- };
72
- }
73
- catch {
74
- // skip malformed file
75
- }
76
- }
77
- }
78
- return {};
79
- }
80
- /**
81
- * Check if a file path is a new-format package file (memo.package.yaml).
82
- */
83
- function isPackageFile(filePath) {
84
- const name = filePath.split('/').pop() ?? '';
85
- return PACKAGE_FILENAMES.includes(name);
86
- }
87
- /**
88
- * Load and parse a MEMOConfig from a YAML file.
89
- * Supports both new format (memo.package.yaml) and legacy format (memo.config.yaml).
90
- * Also loads memo.rendering.yaml, memo.rules.yaml, and memo.viewpoints.yaml if present.
91
- * Does NOT resolve `extends` — call `resolveConfig` for that.
43
+ * Load application settings from a file.
44
+ *
45
+ * Unknown fields are ignored here rather than merged: `checkSemanticFields`
46
+ * owns rejecting the ones that used to mean something, and it produces a
47
+ * message naming the native replacement. Silently reading them here would be
48
+ * exactly the dual-read path the flip exists to remove.
92
49
  */
93
50
  export function loadConfig(filePath) {
94
- const raw = readFileSync(filePath, 'utf-8');
95
- const parsed = parseYaml(raw);
96
- const configDir = dirname(filePath);
97
- // Load rendering layers from memo.rendering.yaml (new format)
98
- const renderingLayers = loadRenderingLayers(configDir);
99
- // Load viewpoints from memo.viewpoints.yaml (new format)
100
- const viewpointsData = loadViewpoints(configDir);
101
- if (isPackageFile(filePath)) {
102
- // New format: memo.package.yaml — identity only, combine with companion files
103
- return {
104
- projectName: parsed.name ?? 'untitled',
105
- projectType: parsed.type ?? 'device',
106
- extends: parsed.extends,
107
- ontologies: parsed.ontologies,
108
- ontologyMetadata: parsed.name ? {
109
- id: parsed.name,
110
- version: parsed.version ?? '0.0.0',
111
- description: parsed.description ?? '',
112
- author: parsed.author,
113
- license: parsed.license,
114
- tags: parsed.tags,
115
- } : undefined,
116
- architectureLayers: renderingLayers,
117
- viewpoints: viewpointsData.viewpoints,
118
- firstRun: viewpointsData.firstRun,
119
- toolchain: parsed.toolchain,
120
- };
121
- }
122
- // Legacy format: memo.config.yaml
123
- // Merge: memo.rendering.yaml layers take precedence, then architectureLayers from config
124
- // Support both old (cosmaLayers) and new (architectureLayers) config key names
125
- const archLayersFromConfig = parsed.architectureLayers ?? parsed.cosmaLayers ?? [];
126
- const mergedLayers = renderingLayers.length > 0
127
- ? dedup([...archLayersFromConfig, ...renderingLayers], l => l.id)
128
- : archLayersFromConfig;
129
- // Merge viewpoints from file if present
130
- const viewpointsFromConfig = parsed.viewpoints;
131
- const mergedViewpoints = viewpointsData.viewpoints ?? viewpointsFromConfig;
132
- // Apply defaults
51
+ const manifest = readManifest(filePath);
52
+ const raw = manifest.raw;
133
53
  return {
134
- projectName: parsed.projectName ?? 'untitled',
135
- projectType: parsed.projectType ?? 'device',
136
- extends: parsed.extends,
137
- ontologies: parsed.ontologies,
138
- ontologyMetadata: parsed.ontologyMetadata,
139
- externalOntologies: parsed.externalOntologies,
140
- libraries: parsed.libraries,
141
- architectureLayers: mergedLayers,
142
- kinds: parsed.kinds,
143
- relationshipTypes: parsed.relationshipTypes,
144
- viewpoints: mergedViewpoints,
145
- workflows: parsed.workflows,
146
- firstRun: viewpointsData.firstRun ?? parsed.firstRun,
147
- toolchain: parsed.toolchain,
54
+ projectName: manifest.name ?? basename(dirname(resolve(filePath))),
55
+ relationshipFiles: raw.relationshipFiles,
56
+ canonicalRelationshipFile: raw.canonicalRelationshipFile,
57
+ toolchain: raw.toolchain,
148
58
  };
149
59
  }
60
+ /** Settings for a project that has none. Every command works from this. */
61
+ export function defaultConfig(projectName) {
62
+ return { projectName };
63
+ }
150
64
  /**
151
- * Resolve the `extends` chain by merging configs.
152
- * Child properties override parent properties; arrays are concatenated.
153
- * `extends` may be a single package name or an array of names.
65
+ * Load settings for a project directory, or defaults when there are none.
66
+ *
67
+ * This replaces `loadAndResolveConfig`, which walked an `extends` chain and
68
+ * merged kinds, layers, viewpoints, and workflows down it. There is nothing
69
+ * left to merge.
154
70
  */
155
- export function resolveConfig(config, loader) {
156
- if (!config.extends)
157
- return config;
158
- const extendsArr = Array.isArray(config.extends) ? config.extends : [config.extends];
159
- let base;
160
- for (const parentName of extendsArr) {
161
- const parent = loader(parentName);
162
- if (!parent) {
163
- console.warn(`Warning: Could not resolve parent config "${parentName}"`);
164
- continue;
165
- }
166
- const resolvedParent = resolveConfig(parent, loader);
167
- base = base ? mergeConfigs(base, resolvedParent) : resolvedParent;
168
- }
169
- if (!base)
170
- return config;
171
- return mergeConfigs(base, config);
172
- }
173
- /** Deduplicate an array by a key function. Last occurrence wins. */
174
- function dedup(arr, key) {
175
- const seen = new Map();
176
- for (const item of arr) {
177
- seen.set(key(item), item);
178
- }
179
- return Array.from(seen.values());
180
- }
181
- /** Merge viewpoints: deduplicate by id, and merge diagrams within shared viewpoints */
182
- function mergeViewpoints(parentVps, childVps) {
183
- if (!parentVps && !childVps)
184
- return undefined;
185
- if (!parentVps)
186
- return childVps;
187
- if (!childVps)
188
- return parentVps;
189
- const merged = new Map();
190
- for (const vp of parentVps) {
191
- merged.set(vp.id, { ...vp });
192
- }
193
- for (const vp of childVps) {
194
- if (merged.has(vp.id)) {
195
- // Child overrides parent viewpoint, but merge diagrams
196
- const parent = merged.get(vp.id);
197
- const parentDiagrams = parent.diagrams ?? [];
198
- const childDiagrams = vp.diagrams ?? [];
199
- const mergedDiagrams = dedup([...parentDiagrams, ...childDiagrams], d => d.id);
200
- merged.set(vp.id, {
201
- ...vp,
202
- diagrams: mergedDiagrams.length > 0 ? mergedDiagrams : undefined,
203
- supportedDiagramTypes: vp.supportedDiagramTypes ?? parent.supportedDiagramTypes,
204
- });
205
- }
206
- else {
207
- merged.set(vp.id, { ...vp });
208
- }
209
- }
210
- return Array.from(merged.values());
211
- }
212
- /** Deep-merge parent into child. Child takes precedence. Arrays are deduped. */
213
- function mergeConfigs(parent, child) {
214
- return {
215
- projectName: child.projectName,
216
- projectType: child.projectType,
217
- extends: child.extends,
218
- ontologies: child.ontologies ?? parent.ontologies,
219
- ontologyMetadata: child.ontologyMetadata ?? parent.ontologyMetadata,
220
- externalOntologies: [
221
- ...(parent.externalOntologies ?? []),
222
- ...(child.externalOntologies ?? []),
223
- ].length > 0 ? [
224
- ...(parent.externalOntologies ?? []),
225
- ...(child.externalOntologies ?? []),
226
- ] : undefined,
227
- libraries: [
228
- ...(parent.libraries ?? []),
229
- ...(child.libraries ?? []),
230
- ].length > 0 ? [
231
- ...(parent.libraries ?? []),
232
- ...(child.libraries ?? []),
233
- ] : undefined,
234
- architectureLayers: dedup([...(parent.architectureLayers ?? []), ...(child.architectureLayers ?? [])], l => l.id),
235
- kinds: {
236
- ...(parent.kinds ?? {}),
237
- ...(child.kinds ?? {}),
238
- },
239
- relationshipTypes: dedup([...(parent.relationshipTypes ?? []), ...(child.relationshipTypes ?? [])], r => r.name),
240
- viewpoints: mergeViewpoints(parent.viewpoints, child.viewpoints),
241
- workflows: child.workflows ?? parent.workflows,
242
- firstRun: child.firstRun ?? parent.firstRun,
243
- toolchain: parent.toolchain || child.toolchain ? {
244
- ...parent.toolchain,
245
- ...child.toolchain,
246
- syside: parent.toolchain?.syside || child.toolchain?.syside ? {
247
- ...parent.toolchain?.syside,
248
- ...child.toolchain?.syside,
249
- } : undefined,
250
- sysand: parent.toolchain?.sysand || child.toolchain?.sysand ? {
251
- ...parent.toolchain?.sysand,
252
- ...child.toolchain?.sysand,
253
- } : undefined,
254
- } : undefined,
255
- };
71
+ export function loadProjectSettings(projectRoot) {
72
+ const path = findConfigFile(projectRoot);
73
+ return path ? loadConfig(path) : defaultConfig(basename(resolve(projectRoot)));
256
74
  }
257
75
  //# sourceMappingURL=config-loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/model/config-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/model/config-loader.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,gFAAgF;AAChF,iBAAiB;AACjB,EAAE;AACF,4EAA4E;AAC5E,0EAA0E;AAC1E,uEAAuE;AACvE,2EAA2E;AAC3E,WAAW;AACX,EAAE;AACF,2CAA2C;AAC3C,gFAAgF;AAEhF,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1E,qDAAqD;AACrD,MAAM,kBAAkB,GAAG,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,CAAU,CAAC;AAElG;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC3C,IAAI,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5B,OAAO,IAAI,EAAE,CAAC;QACV,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,UAAU,CAAC,SAAS,CAAC;gBAAE,OAAO,SAAS,CAAC;QAChD,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACjB,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAAC,QAAgB;IACvC,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;IACzB,OAAO;QACH,WAAW,EAAE,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClE,iBAAiB,EAAE,GAAG,CAAC,iBAAuD;QAC9E,yBAAyB,EAAE,GAAG,CAAC,yBAA+C;QAC9E,SAAS,EAAE,GAAG,CAAC,SAAoC;KACtD,CAAC;AACN,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,aAAa,CAAC,WAAmB;IAC7C,OAAO,EAAE,WAAW,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACnD,MAAM,IAAI,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AACnF,CAAC"}
@@ -1,236 +1,65 @@
1
- /** Project type discriminator */
2
- export type ProjectType = 'ontology' | 'profile' | 'library' | 'device';
3
- /** An architecture visualization layer grouping related entity kinds */
4
- export interface ArchLayer {
5
- /** Unique layer identifier, e.g. "requirements", "architecture" */
6
- id: string;
7
- /** Human-readable label for the layer */
8
- label: string;
9
- /** Hex color for layer visualization, e.g. "#4A90D9" */
10
- color: string;
11
- }
12
- /** A typed relationship between entity kinds */
13
- export interface RelationshipType {
14
- /** Relationship identifier, e.g. "mitigates" */
15
- name: string;
16
- /** Human-readable label, e.g. "Mitigates" */
17
- label: string;
18
- /** Architecture layer this relationship belongs to */
19
- layer: string;
20
- /** Hex color for relationship visualization */
21
- color: string;
22
- }
23
1
  /** SysML v2 constructs supported as entity base types */
24
2
  export type SysMLConstruct = 'part def' | 'requirement def' | 'verification def' | 'state def' | 'use case def' | 'action def' | 'action usage' | 'item def' | 'port def' | 'interface def' | 'connection def' | 'attribute def' | 'enum def';
25
- /** Definition of an entity kind within a domain */
26
- export interface KindDefinition {
27
- /** Human-readable label */
28
- label: string;
29
- /** Architecture layer this kind belongs to */
30
- layer?: string;
31
- /** SysML v2 construct this kind maps to */
32
- sysmlConstruct: SysMLConstruct;
33
- /** Icon identifier for the palette/diagram */
34
- icon?: string;
35
- /** Template file for new instances (relative to domain package) */
36
- template?: string;
37
- /** Default attributes for new instances */
38
- defaultAttributes?: Record<string, string>;
39
- }
40
3
  /** Legacy diagram type keys — each maps to exactly one SysML v2 view kind (see view-kinds.ts) */
41
4
  export type DiagramType = 'bdd' | 'ibd' | 'req' | 'ucd' | 'act' | 'afd' | 'pkg' | 'par' | 'risk' | 'stm' | 'seq' | 'fmea' | 'alloc' | 'threat-model';
42
- /** Diagram definition — a named, typed view within a viewpoint */
43
- export interface DiagramDefinition {
44
- /** Unique diagram identifier, e.g. "diag-risk-chain" */
45
- id: string;
46
- /** Human-readable name, e.g. "Risk Mitigation Chain" */
47
- name: string;
48
- /** SysML v2 diagram type */
49
- diagramType: DiagramType;
50
- /** Parent viewpoint ID this diagram belongs to */
51
- viewpointId: string;
52
- /** Additional viewpoints this reusable diagram also conforms to. */
53
- viewpointIds?: string[];
54
- /** Optional group shown within each viewpoint in Memo Architect. */
55
- group?: string;
56
- /** Whether this diagram is auto-generated from the viewpoint */
57
- auto: boolean;
58
- /** Description / purpose of this diagram (used in doc generation) */
59
- description?: string;
60
- /** Additional metadata properties (free-form, for doc generation) */
61
- properties?: Record<string, string>;
62
- /** Optional override: specific element IDs to include (subset of viewpoint) */
63
- elementIds?: string[];
64
- /** Optional override: specific relationship types to show */
65
- relationshipTypes?: string[];
66
- }
67
- /** Viewpoint definition for filtered model views */
68
- export interface ViewpointDefinition {
69
- /** Unique viewpoint identifier */
70
- id: string;
71
- /** Human-readable name */
72
- label: string;
73
- /** Optional ontology-authored grouping used by Memo Architect. */
74
- group?: string;
75
- /** Entity kinds visible in this viewpoint */
76
- visibleKinds: string[];
77
- /** Relationship types visible in this viewpoint */
78
- visibleRelationships: string[];
79
- /** Architecture layers visible in this viewpoint */
80
- visibleLayers: string[];
81
- /** SysML v2 diagram types supported by this viewpoint */
82
- supportedDiagramTypes?: DiagramType[];
83
- /** Auto-generated diagrams for this viewpoint */
84
- diagrams?: DiagramDefinition[];
85
- }
86
- /** Guided workflow step for wizard-like interactions */
87
- export interface WorkflowStep {
88
- /** Step identifier */
89
- id: string;
90
- /** Human-readable label */
91
- label: string;
92
- /** Entity kinds involved in this step */
93
- kinds: string[];
94
- /** Prompt text for the user */
95
- prompt: string;
96
- }
97
- /** Guided workflow definition */
98
- export interface WorkflowDefinition {
99
- /** Unique workflow identifier */
100
- id: string;
101
- /** Human-readable label */
102
- label: string;
103
- /** Ordered steps */
104
- steps: WorkflowStep[];
105
- }
106
- /** First-run configuration for new projects */
107
- export interface FirstRunConfig {
108
- /** Template to scaffold, e.g. "infusion-pump" */
109
- template?: string;
110
- /** Prompt user for project metadata */
111
- promptForMetadata?: boolean;
112
- /** Auto-create starter files */
113
- scaffoldFiles?: string[];
114
- }
115
- export interface SysideToolConfig {
116
- /** Executable name or path. Defaults to `syside` on PATH. */
117
- executable?: string;
118
- /** Optional syside.toml path, relative to the project directory. */
119
- configFile?: string;
120
- /** Treat Syside warnings as compilation errors. Defaults to true. */
121
- warningsAsErrors?: boolean;
122
- /** Syside validation scope. Defaults to `all`. Use `none` for syntax-only compilation. */
123
- diagnose?: 'all' | 'external' | 'project' | 'none';
124
- }
125
- export interface SysandToolConfig {
126
- /** Executable name or path. Defaults to `sysand` on PATH. */
127
- executable?: string;
128
- /** Optional sysand.toml path, relative to the project directory. */
129
- configFile?: string;
130
- }
131
- /** External tool selection. Defaults preserve MEMO's built-in behavior. */
5
+ /**
6
+ * Tool selection, one provider per role.
7
+ *
8
+ * Every value here is a plain `string`. A union type would re-hardcode the
9
+ * roster the provider registry exists to keep open: the legal values are
10
+ * whatever is registered, checked at resolution time against the registry, and
11
+ * a third-party adapter must be selectable without editing this file.
12
+ *
13
+ * Per-provider settings live under the provider's own ID (`syside`, `sysand`,
14
+ * …). They are typed as `unknown` here and read by that provider's adapter,
15
+ * which is the only module that knows the shape — see the index signature.
16
+ */
132
17
  export interface ToolchainConfig {
133
- compiler?: 'internal' | 'syside';
134
- packager?: 'internal' | 'sysand';
135
- syside?: SysideToolConfig;
136
- sysand?: SysandToolConfig;
137
- }
138
- /** Ontology reference in a device project */
139
- export interface OntologyReference {
140
- /** Package name, e.g. "@memoarchitect/ontology" or "memo-ontology" on SysAnd */
141
- name: string;
142
- /** Semver version constraint, e.g. "^2.0.0" */
143
- version: string;
144
- }
145
- /** Self-describing metadata for an ontology package */
146
- export interface OntologyMetadata {
147
- /** Package identifier, e.g. "@memoarchitect/ontology" */
148
- id: string;
149
- /** Semver version */
150
- version: string;
151
- /** Human-readable description */
152
- description: string;
153
- /** Author or organization */
154
- author?: string;
155
- /** License identifier, e.g. "Apache-2.0" */
156
- license?: string;
157
- /** Searchable tags, e.g. ["medical", "ISO-14971"] */
158
- tags?: string[];
159
- }
160
- /** Reference to an external ontology (OWL, JSON-LD, or SysAnd format) */
161
- export interface ExternalOntologyRef {
162
- /** Import format */
163
- source: 'owl' | 'jsonld' | 'sysand';
164
- /** File path or URL to the ontology */
165
- uri: string;
166
- /** Namespace prefix, e.g. "fma" */
167
- prefix: string;
168
- /** Import only these classes/concepts (empty = import all) */
169
- subset?: string[];
170
- }
171
- /** Reference to a reusable element library */
172
- export interface LibraryRef {
173
- /** Package name, e.g. "@sysand/std-library" */
174
- package: string;
175
- /** Import only these categories, e.g. ["USB", "Logging"] */
176
- categories?: string[];
18
+ /** "Is this valid SysML/KerML?" */
19
+ validator?: string;
20
+ /** "What can MEMO ingest from this revision?" */
21
+ lowering?: string;
22
+ /** How the project is packed and published. */
23
+ packager?: string;
24
+ /**
25
+ * @deprecated Alias that sets both `validator` and `lowering`.
26
+ *
27
+ * It predates the split of the two roles, which answer different questions
28
+ * and produce diagnostics in different domains. Kept so existing settings
29
+ * files keep working; `validator`/`lowering` win when both are present.
30
+ */
31
+ compiler?: string;
32
+ /** Per-provider settings, keyed by provider ID. Read only by that adapter. */
33
+ [providerId: string]: unknown;
177
34
  }
178
35
  /**
179
- * MEMOConfig — the complete project/domain configuration.
36
+ * MEMOConfig — application settings for one project.
180
37
  *
181
- * Two project types:
182
- * - "ontology": defines a shareable type system (publishable as .kpar)
183
- * - "device": models a specific medical device (references an ontology)
38
+ * Everything here changes how a command runs. Nothing here changes what the
39
+ * model means: no field selects a methodology, enables or disables a rule,
40
+ * defines a kind or relationship, or chooses the content of a portable view.
41
+ * `warningsAsErrors` may change a command's exit policy; it does not change the
42
+ * severity the model authored.
184
43
  */
185
44
  export interface MEMOConfig {
186
- /** Project name (set by `memo init`) */
187
- projectName: string;
188
- /** Project type: "ontology", "profile", "library", or "device" */
189
- projectType: ProjectType;
190
- /** Parent config to inherit from. String for single parent, array for multiple. */
191
- extends?: string | string[];
192
- /** Ontology references (device projects only) */
193
- ontologies?: OntologyReference[];
194
45
  /**
195
- * Optional ontology modules to load on top of the base ontology.
196
- * Modules are declared as optional in the base ontology's memo.package.yaml
197
- * under `optionalModules:`. Following OWL import semantics, only modules a
198
- * project explicitly opts into are loaded — disabled modules contribute
199
- * no kinds/relationships, no validation rules, and no viewpoints.
46
+ * Display name for CLI output.
200
47
  *
201
- * Each entry is a package name like "@memoarchitect/ontology-ros" or a
202
- * short alias like "ros" (resolved against the base ontology's optionalModules list).
48
+ * The project's real name is `projectName` on its `ProjectMethodBinding`.
49
+ * This is a convenience copy for log lines, resolved from the binding when
50
+ * one is available and falling back to the directory name when it is not.
203
51
  */
204
- modules?: string[];
205
- /** Self-describing metadata for ontology packages */
206
- ontologyMetadata?: OntologyMetadata;
207
- /** External ontology imports (OWL, JSON-LD, SysAnd) */
208
- externalOntologies?: ExternalOntologyRef[];
209
- /** Reusable element library imports */
210
- libraries?: LibraryRef[];
211
- /** Architecture visualization layers */
212
- architectureLayers?: ArchLayer[];
213
- /** Entity kind definitions (keyed by kind identifier). Optional — prefer KindRegistry. */
214
- kinds?: Record<string, KindDefinition>;
215
- /** Typed relationship definitions with architecture layer mapping. Optional — prefer RelationshipRegistry. */
216
- relationshipTypes?: RelationshipType[];
52
+ projectName: string;
217
53
  /**
218
54
  * Where authored relationships are written, per model package.
219
55
  * Keyed by package qualified name, valued by a project-relative .sysml
220
- * path. A package listed here always collects its relationships in that
221
- * file; anything not listed falls back to the ownership policy in
222
- * server/relationship-writer.ts.
56
+ * path. This is an editor placement preference — it decides which file a
57
+ * new relationship lands in, not whether the relationship is legal.
223
58
  */
224
59
  relationshipFiles?: Record<string, string>;
225
60
  /** Project-relative .sysml file that owns relationships with no better home. */
226
61
  canonicalRelationshipFile?: string;
227
- /** Viewpoint definitions for filtered views */
228
- viewpoints?: ViewpointDefinition[];
229
- /** Guided workflows for step-by-step modeling */
230
- workflows?: WorkflowDefinition[];
231
- /** First-run scaffolding configuration */
232
- firstRun?: FirstRunConfig;
233
- /** Compiler and KPAR packager selection. */
62
+ /** Validator, lowering and packager provider selection. */
234
63
  toolchain?: ToolchainConfig;
235
64
  }
236
65
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/model/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/model/config.ts"],"names":[],"mappings":"AAeA,yDAAyD;AACzD,MAAM,MAAM,cAAc,GACpB,UAAU,GACV,iBAAiB,GACjB,kBAAkB,GAClB,WAAW,GACX,cAAc,GACd,YAAY,GACZ,cAAc,GACd,UAAU,GACV,UAAU,GACV,eAAe,GACf,gBAAgB,GAChB,eAAe,GACf,UAAU,CAAC;AAEjB,iGAAiG;AACjG,MAAM,MAAM,WAAW,GACjB,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GACtE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,cAAc,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,eAAe;IAC5B,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,UAAU;IACvB;;;;;;OAMG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE3C,gFAAgF;IAChF,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAEnC,2DAA2D;IAC3D,SAAS,CAAC,EAAE,eAAe,CAAC;CAC/B"}