@memoarchitect/tools 0.6.6 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (478) hide show
  1. package/README.md +54 -11
  2. package/package.json +19 -7
  3. package/packages/tools/lib/analysis-starters.d.ts +4 -0
  4. package/packages/tools/lib/analysis-starters.d.ts.map +1 -0
  5. package/packages/tools/lib/analysis-starters.js +425 -0
  6. package/packages/tools/lib/analysis-starters.js.map +1 -0
  7. package/packages/tools/lib/bin/memo.js +161 -10
  8. package/packages/tools/lib/bin/memo.js.map +1 -1
  9. package/packages/tools/lib/browser/index.d.ts +1 -1
  10. package/packages/tools/lib/browser/index.d.ts.map +1 -1
  11. package/packages/tools/lib/browser/index.js +1 -1
  12. package/packages/tools/lib/browser/index.js.map +1 -1
  13. package/packages/tools/lib/commands/ask.js +1 -1
  14. package/packages/tools/lib/commands/ask.js.map +1 -1
  15. package/packages/tools/lib/commands/check.d.ts.map +1 -1
  16. package/packages/tools/lib/commands/check.js +3 -9
  17. package/packages/tools/lib/commands/check.js.map +1 -1
  18. package/packages/tools/lib/commands/conformance.d.ts +36 -0
  19. package/packages/tools/lib/commands/conformance.d.ts.map +1 -0
  20. package/packages/tools/lib/commands/conformance.js +212 -0
  21. package/packages/tools/lib/commands/conformance.js.map +1 -0
  22. package/packages/tools/lib/commands/convert.d.ts +12 -0
  23. package/packages/tools/lib/commands/convert.d.ts.map +1 -0
  24. package/packages/tools/lib/commands/convert.js +103 -0
  25. package/packages/tools/lib/commands/convert.js.map +1 -0
  26. package/packages/tools/lib/commands/create-package.d.ts +1 -2
  27. package/packages/tools/lib/commands/create-package.d.ts.map +1 -1
  28. package/packages/tools/lib/commands/create-package.js.map +1 -1
  29. package/packages/tools/lib/commands/dev.d.ts +13 -0
  30. package/packages/tools/lib/commands/dev.d.ts.map +1 -1
  31. package/packages/tools/lib/commands/dev.js +208 -74
  32. package/packages/tools/lib/commands/dev.js.map +1 -1
  33. package/packages/tools/lib/commands/dhf-draft.js +1 -1
  34. package/packages/tools/lib/commands/dhf-draft.js.map +1 -1
  35. package/packages/tools/lib/commands/dhf-preview.js +1 -1
  36. package/packages/tools/lib/commands/dhf-preview.js.map +1 -1
  37. package/packages/tools/lib/commands/dhf.js +1 -1
  38. package/packages/tools/lib/commands/dhf.js.map +1 -1
  39. package/packages/tools/lib/commands/element.d.ts +34 -0
  40. package/packages/tools/lib/commands/element.d.ts.map +1 -0
  41. package/packages/tools/lib/commands/element.js +174 -0
  42. package/packages/tools/lib/commands/element.js.map +1 -0
  43. package/packages/tools/lib/commands/export.d.ts.map +1 -1
  44. package/packages/tools/lib/commands/export.js +39 -40
  45. package/packages/tools/lib/commands/export.js.map +1 -1
  46. package/packages/tools/lib/commands/generate.d.ts.map +1 -1
  47. package/packages/tools/lib/commands/generate.js +10 -7
  48. package/packages/tools/lib/commands/generate.js.map +1 -1
  49. package/packages/tools/lib/commands/import.d.ts.map +1 -1
  50. package/packages/tools/lib/commands/import.js +25 -12
  51. package/packages/tools/lib/commands/import.js.map +1 -1
  52. package/packages/tools/lib/commands/init.d.ts.map +1 -1
  53. package/packages/tools/lib/commands/init.js +37 -14
  54. package/packages/tools/lib/commands/init.js.map +1 -1
  55. package/packages/tools/lib/commands/inspect.d.ts +5 -0
  56. package/packages/tools/lib/commands/inspect.d.ts.map +1 -0
  57. package/packages/tools/lib/commands/inspect.js +56 -0
  58. package/packages/tools/lib/commands/inspect.js.map +1 -0
  59. package/packages/tools/lib/commands/lock.d.ts.map +1 -1
  60. package/packages/tools/lib/commands/lock.js +7 -2
  61. package/packages/tools/lib/commands/lock.js.map +1 -1
  62. package/packages/tools/lib/commands/ontology.d.ts.map +1 -1
  63. package/packages/tools/lib/commands/ontology.js +69 -116
  64. package/packages/tools/lib/commands/ontology.js.map +1 -1
  65. package/packages/tools/lib/commands/pack.d.ts +1 -1
  66. package/packages/tools/lib/commands/pack.d.ts.map +1 -1
  67. package/packages/tools/lib/commands/pack.js +20 -75
  68. package/packages/tools/lib/commands/pack.js.map +1 -1
  69. package/packages/tools/lib/commands/package.d.ts +10 -0
  70. package/packages/tools/lib/commands/package.d.ts.map +1 -0
  71. package/packages/tools/lib/commands/package.js +113 -0
  72. package/packages/tools/lib/commands/package.js.map +1 -0
  73. package/packages/tools/lib/commands/plugin.js +1 -1
  74. package/packages/tools/lib/commands/plugin.js.map +1 -1
  75. package/packages/tools/lib/commands/rules.d.ts.map +1 -1
  76. package/packages/tools/lib/commands/rules.js +120 -30
  77. package/packages/tools/lib/commands/rules.js.map +1 -1
  78. package/packages/tools/lib/commands/sysand-publish.d.ts.map +1 -1
  79. package/packages/tools/lib/commands/sysand-publish.js +14 -16
  80. package/packages/tools/lib/commands/sysand-publish.js.map +1 -1
  81. package/packages/tools/lib/commands/toolchain.d.ts +8 -0
  82. package/packages/tools/lib/commands/toolchain.d.ts.map +1 -0
  83. package/packages/tools/lib/commands/toolchain.js +64 -0
  84. package/packages/tools/lib/commands/toolchain.js.map +1 -0
  85. package/packages/tools/lib/commands/validate.d.ts +1 -1
  86. package/packages/tools/lib/commands/validate.d.ts.map +1 -1
  87. package/packages/tools/lib/commands/validate.js +183 -56
  88. package/packages/tools/lib/commands/validate.js.map +1 -1
  89. package/packages/tools/lib/completeness/tracker.d.ts +10 -2
  90. package/packages/tools/lib/completeness/tracker.d.ts.map +1 -1
  91. package/packages/tools/lib/completeness/tracker.js +16 -21
  92. package/packages/tools/lib/completeness/tracker.js.map +1 -1
  93. package/packages/tools/lib/conformance/baseline.d.ts +26 -0
  94. package/packages/tools/lib/conformance/baseline.d.ts.map +1 -0
  95. package/packages/tools/lib/conformance/baseline.js +170 -0
  96. package/packages/tools/lib/conformance/baseline.js.map +1 -0
  97. package/packages/tools/lib/conformance/bnf.d.ts +84 -0
  98. package/packages/tools/lib/conformance/bnf.d.ts.map +1 -0
  99. package/packages/tools/lib/conformance/bnf.js +166 -0
  100. package/packages/tools/lib/conformance/bnf.js.map +1 -0
  101. package/packages/tools/lib/conformance/corpus.d.ts +125 -0
  102. package/packages/tools/lib/conformance/corpus.d.ts.map +1 -0
  103. package/packages/tools/lib/conformance/corpus.js +190 -0
  104. package/packages/tools/lib/conformance/corpus.js.map +1 -0
  105. package/packages/tools/lib/conformance/diff-xmi.d.ts +118 -0
  106. package/packages/tools/lib/conformance/diff-xmi.d.ts.map +1 -0
  107. package/packages/tools/lib/conformance/diff-xmi.js +276 -0
  108. package/packages/tools/lib/conformance/diff-xmi.js.map +1 -0
  109. package/packages/tools/lib/conformance/generated/syside-rules.d.ts +10 -0
  110. package/packages/tools/lib/conformance/generated/syside-rules.d.ts.map +1 -0
  111. package/packages/tools/lib/conformance/generated/syside-rules.js +1142 -0
  112. package/packages/tools/lib/conformance/generated/syside-rules.js.map +1 -0
  113. package/packages/tools/lib/conformance/index.d.ts +7 -0
  114. package/packages/tools/lib/conformance/index.d.ts.map +1 -0
  115. package/packages/tools/lib/conformance/index.js +19 -0
  116. package/packages/tools/lib/conformance/index.js.map +1 -0
  117. package/packages/tools/lib/conformance/run.d.ts +117 -0
  118. package/packages/tools/lib/conformance/run.d.ts.map +1 -0
  119. package/packages/tools/lib/conformance/run.js +0 -0
  120. package/packages/tools/lib/conformance/run.js.map +1 -0
  121. package/packages/tools/lib/conformance/xmi.d.ts +45 -0
  122. package/packages/tools/lib/conformance/xmi.d.ts.map +1 -0
  123. package/packages/tools/lib/conformance/xmi.js +148 -0
  124. package/packages/tools/lib/conformance/xmi.js.map +1 -0
  125. package/packages/tools/lib/dhf/template-resolver.js +1 -1
  126. package/packages/tools/lib/dhf/template-resolver.js.map +1 -1
  127. package/packages/tools/lib/import/column-mapper.d.ts +2 -2
  128. package/packages/tools/lib/import/column-mapper.d.ts.map +1 -1
  129. package/packages/tools/lib/import/column-mapper.js +3 -3
  130. package/packages/tools/lib/import/column-mapper.js.map +1 -1
  131. package/packages/tools/lib/index.d.ts +20 -3
  132. package/packages/tools/lib/index.d.ts.map +1 -1
  133. package/packages/tools/lib/index.js +19 -2
  134. package/packages/tools/lib/index.js.map +1 -1
  135. package/packages/tools/lib/language/generated/ast.d.ts +196 -51
  136. package/packages/tools/lib/language/generated/ast.d.ts.map +1 -1
  137. package/packages/tools/lib/language/generated/ast.js +136 -15
  138. package/packages/tools/lib/language/generated/ast.js.map +1 -1
  139. package/packages/tools/lib/language/generated/grammar.d.ts.map +1 -1
  140. package/packages/tools/lib/language/generated/grammar.js +867 -295
  141. package/packages/tools/lib/language/generated/grammar.js.map +1 -1
  142. package/packages/tools/lib/llm/chat-engine.d.ts +4 -3
  143. package/packages/tools/lib/llm/chat-engine.d.ts.map +1 -1
  144. package/packages/tools/lib/llm/chat-engine.js +15 -12
  145. package/packages/tools/lib/llm/chat-engine.js.map +1 -1
  146. package/packages/tools/lib/llm/generate-engine.d.ts +7 -2
  147. package/packages/tools/lib/llm/generate-engine.d.ts.map +1 -1
  148. package/packages/tools/lib/llm/generate-engine.js +22 -4
  149. package/packages/tools/lib/llm/generate-engine.js.map +1 -1
  150. package/packages/tools/lib/llm/index.d.ts +1 -0
  151. package/packages/tools/lib/llm/index.d.ts.map +1 -1
  152. package/packages/tools/lib/llm/index.js +1 -0
  153. package/packages/tools/lib/llm/index.js.map +1 -1
  154. package/packages/tools/lib/llm/model-context.d.ts +2 -2
  155. package/packages/tools/lib/llm/model-context.d.ts.map +1 -1
  156. package/packages/tools/lib/llm/model-context.js +7 -13
  157. package/packages/tools/lib/llm/model-context.js.map +1 -1
  158. package/packages/tools/lib/llm/sysml-guidance.d.ts +8 -0
  159. package/packages/tools/lib/llm/sysml-guidance.d.ts.map +1 -0
  160. package/packages/tools/lib/llm/sysml-guidance.js +28 -0
  161. package/packages/tools/lib/llm/sysml-guidance.js.map +1 -0
  162. package/packages/tools/lib/lock.d.ts +14 -8
  163. package/packages/tools/lib/lock.d.ts.map +1 -1
  164. package/packages/tools/lib/lock.js +97 -108
  165. package/packages/tools/lib/lock.js.map +1 -1
  166. package/packages/tools/lib/mcp/model-loader.d.ts +5 -1
  167. package/packages/tools/lib/mcp/model-loader.d.ts.map +1 -1
  168. package/packages/tools/lib/mcp/model-loader.js +16 -27
  169. package/packages/tools/lib/mcp/model-loader.js.map +1 -1
  170. package/packages/tools/lib/mcp/tools.d.ts +3 -0
  171. package/packages/tools/lib/mcp/tools.d.ts.map +1 -1
  172. package/packages/tools/lib/mcp/tools.js +8 -9
  173. package/packages/tools/lib/mcp/tools.js.map +1 -1
  174. package/packages/tools/lib/model/activity-notation.d.ts +54 -0
  175. package/packages/tools/lib/model/activity-notation.d.ts.map +1 -0
  176. package/packages/tools/lib/model/activity-notation.js +208 -0
  177. package/packages/tools/lib/model/activity-notation.js.map +1 -0
  178. package/packages/tools/lib/model/builder.d.ts +3 -0
  179. package/packages/tools/lib/model/builder.d.ts.map +1 -1
  180. package/packages/tools/lib/model/builder.js +264 -26
  181. package/packages/tools/lib/model/builder.js.map +1 -1
  182. package/packages/tools/lib/model/config-loader.d.ts +19 -25
  183. package/packages/tools/lib/model/config-loader.d.ts.map +1 -1
  184. package/packages/tools/lib/model/config-loader.js +51 -233
  185. package/packages/tools/lib/model/config-loader.js.map +1 -1
  186. package/packages/tools/lib/model/config.d.ts +42 -213
  187. package/packages/tools/lib/model/config.d.ts.map +1 -1
  188. package/packages/tools/lib/model/config.js +11 -9
  189. package/packages/tools/lib/model/config.js.map +1 -1
  190. package/packages/tools/lib/model/effective-scope.d.ts +74 -0
  191. package/packages/tools/lib/model/effective-scope.d.ts.map +1 -0
  192. package/packages/tools/lib/model/effective-scope.js +133 -0
  193. package/packages/tools/lib/model/effective-scope.js.map +1 -0
  194. package/packages/tools/lib/model/ir-identity.d.ts +94 -0
  195. package/packages/tools/lib/model/ir-identity.d.ts.map +1 -0
  196. package/packages/tools/lib/model/ir-identity.js +178 -0
  197. package/packages/tools/lib/model/ir-identity.js.map +1 -0
  198. package/packages/tools/lib/model/kind-registry.d.ts +114 -1
  199. package/packages/tools/lib/model/kind-registry.d.ts.map +1 -1
  200. package/packages/tools/lib/model/kind-registry.js +148 -4
  201. package/packages/tools/lib/model/kind-registry.js.map +1 -1
  202. package/packages/tools/lib/model/layer-resolver.js +1 -1
  203. package/packages/tools/lib/model/layer-resolver.js.map +1 -1
  204. package/packages/tools/lib/model/methodology-loader.d.ts +19 -24
  205. package/packages/tools/lib/model/methodology-loader.d.ts.map +1 -1
  206. package/packages/tools/lib/model/methodology-loader.js +179 -176
  207. package/packages/tools/lib/model/methodology-loader.js.map +1 -1
  208. package/packages/tools/lib/model/methodology-resolver.d.ts +115 -0
  209. package/packages/tools/lib/model/methodology-resolver.d.ts.map +1 -0
  210. package/packages/tools/lib/model/methodology-resolver.js +317 -0
  211. package/packages/tools/lib/model/methodology-resolver.js.map +1 -0
  212. package/packages/tools/lib/model/native-project.d.ts +130 -0
  213. package/packages/tools/lib/model/native-project.d.ts.map +1 -0
  214. package/packages/tools/lib/model/native-project.js +570 -0
  215. package/packages/tools/lib/model/native-project.js.map +1 -0
  216. package/packages/tools/lib/model/ontology-loader.d.ts +34 -21
  217. package/packages/tools/lib/model/ontology-loader.d.ts.map +1 -1
  218. package/packages/tools/lib/model/ontology-loader.js +340 -614
  219. package/packages/tools/lib/model/ontology-loader.js.map +1 -1
  220. package/packages/tools/lib/model/package-manifest.d.ts +37 -0
  221. package/packages/tools/lib/model/package-manifest.d.ts.map +1 -0
  222. package/packages/tools/lib/model/package-manifest.js +96 -0
  223. package/packages/tools/lib/model/package-manifest.js.map +1 -0
  224. package/packages/tools/lib/model/parser-utils.d.ts +31 -0
  225. package/packages/tools/lib/model/parser-utils.d.ts.map +1 -1
  226. package/packages/tools/lib/model/parser-utils.js +89 -1
  227. package/packages/tools/lib/model/parser-utils.js.map +1 -1
  228. package/packages/tools/lib/model/paths.d.ts +10 -4
  229. package/packages/tools/lib/model/paths.d.ts.map +1 -1
  230. package/packages/tools/lib/model/paths.js +10 -4
  231. package/packages/tools/lib/model/paths.js.map +1 -1
  232. package/packages/tools/lib/model/project-conversion.d.ts +226 -0
  233. package/packages/tools/lib/model/project-conversion.d.ts.map +1 -0
  234. package/packages/tools/lib/model/project-conversion.js +946 -0
  235. package/packages/tools/lib/model/project-conversion.js.map +1 -0
  236. package/packages/tools/lib/model/relationship-legality.d.ts +12 -0
  237. package/packages/tools/lib/model/relationship-legality.d.ts.map +1 -1
  238. package/packages/tools/lib/model/relationship-legality.js.map +1 -1
  239. package/packages/tools/lib/model/relationship-registry.d.ts +16 -1
  240. package/packages/tools/lib/model/relationship-registry.d.ts.map +1 -1
  241. package/packages/tools/lib/model/relationship-registry.js.map +1 -1
  242. package/packages/tools/lib/model/semantic.d.ts +38 -0
  243. package/packages/tools/lib/model/semantic.d.ts.map +1 -1
  244. package/packages/tools/lib/model/semantic.js +3 -0
  245. package/packages/tools/lib/model/semantic.js.map +1 -1
  246. package/packages/tools/lib/model/settings-boundary.d.ts +19 -0
  247. package/packages/tools/lib/model/settings-boundary.d.ts.map +1 -0
  248. package/packages/tools/lib/model/settings-boundary.js +118 -0
  249. package/packages/tools/lib/model/settings-boundary.js.map +1 -0
  250. package/packages/tools/lib/model/short-id.d.ts +8 -7
  251. package/packages/tools/lib/model/short-id.d.ts.map +1 -1
  252. package/packages/tools/lib/model/short-id.js +26 -17
  253. package/packages/tools/lib/model/short-id.js.map +1 -1
  254. package/packages/tools/lib/model/source-graph.d.ts.map +1 -1
  255. package/packages/tools/lib/model/source-graph.js +5 -1
  256. package/packages/tools/lib/model/source-graph.js.map +1 -1
  257. package/packages/tools/lib/model/source-provenance.d.ts +112 -0
  258. package/packages/tools/lib/model/source-provenance.d.ts.map +1 -0
  259. package/packages/tools/lib/model/source-provenance.js +169 -0
  260. package/packages/tools/lib/model/source-provenance.js.map +1 -0
  261. package/packages/tools/lib/model/sysml-files.d.ts +9 -0
  262. package/packages/tools/lib/model/sysml-files.d.ts.map +1 -1
  263. package/packages/tools/lib/model/sysml-files.js +20 -1
  264. package/packages/tools/lib/model/sysml-files.js.map +1 -1
  265. package/packages/tools/lib/model/sysml-ir.d.ts +9 -0
  266. package/packages/tools/lib/model/sysml-ir.d.ts.map +1 -0
  267. package/packages/tools/lib/model/sysml-ir.js +105 -0
  268. package/packages/tools/lib/model/sysml-ir.js.map +1 -0
  269. package/packages/tools/lib/model/view-deriver.d.ts.map +1 -1
  270. package/packages/tools/lib/model/view-deriver.js +60 -6
  271. package/packages/tools/lib/model/view-deriver.js.map +1 -1
  272. package/packages/tools/lib/model/view-kinds.d.ts +2 -0
  273. package/packages/tools/lib/model/view-kinds.d.ts.map +1 -1
  274. package/packages/tools/lib/model/view-kinds.js +11 -0
  275. package/packages/tools/lib/model/view-kinds.js.map +1 -1
  276. package/packages/tools/lib/ontology/owl-exporter.d.ts +2 -2
  277. package/packages/tools/lib/ontology/owl-exporter.d.ts.map +1 -1
  278. package/packages/tools/lib/ontology/owl-exporter.js +12 -12
  279. package/packages/tools/lib/ontology/owl-exporter.js.map +1 -1
  280. package/packages/tools/lib/operations/ai-authoring.d.ts +24 -0
  281. package/packages/tools/lib/operations/ai-authoring.d.ts.map +1 -0
  282. package/packages/tools/lib/operations/ai-authoring.js +77 -0
  283. package/packages/tools/lib/operations/ai-authoring.js.map +1 -0
  284. package/packages/tools/lib/operations/authoring.d.ts +40 -0
  285. package/packages/tools/lib/operations/authoring.d.ts.map +1 -0
  286. package/packages/tools/lib/operations/authoring.js +56 -0
  287. package/packages/tools/lib/operations/authoring.js.map +1 -0
  288. package/packages/tools/lib/operations/index.d.ts +2 -0
  289. package/packages/tools/lib/operations/index.d.ts.map +1 -1
  290. package/packages/tools/lib/operations/index.js +2 -0
  291. package/packages/tools/lib/operations/index.js.map +1 -1
  292. package/packages/tools/lib/operations/project-snapshot.d.ts +28 -3
  293. package/packages/tools/lib/operations/project-snapshot.d.ts.map +1 -1
  294. package/packages/tools/lib/operations/project-snapshot.js +79 -30
  295. package/packages/tools/lib/operations/project-snapshot.js.map +1 -1
  296. package/packages/tools/lib/protocol/messages.d.ts +311 -11
  297. package/packages/tools/lib/protocol/messages.d.ts.map +1 -1
  298. package/packages/tools/lib/serializer/csv-io.d.ts +7 -7
  299. package/packages/tools/lib/serializer/csv-io.d.ts.map +1 -1
  300. package/packages/tools/lib/serializer/csv-io.js +11 -11
  301. package/packages/tools/lib/serializer/csv-io.js.map +1 -1
  302. package/packages/tools/lib/serializer/sysml-generator.d.ts.map +1 -1
  303. package/packages/tools/lib/serializer/sysml-generator.js +34 -2
  304. package/packages/tools/lib/serializer/sysml-generator.js.map +1 -1
  305. package/packages/tools/lib/server/config-resolver.d.ts +8 -4
  306. package/packages/tools/lib/server/config-resolver.d.ts.map +1 -1
  307. package/packages/tools/lib/server/config-resolver.js +25 -44
  308. package/packages/tools/lib/server/config-resolver.js.map +1 -1
  309. package/packages/tools/lib/server/conflict-policy.d.ts +44 -0
  310. package/packages/tools/lib/server/conflict-policy.d.ts.map +1 -0
  311. package/packages/tools/lib/server/conflict-policy.js +94 -0
  312. package/packages/tools/lib/server/conflict-policy.js.map +1 -0
  313. package/packages/tools/lib/server/dev-server.d.ts +32 -2
  314. package/packages/tools/lib/server/dev-server.d.ts.map +1 -1
  315. package/packages/tools/lib/server/dev-server.js +721 -53
  316. package/packages/tools/lib/server/dev-server.js.map +1 -1
  317. package/packages/tools/lib/server/element-writer.d.ts +11 -0
  318. package/packages/tools/lib/server/element-writer.d.ts.map +1 -0
  319. package/packages/tools/lib/server/element-writer.js +123 -0
  320. package/packages/tools/lib/server/element-writer.js.map +1 -0
  321. package/packages/tools/lib/server/file-watcher.d.ts +4 -1
  322. package/packages/tools/lib/server/file-watcher.d.ts.map +1 -1
  323. package/packages/tools/lib/server/file-watcher.js +17 -7
  324. package/packages/tools/lib/server/file-watcher.js.map +1 -1
  325. package/packages/tools/lib/server/mutation-domain.d.ts +22 -0
  326. package/packages/tools/lib/server/mutation-domain.d.ts.map +1 -0
  327. package/packages/tools/lib/server/mutation-domain.js +87 -0
  328. package/packages/tools/lib/server/mutation-domain.js.map +1 -0
  329. package/packages/tools/lib/server/persistor.d.ts +63 -8
  330. package/packages/tools/lib/server/persistor.d.ts.map +1 -1
  331. package/packages/tools/lib/server/persistor.js +152 -44
  332. package/packages/tools/lib/server/persistor.js.map +1 -1
  333. package/packages/tools/lib/server/relationship-writer.d.ts +28 -4
  334. package/packages/tools/lib/server/relationship-writer.d.ts.map +1 -1
  335. package/packages/tools/lib/server/relationship-writer.js +98 -9
  336. package/packages/tools/lib/server/relationship-writer.js.map +1 -1
  337. package/packages/tools/lib/server/rule-policy-writer.d.ts +40 -0
  338. package/packages/tools/lib/server/rule-policy-writer.d.ts.map +1 -0
  339. package/packages/tools/lib/server/rule-policy-writer.js +124 -0
  340. package/packages/tools/lib/server/rule-policy-writer.js.map +1 -0
  341. package/packages/tools/lib/server/runtime-budget.d.ts +14 -0
  342. package/packages/tools/lib/server/runtime-budget.d.ts.map +1 -0
  343. package/packages/tools/lib/server/runtime-budget.js +15 -0
  344. package/packages/tools/lib/server/runtime-budget.js.map +1 -0
  345. package/packages/tools/lib/server/sysml-notation.d.ts +36 -0
  346. package/packages/tools/lib/server/sysml-notation.d.ts.map +1 -0
  347. package/packages/tools/lib/server/sysml-notation.js +87 -0
  348. package/packages/tools/lib/server/sysml-notation.js.map +1 -0
  349. package/packages/tools/lib/server/view-layout-store.d.ts.map +1 -1
  350. package/packages/tools/lib/server/view-layout-store.js +2 -0
  351. package/packages/tools/lib/server/view-layout-store.js.map +1 -1
  352. package/packages/tools/lib/sysml-ir/generated/sysml-derivations.d.ts +9 -0
  353. package/packages/tools/lib/sysml-ir/generated/sysml-derivations.d.ts.map +1 -0
  354. package/packages/tools/lib/sysml-ir/generated/sysml-derivations.js +315 -0
  355. package/packages/tools/lib/sysml-ir/generated/sysml-derivations.js.map +1 -0
  356. package/packages/tools/lib/sysml-ir/generated/sysml-metamodel.d.ts +5206 -0
  357. package/packages/tools/lib/sysml-ir/generated/sysml-metamodel.d.ts.map +1 -0
  358. package/packages/tools/lib/sysml-ir/generated/sysml-metamodel.js +1933 -0
  359. package/packages/tools/lib/sysml-ir/generated/sysml-metamodel.js.map +1 -0
  360. package/packages/tools/lib/sysml-ir/index.d.ts +3 -0
  361. package/packages/tools/lib/sysml-ir/index.d.ts.map +1 -0
  362. package/packages/tools/lib/sysml-ir/index.js +3 -0
  363. package/packages/tools/lib/sysml-ir/index.js.map +1 -0
  364. package/packages/tools/lib/sysml-ir/ir.d.ts +50 -0
  365. package/packages/tools/lib/sysml-ir/ir.d.ts.map +1 -0
  366. package/packages/tools/lib/sysml-ir/ir.js +2 -0
  367. package/packages/tools/lib/sysml-ir/ir.js.map +1 -0
  368. package/packages/tools/lib/sysmlc/bin/memo-sysmlc.d.ts +3 -0
  369. package/packages/tools/lib/sysmlc/bin/memo-sysmlc.d.ts.map +1 -0
  370. package/packages/tools/lib/sysmlc/bin/memo-sysmlc.js +97 -0
  371. package/packages/tools/lib/sysmlc/bin/memo-sysmlc.js.map +1 -0
  372. package/packages/tools/lib/sysmlc/index.d.ts +2 -0
  373. package/packages/tools/lib/sysmlc/index.d.ts.map +1 -0
  374. package/packages/tools/lib/sysmlc/index.js +7 -0
  375. package/packages/tools/lib/sysmlc/index.js.map +1 -0
  376. package/packages/tools/lib/sysmlc/server.d.ts +29 -0
  377. package/packages/tools/lib/sysmlc/server.d.ts.map +1 -0
  378. package/packages/tools/lib/sysmlc/server.js +168 -0
  379. package/packages/tools/lib/sysmlc/server.js.map +1 -0
  380. package/packages/tools/lib/toolchain/default-registry.d.ts +12 -0
  381. package/packages/tools/lib/toolchain/default-registry.d.ts.map +1 -0
  382. package/packages/tools/lib/toolchain/default-registry.js +28 -0
  383. package/packages/tools/lib/toolchain/default-registry.js.map +1 -0
  384. package/packages/tools/lib/toolchain/diagnostic.d.ts +57 -0
  385. package/packages/tools/lib/toolchain/diagnostic.d.ts.map +1 -0
  386. package/packages/tools/lib/toolchain/diagnostic.js +69 -0
  387. package/packages/tools/lib/toolchain/diagnostic.js.map +1 -0
  388. package/packages/tools/lib/toolchain/effective.d.ts +36 -0
  389. package/packages/tools/lib/toolchain/effective.d.ts.map +1 -0
  390. package/packages/tools/lib/toolchain/effective.js +91 -0
  391. package/packages/tools/lib/toolchain/effective.js.map +1 -0
  392. package/packages/tools/lib/toolchain/index.d.ts +11 -0
  393. package/packages/tools/lib/toolchain/index.d.ts.map +1 -0
  394. package/packages/tools/lib/toolchain/index.js +21 -0
  395. package/packages/tools/lib/toolchain/index.js.map +1 -0
  396. package/packages/tools/lib/toolchain/lowering.d.ts +63 -0
  397. package/packages/tools/lib/toolchain/lowering.d.ts.map +1 -0
  398. package/packages/tools/lib/toolchain/lowering.js +100 -0
  399. package/packages/tools/lib/toolchain/lowering.js.map +1 -0
  400. package/packages/tools/lib/toolchain/operations.d.ts +87 -0
  401. package/packages/tools/lib/toolchain/operations.d.ts.map +1 -0
  402. package/packages/tools/lib/toolchain/operations.js +111 -0
  403. package/packages/tools/lib/toolchain/operations.js.map +1 -0
  404. package/packages/tools/lib/toolchain/process.d.ts +45 -0
  405. package/packages/tools/lib/toolchain/process.d.ts.map +1 -0
  406. package/packages/tools/lib/toolchain/process.js +125 -0
  407. package/packages/tools/lib/toolchain/process.js.map +1 -0
  408. package/packages/tools/lib/toolchain/protocol.d.ts +122 -0
  409. package/packages/tools/lib/toolchain/protocol.d.ts.map +1 -0
  410. package/packages/tools/lib/toolchain/protocol.js +74 -0
  411. package/packages/tools/lib/toolchain/protocol.js.map +1 -0
  412. package/packages/tools/lib/toolchain/providers/internal-kpar.d.ts +9 -0
  413. package/packages/tools/lib/toolchain/providers/internal-kpar.d.ts.map +1 -0
  414. package/packages/tools/lib/toolchain/providers/internal-kpar.js +84 -0
  415. package/packages/tools/lib/toolchain/providers/internal-kpar.js.map +1 -0
  416. package/packages/tools/lib/toolchain/providers/internal.d.ts +33 -0
  417. package/packages/tools/lib/toolchain/providers/internal.d.ts.map +1 -0
  418. package/packages/tools/lib/toolchain/providers/internal.js +286 -0
  419. package/packages/tools/lib/toolchain/providers/internal.js.map +1 -0
  420. package/packages/tools/lib/toolchain/providers/sysand.d.ts +12 -0
  421. package/packages/tools/lib/toolchain/providers/sysand.d.ts.map +1 -0
  422. package/packages/tools/lib/toolchain/providers/sysand.js +110 -0
  423. package/packages/tools/lib/toolchain/providers/sysand.js.map +1 -0
  424. package/packages/tools/lib/toolchain/providers/syside.d.ts +24 -0
  425. package/packages/tools/lib/toolchain/providers/syside.d.ts.map +1 -0
  426. package/packages/tools/lib/toolchain/providers/syside.js +208 -0
  427. package/packages/tools/lib/toolchain/providers/syside.js.map +1 -0
  428. package/packages/tools/lib/toolchain/registry.d.ts +192 -0
  429. package/packages/tools/lib/toolchain/registry.d.ts.map +1 -0
  430. package/packages/tools/lib/toolchain/registry.js +130 -0
  431. package/packages/tools/lib/toolchain/registry.js.map +1 -0
  432. package/packages/tools/lib/toolchain/schema.d.ts +30 -0
  433. package/packages/tools/lib/toolchain/schema.d.ts.map +1 -0
  434. package/packages/tools/lib/toolchain/schema.js +112 -0
  435. package/packages/tools/lib/toolchain/schema.js.map +1 -0
  436. package/packages/tools/lib/toolchain/sysmlc-client.d.ts +77 -0
  437. package/packages/tools/lib/toolchain/sysmlc-client.d.ts.map +1 -0
  438. package/packages/tools/lib/toolchain/sysmlc-client.js +0 -0
  439. package/packages/tools/lib/toolchain/sysmlc-client.js.map +1 -0
  440. package/packages/tools/lib/validator/architecture-validator.d.ts +17 -0
  441. package/packages/tools/lib/validator/architecture-validator.d.ts.map +1 -0
  442. package/packages/tools/lib/validator/architecture-validator.js +101 -0
  443. package/packages/tools/lib/validator/architecture-validator.js.map +1 -0
  444. package/packages/tools/lib/validator/builtin-rules.d.ts +16 -0
  445. package/packages/tools/lib/validator/builtin-rules.d.ts.map +1 -0
  446. package/packages/tools/lib/validator/builtin-rules.js +62 -0
  447. package/packages/tools/lib/validator/builtin-rules.js.map +1 -0
  448. package/packages/tools/lib/validator/constraint-eval.d.ts +15 -0
  449. package/packages/tools/lib/validator/constraint-eval.d.ts.map +1 -1
  450. package/packages/tools/lib/validator/constraint-eval.js +62 -7
  451. package/packages/tools/lib/validator/constraint-eval.js.map +1 -1
  452. package/packages/tools/lib/validator/constraint-loader.d.ts +22 -4
  453. package/packages/tools/lib/validator/constraint-loader.d.ts.map +1 -1
  454. package/packages/tools/lib/validator/constraint-loader.js +100 -27
  455. package/packages/tools/lib/validator/constraint-loader.js.map +1 -1
  456. package/packages/tools/lib/validator/rule-engine.d.ts +2 -1
  457. package/packages/tools/lib/validator/rule-engine.d.ts.map +1 -1
  458. package/packages/tools/lib/validator/rule-engine.js +57 -4
  459. package/packages/tools/lib/validator/rule-engine.js.map +1 -1
  460. package/packages/tools/lib/validator/sysml-constraints.d.ts +64 -0
  461. package/packages/tools/lib/validator/sysml-constraints.d.ts.map +1 -0
  462. package/packages/tools/lib/validator/sysml-constraints.js +251 -0
  463. package/packages/tools/lib/validator/sysml-constraints.js.map +1 -0
  464. package/packages/tools/lib/validator/types.d.ts +33 -0
  465. package/packages/tools/lib/validator/types.d.ts.map +1 -1
  466. package/packages/tools/lib/version.d.ts +2 -0
  467. package/packages/tools/lib/version.d.ts.map +1 -0
  468. package/packages/tools/lib/version.js +26 -0
  469. package/packages/tools/lib/version.js.map +1 -0
  470. package/packages/tools/src/grammar/memo-sysml.langium +104 -18
  471. package/packages/tools/lib/model/dimension-filter.d.ts +0 -33
  472. package/packages/tools/lib/model/dimension-filter.d.ts.map +0 -1
  473. package/packages/tools/lib/model/dimension-filter.js +0 -57
  474. package/packages/tools/lib/model/dimension-filter.js.map +0 -1
  475. package/packages/tools/lib/model/toolchain.d.ts +0 -12
  476. package/packages/tools/lib/model/toolchain.d.ts.map +0 -1
  477. package/packages/tools/lib/model/toolchain.js +0 -92
  478. package/packages/tools/lib/model/toolchain.js.map +0 -1
