@memoarchitect/tools 0.6.7 → 0.8.7

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 (549) hide show
  1. package/README.md +36 -11
  2. package/corpus/README.md +63 -0
  3. package/corpus/sysml-v2-release/bnf/SysML-graphical-bnf.kgbnf +2264 -0
  4. package/package.json +20 -7
  5. package/packages/tools/lib/analysis/dsm.d.ts +1 -1
  6. package/packages/tools/lib/analysis/dsm.d.ts.map +1 -1
  7. package/packages/tools/lib/analysis/dsm.js +1 -1
  8. package/packages/tools/lib/analysis/dsm.js.map +1 -1
  9. package/packages/tools/lib/bin/memo.js +186 -10
  10. package/packages/tools/lib/bin/memo.js.map +1 -1
  11. package/packages/tools/lib/browser/index.d.ts +3 -1
  12. package/packages/tools/lib/browser/index.d.ts.map +1 -1
  13. package/packages/tools/lib/browser/index.js +2 -1
  14. package/packages/tools/lib/browser/index.js.map +1 -1
  15. package/packages/tools/lib/commands/ask.js +1 -1
  16. package/packages/tools/lib/commands/ask.js.map +1 -1
  17. package/packages/tools/lib/commands/check.d.ts.map +1 -1
  18. package/packages/tools/lib/commands/check.js +3 -9
  19. package/packages/tools/lib/commands/check.js.map +1 -1
  20. package/packages/tools/lib/commands/conformance.d.ts +36 -0
  21. package/packages/tools/lib/commands/conformance.d.ts.map +1 -0
  22. package/packages/tools/lib/commands/conformance.js +212 -0
  23. package/packages/tools/lib/commands/conformance.js.map +1 -0
  24. package/packages/tools/lib/commands/convert.d.ts +12 -0
  25. package/packages/tools/lib/commands/convert.d.ts.map +1 -0
  26. package/packages/tools/lib/commands/convert.js +103 -0
  27. package/packages/tools/lib/commands/convert.js.map +1 -0
  28. package/packages/tools/lib/commands/create-package.d.ts +1 -2
  29. package/packages/tools/lib/commands/create-package.d.ts.map +1 -1
  30. package/packages/tools/lib/commands/create-package.js.map +1 -1
  31. package/packages/tools/lib/commands/dev.d.ts +13 -0
  32. package/packages/tools/lib/commands/dev.d.ts.map +1 -1
  33. package/packages/tools/lib/commands/dev.js +245 -89
  34. package/packages/tools/lib/commands/dev.js.map +1 -1
  35. package/packages/tools/lib/commands/dhf-draft.js +1 -1
  36. package/packages/tools/lib/commands/dhf-draft.js.map +1 -1
  37. package/packages/tools/lib/commands/dhf-lint.d.ts +10 -0
  38. package/packages/tools/lib/commands/dhf-lint.d.ts.map +1 -0
  39. package/packages/tools/lib/commands/dhf-lint.js +72 -0
  40. package/packages/tools/lib/commands/dhf-lint.js.map +1 -0
  41. package/packages/tools/lib/commands/dhf-preview.js +1 -1
  42. package/packages/tools/lib/commands/dhf-preview.js.map +1 -1
  43. package/packages/tools/lib/commands/dhf.d.ts.map +1 -1
  44. package/packages/tools/lib/commands/dhf.js +8 -2
  45. package/packages/tools/lib/commands/dhf.js.map +1 -1
  46. package/packages/tools/lib/commands/element.d.ts +34 -0
  47. package/packages/tools/lib/commands/element.d.ts.map +1 -0
  48. package/packages/tools/lib/commands/element.js +174 -0
  49. package/packages/tools/lib/commands/element.js.map +1 -0
  50. package/packages/tools/lib/commands/export.d.ts.map +1 -1
  51. package/packages/tools/lib/commands/export.js +39 -40
  52. package/packages/tools/lib/commands/export.js.map +1 -1
  53. package/packages/tools/lib/commands/generate.d.ts.map +1 -1
  54. package/packages/tools/lib/commands/generate.js +10 -7
  55. package/packages/tools/lib/commands/generate.js.map +1 -1
  56. package/packages/tools/lib/commands/import.d.ts.map +1 -1
  57. package/packages/tools/lib/commands/import.js +25 -12
  58. package/packages/tools/lib/commands/import.js.map +1 -1
  59. package/packages/tools/lib/commands/init.d.ts.map +1 -1
  60. package/packages/tools/lib/commands/init.js +34 -14
  61. package/packages/tools/lib/commands/init.js.map +1 -1
  62. package/packages/tools/lib/commands/inspect.d.ts +5 -0
  63. package/packages/tools/lib/commands/inspect.d.ts.map +1 -0
  64. package/packages/tools/lib/commands/inspect.js +56 -0
  65. package/packages/tools/lib/commands/inspect.js.map +1 -0
  66. package/packages/tools/lib/commands/lock.d.ts.map +1 -1
  67. package/packages/tools/lib/commands/lock.js +7 -2
  68. package/packages/tools/lib/commands/lock.js.map +1 -1
  69. package/packages/tools/lib/commands/ontology.d.ts.map +1 -1
  70. package/packages/tools/lib/commands/ontology.js +69 -116
  71. package/packages/tools/lib/commands/ontology.js.map +1 -1
  72. package/packages/tools/lib/commands/pack.d.ts +1 -1
  73. package/packages/tools/lib/commands/pack.d.ts.map +1 -1
  74. package/packages/tools/lib/commands/pack.js +20 -78
  75. package/packages/tools/lib/commands/pack.js.map +1 -1
  76. package/packages/tools/lib/commands/package.d.ts +10 -0
  77. package/packages/tools/lib/commands/package.d.ts.map +1 -0
  78. package/packages/tools/lib/commands/package.js +113 -0
  79. package/packages/tools/lib/commands/package.js.map +1 -0
  80. package/packages/tools/lib/commands/plugin.js +1 -1
  81. package/packages/tools/lib/commands/plugin.js.map +1 -1
  82. package/packages/tools/lib/commands/rules.d.ts.map +1 -1
  83. package/packages/tools/lib/commands/rules.js +120 -30
  84. package/packages/tools/lib/commands/rules.js.map +1 -1
  85. package/packages/tools/lib/commands/standards.d.ts +28 -0
  86. package/packages/tools/lib/commands/standards.d.ts.map +1 -0
  87. package/packages/tools/lib/commands/standards.js +203 -0
  88. package/packages/tools/lib/commands/standards.js.map +1 -0
  89. package/packages/tools/lib/commands/sysand-publish.d.ts.map +1 -1
  90. package/packages/tools/lib/commands/sysand-publish.js +14 -16
  91. package/packages/tools/lib/commands/sysand-publish.js.map +1 -1
  92. package/packages/tools/lib/commands/toolchain.d.ts +8 -0
  93. package/packages/tools/lib/commands/toolchain.d.ts.map +1 -0
  94. package/packages/tools/lib/commands/toolchain.js +64 -0
  95. package/packages/tools/lib/commands/toolchain.js.map +1 -0
  96. package/packages/tools/lib/commands/validate.d.ts +1 -1
  97. package/packages/tools/lib/commands/validate.d.ts.map +1 -1
  98. package/packages/tools/lib/commands/validate.js +194 -56
  99. package/packages/tools/lib/commands/validate.js.map +1 -1
  100. package/packages/tools/lib/completeness/tracker.d.ts +10 -2
  101. package/packages/tools/lib/completeness/tracker.d.ts.map +1 -1
  102. package/packages/tools/lib/completeness/tracker.js +16 -21
  103. package/packages/tools/lib/completeness/tracker.js.map +1 -1
  104. package/packages/tools/lib/conformance/baseline.d.ts +26 -0
  105. package/packages/tools/lib/conformance/baseline.d.ts.map +1 -0
  106. package/packages/tools/lib/conformance/baseline.js +170 -0
  107. package/packages/tools/lib/conformance/baseline.js.map +1 -0
  108. package/packages/tools/lib/conformance/bnf.d.ts +84 -0
  109. package/packages/tools/lib/conformance/bnf.d.ts.map +1 -0
  110. package/packages/tools/lib/conformance/bnf.js +166 -0
  111. package/packages/tools/lib/conformance/bnf.js.map +1 -0
  112. package/packages/tools/lib/conformance/corpus.d.ts +125 -0
  113. package/packages/tools/lib/conformance/corpus.d.ts.map +1 -0
  114. package/packages/tools/lib/conformance/corpus.js +190 -0
  115. package/packages/tools/lib/conformance/corpus.js.map +1 -0
  116. package/packages/tools/lib/conformance/diff-xmi.d.ts +118 -0
  117. package/packages/tools/lib/conformance/diff-xmi.d.ts.map +1 -0
  118. package/packages/tools/lib/conformance/diff-xmi.js +276 -0
  119. package/packages/tools/lib/conformance/diff-xmi.js.map +1 -0
  120. package/packages/tools/lib/conformance/generated/syside-rules.d.ts +10 -0
  121. package/packages/tools/lib/conformance/generated/syside-rules.d.ts.map +1 -0
  122. package/packages/tools/lib/conformance/generated/syside-rules.js +1142 -0
  123. package/packages/tools/lib/conformance/generated/syside-rules.js.map +1 -0
  124. package/packages/tools/lib/conformance/index.d.ts +7 -0
  125. package/packages/tools/lib/conformance/index.d.ts.map +1 -0
  126. package/packages/tools/lib/conformance/index.js +19 -0
  127. package/packages/tools/lib/conformance/index.js.map +1 -0
  128. package/packages/tools/lib/conformance/run.d.ts +117 -0
  129. package/packages/tools/lib/conformance/run.d.ts.map +1 -0
  130. package/packages/tools/lib/conformance/run.js +0 -0
  131. package/packages/tools/lib/conformance/run.js.map +1 -0
  132. package/packages/tools/lib/conformance/xmi.d.ts +45 -0
  133. package/packages/tools/lib/conformance/xmi.d.ts.map +1 -0
  134. package/packages/tools/lib/conformance/xmi.js +148 -0
  135. package/packages/tools/lib/conformance/xmi.js.map +1 -0
  136. package/packages/tools/lib/dhf/document-compiler.d.ts.map +1 -1
  137. package/packages/tools/lib/dhf/document-compiler.js +13 -8
  138. package/packages/tools/lib/dhf/document-compiler.js.map +1 -1
  139. package/packages/tools/lib/dhf/document-registry.d.ts +16 -2
  140. package/packages/tools/lib/dhf/document-registry.d.ts.map +1 -1
  141. package/packages/tools/lib/dhf/document-registry.js +74 -23
  142. package/packages/tools/lib/dhf/document-registry.js.map +1 -1
  143. package/packages/tools/lib/dhf/index.d.ts +3 -0
  144. package/packages/tools/lib/dhf/index.d.ts.map +1 -1
  145. package/packages/tools/lib/dhf/index.js +4 -0
  146. package/packages/tools/lib/dhf/index.js.map +1 -1
  147. package/packages/tools/lib/dhf/query-engine.d.ts +12 -1
  148. package/packages/tools/lib/dhf/query-engine.d.ts.map +1 -1
  149. package/packages/tools/lib/dhf/query-engine.js +2 -1
  150. package/packages/tools/lib/dhf/query-engine.js.map +1 -1
  151. package/packages/tools/lib/dhf/query-executor.d.ts +72 -5
  152. package/packages/tools/lib/dhf/query-executor.d.ts.map +1 -1
  153. package/packages/tools/lib/dhf/query-executor.js +471 -81
  154. package/packages/tools/lib/dhf/query-executor.js.map +1 -1
  155. package/packages/tools/lib/dhf/script-runner.js +6 -6
  156. package/packages/tools/lib/dhf/script-runner.js.map +1 -1
  157. package/packages/tools/lib/dhf/standards-block.d.ts +40 -0
  158. package/packages/tools/lib/dhf/standards-block.d.ts.map +1 -0
  159. package/packages/tools/lib/dhf/standards-block.js +223 -0
  160. package/packages/tools/lib/dhf/standards-block.js.map +1 -0
  161. package/packages/tools/lib/dhf/standards-library.d.ts +123 -0
  162. package/packages/tools/lib/dhf/standards-library.d.ts.map +1 -0
  163. package/packages/tools/lib/dhf/standards-library.js +295 -0
  164. package/packages/tools/lib/dhf/standards-library.js.map +1 -0
  165. package/packages/tools/lib/dhf/standards-report.d.ts +189 -0
  166. package/packages/tools/lib/dhf/standards-report.d.ts.map +1 -0
  167. package/packages/tools/lib/dhf/standards-report.js +384 -0
  168. package/packages/tools/lib/dhf/standards-report.js.map +1 -0
  169. package/packages/tools/lib/dhf/template-lint.d.ts +42 -0
  170. package/packages/tools/lib/dhf/template-lint.d.ts.map +1 -0
  171. package/packages/tools/lib/dhf/template-lint.js +421 -0
  172. package/packages/tools/lib/dhf/template-lint.js.map +1 -0
  173. package/packages/tools/lib/dhf/template-resolver.d.ts.map +1 -1
  174. package/packages/tools/lib/dhf/template-resolver.js +18 -6
  175. package/packages/tools/lib/dhf/template-resolver.js.map +1 -1
  176. package/packages/tools/lib/import/column-mapper.d.ts +2 -2
  177. package/packages/tools/lib/import/column-mapper.d.ts.map +1 -1
  178. package/packages/tools/lib/import/column-mapper.js +3 -3
  179. package/packages/tools/lib/import/column-mapper.js.map +1 -1
  180. package/packages/tools/lib/importer/cameo-importer.js +2 -2
  181. package/packages/tools/lib/importer/cameo-importer.js.map +1 -1
  182. package/packages/tools/lib/importer/ea-importer.d.ts.map +1 -1
  183. package/packages/tools/lib/importer/ea-importer.js +4 -3
  184. package/packages/tools/lib/importer/ea-importer.js.map +1 -1
  185. package/packages/tools/lib/importer/owl-importer.d.ts.map +1 -1
  186. package/packages/tools/lib/importer/owl-importer.js +2 -3
  187. package/packages/tools/lib/importer/owl-importer.js.map +1 -1
  188. package/packages/tools/lib/index.d.ts +20 -3
  189. package/packages/tools/lib/index.d.ts.map +1 -1
  190. package/packages/tools/lib/index.js +19 -2
  191. package/packages/tools/lib/index.js.map +1 -1
  192. package/packages/tools/lib/language/generated/ast.d.ts +1344 -99
  193. package/packages/tools/lib/language/generated/ast.d.ts.map +1 -1
  194. package/packages/tools/lib/language/generated/ast.js +1066 -32
  195. package/packages/tools/lib/language/generated/ast.js.map +1 -1
  196. package/packages/tools/lib/language/generated/grammar.d.ts.map +1 -1
  197. package/packages/tools/lib/language/generated/grammar.js +5242 -1454
  198. package/packages/tools/lib/language/generated/grammar.js.map +1 -1
  199. package/packages/tools/lib/llm/chat-engine.d.ts +4 -3
  200. package/packages/tools/lib/llm/chat-engine.d.ts.map +1 -1
  201. package/packages/tools/lib/llm/chat-engine.js +15 -12
  202. package/packages/tools/lib/llm/chat-engine.js.map +1 -1
  203. package/packages/tools/lib/llm/generate-engine.d.ts +7 -2
  204. package/packages/tools/lib/llm/generate-engine.d.ts.map +1 -1
  205. package/packages/tools/lib/llm/generate-engine.js +22 -4
  206. package/packages/tools/lib/llm/generate-engine.js.map +1 -1
  207. package/packages/tools/lib/llm/index.d.ts +1 -0
  208. package/packages/tools/lib/llm/index.d.ts.map +1 -1
  209. package/packages/tools/lib/llm/index.js +1 -0
  210. package/packages/tools/lib/llm/index.js.map +1 -1
  211. package/packages/tools/lib/llm/model-context.d.ts +2 -2
  212. package/packages/tools/lib/llm/model-context.d.ts.map +1 -1
  213. package/packages/tools/lib/llm/model-context.js +7 -13
  214. package/packages/tools/lib/llm/model-context.js.map +1 -1
  215. package/packages/tools/lib/llm/sysml-guidance.d.ts +8 -0
  216. package/packages/tools/lib/llm/sysml-guidance.d.ts.map +1 -0
  217. package/packages/tools/lib/llm/sysml-guidance.js +28 -0
  218. package/packages/tools/lib/llm/sysml-guidance.js.map +1 -0
  219. package/packages/tools/lib/lock.d.ts +14 -8
  220. package/packages/tools/lib/lock.d.ts.map +1 -1
  221. package/packages/tools/lib/lock.js +97 -108
  222. package/packages/tools/lib/lock.js.map +1 -1
  223. package/packages/tools/lib/mcp/model-loader.d.ts +3 -0
  224. package/packages/tools/lib/mcp/model-loader.d.ts.map +1 -1
  225. package/packages/tools/lib/mcp/model-loader.js +9 -5
  226. package/packages/tools/lib/mcp/model-loader.js.map +1 -1
  227. package/packages/tools/lib/mcp/tools.d.ts +3 -0
  228. package/packages/tools/lib/mcp/tools.d.ts.map +1 -1
  229. package/packages/tools/lib/mcp/tools.js +8 -9
  230. package/packages/tools/lib/mcp/tools.js.map +1 -1
  231. package/packages/tools/lib/model/activity-notation.d.ts +54 -0
  232. package/packages/tools/lib/model/activity-notation.d.ts.map +1 -0
  233. package/packages/tools/lib/model/activity-notation.js +208 -0
  234. package/packages/tools/lib/model/activity-notation.js.map +1 -0
  235. package/packages/tools/lib/model/builder.d.ts +3 -0
  236. package/packages/tools/lib/model/builder.d.ts.map +1 -1
  237. package/packages/tools/lib/model/builder.js +956 -62
  238. package/packages/tools/lib/model/builder.js.map +1 -1
  239. package/packages/tools/lib/model/config-loader.d.ts +19 -25
  240. package/packages/tools/lib/model/config-loader.d.ts.map +1 -1
  241. package/packages/tools/lib/model/config-loader.js +51 -233
  242. package/packages/tools/lib/model/config-loader.js.map +1 -1
  243. package/packages/tools/lib/model/config.d.ts +42 -213
  244. package/packages/tools/lib/model/config.d.ts.map +1 -1
  245. package/packages/tools/lib/model/config.js +11 -9
  246. package/packages/tools/lib/model/config.js.map +1 -1
  247. package/packages/tools/lib/model/effective-scope.d.ts +74 -0
  248. package/packages/tools/lib/model/effective-scope.d.ts.map +1 -0
  249. package/packages/tools/lib/model/effective-scope.js +133 -0
  250. package/packages/tools/lib/model/effective-scope.js.map +1 -0
  251. package/packages/tools/lib/model/ir-identity.d.ts +94 -0
  252. package/packages/tools/lib/model/ir-identity.d.ts.map +1 -0
  253. package/packages/tools/lib/model/ir-identity.js +178 -0
  254. package/packages/tools/lib/model/ir-identity.js.map +1 -0
  255. package/packages/tools/lib/model/kind-registry.d.ts +134 -1
  256. package/packages/tools/lib/model/kind-registry.d.ts.map +1 -1
  257. package/packages/tools/lib/model/kind-registry.js +186 -4
  258. package/packages/tools/lib/model/kind-registry.js.map +1 -1
  259. package/packages/tools/lib/model/layer-resolver.js +1 -1
  260. package/packages/tools/lib/model/layer-resolver.js.map +1 -1
  261. package/packages/tools/lib/model/manifest.d.ts +8 -0
  262. package/packages/tools/lib/model/manifest.d.ts.map +1 -1
  263. package/packages/tools/lib/model/manifest.js +3 -0
  264. package/packages/tools/lib/model/manifest.js.map +1 -1
  265. package/packages/tools/lib/model/methodology-loader.d.ts +19 -24
  266. package/packages/tools/lib/model/methodology-loader.d.ts.map +1 -1
  267. package/packages/tools/lib/model/methodology-loader.js +179 -176
  268. package/packages/tools/lib/model/methodology-loader.js.map +1 -1
  269. package/packages/tools/lib/model/methodology-resolver.d.ts +115 -0
  270. package/packages/tools/lib/model/methodology-resolver.d.ts.map +1 -0
  271. package/packages/tools/lib/model/methodology-resolver.js +317 -0
  272. package/packages/tools/lib/model/methodology-resolver.js.map +1 -0
  273. package/packages/tools/lib/model/naming.d.ts +57 -0
  274. package/packages/tools/lib/model/naming.d.ts.map +1 -0
  275. package/packages/tools/lib/model/naming.js +69 -0
  276. package/packages/tools/lib/model/naming.js.map +1 -0
  277. package/packages/tools/lib/model/native-project.d.ts +130 -0
  278. package/packages/tools/lib/model/native-project.d.ts.map +1 -0
  279. package/packages/tools/lib/model/native-project.js +580 -0
  280. package/packages/tools/lib/model/native-project.js.map +1 -0
  281. package/packages/tools/lib/model/ontology-loader.d.ts +34 -21
  282. package/packages/tools/lib/model/ontology-loader.d.ts.map +1 -1
  283. package/packages/tools/lib/model/ontology-loader.js +343 -614
  284. package/packages/tools/lib/model/ontology-loader.js.map +1 -1
  285. package/packages/tools/lib/model/package-manifest.d.ts +37 -0
  286. package/packages/tools/lib/model/package-manifest.d.ts.map +1 -0
  287. package/packages/tools/lib/model/package-manifest.js +96 -0
  288. package/packages/tools/lib/model/package-manifest.js.map +1 -0
  289. package/packages/tools/lib/model/parser-utils.d.ts +31 -0
  290. package/packages/tools/lib/model/parser-utils.d.ts.map +1 -1
  291. package/packages/tools/lib/model/parser-utils.js +89 -1
  292. package/packages/tools/lib/model/parser-utils.js.map +1 -1
  293. package/packages/tools/lib/model/paths.d.ts +10 -4
  294. package/packages/tools/lib/model/paths.d.ts.map +1 -1
  295. package/packages/tools/lib/model/paths.js +10 -4
  296. package/packages/tools/lib/model/paths.js.map +1 -1
  297. package/packages/tools/lib/model/project-conversion.d.ts +226 -0
  298. package/packages/tools/lib/model/project-conversion.d.ts.map +1 -0
  299. package/packages/tools/lib/model/project-conversion.js +946 -0
  300. package/packages/tools/lib/model/project-conversion.js.map +1 -0
  301. package/packages/tools/lib/model/relationship-legality.d.ts +27 -0
  302. package/packages/tools/lib/model/relationship-legality.d.ts.map +1 -1
  303. package/packages/tools/lib/model/relationship-legality.js.map +1 -1
  304. package/packages/tools/lib/model/relationship-registry.d.ts +93 -1
  305. package/packages/tools/lib/model/relationship-registry.d.ts.map +1 -1
  306. package/packages/tools/lib/model/relationship-registry.js +217 -2
  307. package/packages/tools/lib/model/relationship-registry.js.map +1 -1
  308. package/packages/tools/lib/model/semantic.d.ts +73 -0
  309. package/packages/tools/lib/model/semantic.d.ts.map +1 -1
  310. package/packages/tools/lib/model/semantic.js +6 -0
  311. package/packages/tools/lib/model/semantic.js.map +1 -1
  312. package/packages/tools/lib/model/settings-boundary.d.ts +19 -0
  313. package/packages/tools/lib/model/settings-boundary.d.ts.map +1 -0
  314. package/packages/tools/lib/model/settings-boundary.js +118 -0
  315. package/packages/tools/lib/model/settings-boundary.js.map +1 -0
  316. package/packages/tools/lib/model/short-id.js +3 -3
  317. package/packages/tools/lib/model/short-id.js.map +1 -1
  318. package/packages/tools/lib/model/source-graph.d.ts.map +1 -1
  319. package/packages/tools/lib/model/source-graph.js +5 -1
  320. package/packages/tools/lib/model/source-graph.js.map +1 -1
  321. package/packages/tools/lib/model/source-provenance.d.ts +112 -0
  322. package/packages/tools/lib/model/source-provenance.d.ts.map +1 -0
  323. package/packages/tools/lib/model/source-provenance.js +169 -0
  324. package/packages/tools/lib/model/source-provenance.js.map +1 -0
  325. package/packages/tools/lib/model/sysml-ir.d.ts +9 -0
  326. package/packages/tools/lib/model/sysml-ir.d.ts.map +1 -0
  327. package/packages/tools/lib/model/sysml-ir.js +105 -0
  328. package/packages/tools/lib/model/sysml-ir.js.map +1 -0
  329. package/packages/tools/lib/model/view-deriver.d.ts +10 -1
  330. package/packages/tools/lib/model/view-deriver.d.ts.map +1 -1
  331. package/packages/tools/lib/model/view-deriver.js +139 -11
  332. package/packages/tools/lib/model/view-deriver.js.map +1 -1
  333. package/packages/tools/lib/model/view-kinds.d.ts +2 -0
  334. package/packages/tools/lib/model/view-kinds.d.ts.map +1 -1
  335. package/packages/tools/lib/model/view-kinds.js +11 -0
  336. package/packages/tools/lib/model/view-kinds.js.map +1 -1
  337. package/packages/tools/lib/ontology/owl-exporter.d.ts +2 -2
  338. package/packages/tools/lib/ontology/owl-exporter.d.ts.map +1 -1
  339. package/packages/tools/lib/ontology/owl-exporter.js +12 -12
  340. package/packages/tools/lib/ontology/owl-exporter.js.map +1 -1
  341. package/packages/tools/lib/operations/ai-authoring.d.ts +24 -0
  342. package/packages/tools/lib/operations/ai-authoring.d.ts.map +1 -0
  343. package/packages/tools/lib/operations/ai-authoring.js +77 -0
  344. package/packages/tools/lib/operations/ai-authoring.js.map +1 -0
  345. package/packages/tools/lib/operations/authoring.d.ts +40 -0
  346. package/packages/tools/lib/operations/authoring.d.ts.map +1 -0
  347. package/packages/tools/lib/operations/authoring.js +56 -0
  348. package/packages/tools/lib/operations/authoring.js.map +1 -0
  349. package/packages/tools/lib/operations/index.d.ts +2 -0
  350. package/packages/tools/lib/operations/index.d.ts.map +1 -1
  351. package/packages/tools/lib/operations/index.js +2 -0
  352. package/packages/tools/lib/operations/index.js.map +1 -1
  353. package/packages/tools/lib/operations/project-snapshot.d.ts +28 -3
  354. package/packages/tools/lib/operations/project-snapshot.d.ts.map +1 -1
  355. package/packages/tools/lib/operations/project-snapshot.js +79 -30
  356. package/packages/tools/lib/operations/project-snapshot.js.map +1 -1
  357. package/packages/tools/lib/protocol/messages.d.ts +381 -12
  358. package/packages/tools/lib/protocol/messages.d.ts.map +1 -1
  359. package/packages/tools/lib/serializer/csv-io.d.ts +7 -7
  360. package/packages/tools/lib/serializer/csv-io.d.ts.map +1 -1
  361. package/packages/tools/lib/serializer/csv-io.js +11 -11
  362. package/packages/tools/lib/serializer/csv-io.js.map +1 -1
  363. package/packages/tools/lib/serializer/sysml-generator.d.ts.map +1 -1
  364. package/packages/tools/lib/serializer/sysml-generator.js +34 -2
  365. package/packages/tools/lib/serializer/sysml-generator.js.map +1 -1
  366. package/packages/tools/lib/server/config-resolver.d.ts +8 -4
  367. package/packages/tools/lib/server/config-resolver.d.ts.map +1 -1
  368. package/packages/tools/lib/server/config-resolver.js +25 -44
  369. package/packages/tools/lib/server/config-resolver.js.map +1 -1
  370. package/packages/tools/lib/server/conflict-policy.d.ts +44 -0
  371. package/packages/tools/lib/server/conflict-policy.d.ts.map +1 -0
  372. package/packages/tools/lib/server/conflict-policy.js +94 -0
  373. package/packages/tools/lib/server/conflict-policy.js.map +1 -0
  374. package/packages/tools/lib/server/dev-server.d.ts +32 -2
  375. package/packages/tools/lib/server/dev-server.d.ts.map +1 -1
  376. package/packages/tools/lib/server/dev-server.js +875 -54
  377. package/packages/tools/lib/server/dev-server.js.map +1 -1
  378. package/packages/tools/lib/server/element-writer.d.ts +11 -0
  379. package/packages/tools/lib/server/element-writer.d.ts.map +1 -0
  380. package/packages/tools/lib/server/element-writer.js +123 -0
  381. package/packages/tools/lib/server/element-writer.js.map +1 -0
  382. package/packages/tools/lib/server/file-watcher.d.ts +4 -1
  383. package/packages/tools/lib/server/file-watcher.d.ts.map +1 -1
  384. package/packages/tools/lib/server/file-watcher.js +17 -7
  385. package/packages/tools/lib/server/file-watcher.js.map +1 -1
  386. package/packages/tools/lib/server/mutation-domain.d.ts +22 -0
  387. package/packages/tools/lib/server/mutation-domain.d.ts.map +1 -0
  388. package/packages/tools/lib/server/mutation-domain.js +87 -0
  389. package/packages/tools/lib/server/mutation-domain.js.map +1 -0
  390. package/packages/tools/lib/server/package-source.d.ts +26 -0
  391. package/packages/tools/lib/server/package-source.d.ts.map +1 -0
  392. package/packages/tools/lib/server/package-source.js +81 -0
  393. package/packages/tools/lib/server/package-source.js.map +1 -0
  394. package/packages/tools/lib/server/package-writer.d.ts +94 -0
  395. package/packages/tools/lib/server/package-writer.d.ts.map +1 -0
  396. package/packages/tools/lib/server/package-writer.js +317 -0
  397. package/packages/tools/lib/server/package-writer.js.map +1 -0
  398. package/packages/tools/lib/server/persistor.d.ts +81 -6
  399. package/packages/tools/lib/server/persistor.d.ts.map +1 -1
  400. package/packages/tools/lib/server/persistor.js +173 -44
  401. package/packages/tools/lib/server/persistor.js.map +1 -1
  402. package/packages/tools/lib/server/relationship-writer.d.ts +41 -5
  403. package/packages/tools/lib/server/relationship-writer.d.ts.map +1 -1
  404. package/packages/tools/lib/server/relationship-writer.js +157 -13
  405. package/packages/tools/lib/server/relationship-writer.js.map +1 -1
  406. package/packages/tools/lib/server/rule-policy-writer.d.ts +40 -0
  407. package/packages/tools/lib/server/rule-policy-writer.d.ts.map +1 -0
  408. package/packages/tools/lib/server/rule-policy-writer.js +124 -0
  409. package/packages/tools/lib/server/rule-policy-writer.js.map +1 -0
  410. package/packages/tools/lib/server/runtime-budget.d.ts +14 -0
  411. package/packages/tools/lib/server/runtime-budget.d.ts.map +1 -0
  412. package/packages/tools/lib/server/runtime-budget.js +15 -0
  413. package/packages/tools/lib/server/runtime-budget.js.map +1 -0
  414. package/packages/tools/lib/server/sysml-notation.d.ts +36 -0
  415. package/packages/tools/lib/server/sysml-notation.d.ts.map +1 -0
  416. package/packages/tools/lib/server/sysml-notation.js +104 -0
  417. package/packages/tools/lib/server/sysml-notation.js.map +1 -0
  418. package/packages/tools/lib/server/view-layout-store.d.ts.map +1 -1
  419. package/packages/tools/lib/server/view-layout-store.js +1 -0
  420. package/packages/tools/lib/server/view-layout-store.js.map +1 -1
  421. package/packages/tools/lib/sysml-ir/generated/sysml-derivations.d.ts +9 -0
  422. package/packages/tools/lib/sysml-ir/generated/sysml-derivations.d.ts.map +1 -0
  423. package/packages/tools/lib/sysml-ir/generated/sysml-derivations.js +315 -0
  424. package/packages/tools/lib/sysml-ir/generated/sysml-derivations.js.map +1 -0
  425. package/packages/tools/lib/sysml-ir/generated/sysml-metamodel.d.ts +5206 -0
  426. package/packages/tools/lib/sysml-ir/generated/sysml-metamodel.d.ts.map +1 -0
  427. package/packages/tools/lib/sysml-ir/generated/sysml-metamodel.js +1933 -0
  428. package/packages/tools/lib/sysml-ir/generated/sysml-metamodel.js.map +1 -0
  429. package/packages/tools/lib/sysml-ir/index.d.ts +3 -0
  430. package/packages/tools/lib/sysml-ir/index.d.ts.map +1 -0
  431. package/packages/tools/lib/sysml-ir/index.js +3 -0
  432. package/packages/tools/lib/sysml-ir/index.js.map +1 -0
  433. package/packages/tools/lib/sysml-ir/ir.d.ts +50 -0
  434. package/packages/tools/lib/sysml-ir/ir.d.ts.map +1 -0
  435. package/packages/tools/lib/sysml-ir/ir.js +2 -0
  436. package/packages/tools/lib/sysml-ir/ir.js.map +1 -0
  437. package/packages/tools/lib/sysmlc/bin/memo-sysmlc.d.ts +3 -0
  438. package/packages/tools/lib/sysmlc/bin/memo-sysmlc.d.ts.map +1 -0
  439. package/packages/tools/lib/sysmlc/bin/memo-sysmlc.js +97 -0
  440. package/packages/tools/lib/sysmlc/bin/memo-sysmlc.js.map +1 -0
  441. package/packages/tools/lib/sysmlc/index.d.ts +2 -0
  442. package/packages/tools/lib/sysmlc/index.d.ts.map +1 -0
  443. package/packages/tools/lib/sysmlc/index.js +7 -0
  444. package/packages/tools/lib/sysmlc/index.js.map +1 -0
  445. package/packages/tools/lib/sysmlc/server.d.ts +29 -0
  446. package/packages/tools/lib/sysmlc/server.d.ts.map +1 -0
  447. package/packages/tools/lib/sysmlc/server.js +168 -0
  448. package/packages/tools/lib/sysmlc/server.js.map +1 -0
  449. package/packages/tools/lib/toolchain/default-registry.d.ts +12 -0
  450. package/packages/tools/lib/toolchain/default-registry.d.ts.map +1 -0
  451. package/packages/tools/lib/toolchain/default-registry.js +28 -0
  452. package/packages/tools/lib/toolchain/default-registry.js.map +1 -0
  453. package/packages/tools/lib/toolchain/diagnostic.d.ts +57 -0
  454. package/packages/tools/lib/toolchain/diagnostic.d.ts.map +1 -0
  455. package/packages/tools/lib/toolchain/diagnostic.js +69 -0
  456. package/packages/tools/lib/toolchain/diagnostic.js.map +1 -0
  457. package/packages/tools/lib/toolchain/effective.d.ts +36 -0
  458. package/packages/tools/lib/toolchain/effective.d.ts.map +1 -0
  459. package/packages/tools/lib/toolchain/effective.js +91 -0
  460. package/packages/tools/lib/toolchain/effective.js.map +1 -0
  461. package/packages/tools/lib/toolchain/index.d.ts +11 -0
  462. package/packages/tools/lib/toolchain/index.d.ts.map +1 -0
  463. package/packages/tools/lib/toolchain/index.js +21 -0
  464. package/packages/tools/lib/toolchain/index.js.map +1 -0
  465. package/packages/tools/lib/toolchain/lowering.d.ts +63 -0
  466. package/packages/tools/lib/toolchain/lowering.d.ts.map +1 -0
  467. package/packages/tools/lib/toolchain/lowering.js +100 -0
  468. package/packages/tools/lib/toolchain/lowering.js.map +1 -0
  469. package/packages/tools/lib/toolchain/operations.d.ts +87 -0
  470. package/packages/tools/lib/toolchain/operations.d.ts.map +1 -0
  471. package/packages/tools/lib/toolchain/operations.js +111 -0
  472. package/packages/tools/lib/toolchain/operations.js.map +1 -0
  473. package/packages/tools/lib/toolchain/process.d.ts +45 -0
  474. package/packages/tools/lib/toolchain/process.d.ts.map +1 -0
  475. package/packages/tools/lib/toolchain/process.js +125 -0
  476. package/packages/tools/lib/toolchain/process.js.map +1 -0
  477. package/packages/tools/lib/toolchain/protocol.d.ts +122 -0
  478. package/packages/tools/lib/toolchain/protocol.d.ts.map +1 -0
  479. package/packages/tools/lib/toolchain/protocol.js +74 -0
  480. package/packages/tools/lib/toolchain/protocol.js.map +1 -0
  481. package/packages/tools/lib/toolchain/providers/internal-kpar.d.ts +9 -0
  482. package/packages/tools/lib/toolchain/providers/internal-kpar.d.ts.map +1 -0
  483. package/packages/tools/lib/toolchain/providers/internal-kpar.js +84 -0
  484. package/packages/tools/lib/toolchain/providers/internal-kpar.js.map +1 -0
  485. package/packages/tools/lib/toolchain/providers/internal.d.ts +33 -0
  486. package/packages/tools/lib/toolchain/providers/internal.d.ts.map +1 -0
  487. package/packages/tools/lib/toolchain/providers/internal.js +286 -0
  488. package/packages/tools/lib/toolchain/providers/internal.js.map +1 -0
  489. package/packages/tools/lib/toolchain/providers/sysand.d.ts +12 -0
  490. package/packages/tools/lib/toolchain/providers/sysand.d.ts.map +1 -0
  491. package/packages/tools/lib/toolchain/providers/sysand.js +110 -0
  492. package/packages/tools/lib/toolchain/providers/sysand.js.map +1 -0
  493. package/packages/tools/lib/toolchain/providers/syside.d.ts +24 -0
  494. package/packages/tools/lib/toolchain/providers/syside.d.ts.map +1 -0
  495. package/packages/tools/lib/toolchain/providers/syside.js +208 -0
  496. package/packages/tools/lib/toolchain/providers/syside.js.map +1 -0
  497. package/packages/tools/lib/toolchain/registry.d.ts +192 -0
  498. package/packages/tools/lib/toolchain/registry.d.ts.map +1 -0
  499. package/packages/tools/lib/toolchain/registry.js +130 -0
  500. package/packages/tools/lib/toolchain/registry.js.map +1 -0
  501. package/packages/tools/lib/toolchain/schema.d.ts +30 -0
  502. package/packages/tools/lib/toolchain/schema.d.ts.map +1 -0
  503. package/packages/tools/lib/toolchain/schema.js +112 -0
  504. package/packages/tools/lib/toolchain/schema.js.map +1 -0
  505. package/packages/tools/lib/toolchain/sysmlc-client.d.ts +77 -0
  506. package/packages/tools/lib/toolchain/sysmlc-client.d.ts.map +1 -0
  507. package/packages/tools/lib/toolchain/sysmlc-client.js +0 -0
  508. package/packages/tools/lib/toolchain/sysmlc-client.js.map +1 -0
  509. package/packages/tools/lib/validator/architecture-validator.d.ts +8 -1
  510. package/packages/tools/lib/validator/architecture-validator.d.ts.map +1 -1
  511. package/packages/tools/lib/validator/architecture-validator.js +25 -1
  512. package/packages/tools/lib/validator/architecture-validator.js.map +1 -1
  513. package/packages/tools/lib/validator/behavior-validator.d.ts +1 -1
  514. package/packages/tools/lib/validator/behavior-validator.js +1 -1
  515. package/packages/tools/lib/validator/builtin-rules.d.ts +16 -0
  516. package/packages/tools/lib/validator/builtin-rules.d.ts.map +1 -0
  517. package/packages/tools/lib/validator/builtin-rules.js +62 -0
  518. package/packages/tools/lib/validator/builtin-rules.js.map +1 -0
  519. package/packages/tools/lib/validator/constraint-eval.d.ts +31 -0
  520. package/packages/tools/lib/validator/constraint-eval.d.ts.map +1 -1
  521. package/packages/tools/lib/validator/constraint-eval.js +164 -7
  522. package/packages/tools/lib/validator/constraint-eval.js.map +1 -1
  523. package/packages/tools/lib/validator/constraint-loader.d.ts +22 -4
  524. package/packages/tools/lib/validator/constraint-loader.d.ts.map +1 -1
  525. package/packages/tools/lib/validator/constraint-loader.js +100 -27
  526. package/packages/tools/lib/validator/constraint-loader.js.map +1 -1
  527. package/packages/tools/lib/validator/rule-engine.d.ts +2 -1
  528. package/packages/tools/lib/validator/rule-engine.d.ts.map +1 -1
  529. package/packages/tools/lib/validator/rule-engine.js +56 -5
  530. package/packages/tools/lib/validator/rule-engine.js.map +1 -1
  531. package/packages/tools/lib/validator/sysml-constraints.d.ts +64 -0
  532. package/packages/tools/lib/validator/sysml-constraints.d.ts.map +1 -0
  533. package/packages/tools/lib/validator/sysml-constraints.js +251 -0
  534. package/packages/tools/lib/validator/sysml-constraints.js.map +1 -0
  535. package/packages/tools/lib/validator/types.d.ts +33 -0
  536. package/packages/tools/lib/validator/types.d.ts.map +1 -1
  537. package/packages/tools/lib/version.d.ts +2 -0
  538. package/packages/tools/lib/version.d.ts.map +1 -0
  539. package/packages/tools/lib/version.js +26 -0
  540. package/packages/tools/lib/version.js.map +1 -0
  541. package/packages/tools/src/grammar/memo-sysml.langium +517 -41
  542. package/packages/tools/lib/model/dimension-filter.d.ts +0 -33
  543. package/packages/tools/lib/model/dimension-filter.d.ts.map +0 -1
  544. package/packages/tools/lib/model/dimension-filter.js +0 -57
  545. package/packages/tools/lib/model/dimension-filter.js.map +0 -1
  546. package/packages/tools/lib/model/toolchain.d.ts +0 -12
  547. package/packages/tools/lib/model/toolchain.d.ts.map +0 -1
  548. package/packages/tools/lib/model/toolchain.js +0 -92
  549. package/packages/tools/lib/model/toolchain.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"methodology-loader.js","sourceRoot":"","sources":["../../src/model/methodology-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"methodology-loader.js","sourceRoot":"","sources":["../../src/model/methodology-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ import type { NativeMethodBinding, NativeMethodology, NativeRulePolicy, ScopeMode } from './native-project.js';
2
+ import type { CompiledConstraint } from '../validator/constraint-eval.js';
3
+ /** Severity as the ontology and policies spell it. */
4
+ export type RuleSeverity = 'error' | 'warning' | 'info';
5
+ /** How far a rule may be tailored, from the rule's own `tailoring` attribute. */
6
+ export type RuleTailoring = 'invariant' | 'assurance' | 'methodology';
7
+ /** One step in the chain that produced a rule's effective disposition. */
8
+ export interface PolicyChainEntry {
9
+ /** Methodology usage name, or the binding's usage name for a project policy. */
10
+ source: string;
11
+ /** 'methodology' or 'project' — which authority applied it. */
12
+ level: 'methodology' | 'project';
13
+ policy: NativeRulePolicy;
14
+ }
15
+ /** A rule and everything that happened to it. */
16
+ export interface EffectiveRule {
17
+ /** The rule as originally defined. */
18
+ sourceRuleId: string;
19
+ sourceRuleType: string;
20
+ /** The rule that actually evaluates; differs from the source when replaced. */
21
+ activeRuleId: string;
22
+ activeRuleType: string;
23
+ disposition: 'enabled' | 'disabled' | 'replaced';
24
+ /** Severity after any override. */
25
+ effectiveSeverity: RuleSeverity;
26
+ /** Severity as the ontology authored it. */
27
+ declaredSeverity: RuleSeverity;
28
+ tailoring: RuleTailoring;
29
+ /** Every policy that touched this rule, base-first. */
30
+ policyChain: PolicyChainEntry[];
31
+ /** Rationale and authority from the last policy that changed the rule. */
32
+ rationaleText?: string;
33
+ authority?: string;
34
+ approvalReference?: string;
35
+ /** Where the rule is declared. */
36
+ sourceFile?: string;
37
+ }
38
+ export interface RuleResolutionDiagnostic {
39
+ code: 'missing-target' | 'missing-replacement' | 'duplicate-rule-id' | 'invariant-protected' | 'replacement-without-target' | 'missing-rationale' | 'ambiguous-target'
40
+ /** Resolution itself threw. Reported so the UI shows why the set is empty. */
41
+ | 'resolution-failed';
42
+ message: string;
43
+ ruleId?: string;
44
+ policy?: string;
45
+ file?: string;
46
+ }
47
+ export interface MethodologyDiagnostic {
48
+ code: 'missing-base' | 'inheritance-cycle' | 'unavailable-module' | 'scope-mode-conflict';
49
+ message: string;
50
+ methodology?: string;
51
+ }
52
+ /** The methodology chain plus its merged selection. */
53
+ export interface EffectiveMethodology {
54
+ /** Base first, selected methodology last. */
55
+ chain: NativeMethodology[];
56
+ scopeMode: ScopeMode;
57
+ includedLayers: string[];
58
+ includedModules: string[];
59
+ includedStandards: string[];
60
+ includedArtifactKinds: string[];
61
+ includedViewpoints: string[];
62
+ /** Policies in application order: base methodology first, project binding last. */
63
+ policyChain: PolicyChainEntry[];
64
+ diagnostics: MethodologyDiagnostic[];
65
+ }
66
+ /**
67
+ * Walk the methodology inheritance chain and merge its selection.
68
+ *
69
+ * Exactly one base per methodology, so the chain is a list. The resolver walks
70
+ * base-first and then applies the child, which is also the order policies are
71
+ * applied in: a child methodology may tailor what its base decided, and the
72
+ * project binding gets the last word.
73
+ */
74
+ export declare function resolveEffectiveMethodology(binding: NativeMethodBinding | undefined, methodologies: Map<string, NativeMethodology>, availablePackages: ReadonlySet<string>): EffectiveMethodology;
75
+ /** A rule as the constraint loader found it, plus the metadata policies need. */
76
+ export interface RuleCandidate {
77
+ /** Stable rule ID, e.g. "CR-MED-040". Durable identity for audit records. */
78
+ id: string;
79
+ /** The `constraint def` name, which is what a policy references. */
80
+ typeName: string;
81
+ severity: RuleSeverity;
82
+ tailoring: RuleTailoring;
83
+ file?: string;
84
+ constraint?: CompiledConstraint;
85
+ }
86
+ /**
87
+ * Map compiled native constraints onto rule candidates.
88
+ *
89
+ * One place, because both `memo rules` and the dev server need it and they got
90
+ * the field names wrong independently — `collectNativeConstraints` returns
91
+ * `id`/`typeName`/`sourceFile`, not `ruleId`/`ruleType`/`file`. A rule whose
92
+ * identity does not survive this mapping resolves as `undefined` and is
93
+ * unauditable, which is the opposite of what section 10.4 asks for.
94
+ *
95
+ * A constraint with no `typeName` is skipped: a policy references a rule by its
96
+ * `constraint def` name, so a rule without one cannot be tailored and does not
97
+ * belong in a set whose purpose is recording tailoring decisions.
98
+ */
99
+ export declare function ruleCandidatesFromConstraints(constraints: readonly CompiledConstraint[]): RuleCandidate[];
100
+ export interface EffectiveRuleSet {
101
+ rules: EffectiveRule[];
102
+ diagnostics: RuleResolutionDiagnostic[];
103
+ /** The constraints that should actually be evaluated, in rule-ID order. */
104
+ activeConstraints: CompiledConstraint[];
105
+ }
106
+ /**
107
+ * Produce the effective rule set.
108
+ *
109
+ * Steps 1-3 of section 10.3 (collecting rules from ontology, extension, and
110
+ * methodology packages) happen upstream: `collectNativeConstraints` walks the
111
+ * resolved closure, which is exactly the set of packages those steps describe.
112
+ * This function is steps 4-9 — apply policies base-first, validate, and emit.
113
+ */
114
+ export declare function resolveEffectiveRules(candidates: RuleCandidate[], policyChain: PolicyChainEntry[]): EffectiveRuleSet;
115
+ //# sourceMappingURL=methodology-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"methodology-resolver.d.ts","sourceRoot":"","sources":["../../src/model/methodology-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,317 @@
1
+ // ─── Effective Methodology and Effective Rule Resolution ──────────────────────
2
+ //
3
+ // What a project's methodology actually amounts to, and which rules are live.
4
+ //
5
+ // Both resolvers are deterministic: the same source produces the same result in
6
+ // the same order, and every entry says where it came from. There is no
7
+ // "last duplicate wins" anywhere — a duplicate rule ID is an error, and a rule
8
+ // is replaced only through an explicit `RulePolicy`.
9
+ //
10
+ // Under the section 4.1 Option P verdict this layer governs rule *identity and
11
+ // disposition*: which rules are in the effective set, at what severity, under
12
+ // whose authority. Whether a rule's predicate fires is a separate question that
13
+ // `predicateExpression` still answers, and nothing here should be reported as
14
+ // evidence that a model was validated.
15
+ //
16
+ // Design reference: sections 9.1-9.3, 10.1-10.4.
17
+ // ─────────────────────────────────────────────────────────────────────────────
18
+ /**
19
+ * Walk the methodology inheritance chain and merge its selection.
20
+ *
21
+ * Exactly one base per methodology, so the chain is a list. The resolver walks
22
+ * base-first and then applies the child, which is also the order policies are
23
+ * applied in: a child methodology may tailor what its base decided, and the
24
+ * project binding gets the last word.
25
+ */
26
+ export function resolveEffectiveMethodology(binding, methodologies, availablePackages) {
27
+ const diagnostics = [];
28
+ const chain = [];
29
+ let current = binding?.selectedMethodologyName
30
+ ? methodologies.get(binding.selectedMethodologyName)
31
+ : undefined;
32
+ const seen = new Set();
33
+ while (current) {
34
+ if (seen.has(current.usageName)) {
35
+ diagnostics.push({
36
+ code: 'inheritance-cycle',
37
+ message: `Methodology inheritance cycles back to "${current.usageName}". A methodology chain must `
38
+ + `terminate; a cycle has no base to resolve first.`,
39
+ methodology: current.usageName,
40
+ });
41
+ break;
42
+ }
43
+ seen.add(current.usageName);
44
+ chain.unshift(current);
45
+ if (!current.baseMethodologyName)
46
+ break;
47
+ const base = methodologies.get(current.baseMethodologyName);
48
+ if (!base) {
49
+ diagnostics.push({
50
+ code: 'missing-base',
51
+ message: `Methodology "${current.usageName}" specializes "${current.baseMethodologyName}", which no `
52
+ + `resolved package declares.`,
53
+ methodology: current.usageName,
54
+ });
55
+ break;
56
+ }
57
+ current = base;
58
+ }
59
+ // The selected methodology decides the mode; a base cannot widen a child.
60
+ const selected = chain[chain.length - 1];
61
+ const scopeMode = binding?.scopeMode === 'allAvailable'
62
+ ? 'allAvailable'
63
+ : selected?.scopeMode ?? 'explicit';
64
+ const merge = (pick) => {
65
+ const out = [];
66
+ for (const m of chain)
67
+ for (const v of pick(m))
68
+ if (!out.includes(v))
69
+ out.push(v);
70
+ return out;
71
+ };
72
+ const includedModules = merge(m => m.includedModules);
73
+ for (const extra of binding?.includedModules ?? []) {
74
+ if (!includedModules.includes(extra))
75
+ includedModules.push(extra);
76
+ }
77
+ // A module the methodology names but the import graph never resolved is a
78
+ // hard diagnostic: a string naming an unavailable package is not a selection.
79
+ for (const m of includedModules) {
80
+ if (!availablePackages.has(m)) {
81
+ diagnostics.push({
82
+ code: 'unavailable-module',
83
+ message: `Module "${m}" is selected but is not in the project's import closure. Import the package, `
84
+ + `or remove it from the selection — a name alone does not make a module available.`,
85
+ });
86
+ }
87
+ }
88
+ for (const m of chain) {
89
+ if (m.scopeMode === 'allAvailable') {
90
+ const listed = [
91
+ ...m.includedLayers, ...m.includedModules, ...m.includedStandards,
92
+ ...m.includedArtifactKinds, ...m.includedViewpoints,
93
+ ];
94
+ if (listed.length > 0) {
95
+ diagnostics.push({
96
+ code: 'scope-mode-conflict',
97
+ message: `Methodology "${m.usageName}" sets scopeMode = allAvailable but also authors inclusion `
98
+ + `entries. Under allAvailable the lists must be empty; otherwise the methodology states `
99
+ + `its scope twice and the resolver has to pick.`,
100
+ methodology: m.usageName,
101
+ });
102
+ }
103
+ }
104
+ }
105
+ const policyChain = [];
106
+ for (const m of chain) {
107
+ for (const p of m.rulePolicies) {
108
+ policyChain.push({ source: m.usageName, level: 'methodology', policy: p });
109
+ }
110
+ }
111
+ for (const p of binding?.rulePolicies ?? []) {
112
+ policyChain.push({ source: binding.usageName, level: 'project', policy: p });
113
+ }
114
+ return {
115
+ chain,
116
+ scopeMode,
117
+ includedLayers: merge(m => m.includedLayers),
118
+ includedModules,
119
+ includedStandards: merge(m => m.includedStandards),
120
+ includedArtifactKinds: merge(m => m.includedArtifactKinds),
121
+ includedViewpoints: merge(m => m.includedViewpoints),
122
+ policyChain,
123
+ diagnostics,
124
+ };
125
+ }
126
+ /**
127
+ * Map compiled native constraints onto rule candidates.
128
+ *
129
+ * One place, because both `memo rules` and the dev server need it and they got
130
+ * the field names wrong independently — `collectNativeConstraints` returns
131
+ * `id`/`typeName`/`sourceFile`, not `ruleId`/`ruleType`/`file`. A rule whose
132
+ * identity does not survive this mapping resolves as `undefined` and is
133
+ * unauditable, which is the opposite of what section 10.4 asks for.
134
+ *
135
+ * A constraint with no `typeName` is skipped: a policy references a rule by its
136
+ * `constraint def` name, so a rule without one cannot be tailored and does not
137
+ * belong in a set whose purpose is recording tailoring decisions.
138
+ */
139
+ export function ruleCandidatesFromConstraints(constraints) {
140
+ const candidates = [];
141
+ for (const constraint of constraints) {
142
+ if (!constraint.typeName)
143
+ continue;
144
+ candidates.push({
145
+ id: constraint.id,
146
+ typeName: constraint.typeName,
147
+ severity: constraint.severity,
148
+ tailoring: constraint.tailoring ?? 'assurance',
149
+ file: constraint.sourceFile,
150
+ constraint,
151
+ });
152
+ }
153
+ return candidates;
154
+ }
155
+ /**
156
+ * Produce the effective rule set.
157
+ *
158
+ * Steps 1-3 of section 10.3 (collecting rules from ontology, extension, and
159
+ * methodology packages) happen upstream: `collectNativeConstraints` walks the
160
+ * resolved closure, which is exactly the set of packages those steps describe.
161
+ * This function is steps 4-9 — apply policies base-first, validate, and emit.
162
+ */
163
+ export function resolveEffectiveRules(candidates, policyChain) {
164
+ const diagnostics = [];
165
+ // Step 8, first half: IDs must be unique and types must be unambiguous.
166
+ const byId = new Map();
167
+ const byType = new Map();
168
+ for (const c of candidates) {
169
+ const clash = byId.get(c.id);
170
+ if (clash && clash.typeName !== c.typeName) {
171
+ diagnostics.push({
172
+ code: 'duplicate-rule-id',
173
+ message: `Rule ID ${c.id} is declared by both ${clash.typeName} and ${c.typeName}. Rule IDs are audit `
174
+ + `identity; two rules sharing one leaves every violation ambiguous.`,
175
+ ruleId: c.id,
176
+ file: c.file,
177
+ });
178
+ continue;
179
+ }
180
+ byId.set(c.id, c);
181
+ const list = byType.get(c.typeName) ?? [];
182
+ list.push(c);
183
+ byType.set(c.typeName, list);
184
+ }
185
+ const state = new Map();
186
+ for (const c of byId.values()) {
187
+ state.set(c.typeName, {
188
+ sourceRuleId: c.id,
189
+ sourceRuleType: c.typeName,
190
+ activeRuleId: c.id,
191
+ activeRuleType: c.typeName,
192
+ disposition: 'enabled',
193
+ effectiveSeverity: c.severity,
194
+ declaredSeverity: c.severity,
195
+ tailoring: c.tailoring,
196
+ policyChain: [],
197
+ sourceFile: c.file,
198
+ });
199
+ }
200
+ for (const entry of policyChain) {
201
+ const { policy } = entry;
202
+ const targetType = policy.targetRuleType;
203
+ if (!targetType) {
204
+ diagnostics.push({
205
+ code: 'missing-target',
206
+ message: `Policy "${policy.usageName}" names no targetRule. A policy with no target changes nothing `
207
+ + `and hides that it changes nothing.`,
208
+ policy: policy.usageName,
209
+ file: policy.sourceFile,
210
+ });
211
+ continue;
212
+ }
213
+ const rule = state.get(targetType);
214
+ if (!rule) {
215
+ diagnostics.push({
216
+ code: 'missing-target',
217
+ message: `Policy "${policy.usageName}" targets rule "${targetType}", which is not in the resolved rule `
218
+ + `set. Import the package declaring it, or remove the policy.`,
219
+ policy: policy.usageName,
220
+ file: policy.sourceFile,
221
+ });
222
+ continue;
223
+ }
224
+ const ambiguous = byType.get(targetType);
225
+ if (ambiguous && ambiguous.length > 1) {
226
+ diagnostics.push({
227
+ code: 'ambiguous-target',
228
+ message: `Policy "${policy.usageName}" targets "${targetType}", which resolves to ${ambiguous.length} `
229
+ + `declarations. A reference must name exactly one rule.`,
230
+ policy: policy.usageName,
231
+ ruleId: rule.sourceRuleId,
232
+ file: policy.sourceFile,
233
+ });
234
+ continue;
235
+ }
236
+ const disposition = policy.disposition ?? 'enabled';
237
+ // Step 8: an invariant holds the ontology's own consistency. It changes
238
+ // in an ontology release, not in a methodology.
239
+ if (rule.tailoring === 'invariant' && disposition !== 'enabled') {
240
+ diagnostics.push({
241
+ code: 'invariant-protected',
242
+ message: `Policy "${policy.usageName}" tries to ${disposition === 'disabled' ? 'disable' : 'replace'} `
243
+ + `${rule.sourceRuleId} (${targetType}), which is classified invariant. Invariant rules hold `
244
+ + `the ontology's internal consistency and can only change in an ontology release.`,
245
+ ruleId: rule.sourceRuleId,
246
+ policy: policy.usageName,
247
+ file: policy.sourceFile,
248
+ });
249
+ continue;
250
+ }
251
+ if (disposition !== 'enabled' && !policy.rationaleText) {
252
+ diagnostics.push({
253
+ code: 'missing-rationale',
254
+ message: `Policy "${policy.usageName}" ${disposition}s ${rule.sourceRuleId} without a rationale. `
255
+ + `A tailoring decision that records no reason cannot be audited.`,
256
+ ruleId: rule.sourceRuleId,
257
+ policy: policy.usageName,
258
+ file: policy.sourceFile,
259
+ });
260
+ }
261
+ if (disposition === 'replaced') {
262
+ const replacementType = policy.replacementRuleType;
263
+ if (!replacementType) {
264
+ diagnostics.push({
265
+ code: 'replacement-without-target',
266
+ message: `Policy "${policy.usageName}" sets disposition = replaced but names no replacementRule. `
267
+ + `A replacement must point at another native constraint.`,
268
+ ruleId: rule.sourceRuleId,
269
+ policy: policy.usageName,
270
+ file: policy.sourceFile,
271
+ });
272
+ continue;
273
+ }
274
+ const replacement = state.get(replacementType);
275
+ if (!replacement) {
276
+ diagnostics.push({
277
+ code: 'missing-replacement',
278
+ message: `Policy "${policy.usageName}" replaces ${rule.sourceRuleId} with "${replacementType}", `
279
+ + `which is not in the resolved rule set.`,
280
+ ruleId: rule.sourceRuleId,
281
+ policy: policy.usageName,
282
+ file: policy.sourceFile,
283
+ });
284
+ continue;
285
+ }
286
+ rule.activeRuleType = replacementType;
287
+ rule.activeRuleId = replacement.sourceRuleId;
288
+ }
289
+ rule.disposition = disposition;
290
+ if (policy.severityOverride)
291
+ rule.effectiveSeverity = policy.severityOverride;
292
+ rule.policyChain.push(entry);
293
+ if (policy.rationaleText)
294
+ rule.rationaleText = policy.rationaleText;
295
+ if (policy.authority)
296
+ rule.authority = policy.authority;
297
+ if (policy.approvalReference)
298
+ rule.approvalReference = policy.approvalReference;
299
+ }
300
+ // A replaced rule's replacement should not also evaluate in its own right;
301
+ // it is the substitute, not an addition.
302
+ const replacementTypes = new Set([...state.values()].filter(r => r.disposition === 'replaced').map(r => r.activeRuleType));
303
+ const rules = [...state.values()].sort((a, b) => a.sourceRuleId.localeCompare(b.sourceRuleId));
304
+ const activeConstraints = [];
305
+ for (const rule of rules) {
306
+ if (rule.disposition === 'disabled')
307
+ continue;
308
+ if (rule.disposition === 'enabled' && replacementTypes.has(rule.sourceRuleType))
309
+ continue;
310
+ const candidate = byType.get(rule.activeRuleType)?.[0];
311
+ if (!candidate?.constraint)
312
+ continue;
313
+ activeConstraints.push({ ...candidate.constraint, severity: rule.effectiveSeverity });
314
+ }
315
+ return { rules, diagnostics, activeConstraints };
316
+ }
317
+ //# sourceMappingURL=methodology-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"methodology-resolver.js","sourceRoot":"","sources":["../../src/model/methodology-resolver.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,EAAE;AACF,8EAA8E;AAC9E,EAAE;AACF,gFAAgF;AAChF,uEAAuE;AACvE,+EAA+E;AAC/E,qDAAqD;AACrD,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,gFAAgF;AAChF,8EAA8E;AAC9E,uCAAuC;AACvC,EAAE;AACF,iDAAiD;AACjD,gFAAgF;AAuFhF;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CACvC,OAAwC,EACxC,aAA6C,EAC7C,iBAAsC;IAEtC,MAAM,WAAW,GAA4B,EAAE,CAAC;IAChD,MAAM,KAAK,GAAwB,EAAE,CAAC;IAEtC,IAAI,OAAO,GAAG,OAAO,EAAE,uBAAuB;QAC1C,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAC;QACpD,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,OAAO,EAAE,CAAC;QACb,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,WAAW,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EACH,2CAA2C,OAAO,CAAC,SAAS,8BAA8B;sBACxF,kDAAkD;gBACxD,WAAW,EAAE,OAAO,CAAC,SAAS;aACjC,CAAC,CAAC;YACH,MAAM;QACV,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5B,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,mBAAmB;YAAE,MAAM;QACxC,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,WAAW,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,cAAc;gBACpB,OAAO,EACH,gBAAgB,OAAO,CAAC,SAAS,kBAAkB,OAAO,CAAC,mBAAmB,cAAc;sBAC1F,4BAA4B;gBAClC,WAAW,EAAE,OAAO,CAAC,SAAS;aACjC,CAAC,CAAC;YACH,MAAM;QACV,CAAC;QACD,OAAO,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,0EAA0E;IAC1E,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,MAAM,SAAS,GAAc,OAAO,EAAE,SAAS,KAAK,cAAc;QAC9D,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,QAAQ,EAAE,SAAS,IAAI,UAAU,CAAC;IAExC,MAAM,KAAK,GAAG,CAAC,IAAwC,EAAY,EAAE;QACjE,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;gBAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClF,OAAO,GAAG,CAAC;IACf,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IACtD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,eAAe,IAAI,EAAE,EAAE,CAAC;QACjD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtE,CAAC;IAED,0EAA0E;IAC1E,8EAA8E;IAC9E,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;QAC9B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,WAAW,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EACH,WAAW,CAAC,gFAAgF;sBAC1F,kFAAkF;aAC3F,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,CAAC,SAAS,KAAK,cAAc,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG;gBACX,GAAG,CAAC,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,iBAAiB;gBACjE,GAAG,CAAC,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC,kBAAkB;aACtD,CAAC;YACF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,WAAW,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,qBAAqB;oBAC3B,OAAO,EACH,gBAAgB,CAAC,CAAC,SAAS,6DAA6D;0BACtF,wFAAwF;0BACxF,+CAA+C;oBACrD,WAAW,EAAE,CAAC,CAAC,SAAS;iBAC3B,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC;IAED,MAAM,WAAW,GAAuB,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACpB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;YAC7B,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;IACL,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,YAAY,IAAI,EAAE,EAAE,CAAC;QAC1C,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,OAAO;QACH,KAAK;QACL,SAAS;QACT,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;QAC5C,eAAe;QACf,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAClD,qBAAqB,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC;QAC1D,kBAAkB,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;QACpD,WAAW;QACX,WAAW;KACd,CAAC;AACN,CAAC;AAcD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,6BAA6B,CACzC,WAA0C;IAE1C,MAAM,UAAU,GAAoB,EAAE,CAAC;IACvC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,QAAQ;YAAE,SAAS;QACnC,UAAU,CAAC,IAAI,CAAC;YACZ,EAAE,EAAE,UAAU,CAAC,EAAE;YACjB,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,SAAS,EAAE,UAAU,CAAC,SAAS,IAAI,WAAW;YAC9C,IAAI,EAAE,UAAU,CAAC,UAAU;YAC3B,UAAU;SACb,CAAC,CAAC;IACP,CAAC;IACD,OAAO,UAAU,CAAC;AACtB,CAAC;AASD;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACjC,UAA2B,EAC3B,WAA+B;IAE/B,MAAM,WAAW,GAA+B,EAAE,CAAC;IAEnD,wEAAwE;IACxE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC9C,MAAM,MAAM,GAAG,IAAI,GAAG,EAA2B,CAAC;IAClD,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7B,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;YACzC,WAAW,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EACH,WAAW,CAAC,CAAC,EAAE,wBAAwB,KAAK,CAAC,QAAQ,QAAQ,CAAC,CAAC,QAAQ,uBAAuB;sBAC5F,mEAAmE;gBACzE,MAAM,EAAE,CAAC,CAAC,EAAE;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;aACf,CAAC,CAAC;YACH,SAAS;QACb,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAClB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACb,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QAC5B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;YAClB,YAAY,EAAE,CAAC,CAAC,EAAE;YAClB,cAAc,EAAE,CAAC,CAAC,QAAQ;YAC1B,YAAY,EAAE,CAAC,CAAC,EAAE;YAClB,cAAc,EAAE,CAAC,CAAC,QAAQ;YAC1B,WAAW,EAAE,SAAS;YACtB,iBAAiB,EAAE,CAAC,CAAC,QAAQ;YAC7B,gBAAgB,EAAE,CAAC,CAAC,QAAQ;YAC5B,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,CAAC,CAAC,IAAI;SACrB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QACzB,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC;QACzC,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,WAAW,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EACH,WAAW,MAAM,CAAC,SAAS,iEAAiE;sBAC1F,oCAAoC;gBAC1C,MAAM,EAAE,MAAM,CAAC,SAAS;gBACxB,IAAI,EAAE,MAAM,CAAC,UAAU;aAC1B,CAAC,CAAC;YACH,SAAS;QACb,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,WAAW,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EACH,WAAW,MAAM,CAAC,SAAS,mBAAmB,UAAU,uCAAuC;sBAC7F,6DAA6D;gBACnE,MAAM,EAAE,MAAM,CAAC,SAAS;gBACxB,IAAI,EAAE,MAAM,CAAC,UAAU;aAC1B,CAAC,CAAC;YACH,SAAS;QACb,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,WAAW,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EACH,WAAW,MAAM,CAAC,SAAS,cAAc,UAAU,wBAAwB,SAAS,CAAC,MAAM,GAAG;sBAC5F,uDAAuD;gBAC7D,MAAM,EAAE,MAAM,CAAC,SAAS;gBACxB,MAAM,EAAE,IAAI,CAAC,YAAY;gBACzB,IAAI,EAAE,MAAM,CAAC,UAAU;aAC1B,CAAC,CAAC;YACH,SAAS;QACb,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,SAAS,CAAC;QAEpD,wEAAwE;QACxE,gDAAgD;QAChD,IAAI,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9D,WAAW,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EACH,WAAW,MAAM,CAAC,SAAS,cAAc,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG;sBAC5F,GAAG,IAAI,CAAC,YAAY,KAAK,UAAU,yDAAyD;sBAC5F,iFAAiF;gBACvF,MAAM,EAAE,IAAI,CAAC,YAAY;gBACzB,MAAM,EAAE,MAAM,CAAC,SAAS;gBACxB,IAAI,EAAE,MAAM,CAAC,UAAU;aAC1B,CAAC,CAAC;YACH,SAAS;QACb,CAAC;QAED,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YACrD,WAAW,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EACH,WAAW,MAAM,CAAC,SAAS,KAAK,WAAW,KAAK,IAAI,CAAC,YAAY,wBAAwB;sBACvF,gEAAgE;gBACtE,MAAM,EAAE,IAAI,CAAC,YAAY;gBACzB,MAAM,EAAE,MAAM,CAAC,SAAS;gBACxB,IAAI,EAAE,MAAM,CAAC,UAAU;aAC1B,CAAC,CAAC;QACP,CAAC;QAED,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAM,eAAe,GAAG,MAAM,CAAC,mBAAmB,CAAC;YACnD,IAAI,CAAC,eAAe,EAAE,CAAC;gBACnB,WAAW,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,4BAA4B;oBAClC,OAAO,EACH,WAAW,MAAM,CAAC,SAAS,8DAA8D;0BACvF,wDAAwD;oBAC9D,MAAM,EAAE,IAAI,CAAC,YAAY;oBACzB,MAAM,EAAE,MAAM,CAAC,SAAS;oBACxB,IAAI,EAAE,MAAM,CAAC,UAAU;iBAC1B,CAAC,CAAC;gBACH,SAAS;YACb,CAAC;YACD,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,WAAW,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,qBAAqB;oBAC3B,OAAO,EACH,WAAW,MAAM,CAAC,SAAS,cAAc,IAAI,CAAC,YAAY,UAAU,eAAe,KAAK;0BACtF,wCAAwC;oBAC9C,MAAM,EAAE,IAAI,CAAC,YAAY;oBACzB,MAAM,EAAE,MAAM,CAAC,SAAS;oBACxB,IAAI,EAAE,MAAM,CAAC,UAAU;iBAC1B,CAAC,CAAC;gBACH,SAAS;YACb,CAAC;YACD,IAAI,CAAC,cAAc,GAAG,eAAe,CAAC;YACtC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC;QACjD,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,MAAM,CAAC,gBAAgB;YAAE,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAC9E,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,MAAM,CAAC,aAAa;YAAE,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QACpE,IAAI,MAAM,CAAC,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QACxD,IAAI,MAAM,CAAC,iBAAiB;YAAE,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;IACpF,CAAC;IAED,2EAA2E;IAC3E,yCAAyC;IACzC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAC5B,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAC3F,CAAC;IAEF,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IAE/F,MAAM,iBAAiB,GAAyB,EAAE,CAAC;IACnD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,WAAW,KAAK,UAAU;YAAE,SAAS;QAC9C,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;YAAE,SAAS;QAC1F,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,EAAE,UAAU;YAAE,SAAS;QACrC,iBAAiB,CAAC,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;AACrD,CAAC"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * The one conversion between how a name is WRITTEN in SysML source and how it
3
+ * is KEYED in the built model.
4
+ *
5
+ * SysML v2 cases the two halves of a model differently, and MEMO follows it:
6
+ *
7
+ * - definitions are PascalCase — `Composes`, `Mitigates`, `DataPort`
8
+ * - usages and features are lowerCamelCase — `fuelTankPort`, `takePicture`
9
+ * - keywords are lowercase — `flow`, `bind`, `connect`
10
+ *
11
+ * A `MemoRelationship.type` is a model KEY, not a definition name, so it is
12
+ * lowerCamelCase throughout: `connection : Composes ...` builds an edge of type
13
+ * `composes`, and a native `flow` builds one of type `flow`. A view that selects
14
+ * relationships names them the way SOURCE spells them — `("Composes", "flow")` —
15
+ * so every consumer has to normalize before it can match.
16
+ *
17
+ * That conversion used to be open-coded in seven places across two repos, in
18
+ * three mutually incompatible ways: decapitalize-the-first-character, full
19
+ * `.toLowerCase()`, and verbatim-no-normalization. `flow` and `bind` survive all
20
+ * three by accident, being lowercase already; `Composes` survives two of the
21
+ * three; anything reaching the verbatim path never matches at all. A filter that
22
+ * silently matches nothing looks exactly like a filter with nothing to match,
23
+ * which is why this stayed invisible.
24
+ *
25
+ * Use these helpers. Do not re-derive the rule at the call site.
26
+ */
27
+ /**
28
+ * A definition name as written in source → the key the model stores.
29
+ *
30
+ * `Composes` → `composes`, `DerivesFrom` → `derivesFrom`, `flow` → `flow`.
31
+ *
32
+ * Only the first character changes. Lowercasing the whole string would collapse
33
+ * `derivesFrom` onto `derivesfrom` and stop matching the model, and an initialism
34
+ * like `DecisionRecordedInADR` must keep its trailing capitals.
35
+ */
36
+ export declare function toModelType(name: string): string;
37
+ /**
38
+ * A model key → the definition name source would spell it with.
39
+ *
40
+ * `composes` → `Composes`. Not a round-trip for native keywords: `flow` becomes
41
+ * `Flow`, which names no definition. Use it for display of MEMO relationship
42
+ * types, never to reconstruct a reference that has to resolve.
43
+ */
44
+ export declare function toDefinitionName(type: string): string;
45
+ /**
46
+ * Compare a source-spelled relationship kind against a model-stored type.
47
+ *
48
+ * Both sides are normalized, so `"Composes"`, `"composes"`, a native `"flow"`,
49
+ * and a `"bind"` all behave the same way and no caller has to know which kind of
50
+ * name it was handed.
51
+ */
52
+ export declare function matchesRelationshipType(declared: string, modelType: string): boolean;
53
+ /**
54
+ * Normalize a whole selection list once, for repeated membership tests.
55
+ */
56
+ export declare function toModelTypeSet(names: readonly string[]): Set<string>;
57
+ //# sourceMappingURL=naming.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../../src/model/naming.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGhD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAEpF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAEpE"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * The one conversion between how a name is WRITTEN in SysML source and how it
3
+ * is KEYED in the built model.
4
+ *
5
+ * SysML v2 cases the two halves of a model differently, and MEMO follows it:
6
+ *
7
+ * - definitions are PascalCase — `Composes`, `Mitigates`, `DataPort`
8
+ * - usages and features are lowerCamelCase — `fuelTankPort`, `takePicture`
9
+ * - keywords are lowercase — `flow`, `bind`, `connect`
10
+ *
11
+ * A `MemoRelationship.type` is a model KEY, not a definition name, so it is
12
+ * lowerCamelCase throughout: `connection : Composes ...` builds an edge of type
13
+ * `composes`, and a native `flow` builds one of type `flow`. A view that selects
14
+ * relationships names them the way SOURCE spells them — `("Composes", "flow")` —
15
+ * so every consumer has to normalize before it can match.
16
+ *
17
+ * That conversion used to be open-coded in seven places across two repos, in
18
+ * three mutually incompatible ways: decapitalize-the-first-character, full
19
+ * `.toLowerCase()`, and verbatim-no-normalization. `flow` and `bind` survive all
20
+ * three by accident, being lowercase already; `Composes` survives two of the
21
+ * three; anything reaching the verbatim path never matches at all. A filter that
22
+ * silently matches nothing looks exactly like a filter with nothing to match,
23
+ * which is why this stayed invisible.
24
+ *
25
+ * Use these helpers. Do not re-derive the rule at the call site.
26
+ */
27
+ /**
28
+ * A definition name as written in source → the key the model stores.
29
+ *
30
+ * `Composes` → `composes`, `DerivesFrom` → `derivesFrom`, `flow` → `flow`.
31
+ *
32
+ * Only the first character changes. Lowercasing the whole string would collapse
33
+ * `derivesFrom` onto `derivesfrom` and stop matching the model, and an initialism
34
+ * like `DecisionRecordedInADR` must keep its trailing capitals.
35
+ */
36
+ export function toModelType(name) {
37
+ if (!name)
38
+ return name;
39
+ return name.charAt(0).toLowerCase() + name.slice(1);
40
+ }
41
+ /**
42
+ * A model key → the definition name source would spell it with.
43
+ *
44
+ * `composes` → `Composes`. Not a round-trip for native keywords: `flow` becomes
45
+ * `Flow`, which names no definition. Use it for display of MEMO relationship
46
+ * types, never to reconstruct a reference that has to resolve.
47
+ */
48
+ export function toDefinitionName(type) {
49
+ if (!type)
50
+ return type;
51
+ return type.charAt(0).toUpperCase() + type.slice(1);
52
+ }
53
+ /**
54
+ * Compare a source-spelled relationship kind against a model-stored type.
55
+ *
56
+ * Both sides are normalized, so `"Composes"`, `"composes"`, a native `"flow"`,
57
+ * and a `"bind"` all behave the same way and no caller has to know which kind of
58
+ * name it was handed.
59
+ */
60
+ export function matchesRelationshipType(declared, modelType) {
61
+ return toModelType(declared) === toModelType(modelType);
62
+ }
63
+ /**
64
+ * Normalize a whole selection list once, for repeated membership tests.
65
+ */
66
+ export function toModelTypeSet(names) {
67
+ return new Set(names.map(toModelType));
68
+ }
69
+ //# sourceMappingURL=naming.js.map