@memoarchitect/tools 0.13.2 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (824) hide show
  1. package/README.md +40 -26
  2. package/corpus/README.md +20 -36
  3. package/package.json +9 -10
  4. package/packages/tools/lib/analysis/impact.d.ts +30 -0
  5. package/packages/tools/lib/analysis/impact.d.ts.map +1 -1
  6. package/packages/tools/lib/analysis/impact.js +47 -74
  7. package/packages/tools/lib/analysis/impact.js.map +1 -1
  8. package/packages/tools/lib/analysis/interfaces-between.d.ts +36 -0
  9. package/packages/tools/lib/analysis/interfaces-between.d.ts.map +1 -0
  10. package/packages/tools/lib/analysis/interfaces-between.js +66 -0
  11. package/packages/tools/lib/analysis/interfaces-between.js.map +1 -0
  12. package/packages/tools/lib/analysis/suspect-links.d.ts +45 -0
  13. package/packages/tools/lib/analysis/suspect-links.d.ts.map +1 -0
  14. package/packages/tools/lib/analysis/suspect-links.js +66 -0
  15. package/packages/tools/lib/analysis/suspect-links.js.map +1 -0
  16. package/packages/tools/lib/analysis-starters.d.ts +2 -0
  17. package/packages/tools/lib/analysis-starters.d.ts.map +1 -1
  18. package/packages/tools/lib/analysis-starters.js +73 -68
  19. package/packages/tools/lib/analysis-starters.js.map +1 -1
  20. package/packages/tools/lib/authoring/outline-identity.d.ts +34 -0
  21. package/packages/tools/lib/authoring/outline-identity.d.ts.map +1 -0
  22. package/packages/tools/lib/authoring/outline-identity.js +95 -0
  23. package/packages/tools/lib/authoring/outline-identity.js.map +1 -0
  24. package/packages/tools/lib/authoring/outline-source.d.ts +57 -0
  25. package/packages/tools/lib/authoring/outline-source.d.ts.map +1 -0
  26. package/packages/tools/lib/authoring/outline-source.js +203 -0
  27. package/packages/tools/lib/authoring/outline-source.js.map +1 -0
  28. package/packages/tools/lib/authoring/source-outline.d.ts +82 -0
  29. package/packages/tools/lib/authoring/source-outline.d.ts.map +1 -0
  30. package/packages/tools/lib/authoring/source-outline.js +267 -0
  31. package/packages/tools/lib/authoring/source-outline.js.map +1 -0
  32. package/packages/tools/lib/bin/memo.js +181 -632
  33. package/packages/tools/lib/bin/memo.js.map +1 -1
  34. package/packages/tools/lib/browser/index.d.ts +12 -0
  35. package/packages/tools/lib/browser/index.d.ts.map +1 -1
  36. package/packages/tools/lib/browser/index.js +8 -0
  37. package/packages/tools/lib/browser/index.js.map +1 -1
  38. package/packages/tools/lib/cli/project-commands.d.ts +3 -0
  39. package/packages/tools/lib/cli/project-commands.d.ts.map +1 -0
  40. package/packages/tools/lib/cli/project-commands.js +577 -0
  41. package/packages/tools/lib/cli/project-commands.js.map +1 -0
  42. package/packages/tools/lib/commands/ask.d.ts.map +1 -1
  43. package/packages/tools/lib/commands/ask.js +10 -18
  44. package/packages/tools/lib/commands/ask.js.map +1 -1
  45. package/packages/tools/lib/commands/compile.d.ts +18 -0
  46. package/packages/tools/lib/commands/compile.d.ts.map +1 -0
  47. package/packages/tools/lib/commands/compile.js +122 -0
  48. package/packages/tools/lib/commands/compile.js.map +1 -0
  49. package/packages/tools/lib/commands/convert.js +2 -2
  50. package/packages/tools/lib/commands/convert.js.map +1 -1
  51. package/packages/tools/lib/commands/create-package.js +4 -4
  52. package/packages/tools/lib/commands/create-package.js.map +1 -1
  53. package/packages/tools/lib/commands/dev.d.ts +20 -2
  54. package/packages/tools/lib/commands/dev.d.ts.map +1 -1
  55. package/packages/tools/lib/commands/dev.js +386 -97
  56. package/packages/tools/lib/commands/dev.js.map +1 -1
  57. package/packages/tools/lib/commands/dhf-draft.d.ts.map +1 -1
  58. package/packages/tools/lib/commands/dhf-draft.js +7 -16
  59. package/packages/tools/lib/commands/dhf-draft.js.map +1 -1
  60. package/packages/tools/lib/commands/dhf-init.js +3 -3
  61. package/packages/tools/lib/commands/dhf-init.js.map +1 -1
  62. package/packages/tools/lib/commands/dhf-lint.d.ts.map +1 -1
  63. package/packages/tools/lib/commands/dhf-lint.js +4 -3
  64. package/packages/tools/lib/commands/dhf-lint.js.map +1 -1
  65. package/packages/tools/lib/commands/dhf-preview.d.ts.map +1 -1
  66. package/packages/tools/lib/commands/dhf-preview.js +5 -26
  67. package/packages/tools/lib/commands/dhf-preview.js.map +1 -1
  68. package/packages/tools/lib/commands/dhf.d.ts +4 -0
  69. package/packages/tools/lib/commands/dhf.d.ts.map +1 -1
  70. package/packages/tools/lib/commands/dhf.js +77 -31
  71. package/packages/tools/lib/commands/dhf.js.map +1 -1
  72. package/packages/tools/lib/commands/element.d.ts.map +1 -1
  73. package/packages/tools/lib/commands/element.js +44 -6
  74. package/packages/tools/lib/commands/element.js.map +1 -1
  75. package/packages/tools/lib/commands/export.d.ts +1 -1
  76. package/packages/tools/lib/commands/export.d.ts.map +1 -1
  77. package/packages/tools/lib/commands/export.js +25 -18
  78. package/packages/tools/lib/commands/export.js.map +1 -1
  79. package/packages/tools/lib/commands/generate.d.ts.map +1 -1
  80. package/packages/tools/lib/commands/generate.js +10 -30
  81. package/packages/tools/lib/commands/generate.js.map +1 -1
  82. package/packages/tools/lib/commands/ids-rebase.d.ts +15 -0
  83. package/packages/tools/lib/commands/ids-rebase.d.ts.map +1 -0
  84. package/packages/tools/lib/commands/ids-rebase.js +133 -0
  85. package/packages/tools/lib/commands/ids-rebase.js.map +1 -0
  86. package/packages/tools/lib/commands/import-ea.d.ts +3 -3
  87. package/packages/tools/lib/commands/import-ea.d.ts.map +1 -1
  88. package/packages/tools/lib/commands/import-ea.js +12 -9
  89. package/packages/tools/lib/commands/import-ea.js.map +1 -1
  90. package/packages/tools/lib/commands/import-owl.d.ts +1 -1
  91. package/packages/tools/lib/commands/import-owl.js +2 -2
  92. package/packages/tools/lib/commands/import-owl.js.map +1 -1
  93. package/packages/tools/lib/commands/import-sysand.d.ts +1 -1
  94. package/packages/tools/lib/commands/import-sysand.d.ts.map +1 -1
  95. package/packages/tools/lib/commands/import-sysand.js +15 -6
  96. package/packages/tools/lib/commands/import-sysand.js.map +1 -1
  97. package/packages/tools/lib/commands/import.d.ts +13 -0
  98. package/packages/tools/lib/commands/import.d.ts.map +1 -1
  99. package/packages/tools/lib/commands/import.js +89 -29
  100. package/packages/tools/lib/commands/import.js.map +1 -1
  101. package/packages/tools/lib/commands/init.d.ts +0 -8
  102. package/packages/tools/lib/commands/init.d.ts.map +1 -1
  103. package/packages/tools/lib/commands/init.js +56 -51
  104. package/packages/tools/lib/commands/init.js.map +1 -1
  105. package/packages/tools/lib/commands/inspect.d.ts.map +1 -1
  106. package/packages/tools/lib/commands/inspect.js +22 -15
  107. package/packages/tools/lib/commands/inspect.js.map +1 -1
  108. package/packages/tools/lib/commands/install.d.ts.map +1 -1
  109. package/packages/tools/lib/commands/install.js +9 -6
  110. package/packages/tools/lib/commands/install.js.map +1 -1
  111. package/packages/tools/lib/commands/interfaces.d.ts +8 -0
  112. package/packages/tools/lib/commands/interfaces.d.ts.map +1 -0
  113. package/packages/tools/lib/commands/interfaces.js +71 -0
  114. package/packages/tools/lib/commands/interfaces.js.map +1 -0
  115. package/packages/tools/lib/commands/lock.d.ts.map +1 -1
  116. package/packages/tools/lib/commands/lock.js +13 -6
  117. package/packages/tools/lib/commands/lock.js.map +1 -1
  118. package/packages/tools/lib/commands/mcp.js +7 -7
  119. package/packages/tools/lib/commands/mcp.js.map +1 -1
  120. package/packages/tools/lib/commands/migrate-layout.d.ts +5 -0
  121. package/packages/tools/lib/commands/migrate-layout.d.ts.map +1 -0
  122. package/packages/tools/lib/commands/migrate-layout.js +90 -0
  123. package/packages/tools/lib/commands/migrate-layout.js.map +1 -0
  124. package/packages/tools/lib/commands/ontology.d.ts.map +1 -1
  125. package/packages/tools/lib/commands/ontology.js +26 -22
  126. package/packages/tools/lib/commands/ontology.js.map +1 -1
  127. package/packages/tools/lib/commands/pack.d.ts.map +1 -1
  128. package/packages/tools/lib/commands/pack.js +14 -9
  129. package/packages/tools/lib/commands/pack.js.map +1 -1
  130. package/packages/tools/lib/commands/pinned-target.d.ts +12 -0
  131. package/packages/tools/lib/commands/pinned-target.d.ts.map +1 -0
  132. package/packages/tools/lib/commands/pinned-target.js +74 -0
  133. package/packages/tools/lib/commands/pinned-target.js.map +1 -0
  134. package/packages/tools/lib/commands/plugin.d.ts.map +1 -1
  135. package/packages/tools/lib/commands/plugin.js +13 -22
  136. package/packages/tools/lib/commands/plugin.js.map +1 -1
  137. package/packages/tools/lib/commands/prune.d.ts +5 -0
  138. package/packages/tools/lib/commands/prune.d.ts.map +1 -0
  139. package/packages/tools/lib/commands/prune.js +27 -0
  140. package/packages/tools/lib/commands/prune.js.map +1 -0
  141. package/packages/tools/lib/commands/retired.d.ts +10 -0
  142. package/packages/tools/lib/commands/retired.d.ts.map +1 -0
  143. package/packages/tools/lib/commands/retired.js +35 -0
  144. package/packages/tools/lib/commands/retired.js.map +1 -0
  145. package/packages/tools/lib/commands/rules.d.ts +49 -5
  146. package/packages/tools/lib/commands/rules.d.ts.map +1 -1
  147. package/packages/tools/lib/commands/rules.js +340 -172
  148. package/packages/tools/lib/commands/rules.js.map +1 -1
  149. package/packages/tools/lib/commands/ship-library.d.ts +4 -0
  150. package/packages/tools/lib/commands/ship-library.d.ts.map +1 -0
  151. package/packages/tools/lib/commands/ship-library.js +45 -0
  152. package/packages/tools/lib/commands/ship-library.js.map +1 -0
  153. package/packages/tools/lib/commands/standards.d.ts +2 -2
  154. package/packages/tools/lib/commands/standards.d.ts.map +1 -1
  155. package/packages/tools/lib/commands/standards.js +78 -33
  156. package/packages/tools/lib/commands/standards.js.map +1 -1
  157. package/packages/tools/lib/commands/sysand-publish.d.ts +16 -1
  158. package/packages/tools/lib/commands/sysand-publish.d.ts.map +1 -1
  159. package/packages/tools/lib/commands/sysand-publish.js +75 -193
  160. package/packages/tools/lib/commands/sysand-publish.js.map +1 -1
  161. package/packages/tools/lib/commands/toolchain.d.ts +5 -0
  162. package/packages/tools/lib/commands/toolchain.d.ts.map +1 -1
  163. package/packages/tools/lib/commands/toolchain.js +50 -1
  164. package/packages/tools/lib/commands/toolchain.js.map +1 -1
  165. package/packages/tools/lib/commands/validate-client.d.ts +11 -0
  166. package/packages/tools/lib/commands/validate-client.d.ts.map +1 -0
  167. package/packages/tools/lib/commands/validate-client.js +54 -0
  168. package/packages/tools/lib/commands/validate-client.js.map +1 -0
  169. package/packages/tools/lib/commands/validate.d.ts +33 -2
  170. package/packages/tools/lib/commands/validate.d.ts.map +1 -1
  171. package/packages/tools/lib/commands/validate.js +432 -186
  172. package/packages/tools/lib/commands/validate.js.map +1 -1
  173. package/packages/tools/lib/dhf/device-dhf.d.ts +57 -0
  174. package/packages/tools/lib/dhf/device-dhf.d.ts.map +1 -0
  175. package/packages/tools/lib/dhf/device-dhf.js +152 -0
  176. package/packages/tools/lib/dhf/device-dhf.js.map +1 -0
  177. package/packages/tools/lib/dhf/dhf-config-v2.d.ts +1 -1
  178. package/packages/tools/lib/dhf/dhf-config-v2.d.ts.map +1 -1
  179. package/packages/tools/lib/dhf/query-engine.d.ts +9 -2
  180. package/packages/tools/lib/dhf/query-engine.d.ts.map +1 -1
  181. package/packages/tools/lib/dhf/query-engine.js +29 -25
  182. package/packages/tools/lib/dhf/query-engine.js.map +1 -1
  183. package/packages/tools/lib/dhf/query-executor.d.ts +1 -1
  184. package/packages/tools/lib/dhf/query-executor.js +1 -1
  185. package/packages/tools/lib/dhf/query-executor.js.map +1 -1
  186. package/packages/tools/lib/dhf/standards-block.js +1 -1
  187. package/packages/tools/lib/dhf/standards-block.js.map +1 -1
  188. package/packages/tools/lib/dhf/standards-library.d.ts.map +1 -1
  189. package/packages/tools/lib/dhf/standards-library.js +16 -9
  190. package/packages/tools/lib/dhf/standards-library.js.map +1 -1
  191. package/packages/tools/lib/dhf/standards-report.d.ts +11 -3
  192. package/packages/tools/lib/dhf/standards-report.d.ts.map +1 -1
  193. package/packages/tools/lib/dhf/standards-report.js +43 -13
  194. package/packages/tools/lib/dhf/standards-report.js.map +1 -1
  195. package/packages/tools/lib/dhf/template-engine.d.ts +2 -0
  196. package/packages/tools/lib/dhf/template-engine.d.ts.map +1 -1
  197. package/packages/tools/lib/dhf/template-engine.js +5 -5
  198. package/packages/tools/lib/dhf/template-engine.js.map +1 -1
  199. package/packages/tools/lib/import/import-diff.d.ts +31 -1
  200. package/packages/tools/lib/import/import-diff.d.ts.map +1 -1
  201. package/packages/tools/lib/import/import-diff.js +91 -19
  202. package/packages/tools/lib/import/import-diff.js.map +1 -1
  203. package/packages/tools/lib/import/import-sources.d.ts +21 -0
  204. package/packages/tools/lib/import/import-sources.d.ts.map +1 -0
  205. package/packages/tools/lib/import/import-sources.js +36 -0
  206. package/packages/tools/lib/import/import-sources.js.map +1 -0
  207. package/packages/tools/lib/import/reqif.d.ts +23 -0
  208. package/packages/tools/lib/import/reqif.d.ts.map +1 -0
  209. package/packages/tools/lib/import/reqif.js +151 -0
  210. package/packages/tools/lib/import/reqif.js.map +1 -0
  211. package/packages/tools/lib/import/source-import.d.ts +128 -0
  212. package/packages/tools/lib/import/source-import.d.ts.map +1 -0
  213. package/packages/tools/lib/import/source-import.js +305 -0
  214. package/packages/tools/lib/import/source-import.js.map +1 -0
  215. package/packages/tools/lib/importer/cameo-importer.d.ts.map +1 -1
  216. package/packages/tools/lib/importer/cameo-importer.js +4 -1
  217. package/packages/tools/lib/importer/cameo-importer.js.map +1 -1
  218. package/packages/tools/lib/importer/ea-importer.d.ts.map +1 -1
  219. package/packages/tools/lib/importer/ea-importer.js +4 -1
  220. package/packages/tools/lib/importer/ea-importer.js.map +1 -1
  221. package/packages/tools/lib/importer/sysand-importer.d.ts +2 -1
  222. package/packages/tools/lib/importer/sysand-importer.d.ts.map +1 -1
  223. package/packages/tools/lib/importer/sysand-importer.js +27 -10
  224. package/packages/tools/lib/importer/sysand-importer.js.map +1 -1
  225. package/packages/tools/lib/index.d.ts +20 -6
  226. package/packages/tools/lib/index.d.ts.map +1 -1
  227. package/packages/tools/lib/index.js +22 -8
  228. package/packages/tools/lib/index.js.map +1 -1
  229. package/packages/tools/lib/llm/draft-engine.js +1 -1
  230. package/packages/tools/lib/llm/draft-engine.js.map +1 -1
  231. package/packages/tools/lib/llm/model-context.js +1 -1
  232. package/packages/tools/lib/llm/model-context.js.map +1 -1
  233. package/packages/tools/lib/lock.d.ts +37 -2
  234. package/packages/tools/lib/lock.d.ts.map +1 -1
  235. package/packages/tools/lib/lock.js +93 -8
  236. package/packages/tools/lib/lock.js.map +1 -1
  237. package/packages/tools/lib/mcp/index.js +1 -1
  238. package/packages/tools/lib/mcp/index.js.map +1 -1
  239. package/packages/tools/lib/mcp/model-loader.d.ts.map +1 -1
  240. package/packages/tools/lib/mcp/model-loader.js +6 -18
  241. package/packages/tools/lib/mcp/model-loader.js.map +1 -1
  242. package/packages/tools/lib/mcp/server.js +2 -2
  243. package/packages/tools/lib/mcp/server.js.map +1 -1
  244. package/packages/tools/lib/mcp/tools.d.ts.map +1 -1
  245. package/packages/tools/lib/mcp/tools.js +5 -4
  246. package/packages/tools/lib/mcp/tools.js.map +1 -1
  247. package/packages/tools/lib/methodology/guide-service.d.ts +28 -0
  248. package/packages/tools/lib/methodology/guide-service.d.ts.map +1 -0
  249. package/packages/tools/lib/methodology/guide-service.js +32 -0
  250. package/packages/tools/lib/methodology/guide-service.js.map +1 -0
  251. package/packages/tools/lib/methodology/guide.d.ts +56 -0
  252. package/packages/tools/lib/methodology/guide.d.ts.map +1 -0
  253. package/packages/tools/lib/methodology/guide.js +80 -0
  254. package/packages/tools/lib/methodology/guide.js.map +1 -0
  255. package/packages/tools/lib/model/census-projects.d.ts +26 -0
  256. package/packages/tools/lib/model/census-projects.d.ts.map +1 -0
  257. package/packages/tools/lib/model/census-projects.js +53 -0
  258. package/packages/tools/lib/model/census-projects.js.map +1 -0
  259. package/packages/tools/lib/model/census.d.ts +103 -0
  260. package/packages/tools/lib/model/census.d.ts.map +1 -0
  261. package/packages/tools/lib/model/census.js +229 -0
  262. package/packages/tools/lib/model/census.js.map +1 -0
  263. package/packages/tools/lib/model/complete-model.d.ts +52 -0
  264. package/packages/tools/lib/model/complete-model.d.ts.map +1 -0
  265. package/packages/tools/lib/model/complete-model.js +287 -0
  266. package/packages/tools/lib/model/complete-model.js.map +1 -0
  267. package/packages/tools/lib/model/config-loader.d.ts +8 -3
  268. package/packages/tools/lib/model/config-loader.d.ts.map +1 -1
  269. package/packages/tools/lib/model/config-loader.js +37 -6
  270. package/packages/tools/lib/model/config-loader.js.map +1 -1
  271. package/packages/tools/lib/model/config.d.ts +21 -7
  272. package/packages/tools/lib/model/config.d.ts.map +1 -1
  273. package/packages/tools/lib/model/effective-scope.d.ts +55 -28
  274. package/packages/tools/lib/model/effective-scope.d.ts.map +1 -1
  275. package/packages/tools/lib/model/effective-scope.js +96 -35
  276. package/packages/tools/lib/model/effective-scope.js.map +1 -1
  277. package/packages/tools/lib/model/element-index.d.ts +207 -0
  278. package/packages/tools/lib/model/element-index.d.ts.map +1 -0
  279. package/packages/tools/lib/model/element-index.js +316 -0
  280. package/packages/tools/lib/model/element-index.js.map +1 -0
  281. package/packages/tools/lib/model/id-rebase.d.ts +35 -0
  282. package/packages/tools/lib/model/id-rebase.d.ts.map +1 -0
  283. package/packages/tools/lib/model/id-rebase.js +199 -0
  284. package/packages/tools/lib/model/id-rebase.js.map +1 -0
  285. package/packages/tools/lib/model/identity-registry.d.ts +34 -3
  286. package/packages/tools/lib/model/identity-registry.d.ts.map +1 -1
  287. package/packages/tools/lib/model/identity-registry.js +40 -7
  288. package/packages/tools/lib/model/identity-registry.js.map +1 -1
  289. package/packages/tools/lib/model/impact.d.ts +75 -0
  290. package/packages/tools/lib/model/impact.d.ts.map +1 -0
  291. package/packages/tools/lib/model/impact.js +167 -0
  292. package/packages/tools/lib/model/impact.js.map +1 -0
  293. package/packages/tools/lib/model/ir-identity.d.ts +3 -51
  294. package/packages/tools/lib/model/ir-identity.d.ts.map +1 -1
  295. package/packages/tools/lib/model/ir-identity.js +14 -121
  296. package/packages/tools/lib/model/ir-identity.js.map +1 -1
  297. package/packages/tools/lib/model/kind-registry.d.ts +66 -22
  298. package/packages/tools/lib/model/kind-registry.d.ts.map +1 -1
  299. package/packages/tools/lib/model/kind-registry.js +104 -145
  300. package/packages/tools/lib/model/kind-registry.js.map +1 -1
  301. package/packages/tools/lib/model/manifest.d.ts +2 -2
  302. package/packages/tools/lib/model/manifest.d.ts.map +1 -1
  303. package/packages/tools/lib/model/manifest.js +5 -4
  304. package/packages/tools/lib/model/manifest.js.map +1 -1
  305. package/packages/tools/lib/model/methodology-loader.d.ts +11 -2
  306. package/packages/tools/lib/model/methodology-loader.d.ts.map +1 -1
  307. package/packages/tools/lib/model/methodology-loader.js +24 -130
  308. package/packages/tools/lib/model/methodology-loader.js.map +1 -1
  309. package/packages/tools/lib/model/methodology-resolver.d.ts +71 -6
  310. package/packages/tools/lib/model/methodology-resolver.d.ts.map +1 -1
  311. package/packages/tools/lib/model/methodology-resolver.js +210 -24
  312. package/packages/tools/lib/model/methodology-resolver.js.map +1 -1
  313. package/packages/tools/lib/model/model-diff.d.ts +73 -0
  314. package/packages/tools/lib/model/model-diff.d.ts.map +1 -0
  315. package/packages/tools/lib/model/model-diff.js +91 -0
  316. package/packages/tools/lib/model/model-diff.js.map +1 -0
  317. package/packages/tools/lib/model/narrow-model.d.ts +9 -0
  318. package/packages/tools/lib/model/narrow-model.d.ts.map +1 -0
  319. package/packages/tools/lib/model/narrow-model.js +54 -0
  320. package/packages/tools/lib/model/narrow-model.js.map +1 -0
  321. package/packages/tools/lib/model/native-project.d.ts +92 -11
  322. package/packages/tools/lib/model/native-project.d.ts.map +1 -1
  323. package/packages/tools/lib/model/native-project.js +163 -269
  324. package/packages/tools/lib/model/native-project.js.map +1 -1
  325. package/packages/tools/lib/model/ontology-loader.d.ts +10 -61
  326. package/packages/tools/lib/model/ontology-loader.d.ts.map +1 -1
  327. package/packages/tools/lib/model/ontology-loader.js +11 -512
  328. package/packages/tools/lib/model/ontology-loader.js.map +1 -1
  329. package/packages/tools/lib/model/package-manifest.d.ts +8 -2
  330. package/packages/tools/lib/model/package-manifest.d.ts.map +1 -1
  331. package/packages/tools/lib/model/package-manifest.js +14 -2
  332. package/packages/tools/lib/model/package-manifest.js.map +1 -1
  333. package/packages/tools/lib/model/pinned.d.ts +216 -0
  334. package/packages/tools/lib/model/pinned.d.ts.map +1 -0
  335. package/packages/tools/lib/model/pinned.js +481 -0
  336. package/packages/tools/lib/model/pinned.js.map +1 -0
  337. package/packages/tools/lib/model/project-conversion.d.ts +3 -2
  338. package/packages/tools/lib/model/project-conversion.d.ts.map +1 -1
  339. package/packages/tools/lib/model/project-conversion.js +55 -10
  340. package/packages/tools/lib/model/project-conversion.js.map +1 -1
  341. package/packages/tools/lib/model/project-settings.d.ts +10 -0
  342. package/packages/tools/lib/model/project-settings.d.ts.map +1 -0
  343. package/packages/tools/lib/model/project-settings.js +48 -0
  344. package/packages/tools/lib/model/project-settings.js.map +1 -0
  345. package/packages/tools/lib/model/relation-selection.d.ts +25 -0
  346. package/packages/tools/lib/model/relation-selection.d.ts.map +1 -0
  347. package/packages/tools/lib/model/relation-selection.js +65 -0
  348. package/packages/tools/lib/model/relation-selection.js.map +1 -0
  349. package/packages/tools/lib/model/relationship-legality.d.ts +6 -0
  350. package/packages/tools/lib/model/relationship-legality.d.ts.map +1 -1
  351. package/packages/tools/lib/model/relationship-legality.js.map +1 -1
  352. package/packages/tools/lib/model/relationship-registry.d.ts +21 -8
  353. package/packages/tools/lib/model/relationship-registry.d.ts.map +1 -1
  354. package/packages/tools/lib/model/relationship-registry.js +77 -129
  355. package/packages/tools/lib/model/relationship-registry.js.map +1 -1
  356. package/packages/tools/lib/model/relationship-subjects.d.ts +28 -0
  357. package/packages/tools/lib/model/relationship-subjects.d.ts.map +1 -0
  358. package/packages/tools/lib/model/relationship-subjects.js +126 -0
  359. package/packages/tools/lib/model/relationship-subjects.js.map +1 -0
  360. package/packages/tools/lib/model/release-target.d.ts +12 -0
  361. package/packages/tools/lib/model/release-target.d.ts.map +1 -0
  362. package/packages/tools/lib/model/release-target.js +35 -0
  363. package/packages/tools/lib/model/release-target.js.map +1 -0
  364. package/packages/tools/lib/model/selector-vocabulary.d.ts +47 -0
  365. package/packages/tools/lib/model/selector-vocabulary.d.ts.map +1 -0
  366. package/packages/tools/lib/model/selector-vocabulary.js +181 -0
  367. package/packages/tools/lib/model/selector-vocabulary.js.map +1 -0
  368. package/packages/tools/lib/model/semantic.d.ts +99 -7
  369. package/packages/tools/lib/model/semantic.d.ts.map +1 -1
  370. package/packages/tools/lib/model/semantic.js +13 -1
  371. package/packages/tools/lib/model/semantic.js.map +1 -1
  372. package/packages/tools/lib/model/settings-boundary.d.ts.map +1 -1
  373. package/packages/tools/lib/model/settings-boundary.js +9 -8
  374. package/packages/tools/lib/model/settings-boundary.js.map +1 -1
  375. package/packages/tools/lib/model/short-id.d.ts.map +1 -1
  376. package/packages/tools/lib/model/short-id.js +4 -0
  377. package/packages/tools/lib/model/short-id.js.map +1 -1
  378. package/packages/tools/lib/model/source-graph.d.ts +9 -7
  379. package/packages/tools/lib/model/source-graph.d.ts.map +1 -1
  380. package/packages/tools/lib/model/source-graph.js +19 -24
  381. package/packages/tools/lib/model/source-graph.js.map +1 -1
  382. package/packages/tools/lib/model/source-provenance.d.ts +5 -1
  383. package/packages/tools/lib/model/source-provenance.d.ts.map +1 -1
  384. package/packages/tools/lib/model/source-provenance.js.map +1 -1
  385. package/packages/tools/lib/model/sysml-files.js +1 -1
  386. package/packages/tools/lib/model/sysml-ir.d.ts +2 -5
  387. package/packages/tools/lib/model/sysml-ir.d.ts.map +1 -1
  388. package/packages/tools/lib/model/sysml-ir.js +1 -100
  389. package/packages/tools/lib/model/sysml-ir.js.map +1 -1
  390. package/packages/tools/lib/model/toolchain-merge.d.ts +4 -0
  391. package/packages/tools/lib/model/toolchain-merge.d.ts.map +1 -0
  392. package/packages/tools/lib/model/toolchain-merge.js +34 -0
  393. package/packages/tools/lib/model/toolchain-merge.js.map +1 -0
  394. package/packages/tools/lib/model/user-settings.d.ts +13 -0
  395. package/packages/tools/lib/model/user-settings.d.ts.map +1 -0
  396. package/packages/tools/lib/model/user-settings.js +83 -0
  397. package/packages/tools/lib/model/user-settings.js.map +1 -0
  398. package/packages/tools/lib/model/variability.d.ts +56 -0
  399. package/packages/tools/lib/model/variability.d.ts.map +1 -0
  400. package/packages/tools/lib/model/variability.js +116 -0
  401. package/packages/tools/lib/model/variability.js.map +1 -0
  402. package/packages/tools/lib/model/version-range.d.ts +2 -0
  403. package/packages/tools/lib/model/version-range.d.ts.map +1 -0
  404. package/packages/tools/lib/model/version-range.js +37 -0
  405. package/packages/tools/lib/model/version-range.js.map +1 -0
  406. package/packages/tools/lib/model/view-deriver.d.ts +16 -0
  407. package/packages/tools/lib/model/view-deriver.d.ts.map +1 -1
  408. package/packages/tools/lib/model/view-deriver.js +100 -26
  409. package/packages/tools/lib/model/view-deriver.js.map +1 -1
  410. package/packages/tools/lib/model/view-layout-block.d.ts +81 -0
  411. package/packages/tools/lib/model/view-layout-block.d.ts.map +1 -0
  412. package/packages/tools/lib/model/view-layout-block.js +525 -0
  413. package/packages/tools/lib/model/view-layout-block.js.map +1 -0
  414. package/packages/tools/lib/model/view-layout-migration.d.ts +54 -0
  415. package/packages/tools/lib/model/view-layout-migration.d.ts.map +1 -0
  416. package/packages/tools/lib/model/view-layout-migration.js +156 -0
  417. package/packages/tools/lib/model/view-layout-migration.js.map +1 -0
  418. package/packages/tools/lib/model/workspace-membership.d.ts +99 -0
  419. package/packages/tools/lib/model/workspace-membership.d.ts.map +1 -0
  420. package/packages/tools/lib/model/workspace-membership.js +281 -0
  421. package/packages/tools/lib/model/workspace-membership.js.map +1 -0
  422. package/packages/tools/lib/ontology/owl-exporter.d.ts +1 -1
  423. package/packages/tools/lib/ontology/owl-exporter.d.ts.map +1 -1
  424. package/packages/tools/lib/ontology/owl-exporter.js +1 -1
  425. package/packages/tools/lib/ontology/owl-exporter.js.map +1 -1
  426. package/packages/tools/lib/operations/ai-authoring.d.ts.map +1 -1
  427. package/packages/tools/lib/operations/ai-authoring.js +7 -5
  428. package/packages/tools/lib/operations/ai-authoring.js.map +1 -1
  429. package/packages/tools/lib/operations/authoring.d.ts +10 -4
  430. package/packages/tools/lib/operations/authoring.d.ts.map +1 -1
  431. package/packages/tools/lib/operations/authoring.js +27 -11
  432. package/packages/tools/lib/operations/authoring.js.map +1 -1
  433. package/packages/tools/lib/operations/index.d.ts +2 -0
  434. package/packages/tools/lib/operations/index.d.ts.map +1 -1
  435. package/packages/tools/lib/operations/index.js +1 -0
  436. package/packages/tools/lib/operations/index.js.map +1 -1
  437. package/packages/tools/lib/operations/project-snapshot.d.ts.map +1 -1
  438. package/packages/tools/lib/operations/project-snapshot.js +7 -13
  439. package/packages/tools/lib/operations/project-snapshot.js.map +1 -1
  440. package/packages/tools/lib/plugin/plugin-scaffold.js +2 -2
  441. package/packages/tools/lib/plugin/plugin-scaffold.js.map +1 -1
  442. package/packages/tools/lib/protocol/messages.d.ts +375 -7
  443. package/packages/tools/lib/protocol/messages.d.ts.map +1 -1
  444. package/packages/tools/lib/serializer/csv-io.d.ts +37 -29
  445. package/packages/tools/lib/serializer/csv-io.d.ts.map +1 -1
  446. package/packages/tools/lib/serializer/csv-io.js +64 -31
  447. package/packages/tools/lib/serializer/csv-io.js.map +1 -1
  448. package/packages/tools/lib/serializer/sysml-generator.d.ts +15 -2
  449. package/packages/tools/lib/serializer/sysml-generator.d.ts.map +1 -1
  450. package/packages/tools/lib/serializer/sysml-generator.js +45 -17
  451. package/packages/tools/lib/serializer/sysml-generator.js.map +1 -1
  452. package/packages/tools/lib/server/conflict-policy.js +1 -1
  453. package/packages/tools/lib/server/conflict-policy.js.map +1 -1
  454. package/packages/tools/lib/server/dashboard-store.d.ts +1 -7
  455. package/packages/tools/lib/server/dashboard-store.d.ts.map +1 -1
  456. package/packages/tools/lib/server/dashboard-store.js +3 -14
  457. package/packages/tools/lib/server/dashboard-store.js.map +1 -1
  458. package/packages/tools/lib/server/dev-server.d.ts +48 -1
  459. package/packages/tools/lib/server/dev-server.d.ts.map +1 -1
  460. package/packages/tools/lib/server/dev-server.js +529 -80
  461. package/packages/tools/lib/server/dev-server.js.map +1 -1
  462. package/packages/tools/lib/server/dev-validate.d.ts +30 -0
  463. package/packages/tools/lib/server/dev-validate.d.ts.map +1 -0
  464. package/packages/tools/lib/server/dev-validate.js +82 -0
  465. package/packages/tools/lib/server/dev-validate.js.map +1 -0
  466. package/packages/tools/lib/server/element-writer.d.ts +4 -1
  467. package/packages/tools/lib/server/element-writer.d.ts.map +1 -1
  468. package/packages/tools/lib/server/element-writer.js +56 -35
  469. package/packages/tools/lib/server/element-writer.js.map +1 -1
  470. package/packages/tools/lib/server/mutation-domain.d.ts +10 -0
  471. package/packages/tools/lib/server/mutation-domain.d.ts.map +1 -1
  472. package/packages/tools/lib/server/mutation-domain.js +45 -8
  473. package/packages/tools/lib/server/mutation-domain.js.map +1 -1
  474. package/packages/tools/lib/server/package-source.d.ts +13 -3
  475. package/packages/tools/lib/server/package-source.d.ts.map +1 -1
  476. package/packages/tools/lib/server/package-source.js +31 -39
  477. package/packages/tools/lib/server/package-source.js.map +1 -1
  478. package/packages/tools/lib/server/package-writer.d.ts +19 -6
  479. package/packages/tools/lib/server/package-writer.d.ts.map +1 -1
  480. package/packages/tools/lib/server/package-writer.js +90 -39
  481. package/packages/tools/lib/server/package-writer.js.map +1 -1
  482. package/packages/tools/lib/server/persistor.d.ts +33 -7
  483. package/packages/tools/lib/server/persistor.d.ts.map +1 -1
  484. package/packages/tools/lib/server/persistor.js +63 -48
  485. package/packages/tools/lib/server/persistor.js.map +1 -1
  486. package/packages/tools/lib/server/project-gitignore.d.ts +9 -0
  487. package/packages/tools/lib/server/project-gitignore.d.ts.map +1 -0
  488. package/packages/tools/lib/server/project-gitignore.js +27 -0
  489. package/packages/tools/lib/server/project-gitignore.js.map +1 -0
  490. package/packages/tools/lib/server/relationship-writer.d.ts +31 -2
  491. package/packages/tools/lib/server/relationship-writer.d.ts.map +1 -1
  492. package/packages/tools/lib/server/relationship-writer.js +255 -95
  493. package/packages/tools/lib/server/relationship-writer.js.map +1 -1
  494. package/packages/tools/lib/server/release-writer.d.ts +46 -0
  495. package/packages/tools/lib/server/release-writer.d.ts.map +1 -0
  496. package/packages/tools/lib/server/release-writer.js +133 -0
  497. package/packages/tools/lib/server/release-writer.js.map +1 -0
  498. package/packages/tools/lib/server/rule-policy-writer.d.ts +17 -4
  499. package/packages/tools/lib/server/rule-policy-writer.d.ts.map +1 -1
  500. package/packages/tools/lib/server/rule-policy-writer.js +92 -7
  501. package/packages/tools/lib/server/rule-policy-writer.js.map +1 -1
  502. package/packages/tools/lib/server/rule-service.d.ts +50 -0
  503. package/packages/tools/lib/server/rule-service.d.ts.map +1 -0
  504. package/packages/tools/lib/server/rule-service.js +89 -0
  505. package/packages/tools/lib/server/rule-service.js.map +1 -0
  506. package/packages/tools/lib/server/rule-writer.d.ts +87 -0
  507. package/packages/tools/lib/server/rule-writer.d.ts.map +1 -0
  508. package/packages/tools/lib/server/rule-writer.js +165 -0
  509. package/packages/tools/lib/server/rule-writer.js.map +1 -0
  510. package/packages/tools/lib/server/suspect-review.d.ts +11 -0
  511. package/packages/tools/lib/server/suspect-review.d.ts.map +1 -0
  512. package/packages/tools/lib/server/suspect-review.js +28 -0
  513. package/packages/tools/lib/server/suspect-review.js.map +1 -0
  514. package/packages/tools/lib/server/sysml-notation.d.ts +1 -1
  515. package/packages/tools/lib/server/sysml-notation.d.ts.map +1 -1
  516. package/packages/tools/lib/server/sysml-notation.js +5 -0
  517. package/packages/tools/lib/server/sysml-notation.js.map +1 -1
  518. package/packages/tools/lib/server/user-preferences.d.ts +8 -0
  519. package/packages/tools/lib/server/user-preferences.d.ts.map +1 -0
  520. package/packages/tools/lib/server/user-preferences.js +47 -0
  521. package/packages/tools/lib/server/user-preferences.js.map +1 -0
  522. package/packages/tools/lib/server/version-servers.d.ts +60 -0
  523. package/packages/tools/lib/server/version-servers.d.ts.map +1 -0
  524. package/packages/tools/lib/server/version-servers.js +106 -0
  525. package/packages/tools/lib/server/version-servers.js.map +1 -0
  526. package/packages/tools/lib/server/view-layout-store.d.ts +28 -13
  527. package/packages/tools/lib/server/view-layout-store.d.ts.map +1 -1
  528. package/packages/tools/lib/server/view-layout-store.js +106 -106
  529. package/packages/tools/lib/server/view-layout-store.js.map +1 -1
  530. package/packages/tools/lib/server/view-writer.d.ts +22 -2
  531. package/packages/tools/lib/server/view-writer.d.ts.map +1 -1
  532. package/packages/tools/lib/server/view-writer.js +99 -44
  533. package/packages/tools/lib/server/view-writer.js.map +1 -1
  534. package/packages/tools/lib/server/write-guard.d.ts +7 -0
  535. package/packages/tools/lib/server/write-guard.d.ts.map +1 -0
  536. package/packages/tools/lib/server/write-guard.js +77 -0
  537. package/packages/tools/lib/server/write-guard.js.map +1 -0
  538. package/packages/tools/lib/stage2/api-model.d.ts +160 -0
  539. package/packages/tools/lib/stage2/api-model.d.ts.map +1 -0
  540. package/packages/tools/lib/stage2/api-model.js +341 -0
  541. package/packages/tools/lib/stage2/api-model.js.map +1 -0
  542. package/packages/tools/lib/stage2/build-from-api.d.ts +47 -0
  543. package/packages/tools/lib/stage2/build-from-api.d.ts.map +1 -0
  544. package/packages/tools/lib/stage2/build-from-api.js +1462 -0
  545. package/packages/tools/lib/stage2/build-from-api.js.map +1 -0
  546. package/packages/tools/lib/stage2/guide-from-api.d.ts +38 -0
  547. package/packages/tools/lib/stage2/guide-from-api.d.ts.map +1 -0
  548. package/packages/tools/lib/stage2/guide-from-api.js +97 -0
  549. package/packages/tools/lib/stage2/guide-from-api.js.map +1 -0
  550. package/packages/tools/lib/stage2/handoff-files.d.ts +13 -0
  551. package/packages/tools/lib/stage2/handoff-files.d.ts.map +1 -0
  552. package/packages/tools/lib/stage2/handoff-files.js +32 -0
  553. package/packages/tools/lib/stage2/handoff-files.js.map +1 -0
  554. package/packages/tools/lib/stage2/methodology-from-api.d.ts +10 -0
  555. package/packages/tools/lib/stage2/methodology-from-api.d.ts.map +1 -0
  556. package/packages/tools/lib/stage2/methodology-from-api.js +109 -0
  557. package/packages/tools/lib/stage2/methodology-from-api.js.map +1 -0
  558. package/packages/tools/lib/stage2/package-metadata-from-api.d.ts +15 -0
  559. package/packages/tools/lib/stage2/package-metadata-from-api.d.ts.map +1 -0
  560. package/packages/tools/lib/stage2/package-metadata-from-api.js +238 -0
  561. package/packages/tools/lib/stage2/package-metadata-from-api.js.map +1 -0
  562. package/packages/tools/lib/stage2/project-from-api.d.ts +60 -0
  563. package/packages/tools/lib/stage2/project-from-api.d.ts.map +1 -0
  564. package/packages/tools/lib/stage2/project-from-api.js +328 -0
  565. package/packages/tools/lib/stage2/project-from-api.js.map +1 -0
  566. package/packages/tools/lib/stage2/registries-from-api.d.ts +68 -0
  567. package/packages/tools/lib/stage2/registries-from-api.d.ts.map +1 -0
  568. package/packages/tools/lib/stage2/registries-from-api.js +313 -0
  569. package/packages/tools/lib/stage2/registries-from-api.js.map +1 -0
  570. package/packages/tools/lib/stage2/stage2-from-handoff.d.ts +26 -0
  571. package/packages/tools/lib/stage2/stage2-from-handoff.d.ts.map +1 -0
  572. package/packages/tools/lib/stage2/stage2-from-handoff.js +34 -0
  573. package/packages/tools/lib/stage2/stage2-from-handoff.js.map +1 -0
  574. package/packages/tools/lib/stage2/sysml-names.d.ts +9 -0
  575. package/packages/tools/lib/stage2/sysml-names.d.ts.map +1 -0
  576. package/packages/tools/lib/stage2/sysml-names.js +39 -0
  577. package/packages/tools/lib/stage2/sysml-names.js.map +1 -0
  578. package/packages/tools/lib/toolchain/default-registry.d.ts +2 -2
  579. package/packages/tools/lib/toolchain/default-registry.d.ts.map +1 -1
  580. package/packages/tools/lib/toolchain/default-registry.js +9 -5
  581. package/packages/tools/lib/toolchain/default-registry.js.map +1 -1
  582. package/packages/tools/lib/toolchain/diagnostic.d.ts +2 -2
  583. package/packages/tools/lib/toolchain/diagnostic.js +1 -1
  584. package/packages/tools/lib/toolchain/diagnostic.js.map +1 -1
  585. package/packages/tools/lib/toolchain/effective.d.ts +25 -17
  586. package/packages/tools/lib/toolchain/effective.d.ts.map +1 -1
  587. package/packages/tools/lib/toolchain/effective.js +45 -40
  588. package/packages/tools/lib/toolchain/effective.js.map +1 -1
  589. package/packages/tools/lib/toolchain/exceptions.d.ts +27 -0
  590. package/packages/tools/lib/toolchain/exceptions.d.ts.map +1 -0
  591. package/packages/tools/lib/toolchain/exceptions.js +77 -0
  592. package/packages/tools/lib/toolchain/exceptions.js.map +1 -0
  593. package/packages/tools/lib/toolchain/index.d.ts +2 -2
  594. package/packages/tools/lib/toolchain/index.d.ts.map +1 -1
  595. package/packages/tools/lib/toolchain/index.js +2 -2
  596. package/packages/tools/lib/toolchain/index.js.map +1 -1
  597. package/packages/tools/lib/toolchain/operations.d.ts +45 -10
  598. package/packages/tools/lib/toolchain/operations.d.ts.map +1 -1
  599. package/packages/tools/lib/toolchain/operations.js +107 -8
  600. package/packages/tools/lib/toolchain/operations.js.map +1 -1
  601. package/packages/tools/lib/toolchain/ownership.d.ts +13 -0
  602. package/packages/tools/lib/toolchain/ownership.d.ts.map +1 -0
  603. package/packages/tools/lib/toolchain/ownership.js +57 -0
  604. package/packages/tools/lib/toolchain/ownership.js.map +1 -0
  605. package/packages/tools/lib/toolchain/process.d.ts +2 -2
  606. package/packages/tools/lib/toolchain/process.js +2 -2
  607. package/packages/tools/lib/toolchain/project-config.d.ts +4 -0
  608. package/packages/tools/lib/toolchain/project-config.d.ts.map +1 -0
  609. package/packages/tools/lib/toolchain/project-config.js +13 -0
  610. package/packages/tools/lib/toolchain/project-config.js.map +1 -0
  611. package/packages/tools/lib/toolchain/project-model.d.ts +75 -0
  612. package/packages/tools/lib/toolchain/project-model.d.ts.map +1 -0
  613. package/packages/tools/lib/toolchain/project-model.js +92 -0
  614. package/packages/tools/lib/toolchain/project-model.js.map +1 -0
  615. package/packages/tools/lib/toolchain/providers/internal-package.d.ts +6 -0
  616. package/packages/tools/lib/toolchain/providers/internal-package.d.ts.map +1 -0
  617. package/packages/tools/lib/toolchain/providers/internal-package.js +47 -0
  618. package/packages/tools/lib/toolchain/providers/internal-package.js.map +1 -0
  619. package/packages/tools/lib/toolchain/providers/opensysml-check.d.ts +20 -0
  620. package/packages/tools/lib/toolchain/providers/opensysml-check.d.ts.map +1 -0
  621. package/packages/tools/lib/toolchain/providers/opensysml-check.js +95 -0
  622. package/packages/tools/lib/toolchain/providers/opensysml-check.js.map +1 -0
  623. package/packages/tools/lib/toolchain/providers/opensysml-compact.d.ts +17 -0
  624. package/packages/tools/lib/toolchain/providers/opensysml-compact.d.ts.map +1 -0
  625. package/packages/tools/lib/toolchain/providers/opensysml-compact.js +69 -0
  626. package/packages/tools/lib/toolchain/providers/opensysml-compact.js.map +1 -0
  627. package/packages/tools/lib/toolchain/providers/opensysml-lowering.d.ts +50 -0
  628. package/packages/tools/lib/toolchain/providers/opensysml-lowering.d.ts.map +1 -0
  629. package/packages/tools/lib/toolchain/providers/opensysml-lowering.js +646 -0
  630. package/packages/tools/lib/toolchain/providers/opensysml-lowering.js.map +1 -0
  631. package/packages/tools/lib/toolchain/providers/opensysml-names.d.ts +16 -0
  632. package/packages/tools/lib/toolchain/providers/opensysml-names.d.ts.map +1 -0
  633. package/packages/tools/lib/toolchain/providers/opensysml-names.js +37 -0
  634. package/packages/tools/lib/toolchain/providers/opensysml-names.js.map +1 -0
  635. package/packages/tools/lib/toolchain/providers/opensysml.d.ts +88 -0
  636. package/packages/tools/lib/toolchain/providers/opensysml.d.ts.map +1 -0
  637. package/packages/tools/lib/toolchain/providers/opensysml.js +178 -0
  638. package/packages/tools/lib/toolchain/providers/opensysml.js.map +1 -0
  639. package/packages/tools/lib/toolchain/providers/recommended.d.ts +2 -0
  640. package/packages/tools/lib/toolchain/providers/recommended.d.ts.map +1 -0
  641. package/packages/tools/lib/toolchain/providers/recommended.js +13 -0
  642. package/packages/tools/lib/toolchain/providers/recommended.js.map +1 -0
  643. package/packages/tools/lib/toolchain/providers/sysand-project.d.ts +60 -0
  644. package/packages/tools/lib/toolchain/providers/sysand-project.d.ts.map +1 -0
  645. package/packages/tools/lib/toolchain/providers/sysand-project.js +160 -0
  646. package/packages/tools/lib/toolchain/providers/sysand-project.js.map +1 -0
  647. package/packages/tools/lib/toolchain/providers/sysand.d.ts.map +1 -1
  648. package/packages/tools/lib/toolchain/providers/sysand.js +26 -2
  649. package/packages/tools/lib/toolchain/providers/sysand.js.map +1 -1
  650. package/packages/tools/lib/toolchain/providers/syside-lowering.d.ts +29 -0
  651. package/packages/tools/lib/toolchain/providers/syside-lowering.d.ts.map +1 -0
  652. package/packages/tools/lib/toolchain/providers/syside-lowering.js +497 -0
  653. package/packages/tools/lib/toolchain/providers/syside-lowering.js.map +1 -0
  654. package/packages/tools/lib/toolchain/providers/syside-python.d.ts +9 -0
  655. package/packages/tools/lib/toolchain/providers/syside-python.d.ts.map +1 -0
  656. package/packages/tools/lib/toolchain/providers/syside-python.js +69 -0
  657. package/packages/tools/lib/toolchain/providers/syside-python.js.map +1 -0
  658. package/packages/tools/lib/toolchain/providers/syside.d.ts.map +1 -1
  659. package/packages/tools/lib/toolchain/providers/syside.js +2 -0
  660. package/packages/tools/lib/toolchain/providers/syside.js.map +1 -1
  661. package/packages/tools/lib/toolchain/registry.d.ts +118 -21
  662. package/packages/tools/lib/toolchain/registry.d.ts.map +1 -1
  663. package/packages/tools/lib/toolchain/registry.js +18 -24
  664. package/packages/tools/lib/toolchain/registry.js.map +1 -1
  665. package/packages/tools/lib/toolchain/schema.d.ts +6 -5
  666. package/packages/tools/lib/toolchain/schema.d.ts.map +1 -1
  667. package/packages/tools/lib/toolchain/schema.js +8 -13
  668. package/packages/tools/lib/toolchain/schema.js.map +1 -1
  669. package/packages/tools/lib/toolchain/shipped-library.d.ts +28 -0
  670. package/packages/tools/lib/toolchain/shipped-library.d.ts.map +1 -0
  671. package/packages/tools/lib/toolchain/shipped-library.js +120 -0
  672. package/packages/tools/lib/toolchain/shipped-library.js.map +1 -0
  673. package/packages/tools/lib/toolchain/source-fingerprint.d.ts +2 -0
  674. package/packages/tools/lib/toolchain/source-fingerprint.d.ts.map +1 -0
  675. package/packages/tools/lib/toolchain/source-fingerprint.js +30 -0
  676. package/packages/tools/lib/toolchain/source-fingerprint.js.map +1 -0
  677. package/packages/tools/lib/toolchain/user-settings-status.d.ts +51 -0
  678. package/packages/tools/lib/toolchain/user-settings-status.d.ts.map +1 -0
  679. package/packages/tools/lib/toolchain/user-settings-status.js +104 -0
  680. package/packages/tools/lib/toolchain/user-settings-status.js.map +1 -0
  681. package/packages/tools/lib/validator/architecture-validator.d.ts.map +1 -1
  682. package/packages/tools/lib/validator/architecture-validator.js +2 -1
  683. package/packages/tools/lib/validator/architecture-validator.js.map +1 -1
  684. package/packages/tools/lib/validator/behavior-validator.js +1 -1
  685. package/packages/tools/lib/validator/behavior-validator.js.map +1 -1
  686. package/packages/tools/lib/validator/builtin-rules.js +1 -1
  687. package/packages/tools/lib/validator/builtin-rules.js.map +1 -1
  688. package/packages/tools/lib/validator/constraint-eval.d.ts +30 -4
  689. package/packages/tools/lib/validator/constraint-eval.d.ts.map +1 -1
  690. package/packages/tools/lib/validator/constraint-eval.js +101 -59
  691. package/packages/tools/lib/validator/constraint-eval.js.map +1 -1
  692. package/packages/tools/lib/validator/constraint-loader-api.d.ts +22 -0
  693. package/packages/tools/lib/validator/constraint-loader-api.d.ts.map +1 -0
  694. package/packages/tools/lib/validator/constraint-loader-api.js +160 -0
  695. package/packages/tools/lib/validator/constraint-loader-api.js.map +1 -0
  696. package/packages/tools/lib/validator/constraint-loader.d.ts +22 -18
  697. package/packages/tools/lib/validator/constraint-loader.d.ts.map +1 -1
  698. package/packages/tools/lib/validator/constraint-loader.js +33 -141
  699. package/packages/tools/lib/validator/constraint-loader.js.map +1 -1
  700. package/packages/tools/lib/validator/rule-clauses.d.ts +51 -0
  701. package/packages/tools/lib/validator/rule-clauses.d.ts.map +1 -0
  702. package/packages/tools/lib/validator/rule-clauses.js +87 -0
  703. package/packages/tools/lib/validator/rule-clauses.js.map +1 -0
  704. package/packages/tools/lib/validator/rule-engine.d.ts +9 -1
  705. package/packages/tools/lib/validator/rule-engine.d.ts.map +1 -1
  706. package/packages/tools/lib/validator/rule-engine.js +50 -6
  707. package/packages/tools/lib/validator/rule-engine.js.map +1 -1
  708. package/packages/tools/lib/validator/rule-registry.d.ts +4 -8
  709. package/packages/tools/lib/validator/rule-registry.d.ts.map +1 -1
  710. package/packages/tools/lib/validator/rule-registry.js +42 -79
  711. package/packages/tools/lib/validator/rule-registry.js.map +1 -1
  712. package/packages/tools/lib/validator/rule-tailoring.d.ts +62 -0
  713. package/packages/tools/lib/validator/rule-tailoring.d.ts.map +1 -0
  714. package/packages/tools/lib/validator/rule-tailoring.js +85 -0
  715. package/packages/tools/lib/validator/rule-tailoring.js.map +1 -0
  716. package/packages/tools/lib/validator/types.d.ts +12 -1
  717. package/packages/tools/lib/validator/types.d.ts.map +1 -1
  718. package/packages/tools/lib/validator/workspace-boundary-validator.d.ts +9 -0
  719. package/packages/tools/lib/validator/workspace-boundary-validator.d.ts.map +1 -0
  720. package/packages/tools/lib/validator/workspace-boundary-validator.js +28 -0
  721. package/packages/tools/lib/validator/workspace-boundary-validator.js.map +1 -0
  722. package/packages/tools/python/memo_model.py +243 -0
  723. package/packages/tools/python/memo_stage1_syside.py +389 -0
  724. package/packages/tools/lib/commands/check.d.ts +0 -6
  725. package/packages/tools/lib/commands/check.d.ts.map +0 -1
  726. package/packages/tools/lib/commands/check.js +0 -191
  727. package/packages/tools/lib/commands/check.js.map +0 -1
  728. package/packages/tools/lib/commands/conformance.d.ts +0 -36
  729. package/packages/tools/lib/commands/conformance.d.ts.map +0 -1
  730. package/packages/tools/lib/commands/conformance.js +0 -212
  731. package/packages/tools/lib/commands/conformance.js.map +0 -1
  732. package/packages/tools/lib/commands/roundtrip.d.ts +0 -6
  733. package/packages/tools/lib/commands/roundtrip.d.ts.map +0 -1
  734. package/packages/tools/lib/commands/roundtrip.js +0 -145
  735. package/packages/tools/lib/commands/roundtrip.js.map +0 -1
  736. package/packages/tools/lib/conformance/baseline.d.ts +0 -26
  737. package/packages/tools/lib/conformance/baseline.d.ts.map +0 -1
  738. package/packages/tools/lib/conformance/baseline.js +0 -170
  739. package/packages/tools/lib/conformance/baseline.js.map +0 -1
  740. package/packages/tools/lib/conformance/bnf.d.ts +0 -84
  741. package/packages/tools/lib/conformance/bnf.d.ts.map +0 -1
  742. package/packages/tools/lib/conformance/bnf.js +0 -166
  743. package/packages/tools/lib/conformance/bnf.js.map +0 -1
  744. package/packages/tools/lib/conformance/corpus.d.ts +0 -125
  745. package/packages/tools/lib/conformance/corpus.d.ts.map +0 -1
  746. package/packages/tools/lib/conformance/corpus.js +0 -190
  747. package/packages/tools/lib/conformance/corpus.js.map +0 -1
  748. package/packages/tools/lib/conformance/diff-xmi.d.ts +0 -118
  749. package/packages/tools/lib/conformance/diff-xmi.d.ts.map +0 -1
  750. package/packages/tools/lib/conformance/diff-xmi.js +0 -276
  751. package/packages/tools/lib/conformance/diff-xmi.js.map +0 -1
  752. package/packages/tools/lib/conformance/generated/syside-rules.d.ts +0 -10
  753. package/packages/tools/lib/conformance/generated/syside-rules.d.ts.map +0 -1
  754. package/packages/tools/lib/conformance/generated/syside-rules.js +0 -1142
  755. package/packages/tools/lib/conformance/generated/syside-rules.js.map +0 -1
  756. package/packages/tools/lib/conformance/index.d.ts +0 -7
  757. package/packages/tools/lib/conformance/index.d.ts.map +0 -1
  758. package/packages/tools/lib/conformance/index.js +0 -19
  759. package/packages/tools/lib/conformance/index.js.map +0 -1
  760. package/packages/tools/lib/conformance/run.d.ts +0 -117
  761. package/packages/tools/lib/conformance/run.d.ts.map +0 -1
  762. package/packages/tools/lib/conformance/run.js +0 -0
  763. package/packages/tools/lib/conformance/run.js.map +0 -1
  764. package/packages/tools/lib/conformance/xmi.d.ts +0 -45
  765. package/packages/tools/lib/conformance/xmi.d.ts.map +0 -1
  766. package/packages/tools/lib/conformance/xmi.js +0 -148
  767. package/packages/tools/lib/conformance/xmi.js.map +0 -1
  768. package/packages/tools/lib/language/generated/ast.d.ts +0 -3571
  769. package/packages/tools/lib/language/generated/ast.d.ts.map +0 -1
  770. package/packages/tools/lib/language/generated/ast.js +0 -2980
  771. package/packages/tools/lib/language/generated/ast.js.map +0 -1
  772. package/packages/tools/lib/language/generated/grammar.d.ts +0 -7
  773. package/packages/tools/lib/language/generated/grammar.d.ts.map +0 -1
  774. package/packages/tools/lib/language/generated/grammar.js +0 -10687
  775. package/packages/tools/lib/language/generated/grammar.js.map +0 -1
  776. package/packages/tools/lib/language/generated/module.d.ts +0 -14
  777. package/packages/tools/lib/language/generated/module.d.ts.map +0 -1
  778. package/packages/tools/lib/language/generated/module.js +0 -21
  779. package/packages/tools/lib/language/generated/module.js.map +0 -1
  780. package/packages/tools/lib/language/memo-sysml-module.d.ts +0 -24
  781. package/packages/tools/lib/language/memo-sysml-module.d.ts.map +0 -1
  782. package/packages/tools/lib/language/memo-sysml-module.js +0 -20
  783. package/packages/tools/lib/language/memo-sysml-module.js.map +0 -1
  784. package/packages/tools/lib/model/builder.d.ts +0 -27
  785. package/packages/tools/lib/model/builder.d.ts.map +0 -1
  786. package/packages/tools/lib/model/builder.js +0 -2112
  787. package/packages/tools/lib/model/builder.js.map +0 -1
  788. package/packages/tools/lib/model/package-registry.d.ts +0 -64
  789. package/packages/tools/lib/model/package-registry.d.ts.map +0 -1
  790. package/packages/tools/lib/model/package-registry.js +0 -184
  791. package/packages/tools/lib/model/package-registry.js.map +0 -1
  792. package/packages/tools/lib/model/parser-utils.d.ts +0 -65
  793. package/packages/tools/lib/model/parser-utils.d.ts.map +0 -1
  794. package/packages/tools/lib/model/parser-utils.js +0 -201
  795. package/packages/tools/lib/model/parser-utils.js.map +0 -1
  796. package/packages/tools/lib/sysmlc/bin/memo-sysmlc.d.ts +0 -3
  797. package/packages/tools/lib/sysmlc/bin/memo-sysmlc.d.ts.map +0 -1
  798. package/packages/tools/lib/sysmlc/bin/memo-sysmlc.js +0 -97
  799. package/packages/tools/lib/sysmlc/bin/memo-sysmlc.js.map +0 -1
  800. package/packages/tools/lib/sysmlc/index.d.ts +0 -2
  801. package/packages/tools/lib/sysmlc/index.d.ts.map +0 -1
  802. package/packages/tools/lib/sysmlc/index.js +0 -7
  803. package/packages/tools/lib/sysmlc/index.js.map +0 -1
  804. package/packages/tools/lib/sysmlc/server.d.ts +0 -29
  805. package/packages/tools/lib/sysmlc/server.d.ts.map +0 -1
  806. package/packages/tools/lib/sysmlc/server.js +0 -168
  807. package/packages/tools/lib/sysmlc/server.js.map +0 -1
  808. package/packages/tools/lib/toolchain/lowering.d.ts +0 -63
  809. package/packages/tools/lib/toolchain/lowering.d.ts.map +0 -1
  810. package/packages/tools/lib/toolchain/lowering.js +0 -100
  811. package/packages/tools/lib/toolchain/lowering.js.map +0 -1
  812. package/packages/tools/lib/toolchain/providers/internal.d.ts +0 -33
  813. package/packages/tools/lib/toolchain/providers/internal.d.ts.map +0 -1
  814. package/packages/tools/lib/toolchain/providers/internal.js +0 -286
  815. package/packages/tools/lib/toolchain/providers/internal.js.map +0 -1
  816. package/packages/tools/lib/toolchain/sysmlc-client.d.ts +0 -77
  817. package/packages/tools/lib/toolchain/sysmlc-client.d.ts.map +0 -1
  818. package/packages/tools/lib/toolchain/sysmlc-client.js +0 -0
  819. package/packages/tools/lib/toolchain/sysmlc-client.js.map +0 -1
  820. package/packages/tools/lib/validator/sysml-constraints.d.ts +0 -64
  821. package/packages/tools/lib/validator/sysml-constraints.d.ts.map +0 -1
  822. package/packages/tools/lib/validator/sysml-constraints.js +0 -251
  823. package/packages/tools/lib/validator/sysml-constraints.js.map +0 -1
  824. package/packages/tools/src/grammar/memo-sysml.langium +0 -1064