@@ -1,14 +1,13 @@
1
1
  // ─── Short ID generation for MEMO elements ───────────────────────────────────
2
2
  //
3
- // Generates stable, human-readable short IDs in the form {KIND-PREFIX}-{SEQ},
4
- // e.g. "SW-REQ-4291", "HZD-1823", "SYS-COMP-7432".
3
+ // Generates stable, human-readable short IDs in the form {PREFIX}-{SEQ},
4
+ // where PREFIX is exactly three alphabetic characters, e.g. "REQ-1",
5
+ // "HZD-2", "OPR-3".
5
6
  //
6
- // The prefix is derived deterministically from the kind name (CamelCase split).
7
- // The sequence number is a hash of the element's SysML id — stable across
8
- // rebuilds as long as the element name in the source file doesn't change.
7
+ // The prefix is derived deterministically from the kind name. The sequence
8
+ // number starts at 1 and increments within its prefix family.
9
9
  //
10
- // URL family = first segment of the prefix (SW-REQ → SW, HZD → HZD).
11
- // This determines the grouping in /catalog/:family/ routes.
10
+ // URL family is the three-letter prefix.
12
11
  // ─────────────────────────────────────────────────────────────────────────────
13
12
  /**
14
13
  * Well-known overrides for common medical-device kinds.
@@ -41,13 +40,20 @@ const KIND_PREFIX_OVERRIDES = {
41
40
  Module: 'MOD',
42
41
  Interface: 'IF',
43
42
  Port: 'PORT',
43
+ // User interface
44
+ UIElement: 'UIE',
44
45
  // Actions / behavior
45
46
  Action: 'ACT',
46
47
  ActionDefinition: 'ACT-DEF',
47
48
  UseCase: 'UC',
49
+ Workflow: 'WFL',
50
+ OperationalWorkflow: 'WFL',
48
51
  // Operational
49
52
  Stakeholder: 'STK',
50
- OperationalScenario: 'OPS',
53
+ OperationalScenario: 'SCN',
54
+ OperativeScenario: 'SCN',
55
+ FunctionalScenario: 'SCN',
56
+ UiScenario: 'SCN',
51
57
  Mission: 'MSNS',
52
58
  Capability: 'CAP',
53
59
  // Compliance / DHF
@@ -89,32 +95,35 @@ function derivePrefix(kind) {
89
95
  return words.map(abbreviateWord).join('-');
90
96
  }
91
97
  /**
92
- * Get the kind prefix for an element kind.
93
- * Returns a well-known override if available, otherwise auto-derives from CamelCase.
98
+ * Get the three-letter display prefix for an element kind. Multi-word type
99
+ * names intentionally use one shared family (OperationalWorkflow → OPR),
100
+ * leaving the numeric sequence to provide uniqueness.
94
101
  */
