sysmledgraph 0.7.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 (309) hide show
  1. package/README.md +71 -0
  2. package/dist/bin/cli.d.ts +6 -0
  3. package/dist/bin/cli.d.ts.map +1 -0
  4. package/dist/bin/cli.js +61 -0
  5. package/dist/bin/cli.js.map +1 -0
  6. package/dist/mcp/index.d.ts +3 -0
  7. package/dist/mcp/index.d.ts.map +1 -0
  8. package/dist/mcp/index.js +8 -0
  9. package/dist/mcp/index.js.map +1 -0
  10. package/dist/src/cli/commands.d.ts +22 -0
  11. package/dist/src/cli/commands.d.ts.map +1 -0
  12. package/dist/src/cli/commands.js +87 -0
  13. package/dist/src/cli/commands.js.map +1 -0
  14. package/dist/src/discovery/find-sysml.d.ts +16 -0
  15. package/dist/src/discovery/find-sysml.d.ts.map +1 -0
  16. package/dist/src/discovery/find-sysml.js +30 -0
  17. package/dist/src/discovery/find-sysml.js.map +1 -0
  18. package/dist/src/discovery/load-order.d.ts +11 -0
  19. package/dist/src/discovery/load-order.d.ts.map +1 -0
  20. package/dist/src/discovery/load-order.js +85 -0
  21. package/dist/src/discovery/load-order.js.map +1 -0
  22. package/dist/src/graph/connection.d.ts +6 -0
  23. package/dist/src/graph/connection.d.ts.map +1 -0
  24. package/dist/src/graph/connection.js +7 -0
  25. package/dist/src/graph/connection.js.map +1 -0
  26. package/dist/src/graph/graph-store.d.ts +37 -0
  27. package/dist/src/graph/graph-store.d.ts.map +1 -0
  28. package/dist/src/graph/graph-store.js +108 -0
  29. package/dist/src/graph/graph-store.js.map +1 -0
  30. package/dist/src/graph/schema.d.ts +13 -0
  31. package/dist/src/graph/schema.d.ts.map +1 -0
  32. package/dist/src/graph/schema.js +21 -0
  33. package/dist/src/graph/schema.js.map +1 -0
  34. package/dist/src/index.d.ts +14 -0
  35. package/dist/src/index.d.ts.map +1 -0
  36. package/dist/src/index.js +14 -0
  37. package/dist/src/index.js.map +1 -0
  38. package/dist/src/indexer/indexer.d.ts +20 -0
  39. package/dist/src/indexer/indexer.d.ts.map +1 -0
  40. package/dist/src/indexer/indexer.js +56 -0
  41. package/dist/src/indexer/indexer.js.map +1 -0
  42. package/dist/src/indexer/pipeline-phases.d.ts +8 -0
  43. package/dist/src/indexer/pipeline-phases.d.ts.map +1 -0
  44. package/dist/src/indexer/pipeline-phases.js +14 -0
  45. package/dist/src/indexer/pipeline-phases.js.map +1 -0
  46. package/dist/src/mcp/resources/context.d.ts +6 -0
  47. package/dist/src/mcp/resources/context.d.ts.map +1 -0
  48. package/dist/src/mcp/resources/context.js +45 -0
  49. package/dist/src/mcp/resources/context.js.map +1 -0
  50. package/dist/src/mcp/resources/schema.d.ts +6 -0
  51. package/dist/src/mcp/resources/schema.d.ts.map +1 -0
  52. package/dist/src/mcp/resources/schema.js +14 -0
  53. package/dist/src/mcp/resources/schema.js.map +1 -0
  54. package/dist/src/mcp/server.d.ts +8 -0
  55. package/dist/src/mcp/server.d.ts.map +1 -0
  56. package/dist/src/mcp/server.js +175 -0
  57. package/dist/src/mcp/server.js.map +1 -0
  58. package/dist/src/mcp/tools/clean-index.d.ts +12 -0
  59. package/dist/src/mcp/tools/clean-index.d.ts.map +1 -0
  60. package/dist/src/mcp/tools/clean-index.js +22 -0
  61. package/dist/src/mcp/tools/clean-index.js.map +1 -0
  62. package/dist/src/mcp/tools/context.d.ts +14 -0
  63. package/dist/src/mcp/tools/context.d.ts.map +1 -0
  64. package/dist/src/mcp/tools/context.js +51 -0
  65. package/dist/src/mcp/tools/context.js.map +1 -0
  66. package/dist/src/mcp/tools/cypher.d.ts +13 -0
  67. package/dist/src/mcp/tools/cypher.d.ts.map +1 -0
  68. package/dist/src/mcp/tools/cypher.js +25 -0
  69. package/dist/src/mcp/tools/cypher.js.map +1 -0
  70. package/dist/src/mcp/tools/generate-map.d.ts +13 -0
  71. package/dist/src/mcp/tools/generate-map.d.ts.map +1 -0
  72. package/dist/src/mcp/tools/generate-map.js +96 -0
  73. package/dist/src/mcp/tools/generate-map.js.map +1 -0
  74. package/dist/src/mcp/tools/impact.d.ts +14 -0
  75. package/dist/src/mcp/tools/impact.d.ts.map +1 -0
  76. package/dist/src/mcp/tools/impact.js +47 -0
  77. package/dist/src/mcp/tools/impact.js.map +1 -0
  78. package/dist/src/mcp/tools/index-db-graph.d.ts +14 -0
  79. package/dist/src/mcp/tools/index-db-graph.d.ts.map +1 -0
  80. package/dist/src/mcp/tools/index-db-graph.js +32 -0
  81. package/dist/src/mcp/tools/index-db-graph.js.map +1 -0
  82. package/dist/src/mcp/tools/list-indexed.d.ts +9 -0
  83. package/dist/src/mcp/tools/list-indexed.d.ts.map +1 -0
  84. package/dist/src/mcp/tools/list-indexed.js +14 -0
  85. package/dist/src/mcp/tools/list-indexed.js.map +1 -0
  86. package/dist/src/mcp/tools/query.d.ts +14 -0
  87. package/dist/src/mcp/tools/query.d.ts.map +1 -0
  88. package/dist/src/mcp/tools/query.js +47 -0
  89. package/dist/src/mcp/tools/query.js.map +1 -0
  90. package/dist/src/mcp/tools/rename.d.ts +19 -0
  91. package/dist/src/mcp/tools/rename.d.ts.map +1 -0
  92. package/dist/src/mcp/tools/rename.js +46 -0
  93. package/dist/src/mcp/tools/rename.js.map +1 -0
  94. package/dist/src/parser/lsp-client.d.ts +52 -0
  95. package/dist/src/parser/lsp-client.d.ts.map +1 -0
  96. package/dist/src/parser/lsp-client.js +230 -0
  97. package/dist/src/parser/lsp-client.js.map +1 -0
  98. package/dist/src/parser/lsp-server-path.d.ts +10 -0
  99. package/dist/src/parser/lsp-server-path.d.ts.map +1 -0
  100. package/dist/src/parser/lsp-server-path.js +29 -0
  101. package/dist/src/parser/lsp-server-path.js.map +1 -0
  102. package/dist/src/parser/symbols.d.ts +13 -0
  103. package/dist/src/parser/symbols.d.ts.map +1 -0
  104. package/dist/src/parser/symbols.js +150 -0
  105. package/dist/src/parser/symbols.js.map +1 -0
  106. package/dist/src/parser/sysml-mcp-client.d.ts +109 -0
  107. package/dist/src/parser/sysml-mcp-client.d.ts.map +1 -0
  108. package/dist/src/parser/sysml-mcp-client.js +185 -0
  109. package/dist/src/parser/sysml-mcp-client.js.map +1 -0
  110. package/dist/src/storage/clean.d.ts +15 -0
  111. package/dist/src/storage/clean.d.ts.map +1 -0
  112. package/dist/src/storage/clean.js +44 -0
  113. package/dist/src/storage/clean.js.map +1 -0
  114. package/dist/src/storage/list.d.ts +9 -0
  115. package/dist/src/storage/list.d.ts.map +1 -0
  116. package/dist/src/storage/list.js +12 -0
  117. package/dist/src/storage/list.js.map +1 -0
  118. package/dist/src/storage/location.d.ts +22 -0
  119. package/dist/src/storage/location.d.ts.map +1 -0
  120. package/dist/src/storage/location.js +36 -0
  121. package/dist/src/storage/location.js.map +1 -0
  122. package/dist/src/storage/registry.d.ts +14 -0
  123. package/dist/src/storage/registry.d.ts.map +1 -0
  124. package/dist/src/storage/registry.js +59 -0
  125. package/dist/src/storage/registry.js.map +1 -0
  126. package/dist/src/symbol-to-graph/mapping.d.ts +17 -0
  127. package/dist/src/symbol-to-graph/mapping.d.ts.map +1 -0
  128. package/dist/src/symbol-to-graph/mapping.js +102 -0
  129. package/dist/src/symbol-to-graph/mapping.js.map +1 -0
  130. package/dist/src/types.d.ts +40 -0
  131. package/dist/src/types.d.ts.map +1 -0
  132. package/dist/src/types.js +35 -0
  133. package/dist/src/types.js.map +1 -0
  134. package/dist/src/worker/client.d.ts +21 -0
  135. package/dist/src/worker/client.d.ts.map +1 -0
  136. package/dist/src/worker/client.js +126 -0
  137. package/dist/src/worker/client.js.map +1 -0
  138. package/dist/src/worker/gateway.d.ts +79 -0
  139. package/dist/src/worker/gateway.d.ts.map +1 -0
  140. package/dist/src/worker/gateway.js +93 -0
  141. package/dist/src/worker/gateway.js.map +1 -0
  142. package/dist/src/worker/graph-worker.d.ts +7 -0
  143. package/dist/src/worker/graph-worker.d.ts.map +1 -0
  144. package/dist/src/worker/graph-worker.js +91 -0
  145. package/dist/src/worker/graph-worker.js.map +1 -0
  146. package/dist/src/worker/protocol.d.ts +21 -0
  147. package/dist/src/worker/protocol.d.ts.map +1 -0
  148. package/dist/src/worker/protocol.js +9 -0
  149. package/dist/src/worker/protocol.js.map +1 -0
  150. package/docs/INSTALL.md +16 -0
  151. package/docs/MCP_CLIENT_TEMPLATE_ANALYSIS.md +196 -0
  152. package/docs/MCP_INTERACTION_GUIDE.md +201 -0
  153. package/docs/MCP_SERVER_FOR_CURSOR.md +124 -0
  154. package/docs/PLAN.md +58 -0
  155. package/docs/PLAN_INDEPENDENT_LSP.md +145 -0
  156. package/docs/SKILL_DESIGN_PATTERNS.md +305 -0
  157. package/docs/TOOLS.md +317 -0
  158. package/lsp/README.md +41 -0
  159. package/lsp/node_modules/.bin/sysml-mcp +12 -0
  160. package/lsp/node_modules/.bin/sysml-mcp.cmd +9 -0
  161. package/lsp/node_modules/.bin/sysml-mcp.ps1 +16 -0
  162. package/lsp/node_modules/.package-lock.json +22 -0
  163. package/lsp/node_modules/sysml-v2-lsp/CHANGELOG.md +188 -0
  164. package/lsp/node_modules/sysml-v2-lsp/LICENSE +21 -0
  165. package/lsp/node_modules/sysml-v2-lsp/README.md +172 -0
  166. package/lsp/node_modules/sysml-v2-lsp/dist/server/mcpServer.js +167 -0
  167. package/lsp/node_modules/sysml-v2-lsp/dist/server/server.js +142 -0
  168. package/lsp/node_modules/sysml-v2-lsp/index.cjs +23 -0
  169. package/lsp/node_modules/sysml-v2-lsp/package.json +131 -0
  170. package/lsp/node_modules/sysml-v2-lsp/sysml.library/.project +17 -0
  171. package/lsp/node_modules/sysml-v2-lsp/sysml.library/.settings/org.eclipse.jdt.core.prefs +11 -0
  172. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Analysis/.meta.json +10 -0
  173. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Analysis/.project.json +27 -0
  174. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Analysis/AnalysisTooling.sysml +34 -0
  175. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Analysis/SampledFunctions.sysml +119 -0
  176. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Analysis/StateSpaceRepresentation.sysml +143 -0
  177. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Analysis/TradeStudies.sysml +171 -0
  178. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Cause and Effect/.meta.json +8 -0
  179. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Cause and Effect/.project.json +23 -0
  180. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Cause and Effect/CausationConnections.sysml +83 -0
  181. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Cause and Effect/CauseAndEffect.sysml +81 -0
  182. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Geometry/.meta.json +8 -0
  183. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Geometry/.project.json +27 -0
  184. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Geometry/ShapeItems.sysml +899 -0
  185. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Geometry/SpatialItems.sysml +168 -0
  186. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Metadata/.meta.json +10 -0
  187. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Metadata/.project.json +19 -0
  188. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Metadata/ImageMetadata.sysml +78 -0
  189. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Metadata/ModelingMetadata.sysml +143 -0
  190. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Metadata/ParametersOfInterestMetadata.sysml +39 -0
  191. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Metadata/RiskMetadata.sysml +100 -0
  192. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/.meta.json +29 -0
  193. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/.project.json +23 -0
  194. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQ.sysml +42 -0
  195. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQAcoustics.sysml +439 -0
  196. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQAtomicNuclear.sysml +2726 -0
  197. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQBase.sysml +206 -0
  198. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQCharacteristicNumbers.sysml +1991 -0
  199. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQChemistryMolecular.sysml +1353 -0
  200. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQCondensedMatter.sysml +1223 -0
  201. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQElectromagnetism.sysml +2333 -0
  202. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQInformation.sysml +958 -0
  203. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQLight.sysml +1537 -0
  204. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQMechanics.sysml +1564 -0
  205. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQSpaceTime.sysml +1169 -0
  206. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQThermodynamics.sysml +1256 -0
  207. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/MeasurementRefCalculations.sysml +30 -0
  208. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/MeasurementReferences.sysml +526 -0
  209. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/Quantities.sysml +107 -0
  210. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/QuantityCalculations.sysml +70 -0
  211. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/SI.sysml +378 -0
  212. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/SIPrefixes.sysml +48 -0
  213. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/TensorCalculations.sysml +50 -0
  214. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/Time.sysml +274 -0
  215. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/USCustomaryUnits.sysml +260 -0
  216. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/VectorCalculations.sysml +62 -0
  217. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Requirement Derivation/.meta.json +8 -0
  218. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Requirement Derivation/.project.json +19 -0
  219. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Requirement Derivation/DerivationConnections.sysml +63 -0
  220. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Requirement Derivation/RequirementDerivation.sysml +39 -0
  221. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Data Type Library/.meta.json +9 -0
  222. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Data Type Library/.project.json +11 -0
  223. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Data Type Library/Collections.kerml +147 -0
  224. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Data Type Library/ScalarValues.kerml +23 -0
  225. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Data Type Library/VectorValues.kerml +64 -0
  226. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/.meta.json +23 -0
  227. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/.project.json +15 -0
  228. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/BaseFunctions.kerml +80 -0
  229. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/BooleanFunctions.kerml +22 -0
  230. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/CollectionFunctions.kerml +68 -0
  231. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/ComplexFunctions.kerml +47 -0
  232. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/ControlFunctions.kerml +117 -0
  233. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/DataFunctions.kerml +43 -0
  234. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/IntegerFunctions.kerml +43 -0
  235. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/NaturalFunctions.kerml +27 -0
  236. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/NumericalFunctions.kerml +43 -0
  237. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/OccurrenceFunctions.kerml +154 -0
  238. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/RationalFunctions.kerml +49 -0
  239. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/RealFunctions.kerml +56 -0
  240. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/ScalarFunctions.kerml +33 -0
  241. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/SequenceFunctions.kerml +111 -0
  242. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/StringFunctions.kerml +25 -0
  243. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/TrigFunctions.kerml +35 -0
  244. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/VectorFunctions.kerml +273 -0
  245. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/.meta.json +22 -0
  246. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/.project.json +15 -0
  247. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Base.kerml +95 -0
  248. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Clocks.kerml +156 -0
  249. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/ControlPerformances.kerml +135 -0
  250. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/FeatureReferencingPerformances.kerml +190 -0
  251. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/KerML.kerml +483 -0
  252. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Links.kerml +67 -0
  253. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Metaobjects.kerml +58 -0
  254. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Objects.kerml +212 -0
  255. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Observation.kerml +161 -0
  256. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Occurrences.kerml +992 -0
  257. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Performances.kerml +293 -0
  258. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/SpatialFrames.kerml +197 -0
  259. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/StatePerformances.kerml +145 -0
  260. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Transfers.kerml +281 -0
  261. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/TransitionPerformances.kerml +66 -0
  262. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Triggers.kerml +188 -0
  263. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/.meta.json +27 -0
  264. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/.project.json +19 -0
  265. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Actions.sysml +552 -0
  266. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Allocations.sysml +29 -0
  267. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/AnalysisCases.sysml +38 -0
  268. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Attributes.sysml +25 -0
  269. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Calculations.sysml +37 -0
  270. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Cases.sysml +71 -0
  271. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Connections.sysml +60 -0
  272. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Constraints.sysml +44 -0
  273. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Flows.sysml +126 -0
  274. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Interfaces.sysml +89 -0
  275. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Items.sysml +153 -0
  276. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Metadata.sysml +32 -0
  277. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Parts.sysml +81 -0
  278. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Ports.sysml +54 -0
  279. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Requirements.sysml +194 -0
  280. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/StandardViewDefinitions.sysml +123 -0
  281. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/States.sysml +103 -0
  282. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/SysML.sysml +539 -0
  283. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/UseCases.sysml +57 -0
  284. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/VerificationCases.sysml +103 -0
  285. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Views.sysml +164 -0
  286. package/lsp/package-lock.json +30 -0
  287. package/lsp/package.json +15 -0
  288. package/lsp/test-server.mjs +120 -0
  289. package/package.json +61 -0
  290. package/scripts/access-sysml-mcp.mjs +45 -0
  291. package/scripts/check-sysml-v2-lsp-version.mjs +39 -0
  292. package/scripts/clean.mjs +14 -0
  293. package/scripts/compare-mcp-vs-lsp-symbols.mjs +76 -0
  294. package/scripts/debug-index.mjs +23 -0
  295. package/scripts/debug-lsp-symbols.mjs +62 -0
  296. package/scripts/deploy-skills.mjs +43 -0
  297. package/scripts/example-sysml-mcp.mjs +27 -0
  298. package/scripts/export-graph.mjs +80 -0
  299. package/scripts/generate-map.mjs +110 -0
  300. package/scripts/index-and-map.mjs +43 -0
  301. package/scripts/index-and-query.mjs +39 -0
  302. package/scripts/query-one.mjs +34 -0
  303. package/scripts/setup-lsp.mjs +36 -0
  304. package/scripts/test-lsp.mjs +55 -0
  305. package/scripts/test-mcp-debug.mjs +32 -0
  306. package/scripts/test-mcp-sysml.mjs +75 -0
  307. package/scripts/test-mcp-tools.mjs +185 -0
  308. package/scripts/test-sysml-mcp-from-node_modules.mjs +56 -0
  309. package/scripts/validate-sysml-file.mjs +69 -0