@@ -0,0 +1,47 @@
1
+ import type { MemoModel } from './semantic.js';
2
+ import type { KindRegistry } from './kind-registry.js';
3
+ import type { RelationshipRegistry } from './relationship-registry.js';
4
+ /** Diagnostic code for a selector naming something the ontology never declared. */
5
+ export declare const SELECTOR_UNDECLARED_NAME = "selector-undeclared-name";
6
+ /** Which registry a selector's names are drawn from. */
7
+ export type SelectorVocabulary = 'kind' | 'relationship' | 'attribute';
8
+ /**
9
+ * Relationship types the BUILDER emits directly rather than from a
10
+ * `connection def`, so the relationship registry does not list them.
11
+ *
12
+ * A view that selects `flow` is selecting something the model really contains;
13
+ * checking it against the registry alone would report the correct spelling as
14
+ * an error. They are enumerated here rather than inferred from the model
15
+ * because the check must not depend on a project happening to contain one.
16
+ */
17
+ export declare const BUILDER_NATIVE_RELATION_TYPES: readonly string[];
18
+ /** A selector naming something no registry declares. */
19
+ export interface SelectorVocabularyDiagnostic {
20
+ code: typeof SELECTOR_UNDECLARED_NAME;
21
+ /** Project-relative file declaring the element that carries the selector. */
22
+ file: string;
23
+ /** Element id of the view, rule or legend the selector is written on. */
24
+ elementId: string;
25
+ /** Attribute key the selector was read from. */
26
+ selector: string;
27
+ /** The offending name, as written. */
28
+ name: string;
29
+ vocabulary: SelectorVocabulary;
30
+ /** Declared name this looks like a misspelling of, when one stands out. */
31
+ suggestion?: string;
32
+ message: string;
33
+ }
34
+ /** Registries the check reads. Both optional: an unresolved ontology checks nothing. */
35
+ export interface SelectorVocabularyRegistries {
36
+ kindRegistry?: KindRegistry;
37
+ relationshipRegistry?: RelationshipRegistry;
38
+ }
39
+ /**
40
+ * Check every selector in the model against the registries.
41
+ *
42
+ * Returns one diagnostic per offending name. An empty result means every
43
+ * selector names something declared — or that no ontology was resolved, in
44
+ * which case there is nothing to check against and nothing is reported.
45
+ */
46
+ export declare function checkSelectorVocabulary(model: MemoModel, registries?: SelectorVocabularyRegistries): SelectorVocabularyDiagnostic[];
47
+ //# sourceMappingURL=selector-vocabulary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selector-vocabulary.d.ts","sourceRoot":"","sources":["../../src/model/selector-vocabulary.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGvE,mFAAmF;AACnF,eAAO,MAAM,wBAAwB,6BAA6B,CAAC;AAEnE,wDAAwD;AACxD,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,cAAc,GAAG,WAAW,CAAC;AAEvE;;;;;;;;GAQG;AACH,eAAO,MAAM,6BAA6B,EAAE,SAAS,MAAM,EAK1D,CAAC;AAmCF,wDAAwD;AACxD,MAAM,WAAW,4BAA4B;IACzC,IAAI,EAAE,OAAO,wBAAwB,CAAC;IACtC,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,kBAAkB,CAAC;IAC/B,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,wFAAwF;AACxF,MAAM,WAAW,4BAA4B;IACzC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC/C;AAmCD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACnC,KAAK,EAAE,SAAS,EAChB,UAAU,CAAC,EAAE,4BAA4B,GAC1C,4BAA4B,EAAE,CAwEhC"}
@@ -0,0 +1,181 @@
1
+ // ─── Selector Vocabulary Check ───────────────────────────────────────────────
2
+ //
3
+ // A selector is a string in the model that NAMES part of the ontology's
4
+ // vocabulary: the kinds a view admits, the relationships it draws, the
5
+ // attribute a legend colours by. Every one of them is matched against the built
6
+ // model by name, and a name the ontology never declared matches nothing.
7
+ //
8
+ // Matching nothing is indistinguishable from having nothing to match. A view
9
+ // selecting `Supports` renders empty in a model with no supports relations and
10
+ // in a model with a thousand of them, because no such relation was ever
11
+ // declared — so the feature reads as "no data" everywhere and stays broken
12
+ // until someone happens to compare the selector against the ontology by hand.
13
+ // Measured twice on 2026-09-19 in Architect's Use Cases view: four undeclared
14
+ // names, every model rendering "No workflows".
15
+ //
16
+ // The registries already know every declared name, so the check costs a set
17
+ // lookup. It belongs at the point the project is built, not at the point a view
18
+ // is rendered, because the author is who can fix it.
19
+ //
20
+ // A name hardcoded in a CONSUMER's TypeScript is the other half, and a model-side
21
+ // check cannot see it: Architect's views select relationships through
22
+ // `relationshipsOfType` (relation-selection.ts), which reports an undeclared
23
+ // name when a view runs, and `architect-relation-literals.test.ts` checks every
24
+ // literal at those call sites against the resolved ontology. Kinds and
25
+ // attributes a consumer names are NOT covered by either.
26
+ //
27
+ // This covers selectors the MODEL authors, which is where the ontology's
28
+ // vocabulary is spelled out by people who are not reading the registry either.
29
+ // ─────────────────────────────────────────────────────────────────────────────
30
+ import { toModelType } from './naming.js';
31
+ /** Diagnostic code for a selector naming something the ontology never declared. */
32
+ export const SELECTOR_UNDECLARED_NAME = 'selector-undeclared-name';
33
+ /**
34
+ * Relationship types the BUILDER emits directly rather than from a
35
+ * `connection def`, so the relationship registry does not list them.
36
+ *
37
+ * A view that selects `flow` is selecting something the model really contains;
38
+ * checking it against the registry alone would report the correct spelling as
39
+ * an error. They are enumerated here rather than inferred from the model
40
+ * because the check must not depend on a project happening to contain one.
41
+ */
42
+ export const BUILDER_NATIVE_RELATION_TYPES = [
43
+ // `connect` is what an UNTYPED `connection ... connect a to b` builds, so it
44
+ // is the commonest of these and the one a view is most likely to select.
45
+ // `interface` is what a typed `interface x : T connect a to b` builds.
46
+ 'connect', 'flow', 'bind', 'succession', 'variant', 'interface',
47
+ ];
48
+ /**
49
+ * The selectors this check knows about.
50
+ *
51
+ * `selectionQuery.includeElementIds` is absent on purpose: it names elements,
52
+ * not vocabulary, and an unresolved one is already reported as an unresolved
53
+ * reference. `selectionQuery.includeLayers` is absent because a layer is
54
+ * derived from a source directory rather than declared, so there is no registry
55
+ * to check it against.
56
+ */
57
+ const SELECTORS = [
58
+ { attribute: 'selectionQuery.includeElementKinds', vocabulary: 'kind' },
59
+ { attribute: 'selectionQuery.includeRelationshipKinds', vocabulary: 'relationship' },
60
+ // ViewRule (viewpoints) and the methodology profiles' rules both spell a
61
+ // type this way, as a comma-separated list.
62
+ { attribute: 'elementTypeName', vocabulary: 'kind' },
63
+ { attribute: 'relationTypeName', vocabulary: 'relationship' },
64
+ // MemoLegend: one of the two names the key is built from.
65
+ { attribute: 'attributeName', vocabulary: 'attribute' },
66
+ // An `enum def` is registered as a kind, so the kind registry answers this.
67
+ { attribute: 'enumerationName', vocabulary: 'kind' },
68
+ // A method step names the kinds it takes and produces (`MethodologyWorkflowStep`): a kind the ontology
69
+ // never declared is a step that can never be done, and nothing else would say so.
70
+ { attribute: 'inputKinds', vocabulary: 'kind' },
71
+ { attribute: 'outputKinds', vocabulary: 'kind' },
72
+ ];
73
+ /**
74
+ * A value the builder wrote for an attribute that was DECLARED and not given.
75
+ *
76
+ * `attribute elementTypeName : String;` in a `part def` records `<String>`, so
77
+ * every definition of a selector-carrying type looks like a selector naming a
78
+ * type called "String". That is the declaration, not a selector.
79
+ */
80
+ function isUnvaluedDeclaration(raw) {
81
+ return /^<[^>]*>$/.test(raw);
82
+ }
83
+ function splitList(raw) {
84
+ if (!raw || isUnvaluedDeclaration(raw.trim()))
85
+ return [];
86
+ return raw.split(',').map(s => s.trim()).filter(Boolean);
87
+ }
88
+ /**
89
+ * The declared name a misspelling most likely meant.
90
+ *
91
+ * Two cheap rules, both drawn from the defects that prompted this: a difference
92
+ * of case only (`Includes` for `includes`), and a declared name that extends
93
+ * what was written (`Includes` for `includesStep`). Anything further apart gets
94
+ * no suggestion rather than a guess — a wrong suggestion is read as an
95
+ * instruction.
96
+ */
97
+ function suggest(name, declared) {
98
+ const lower = name.toLowerCase();
99
+ const caseOnly = declared.find(d => d.toLowerCase() === lower);
100
+ if (caseOnly)
101
+ return caseOnly;
102
+ const extension = declared.filter(d => d.toLowerCase().startsWith(lower));
103
+ return extension.length === 1 ? extension[0] : undefined;
104
+ }
105
+ /**
106
+ * Check every selector in the model against the registries.
107
+ *
108
+ * Returns one diagnostic per offending name. An empty result means every
109
+ * selector names something declared — or that no ontology was resolved, in
110
+ * which case there is nothing to check against and nothing is reported.
111
+ */
112
+ export function checkSelectorVocabulary(model, registries) {
113
+ const kindRegistry = registries?.kindRegistry;
114
+ const relationshipRegistry = registries?.relationshipRegistry;
115
+ const diagnostics = [];
116
+ const declaredKinds = kindRegistry?.kindNames() ?? [];
117
+ const declaredViewDefinitions = kindRegistry?.viewDefinitionNames() ?? [];
118
+ const declaredRelations = [
119
+ ...(relationshipRegistry?.relTypeNames() ?? []),
120
+ ...BUILDER_NATIVE_RELATION_TYPES,
121
+ ];
122
+ const declaredAttributes = kindRegistry?.attributeNames() ?? [];
123
+ const relationKeys = new Set(declaredRelations.map(toModelType));
124
+ for (const element of model.elements.values()) {
125
+ for (const spec of SELECTORS) {
126
+ const names = splitList(element.attributes[spec.attribute]);
127
+ for (const name of names) {
128
+ const declared = isDeclared(name, spec.vocabulary);
129
+ if (declared === undefined)
130
+ continue; // no registry for this vocabulary
131
+ if (declared)
132
+ continue;
133
+ diagnostics.push(diagnostic(element, spec, name));
134
+ }
135
+ }
136
+ }
137
+ return diagnostics;
138
+ /** `undefined` when the registry that would answer was not supplied. */
139
+ function isDeclared(name, vocabulary) {
140
+ switch (vocabulary) {
141
+ case 'kind':
142
+ if (!kindRegistry)
143
+ return undefined;
144
+ // A `view def` is declared vocabulary a selection query may
145
+ // legitimately name, though it is not registered as a kind.
146
+ return kindRegistry.has(name) || kindRegistry.hasViewDefinition(name);
147
+ case 'relationship':
148
+ // A selector spells a relation the way SOURCE does — `Composes`
149
+ // for a connection def, `flow` for a keyword — and the model
150
+ // keys them lowerCamelCase, so both sides normalize.
151
+ return relationshipRegistry ? relationKeys.has(toModelType(name)) : undefined;
152
+ case 'attribute':
153
+ return kindRegistry ? kindRegistry.declaresAttribute(name) : undefined;
154
+ }
155
+ }
156
+ function diagnostic(element, spec, name) {
157
+ const pool = spec.vocabulary === 'kind' ? [...declaredKinds, ...declaredViewDefinitions]
158
+ : spec.vocabulary === 'relationship' ? declaredRelations
159
+ : declaredAttributes;
160
+ const suggestion = suggest(name, pool);
161
+ const noun = spec.vocabulary === 'kind' ? 'kind or enumeration'
162
+ : spec.vocabulary === 'relationship' ? 'relationship' : 'attribute';
163
+ return {
164
+ code: SELECTOR_UNDECLARED_NAME,
165
+ file: element.file,
166
+ elementId: element.id,
167
+ selector: spec.attribute,
168
+ name,
169
+ vocabulary: spec.vocabulary,
170
+ ...(suggestion ? { suggestion } : {}),
171
+ message: `${element.id}: \`${spec.attribute}\` names "${name}", which no resolved `
172
+ + `ontology declares as a ${noun}. The selector matches nothing, in every `
173
+ + `model.${suggestion ? ` Did you mean "${suggestion}"?` : ''}`
174
+ + (name.includes('[')
175
+ ? ' A selector is a list of names: no reader parses a `[attribute=value]`'
176
+ + ' filter, so the brackets are part of the name being looked up.'
177
+ : ''),
178
+ };
179
+ }
180
+ }
181
+ //# sourceMappingURL=selector-vocabulary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selector-vocabulary.js","sourceRoot":"","sources":["../../src/model/selector-vocabulary.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { OntologyRegistriesDTO } from './relationship-legality.js';
2
2
  import type { SemanticElementProvenance } from './source-provenance.js';
