@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
@@ -0,0 +1,169 @@
1
+ // ─── Source Provenance ────────────────────────────────────────────────────────
2
+ //
3
+ // Where a piece of semantic content came from, and whether the user may edit it.
4
+ //
5
+ // The rule that makes this trustworthy is that origin is decided by the
6
+ // RESOLVED DEPENDENCY ROOT a file sits under — never by what kind of construct
7
+ // it declares, what the file is called, or where it sits in a directory tree.
8
+ // `action def LocalCalibration` written in the workspace is project content;
9
+ // the same declaration inside a resolved methodology package is methodology
10
+ // content. Nothing about the declaration itself is consulted.
11
+ //
12
+ // This matters because the previous behaviour inferred ownership from
13
+ // configured filesystem roots, which made a project-local definition look like
14
+ // ontology content whenever the roots overlapped, and left every DTO unable to
15
+ // say which package a name actually came from.
16
+ //
17
+ // Design reference: sections 7.1-7.3.
18
+ // ─────────────────────────────────────────────────────────────────────────────
19
+ import { isAbsolute, resolve, sep } from 'node:path';
20
+ /**
21
+ * Map a package manifest `type:` to an authority category.
22
+ *
23
+ * `profile` is ontology content: it ships definitions that projects specialize,
24
+ * and is frozen for the session exactly as the ontology is. `device` is what a
25
+ * project declares about itself, so a device root is only ever the workspace.
26
+ */
27
+ export function originForPackageType(type) {
28
+ switch ((type ?? '').trim()) {
29
+ case 'ontology':
30
+ case 'profile':
31
+ return 'ontology';
32
+ case 'methodology':
33
+ return 'methodology';
34
+ case 'extension':
35
+ return 'extension';
36
+ case 'device':
37
+ return 'project';
38
+ default:
39
+ // An unrecognized type is treated as ontology rather than project:
40
+ // it arrived through dependency resolution, so it is not writable,
41
+ // and calling it project content would wrongly offer edits on it.
42
+ return 'ontology';
43
+ }
44
+ }
45
+ /** Origins whose content is frozen for the lifetime of a runtime session. */
46
+ const REUSABLE_ORIGINS = new Set([
47
+ 'standard-library', 'memo-core', 'ontology', 'extension', 'methodology',
48
+ ]);
49
+ /** True when a change to this origin requires a runtime restart (section 13.3). */
50
+ export function isReusableOrigin(origin) {
51
+ return REUSABLE_ORIGINS.has(origin);
52
+ }
53
+ /** Classify a watched source path from the resolved provenance table. */
54
+ export function classifySourceChange(filePath, provenance) {
55
+ const source = provenance.lookup(filePath);
56
+ if (!source)
57
+ return 'unknown';
58
+ return isReusableOrigin(source.origin) ? 'reusable' : 'project';
59
+ }
60
+ /**
61
+ * Resolves any file path to its provenance.
62
+ *
63
+ * Roots may nest — a project can contain a vendored dependency under
64
+ * `node_modules/` — so the LONGEST matching root wins. A path under no
65
+ * dependency root but under the workspace is project content; a path under
66
+ * neither is reported as unknown rather than guessed at.
67
+ */
68
+ export class ProvenanceTable {
69
+ roots;
70
+ projectRoot;
71
+ cache = new Map();
72
+ constructor(projectRoot, roots) {
73
+ this.projectRoot = normalizeDir(projectRoot);
74
+ // Longest first so nested roots resolve before their parents.
75
+ this.roots = [...roots]
76
+ .map(root => ({ ...root, dir: normalizeDir(root.dir) }))
77
+ .sort((a, b) => b.dir.length - a.dir.length);
78
+ }
79
+ /** All dependency roots, longest path first. */
80
+ getRoots() {
81
+ return this.roots;
82
+ }
83
+ /**
84
+ * Provenance for one file, or undefined when it belongs to no known root.
85
+ *
86
+ * Undefined is deliberate: a caller that cannot establish origin must say
87
+ * so rather than defaulting to project (which would offer edits on library
88
+ * content) or to ontology (which would hide a real project file).
89
+ */
90
+ lookup(filePath) {
91
+ // Parsers retain project-relative paths for transport. Resolve those
92
+ // against the project that owns this table, never the CLI's own cwd.
93
+ const absolute = isAbsolute(filePath) ? resolve(filePath) : resolve(this.projectRoot, filePath);
94
+ if (this.cache.has(absolute))
95
+ return this.cache.get(absolute);
96
+ let provenance = this.compute(absolute);
97
+ // Registry entries originating from package scans may retain a path
98
+ // relative to their package root. Try every resolved root only after
99
+ // the project-relative interpretation, so authored project paths keep
100
+ // their normal meaning.
101
+ if (!provenance && !isAbsolute(filePath)) {
102
+ for (const root of this.roots) {
103
+ provenance = this.compute(resolve(root.dir, filePath));
104
+ if (provenance)
105
+ break;
106
+ }
107
+ }
108
+ this.cache.set(absolute, provenance);
109
+ return provenance;
110
+ }
111
+ /**
112
+ * Provenance for a file that must have one.
113
+ *
114
+ * Falls back to project so that a caller in the middle of building a model
115
+ * is not forced to handle undefined; use `lookup` where the distinction
116
+ * between "project" and "unknown" carries meaning.
117
+ */
118
+ lookupOrProject(filePath) {
119
+ const absolute = isAbsolute(filePath) ? resolve(filePath) : resolve(this.projectRoot, filePath);
120
+ return this.lookup(absolute) ?? this.projectProvenance(absolute);
121
+ }
122
+ compute(absolute) {
123
+ for (const root of this.roots) {
124
+ if (!isUnder(absolute, root.dir))
125
+ continue;
126
+ return {
127
+ origin: root.origin,
128
+ packageName: root.packageName,
129
+ packageVersion: root.packageVersion,
130
+ sourceUri: absolute,
131
+ sourceFile: relativeTo(root.dir, absolute),
132
+ writable: root.origin === 'project',
133
+ importDepth: root.importDepth,
134
+ selectedBy: root.selectedBy,
135
+ };
136
+ }
137
+ if (isUnder(absolute, this.projectRoot))
138
+ return this.projectProvenance(absolute);
139
+ return undefined;
140
+ }
141
+ projectProvenance(absolute) {
142
+ return {
143
+ origin: 'project',
144
+ packageName: '(project)',
145
+ sourceUri: absolute,
146
+ sourceFile: relativeTo(this.projectRoot, absolute),
147
+ writable: true,
148
+ importDepth: 0,
149
+ };
150
+ }
151
+ }
152
+ function normalizeDir(dir) {
153
+ const resolved = resolve(dir);
154
+ return resolved.endsWith(sep) ? resolved.slice(0, -sep.length) : resolved;
155
+ }
156
+ /**
157
+ * Containment test on path segments.
158
+ *
159
+ * A plain `startsWith` would place `/a/project-old/x` under `/a/project`, so the
160
+ * boundary must land on a separator.
161
+ */
162
+ function isUnder(absolute, dir) {
163
+ return absolute === dir || absolute.startsWith(dir + sep);
164
+ }
165
+ function relativeTo(dir, absolute) {
166
+ const rel = absolute === dir ? '' : absolute.slice(dir.length + sep.length);
167
+ return rel.split(sep).join('/');
168
+ }
169
+ //# sourceMappingURL=source-provenance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-provenance.js","sourceRoot":"","sources":["../../src/model/source-provenance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { type SysmlIR } from '../sysml-ir/index.js';
2
+ import type { ParsedDocument } from './parser-utils.js';
3
+ import type { MemoModelDTO } from './semantic.js';
4
+ export declare const SYSML_IR_VERSION = "2.0.0";
5
+ /** Build the canonical record stream before exposing Memo's legacy projection. */
6
+ export declare function lowerAstToSysmlIr(documents: ParsedDocument[], model: MemoModelDTO, projectRoot?: string): SysmlIR;
7
+ /** Memo is now explicitly a projection of IR, rather than its ingestion boundary. */
8
+ export declare function projectSysmlIrToMemo(ir: SysmlIR, model: MemoModelDTO): MemoModelDTO;
9
+ //# sourceMappingURL=sysml-ir.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sysml-ir.d.ts","sourceRoot":"","sources":["../../src/model/sysml-ir.ts"],"names":[],"mappings":"AAIA,OAAO,EAKH,KAAK,OAAO,EAEf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,SAAgB,GAAG,OAAO,CA8DxH;AA+BD,qFAAqF;AACrF,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,GAAG,YAAY,CAEnF"}
@@ -0,0 +1,105 @@
1
+ // AST → canonical SysML IR → Memo projection. The builder remains the
2
+ // projection implementation while the IR owns ingestion completeness.
3
+ import { resolve } from 'node:path';
4
+ import { pathToFileURL } from 'node:url';
5
+ import { sysmlIdentity, } from '../sysml-ir/index.js';
6
+ export const SYSML_IR_VERSION = '2.0.0';
7
+ /** Build the canonical record stream before exposing Memo's legacy projection. */
8
+ export function lowerAstToSysmlIr(documents, model, projectRoot = process.cwd()) {
9
+ const elements = [];
10
+ const diagnostics = [];
11
+ const projected = new Set();
12
+ for (const document of documents) {
13
+ // Langium's EmptyFileSystem assigns ephemeral document URIs. Identity
14
+ // must instead name the authored file, identically in-process and over
15
+ // sysmlc's pipe.
16
+ const uri = pathToFileURL(resolve(projectRoot, document.filePath)).href;
17
+ const visitPackage = (pkg, path, packageName) => {
18
+ for (const [index, member] of (pkg.members ?? []).entries()) {
19
+ const memberPath = `${path}/members[${index}]`;
20
+ if (member.$type === 'PackageDeclaration') {
21
+ visitPackage(member, memberPath, packageName ? `${packageName}::${member.name}` : member.name);
22
+ continue;
23
+ }
24
+ // Imports, metadata and constraints are declarations too. They
25
+ // cannot disappear merely because the current Memo projection
26
+ // has no shape for them.
27
+ const name = member.name ?? member.$type;
28
+ const range = sourceRange(document, member);
29
+ const identity = sysmlIdentity(uri, memberPath, member.$type);
30
+ const candidate = Object.entries(model.elements).find(([, element]) => element.file === document.filePath && element.id === name && element.package === (packageName || undefined));
31
+ if (candidate && !projected.has(candidate[0])) {
32
+ projected.add(candidate[0]);
33
+ const mapped = {
34
+ kind: 'mapped', identity, source: range,
35
+ standardProperties: declaredProperties(member), providerProperties: {}, effectiveTypes: [], memoElementId: candidate[0],
36
+ };
37
+ elements.push(mapped);
38
+ }
39
+ else {
40
+ const unmappable = `Memo has no projection for ${member.$type} '${name}'`;
41
+ const generic = {
42
+ kind: 'generic', identity, source: range,
43
+ standardProperties: declaredProperties(member), providerProperties: {}, effectiveTypes: [], unmappable,
44
+ };
45
+ elements.push(generic);
46
+ diagnostics.push({ domain: 'memo-ingest', severity: 'warning', code: 'unmapped-sysml-element', message: unmappable, elementId: identity.id, file: document.filePath, range });
47
+ }
48
+ }
49
+ };
50
+ for (const [index, member] of (document.document.parseResult.value.members ?? []).entries()) {
51
+ // The package's own name is where the qualified name starts. Passing
52
+ // '' here matched every element against `package === undefined`, so
53
+ // nothing inside a top-level package ever projected: conservation
54
+ // still held — every declaration was reported — but as a file full
55
+ // of unmapped generics rather than the elements MEMO does model.
56
+ if (member.$type === 'PackageDeclaration')
57
+ visitPackage(member, `members[${index}]`, member.name);
58
+ else {
59
+ // A top-level non-package declaration is rare but valid input;
60
+ // preserve it with the same guarantee.
61
+ const range = sourceRange(document, member);
62
+ const identity = sysmlIdentity(uri, `members[${index}]`, member.$type);
63
+ const message = `Memo has no projection for ${member.$type} '${member.name ?? member.$type}'`;
64
+ elements.push({ kind: 'generic', identity, source: range, standardProperties: declaredProperties(member), providerProperties: {}, effectiveTypes: [], unmappable: message });
65
+ diagnostics.push({ domain: 'memo-ingest', severity: 'warning', code: 'unmapped-sysml-element', message, elementId: identity.id, file: document.filePath, range });
66
+ }
67
+ }
68
+ }
69
+ return { irVersion: SYSML_IR_VERSION, elements, diagnostics };
70
+ }
71
+ function declaredProperties(node) {
72
+ const properties = {};
73
+ for (const [key, value] of Object.entries(node)) {
74
+ if (!key.startsWith('$') && typeof value !== 'function' && value !== undefined)
75
+ properties[key] = jsonProperty(value);
76
+ }
77
+ return properties;
78
+ }
79
+ /** AST nodes contain parent links; retain their declared shape without leaking a cycle into IR JSON. */
80
+ function jsonProperty(value) {
81
+ if (value === null || ['string', 'number', 'boolean'].includes(typeof value))
82
+ return value;
83
+ if (Array.isArray(value))
84
+ return value.map(jsonProperty);
85
+ if (typeof value === 'object') {
86
+ const result = {};
87
+ for (const [key, child] of Object.entries(value)) {
88
+ if (!key.startsWith('$') && typeof child !== 'function' && child !== undefined)
89
+ result[key] = jsonProperty(child);
90
+ }
91
+ return result;
92
+ }
93
+ return String(value);
94
+ }
95
+ function sourceRange(document, node) {
96
+ const offset = node.$cstNode?.range?.start ?? 0;
97
+ const position = document.document.textDocument.positionAt(offset);
98
+ const start = { line: position.line + 1, ...(Number.isFinite(position.character) ? { column: position.character + 1 } : {}) };
99
+ return { file: document.filePath, start };
100
+ }
101
+ /** Memo is now explicitly a projection of IR, rather than its ingestion boundary. */
102
+ export function projectSysmlIrToMemo(ir, model) {
103
+ return { ...model, sysmlIr: ir };
104
+ }
105
+ //# sourceMappingURL=sysml-ir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sysml-ir.js","sourceRoot":"","sources":["../../src/model/sysml-ir.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,21 @@
1
1
  import type { MemoModel, MemoElement, ViewpointDTO, DiagramDTO } from './semantic.js';