95
102
  export function kindToPrefix(kind) {
96
- return KIND_PREFIX_OVERRIDES[kind] ?? derivePrefix(kind);
103
+ const configured = KIND_PREFIX_OVERRIDES[kind]?.split('-')[0];
104
+ const derived = derivePrefix(kind).split('-')[0];
105
+ const candidate = configured?.length === 3 ? configured : derived;
106
+ return candidate.replace(/[^A-Za-z]/g, '').toUpperCase().padEnd(3, 'X').slice(0, 3);
97
107
  }
98
108
  /**
99
109
  * The URL family segment — first hyphen-separated token of the prefix.
100
- * e.g. "SW-REQ" → "SW", "HZD-EVT" → "HZD", "SYS-COMP" → "SYS"
110
+ * e.g. "REQ" → "REQ", "HZD" → "HZD", "OPR" → "OPR"
101
111
  */
102
112
  export function prefixToFamily(prefix) {
103
113
  return prefix.split('-')[0];
104
114
  }
105
115
  /**
106
- * Assign sequential short IDs to a group of elements of the same kind.
116
+ * Assign sequential short IDs to a group of elements sharing one prefix.
107
117
  *
108
118
  * Elements are sorted by their SysML id (lexicographic) for a deterministic,
109
119
  * stable order — adding a new element appends it at its sort position, and
110
120
  * deleting one does not renumber the survivors.
111
121
  *
112
- * Format: {KIND-PREFIX}-{n} e.g. "HZD-1", "HZD-2", "SW-REQ-1", "SW-REQ-2"
122
+ * Format: {PREFIX}-{n} e.g. "HZD-1", "HZD-2", "OPR-1", "OPR-2"
113
123
  *
114
124
  * Returns a Map from element id → shortId.
115
125
  */
