@memoarchitect/tools 0.13.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (824) hide show
  1. package/README.md +40 -26
  2. package/corpus/README.md +20 -36
  3. package/package.json +9 -10
  4. package/packages/tools/lib/analysis/impact.d.ts +30 -0
  5. package/packages/tools/lib/analysis/impact.d.ts.map +1 -1
  6. package/packages/tools/lib/analysis/impact.js +47 -74
  7. package/packages/tools/lib/analysis/impact.js.map +1 -1
  8. package/packages/tools/lib/analysis/interfaces-between.d.ts +36 -0
  9. package/packages/tools/lib/analysis/interfaces-between.d.ts.map +1 -0
  10. package/packages/tools/lib/analysis/interfaces-between.js +66 -0
  11. package/packages/tools/lib/analysis/interfaces-between.js.map +1 -0
  12. package/packages/tools/lib/analysis/suspect-links.d.ts +45 -0
  13. package/packages/tools/lib/analysis/suspect-links.d.ts.map +1 -0
  14. package/packages/tools/lib/analysis/suspect-links.js +66 -0
  15. package/packages/tools/lib/analysis/suspect-links.js.map +1 -0
  16. package/packages/tools/lib/analysis-starters.d.ts +2 -0
  17. package/packages/tools/lib/analysis-starters.d.ts.map +1 -1
  18. package/packages/tools/lib/analysis-starters.js +73 -68
  19. package/packages/tools/lib/analysis-starters.js.map +1 -1
  20. package/packages/tools/lib/authoring/outline-identity.d.ts +34 -0
  21. package/packages/tools/lib/authoring/outline-identity.d.ts.map +1 -0
  22. package/packages/tools/lib/authoring/outline-identity.js +95 -0
  23. package/packages/tools/lib/authoring/outline-identity.js.map +1 -0
  24. package/packages/tools/lib/authoring/outline-source.d.ts +57 -0
  25. package/packages/tools/lib/authoring/outline-source.d.ts.map +1 -0
  26. package/packages/tools/lib/authoring/outline-source.js +203 -0
  27. package/packages/tools/lib/authoring/outline-source.js.map +1 -0
  28. package/packages/tools/lib/authoring/source-outline.d.ts +82 -0
  29. package/packages/tools/lib/authoring/source-outline.d.ts.map +1 -0
  30. package/packages/tools/lib/authoring/source-outline.js +267 -0
  31. package/packages/tools/lib/authoring/source-outline.js.map +1 -0
  32. package/packages/tools/lib/bin/memo.js +181 -632
  33. package/packages/tools/lib/bin/memo.js.map +1 -1
  34. package/packages/tools/lib/browser/index.d.ts +12 -0
  35. package/packages/tools/lib/browser/index.d.ts.map +1 -1
  36. package/packages/tools/lib/browser/index.js +8 -0
  37. package/packages/tools/lib/browser/index.js.map +1 -1
  38. package/packages/tools/lib/cli/project-commands.d.ts +3 -0
  39. package/packages/tools/lib/cli/project-commands.d.ts.map +1 -0
  40. package/packages/tools/lib/cli/project-commands.js +577 -0
  41. package/packages/tools/lib/cli/project-commands.js.map +1 -0
  42. package/packages/tools/lib/commands/ask.d.ts.map +1 -1
  43. package/packages/tools/lib/commands/ask.js +10 -18
  44. package/packages/tools/lib/commands/ask.js.map +1 -1
  45. package/packages/tools/lib/commands/compile.d.ts +18 -0
  46. package/packages/tools/lib/commands/compile.d.ts.map +1 -0
  47. package/packages/tools/lib/commands/compile.js +122 -0
  48. package/packages/tools/lib/commands/compile.js.map +1 -0
  49. package/packages/tools/lib/commands/convert.js +2 -2
  50. package/packages/tools/lib/commands/convert.js.map +1 -1
  51. package/packages/tools/lib/commands/create-package.js +4 -4
  52. package/packages/tools/lib/commands/create-package.js.map +1 -1
  53. package/packages/tools/lib/commands/dev.d.ts +20 -2
  54. package/packages/tools/lib/commands/dev.d.ts.map +1 -1
  55. package/packages/tools/lib/commands/dev.js +386 -97
  56. package/packages/tools/lib/commands/dev.js.map +1 -1
  57. package/packages/tools/lib/commands/dhf-draft.d.ts.map +1 -1
  58. package/packages/tools/lib/commands/dhf-draft.js +7 -16
  59. package/packages/tools/lib/commands/dhf-draft.js.map +1 -1
  60. package/packages/tools/lib/commands/dhf-init.js +3 -3
  61. package/packages/tools/lib/commands/dhf-init.js.map +1 -1
  62. package/packages/tools/lib/commands/dhf-lint.d.ts.map +1 -1
  63. package/packages/tools/lib/commands/dhf-lint.js +4 -3
  64. package/packages/tools/lib/commands/dhf-lint.js.map +1 -1
  65. package/packages/tools/lib/commands/dhf-preview.d.ts.map +1 -1
  66. package/packages/tools/lib/commands/dhf-preview.js +5 -26
  67. package/packages/tools/lib/commands/dhf-preview.js.map +1 -1
  68. package/packages/tools/lib/commands/dhf.d.ts +4 -0
  69. package/packages/tools/lib/commands/dhf.d.ts.map +1 -1
  70. package/packages/tools/lib/commands/dhf.js +77 -31
  71. package/packages/tools/lib/commands/dhf.js.map +1 -1
  72. package/packages/tools/lib/commands/element.d.ts.map +1 -1
  73. package/packages/tools/lib/commands/element.js +44 -6
  74. package/packages/tools/lib/commands/element.js.map +1 -1
  75. package/packages/tools/lib/commands/export.d.ts +1 -1
  76. package/packages/tools/lib/commands/export.d.ts.map +1 -1
  77. package/packages/tools/lib/commands/export.js +25 -18
  78. package/packages/tools/lib/commands/export.js.map +1 -1
  79. package/packages/tools/lib/commands/generate.d.ts.map +1 -1
  80. package/packages/tools/lib/commands/generate.js +10 -30
  81. package/packages/tools/lib/commands/generate.js.map +1 -1
  82. package/packages/tools/lib/commands/ids-rebase.d.ts +15 -0
  83. package/packages/tools/lib/commands/ids-rebase.d.ts.map +1 -0
  84. package/packages/tools/lib/commands/ids-rebase.js +133 -0
  85. package/packages/tools/lib/commands/ids-rebase.js.map +1 -0
  86. package/packages/tools/lib/commands/import-ea.d.ts +3 -3
  87. package/packages/tools/lib/commands/import-ea.d.ts.map +1 -1
  88. package/packages/tools/lib/commands/import-ea.js +12 -9
  89. package/packages/tools/lib/commands/import-ea.js.map +1 -1
  90. package/packages/tools/lib/commands/import-owl.d.ts +1 -1
  91. package/packages/tools/lib/commands/import-owl.js +2 -2
  92. package/packages/tools/lib/commands/import-owl.js.map +1 -1
  93. package/packages/tools/lib/commands/import-sysand.d.ts +1 -1
  94. package/packages/tools/lib/commands/import-sysand.d.ts.map +1 -1
  95. package/packages/tools/lib/commands/import-sysand.js +15 -6
  96. package/packages/tools/lib/commands/import-sysand.js.map +1 -1
  97. package/packages/tools/lib/commands/import.d.ts +13 -0
  98. package/packages/tools/lib/commands/import.d.ts.map +1 -1
  99. package/packages/tools/lib/commands/import.js +89 -29
  100. package/packages/tools/lib/commands/import.js.map +1 -1
  101. package/packages/tools/lib/commands/init.d.ts +0 -8
  102. package/packages/tools/lib/commands/init.d.ts.map +1 -1
  103. package/packages/tools/lib/commands/init.js +56 -51
  104. package/packages/tools/lib/commands/init.js.map +1 -1
  105. package/packages/tools/lib/commands/inspect.d.ts.map +1 -1
  106. package/packages/tools/lib/commands/inspect.js +22 -15
  107. package/packages/tools/lib/commands/inspect.js.map +1 -1
  108. package/packages/tools/lib/commands/install.d.ts.map +1 -1
  109. package/packages/tools/lib/commands/install.js +9 -6
  110. package/packages/tools/lib/commands/install.js.map +1 -1
  111. package/packages/tools/lib/commands/interfaces.d.ts +8 -0
  112. package/packages/tools/lib/commands/interfaces.d.ts.map +1 -0
  113. package/packages/tools/lib/commands/interfaces.js +71 -0
  114. package/packages/tools/lib/commands/interfaces.js.map +1 -0
  115. package/packages/tools/lib/commands/lock.d.ts.map +1 -1
  116. package/packages/tools/lib/commands/lock.js +13 -6
  117. package/packages/tools/lib/commands/lock.js.map +1 -1
  118. package/packages/tools/lib/commands/mcp.js +7 -7
  119. package/packages/tools/lib/commands/mcp.js.map +1 -1
  120. package/packages/tools/lib/commands/migrate-layout.d.ts +5 -0
  121. package/packages/tools/lib/commands/migrate-layout.d.ts.map +1 -0
  122. package/packages/tools/lib/commands/migrate-layout.js +90 -0
  123. package/packages/tools/lib/commands/migrate-layout.js.map +1 -0
  124. package/packages/tools/lib/commands/ontology.d.ts.map +1 -1
  125. package/packages/tools/lib/commands/ontology.js +26 -22
  126. package/packages/tools/lib/commands/ontology.js.map +1 -1
  127. package/packages/tools/lib/commands/pack.d.ts.map +1 -1
  128. package/packages/tools/lib/commands/pack.js +14 -9
  129. package/packages/tools/lib/commands/pack.js.map +1 -1
  130. package/packages/tools/lib/commands/pinned-target.d.ts +12 -0
  131. package/packages/tools/lib/commands/pinned-target.d.ts.map +1 -0
  132. package/packages/tools/lib/commands/pinned-target.js +74 -0
  133. package/packages/tools/lib/commands/pinned-target.js.map +1 -0
  134. package/packages/tools/lib/commands/plugin.d.ts.map +1 -1
  135. package/packages/tools/lib/commands/plugin.js +13 -22
  136. package/packages/tools/lib/commands/plugin.js.map +1 -1
  137. package/packages/tools/lib/commands/prune.d.ts +5 -0
  138. package/packages/tools/lib/commands/prune.d.ts.map +1 -0
  139. package/packages/tools/lib/commands/prune.js +27 -0
  140. package/packages/tools/lib/commands/prune.js.map +1 -0
  141. package/packages/tools/lib/commands/retired.d.ts +10 -0
  142. package/packages/tools/lib/commands/retired.d.ts.map +1 -0
  143. package/packages/tools/lib/commands/retired.js +35 -0
  144. package/packages/tools/lib/commands/retired.js.map +1 -0
  145. package/packages/tools/lib/commands/rules.d.ts +49 -5
  146. package/packages/tools/lib/commands/rules.d.ts.map +1 -1
  147. package/packages/tools/lib/commands/rules.js +340 -172
  148. package/packages/tools/lib/commands/rules.js.map +1 -1
  149. package/packages/tools/lib/commands/ship-library.d.ts +4 -0
  150. package/packages/tools/lib/commands/ship-library.d.ts.map +1 -0
  151. package/packages/tools/lib/commands/ship-library.js +45 -0
  152. package/packages/tools/lib/commands/ship-library.js.map +1 -0
  153. package/packages/tools/lib/commands/standards.d.ts +2 -2
  154. package/packages/tools/lib/commands/standards.d.ts.map +1 -1
  155. package/packages/tools/lib/commands/standards.js +78 -33
  156. package/packages/tools/lib/commands/standards.js.map +1 -1
  157. package/packages/tools/lib/commands/sysand-publish.d.ts +16 -1
  158. package/packages/tools/lib/commands/sysand-publish.d.ts.map +1 -1
  159. package/packages/tools/lib/commands/sysand-publish.js +75 -193
  160. package/packages/tools/lib/commands/sysand-publish.js.map +1 -1
  161. package/packages/tools/lib/commands/toolchain.d.ts +5 -0
  162. package/packages/tools/lib/commands/toolchain.d.ts.map +1 -1
  163. package/packages/tools/lib/commands/toolchain.js +50 -1
  164. package/packages/tools/lib/commands/toolchain.js.map +1 -1
  165. package/packages/tools/lib/commands/validate-client.d.ts +11 -0
  166. package/packages/tools/lib/commands/validate-client.d.ts.map +1 -0
  167. package/packages/tools/lib/commands/validate-client.js +54 -0
  168. package/packages/tools/lib/commands/validate-client.js.map +1 -0
  169. package/packages/tools/lib/commands/validate.d.ts +33 -2
  170. package/packages/tools/lib/commands/validate.d.ts.map +1 -1
  171. package/packages/tools/lib/commands/validate.js +432 -186
  172. package/packages/tools/lib/commands/validate.js.map +1 -1
  173. package/packages/tools/lib/dhf/device-dhf.d.ts +57 -0
  174. package/packages/tools/lib/dhf/device-dhf.d.ts.map +1 -0
  175. package/packages/tools/lib/dhf/device-dhf.js +152 -0
  176. package/packages/tools/lib/dhf/device-dhf.js.map +1 -0
  177. package/packages/tools/lib/dhf/dhf-config-v2.d.ts +1 -1
  178. package/packages/tools/lib/dhf/dhf-config-v2.d.ts.map +1 -1
  179. package/packages/tools/lib/dhf/query-engine.d.ts +9 -2
  180. package/packages/tools/lib/dhf/query-engine.d.ts.map +1 -1
  181. package/packages/tools/lib/dhf/query-engine.js +29 -25
  182. package/packages/tools/lib/dhf/query-engine.js.map +1 -1
  183. package/packages/tools/lib/dhf/query-executor.d.ts +1 -1
  184. package/packages/tools/lib/dhf/query-executor.js +1 -1
  185. package/packages/tools/lib/dhf/query-executor.js.map +1 -1
  186. package/packages/tools/lib/dhf/standards-block.js +1 -1
  187. package/packages/tools/lib/dhf/standards-block.js.map +1 -1
  188. package/packages/tools/lib/dhf/standards-library.d.ts.map +1 -1
  189. package/packages/tools/lib/dhf/standards-library.js +16 -9
  190. package/packages/tools/lib/dhf/standards-library.js.map +1 -1
  191. package/packages/tools/lib/dhf/standards-report.d.ts +11 -3
  192. package/packages/tools/lib/dhf/standards-report.d.ts.map +1 -1
  193. package/packages/tools/lib/dhf/standards-report.js +43 -13
  194. package/packages/tools/lib/dhf/standards-report.js.map +1 -1
  195. package/packages/tools/lib/dhf/template-engine.d.ts +2 -0
  196. package/packages/tools/lib/dhf/template-engine.d.ts.map +1 -1
  197. package/packages/tools/lib/dhf/template-engine.js +5 -5
  198. package/packages/tools/lib/dhf/template-engine.js.map +1 -1
  199. package/packages/tools/lib/import/import-diff.d.ts +31 -1
  200. package/packages/tools/lib/import/import-diff.d.ts.map +1 -1
  201. package/packages/tools/lib/import/import-diff.js +91 -19
  202. package/packages/tools/lib/import/import-diff.js.map +1 -1
  203. package/packages/tools/lib/import/import-sources.d.ts +21 -0
  204. package/packages/tools/lib/import/import-sources.d.ts.map +1 -0
  205. package/packages/tools/lib/import/import-sources.js +36 -0
  206. package/packages/tools/lib/import/import-sources.js.map +1 -0
  207. package/packages/tools/lib/import/reqif.d.ts +23 -0
  208. package/packages/tools/lib/import/reqif.d.ts.map +1 -0
  209. package/packages/tools/lib/import/reqif.js +151 -0
  210. package/packages/tools/lib/import/reqif.js.map +1 -0
  211. package/packages/tools/lib/import/source-import.d.ts +128 -0
  212. package/packages/tools/lib/import/source-import.d.ts.map +1 -0
  213. package/packages/tools/lib/import/source-import.js +305 -0
  214. package/packages/tools/lib/import/source-import.js.map +1 -0
  215. package/packages/tools/lib/importer/cameo-importer.d.ts.map +1 -1
  216. package/packages/tools/lib/importer/cameo-importer.js +4 -1
  217. package/packages/tools/lib/importer/cameo-importer.js.map +1 -1
  218. package/packages/tools/lib/importer/ea-importer.d.ts.map +1 -1
  219. package/packages/tools/lib/importer/ea-importer.js +4 -1
  220. package/packages/tools/lib/importer/ea-importer.js.map +1 -1
  221. package/packages/tools/lib/importer/sysand-importer.d.ts +2 -1
  222. package/packages/tools/lib/importer/sysand-importer.d.ts.map +1 -1
  223. package/packages/tools/lib/importer/sysand-importer.js +27 -10
  224. package/packages/tools/lib/importer/sysand-importer.js.map +1 -1
  225. package/packages/tools/lib/index.d.ts +20 -6
  226. package/packages/tools/lib/index.d.ts.map +1 -1
  227. package/packages/tools/lib/index.js +22 -8
  228. package/packages/tools/lib/index.js.map +1 -1
  229. package/packages/tools/lib/llm/draft-engine.js +1 -1
  230. package/packages/tools/lib/llm/draft-engine.js.map +1 -1
  231. package/packages/tools/lib/llm/model-context.js +1 -1
  232. package/packages/tools/lib/llm/model-context.js.map +1 -1
  233. package/packages/tools/lib/lock.d.ts +37 -2
  234. package/packages/tools/lib/lock.d.ts.map +1 -1
  235. package/packages/tools/lib/lock.js +93 -8
  236. package/packages/tools/lib/lock.js.map +1 -1
  237. package/packages/tools/lib/mcp/index.js +1 -1
  238. package/packages/tools/lib/mcp/index.js.map +1 -1
  239. package/packages/tools/lib/mcp/model-loader.d.ts.map +1 -1
  240. package/packages/tools/lib/mcp/model-loader.js +6 -18
  241. package/packages/tools/lib/mcp/model-loader.js.map +1 -1
  242. package/packages/tools/lib/mcp/server.js +2 -2
  243. package/packages/tools/lib/mcp/server.js.map +1 -1
  244. package/packages/tools/lib/mcp/tools.d.ts.map +1 -1
  245. package/packages/tools/lib/mcp/tools.js +5 -4
  246. package/packages/tools/lib/mcp/tools.js.map +1 -1
  247. package/packages/tools/lib/methodology/guide-service.d.ts +28 -0
  248. package/packages/tools/lib/methodology/guide-service.d.ts.map +1 -0
  249. package/packages/tools/lib/methodology/guide-service.js +32 -0
  250. package/packages/tools/lib/methodology/guide-service.js.map +1 -0
  251. package/packages/tools/lib/methodology/guide.d.ts +56 -0
  252. package/packages/tools/lib/methodology/guide.d.ts.map +1 -0
  253. package/packages/tools/lib/methodology/guide.js +80 -0
  254. package/packages/tools/lib/methodology/guide.js.map +1 -0
  255. package/packages/tools/lib/model/census-projects.d.ts +26 -0
  256. package/packages/tools/lib/model/census-projects.d.ts.map +1 -0
  257. package/packages/tools/lib/model/census-projects.js +53 -0
  258. package/packages/tools/lib/model/census-projects.js.map +1 -0
  259. package/packages/tools/lib/model/census.d.ts +103 -0
  260. package/packages/tools/lib/model/census.d.ts.map +1 -0
  261. package/packages/tools/lib/model/census.js +229 -0
  262. package/packages/tools/lib/model/census.js.map +1 -0
  263. package/packages/tools/lib/model/complete-model.d.ts +52 -0
  264. package/packages/tools/lib/model/complete-model.d.ts.map +1 -0
  265. package/packages/tools/lib/model/complete-model.js +287 -0
  266. package/packages/tools/lib/model/complete-model.js.map +1 -0
  267. package/packages/tools/lib/model/config-loader.d.ts +8 -3
  268. package/packages/tools/lib/model/config-loader.d.ts.map +1 -1
  269. package/packages/tools/lib/model/config-loader.js +37 -6
  270. package/packages/tools/lib/model/config-loader.js.map +1 -1
  271. package/packages/tools/lib/model/config.d.ts +21 -7
  272. package/packages/tools/lib/model/config.d.ts.map +1 -1
  273. package/packages/tools/lib/model/effective-scope.d.ts +55 -28
  274. package/packages/tools/lib/model/effective-scope.d.ts.map +1 -1
  275. package/packages/tools/lib/model/effective-scope.js +96 -35
  276. package/packages/tools/lib/model/effective-scope.js.map +1 -1
  277. package/packages/tools/lib/model/element-index.d.ts +207 -0
  278. package/packages/tools/lib/model/element-index.d.ts.map +1 -0
  279. package/packages/tools/lib/model/element-index.js +316 -0
  280. package/packages/tools/lib/model/element-index.js.map +1 -0
  281. package/packages/tools/lib/model/id-rebase.d.ts +35 -0
  282. package/packages/tools/lib/model/id-rebase.d.ts.map +1 -0
  283. package/packages/tools/lib/model/id-rebase.js +199 -0
  284. package/packages/tools/lib/model/id-rebase.js.map +1 -0
  285. package/packages/tools/lib/model/identity-registry.d.ts +34 -3
  286. package/packages/tools/lib/model/identity-registry.d.ts.map +1 -1
  287. package/packages/tools/lib/model/identity-registry.js +40 -7
  288. package/packages/tools/lib/model/identity-registry.js.map +1 -1
  289. package/packages/tools/lib/model/impact.d.ts +75 -0
  290. package/packages/tools/lib/model/impact.d.ts.map +1 -0
  291. package/packages/tools/lib/model/impact.js +167 -0
  292. package/packages/tools/lib/model/impact.js.map +1 -0
  293. package/packages/tools/lib/model/ir-identity.d.ts +3 -51
  294. package/packages/tools/lib/model/ir-identity.d.ts.map +1 -1
  295. package/packages/tools/lib/model/ir-identity.js +14 -121
  296. package/packages/tools/lib/model/ir-identity.js.map +1 -1
  297. package/packages/tools/lib/model/kind-registry.d.ts +66 -22
  298. package/packages/tools/lib/model/kind-registry.d.ts.map +1 -1
  299. package/packages/tools/lib/model/kind-registry.js +104 -145
  300. package/packages/tools/lib/model/kind-registry.js.map +1 -1
  301. package/packages/tools/lib/model/manifest.d.ts +2 -2
  302. package/packages/tools/lib/model/manifest.d.ts.map +1 -1
  303. package/packages/tools/lib/model/manifest.js +5 -4
  304. package/packages/tools/lib/model/manifest.js.map +1 -1
  305. package/packages/tools/lib/model/methodology-loader.d.ts +11 -2
  306. package/packages/tools/lib/model/methodology-loader.d.ts.map +1 -1
  307. package/packages/tools/lib/model/methodology-loader.js +24 -130
  308. package/packages/tools/lib/model/methodology-loader.js.map +1 -1
  309. package/packages/tools/lib/model/methodology-resolver.d.ts +71 -6
  310. package/packages/tools/lib/model/methodology-resolver.d.ts.map +1 -1
  311. package/packages/tools/lib/model/methodology-resolver.js +210 -24
  312. package/packages/tools/lib/model/methodology-resolver.js.map +1 -1
  313. package/packages/tools/lib/model/model-diff.d.ts +73 -0
  314. package/packages/tools/lib/model/model-diff.d.ts.map +1 -0
  315. package/packages/tools/lib/model/model-diff.js +91 -0
  316. package/packages/tools/lib/model/model-diff.js.map +1 -0
  317. package/packages/tools/lib/model/narrow-model.d.ts +9 -0
  318. package/packages/tools/lib/model/narrow-model.d.ts.map +1 -0
  319. package/packages/tools/lib/model/narrow-model.js +54 -0
  320. package/packages/tools/lib/model/narrow-model.js.map +1 -0
  321. package/packages/tools/lib/model/native-project.d.ts +92 -11
  322. package/packages/tools/lib/model/native-project.d.ts.map +1 -1
  323. package/packages/tools/lib/model/native-project.js +163 -267
  324. package/packages/tools/lib/model/native-project.js.map +1 -1
  325. package/packages/tools/lib/model/ontology-loader.d.ts +10 -61
  326. package/packages/tools/lib/model/ontology-loader.d.ts.map +1 -1
  327. package/packages/tools/lib/model/ontology-loader.js +11 -512
  328. package/packages/tools/lib/model/ontology-loader.js.map +1 -1
  329. package/packages/tools/lib/model/package-manifest.d.ts +8 -2
  330. package/packages/tools/lib/model/package-manifest.d.ts.map +1 -1
  331. package/packages/tools/lib/model/package-manifest.js +14 -2
  332. package/packages/tools/lib/model/package-manifest.js.map +1 -1
  333. package/packages/tools/lib/model/pinned.d.ts +216 -0
  334. package/packages/tools/lib/model/pinned.d.ts.map +1 -0
  335. package/packages/tools/lib/model/pinned.js +481 -0
  336. package/packages/tools/lib/model/pinned.js.map +1 -0
  337. package/packages/tools/lib/model/project-conversion.d.ts +3 -2
  338. package/packages/tools/lib/model/project-conversion.d.ts.map +1 -1
  339. package/packages/tools/lib/model/project-conversion.js +55 -10
  340. package/packages/tools/lib/model/project-conversion.js.map +1 -1
  341. package/packages/tools/lib/model/project-settings.d.ts +10 -0
  342. package/packages/tools/lib/model/project-settings.d.ts.map +1 -0
  343. package/packages/tools/lib/model/project-settings.js +48 -0
  344. package/packages/tools/lib/model/project-settings.js.map +1 -0
  345. package/packages/tools/lib/model/relation-selection.d.ts +25 -0
  346. package/packages/tools/lib/model/relation-selection.d.ts.map +1 -0
  347. package/packages/tools/lib/model/relation-selection.js +65 -0
  348. package/packages/tools/lib/model/relation-selection.js.map +1 -0
  349. package/packages/tools/lib/model/relationship-legality.d.ts +6 -0
  350. package/packages/tools/lib/model/relationship-legality.d.ts.map +1 -1
  351. package/packages/tools/lib/model/relationship-legality.js.map +1 -1
  352. package/packages/tools/lib/model/relationship-registry.d.ts +21 -8
  353. package/packages/tools/lib/model/relationship-registry.d.ts.map +1 -1
  354. package/packages/tools/lib/model/relationship-registry.js +77 -129
  355. package/packages/tools/lib/model/relationship-registry.js.map +1 -1
  356. package/packages/tools/lib/model/relationship-subjects.d.ts +28 -0
  357. package/packages/tools/lib/model/relationship-subjects.d.ts.map +1 -0
  358. package/packages/tools/lib/model/relationship-subjects.js +126 -0
  359. package/packages/tools/lib/model/relationship-subjects.js.map +1 -0
  360. package/packages/tools/lib/model/release-target.d.ts +12 -0
  361. package/packages/tools/lib/model/release-target.d.ts.map +1 -0
  362. package/packages/tools/lib/model/release-target.js +35 -0
  363. package/packages/tools/lib/model/release-target.js.map +1 -0
  364. package/packages/tools/lib/model/selector-vocabulary.d.ts +47 -0
  365. package/packages/tools/lib/model/selector-vocabulary.d.ts.map +1 -0
  366. package/packages/tools/lib/model/selector-vocabulary.js +181 -0
  367. package/packages/tools/lib/model/selector-vocabulary.js.map +1 -0
  368. package/packages/tools/lib/model/semantic.d.ts +99 -7
  369. package/packages/tools/lib/model/semantic.d.ts.map +1 -1
  370. package/packages/tools/lib/model/semantic.js +13 -1
  371. package/packages/tools/lib/model/semantic.js.map +1 -1
  372. package/packages/tools/lib/model/settings-boundary.d.ts.map +1 -1
  373. package/packages/tools/lib/model/settings-boundary.js +9 -8
  374. package/packages/tools/lib/model/settings-boundary.js.map +1 -1
  375. package/packages/tools/lib/model/short-id.d.ts.map +1 -1
  376. package/packages/tools/lib/model/short-id.js +4 -0
  377. package/packages/tools/lib/model/short-id.js.map +1 -1
  378. package/packages/tools/lib/model/source-graph.d.ts +9 -7
  379. package/packages/tools/lib/model/source-graph.d.ts.map +1 -1
  380. package/packages/tools/lib/model/source-graph.js +19 -24
  381. package/packages/tools/lib/model/source-graph.js.map +1 -1
  382. package/packages/tools/lib/model/source-provenance.d.ts +5 -1
  383. package/packages/tools/lib/model/source-provenance.d.ts.map +1 -1
  384. package/packages/tools/lib/model/source-provenance.js.map +1 -1
  385. package/packages/tools/lib/model/sysml-files.js +1 -1
  386. package/packages/tools/lib/model/sysml-ir.d.ts +2 -5
  387. package/packages/tools/lib/model/sysml-ir.d.ts.map +1 -1
  388. package/packages/tools/lib/model/sysml-ir.js +1 -100
  389. package/packages/tools/lib/model/sysml-ir.js.map +1 -1
  390. package/packages/tools/lib/model/toolchain-merge.d.ts +4 -0
  391. package/packages/tools/lib/model/toolchain-merge.d.ts.map +1 -0
  392. package/packages/tools/lib/model/toolchain-merge.js +34 -0
  393. package/packages/tools/lib/model/toolchain-merge.js.map +1 -0
  394. package/packages/tools/lib/model/user-settings.d.ts +13 -0
  395. package/packages/tools/lib/model/user-settings.d.ts.map +1 -0
  396. package/packages/tools/lib/model/user-settings.js +83 -0
  397. package/packages/tools/lib/model/user-settings.js.map +1 -0
  398. package/packages/tools/lib/model/variability.d.ts +56 -0
  399. package/packages/tools/lib/model/variability.d.ts.map +1 -0
  400. package/packages/tools/lib/model/variability.js +116 -0
  401. package/packages/tools/lib/model/variability.js.map +1 -0
  402. package/packages/tools/lib/model/version-range.d.ts +2 -0
  403. package/packages/tools/lib/model/version-range.d.ts.map +1 -0
  404. package/packages/tools/lib/model/version-range.js +37 -0
  405. package/packages/tools/lib/model/version-range.js.map +1 -0
  406. package/packages/tools/lib/model/view-deriver.d.ts +16 -0
  407. package/packages/tools/lib/model/view-deriver.d.ts.map +1 -1
  408. package/packages/tools/lib/model/view-deriver.js +129 -30
  409. package/packages/tools/lib/model/view-deriver.js.map +1 -1
  410. package/packages/tools/lib/model/view-layout-block.d.ts +81 -0
  411. package/packages/tools/lib/model/view-layout-block.d.ts.map +1 -0
  412. package/packages/tools/lib/model/view-layout-block.js +525 -0
  413. package/packages/tools/lib/model/view-layout-block.js.map +1 -0
  414. package/packages/tools/lib/model/view-layout-migration.d.ts +54 -0
  415. package/packages/tools/lib/model/view-layout-migration.d.ts.map +1 -0
  416. package/packages/tools/lib/model/view-layout-migration.js +156 -0
  417. package/packages/tools/lib/model/view-layout-migration.js.map +1 -0
  418. package/packages/tools/lib/model/workspace-membership.d.ts +99 -0
  419. package/packages/tools/lib/model/workspace-membership.d.ts.map +1 -0
  420. package/packages/tools/lib/model/workspace-membership.js +281 -0
  421. package/packages/tools/lib/model/workspace-membership.js.map +1 -0
  422. package/packages/tools/lib/ontology/owl-exporter.d.ts +1 -1
  423. package/packages/tools/lib/ontology/owl-exporter.d.ts.map +1 -1
  424. package/packages/tools/lib/ontology/owl-exporter.js +1 -1
  425. package/packages/tools/lib/ontology/owl-exporter.js.map +1 -1
  426. package/packages/tools/lib/operations/ai-authoring.d.ts.map +1 -1
  427. package/packages/tools/lib/operations/ai-authoring.js +7 -5
  428. package/packages/tools/lib/operations/ai-authoring.js.map +1 -1
  429. package/packages/tools/lib/operations/authoring.d.ts +10 -4
  430. package/packages/tools/lib/operations/authoring.d.ts.map +1 -1
  431. package/packages/tools/lib/operations/authoring.js +27 -11
  432. package/packages/tools/lib/operations/authoring.js.map +1 -1
  433. package/packages/tools/lib/operations/index.d.ts +2 -0
  434. package/packages/tools/lib/operations/index.d.ts.map +1 -1
  435. package/packages/tools/lib/operations/index.js +1 -0
  436. package/packages/tools/lib/operations/index.js.map +1 -1
  437. package/packages/tools/lib/operations/project-snapshot.d.ts.map +1 -1
  438. package/packages/tools/lib/operations/project-snapshot.js +7 -13
  439. package/packages/tools/lib/operations/project-snapshot.js.map +1 -1
  440. package/packages/tools/lib/plugin/plugin-scaffold.js +2 -2
  441. package/packages/tools/lib/plugin/plugin-scaffold.js.map +1 -1
  442. package/packages/tools/lib/protocol/messages.d.ts +375 -7
  443. package/packages/tools/lib/protocol/messages.d.ts.map +1 -1
  444. package/packages/tools/lib/serializer/csv-io.d.ts +37 -29
  445. package/packages/tools/lib/serializer/csv-io.d.ts.map +1 -1
  446. package/packages/tools/lib/serializer/csv-io.js +64 -31
  447. package/packages/tools/lib/serializer/csv-io.js.map +1 -1
  448. package/packages/tools/lib/serializer/sysml-generator.d.ts +15 -2
  449. package/packages/tools/lib/serializer/sysml-generator.d.ts.map +1 -1
  450. package/packages/tools/lib/serializer/sysml-generator.js +45 -17
  451. package/packages/tools/lib/serializer/sysml-generator.js.map +1 -1
  452. package/packages/tools/lib/server/conflict-policy.js +1 -1
  453. package/packages/tools/lib/server/conflict-policy.js.map +1 -1
  454. package/packages/tools/lib/server/dashboard-store.d.ts +1 -7
  455. package/packages/tools/lib/server/dashboard-store.d.ts.map +1 -1
  456. package/packages/tools/lib/server/dashboard-store.js +3 -14
  457. package/packages/tools/lib/server/dashboard-store.js.map +1 -1
  458. package/packages/tools/lib/server/dev-server.d.ts +48 -1
  459. package/packages/tools/lib/server/dev-server.d.ts.map +1 -1
  460. package/packages/tools/lib/server/dev-server.js +529 -80
  461. package/packages/tools/lib/server/dev-server.js.map +1 -1
  462. package/packages/tools/lib/server/dev-validate.d.ts +30 -0
  463. package/packages/tools/lib/server/dev-validate.d.ts.map +1 -0
  464. package/packages/tools/lib/server/dev-validate.js +82 -0
  465. package/packages/tools/lib/server/dev-validate.js.map +1 -0
  466. package/packages/tools/lib/server/element-writer.d.ts +4 -1
  467. package/packages/tools/lib/server/element-writer.d.ts.map +1 -1
  468. package/packages/tools/lib/server/element-writer.js +56 -35
  469. package/packages/tools/lib/server/element-writer.js.map +1 -1
  470. package/packages/tools/lib/server/mutation-domain.d.ts +10 -0
  471. package/packages/tools/lib/server/mutation-domain.d.ts.map +1 -1
  472. package/packages/tools/lib/server/mutation-domain.js +45 -8
  473. package/packages/tools/lib/server/mutation-domain.js.map +1 -1
  474. package/packages/tools/lib/server/package-source.d.ts +13 -3
  475. package/packages/tools/lib/server/package-source.d.ts.map +1 -1
  476. package/packages/tools/lib/server/package-source.js +31 -39
  477. package/packages/tools/lib/server/package-source.js.map +1 -1
  478. package/packages/tools/lib/server/package-writer.d.ts +19 -6
  479. package/packages/tools/lib/server/package-writer.d.ts.map +1 -1
  480. package/packages/tools/lib/server/package-writer.js +90 -39
  481. package/packages/tools/lib/server/package-writer.js.map +1 -1
  482. package/packages/tools/lib/server/persistor.d.ts +33 -7
  483. package/packages/tools/lib/server/persistor.d.ts.map +1 -1
  484. package/packages/tools/lib/server/persistor.js +63 -48
  485. package/packages/tools/lib/server/persistor.js.map +1 -1
  486. package/packages/tools/lib/server/project-gitignore.d.ts +9 -0
  487. package/packages/tools/lib/server/project-gitignore.d.ts.map +1 -0
  488. package/packages/tools/lib/server/project-gitignore.js +27 -0
  489. package/packages/tools/lib/server/project-gitignore.js.map +1 -0
  490. package/packages/tools/lib/server/relationship-writer.d.ts +31 -2
  491. package/packages/tools/lib/server/relationship-writer.d.ts.map +1 -1
  492. package/packages/tools/lib/server/relationship-writer.js +255 -95
  493. package/packages/tools/lib/server/relationship-writer.js.map +1 -1
  494. package/packages/tools/lib/server/release-writer.d.ts +46 -0
  495. package/packages/tools/lib/server/release-writer.d.ts.map +1 -0
  496. package/packages/tools/lib/server/release-writer.js +133 -0
  497. package/packages/tools/lib/server/release-writer.js.map +1 -0
  498. package/packages/tools/lib/server/rule-policy-writer.d.ts +17 -4
  499. package/packages/tools/lib/server/rule-policy-writer.d.ts.map +1 -1
  500. package/packages/tools/lib/server/rule-policy-writer.js +92 -7
  501. package/packages/tools/lib/server/rule-policy-writer.js.map +1 -1
  502. package/packages/tools/lib/server/rule-service.d.ts +50 -0
  503. package/packages/tools/lib/server/rule-service.d.ts.map +1 -0
  504. package/packages/tools/lib/server/rule-service.js +89 -0
  505. package/packages/tools/lib/server/rule-service.js.map +1 -0
  506. package/packages/tools/lib/server/rule-writer.d.ts +87 -0
  507. package/packages/tools/lib/server/rule-writer.d.ts.map +1 -0
  508. package/packages/tools/lib/server/rule-writer.js +165 -0
  509. package/packages/tools/lib/server/rule-writer.js.map +1 -0
  510. package/packages/tools/lib/server/suspect-review.d.ts +11 -0
  511. package/packages/tools/lib/server/suspect-review.d.ts.map +1 -0
  512. package/packages/tools/lib/server/suspect-review.js +28 -0
  513. package/packages/tools/lib/server/suspect-review.js.map +1 -0
  514. package/packages/tools/lib/server/sysml-notation.d.ts +1 -1
  515. package/packages/tools/lib/server/sysml-notation.d.ts.map +1 -1
  516. package/packages/tools/lib/server/sysml-notation.js +5 -0
  517. package/packages/tools/lib/server/sysml-notation.js.map +1 -1
  518. package/packages/tools/lib/server/user-preferences.d.ts +8 -0
  519. package/packages/tools/lib/server/user-preferences.d.ts.map +1 -0
  520. package/packages/tools/lib/server/user-preferences.js +47 -0
  521. package/packages/tools/lib/server/user-preferences.js.map +1 -0
  522. package/packages/tools/lib/server/version-servers.d.ts +60 -0
  523. package/packages/tools/lib/server/version-servers.d.ts.map +1 -0
  524. package/packages/tools/lib/server/version-servers.js +106 -0
  525. package/packages/tools/lib/server/version-servers.js.map +1 -0
  526. package/packages/tools/lib/server/view-layout-store.d.ts +28 -13
  527. package/packages/tools/lib/server/view-layout-store.d.ts.map +1 -1
  528. package/packages/tools/lib/server/view-layout-store.js +106 -106
  529. package/packages/tools/lib/server/view-layout-store.js.map +1 -1
  530. package/packages/tools/lib/server/view-writer.d.ts +22 -2
  531. package/packages/tools/lib/server/view-writer.d.ts.map +1 -1
  532. package/packages/tools/lib/server/view-writer.js +99 -44
  533. package/packages/tools/lib/server/view-writer.js.map +1 -1
  534. package/packages/tools/lib/server/write-guard.d.ts +7 -0
  535. package/packages/tools/lib/server/write-guard.d.ts.map +1 -0
  536. package/packages/tools/lib/server/write-guard.js +77 -0
  537. package/packages/tools/lib/server/write-guard.js.map +1 -0
  538. package/packages/tools/lib/stage2/api-model.d.ts +160 -0
  539. package/packages/tools/lib/stage2/api-model.d.ts.map +1 -0
  540. package/packages/tools/lib/stage2/api-model.js +341 -0
  541. package/packages/tools/lib/stage2/api-model.js.map +1 -0
  542. package/packages/tools/lib/stage2/build-from-api.d.ts +47 -0
  543. package/packages/tools/lib/stage2/build-from-api.d.ts.map +1 -0
  544. package/packages/tools/lib/stage2/build-from-api.js +1462 -0
  545. package/packages/tools/lib/stage2/build-from-api.js.map +1 -0
  546. package/packages/tools/lib/stage2/guide-from-api.d.ts +38 -0
  547. package/packages/tools/lib/stage2/guide-from-api.d.ts.map +1 -0
  548. package/packages/tools/lib/stage2/guide-from-api.js +97 -0
  549. package/packages/tools/lib/stage2/guide-from-api.js.map +1 -0
  550. package/packages/tools/lib/stage2/handoff-files.d.ts +13 -0
  551. package/packages/tools/lib/stage2/handoff-files.d.ts.map +1 -0
  552. package/packages/tools/lib/stage2/handoff-files.js +32 -0
  553. package/packages/tools/lib/stage2/handoff-files.js.map +1 -0
  554. package/packages/tools/lib/stage2/methodology-from-api.d.ts +10 -0
  555. package/packages/tools/lib/stage2/methodology-from-api.d.ts.map +1 -0
  556. package/packages/tools/lib/stage2/methodology-from-api.js +109 -0
  557. package/packages/tools/lib/stage2/methodology-from-api.js.map +1 -0
  558. package/packages/tools/lib/stage2/package-metadata-from-api.d.ts +15 -0
  559. package/packages/tools/lib/stage2/package-metadata-from-api.d.ts.map +1 -0
  560. package/packages/tools/lib/stage2/package-metadata-from-api.js +238 -0
  561. package/packages/tools/lib/stage2/package-metadata-from-api.js.map +1 -0
  562. package/packages/tools/lib/stage2/project-from-api.d.ts +60 -0
  563. package/packages/tools/lib/stage2/project-from-api.d.ts.map +1 -0
  564. package/packages/tools/lib/stage2/project-from-api.js +328 -0
  565. package/packages/tools/lib/stage2/project-from-api.js.map +1 -0
  566. package/packages/tools/lib/stage2/registries-from-api.d.ts +68 -0
  567. package/packages/tools/lib/stage2/registries-from-api.d.ts.map +1 -0
  568. package/packages/tools/lib/stage2/registries-from-api.js +313 -0
  569. package/packages/tools/lib/stage2/registries-from-api.js.map +1 -0
  570. package/packages/tools/lib/stage2/stage2-from-handoff.d.ts +26 -0
  571. package/packages/tools/lib/stage2/stage2-from-handoff.d.ts.map +1 -0
  572. package/packages/tools/lib/stage2/stage2-from-handoff.js +34 -0
  573. package/packages/tools/lib/stage2/stage2-from-handoff.js.map +1 -0
  574. package/packages/tools/lib/stage2/sysml-names.d.ts +9 -0
  575. package/packages/tools/lib/stage2/sysml-names.d.ts.map +1 -0
  576. package/packages/tools/lib/stage2/sysml-names.js +39 -0
  577. package/packages/tools/lib/stage2/sysml-names.js.map +1 -0
  578. package/packages/tools/lib/toolchain/default-registry.d.ts +2 -2
  579. package/packages/tools/lib/toolchain/default-registry.d.ts.map +1 -1
  580. package/packages/tools/lib/toolchain/default-registry.js +9 -5
  581. package/packages/tools/lib/toolchain/default-registry.js.map +1 -1
  582. package/packages/tools/lib/toolchain/diagnostic.d.ts +2 -2
  583. package/packages/tools/lib/toolchain/diagnostic.js +1 -1
  584. package/packages/tools/lib/toolchain/diagnostic.js.map +1 -1
  585. package/packages/tools/lib/toolchain/effective.d.ts +25 -17
  586. package/packages/tools/lib/toolchain/effective.d.ts.map +1 -1
  587. package/packages/tools/lib/toolchain/effective.js +45 -40
  588. package/packages/tools/lib/toolchain/effective.js.map +1 -1
  589. package/packages/tools/lib/toolchain/exceptions.d.ts +27 -0
  590. package/packages/tools/lib/toolchain/exceptions.d.ts.map +1 -0
  591. package/packages/tools/lib/toolchain/exceptions.js +77 -0
  592. package/packages/tools/lib/toolchain/exceptions.js.map +1 -0
  593. package/packages/tools/lib/toolchain/index.d.ts +2 -2
  594. package/packages/tools/lib/toolchain/index.d.ts.map +1 -1
  595. package/packages/tools/lib/toolchain/index.js +2 -2
  596. package/packages/tools/lib/toolchain/index.js.map +1 -1
  597. package/packages/tools/lib/toolchain/operations.d.ts +45 -10
  598. package/packages/tools/lib/toolchain/operations.d.ts.map +1 -1
  599. package/packages/tools/lib/toolchain/operations.js +107 -8
  600. package/packages/tools/lib/toolchain/operations.js.map +1 -1
  601. package/packages/tools/lib/toolchain/ownership.d.ts +13 -0
  602. package/packages/tools/lib/toolchain/ownership.d.ts.map +1 -0
  603. package/packages/tools/lib/toolchain/ownership.js +57 -0
  604. package/packages/tools/lib/toolchain/ownership.js.map +1 -0
  605. package/packages/tools/lib/toolchain/process.d.ts +2 -2
  606. package/packages/tools/lib/toolchain/process.js +2 -2
  607. package/packages/tools/lib/toolchain/project-config.d.ts +4 -0
  608. package/packages/tools/lib/toolchain/project-config.d.ts.map +1 -0
  609. package/packages/tools/lib/toolchain/project-config.js +13 -0
  610. package/packages/tools/lib/toolchain/project-config.js.map +1 -0
  611. package/packages/tools/lib/toolchain/project-model.d.ts +75 -0
  612. package/packages/tools/lib/toolchain/project-model.d.ts.map +1 -0
  613. package/packages/tools/lib/toolchain/project-model.js +92 -0
  614. package/packages/tools/lib/toolchain/project-model.js.map +1 -0
  615. package/packages/tools/lib/toolchain/providers/internal-package.d.ts +6 -0
  616. package/packages/tools/lib/toolchain/providers/internal-package.d.ts.map +1 -0
  617. package/packages/tools/lib/toolchain/providers/internal-package.js +47 -0
  618. package/packages/tools/lib/toolchain/providers/internal-package.js.map +1 -0
  619. package/packages/tools/lib/toolchain/providers/opensysml-check.d.ts +20 -0
  620. package/packages/tools/lib/toolchain/providers/opensysml-check.d.ts.map +1 -0
  621. package/packages/tools/lib/toolchain/providers/opensysml-check.js +95 -0
  622. package/packages/tools/lib/toolchain/providers/opensysml-check.js.map +1 -0
  623. package/packages/tools/lib/toolchain/providers/opensysml-compact.d.ts +17 -0
  624. package/packages/tools/lib/toolchain/providers/opensysml-compact.d.ts.map +1 -0
  625. package/packages/tools/lib/toolchain/providers/opensysml-compact.js +69 -0
  626. package/packages/tools/lib/toolchain/providers/opensysml-compact.js.map +1 -0
  627. package/packages/tools/lib/toolchain/providers/opensysml-lowering.d.ts +50 -0
  628. package/packages/tools/lib/toolchain/providers/opensysml-lowering.d.ts.map +1 -0
  629. package/packages/tools/lib/toolchain/providers/opensysml-lowering.js +646 -0
  630. package/packages/tools/lib/toolchain/providers/opensysml-lowering.js.map +1 -0
  631. package/packages/tools/lib/toolchain/providers/opensysml-names.d.ts +16 -0
  632. package/packages/tools/lib/toolchain/providers/opensysml-names.d.ts.map +1 -0
  633. package/packages/tools/lib/toolchain/providers/opensysml-names.js +37 -0
  634. package/packages/tools/lib/toolchain/providers/opensysml-names.js.map +1 -0
  635. package/packages/tools/lib/toolchain/providers/opensysml.d.ts +88 -0
  636. package/packages/tools/lib/toolchain/providers/opensysml.d.ts.map +1 -0
  637. package/packages/tools/lib/toolchain/providers/opensysml.js +178 -0
  638. package/packages/tools/lib/toolchain/providers/opensysml.js.map +1 -0
  639. package/packages/tools/lib/toolchain/providers/recommended.d.ts +2 -0
  640. package/packages/tools/lib/toolchain/providers/recommended.d.ts.map +1 -0
  641. package/packages/tools/lib/toolchain/providers/recommended.js +13 -0
  642. package/packages/tools/lib/toolchain/providers/recommended.js.map +1 -0
  643. package/packages/tools/lib/toolchain/providers/sysand-project.d.ts +60 -0
  644. package/packages/tools/lib/toolchain/providers/sysand-project.d.ts.map +1 -0
  645. package/packages/tools/lib/toolchain/providers/sysand-project.js +160 -0
  646. package/packages/tools/lib/toolchain/providers/sysand-project.js.map +1 -0
  647. package/packages/tools/lib/toolchain/providers/sysand.d.ts.map +1 -1
  648. package/packages/tools/lib/toolchain/providers/sysand.js +26 -2
  649. package/packages/tools/lib/toolchain/providers/sysand.js.map +1 -1
  650. package/packages/tools/lib/toolchain/providers/syside-lowering.d.ts +29 -0
  651. package/packages/tools/lib/toolchain/providers/syside-lowering.d.ts.map +1 -0
  652. package/packages/tools/lib/toolchain/providers/syside-lowering.js +497 -0
  653. package/packages/tools/lib/toolchain/providers/syside-lowering.js.map +1 -0
  654. package/packages/tools/lib/toolchain/providers/syside-python.d.ts +9 -0
  655. package/packages/tools/lib/toolchain/providers/syside-python.d.ts.map +1 -0
  656. package/packages/tools/lib/toolchain/providers/syside-python.js +69 -0
  657. package/packages/tools/lib/toolchain/providers/syside-python.js.map +1 -0
  658. package/packages/tools/lib/toolchain/providers/syside.d.ts.map +1 -1
  659. package/packages/tools/lib/toolchain/providers/syside.js +2 -0
  660. package/packages/tools/lib/toolchain/providers/syside.js.map +1 -1
  661. package/packages/tools/lib/toolchain/registry.d.ts +118 -21
  662. package/packages/tools/lib/toolchain/registry.d.ts.map +1 -1
  663. package/packages/tools/lib/toolchain/registry.js +18 -24
  664. package/packages/tools/lib/toolchain/registry.js.map +1 -1
  665. package/packages/tools/lib/toolchain/schema.d.ts +6 -5
  666. package/packages/tools/lib/toolchain/schema.d.ts.map +1 -1
  667. package/packages/tools/lib/toolchain/schema.js +8 -13
  668. package/packages/tools/lib/toolchain/schema.js.map +1 -1
  669. package/packages/tools/lib/toolchain/shipped-library.d.ts +28 -0
  670. package/packages/tools/lib/toolchain/shipped-library.d.ts.map +1 -0
  671. package/packages/tools/lib/toolchain/shipped-library.js +120 -0
  672. package/packages/tools/lib/toolchain/shipped-library.js.map +1 -0
  673. package/packages/tools/lib/toolchain/source-fingerprint.d.ts +2 -0
  674. package/packages/tools/lib/toolchain/source-fingerprint.d.ts.map +1 -0
  675. package/packages/tools/lib/toolchain/source-fingerprint.js +30 -0
  676. package/packages/tools/lib/toolchain/source-fingerprint.js.map +1 -0
  677. package/packages/tools/lib/toolchain/user-settings-status.d.ts +51 -0
  678. package/packages/tools/lib/toolchain/user-settings-status.d.ts.map +1 -0
  679. package/packages/tools/lib/toolchain/user-settings-status.js +104 -0
  680. package/packages/tools/lib/toolchain/user-settings-status.js.map +1 -0
  681. package/packages/tools/lib/validator/architecture-validator.d.ts.map +1 -1
  682. package/packages/tools/lib/validator/architecture-validator.js +2 -1
  683. package/packages/tools/lib/validator/architecture-validator.js.map +1 -1
  684. package/packages/tools/lib/validator/behavior-validator.js +1 -1
  685. package/packages/tools/lib/validator/behavior-validator.js.map +1 -1
  686. package/packages/tools/lib/validator/builtin-rules.js +1 -1
  687. package/packages/tools/lib/validator/builtin-rules.js.map +1 -1
  688. package/packages/tools/lib/validator/constraint-eval.d.ts +30 -4
  689. package/packages/tools/lib/validator/constraint-eval.d.ts.map +1 -1
  690. package/packages/tools/lib/validator/constraint-eval.js +101 -59
  691. package/packages/tools/lib/validator/constraint-eval.js.map +1 -1
  692. package/packages/tools/lib/validator/constraint-loader-api.d.ts +22 -0
  693. package/packages/tools/lib/validator/constraint-loader-api.d.ts.map +1 -0
  694. package/packages/tools/lib/validator/constraint-loader-api.js +160 -0
  695. package/packages/tools/lib/validator/constraint-loader-api.js.map +1 -0
  696. package/packages/tools/lib/validator/constraint-loader.d.ts +22 -18
  697. package/packages/tools/lib/validator/constraint-loader.d.ts.map +1 -1
  698. package/packages/tools/lib/validator/constraint-loader.js +33 -141
  699. package/packages/tools/lib/validator/constraint-loader.js.map +1 -1
  700. package/packages/tools/lib/validator/rule-clauses.d.ts +51 -0
  701. package/packages/tools/lib/validator/rule-clauses.d.ts.map +1 -0
  702. package/packages/tools/lib/validator/rule-clauses.js +87 -0
  703. package/packages/tools/lib/validator/rule-clauses.js.map +1 -0
  704. package/packages/tools/lib/validator/rule-engine.d.ts +9 -1
  705. package/packages/tools/lib/validator/rule-engine.d.ts.map +1 -1
  706. package/packages/tools/lib/validator/rule-engine.js +50 -6
  707. package/packages/tools/lib/validator/rule-engine.js.map +1 -1
  708. package/packages/tools/lib/validator/rule-registry.d.ts +4 -8
  709. package/packages/tools/lib/validator/rule-registry.d.ts.map +1 -1
  710. package/packages/tools/lib/validator/rule-registry.js +42 -79
  711. package/packages/tools/lib/validator/rule-registry.js.map +1 -1
  712. package/packages/tools/lib/validator/rule-tailoring.d.ts +62 -0
  713. package/packages/tools/lib/validator/rule-tailoring.d.ts.map +1 -0
  714. package/packages/tools/lib/validator/rule-tailoring.js +85 -0
  715. package/packages/tools/lib/validator/rule-tailoring.js.map +1 -0
  716. package/packages/tools/lib/validator/types.d.ts +12 -1
  717. package/packages/tools/lib/validator/types.d.ts.map +1 -1
  718. package/packages/tools/lib/validator/workspace-boundary-validator.d.ts +9 -0
  719. package/packages/tools/lib/validator/workspace-boundary-validator.d.ts.map +1 -0
  720. package/packages/tools/lib/validator/workspace-boundary-validator.js +28 -0
  721. package/packages/tools/lib/validator/workspace-boundary-validator.js.map +1 -0
  722. package/packages/tools/python/memo_model.py +243 -0
  723. package/packages/tools/python/memo_stage1_syside.py +389 -0
  724. package/packages/tools/lib/commands/check.d.ts +0 -6
  725. package/packages/tools/lib/commands/check.d.ts.map +0 -1
  726. package/packages/tools/lib/commands/check.js +0 -191
  727. package/packages/tools/lib/commands/check.js.map +0 -1
  728. package/packages/tools/lib/commands/conformance.d.ts +0 -36
  729. package/packages/tools/lib/commands/conformance.d.ts.map +0 -1
  730. package/packages/tools/lib/commands/conformance.js +0 -212
  731. package/packages/tools/lib/commands/conformance.js.map +0 -1
  732. package/packages/tools/lib/commands/roundtrip.d.ts +0 -6
  733. package/packages/tools/lib/commands/roundtrip.d.ts.map +0 -1
  734. package/packages/tools/lib/commands/roundtrip.js +0 -145
  735. package/packages/tools/lib/commands/roundtrip.js.map +0 -1
  736. package/packages/tools/lib/conformance/baseline.d.ts +0 -26
  737. package/packages/tools/lib/conformance/baseline.d.ts.map +0 -1
  738. package/packages/tools/lib/conformance/baseline.js +0 -170
  739. package/packages/tools/lib/conformance/baseline.js.map +0 -1
  740. package/packages/tools/lib/conformance/bnf.d.ts +0 -84
  741. package/packages/tools/lib/conformance/bnf.d.ts.map +0 -1
  742. package/packages/tools/lib/conformance/bnf.js +0 -166
  743. package/packages/tools/lib/conformance/bnf.js.map +0 -1
  744. package/packages/tools/lib/conformance/corpus.d.ts +0 -125
  745. package/packages/tools/lib/conformance/corpus.d.ts.map +0 -1
  746. package/packages/tools/lib/conformance/corpus.js +0 -190
  747. package/packages/tools/lib/conformance/corpus.js.map +0 -1
  748. package/packages/tools/lib/conformance/diff-xmi.d.ts +0 -118
  749. package/packages/tools/lib/conformance/diff-xmi.d.ts.map +0 -1
  750. package/packages/tools/lib/conformance/diff-xmi.js +0 -276
  751. package/packages/tools/lib/conformance/diff-xmi.js.map +0 -1
  752. package/packages/tools/lib/conformance/generated/syside-rules.d.ts +0 -10
  753. package/packages/tools/lib/conformance/generated/syside-rules.d.ts.map +0 -1
  754. package/packages/tools/lib/conformance/generated/syside-rules.js +0 -1142
  755. package/packages/tools/lib/conformance/generated/syside-rules.js.map +0 -1
  756. package/packages/tools/lib/conformance/index.d.ts +0 -7
  757. package/packages/tools/lib/conformance/index.d.ts.map +0 -1
  758. package/packages/tools/lib/conformance/index.js +0 -19
  759. package/packages/tools/lib/conformance/index.js.map +0 -1
  760. package/packages/tools/lib/conformance/run.d.ts +0 -117
  761. package/packages/tools/lib/conformance/run.d.ts.map +0 -1
  762. package/packages/tools/lib/conformance/run.js +0 -0
  763. package/packages/tools/lib/conformance/run.js.map +0 -1
  764. package/packages/tools/lib/conformance/xmi.d.ts +0 -45
  765. package/packages/tools/lib/conformance/xmi.d.ts.map +0 -1
  766. package/packages/tools/lib/conformance/xmi.js +0 -148
  767. package/packages/tools/lib/conformance/xmi.js.map +0 -1
  768. package/packages/tools/lib/language/generated/ast.d.ts +0 -3565
  769. package/packages/tools/lib/language/generated/ast.d.ts.map +0 -1
  770. package/packages/tools/lib/language/generated/ast.js +0 -2975
  771. package/packages/tools/lib/language/generated/ast.js.map +0 -1
  772. package/packages/tools/lib/language/generated/grammar.d.ts +0 -7
  773. package/packages/tools/lib/language/generated/grammar.d.ts.map +0 -1
  774. package/packages/tools/lib/language/generated/grammar.js +0 -10643
  775. package/packages/tools/lib/language/generated/grammar.js.map +0 -1
  776. package/packages/tools/lib/language/generated/module.d.ts +0 -14
  777. package/packages/tools/lib/language/generated/module.d.ts.map +0 -1
  778. package/packages/tools/lib/language/generated/module.js +0 -21
  779. package/packages/tools/lib/language/generated/module.js.map +0 -1
  780. package/packages/tools/lib/language/memo-sysml-module.d.ts +0 -24
  781. package/packages/tools/lib/language/memo-sysml-module.d.ts.map +0 -1
  782. package/packages/tools/lib/language/memo-sysml-module.js +0 -20
  783. package/packages/tools/lib/language/memo-sysml-module.js.map +0 -1
  784. package/packages/tools/lib/model/builder.d.ts +0 -27
  785. package/packages/tools/lib/model/builder.d.ts.map +0 -1
  786. package/packages/tools/lib/model/builder.js +0 -2103
  787. package/packages/tools/lib/model/builder.js.map +0 -1
  788. package/packages/tools/lib/model/package-registry.d.ts +0 -62
  789. package/packages/tools/lib/model/package-registry.d.ts.map +0 -1
  790. package/packages/tools/lib/model/package-registry.js +0 -175
  791. package/packages/tools/lib/model/package-registry.js.map +0 -1
  792. package/packages/tools/lib/model/parser-utils.d.ts +0 -65
  793. package/packages/tools/lib/model/parser-utils.d.ts.map +0 -1
  794. package/packages/tools/lib/model/parser-utils.js +0 -201
  795. package/packages/tools/lib/model/parser-utils.js.map +0 -1
  796. package/packages/tools/lib/sysmlc/bin/memo-sysmlc.d.ts +0 -3
  797. package/packages/tools/lib/sysmlc/bin/memo-sysmlc.d.ts.map +0 -1
  798. package/packages/tools/lib/sysmlc/bin/memo-sysmlc.js +0 -97
  799. package/packages/tools/lib/sysmlc/bin/memo-sysmlc.js.map +0 -1
  800. package/packages/tools/lib/sysmlc/index.d.ts +0 -2
  801. package/packages/tools/lib/sysmlc/index.d.ts.map +0 -1
  802. package/packages/tools/lib/sysmlc/index.js +0 -7
  803. package/packages/tools/lib/sysmlc/index.js.map +0 -1
  804. package/packages/tools/lib/sysmlc/server.d.ts +0 -29
  805. package/packages/tools/lib/sysmlc/server.d.ts.map +0 -1
  806. package/packages/tools/lib/sysmlc/server.js +0 -168
  807. package/packages/tools/lib/sysmlc/server.js.map +0 -1
  808. package/packages/tools/lib/toolchain/lowering.d.ts +0 -63
  809. package/packages/tools/lib/toolchain/lowering.d.ts.map +0 -1
  810. package/packages/tools/lib/toolchain/lowering.js +0 -100
  811. package/packages/tools/lib/toolchain/lowering.js.map +0 -1
  812. package/packages/tools/lib/toolchain/providers/internal.d.ts +0 -33
  813. package/packages/tools/lib/toolchain/providers/internal.d.ts.map +0 -1
  814. package/packages/tools/lib/toolchain/providers/internal.js +0 -286
  815. package/packages/tools/lib/toolchain/providers/internal.js.map +0 -1
  816. package/packages/tools/lib/toolchain/sysmlc-client.d.ts +0 -77
  817. package/packages/tools/lib/toolchain/sysmlc-client.d.ts.map +0 -1
  818. package/packages/tools/lib/toolchain/sysmlc-client.js +0 -0
  819. package/packages/tools/lib/toolchain/sysmlc-client.js.map +0 -1
  820. package/packages/tools/lib/validator/sysml-constraints.d.ts +0 -64
  821. package/packages/tools/lib/validator/sysml-constraints.d.ts.map +0 -1
  822. package/packages/tools/lib/validator/sysml-constraints.js +0 -251
  823. package/packages/tools/lib/validator/sysml-constraints.js.map +0 -1
  824. package/packages/tools/src/grammar/memo-sysml.langium +0 -1056