3
+ import { ElementIndex } from './element-index.js';
3
4
  /** Direction of a port or action parameter */
4
5
  export type ParameterDirection = 'in' | 'out' | 'inout';
5
6
  /** Port specification on a port usage element */
@@ -29,7 +30,7 @@ export interface ActionParameter {
29
30
  * separates them. That pairing is what replaced looking a metaclass name up as
30
31
  * though it were a MEMO kind.
31
32
  */
32
- export declare const MEMO_CONSTRUCTS: readonly ["part", "item", "port", "interface", "connection", "action", "state", "transition", "use case", "requirement", "verification", "concern", "actor", "stakeholder", "attribute", "enumeration", "view", "viewpoint", "package", "model"];
33
+ export declare const MEMO_CONSTRUCTS: readonly ["part", "item", "port", "interface", "connection", "flow", "action", "state", "transition", "use case", "requirement", "verification", "concern", "actor", "stakeholder", "attribute", "enumeration", "view", "viewpoint", "package", "model"];
33
34
  export type MemoConstruct = typeof MEMO_CONSTRUCTS[number];
34
35
  /**
35
36
  * The usage keyword for a declaration construct: `part def` → `part`.
@@ -43,8 +44,28 @@ export type MemoConstruct = typeof MEMO_CONSTRUCTS[number];
43
44
  */
44
45
  export declare function usageKeyword(construct: string | undefined): MemoConstruct;
45
46
  export interface MemoElement {
46
- /** Unique element identifier (usage name from SysML) */
47
+ /**
48
+ * Unique element identifier: the QUALIFIED name, owner chain and all,
49
+ * rooted at the declaring package —
50
+ * `memo_examples_ros_mobile_robot::nodeSafetyMonitor::scanSubscriber`.
51
+ *
52
+ * It was the short name alone, which is not unique: SysML scopes a name to
53
+ * its owner, so two parts may each own a port called `scanSubscriber` and
54
+ * one of them used to silently win the map entry. Anything holding an id
55
+ * from outside the model — a `.viewlayout`, `memo.identity.yaml`, a
56
+ * reference a person typed — resolves it through `ElementIndex.lookup`,
57
+ * which accepts a trailing part of a qualified name or an unambiguous
58
+ * short name.
59
+ */
47
60
  id: string;
61
+ /**
62
+ * The name as DECLARED, the last segment of `id`.
63
+ *
64
+ * What a reader should be shown, and what the source says. Distinct from
65
+ * `name`, which is the human label an `attribute redefines name` may
66
+ * override, and from `id`, which is for identity alone.
67
+ */
68
+ shortName?: string;
48
69
  /** Stable short ID for deep-linking, e.g. "SW-REQ-4291" (set by builder) */
49
70
  shortId?: string;
50
71
  /** Stable technical UUID assigned during compilation; never used as a display label. */
@@ -116,11 +137,34 @@ export interface MemoPackageDTO {
116
137
  parent?: string;
117
138
  /** Project-relative file declaring it. */
118
139
  file: string;
140
+ /** Metadata the package carries, such as `@ImportSource` (absent when it carries none). */
141
+ attributes?: Record<string, string>;
119
142
  }
120
143
  /** A typed relationship between two elements */
121
144
  export interface MemoRelationship {
122
- /** Unique relationship id (auto-generated) */
145
+ /**
146
+ * Unique relationship id.
147
+ *
148
+ * For a NAMED declaration this is the QUALIFIED name, owner chain and all,
149
+ * exactly as an element's is — `gpca_pump::exDoseCommand`. It used to be
150
+ * the bare declared name, which is not unique: two packages may each
151
+ * declare a flow `exDose`, and one of them would silently answer to a
152
+ * reference meant for the other. Anonymous declarations still get a
153
+ * positional `rel-N`, which addresses nothing and is not meant to.
154
+ *
155
+ * This is also the id a relationship is TARGETED by. A named flow is a
156
+ * referenceable identity, not only an edge, so an `allocate`, `satisfy`
157
+ * or `verify` naming it resolves here.
158
+ */
123
159
  id: string;
160
+ /**
161
+ * The name as DECLARED, the last segment of `id`, on a named declaration.
162
+ *
163
+ * What the source says, and therefore what a writer editing or deleting
164
+ * the declaration must match on — the qualified `id` is a model address
165
+ * and appears nowhere in the file.
166
+ */
167
+ shortName?: string;
124
168
  /** Relationship type name (lowercase), e.g. "mitigates", "traceTo", "flow", "succession" */
125
169
  type: string;
126
170
  /** Source element id */
@@ -144,6 +188,24 @@ export interface MemoRelationship {
144
188
  * connections get a positional id instead and cannot be edited by id.
145
189
  */
146
190
  named?: boolean;
191
+ /**
192
+ * The DECLARED domain type of a named relationship — the `flow def` or
193
+ * `interface def` a typed usage names, as in
194
+ * `flow lfDose : FunctionalExchange from … to …`.
195
+ *
196
+ * Distinct from `type`, which stays the native relationship keyword
197
+ * (`flow`, `bind`, `connect`). The two answer different questions: `type`
198
+ * says what kind of link this is in the language, `kind` says what
199
+ * contract the model declares it honours. A typed `connection : Mitigates`
200
+ * has no `kind`, because a connection definition IS a relation definition
201
+ * and its name becomes the `type`; a flow definition is not — it is an
202
+ * occurrence definition classifying a transfer that is a flow either way.
203
+ *
204
+ * This is what lets a rule say `appliesTo = "FunctionalExchange"` and
205
+ * reach the edge, through the read-only subject projection in
206
+ * `relationship-subjects.ts`, without a proxy part beside it.
207
+ */
208
+ kind?: string;
147
209
  /** Item type being transported (for flow relationships) */
148
210
  flowItem?: string;
149
211
  /** Source port element ID (when connection endpoint is a port) */
@@ -161,6 +223,12 @@ export interface ParseError {
161
223
  file: string;
162
224
  /** Error message */
163
225
  message: string;
226
+ /**
227
+ * A stable identifier for the KIND of diagnostic, for the readers that have
228
+ * to tell them apart without matching on prose. Absent on a parse error
229
+ * proper — the parser's complaints are one kind and need no code.
230
+ */
231
+ code?: string;
164
232
  /** Line number (1-based) */
165
233
  line?: number;
166
234
  /** Column number (1-based) */
@@ -178,8 +246,14 @@ export interface UnresolvedReference {
178
246
  }
179
247
  /** The complete semantic model — serializable for WebSocket transport */
180
248
  export interface MemoModel {
181
- /** All elements indexed by id */
182
- elements: Map<string, MemoElement>;
249
+ /**
250
+ * All elements by qualified id.
251
+ *
252
+ * `get` is exact — it takes an id the model itself produced. A name that
253
+ * came from source text or from a person goes through `lookup`, which
254
+ * accepts a trailing part of a qualified name or an unambiguous short one.
255
+ */
256
+ elements: ElementIndex;
183
257
  /** All relationships */
184
258
  relationships: MemoRelationship[];
185
259
  /** Parse errors encountered */
@@ -202,6 +276,8 @@ export interface MemoModel {
202
276
  /** Viewpoint definition (serializable subset of config) */
203
277
  export interface ViewpointDTO {
204
278
  id: string;
279
+ /** The name the viewpoint is written with in source (`vpRiskChain`), which a method's role view names it by. */
280
+ name?: string;
205
281
  label: string;
206
282
  /** Optional ontology-authored grouping used by Memo Architect. */
207
283
  group?: string;
@@ -213,6 +289,13 @@ export interface ViewpointDTO {
213
289
  * — so a consumer builds the tree without re-resolving anything.
214
290
  */
215
291
  parentId?: string;
292
+ /**
293
+ * Who the viewpoint is written for: the usage names its `stakeholders`
294
+ * binds (`safetyEngineer`), from the project's own viewpoint or, for one the
295
+ * library declares, from the library. Empty when it names none. A role
296
+ * picks its viewpoints through `viewpointsForRole`.
297
+ */
298
+ stakeholders?: string[];
216
299
  visibleKinds: string[];
217
300
  visibleRelationships: string[];
218
301
  visibleLayers: string[];
@@ -286,7 +369,9 @@ export interface ArchLayerDTO {
286
369
  }
287
370
  /** Model metadata for version/attribution */
288
371
  export interface ModelMetadata {
289
- /** Project name from config */
372
+ /** The model's name, from its settings */
373
+ modelName?: string;
374
+ /** @deprecated 0.14.0: the former name of `modelName`, same value. Deleted in 0.15.0. */
290
375
  projectName?: string;
291
376
  /** Semantic version (from config or auto-incremented) */
292
377
  version?: string;
@@ -346,7 +431,7 @@ export interface MemoModelDTO {
346
431
  */
347
432
  irIdentities?: Record<string, string>;
348
433
  /**
349
- * Clause coverage report — the same computation `memo standards check`
434
+ * Clause coverage report — the same computation `memo validate --standards`
350
435
  * prints. The dev server computes it once per rebuild and ships it here so
351
436
  * the Architect can badge document cards with gap counts without a second
352
437
  * request and without a second computation.
@@ -355,6 +440,12 @@ export interface MemoModelDTO {
355
440
  * not compute it (e.g. a static export build that does not need the badges).
356
441
  */
357
442
  standardsReport?: import('../dhf/standards-report.js').StandardsReport;
443
+ /**
444
+ * Which workspace (the system of systems, or one system) holds each element, computed from
445
+ * the links by `workspace-membership.ts` (plan T2). Absent when the model was built
446
+ * without the ontology registries.
447
+ */
448
+ workspaceMembership?: import('./workspace-membership.js').WorkspaceMembershipDTO;
358
449
  }
359
450
  /** A SysML enum and its literals, preserved for view declarations. */
360
451
  export interface EnumDefinitionDTO {
@@ -372,6 +463,7 @@ export declare function modelToDTO(model: MemoModel, options?: {
372
463
  sourceHashes?: Record<string, string>;
373
464
  irIdentities?: Record<string, string>;
374
465
  enumerations?: EnumDefinitionDTO[];
466
+ workspaceMembership?: import('./workspace-membership.js').WorkspaceMembershipDTO;
375
467
  }): MemoModelDTO;
376
468
  /** Reconstruct a MemoModel from a DTO (e.g. received over WebSocket) */
377
469
  export declare function dtoToModel(dto: MemoModelDTO): MemoModel;
@@ -1 +1 @@
1
- {"version":3,"file":"semantic.d.ts","sourceRoot":"","sources":["../../src/model/semantic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"semantic.d.ts","sourceRoot":"","sources":["../../src/model/semantic.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  // These types are what the CLI and web app work with — they are
5
5
  // decoupled from Langium's AST nodes so they can be sent over WebSocket.
6
6
  // ─────────────────────────────────────────────────────────────────────────────
7
+ import { ElementIndex } from './element-index.js';
7
8
  /** A model element (part, requirement, action, port, item, etc.) */
8
9
  /**
9
10
  * Every construct the builder extracts, in the language's own vocabulary.
@@ -15,6 +16,11 @@
15
16
  */
16
17
  export const MEMO_CONSTRUCTS = [
17
18
  'part', 'item', 'port', 'interface', 'connection',
19
+ // A `flow def` is a definition like any other and a named flow usage is
20
+ // its instance. The usage reaches the model as a relationship, not an
21
+ // element — an edge is not a part — so this value appears on the
22
+ // read-only rule subject projected from that edge, and on the definition.
23
+ 'flow',
18
24
  'action', 'state', 'transition', 'use case',
19
25
  'requirement', 'verification', 'concern',
20
26
  'actor', 'stakeholder',
@@ -63,11 +69,17 @@ export function modelToDTO(model, options) {
63
69
  sourceHashes: options?.sourceHashes,
64
70
  sysmlIr: undefined,
65
71
  irIdentities: options?.irIdentities,
72
+ workspaceMembership: options?.workspaceMembership,
66
73
  };
67
74
  }
68
75
  /** Reconstruct a MemoModel from a DTO (e.g. received over WebSocket) */
69
76
  export function dtoToModel(dto) {
70
- const elements = new Map(Object.entries(dto.elements));
77
+ // An ElementIndex, not a bare Map, so a model received over the wire can
78
+ // still resolve a name a person wrote — `memo compile --inspect nodeLidar`, a key
79
+ // read back from a saved layout — against the qualified ids it holds.
80
+ const elements = new ElementIndex();
81
+ for (const el of Object.values(dto.elements))
82
+ elements.define(el);
71
83
  const relationships = dto.relationships;
72
84
  const elementsByKind = new Map();
73
85
  const elementsByLayer = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../src/model/semantic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../src/model/semantic.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"settings-boundary.d.ts","sourceRoot":"","sources":["../../src/model/settings-boundary.ts"],"names":[],"mappings":"AAuBA,qDAAqD;AACrD,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACnB;AAkED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,EAAE,CA0CzE;AAED,2DAA2D;AAC3D,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,SAAS,sBAAsB,EAAE,GAAG,MAAM,CAEtF"}
1
+ {"version":3,"file":"settings-boundary.d.ts","sourceRoot":"","sources":["../../src/model/settings-boundary.ts"],"names":[],"mappings":"AAuBA,qDAAqD;AACrD,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACnB;AAmED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,EAAE,CA0CzE;AAED,2DAA2D;AAC3D,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,SAAS,sBAAsB,EAAE,GAAG,MAAM,CAEtF"}
@@ -25,11 +25,12 @@ import { parse as parseYaml } from 'yaml';
25
25
  * not supported" leaves them with a broken project and no next step.
26
26
  */
27
27
  const SEMANTIC_FIELDS = {
28
- methodology: 'the `ProjectMethodBinding` in model/catalog/project.sysml, whose `selectedMethodology` is a typed SysML reference',
29
- extends: 'a native `private import` of the package in model/catalog/project.sysml',
30
- ontologies: 'a native `private import` of the ontology package in model/catalog/project.sysml',
31
- modules: '`includedModule` on the methodology, or on the `ProjectMethodBinding` for project-specific additions',
32
- optionalModules: '`includedModule` on the methodology that selects them',
28
+ methodology: 'the `ModelMethodBinding` in model/methodology/project.sysml, whose `selectedMethodology` is a typed SysML reference',
29
+ extends: 'a native `private import` of the package in model/methodology/project.sysml',
30
+ ontologies: 'a native `private import` of the ontology package in model/methodology/project.sysml',
31
+ modules: 'a `public import` of the package in the methodology\'s package, or in the package declaring the '
32
+ + '`ModelMethodBinding` for model-specific additions; a MEMO extension by its facade, `memo_extension_<name>`',
33
+ optionalModules: 'a `public import` of the package in the methodology\'s package',
33
34
  type: 'nothing — a package\'s authority now comes from the resolved root a file sits under, not from a declared kind',
34
35
  projectType: 'nothing — a project is what its SysML declares; the type field selected no content it could not select natively',
35
36
  usage: 'nothing — what a package supplies is what its SysML declares',
@@ -43,7 +44,7 @@ const SEMANTIC_FIELDS = {
43
44
  viewpoints: 'native `viewpoint def` / `view def` packages under model/catalog/viewpoints/',
44
45
  rules: 'native `constraint def` declarations, tailored through `RulePolicy`',
45
46
  workflows: '`MethodologyWorkflowStep` actions in the methodology',
46
- firstRun: 'the template `memo init` scaffolds',
47
+ firstRun: 'the template `memo-architect init` scaffolds',
47
48
  };
48
49
  /** `sysmlDir` locates source; it is the one entry above that is still read. */
49
50
  const LOCATOR_FIELDS = new Set(['sysmlDir', 'entrypoint', 'include', 'name', 'version', 'description', 'license', 'tags']);
@@ -55,8 +56,8 @@ const RETIRED_FILES = {
55
56
  'memo.viewpoints.yml': 'native viewpoint/view packages under model/catalog/viewpoints/',
56
57
  'memo.rendering.yaml': '`LayerRendering` and `ExplorerClassification` usages in the ontology',
57
58
  'memo.rendering.yml': '`LayerRendering` and `ExplorerClassification` usages in the ontology',
58
- 'memo.config.yaml': 'model/catalog/project.sysml — native imports and a `ProjectMethodBinding`',
59
- 'memo.config.yml': 'model/catalog/project.sysml — native imports and a `ProjectMethodBinding`',
59
+ 'memo.config.yaml': 'model/methodology/project.sysml — native imports and a `ModelMethodBinding`',
60
+ 'memo.config.yml': 'model/methodology/project.sysml — native imports and a `ModelMethodBinding`',
60
61
  };
61
62
  /** YAML files that may exist as application settings and are checked field by field. */
62
63
  const CHECKED_FILES = ['memo.package.yaml', 'memo.package.yml', 'memo.tools.yaml', 'memo.architect.yaml'];
@@ -1 +1 @@
1
- {"version":3,"file":"settings-boundary.js","sourceRoot":"","sources":["../../src/model/settings-boundary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings-boundary.js","sourceRoot":"","sources":["../../src/model/settings-boundary.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"short-id.d.ts","sourceRoot":"","sources":["../../src/model/short-id.ts"],"names":[],"mappings":"AAiGA;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKjD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,wBAAwB,CACpC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAAE,EACpB,KAAK,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7D,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA+BrB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAIpF"}
1
+ {"version":3,"file":"short-id.d.ts","sourceRoot":"","sources":["../../src/model/short-id.ts"],"names":[],"mappings":"AAqGA;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKjD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,wBAAwB,CACpC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAAE,EACpB,KAAK,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7D,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA+BrB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAIpF"}
@@ -14,6 +14,10 @@
14
14
  * Auto-generation handles everything else.
15
15
  */
16
16
  const KIND_PREFIX_OVERRIDES = {
17
+ // The method binding was ProjectMethodBinding until 0.14.0 and minted PRJ.
18
+ // Renaming the kind must not re-mint every model's binding (short ids are
19
+ // never reassigned), so ModelMethodBinding keeps the family it had.
20
+ ModelMethodBinding: 'PRJ',
17
21
  // Risk
18
22
  Hazard: 'HZD',
19
23
  HazardousEvent: 'HZD-EVT',