116
- export function assignSequentialShortIds(kind, elementIds) {
117
- const prefix = kindToPrefix(kind);
126
+ export function assignSequentialShortIds(prefix, elementIds) {
118
127
  const sorted = [...elementIds].sort((a, b) => a.localeCompare(b));
119
128
  const out = new Map();
120
129
  for (let i = 0; i < sorted.length; i++) {
@@ -124,7 +133,7 @@ export function assignSequentialShortIds(kind, elementIds) {
124
133
  }
125
134
  /**
126
135
  * Parse a shortId back to its prefix and sequence number.
127
- * e.g. "SW-REQ-3" → { prefix: "SW-REQ", seq: 3 }
136
+ * e.g. "OPR-3" → { prefix: "OPR", seq: 3 }
128
137
  * Returns null if the format is unrecognised.
129
138
  */
130
139
  export function parseShortId(shortId) {
@@ -1 +1 @@
1
- {"version":3,"file":"short-id.js","sourceRoot":"","sources":["../../src/model/short-id.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"short-id.js","sourceRoot":"","sources":["../../src/model/short-id.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"source-graph.d.ts","sourceRoot":"","sources":["../../src/model/source-graph.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE7E,mDAAmD;AACnD,MAAM,WAAW,WAAW;IACxB,wEAAwE;IACxE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACpC,oDAAoD;IACpD,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CACxC;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,WAAW,CA2CzE;AA0CD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC3B,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,YAAY,GAAG,YAAY,CAAC,EACtD,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACxE,KAAK,EAAE,WAAW,GACnB,MAAM,EAAE,CAiBV;AAED,kEAAkE;AAClE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,cAAc,CAMnE;AAaD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"source-graph.d.ts","sourceRoot":"","sources":["../../src/model/source-graph.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE7E,mDAAmD;AACnD,MAAM,WAAW,WAAW;IACxB,wEAAwE;IACxE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACpC,oDAAoD;IACpD,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CACxC;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,WAAW,CA2CzE;AA2CD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC3B,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,YAAY,GAAG,YAAY,CAAC,EACtD,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACxE,KAAK,EAAE,WAAW,GACnB,MAAM,EAAE,CAiBV;AAED,kEAAkE;AAClE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,cAAc,CAMnE;AAcD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
@@ -75,13 +75,15 @@ export function buildSourceGraph(documents) {
75
75
  */
76
76
  function resolveImportFiles(packageName, packageFiles) {
77
77
  const files = new Set();
78
+ if (!packageName)
79
+ return files;
78
80
  const exact = packageFiles.get(packageName);
79
81
  if (exact)
80
82
  for (const file of exact)
81
83
  files.add(file);
82
84
  const prefix = `${packageName}::`;
83
85
  for (const [name, owners] of packageFiles) {
84
- if (name.startsWith(prefix)) {
86
+ if (name && name.startsWith(prefix)) {
85
87
  for (const file of owners)
86
88
  files.add(file);
87
89
  }
@@ -141,6 +143,8 @@ export function sourceGraphToDTO(graph) {
141
143
  return { dependsOn };
142
144
  }
143
145
  function addTo(index, key, value) {
146
+ if (!key)
147
+ return;
144
148
  let bucket = index.get(key);
145
149
  if (!bucket) {
146
150
  bucket = new Set();
@@ -1 +1 @@
1
- {"version":3,"file":"source-graph.js","sourceRoot":"","sources":["../../src/model/source-graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source-graph.js","sourceRoot":"","sources":["../../src/model/source-graph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Authority category of a source unit.
3
+ *
4
+ * `memo-core` is listed by the design as distinct from `ontology`, but core
5
+ * currently ships INSIDE the ontology package rather than as its own resolved
6
+ * artifact. Origin is assigned from roots, so core is reported as `ontology`
7
+ * until it is separately resolvable — inferring it from the `memo::core::`
8
+ * package prefix would be exactly the path/name heuristic this module exists to
9
+ * avoid. The variant stays in the union so that the split needs no DTO change.
10
+ */
11
+ export type SemanticOrigin = 'standard-library' | 'memo-core' | 'ontology' | 'extension' | 'methodology' | 'project';
12
+ /** Provenance of one source file. */
13
+ export interface SourceProvenance {
14
+ origin: SemanticOrigin;
15
+ /** Package name from the manifest, e.g. "@memoarchitect/ontology". */
16
+ packageName: string;
17
+ /** Declared SysML package qualified name, when the file declares one. */
18
+ packageQualifiedName?: string;
19
+ packageVersion?: string;
20
+ /** Absolute path of the file. */
21
+ sourceUri: string;
22
+ /** Path relative to the root that owns it — stable across checkouts. */
23
+ sourceFile: string;
24
+ /** Content hash, populated only where a caller needs change detection. */
25
+ sourceHash?: string;
26
+ /** False for anything under a resolved dependency root. */
27
+ writable: boolean;
28
+ /** Distance from the project in the resolved dependency graph; project is 0. */
29
+ importDepth: number;
30
+ importedBy?: string[];
31
+ /** What brought this root into the graph (methodology id, module name, …). */
32
+ selectedBy?: string;
33
+ }
34
+ /** A resolved dependency root: one package directory and what it contributes. */
35
+ export interface ResolvedRoot {
36
+ /** Absolute directory of the package. */
37
+ dir: string;
38
+ origin: SemanticOrigin;
39
+ packageName: string;
40
+ packageVersion?: string;
41
+ importDepth: number;
42
+ selectedBy?: string;
43
+ }
44
+ /**
45
+ * Map a package manifest `type:` to an authority category.
46
+ *
47
+ * `profile` is ontology content: it ships definitions that projects specialize,
48
+ * and is frozen for the session exactly as the ontology is. `device` is what a
49
+ * project declares about itself, so a device root is only ever the workspace.
50
+ */
51
+ export declare function originForPackageType(type: string | undefined): SemanticOrigin;
52
+ /** True when a change to this origin requires a runtime restart (section 13.3). */
53
+ export declare function isReusableOrigin(origin: SemanticOrigin): boolean;
54
+ /** Classify a watched source path from the resolved provenance table. */
55
+ export declare function classifySourceChange(filePath: string, provenance: ProvenanceTable): 'project' | 'reusable' | 'unknown';
56
+ /**
57
+ * Resolves any file path to its provenance.
58
+ *
59
+ * Roots may nest — a project can contain a vendored dependency under
60
+ * `node_modules/` — so the LONGEST matching root wins. A path under no
61
+ * dependency root but under the workspace is project content; a path under
62
+ * neither is reported as unknown rather than guessed at.
63
+ */
64
+ export declare class ProvenanceTable {
65
+ private readonly roots;
66
+ private readonly projectRoot;
67
+ private readonly cache;
68
+ constructor(projectRoot: string, roots: readonly ResolvedRoot[]);
69
+ /** All dependency roots, longest path first. */
70
+ getRoots(): readonly ResolvedRoot[];
71
+ /**
72
+ * Provenance for one file, or undefined when it belongs to no known root.
73
+ *
74
+ * Undefined is deliberate: a caller that cannot establish origin must say
75
+ * so rather than defaulting to project (which would offer edits on library
76
+ * content) or to ontology (which would hide a real project file).
77
+ */
78
+ lookup(filePath: string): SourceProvenance | undefined;
79
+ /**
80
+ * Provenance for a file that must have one.
81
+ *
82
+ * Falls back to project so that a caller in the middle of building a model
83
+ * is not forced to handle undefined; use `lookup` where the distinction
84
+ * between "project" and "unknown" carries meaning.
85
+ */
86
+ lookupOrProject(filePath: string): SourceProvenance;
87
+ private compute;
88
+ private projectProvenance;
89
+ }
90
+ /** Identity of a definition, sufficient to name it unambiguously. */
91
+ export interface DefinitionIdentity {
92
+ qualifiedName: string;
93
+ shortName: string;
94
+ stableId?: string;
95
+ provenance?: SourceProvenance;
96
+ }
97
+ /**
98
+ * Provenance of a model element, keeping declaration and classification apart.
99
+ *
100
+ * A project usage typed by an ontology definition is project-owned content that
101
+ * happens to be classified by library content. Collapsing the two is what made
102
+ * Architect label project usages as read-only ontology elements.
103
+ */
104
+ export interface SemanticElementProvenance {
105
+ /** Source that declares this definition or usage. */
106
+ declaration: SourceProvenance;
107
+ /** Definition that types the usage; absent for an untyped declaration. */
108
+ classifier?: DefinitionIdentity;
109
+ /** Full specialization chain, nearest definition first. */
110
+ classifierChain?: DefinitionIdentity[];
111
+ }
112
+ //# sourceMappingURL=source-provenance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-provenance.d.ts","sourceRoot":"","sources":["../../src/model/source-provenance.ts"],"names":[],"mappings":"AAqBA;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,GACpB,kBAAkB,GAClB,WAAW,GACX,UAAU,GACV,WAAW,GACX,aAAa,GACb,SAAS,CAAC;AAEhB,qCAAqC;AACrC,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,cAAc,CAAC;IACvB,sEAAsE;IACtE,WAAW,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,UAAU,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,QAAQ,EAAE,OAAO,CAAC;IAClB,gFAAgF;IAChF,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,iFAAiF;AACjF,MAAM,WAAW,YAAY;IACzB,yCAAyC;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,cAAc,CAiB7E;AAOD,mFAAmF;AACnF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAEhE;AAED,yEAAyE;AACzE,wBAAgB,oBAAoB,CAChC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,eAAe,GAC5B,SAAS,GAAG,UAAU,GAAG,SAAS,CAIpC;AAED;;;;;;;GAOG;AACH,qBAAa,eAAe;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmD;gBAE7D,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,YAAY,EAAE;IAQ/D,gDAAgD;IAChD,QAAQ,IAAI,SAAS,YAAY,EAAE;IAInC;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAoBtD;;;;;;OAMG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB;IAKnD,OAAO,CAAC,OAAO;IAkBf,OAAO,CAAC,iBAAiB;CAU5B;AAED,qEAAqE;AACrE,MAAM,WAAW,kBAAkB;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB;IACtC,qDAAqD;IACrD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,0EAA0E;IAC1E,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,2DAA2D;IAC3D,eAAe,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC1C"}
@@ -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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"}
@@ -1,3 +1,12 @@
1
+ /**
2
+ * Whether a directory name is tool output or a vendored dependency, and so is
3
+ * never authored project content.
4
+ *
5
+ * Exported for the walkers that collect more than `.sysml` — packaging sweeps a
6
+ * project's manifests and config too — so that one list governs what "not
7
+ * project content" means instead of each collector keeping its own.
8
+ */
9
+ export declare function isIgnoredDirectory(name: string): boolean;
1
10
  /** Every `.sysml` file under `dir`, skipping output and scratch directories. */
2
11
  export declare function findSysmlFiles(dir: string): string[];
3
12
  //# sourceMappingURL=sysml-files.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sysml-files.d.ts","sourceRoot":"","sources":["../../src/model/sysml-files.ts"],"names":[],"mappings":"AAkCA,gFAAgF;AAChF,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAepD"}
1
+ {"version":3,"file":"sysml-files.d.ts","sourceRoot":"","sources":["../../src/model/sysml-files.ts"],"names":[],"mappings":"AA6BA;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAeD,gFAAgF;AAChF,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAepD"}
@@ -12,10 +12,29 @@ import { resolve } from 'node:path';
12
12
  * `.venv`, `__pycache__`, `dist` and `.sysand` are build/tool output that can
13
13
  * hold copies of model files — parsing those reports duplicate elements and
14
14
  * phantom errors against files the author does not edit.
15
+ *
16
+ * A Python virtualenv is the sharpest case: SysIDE ships the entire SysML v2
17
+ * standard library inside `site-packages`, so a project with a notebook
18
+ * environment beside its model hands the walker several hundred library files
19
+ * the Langium grammar was never meant to parse. `venv` and `site-packages` are
20
+ * listed alongside `.venv` because `python -m venv venv` is just as common, and
21
+ * a vendored environment can be reached without its root directory in the path.
15
22
  */
16
23
  const ALWAYS_SKIP = new Set([
17
- 'node_modules', '.memo', '.git', '.sysand', '.venv', '__pycache__', 'dist',
24
+ 'node_modules', 'memo_packages', '.memo', '.git', '.sysand',
25
+ '.venv', 'venv', 'site-packages', '__pycache__', 'dist', 'output', '.turbo',
18
26
  ]);
27
+ /**
28
+ * Whether a directory name is tool output or a vendored dependency, and so is
29
+ * never authored project content.
30
+ *
31
+ * Exported for the walkers that collect more than `.sysml` — packaging sweeps a
32
+ * project's manifests and config too — so that one list governs what "not
33
+ * project content" means instead of each collector keeping its own.
34
+ */
35
+ export function isIgnoredDirectory(name) {
36
+ return ALWAYS_SKIP.has(name);
37
+ }
19
38
  /**
20
39
  * Whether to skip a directory during the walk.
21
40
  *
@@ -1 +1 @@
1
- {"version":3,"file":"sysml-files.js","sourceRoot":"","sources":["../../src/model/sysml-files.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,yDAAyD;AACzD,gFAAgF;AAEhF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;;;;GAMG;AACH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IACxB,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM;CAC7E,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAAC,SAAiB,EAAE,IAAY;IACxD,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,IAAI,KAAK,SAAS,IAAI,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC,CAAC;AACrF,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,cAAc,CAAC,GAAW;IACtC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACtB,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;YACnF,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACL,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,8EAA8E;IAClF,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"sysml-files.js","sourceRoot":"","sources":["../../src/model/sysml-files.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,yDAAyD;AACzD,gFAAgF;AAEhF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IACxB,cAAc,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS;IAC3D,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;CAC9E,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC3C,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAAC,SAAiB,EAAE,IAAY;IACxD,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,IAAI,KAAK,SAAS,IAAI,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC,CAAC;AACrF,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,cAAc,CAAC,GAAW;IACtC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACtB,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;YACnF,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACL,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,8EAA8E;IAClF,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
@@ -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"}