@@ -4,8 +4,9 @@
4
4
  // server protocol. Callers pass settings and a project directory and get
5
5
  // normalized `Diagnostic`s back. Nothing here branches on a provider name.
6
6
  // ─────────────────────────────────────────────────────────────────────────────
7
- import { discoverLibraryRoots } from '../model/native-project.js';
8
- import { resolveToolchain } from './effective.js';
7
+ import { canonicalPath, discoverLibraryRoots, discoverProjectSources } from '../model/native-project.js';
8
+ import { relative } from 'node:path';
9
+ import { resolveToolchain, ToolchainNotConfiguredError } from './effective.js';
9
10
  import { PROVIDER_ROLES, ROLE_SETTING, } from './registry.js';
10
11
  import { defaultRegistry } from './default-registry.js';
11
12
  function context(options) {
@@ -30,6 +31,92 @@ export async function runLowering(options) {
30
31
  const effective = resolveToolchain(options.config, registry);
31
32
  return registry.resolveLowering(effective.lowering, context(options)).run();
32
33
  }
34
+ /**
35
+ * The MEMO model from the selected stage 1 compiler: its check, then stage 2
36
+ * over its API JSON. Every command that needs a model asks here, so
37
+ * `toolchain.compiler` means the same thing to all of them. MEMO has no compiler
38
+ * of its own: a lowering provider that cannot build the model is an error.
39
+ */
40
+ export async function compileModelWithSelected(options) {
41
+ const registry = options.registry ?? defaultRegistry;
42
+ const effective = resolveToolchain(options.config, registry);
43
+ const compile = registry.descriptor('lowering', effective.lowering).compileModel;
44
+ if (!compile) {
45
+ throw new Error(`The compiler "${effective.lowering}" does not build a model, so it cannot be selected as \`toolchain.compiler\`.`);
46
+ }
47
+ // The compiler names files by their real paths, so the project and its
48
+ // libraries are given by them: through a symbolic link nothing would match.
49
+ const result = await compile({
50
+ ...options,
51
+ projectDir: canonicalPath(options.projectDir),
52
+ libraryDirs: options.libraryDirs.map(canonicalPath),
53
+ });
54
+ // A compile that accepted the project but resolved nothing from it is not a
55
+ // valid empty model, it is a failure to say so: either none of the project's
56
+ // own files was compiled, or the project imports a package no library root
57
+ // supplied and so has no kinds, which Architect would show as an empty model
58
+ // with no error.
59
+ const unresolved = result.resolution?.diagnostics.find(d => d.code === 'entrypoint-not-compiled');
60
+ const kinds = result.registries?.kindRegistry?.kindNames().length;
61
+ // (A project that imports nothing, a scratch fixture or an empty one, has no
62
+ // library to reach and is reported by its own resolution diagnostics.)
63
+ const missingImport = result.resolution?.diagnostics.find(d => d.code === 'unresolved-import');
64
+ const empty = result.resolution && missingImport && result.resolution.selectedRoots.length === 0 && kinds === 0
65
+ ? `The compile selected no library root and no kinds from ${result.resolution.projectRoot}, so the model is empty. ${missingImport.message}`
66
+ : undefined;
67
+ // A dependency the project lists and cannot use is an error: its elements would
68
+ // be missing or the wrong ones, and a reference into it would not resolve.
69
+ const dependency = result.resolution?.diagnostics.find(d => d.code === 'dependency-missing' || d.code === 'dependency-version');
70
+ const message = unresolved?.message ?? empty ?? dependency?.message;
71
+ if (result.accepted && message) {
72
+ const { model: _model, ...rest } = result;
73
+ return {
74
+ ...rest,
75
+ accepted: false,
76
+ diagnostics: [...result.diagnostics, {
77
+ domain: 'sysml', provider: effective.lowering, severity: 'error', message,
78
+ ...(unresolved?.file ? { file: unresolved.file } : {}),
79
+ }],
80
+ };
81
+ }
82
+ return result;
83
+ }
84
+ /**
85
+ * Stage 1 over every library root a locator offers, with the project resolved
86
+ * from what it compiled (`resolveProject`): what a command loads, so MEMO parses
87
+ * nothing. `projectFiles` defaults to the project's own sources, its library
88
+ * roots excluded.
89
+ */
90
+ export async function compileResolvedProject(options) {
91
+ const registry = options.registry ?? defaultRegistry;
92
+ const projectDir = canonicalPath(options.projectDir);
93
+ const sources = discoverProjectSources(projectDir);
94
+ return compileModelWithSelected({
95
+ config: options.config,
96
+ projectDir,
97
+ libraryDirs: [...new Set(sources.libraryRoots.map(root => root.sysmlDir))],
98
+ projectFiles: options.projectFiles
99
+ ?? new Set(sources.projectFiles.map(file => relative(projectDir, file))),
100
+ resolveProject: true,
101
+ provenance: options.provenance,
102
+ cacheDir: options.cacheDir,
103
+ force: options.force,
104
+ registry,
105
+ });
106
+ }
107
+ /**
108
+ * Whether the selected compiler's stage 1 diagnostics stand in for the
109
+ * validator: one provider fills both roles and says its compile is the check
110
+ * its validator would run. A command that compiles then runs that provider
111
+ * once, not twice.
112
+ */
113
+ export function compileServesValidator(config, registry = defaultRegistry) {
114
+ const effective = resolveToolchain(config, registry);
115
+ if (effective.validator !== effective.lowering)
116
+ return false;
117
+ const descriptor = registry.descriptor('lowering', effective.lowering);
118
+ return Boolean(descriptor.compileModel && descriptor.compileServesValidator?.(config));
119
+ }
33
120
  /** Run the selected packager against `outputPath`. */
34
121
  export async function runPackager(options) {
35
122
  const registry = options.registry ?? defaultRegistry;
@@ -57,7 +144,7 @@ function fingerprint(diagnostic) {
57
144
  * Resolve every role and ask each selected provider whether it can run here,
58
145
  * without running it.
59
146
  *
60
- * This is what answers "which `syside` am I actually using?" — a question that
147
+ * This is what answers "which compiler am I actually using?" — a question that
61
148
  * costs an afternoon when the only way to ask it is to run a build and read
62
149
  * the errors.
63
150
  */
@@ -67,6 +154,20 @@ export function probeToolchain(options) {
67
154
  const providerContext = { config: options.config, projectDir: options.projectDir };
68
155
  const roles = PROVIDER_ROLES.map(role => {
69
156
  const selection = effective.selections.find(s => s.role === role);
157
+ // A role the settings leave unset is reported, not given a provider.
158
+ if (!selection) {
159
+ return {
160
+ role,
161
+ setting: ROLE_SETTING[role],
162
+ provider: '(not configured)',
163
+ source: 'unset',
164
+ availability: {
165
+ available: false,
166
+ transport: 'in-process',
167
+ detail: new ToolchainNotConfiguredError(role, registry).message,
168
+ },
169
+ };
170
+ }
70
171
  return {
71
172
  role,
72
173
  setting: ROLE_SETTING[role],
@@ -77,7 +178,7 @@ export function probeToolchain(options) {
77
178
  });
78
179
  return { projectDir: options.projectDir, effective, roles };
79
180
  }
80
- /** One `role provider path version` line per role, for `memo toolchain probe`. */
181
+ /** One `role provider path version` line per role, for `memo compile --probe`. */
81
182
  export function formatProbeLine(probe) {
82
183
  const { availability } = probe;
83
184
  const where = availability.executable ?? `(${availability.transport})`;
@@ -95,13 +196,11 @@ export function effectiveConfigReport(options) {
95
196
  providers[id] = settings;
96
197
  }
97
198
  return {
98
- projectName: options.config.projectName,
199
+ modelName: options.config.modelName,
99
200
  projectRoot: options.projectDir,
100
201
  settingsFile: options.settingsFile,
101
202
  toolchain: {
102
- validator: effective.validator,
103
- lowering: effective.lowering,
104
- packager: effective.packager,
203
+ ...Object.fromEntries(effective.selections.map(s => [s.role === 'package' ? 'packager' : s.role, s.provider])),
105
204
  selections: effective.selections,
106
205
  providers,
107
206
  },
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/toolchain/operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/toolchain/operations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { MEMOConfig, ToolchainConfig } from '../model/config.js';
2
+ import type { ProviderRegistry } from './registry.js';
3
+ /** The user-scoped settings a project's own settings file wrote, by dotted path. */
4
+ export declare function userSettingsInProject(toolchain: ToolchainConfig | undefined, registry: ProviderRegistry): string[];
5
+ /** A project's settings file names a tool's place on one machine. */
6
+ export declare class ProjectNamesUserSettingError extends Error {
7
+ readonly file: string | undefined;
8
+ readonly paths: readonly string[];
9
+ constructor(file: string | undefined, paths: readonly string[]);
10
+ }
11
+ /** Refuse a project whose settings file names a user's setting. */
12
+ export declare function rejectUserSettingsInProject(config: MEMOConfig | undefined, registry: ProviderRegistry): void;
13
+ //# sourceMappingURL=ownership.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ownership.d.ts","sourceRoot":"","sources":["../../src/toolchain/ownership.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,oFAAoF;AACpF,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,eAAe,GAAG,SAAS,EAAE,QAAQ,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAKlH;AAWD,qEAAqE;AACrE,qBAAa,4BAA6B,SAAQ,KAAK;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE;gBAA3D,IAAI,EAAE,MAAM,GAAG,SAAS,EAAW,KAAK,EAAE,SAAS,MAAM,EAAE;CAWnF;AAED,mEAAmE;AACnE,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAG5G"}
@@ -0,0 +1,57 @@
1
+ // ─── Whose setting it is ─────────────────────────────────────────────────────
2
+ //
3
+ // Where a tool is on this machine (its binary, its Python) belongs to whoever
4
+ // runs it: two people on one project have different machines. A project's
5
+ // settings file is checked in and shared, so a path in it is wrong for everyone
6
+ // else, and it may not carry one. It is set in the user's own settings, the
7
+ // environment or on the command line (`model/user-settings.ts`). The registry
8
+ // says which settings these are (`scope: 'user'`), so a provider that adds one
9
+ // gets the rule without anyone remembering to.
10
+ //
11
+ // Which compiler runs is different: the project names it (`scope: 'shared'`),
12
+ // and each user may override it for themselves without editing the project.
13
+ //
14
+ // A rejected setting is rejected, never read as a fallback or compared against
15
+ // the user's: the same rule `model/settings-boundary.ts` holds for semantic fields.
16
+ // ─────────────────────────────────────────────────────────────────────────────
17
+ import { userSettingsPath } from '../model/user-settings.js';
18
+ /** The user-scoped settings a project's own settings file wrote, by dotted path. */
19
+ export function userSettingsInProject(toolchain, registry) {
20
+ if (!toolchain || typeof toolchain !== 'object')
21
+ return [];
22
+ return registry.schema()
23
+ .filter(leaf => leaf.scope === 'user' && valueAt(toolchain, leaf.path) !== undefined)
24
+ .map(leaf => leaf.path);
25
+ }
26
+ function valueAt(toolchain, path) {
27
+ let value = toolchain;
28
+ for (const step of path.split('.')) {
29
+ if (!value || typeof value !== 'object')
30
+ return undefined;
31
+ value = value[step];
32
+ }
33
+ return value;
34
+ }
35
+ /** A project's settings file names a tool's place on one machine. */
36
+ export class ProjectNamesUserSettingError extends Error {
37
+ file;
38
+ paths;
39
+ constructor(file, paths) {
40
+ const where = file ?? "the project's settings file";
41
+ const names = paths.map(path => `toolchain.${path}`).join(', ');
42
+ super(`${where} sets ${names}. Where a tool is on this machine belongs to the person running MEMO, `
43
+ + `so a project's checked-in settings do not carry it: it would be wrong for everyone else. Remove ${paths.length === 1 ? 'it' : 'them'} from the file `
44
+ + `and set ${paths.length === 1 ? 'it' : 'each'} for yourself in your own settings file, ${userSettingsPath()} `
45
+ + `(under toolchain: ${paths.join(', ')}; \`memo-architect config set ${paths[0]} <value>\` writes it), or with an environment variable or a --toolchain.<setting> flag.`);
46
+ this.file = file;
47
+ this.paths = paths;
48
+ this.name = 'ProjectNamesUserSettingError';
49
+ }
50
+ }
51
+ /** Refuse a project whose settings file names a user's setting. */
52
+ export function rejectUserSettingsInProject(config, registry) {
53
+ const paths = userSettingsInProject(config?.projectToolchain, registry);
54
+ if (paths.length > 0)
55
+ throw new ProjectNamesUserSettingError(config?.projectSettingsFile, paths);
56
+ }
57
+ //# sourceMappingURL=ownership.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ownership.js","sourceRoot":"","sources":["../../src/toolchain/ownership.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,8EAA8E;AAC9E,0EAA0E;AAC1E,gFAAgF;AAChF,4EAA4E;AAC5E,8EAA8E;AAC9E,+EAA+E;AAC/E,+CAA+C;AAC/C,EAAE;AACF,8EAA8E;AAC9E,4EAA4E;AAC5E,EAAE;AACF,+EAA+E;AAC/E,oFAAoF;AACpF,gFAAgF;AAGhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D,oFAAoF;AACpF,MAAM,UAAU,qBAAqB,CAAC,SAAsC,EAAE,QAA0B;IACpG,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IAC3D,OAAO,QAAQ,CAAC,MAAM,EAAE;SACnB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;SACpF,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,OAAO,CAAC,SAA0B,EAAE,IAAY;IACrD,IAAI,KAAK,GAAY,SAAS,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAC1D,KAAK,GAAI,KAAiC,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,qEAAqE;AACrE,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IAC9B;IAAmC;IAAxD,YAAqB,IAAwB,EAAW,KAAwB;QAC5E,MAAM,KAAK,GAAG,IAAI,IAAI,6BAA6B,CAAC;QACpD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,KAAK,CACD,GAAG,KAAK,SAAS,KAAK,wEAAwE;cAC5F,mGAAmG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,iBAAiB;cACtJ,WAAW,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,4CAA4C,gBAAgB,EAAE,GAAG;cAC9G,qBAAqB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iCAAiC,KAAK,CAAC,CAAC,CAAC,yFAAyF,CAC5K,CAAC;QARe,SAAI,GAAJ,IAAI,CAAoB;QAAW,UAAK,GAAL,KAAK,CAAmB;QAS5E,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC/C,CAAC;CACJ;AAED,mEAAmE;AACnE,MAAM,UAAU,2BAA2B,CAAC,MAA8B,EAAE,QAA0B;IAClG,MAAM,KAAK,GAAG,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IACxE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,4BAA4B,CAAC,MAAM,EAAE,mBAAmB,EAAE,KAAK,CAAC,CAAC;AACrG,CAAC"}
@@ -3,14 +3,14 @@ import { type ToolInvocation } from './registry.js';
3
3
  export declare function resolveProjectPath(value: string, projectDir: string): string;
4
4
  /**
5
5
  * A configured executable is a path when it looks like one, and a PATH lookup
6
- * otherwise. `syside` means "whatever is on PATH"; `./bin/syside` means that
6
+ * otherwise. `sysml` means "whatever is on PATH"; `./bin/sysml` means that
7
7
  * file.
8
8
  */
9
9
  export declare function resolveExecutable(value: string | undefined, fallback: string, projectDir: string): string;
10
10
  /**
11
11
  * Absolute path of a command, resolved the way the shell would.
12
12
  *
13
- * `memo toolchain probe` prints this: knowing *which* `syside` ran matters as
13
+ * `memo compile --probe` prints this: knowing *which* executable ran matters as
14
14
  * much as knowing that one did.
15
15
  */
16
16
  export declare function whichExecutable(command: string, env?: NodeJS.ProcessEnv): string | undefined;
@@ -19,7 +19,7 @@ export function resolveProjectPath(value, projectDir) {
19
19
  }
20
20
  /**
21
21
  * A configured executable is a path when it looks like one, and a PATH lookup
22
- * otherwise. `syside` means "whatever is on PATH"; `./bin/syside` means that
22
+ * otherwise. `sysml` means "whatever is on PATH"; `./bin/sysml` means that
23
23
  * file.
24
24
  */
25
25
  export function resolveExecutable(value, fallback, projectDir) {
@@ -43,7 +43,7 @@ function isExecutableFile(candidate) {
43
43
  /**
44
44
  * Absolute path of a command, resolved the way the shell would.
45
45
  *
46
- * `memo toolchain probe` prints this: knowing *which* `syside` ran matters as
46
+ * `memo compile --probe` prints this: knowing *which* executable ran matters as
47
47
  * much as knowing that one did.
48
48
  */
49
49
  export function whichExecutable(command, env = process.env) {
@@ -0,0 +1,4 @@
1
+ import type { MEMOConfig } from '../model/config.js';
2
+ /** The project's effective settings. */
3
+ export declare function loadProjectConfig(projectDir: string): MEMOConfig;
4
+ //# sourceMappingURL=project-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-config.d.ts","sourceRoot":"","sources":["../../src/toolchain/project-config.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,wCAAwC;AACxC,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAGhE"}
@@ -0,0 +1,13 @@
1
+ // ─── A project's settings ────────────────────────────────────────────────────
2
+ //
3
+ // Settings are optional: a project with none is complete, because a MEMO project
4
+ // declares its identity in SysML, not in YAML.
5
+ // ─────────────────────────────────────────────────────────────────────────────
6
+ import { findConfigFile, loadProjectSettings } from '../model/config-loader.js';
7
+ import { loadAndResolveConfig } from '../server/config-resolver.js';
8
+ /** The project's effective settings. */
9
+ export function loadProjectConfig(projectDir) {
10
+ const configPath = findConfigFile(projectDir);
11
+ return configPath ? loadAndResolveConfig(configPath) : loadProjectSettings(projectDir);
12
+ }
13
+ //# sourceMappingURL=project-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-config.js","sourceRoot":"","sources":["../../src/toolchain/project-config.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,iFAAiF;AACjF,+CAA+C;AAC/C,gFAAgF;AAEhF,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,wCAAwC;AACxC,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IAChD,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAC9C,OAAO,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;AAC3F,CAAC"}
@@ -0,0 +1,75 @@
1
+ import type { BuilderRegistries } from '../model/complete-model.js';
2
+ import type { MEMOConfig } from '../model/config.js';
3
+ import type { NativeProjectResolution } from '../model/native-project.js';
4
+ import type { MemoModel } from '../model/semantic.js';
5
+ import type { ApiModel } from '../stage2/api-model.js';
6
+ import type { ConstraintDiagnostic } from '../validator/constraint-loader.js';
7
+ import type { CompiledConstraint } from '../validator/constraint-eval.js';
8
+ import type { Diagnostic } from './diagnostic.js';
9
+ import type { ProviderRegistry } from './registry.js';
10
+ export interface ProjectModel {
11
+ model: MemoModel;
12
+ /** The kinds, relationship types and provenance the model was built with. */
13
+ registries?: BuilderRegistries;
14
+ resolution?: NativeProjectResolution;
15
+ /** The selected compiler (`toolchain.compiler`). */
16
+ compiler: string;
17
+ /** The compiler's version. */
18
+ providerVersion?: string;
19
+ /** Stage 1's diagnostics. */
20
+ diagnostics: Diagnostic[];
21
+ /** Messages from resolving the project and loading its ontology. */
22
+ loadWarnings: string[];
23
+ /** The handoff the model was built from, library included. */
24
+ api: ApiModel;
25
+ /** Whether stage 1 was reused from the project's `.memo/stage1`. */
26
+ cached?: boolean;
27
+ }
28
+ /** Stage 1 reported an error: no model, since it is not valid SysML. */
29
+ export declare class Stage1RejectedError extends Error {
30
+ readonly compiler: string;
31
+ readonly diagnostics: Diagnostic[];
32
+ constructor(compiler: string, diagnostics: Diagnostic[]);
33
+ }
34
+ /** Where compilers keep stage 1 output between runs: tool state, never authored content. */
35
+ export declare function stage1CacheDir(projectRoot: string): string;
36
+ export interface LoadProjectModelOptions {
37
+ projectRoot: string;
38
+ config: MEMOConfig;
39
+ /**
40
+ * The project files the model is built from, absolute. Defaults to the
41
+ * project's own sources: every file under no library root.
42
+ */
43
+ files?: readonly string[];
44
+ /** Reuse and refresh `.memo/stage1`. Default true. */
45
+ cache?: boolean;
46
+ registry?: ProviderRegistry;
47
+ }
48
+ /**
49
+ * The project's model from the selected compiler.
50
+ *
51
+ * Throws {@link Stage1RejectedError} when stage 1 reports an error: a command
52
+ * never works on a model that is not valid SysML.
53
+ */
54
+ export declare function loadProjectModel(options: LoadProjectModelOptions): Promise<ProjectModel>;
55
+ /**
56
+ * The rule definitions a loaded project declares, from the handoff, restricted
57
+ * to what resolution loads, as `memo validate` restricts it.
58
+ */
59
+ export declare function projectConstraints(project: ProjectModel, diagnostics?: ConstraintDiagnostic[],
60
+ /** Files that are the project's own; by default, every file under no library root. */
61
+ isProjectFile?: (file: string) => boolean): CompiledConstraint[];
62
+ export interface ProjectOntology {
63
+ registries: BuilderRegistries;
64
+ resolution?: NativeProjectResolution;
65
+ /** Ontology files resolution loaded; 0 when nothing resolved. */
66
+ fileCount: number;
67
+ loadWarnings: string[];
68
+ }
69
+ /**
70
+ * The ontology a project resolves — its kinds, relationship types and the
71
+ * resolution itself — for a command that needs no model, from the selected
72
+ * compiler's handoff.
73
+ */
74
+ export declare function loadProjectOntology(options: LoadProjectModelOptions): Promise<ProjectOntology>;
75
+ //# sourceMappingURL=project-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-model.d.ts","sourceRoot":"","sources":["../../src/toolchain/project-model.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAG1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,SAAS,CAAC;IACjB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6BAA6B;IAC7B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,oEAAoE;IACpE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,8DAA8D;IAC9D,GAAG,EAAE,QAAQ,CAAC;IACd,oEAAoE;IACpE,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wEAAwE;AACxE,qBAAa,mBAAoB,SAAQ,KAAK;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAAE,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE;gBAApD,QAAQ,EAAE,MAAM,EAAW,WAAW,EAAE,UAAU,EAAE;CAK5E;AAED,4FAA4F;AAC5F,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,MAAM,WAAW,uBAAuB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,sDAAsD;IACtD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,YAAY,CAAC,CAuB9F;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,YAAY,EACrB,WAAW,GAAE,oBAAoB,EAAO;AACxC,sFAAsF;AACtF,aAAa,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAgF,GAClH,kBAAkB,EAAE,CAItB;AAED,MAAM,WAAW,eAAe;IAC5B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC,CAQpG"}
@@ -0,0 +1,92 @@
1
+ // ─── A project's model, from the selected compiler ───────────────────────────
2
+ //
3
+ // Every command that needs a MEMO model asks here, so `toolchain.compiler`
4
+ // means the same thing to all of them. The compiler compiles every library root
5
+ // a locator offers and states the project's resolution, registries and rules in
6
+ // its handoff, so MEMO parses nothing: it reads the handoff.
7
+ // ─────────────────────────────────────────────────────────────────────────────
8
+ import { join, relative } from 'node:path';
9
+ import { isProjectSource, resolutionLoads } from '../stage2/project-from-api.js';
10
+ import { collectApiConstraints } from '../validator/constraint-loader-api.js';
11
+ import { defaultRegistry } from './default-registry.js';
12
+ import { resolveToolchain } from './effective.js';
13
+ import { compileResolvedProject } from './operations.js';
14
+ /** Stage 1 reported an error: no model, since it is not valid SysML. */
15
+ export class Stage1RejectedError extends Error {
16
+ compiler;
17
+ diagnostics;
18
+ constructor(compiler, diagnostics) {
19
+ const errors = diagnostics.filter(d => d.severity === 'error');
20
+ super(`Stage 1 (${compiler}) reported ${errors.length} error(s):\n`
21
+ + errors.map(d => ` ${d.file}:${d.range?.start.line ?? '?'}:${d.range?.start.column ?? '?'} ${d.code ?? ''} ${d.message}`).join('\n'));
22
+ this.compiler = compiler;
23
+ this.diagnostics = diagnostics;
24
+ }
25
+ }
26
+ /** Where compilers keep stage 1 output between runs: tool state, never authored content. */
27
+ export function stage1CacheDir(projectRoot) {
28
+ return join(projectRoot, '.memo', 'stage1');
29
+ }
30
+ /**
31
+ * The project's model from the selected compiler.
32
+ *
33
+ * Throws {@link Stage1RejectedError} when stage 1 reports an error: a command
34
+ * never works on a model that is not valid SysML.
35
+ */
36
+ export async function loadProjectModel(options) {
37
+ const { projectRoot, config } = options;
38
+ const registry = options.registry ?? defaultRegistry;
39
+ const compiler = resolveToolchain(config, registry).lowering;
40
+ const stage1 = await compileResolvedProject({
41
+ config,
42
+ projectDir: projectRoot,
43
+ projectFiles: options.files ? new Set(options.files.map(file => relative(projectRoot, file))) : undefined,
44
+ cacheDir: options.cache === false ? undefined : stage1CacheDir(projectRoot),
45
+ registry,
46
+ });
47
+ if (!stage1.accepted || !stage1.model || !stage1.api)
48
+ throw new Stage1RejectedError(compiler, stage1.diagnostics);
49
+ return {
50
+ model: stage1.model,
51
+ registries: stage1.registries,
52
+ resolution: stage1.resolution,
53
+ compiler,
54
+ providerVersion: stage1.providerVersion,
55
+ diagnostics: stage1.diagnostics,
56
+ loadWarnings: (stage1.resolution?.diagnostics ?? []).map(d => `${d.code}: ${d.message}`),
57
+ api: stage1.api,
58
+ cached: stage1.cached,
59
+ };
60
+ }
61
+ /**
62
+ * The rule definitions a loaded project declares, from the handoff, restricted
63
+ * to what resolution loads, as `memo validate` restricts it.
64
+ */
65
+ export function projectConstraints(project, diagnostics = [],
66
+ /** Files that are the project's own; by default, every file under no library root. */
67
+ isProjectFile = project.resolution ? isProjectSource(project.resolution) : () => false) {
68
+ const loaded = project.resolution ? resolutionLoads(project.resolution) : () => true;
69
+ return collectApiConstraints(project.api, diagnostics, project.resolution?.filePackages, file => loaded(file) || isProjectFile(file));
70
+ }
71
+ /**
72
+ * The ontology a project resolves — its kinds, relationship types and the
73
+ * resolution itself — for a command that needs no model, from the selected
74
+ * compiler's handoff.
75
+ */
76
+ export async function loadProjectOntology(options) {
77
+ const project = await loadProjectModel(options);
78
+ return {
79
+ registries: project.registries ?? {},
80
+ resolution: project.resolution,
81
+ fileCount: project.resolution ? resolutionFileCount(project.resolution) : 0,
82
+ loadWarnings: project.loadWarnings,
83
+ };
84
+ }
85
+ function resolutionFileCount(resolution) {
86
+ const files = new Set();
87
+ for (const pkg of resolution.closure.values())
88
+ for (const file of pkg.files)
89
+ files.add(file);
90
+ return files.size;
91
+ }
92
+ //# sourceMappingURL=project-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-model.js","sourceRoot":"","sources":["../../src/toolchain/project-model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { PackageDescriptor } from '../registry.js';
2
+ /** The one place this string is written. Everything else reads it from here. */
3
+ export declare const INTERNAL_PROVIDER_ID = "internal";
4
+ /** Package role — the built-in gzip-tar MEMO bundle writer. */
5
+ export declare const internalPackageDescriptor: PackageDescriptor;
6
+ //# sourceMappingURL=internal-package.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal-package.d.ts","sourceRoot":"","sources":["../../../src/toolchain/providers/internal-package.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAsC,MAAM,gBAAgB,CAAC;AAE5F,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,aAAa,CAAC;AAO/C,+DAA+D;AAC/D,eAAO,MAAM,yBAAyB,EAAE,iBA8BvC,CAAC"}
@@ -0,0 +1,47 @@
1
+ // ─── MEMO's own packager ─────────────────────────────────────────────────────
2
+ //
3
+ // The built-in gzip-tar MEMO bundle writer, selected as `toolchain.packager:
4
+ // internal`. It is a packager, not a compiler: it reads the project's files and
5
+ // writes an archive, and needs no SysML compiler to do it.
6
+ // ─────────────────────────────────────────────────────────────────────────────
7
+ import { existsSync } from 'node:fs';
8
+ import { writeInternalMemoBundle } from './internal-kpar.js';
9
+ /** The one place this string is written. Everything else reads it from here. */
10
+ export const INTERNAL_PROVIDER_ID = 'internal';
11
+ /** MEMO's own version, reported the way an external tool reports `--version`. */
12
+ function internalVersion() {
13
+ return process.env.MEMO_VERSION;
14
+ }
15
+ /** Package role — the built-in gzip-tar MEMO bundle writer. */
16
+ export const internalPackageDescriptor = {
17
+ id: INTERNAL_PROVIDER_ID,
18
+ role: 'package',
19
+ capabilities: ['pack'],
20
+ defaultOutputName: context => `${(context.config.modelName || 'memo-project').replace(/[^a-zA-Z0-9_-]/g, '-')}.memo-bundle`,
21
+ probe: () => ({ available: true, transport: 'in-process', version: internalVersion() }),
22
+ create(context) {
23
+ return {
24
+ id: INTERNAL_PROVIDER_ID,
25
+ role: 'package',
26
+ transport: 'in-process',
27
+ invocation: () => undefined,
28
+ async run() {
29
+ const outputPath = context.outputPath;
30
+ if (!outputPath)
31
+ throw new Error('Packaging requires an output path.');
32
+ await writeInternalMemoBundle(context.projectDir, outputPath, context.config.modelName || 'memo-project');
33
+ if (!existsSync(outputPath)) {
34
+ throw new Error(`${INTERNAL_PROVIDER_ID} completed but did not create ${outputPath}.`);
35
+ }
36
+ return {
37
+ provider: INTERNAL_PROVIDER_ID,
38
+ providerVersion: internalVersion(),
39
+ transport: 'in-process',
40
+ accepted: true,
41
+ diagnostics: [],
42
+ };
43
+ },
44
+ };
45
+ },
46
+ };
47
+ //# sourceMappingURL=internal-package.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal-package.js","sourceRoot":"","sources":["../../../src/toolchain/providers/internal-package.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,6EAA6E;AAC7E,gFAAgF;AAChF,2DAA2D;AAC3D,gFAAgF;AAEhF,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,gFAAgF;AAChF,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAAC;AAE/C,iFAAiF;AACjF,SAAS,eAAe;IACpB,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;AACpC,CAAC;AAED,+DAA+D;AAC/D,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IACxD,EAAE,EAAE,oBAAoB;IACxB,IAAI,EAAE,SAAS;IACf,YAAY,EAAE,CAAC,MAAM,CAAC;IACtB,iBAAiB,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,cAAc,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,cAAc;IAC3H,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,CAAC;IACvF,MAAM,CAAC,OAAwB;QAC3B,OAAO;YACH,EAAE,EAAE,oBAAoB;YACxB,IAAI,EAAE,SAAkB;YACxB,SAAS,EAAE,YAAqB;YAChC,UAAU,EAAE,GAAG,EAAE,CAAC,SAAS;YAC3B,KAAK,CAAC,GAAG;gBACL,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;gBACtC,IAAI,CAAC,UAAU;oBAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;gBACvE,MAAM,uBAAuB,CACzB,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,cAAc,CAAC,CAAC;gBAChF,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,GAAG,oBAAoB,iCAAiC,UAAU,GAAG,CAAC,CAAC;gBAC3F,CAAC;gBACD,OAAO;oBACH,QAAQ,EAAE,oBAAoB;oBAC9B,eAAe,EAAE,eAAe,EAAE;oBAClC,SAAS,EAAE,YAAY;oBACvB,QAAQ,EAAE,IAAI;oBACd,WAAW,EAAE,EAAE;iBAClB,CAAC;YACN,CAAC;SACJ,CAAC;IACN,CAAC;CACJ,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { MEMOConfig } from '../../model/config.js';
2
+ import type { Diagnostic } from '../diagnostic.js';
3
+ import { type OpenSysMLConnection } from './opensysml.js';
4
+ /** The session's OpenSysML service, started on first use and closed once idle. */
5
+ export declare function sharedOpenSysMLConnection(config: MEMOConfig): Promise<OpenSysMLConnection>;
6
+ /** Close the session's service; the next call starts another. */
7
+ export declare function closeSharedOpenSysMLConnection(): void;
8
+ /**
9
+ * The documents a resolved compile reads: every library root a locator
10
+ * offers, and the project's own files — the set `compileResolvedProject`
11
+ * gives stage 1.
12
+ */
13
+ export declare function resolvedCompileDocuments(projectRoot: string): string[];
14
+ /**
15
+ * Stage 1's verdict on the project with some files' text replaced: the error
16
+ * diagnostics, empty when OpenSysML accepts it. `content` is keyed by
17
+ * absolute path; a path the project does not have yet is added.
18
+ */
19
+ export declare function checkWithOpenSysML(config: MEMOConfig, projectRoot: string, content: ReadonlyMap<string, string>): Promise<Diagnostic[]>;
20
+ //# sourceMappingURL=opensysml-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opensysml-check.d.ts","sourceRoot":"","sources":["../../../src/toolchain/providers/opensysml-check.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAwD,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAOhH,kFAAkF;AAClF,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAahG;AAED,iEAAiE;AACjE,wBAAgB,8BAA8B,IAAI,IAAI,CAKrD;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAKtE;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACpC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9E,OAAO,CAAC,UAAU,EAAE,CAAC,CAyBvB"}