2
2
  import type { KindRegistry } from './kind-registry.js';
3
+ /**
4
+ * Resolve every `expose` path declared on a view to the element ids it
5
+ * selects. A view exposing its own enclosing package (`expose
6
+ * myPackage::*;`, e.g. a document view scoping to "everything declared
7
+ * alongside me") would otherwise select the view element itself — excluded
8
+ * here the same way the kind/layer selection above excludes it.
9
+ */
10
+ export declare function resolveExposeIds(view: MemoElement, model: MemoModel): string[];
3
11
  /**
4
12
  * Resolve the element ids a view selects.
5
13
  *
6
14
  * Membership comes from two declared sources, both owned by the model:
7
15
  * 1. `selectionQuery.includeElementKinds` (specializations included); when no
8
16
  * kinds are given, `includeLayers` selects whole layers instead
9
- * 2. explicit `IncludedIn` relationships targeting the view
17
+ * 2. native `expose` members (see `resolveExposeIds`) — the sole source of
18
+ * explicit per-element membership since R10-S4 retired `IncludedIn`
10
19
  */
11
20
  export declare function resolveViewElementIds(view: MemoElement, model: MemoModel, kindRegistry?: KindRegistry): string[];
12
21
  export interface DerivedViews {
@@ -1 +1 @@
1
- {"version":3,"file":"view-deriver.d.ts","sourceRoot":"","sources":["../../src/model/view-deriver.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACtF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAkCvD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACjC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,SAAS,EAChB,YAAY,CAAC,EAAE,YAAY,GAC5B,MAAM,EAAE,CA2BV;AA4CD,MAAM,WAAW,YAAY;IACzB,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,QAAQ,EAAE,UAAU,EAAE,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,YAAY,CAoG5F"}
1
+ {"version":3,"file":"view-deriver.d.ts","sourceRoot":"","sources":["../../src/model/view-deriver.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACtF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AA2GvD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE,CAQ9E;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACjC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,SAAS,EAChB,YAAY,CAAC,EAAE,YAAY,GAC5B,MAAM,EAAE,CAyBV;AAgDD,MAAM,WAAW,YAAY;IACzB,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,QAAQ,EAAE,UAAU,EAAE,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,YAAY,CAuI5F"}
@@ -12,7 +12,7 @@
12
12
  // already consumes for config-defined viewpoints, so SysML-modelled views
13
13
  // appear in the Diagrams browser with an auto-populated element selection.
14
14
  // ─────────────────────────────────────────────────────────────────────────────
15
- import { resolveViewKind } from './view-kinds.js';
15
+ import { resolveViewKind, VIEW_KIND_SHORT_ID_PREFIX } from './view-kinds.js';
16
16
  /** Kinds whose instances are treated as model-defined views. */
17
17
  function isViewElement(el, kindRegistry) {
18
18
  if (el.kind === 'Viewpoint' || el.kind === 'ViewSelectionQuery' || el.kind === 'ViewInclusionRule')
@@ -47,13 +47,106 @@ function splitList(raw) {
47
47
  return [];
48
48
  return raw.split(',').map(s => s.trim()).filter(Boolean);
49
49
  }
50
+ /**
51
+ * Push `ownerId`'s owned elements onto `out`; `deep` recurses through the
52
+ * whole subtree. Containment is split across two fields depending on
53
+ * construct — `owner` for nested ports and parts (`extractDefinitionPorts`,
54
+ * `extractNestedParts`), `parentAction` for nested actions
55
+ * (`extractActionUsage`) — so both are checked here or `expose foo::**` would
56
+ * silently drop an entire construct family from the selection.
57
+ */
58
+ function collectOwned(ownerId, deep, model, out) {
59
+ for (const el of model.elements.values()) {
60
+ if (el.owner !== ownerId && el.parentAction !== ownerId)
61
+ continue;
62
+ out.push(el.id);
63
+ if (deep)
64
+ collectOwned(el.id, true, model, out);
65
+ }
66
+ }
67
+ /**
68
+ * Resolve one native `expose <path>;` member to the element ids it names.
69
+ *
70
+ * `ExposePath` has two shapes (`memo-sysml.langium`'s `ExposePath`):
71
+ * - a package-qualified name, optionally suffixed `::*` (direct members) or
72
+ * `::**` (members of the package and any nested package) — the form used
73
+ * to expose a whole model, e.g. `expose myExample::**;`
74
+ * - a dotted element reference, optionally suffixed the same way, walking
75
+ * owned children the way `bind`/`flow` endpoints do — the form used to
76
+ * expose one part and (with a suffix) its owned ports/nested parts, e.g.
77
+ * `expose coffeeMachine::**;`
78
+ * No suffix names exactly the one element or the one package member itself
79
+ * (a bare package name with no suffix selects nothing, since a package is not
80
+ * an element).
81
+ */
82
+ function resolveExposePath(path, model) {
83
+ const suffixMatch = path.match(/::(\*\*|\*)$/);
84
+ const suffix = suffixMatch?.[1];
85
+ const base = suffixMatch ? path.slice(0, -suffixMatch[0].length) : path;
86
+ const pkg = model.packages.find(p => p.qualifiedName === base);
87
+ if (pkg) {
88
+ if (!suffix)
89
+ return [];
90
+ const ids = [];
91
+ for (const el of model.elements.values()) {
92
+ if (el.package === base || (suffix === '**' && el.package?.startsWith(`${base}::`))) {
93
+ ids.push(el.id);
94
+ }
95
+ }
96
+ return ids;
97
+ }
98
+ const segments = base.split(/::|\./).filter(Boolean);
99
+ if (segments.length === 0)
100
+ return [];
101
+ let id = segments[0];
102
+ if (!model.elements.has(id))
103
+ return [];
104
+ let i = 1;
105
+ while (i < segments.length) {
106
+ const child = model.elements.get(segments[i]);
107
+ if (!child || (child.owner !== id && child.parentAction !== id))
108
+ break;
109
+ id = segments[i];
110
+ i++;
111
+ }
112
+ // SysIDE rejects a bare `expose SomeDefinition;` — "Expected Feature
113
+ // element but found ActionDefinition" — because a definition is not
114
+ // itself a feature, only its members are. `X::**`/`X::*` on a definition
115
+ // is legal, and it means exactly that: the definition's owned features,
116
+ // never the definition itself. A usage, by contrast, IS a feature, so it
117
+ // belongs in its own exposed set the same way `coffeeMachine::**`
118
+ // includes `coffeeMachine`.
119
+ const baseEl = model.elements.get(id);
120
+ const ids = baseEl && !baseEl.kind.endsWith('Definition') ? [id] : [];
121
+ if (suffix)
122
+ collectOwned(id, suffix === '**', model, ids);
123
+ return ids;
124
+ }
125
+ /**
126
+ * Resolve every `expose` path declared on a view to the element ids it
127
+ * selects. A view exposing its own enclosing package (`expose
128
+ * myPackage::*;`, e.g. a document view scoping to "everything declared
129
+ * alongside me") would otherwise select the view element itself — excluded
130
+ * here the same way the kind/layer selection above excludes it.
131
+ */
132
+ export function resolveExposeIds(view, model) {
133
+ const ids = new Set();
134
+ for (const path of splitList(view.attributes['expose'])) {
135
+ for (const id of resolveExposePath(path, model)) {
136
+ if (id !== view.id)
137
+ ids.add(id);
138
+ }
139
+ }
140
+ return [...ids];
141
+ }
50
142
  /**
51
143
  * Resolve the element ids a view selects.
52
144
  *
53
145
  * Membership comes from two declared sources, both owned by the model:
54
146
  * 1. `selectionQuery.includeElementKinds` (specializations included); when no
55
147
  * kinds are given, `includeLayers` selects whole layers instead
56
- * 2. explicit `IncludedIn` relationships targeting the view
148
+ * 2. native `expose` members (see `resolveExposeIds`) — the sole source of
149
+ * explicit per-element membership since R10-S4 retired `IncludedIn`
57
150
  */
58
151
  export function resolveViewElementIds(view, model, kindRegistry) {
59
152
  const kindList = splitList(view.attributes['selectionQuery.includeElementKinds']);
@@ -83,10 +176,8 @@ export function resolveViewElementIds(view, model, kindRegistry) {
83
176
  if (authored)
84
177
  ids.add(authored.id);
85
178
  }
86
- for (const rel of model.incoming.get(view.id) ?? []) {
87
- if (rel.type.toLowerCase() === 'includedin' && rel.sourceId !== view.id)
88
- ids.add(rel.sourceId);
89
- }
179
+ for (const id of resolveExposeIds(view, model))
180
+ ids.add(id);
90
181
  return [...ids];
91
182
  }
92
183
  /** Human label from a viewpoint reference like "riskViewpoint" → "Risk". */
@@ -116,6 +207,10 @@ function resolveViewpoints(view, model) {
116
207
  // that bind to it — a viewpoint states which layers it frames even
117
208
  // before any view exists.
118
209
  declaredLayers: splitList(authored?.attributes['includedLayers'] ?? ''),
210
+ explorerLane: authored?.attributes['explorerLane'],
211
+ explorerOrder: Number.isFinite(Number(authored?.attributes['explorerOrder']))
212
+ ? Number(authored?.attributes['explorerOrder'])
213
+ : undefined,
119
214
  ref,
120
215
  };
121
216
  });
@@ -143,10 +238,15 @@ export function deriveModelViews(model, kindRegistry) {
143
238
  ? el.package.split('::').some(segment => /(?:^|_)samples(?:_|$)/.test(segment))
144
239
  : false;
145
240
  const authoredViewpoints = resolveViewpoints(el, model);
241
+ // A renderer sample without a binding remains in Model > Samples, but
242
+ // an authored ISO 42010 binding is always authoritative. In
243
+ // particular, a real project may legitimately contain `samples` in
244
+ // its package name and still organize its views by viewpoint.
245
+ const usesRendererSampleFallback = isRendererSample && authoredViewpoints.length === 0;
146
246
  // A view with no viewpoint binding is genuinely unassigned. Do not
147
247
  // misclassify it as a "Document View" merely because its binding was
148
248
  // absent or could not be resolved.
149
- const vpIds = isRendererSample
249
+ const vpIds = usesRendererSampleFallback
150
250
  ? ['__model']
151
251
  : authoredViewpoints.length > 0
152
252
  ? authoredViewpoints.map(vp => vp.id)
@@ -155,11 +255,13 @@ export function deriveModelViews(model, kindRegistry) {
155
255
  for (const authoredViewpoint of authoredViewpoints.length > 0
156
256
  ? authoredViewpoints
157
257
  : [{ id: '__unassigned', label: 'Unassigned Views', ref: '__unassigned' }]) {
158
- if (!isRendererSample && !viewpointsById.has(authoredViewpoint.id)) {
258
+ if (!usesRendererSampleFallback && !viewpointsById.has(authoredViewpoint.id)) {
159
259
  viewpointsById.set(authoredViewpoint.id, {
160
260
  id: authoredViewpoint.id,
161
261
  label: authoredViewpoint.label,
162
262
  group: authoredViewpoint.group,
263
+ explorerLane: authoredViewpoint.explorerLane,
264
+ explorerOrder: authoredViewpoint.explorerOrder,
163
265
  declaredLayers: authoredViewpoint.declaredLayers?.length
164
266
  ? authoredViewpoint.declaredLayers : undefined,
165
267
  visibleKinds: [],
@@ -170,6 +272,13 @@ export function deriveModelViews(model, kindRegistry) {
170
272
  }
171
273
  const vps = vpIds.map(id => viewpointsById.get(id)).filter((vp) => Boolean(vp));
172
274
  const queryKinds = splitList(el.attributes['selectionQuery.includeElementKinds']);
275
+ // Carried in the spelling SOURCE used — `Composes` for a MEMO
276
+ // `connection def`, `flow`/`bind` for a native keyword — because this
277
+ // list is a declaration, and a viewpoint that says "Composes" should
278
+ // read back as "Composes". A `MemoRelationship.type` is lowerCamelCase,
279
+ // so any consumer that MATCHES against the model must normalize first
280
+ // with `toModelType` / `toModelTypeSet` from `model/naming.ts`. Do not
281
+ // normalize here: it would lowercase what the UI displays.
173
282
  const queryRels = splitList(el.attributes['selectionQuery.includeRelationshipKinds']);
174
283
  for (const vp of vps) {
175
284
  // Palette/filter eligibility follows the ontology specialization
@@ -188,17 +297,24 @@ export function deriveModelViews(model, kindRegistry) {
188
297
  vp.visibleRelationships.push(r);
189
298
  }
190
299
  }
300
+ // A view usage inherits the attribute values its `view def` binds, and
301
+ // SysIDE forbids restating them on the usage, so the definition is the
302
+ // only place they can live. The usage's own values still win where it
303
+ // declares any.
304
+ const inherited = kindRegistry?.getViewDefaults(el.kind) ?? {};
305
+ const attr = (name) => el.attributes[name] || inherited[name];
191
306
  // Presentation hints declared on the view — the renderer stays dumb and
192
307
  // just honors them
193
308
  const properties = {};
194
309
  for (const hint of ['layoutHint', 'styleHint', 'presentationKind']) {
195
- if (el.attributes[hint])
196
- properties[hint] = el.attributes[hint];
310
+ const value = attr(hint);
311
+ if (value)
312
+ properties[hint] = value;
197
313
  }
198
314
  // Every view resolves to exactly one of the 8 spec view kinds: an
199
315
  // explicit `viewKind` declaration wins, else the legacy diagramType
200
316
  // key maps; document-backed views (no diagramType) become browser.
201
- const viewKind = resolveViewKind(el.attributes['viewKind'], el.attributes['diagramType']);
317
+ const viewKind = resolveViewKind(attr('viewKind'), el.attributes['diagramType']);
202
318
  diagrams.push({
203
319
  id: isRendererSample
204
320
  ? `diag-sample-${el.id}`
@@ -227,6 +343,18 @@ export function deriveModelViews(model, kindRegistry) {
227
343
  sourceFile: el.file,
228
344
  });
229
345
  }
346
+ // Views use their standard SysML view-kind family, rather than the generic
347
+ // MemoDiagramView element family: GEN-1, ACT-1, STM-1, and so on.
348
+ const diagramsByPrefix = new Map();
349
+ for (const diagram of diagrams) {
350
+ const prefix = VIEW_KIND_SHORT_ID_PREFIX[diagram.viewKind] ?? 'BRW';
351
+ diagramsByPrefix.set(prefix, [...(diagramsByPrefix.get(prefix) ?? []), diagram]);
352
+ }
353
+ for (const [prefix, views] of diagramsByPrefix) {
354
+ views.sort((a, b) => a.id.localeCompare(b.id)).forEach((diagram, index) => {
355
+ diagram.shortId = `${prefix}-${index + 1}`;
356
+ });
357
+ }
230
358
  return { viewpoints: [...viewpointsById.values()], diagrams };
231
359
  }
232
360
  //# sourceMappingURL=view-deriver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"view-deriver.js","sourceRoot":"","sources":["../../src/model/view-deriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view-deriver.js","sourceRoot":"","sources":["../../src/model/view-deriver.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  /** The eight standard SysML v2 view kinds. */
2
2
  export declare const VIEW_KINDS: readonly ["general", "interconnection", "actionflow", "statetransition", "sequence", "grid", "browser", "geometry"];
3
3
  export type ViewKind = (typeof VIEW_KINDS)[number];
4
+ /** Compact identifier prefix used by views of each standard SysML view kind. */
5
+ export declare const VIEW_KIND_SHORT_ID_PREFIX: Record<ViewKind, string>;
4
6
  export declare function isViewKind(value: string): value is ViewKind;
5
7
  /**
6
8
  * Map every legacy `diagramType` key to its spec view kind.
@@ -1 +1 @@
1
- {"version":3,"file":"view-kinds.d.ts","sourceRoot":"","sources":["../../src/model/view-kinds.ts"],"names":[],"mappings":"AAYA,8CAA8C;AAC9C,eAAO,MAAM,UAAU,qHASb,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAInD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,QAAQ,CAE3D;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAkB9D,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAI/E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC3B,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,WAAW,EAAE,MAAM,GAAG,SAAS,GAChC,QAAQ,CAKV"}
1
+ {"version":3,"file":"view-kinds.d.ts","sourceRoot":"","sources":["../../src/model/view-kinds.ts"],"names":[],"mappings":"AAYA,8CAA8C;AAC9C,eAAO,MAAM,UAAU,qHASb,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,gFAAgF;AAChF,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAS9D,CAAC;AAIF,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,QAAQ,CAE3D;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAkB9D,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAI/E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC3B,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,WAAW,EAAE,MAAM,GAAG,SAAS,GAChC,QAAQ,CAKV"}