package/docs/TOOLS.md ADDED
@@ -0,0 +1,317 @@
1
+ # Tools reference (all MCP tools)
2
+
3
+ Single reference for every MCP tool available in this workspace. Use when you need exact parameters, return shapes, or which server exposes which tool.
4
+
5
+ ---
6
+
7
+ ## 1. sysmledgraph MCP (this project)
8
+
9
+ Server: run `node dist/mcp/index.js` or `sysmledgraph-mcp`. Add to `.cursor/mcp.json` to use from Cursor.
10
+
11
+ Graph: one `Node` table (`id`, `name`, `path`, `label`); rel tables per edge type (`IN_DOCUMENT`, `IN_PACKAGE`, `PARENT`, `TYPES`, `REFERENCES`, `IMPORTS`, etc.). Labels: Document, Package, PartDef, PartUsage, ConnectionDef, ConnectionUsage, PortDef, Port, RequirementDef, Block, ValueType, Action, StateMachine.
12
+
13
+ | Tool | Description |
14
+ |------|-------------|
15
+ | **indexDbGraph** | Build the knowledge graph from path(s). |
16
+ | **list_indexed** | List indexed path(s). |
17
+ | **clean_index** | Remove index for path or all. |
18
+ | **cypher** | Run a Cypher query on the graph (uses first indexed path). |
19
+ | **query** | Concept search over symbols (by name/label). |
20
+ | **context** | 360° view for one symbol (node + edges). |
21
+ | **impact** | Blast radius: what uses this element or what it uses. |
22
+ | **rename** | Multi-file rename preview (dry_run only in v1). |
23
+ | **generate_map** | Generate Markdown from the graph (interconnection view). |
24
+
25
+ ### indexDbGraph
26
+
27
+ Build the graph from one or more directory paths. Relative paths are resolved against `process.cwd()`.
28
+
29
+ **Parameters:**
30
+
31
+ | Name | Type | Required | Description |
32
+ |------|------|----------|-------------|
33
+ | `path` | string | no* | Single path to index. |
34
+ | `paths` | string[] | no* | Multiple paths to index. |
35
+
36
+ *At least one of `path` or `paths` is required.
37
+
38
+ **Returns:** `{ ok: true, filesProcessed: number }` or `{ ok: false, error: string }`
39
+
40
+ ---
41
+
42
+ ### list_indexed
43
+
44
+ List all paths currently registered in the index.
45
+
46
+ **Parameters:** None.
47
+
48
+ **Returns:** `{ ok: true, paths: string[] }` or `{ ok: false, error: string }`
49
+
50
+ ---
51
+
52
+ ### clean_index
53
+
54
+ Remove index data for a path or for all indexed paths.
55
+
56
+ **Parameters:**
57
+
58
+ | Name | Type | Required | Description |
59
+ |------|------|----------|-------------|
60
+ | `path` | string | no | Path to clean; omit to clean all. |
61
+
62
+ **Returns:** `{ ok: true, removed: string[] }` or `{ ok: false, error: string }`
63
+
64
+ ---
65
+
66
+ ### cypher
67
+
68
+ Run a Cypher query against the graph. Uses the first indexed path to resolve the DB.
69
+
70
+ **Parameters:**
71
+
72
+ | Name | Type | Required | Description |
73
+ |------|------|----------|-------------|
74
+ | `query` | string | yes | Cypher query string. |
75
+
76
+ **Returns:** `{ ok: true, rows: unknown[] }` or `{ ok: false, error: string }`
77
+
78
+ **Example:** `MATCH (n:Node) WHERE n.label = 'PartDef' RETURN n.id, n.name, n.path LIMIT 50`
79
+
80
+ ---
81
+
82
+ ### query
83
+
84
+ Concept search over symbols: matches `query` against node names/labels (case-insensitive). Optional filter by node label.
85
+
86
+ **Parameters:**
87
+
88
+ | Name | Type | Required | Description |
89
+ |------|------|----------|-------------|
90
+ | `query` | string | yes | Search string. |
91
+ | `kind` | string | no | Filter by node label (e.g. `PartDef`, `Document`). |
92
+
93
+ **Returns:** `{ ok: true, nodes: unknown[] }` or `{ ok: false, error: string }`
94
+
95
+ ---
96
+
97
+ ### context
98
+
99
+ Return one node and its edges (incoming and outgoing) for a symbol by name or id.
100
+
101
+ **Parameters:**
102
+
103
+ | Name | Type | Required | Description |
104
+ |------|------|----------|-------------|
105
+ | `name` | string | yes | Symbol name or id. |
106
+
107
+ **Returns:** `{ ok: true, node: unknown, edges: unknown[] }` or `{ ok: false, error: string }`
108
+
109
+ ---
110
+
111
+ ### impact
112
+
113
+ Blast radius: list nodes that reference the target (upstream) or that the target references (downstream).
114
+
115
+ **Parameters:**
116
+
117
+ | Name | Type | Required | Description |
118
+ |------|------|----------|-------------|
119
+ | `target` | string | yes | Symbol name or id. |
120
+ | `direction` | `'upstream'` \| `'downstream'` | no | `upstream` = what references this; `downstream` = what this references. |
121
+
122
+ **Returns:** `{ ok: true, nodes: unknown[] }` or `{ ok: false, error: string }`
123
+
124
+ ---
125
+
126
+ ### rename
127
+
128
+ Multi-file rename preview. In v1, only dry-run is implemented; no edits are applied.
129
+
130
+ **Parameters:**
131
+
132
+ | Name | Type | Required | Description |
133
+ |------|------|----------|-------------|
134
+ | `symbol` | string | yes | Symbol to rename. |
135
+ | `newName` | string | yes | New name. |
136
+ | `dry_run` | boolean | no | If true, only return preview (default: true). |
137
+
138
+ **Returns:** `{ ok: true, preview: { path: string, count: number }[], message?: string }` or `{ ok: false, error: string }`
139
+
140
+ ---
141
+
142
+ ### generate_map
143
+
144
+ Generate Markdown from the graph (documents, nodes by label, edges). Uses first indexed path. Fails if no indexed path or empty graph.
145
+
146
+ **Parameters:**
147
+
148
+ | Name | Type | Required | Description |
149
+ |------|------|----------|-------------|
150
+ | `output_path` | string | no | Optional path to write the .md file (if server can write). |
151
+
152
+ **Returns:** `{ ok: true, markdown: string }` or `{ ok: false, error: string }`
153
+
154
+ ---
155
+
156
+ ### Resources (sysmledgraph)
157
+
158
+ | URI | Description |
159
+ |-----|-------------|
160
+ | `sysmledgraph://context` | Index stats and indexed paths (markdown). |
161
+ | `sysmledgraph://context/{path}` | Context for a specific indexed path. |
162
+ | `sysmledgraph://schema` | Graph node/edge schema (markdown). |
163
+ | `sysmledgraph://schema/{path}` | Schema for a specific indexed path. |
164
+
165
+ ---
166
+
167
+ ## 2. GitNexus MCP
168
+
169
+ Server: `npx -y gitnexus@latest mcp` (configured in `.cursor/mcp.json` as `gitnexus`).
170
+
171
+ Index: run `npx gitnexus analyze` from project root first. Read `gitnexus://repo/{name}/context` for overview and staleness; read `gitnexus://repo/{name}/schema` before using `cypher`.
172
+
173
+ | Tool | Description |
174
+ |------|-------------|
175
+ | **query** | Process-grouped code intelligence — execution flows related to a concept. |
176
+ | **context** | 360° symbol view — categorized refs, processes it participates in. |
177
+ | **impact** | Symbol blast radius — depth 1/2/3 with confidence. |
178
+ | **detect_changes** | Git-diff impact — what do current changes affect. |
179
+ | **rename** | Multi-file coordinated rename with confidence-tagged edits. |
180
+ | **cypher** | Raw graph queries (read schema resource first). |
181
+ | **list_repos** | Discover indexed repos. |
182
+
183
+ ### query (GitNexus)
184
+
185
+ Find execution flows and symbols related to a concept.
186
+
187
+ **Parameters:**
188
+
189
+ | Name | Type | Required | Description |
190
+ |------|------|----------|-------------|
191
+ | `query` | string | yes | Concept or search text (e.g. "payment processing", "auth"). |
192
+
193
+ **Returns:** Process-grouped results; symbols and file locations per flow.
194
+
195
+ ---
196
+
197
+ ### context (GitNexus)
198
+
199
+ Full context for one symbol: incoming/outgoing calls, processes, file.
200
+
201
+ **Parameters:**
202
+
203
+ | Name | Type | Required | Description |
204
+ |------|------|----------|-------------|
205
+ | `name` | string | yes | Symbol name (e.g. function, class). |
206
+
207
+ **Returns:** Incoming calls, outgoing calls, processes the symbol participates in.
208
+
209
+ ---
210
+
211
+ ### impact (GitNexus)
212
+
213
+ Blast radius with depth and confidence. Use before changing code.
214
+
215
+ **Parameters:**
216
+
217
+ | Name | Type | Required | Description |
218
+ |------|------|----------|-------------|
219
+ | `target` | string | yes | Symbol name. |
220
+ | `direction` | `'upstream'` \| `'downstream'` | no | `upstream` = what depends on this. |
221
+ | `minConfidence` | number | no | e.g. 0.8. |
222
+ | `maxDepth` | number | no | e.g. 3 (d=1 direct, d=2/3 transitive). |
223
+
224
+ **Returns:** Nodes by depth (d=1 WILL BREAK, d=2 LIKELY AFFECTED, d=3 MAY NEED TESTING).
225
+
226
+ ---
227
+
228
+ ### detect_changes (GitNexus)
229
+
230
+ Map current git changes to affected symbols and processes.
231
+
232
+ **Parameters:**
233
+
234
+ | Name | Type | Required | Description |
235
+ |------|------|----------|-------------|
236
+ | `scope` | `'staged'` \| `'all'` | no | Staged changes only or all working-tree changes. |
237
+
238
+ **Returns:** Changed symbols, affected processes, risk level.
239
+
240
+ ---
241
+
242
+ ### rename (GitNexus)
243
+
244
+ Multi-file rename with graph + AST search; supports dry_run then apply.
245
+
246
+ **Parameters:**
247
+
248
+ | Name | Type | Required | Description |
249
+ |------|------|----------|-------------|
250
+ | `symbol_name` | string | yes | Current symbol name. |
251
+ | `new_name` | string | yes | New name. |
252
+ | `dry_run` | boolean | no | If true, preview only (default: true). |
253
+
254
+ **Returns:** List of edits (file_path, line, old_text, new_text, confidence); graph edits high confidence, ast_search edits need review.
255
+
256
+ ---
257
+
258
+ ### cypher (GitNexus)
259
+
260
+ Run Cypher on the GitNexus graph. Read `gitnexus://repo/{name}/schema` first.
261
+
262
+ **Parameters:**
263
+
264
+ | Name | Type | Required | Description |
265
+ |------|------|----------|-------------|
266
+ | `query` | string | yes | Cypher query. |
267
+
268
+ **Returns:** Query result rows.
269
+
270
+ **Example:** `MATCH (caller)-[:CodeRelation {type: 'CALLS'}]->(f:Function {name: "myFunc"}) RETURN caller.name, caller.filePath`
271
+
272
+ ---
273
+
274
+ ### list_repos (GitNexus)
275
+
276
+ List all repos registered in the GitNexus registry.
277
+
278
+ **Parameters:** None.
279
+
280
+ **Returns:** Indexed repo names/paths (same as `npx gitnexus list`).
281
+
282
+ ---
283
+
284
+ ### Resources (GitNexus)
285
+
286
+ | URI | Description |
287
+ |-----|-------------|
288
+ | `gitnexus://repo/{name}/context` | Stats, staleness check. |
289
+ | `gitnexus://repo/{name}/clusters` | Functional areas with cohesion scores. |
290
+ | `gitnexus://repo/{name}/cluster/{clusterName}` | Area members. |
291
+ | `gitnexus://repo/{name}/processes` | All execution flows. |
292
+ | `gitnexus://repo/{name}/process/{processName}` | Step-by-step trace. |
293
+ | `gitnexus://repo/{name}/schema` | Graph schema for Cypher. |
294
+
295
+ ---
296
+
297
+ ## 3. Other MCP servers (this workspace)
298
+
299
+ | Server | Purpose | Tools |
300
+ |--------|---------|--------|
301
+ | **sysml-v2** | SysML v2 LSP MCP | See `node_modules/sysml-v2-lsp` for tool list. |
302
+ | **context7** | Context7 MCP | See `@upstash/context7-mcp` for tool list. |
303
+
304
+ ---
305
+
306
+ ## Quick pick: which tool for what
307
+
308
+ | Goal | Prefer |
309
+ |------|--------|
310
+ | Index SysML/models in this project | sysmledgraph **indexDbGraph** |
311
+ | Search SysML symbols / graph query | sysmledgraph **query**, **cypher**, **context** |
312
+ | “What uses this?” (sysmledgraph) | sysmledgraph **impact** |
313
+ | Understand or explore a codebase (TS/JS etc.) | GitNexus **query**, **context**; resources **process**, **clusters** |
314
+ | “What breaks if I change this?” (code) | GitNexus **impact**, **detect_changes** |
315
+ | Rename symbol across files (code) | GitNexus **rename** (dry_run first) |
316
+ | Rename symbol (SysML graph only) | sysmledgraph **rename** (preview only in v1) |
317
+ | List what’s indexed | sysmledgraph **list_indexed**; GitNexus **list_repos** |
package/lsp/README.md ADDED
@@ -0,0 +1,41 @@
1
+ # LSP server (dedicated init)
2
+
3
+ This folder is a **separate npm install** for the SysML LSP server. This is the **only** LSP used by sysmledgraph when present; root `node_modules` is fallback. Use it so the server runs with its own `cwd` and dependencies.
4
+
5
+ ## Setup
6
+
7
+ ```bash
8
+ cd lsp
9
+ npm install
10
+ ```
11
+
12
+ ## What this does
13
+
14
+ - **Isolated install**: `sysml-v2-lsp` lives in `lsp/node_modules/`, not the repo root. The server starts with **process cwd = `lsp/`**, which can help it find config or libraries relative to this directory.
15
+ - **Clear boundary**: The main project points at this LSP when you set:
16
+ - `SYSMLLSP_SERVER_PATH` to the **absolute** path to:
17
+ - `lsp/node_modules/sysml-v2-lsp/dist/server/server.js` (LSP)
18
+ - or `lsp/node_modules/sysml-v2-lsp/dist/server/mcpServer.js` (MCP)
19
+ - and the spawn **cwd** to `lsp/` (or the parent that contains `lsp/`) so the server’s working directory is correct.
20
+
21
+ ## Running the server
22
+
23
+ - **stdio (for our indexer)**: The main app spawns the server; it doesn’t run “standalone” here. Use this folder’s path in `SYSMLLSP_SERVER_PATH` and set the spawn cwd to `lsp` when starting the process.
24
+ - **Manual run** (e.g. to see stdout/stderr):
25
+ ```bash
26
+ cd lsp && npm start
27
+ ```
28
+ The process will wait for LSP messages on stdin; useful for debugging.
29
+
30
+ ## Main project
31
+
32
+ From repo root, after `cd lsp && npm install`:
33
+
34
+ - **LSP (analyze/index)**
35
+ Point `SYSMLLSP_SERVER_PATH` at:
36
+ - `lsp/node_modules/sysml-v2-lsp/dist/server/server.js`
37
+ (use absolute path or resolve from repo root.)
38
+ - **Spawn cwd**
39
+ When the main project spawns this server, set **cwd** to the **`lsp`** directory (absolute path) so the LSP server’s init and file resolution use this folder.
40
+
41
+ If the main app already resolves cwd from the server path (e.g. “dirname of server.js → dist/server → cwd = package root”), then with the server path under `lsp/node_modules/...`, that cwd would be `lsp/`. That is what we want.
@@ -0,0 +1,12 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*|*MINGW*|*MSYS*)
6
+ if command -v cygpath > /dev/null 2>&1; then
7
+ basedir=`cygpath -w "$basedir"`
8
+ fi
9
+ ;;
10
+ esac
11
+
12
+ exec "$basedir/../sysml-v2-lsp/dist/server/mcpServer.js" "$@"
@@ -0,0 +1,9 @@
1
+ @ECHO off
2
+ GOTO start
3
+ :find_dp0
4
+ SET dp0=%~dp0
5
+ EXIT /b
6
+ :start
7
+ SETLOCAL
8
+ CALL :find_dp0
9
+ "%dp0%\..\sysml-v2-lsp\dist\server\mcpServer.js" %*
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env pwsh
2
+ $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3
+
4
+ $exe=""
5
+ if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
6
+ # Fix case when both the Windows and Linux builds of Node
7
+ # are installed in the same directory
8
+ $exe=".exe"
9
+ }
10
+ # Support pipeline input
11
+ if ($MyInvocation.ExpectingInput) {
12
+ $input | & "$basedir/../sysml-v2-lsp/dist/server/mcpServer.js" $args
13
+ } else {
14
+ & "$basedir/../sysml-v2-lsp/dist/server/mcpServer.js" $args
15
+ }
16
+ exit $LASTEXITCODE
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "sysmledgraph-lsp-server",
3
+ "version": "1.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "node_modules/sysml-v2-lsp": {
8
+ "version": "0.7.0",
9
+ "resolved": "https://registry.npmjs.org/sysml-v2-lsp/-/sysml-v2-lsp-0.7.0.tgz",
10
+ "integrity": "sha512-cJ2JINpe7Ez1gyMO020gEokoTLmqRFv+KTcNqGq+10PI3mE0q74anHLxFzbrjIx2wRDeoacQcMg3v9XVkvuWHw==",
11
+ "hasInstallScript": true,
12
+ "license": "MIT",
13
+ "bin": {
14
+ "sysml-mcp": "dist/server/mcpServer.js"
15
+ },
16
+ "engines": {
17
+ "node": ">=20",
18
+ "vscode": "^1.85.0"
19
+ }
20
+ }
21
+ }
22
+ }
@@ -0,0 +1,188 @@
1
+ # Changelog
2
+
3
+ ## [0.7.0]
4
+
5
+ ### Added
6
+
7
+ - Workspace-wide semantic validation with cross-file symbol indexes (byName, byParent, byQualifiedName, definitionsByName, portsByName)
8
+ - Three new validation rules: redefinition multiplicity, port type compatibility, constraint body references
9
+ - Quick-fix code actions for all three new rules (align multiplicity, switch port endpoint, suggest nearest member)
10
+ - Context-aware completions: port endpoints in `connect` blocks, type annotation filtering, workspace definition symbols
11
+ - Semantic feedback in hover tooltips — shows diagnostics and repair hints at the hovered position
12
+ - Cached semantic diagnostics per document version to avoid redundant revalidation
13
+ - MCP preview tool falls back to cached/loaded documents when `code` parameter is omitted
14
+
15
+ ### Changed
16
+
17
+ - Unused-definition rule narrowed to PartDef/ActionDef, excludes types with base types, promoted from Hint to Warning, now workspace-scoped
18
+ - Grammar updated to OMG "2026-02 - SysML v2 Release" — removed local `end <keyword>` patch in favour of upstream `endFeatureUsage` rule
19
+ - MCP non-visual tools annotated with explicit "NOT Visualization" routing guidance
20
+ - MCP preview response stripped to minimal render data (mermaidMarkup + title)
21
+ - MCP tool routing guidance and aliases expanded for diagnostics, validation, and file-focused preview requests
22
+
23
+ ### Fixed
24
+
25
+ - Semantic validator signal quality: reduced specialization false positives and downgraded low-value unused-definition reports to warnings
26
+ - Document-close diagnostics race: pending validation timers are cancelled and diagnostics publishing is guarded for closed documents
27
+
28
+ ## [0.6.0]
29
+
30
+ ### Added
31
+
32
+ - Shared utilities: `identUtils.ts` for identifier handling, `symbolKindMapping.ts` for LSP SymbolKind mapping
33
+ - Keywords now derived from ANTLR grammar at runtime — no manual list to maintain
34
+ - Grammar support for `end` keyword syntax in interface/connection definitions
35
+ - DFA snapshot infrastructure for parser serialisation
36
+
37
+ ### Changed
38
+
39
+ - Code actions use structured diagnostic data instead of message parsing
40
+ - Semantic tokens provider integrates lexer token types for operators/punctuation
41
+ - Library indexing supports qualified name resolution
42
+ - Parser retries with cleared DFA on error
43
+ - Refactored providers to use shared utility modules
44
+
45
+ ### Removed
46
+
47
+ - Hand-maintained keyword list (replaced by grammar-derived extraction)
48
+
49
+ ## [0.5.1]
50
+
51
+ ### Changed
52
+
53
+ - Semantic validator: library type and feature reference checks
54
+ - Symbol table: improved keyword and redefinition pattern handling
55
+
56
+ ## [0.5.0]
57
+
58
+ ### Changed
59
+
60
+ - Symbol table uses `ruleIndex` instead of `constructor.name` for minification safety
61
+ - Removed committed dist/ build artefacts from repository
62
+
63
+ ## [0.4.1]
64
+
65
+ ### Fixed
66
+
67
+ - Web client graceful shutdown
68
+ - Release pipeline fix
69
+
70
+ ## [0.4.0]
71
+
72
+ ### Added
73
+
74
+ - Web client: browser-based SysML editor (`clients/web/`)
75
+ - Python LSP client: Jupyter notebook demo
76
+
77
+ ### Changed
78
+
79
+ - Library index, MCP server, and symbol table improvements
80
+
81
+ ## [0.3.1]
82
+
83
+ ### Fixed
84
+
85
+ - esbuild: added `keepNames` for debugging
86
+ - Removed committed dist/ build artefacts
87
+
88
+ ## [0.3.0]
89
+
90
+ ### Added
91
+
92
+ - Mermaid diagram preview with 6 diagram types, focus mode, and diff mode
93
+ - Complexity analyser: structural metrics with composite 0–100 index
94
+ - Semantic validator: unresolved types, invalid multiplicity, duplicate definitions
95
+ - MCP tools: `preview`, `getDiagnostics`, `getComplexity`
96
+ - Code action quick-fixes: naming conventions, doc stubs, empty enum placeholders
97
+ - Library type-level indexing with Go-to-Definition into standard library
98
+ - Multiplicity and documentation extraction from parse tree
99
+ - LSP `sysml/serverStats`, `sysml/clearCache`, `sysml/status` requests
100
+
101
+ ### Changed
102
+
103
+ - MCP `validate` response: `syntaxErrors` + `semanticIssues` (was `errors` + `errorCount`)
104
+ - Symbol `typeName` → `typeNames` (array)
105
+ - Diagnostics computed synchronously (removed background worker)
106
+ - Parser simplified to single-pass (removed SLL/LL fallback)
107
+ - esbuild output changed from ESM to CJS
108
+
109
+ ### Removed
110
+
111
+ - Background parse worker thread and DFA warm-up
112
+ - Text-scanning reference finder (replaced by symbol-table lookups)
113
+
114
+ ## [0.2.0]
115
+
116
+ ### Added
117
+
118
+ - Custom LSP request `sysml/model` for full semantic model with scoped queries
119
+ - MCP server (`sysml-mcp` CLI): 7 tools, 3 resources, 3 prompts
120
+ - Standard library: 94 bundled SysML v2 / KerML files
121
+ - LSP providers: inlay hints, call/type hierarchy, signature help, code lens, document links, workspace symbols, linked editing, selection ranges, code actions, formatting
122
+ - Keyword validation with "did you mean?" suggestions
123
+ - npm package, Python LSP client, background parse worker
124
+ - `make update-library`, `make package-server`, `make test-package`
125
+
126
+ ### Changed
127
+
128
+ - Go-to-definition falls back to standard library
129
+ - Element kind enum expanded to 55 kinds
130
+
131
+ ## [0.1.7]
132
+
133
+ ### Changed
134
+
135
+ - Keyword validator: expanded SysML element coverage
136
+ - New parser, symbol table, and provider tests
137
+
138
+ ## [0.1.6]
139
+
140
+ ### Fixed
141
+
142
+ - Keyword validation diagnostic messages
143
+ - Python LSP client diagnostics handling
144
+
145
+ ## [0.1.5]
146
+
147
+ ### Added
148
+
149
+ - Inlay hints, call hierarchy improvements
150
+ - Python LSP client with README
151
+ - Client restructured under `clients/vscode/`
152
+
153
+ ## [0.1.4]
154
+
155
+ ### Added
156
+
157
+ - MCP core module extracted from MCP server
158
+ - Constraint parsing tests, grammar refinements
159
+
160
+ ## [0.1.3]
161
+
162
+ ### Fixed
163
+
164
+ - `constructor.name` minification breaking code lens
165
+ - ESM bundles renamed to `.mjs` for Node 20 compatibility
166
+ - Bundled deps moved to devDependencies (zero runtime deps)
167
+
168
+ ## [0.1.2]
169
+
170
+ ### Fixed
171
+
172
+ - Removed unused `antlr4-c3` dependency
173
+
174
+ ## [0.1.1]
175
+
176
+ ### Fixed
177
+
178
+ - Dropped Node 18 from CI (Vite 7 requires Node 20+)
179
+ - Release pipeline and trusted publishing fixes
180
+
181
+ ## [0.1.0]
182
+
183
+ ### Added
184
+
185
+ - Initial LSP server with ANTLR4-based SysML v2 parser
186
+ - LSP providers: diagnostics, document symbols, hover, go-to-definition, find references, completion, semantic tokens, folding, rename
187
+ - VS Code Language Client extension
188
+ - vitest unit tests, GitHub Actions CI/CD, Dev Container
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Jamie Dalton
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.