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
@@ -0,0 +1,185 @@
1
+ /**
2
+ * SysML MCP client: spawns sysml-v2-lsp MCP server and exposes tools as a callable API.
3
+ * Use this when you want to call parse, validate, getSymbols, etc. from code (e.g. tests or scripts).
4
+ *
5
+ * Requires sysml-v2-lsp as a dependency. Uses the same Content-Length framing as the MCP server.
6
+ */
7
+ import { spawn } from 'child_process';
8
+ import { createRequire } from 'module';
9
+ import { resolve } from 'path';
10
+ const require = createRequire(import.meta.url);
11
+ /** Resolved path to mcpServer.js (from sysml-v2-lsp package). */
12
+ export function getMcpServerPath() {
13
+ try {
14
+ const { mcpServerPath } = require('sysml-v2-lsp');
15
+ return mcpServerPath;
16
+ }
17
+ catch {
18
+ const fromCwd = resolve(process.cwd(), 'node_modules/sysml-v2-lsp/dist/server/mcpServer.js');
19
+ return fromCwd;
20
+ }
21
+ }
22
+ function sendMessage(proc, body) {
23
+ const buf = Buffer.from(body, 'utf8');
24
+ const header = `Content-Length: ${buf.length}\r\n\r\n`;
25
+ proc.stdin?.write(header + body, 'utf8');
26
+ }
27
+ function createMcpReader(proc) {
28
+ let buffer = '';
29
+ let contentLength = null;
30
+ let pending = null;
31
+ proc.stdout?.setEncoding('utf8');
32
+ proc.stdout?.on('data', (chunk) => {
33
+ buffer += chunk;
34
+ for (;;) {
35
+ if (contentLength === null) {
36
+ const idx = buffer.indexOf('\r\n\r\n');
37
+ if (idx === -1)
38
+ break;
39
+ const header = buffer.slice(0, idx);
40
+ const m = header.match(/Content-Length:\s*(\d+)/i);
41
+ contentLength = m ? parseInt(m[1], 10) : 0;
42
+ buffer = buffer.slice(idx + 4);
43
+ }
44
+ if (contentLength !== null && buffer.length >= contentLength) {
45
+ const body = buffer.slice(0, contentLength);
46
+ buffer = buffer.slice(contentLength);
47
+ contentLength = null;
48
+ if (pending) {
49
+ pending.resolve(body);
50
+ pending = null;
51
+ }
52
+ }
53
+ else
54
+ break;
55
+ }
56
+ });
57
+ function readNext() {
58
+ return new Promise((resolve, reject) => {
59
+ pending = { resolve, reject };
60
+ });
61
+ }
62
+ function drain() {
63
+ buffer = '';
64
+ contentLength = null;
65
+ if (pending) {
66
+ pending.reject(new Error('drained'));
67
+ pending = null;
68
+ }
69
+ }
70
+ return { readNext, drain };
71
+ }
72
+ let id = 0;
73
+ function nextId() {
74
+ return ++id;
75
+ }
76
+ /**
77
+ * Client that talks to sysml-v2-lsp MCP server over stdio.
78
+ * Call createSysmlMcpClient(), then use the returned methods, then close().
79
+ */
80
+ export async function createSysmlMcpClient(options = {}) {
81
+ const serverPath = options.serverPath ?? getMcpServerPath();
82
+ const initTimeout = options.initTimeout ?? 20000;
83
+ const debug = options.debug ?? false;
84
+ // Match Cursor: run from project root; on Windows use cmd /c node <path> so Node runs the script (avoids "open with" for .js).
85
+ const isWin = process.platform === 'win32';
86
+ const proc = isWin
87
+ ? spawn('cmd', ['/c', process.execPath, serverPath], { stdio: ['pipe', 'pipe', 'pipe'], cwd: process.cwd() })
88
+ : spawn(process.execPath, [serverPath], { stdio: ['pipe', 'pipe', 'pipe'], cwd: process.cwd() });
89
+ if (debug) {
90
+ proc.stdout?.on('data', (chunk) => {
91
+ const s = typeof chunk === 'string' ? chunk : chunk.toString('utf8');
92
+ console.error('[mcp stdout]', s.length, 'bytes:', s.slice(0, 300));
93
+ });
94
+ proc.stderr?.on('data', (chunk) => {
95
+ console.error('[mcp stderr]', (typeof chunk === 'string' ? chunk : chunk.toString('utf8')).slice(0, 500));
96
+ });
97
+ proc.on('exit', (code, signal) => console.error('[mcp exit]', code, signal));
98
+ proc.on('error', (err) => console.error('[mcp error]', err.message));
99
+ }
100
+ if (!debug)
101
+ proc.stderr?.on('data', () => { });
102
+ const { readNext, drain } = createMcpReader(proc);
103
+ const reqId = nextId();
104
+ sendMessage(proc, JSON.stringify({
105
+ jsonrpc: '2.0',
106
+ id: reqId,
107
+ method: 'initialize',
108
+ params: {
109
+ protocolVersion: '2024-11-05',
110
+ capabilities: {},
111
+ clientInfo: { name: 'sysmledgraph-mcp-client', version: '0.1.0' },
112
+ },
113
+ }));
114
+ const initResponse = await Promise.race([
115
+ (async () => {
116
+ for (;;) {
117
+ const raw = await readNext();
118
+ const msg = JSON.parse(raw);
119
+ if (msg.id === reqId) {
120
+ if (msg.error)
121
+ throw new Error(msg.error.message);
122
+ return msg.result;
123
+ }
124
+ }
125
+ })(),
126
+ new Promise((_, rej) => setTimeout(() => rej(new Error('initialize timeout')), initTimeout)),
127
+ ]);
128
+ if (!initResponse) {
129
+ proc.kill('SIGTERM');
130
+ throw new Error('initialize returned no result');
131
+ }
132
+ sendMessage(proc, JSON.stringify({ jsonrpc: '2.0', method: 'notifications/initialized' }));
133
+ await new Promise((r) => setTimeout(r, 200));
134
+ async function callTool(name, args) {
135
+ const uri = args.uri ?? 'file:///untitled.sysml';
136
+ const toolArgs = { ...args, uri };
137
+ const rid = nextId();
138
+ sendMessage(proc, JSON.stringify({
139
+ jsonrpc: '2.0',
140
+ id: rid,
141
+ method: 'tools/call',
142
+ params: { name, arguments: toolArgs },
143
+ }));
144
+ for (;;) {
145
+ const raw = await readNext();
146
+ const msg = JSON.parse(raw);
147
+ if (msg.id === rid) {
148
+ if (msg.error)
149
+ throw new Error(msg.error.message);
150
+ const result = msg.result;
151
+ if (!result?.content?.length)
152
+ return result;
153
+ const text = result.content[0].text;
154
+ if (typeof text !== 'string')
155
+ return result;
156
+ try {
157
+ return JSON.parse(text);
158
+ }
159
+ catch {
160
+ return result;
161
+ }
162
+ }
163
+ }
164
+ }
165
+ const uriDefault = 'file:///untitled.sysml';
166
+ return {
167
+ parse: (code, uri = uriDefault) => callTool('parse', { code, uri }),
168
+ validate: (code, uri = uriDefault) => callTool('validate', { code, uri }),
169
+ getDiagnostics: (code, uri = uriDefault) => callTool('getDiagnostics', { code, uri }),
170
+ validateFile: (code, uri = uriDefault) => callTool('validateFile', { code, uri }),
171
+ getSymbols: (code, uri = uriDefault) => callTool('getSymbols', { code, uri }),
172
+ getDefinition: (name, code, uri = uriDefault) => callTool('getDefinition', { name, code, uri }),
173
+ getReferences: (name, code, uri = uriDefault) => callTool('getReferences', { name, code, uri }),
174
+ getHierarchy: (name, code, uri = uriDefault) => callTool('getHierarchy', { name, code, uri }),
175
+ getModelSummary: (code, uri = uriDefault) => callTool('getModelSummary', { code, uri }),
176
+ getComplexity: (code, uri = uriDefault) => callTool('getComplexity', { code, uri }),
177
+ preview: (code, uri = uriDefault) => callTool('preview', { code, uri }),
178
+ callTool,
179
+ close: () => {
180
+ drain();
181
+ proc.kill('SIGTERM');
182
+ },
183
+ };
184
+ }
185
+ //# sourceMappingURL=sysml-mcp-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sysml-mcp-client.js","sourceRoot":"","sources":["../../../src/parser/sysml-mcp-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Clean: delete index for path or all. Phase 2 step 9. R8: on failure report, graph unchanged.
3
+ * Uses merged graph: single path = delete nodes for that root; all = delete DB file.
4
+ */
5
+ export interface CleanResult {
6
+ ok: boolean;
7
+ removed: string[];
8
+ error?: string;
9
+ }
10
+ /**
11
+ * Remove index for a single path or all paths. Updates registry.
12
+ * Single path: delete nodes for that root from merged graph. All: delete merged DB file.
13
+ */
14
+ export declare function cleanIndex(path?: string): Promise<CleanResult>;
15
+ //# sourceMappingURL=clean.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clean.d.ts","sourceRoot":"","sources":["../../../src/storage/clean.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CA2BpE"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Clean: delete index for path or all. Phase 2 step 9. R8: on failure report, graph unchanged.
3
+ * Uses merged graph: single path = delete nodes for that root; all = delete DB file.
4
+ */
5
+ import { rm } from 'fs/promises';
6
+ import { getMergedDbPath } from './location.js';
7
+ import { listIndexedPaths } from './list.js';
8
+ import { removeFromRegistry, clearRegistry } from './registry.js';
9
+ import { getCachedOrOpenGraphStore, closeGraphStoreCache } from '../graph/graph-store.js';
10
+ /**
11
+ * Remove index for a single path or all paths. Updates registry.
12
+ * Single path: delete nodes for that root from merged graph. All: delete merged DB file.
13
+ */
14
+ export async function cleanIndex(path) {
15
+ const removed = [];
16
+ try {
17
+ if (path !== undefined && path !== '') {
18
+ const mergedPath = getMergedDbPath();
19
+ const store = await getCachedOrOpenGraphStore(mergedPath);
20
+ if (store.deleteNodesForRoot) {
21
+ await store.deleteNodesForRoot(path);
22
+ }
23
+ await removeFromRegistry(path);
24
+ removed.push(path);
25
+ }
26
+ else {
27
+ const paths = await listIndexedPaths();
28
+ const mergedPath = getMergedDbPath();
29
+ await closeGraphStoreCache(mergedPath);
30
+ await rm(mergedPath, { recursive: true, force: true });
31
+ await clearRegistry();
32
+ removed.push(...paths);
33
+ }
34
+ return { ok: true, removed };
35
+ }
36
+ catch (err) {
37
+ return {
38
+ ok: false,
39
+ removed,
40
+ error: err instanceof Error ? err.message : String(err),
41
+ };
42
+ }
43
+ }
44
+ //# sourceMappingURL=clean.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clean.js","sourceRoot":"","sources":["../../../src/storage/clean.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAQ1F;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAa;IAC5C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,CAAC;QACH,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YACtC,MAAM,UAAU,GAAG,eAAe,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,MAAM,yBAAyB,CAAC,UAAU,CAAC,CAAC;YAC1D,IAAI,KAAK,CAAC,kBAAkB,EAAE,CAAC;gBAC7B,MAAM,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;YACD,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,MAAM,gBAAgB,EAAE,CAAC;YACvC,MAAM,UAAU,GAAG,eAAe,EAAE,CAAC;YACrC,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;YACvC,MAAM,EAAE,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,MAAM,aAAa,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO;YACP,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACxD,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * List indexed path(s). Phase 2 step 9.
3
+ * Reads registry (canonical list of indexed root paths).
4
+ */
5
+ /**
6
+ * List all indexed root paths from registry.
7
+ */
8
+ export declare function listIndexedPaths(): Promise<string[]>;
9
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/storage/list.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAE1D"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * List indexed path(s). Phase 2 step 9.
3
+ * Reads registry (canonical list of indexed root paths).
4
+ */
5
+ import { readRegistry } from './registry.js';
6
+ /**
7
+ * List all indexed root paths from registry.
8
+ */
9
+ export async function listIndexedPaths() {
10
+ return readRegistry();
11
+ }
12
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/storage/list.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,OAAO,YAAY,EAAE,CAAC;AACxB,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Storage location: resolve DB path (per-path or global registry).
3
+ * Phase 2 step 7. Decision documented in README.
4
+ */
5
+ /**
6
+ * Set storage root (e.g. from env SYSMEDGRAPH_STORAGE_ROOT or config).
7
+ */
8
+ export declare function setStorageRoot(root: string): void;
9
+ /**
10
+ * Get current storage root.
11
+ */
12
+ export declare function getStorageRoot(): string;
13
+ /**
14
+ * Path of the single merged graph DB. All indexed paths share this DB; nodes carry a path property.
15
+ */
16
+ export declare function getMergedDbPath(): string;
17
+ /**
18
+ * Resolve DB path for an indexed root path.
19
+ * Strategy: one merged graph (all paths in one DB); path is stored on Node.path. Caller ensures path is absolute/normalized.
20
+ */
21
+ export declare function getDbPathForIndexedPath(_indexedPath: string): string;
22
+ //# sourceMappingURL=location.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"location.d.ts","sourceRoot":"","sources":["../../../src/storage/location.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEjD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAKD;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAEpE"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Storage location: resolve DB path (per-path or global registry).
3
+ * Phase 2 step 7. Decision documented in README.
4
+ */
5
+ import { join } from 'path';
6
+ import { homedir } from 'os';
7
+ const DEFAULT_STORAGE_ROOT = join(homedir(), '.sysmledgraph');
8
+ let storageRoot = DEFAULT_STORAGE_ROOT;
9
+ /**
10
+ * Set storage root (e.g. from env SYSMEDGRAPH_STORAGE_ROOT or config).
11
+ */
12
+ export function setStorageRoot(root) {
13
+ storageRoot = root;
14
+ }
15
+ /**
16
+ * Get current storage root.
17
+ */
18
+ export function getStorageRoot() {
19
+ return storageRoot;
20
+ }
21
+ /** Single merged graph DB path (plan step 8: one merged graph with path on Document nodes). */
22
+ const MERGED_DB_FILENAME = 'graph.kuzu';
23
+ /**
24
+ * Path of the single merged graph DB. All indexed paths share this DB; nodes carry a path property.
25
+ */
26
+ export function getMergedDbPath() {
27
+ return join(storageRoot, 'db', MERGED_DB_FILENAME);
28
+ }
29
+ /**
30
+ * Resolve DB path for an indexed root path.
31
+ * Strategy: one merged graph (all paths in one DB); path is stored on Node.path. Caller ensures path is absolute/normalized.
32
+ */
33
+ export function getDbPathForIndexedPath(_indexedPath) {
34
+ return getMergedDbPath();
35
+ }
36
+ //# sourceMappingURL=location.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"location.js","sourceRoot":"","sources":["../../../src/storage/location.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC;AAE9D,IAAI,WAAW,GAAW,oBAAoB,CAAC;AAE/C;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,WAAW,GAAG,IAAI,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,+FAA+F;AAC/F,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAExC;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,YAAoB;IAC1D,OAAO,eAAe,EAAE,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Registry of indexed paths and last-indexed time. Used for list/clean.
3
+ */
4
+ export interface RegistryData {
5
+ paths: string[];
6
+ /** path -> ISO date string when last indexed */
7
+ indexedAt?: Record<string, string>;
8
+ }
9
+ export declare function readRegistry(): Promise<string[]>;
10
+ export declare function readRegistryFull(): Promise<RegistryData>;
11
+ export declare function addToRegistry(path: string, indexedAt?: string): Promise<void>;
12
+ export declare function removeFromRegistry(path: string): Promise<void>;
13
+ export declare function clearRegistry(): Promise<void>;
14
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/storage/registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAMD,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGtD;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC,CAW9D;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBnF;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOpE;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAGnD"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Registry of indexed paths and last-indexed time. Used for list/clean.
3
+ */
4
+ import { readFile, writeFile, mkdir } from 'fs/promises';
5
+ import { join } from 'path';
6
+ import { getStorageRoot } from './location.js';
7
+ const REGISTRY_FILENAME = 'registry.json';
8
+ async function registryPath() {
9
+ return join(getStorageRoot(), REGISTRY_FILENAME);
10
+ }
11
+ export async function readRegistry() {
12
+ const data = await readRegistryFull();
13
+ return data.paths;
14
+ }
15
+ export async function readRegistryFull() {
16
+ try {
17
+ const raw = await readFile(await registryPath(), 'utf-8');
18
+ const data = JSON.parse(raw);
19
+ return {
20
+ paths: Array.isArray(data.paths) ? data.paths : [],
21
+ indexedAt: data.indexedAt && typeof data.indexedAt === 'object' ? data.indexedAt : {},
22
+ };
23
+ }
24
+ catch {
25
+ return { paths: [], indexedAt: {} };
26
+ }
27
+ }
28
+ export async function addToRegistry(path, indexedAt) {
29
+ const data = await readRegistryFull();
30
+ if (data.paths.includes(path)) {
31
+ if (indexedAt != null) {
32
+ data.indexedAt = data.indexedAt ?? {};
33
+ data.indexedAt[path] = indexedAt;
34
+ await mkdir(getStorageRoot(), { recursive: true });
35
+ await writeFile(await registryPath(), JSON.stringify(data, null, 0), 'utf-8');
36
+ }
37
+ return;
38
+ }
39
+ data.paths.push(path);
40
+ if (indexedAt != null) {
41
+ data.indexedAt = data.indexedAt ?? {};
42
+ data.indexedAt[path] = indexedAt;
43
+ }
44
+ await mkdir(getStorageRoot(), { recursive: true });
45
+ await writeFile(await registryPath(), JSON.stringify(data, null, 0), 'utf-8');
46
+ }
47
+ export async function removeFromRegistry(path) {
48
+ const data = await readRegistryFull();
49
+ const paths = data.paths.filter((p) => p !== path);
50
+ const indexedAt = { ...(data.indexedAt ?? {}) };
51
+ delete indexedAt[path];
52
+ await mkdir(getStorageRoot(), { recursive: true });
53
+ await writeFile(await registryPath(), JSON.stringify({ paths, indexedAt }, null, 0), 'utf-8');
54
+ }
55
+ export async function clearRegistry() {
56
+ await mkdir(getStorageRoot(), { recursive: true });
57
+ await writeFile(await registryPath(), JSON.stringify({ paths: [], indexedAt: {} }, null, 0), 'utf-8');
58
+ }
59
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/storage/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Symbol → graph mapping: LSP symbol kinds to node labels and edge types.
3
+ * Single place to avoid schema drift. Phase 1 step 5, Phase 2.
4
+ * See GITNEXUS_FEATURES.md and deploy model GraphStore doc.
5
+ */
6
+ import type { NodeLabel, EdgeType } from '../types.js';
7
+ /**
8
+ * Map LSP DocumentSymbol detail (SysML metaclass name from the LSP) or kind string to graph node label.
9
+ * Covers SysML v2 metaclasses; also MCP-style kinds (e.g. "package", "requirement def"). Unmapped kinds are skipped.
10
+ */
11
+ export declare function symbolKindToNodeLabel(kind: string): NodeLabel | undefined;
12
+ export declare function lspSymbolKindToNodeLabel(kind: number): NodeLabel | undefined;
13
+ /**
14
+ * Map relation semantics to graph edge type.
15
+ */
16
+ export declare function relationToEdgeType(relation: string): EdgeType | undefined;
17
+ //# sourceMappingURL=mapping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../../../src/symbol-to-graph/mapping.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAyDzE;AAcD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAE5E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAezE"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Symbol → graph mapping: LSP symbol kinds to node labels and edge types.
3
+ * Single place to avoid schema drift. Phase 1 step 5, Phase 2.
4
+ * See GITNEXUS_FEATURES.md and deploy model GraphStore doc.
5
+ */
6
+ /**
7
+ * Map LSP DocumentSymbol detail (SysML metaclass name from the LSP) or kind string to graph node label.
8
+ * Covers SysML v2 metaclasses; also MCP-style kinds (e.g. "package", "requirement def"). Unmapped kinds are skipped.
9
+ */
10
+ export function symbolKindToNodeLabel(kind) {
11
+ const map = {
12
+ Package: 'Package',
13
+ package: 'Package',
14
+ PartDefinition: 'PartDef',
15
+ 'Part Definition': 'PartDef',
16
+ 'part definition': 'PartDef',
17
+ 'part def': 'PartDef',
18
+ PartUsage: 'PartUsage',
19
+ 'part usage': 'PartUsage',
20
+ ConnectionDefinition: 'ConnectionDef',
21
+ 'connection def': 'ConnectionDef',
22
+ ConnectionUsage: 'ConnectionUsage',
23
+ 'connection usage': 'ConnectionUsage',
24
+ PortDefinition: 'PortDef',
25
+ 'port def': 'PortDef',
26
+ PortUsage: 'Port',
27
+ 'port usage': 'Port',
28
+ RequirementDefinition: 'RequirementDef',
29
+ 'Requirement Definition': 'RequirementDef',
30
+ 'requirement definition': 'RequirementDef',
31
+ 'requirement def': 'RequirementDef',
32
+ RequirementUsage: 'RequirementDef',
33
+ 'requirement usage': 'RequirementDef',
34
+ Block: 'Block',
35
+ block: 'Block',
36
+ ValueType: 'ValueType',
37
+ 'value type': 'ValueType',
38
+ ActionDefinition: 'Action',
39
+ 'action def': 'Action',
40
+ ActionUsage: 'Action',
41
+ 'action usage': 'Action',
42
+ StateDefinition: 'StateMachine',
43
+ 'state def': 'StateMachine',
44
+ StateUsage: 'StateMachine',
45
+ 'state usage': 'StateMachine',
46
+ AttributeDefinition: 'ValueType',
47
+ 'attribute def': 'ValueType',
48
+ AttributeUsage: 'ValueType',
49
+ 'attribute usage': 'ValueType',
50
+ InterfaceDefinition: 'Block',
51
+ 'interface def': 'Block',
52
+ InterfaceUsage: 'Block',
53
+ 'interface usage': 'Block',
54
+ ItemDefinition: 'Block',
55
+ 'item def': 'Block',
56
+ ItemUsage: 'Block',
57
+ 'item usage': 'Block',
58
+ OccurrenceDefinition: 'PartDef',
59
+ 'occurrence def': 'PartDef',
60
+ OccurrenceUsage: 'PartUsage',
61
+ 'occurrence usage': 'PartUsage',
62
+ };
63
+ const exact = map[kind];
64
+ if (exact)
65
+ return exact;
66
+ const normalized = kind?.trim().toLowerCase().replace(/\s+/g, ' ');
67
+ return map[normalized] ?? map[kind?.trim() ?? ''];
68
+ }
69
+ /** LSP SymbolKind enum (number). Used when DocumentSymbol.detail is missing. */
70
+ const LSP_KIND_TO_LABEL = {
71
+ 2: 'Package', // Namespace
72
+ 4: 'Package', // Package
73
+ 5: 'PartDef', // Class
74
+ 6: 'Action', // Method
75
+ 7: 'ValueType', // Property
76
+ 8: 'ValueType', // Field
77
+ 10: 'Block', // Enum
78
+ 11: 'Block', // Interface
79
+ };
80
+ export function lspSymbolKindToNodeLabel(kind) {
81
+ return LSP_KIND_TO_LABEL[kind];
82
+ }
83
+ /**
84
+ * Map relation semantics to graph edge type.
85
+ */
86
+ export function relationToEdgeType(relation) {
87
+ const map = {
88
+ inDocument: 'IN_DOCUMENT',
89
+ inPackage: 'IN_PACKAGE',
90
+ parent: 'PARENT',
91
+ types: 'TYPES',
92
+ references: 'REFERENCES',
93
+ imports: 'IMPORTS',
94
+ satisfy: 'SATISFY',
95
+ derive: 'DERIVE',
96
+ verify: 'VERIFY',
97
+ binding: 'BINDING',
98
+ connectionEnd: 'CONNECTION_END',
99
+ };
100
+ return map[relation];
101
+ }
102
+ //# sourceMappingURL=mapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapping.js","sourceRoot":"","sources":["../../../src/symbol-to-graph/mapping.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Shared types for sysmledgraph.
3
+ * Aligns with deploy model and GITNEXUS_FEATURES schema.
4
+ */
5
+ /** Node labels in the graph (SysML-native grouping). */
6
+ export declare const NODE_LABELS: readonly ["Document", "Package", "PartDef", "PartUsage", "ConnectionDef", "ConnectionUsage", "PortDef", "Port", "RequirementDef", "Block", "ValueType", "Action", "StateMachine"];
7
+ export type NodeLabel = (typeof NODE_LABELS)[number];
8
+ /** Edge types in the graph. */
9
+ export declare const EDGE_TYPES: readonly ["IN_DOCUMENT", "IN_PACKAGE", "PARENT", "TYPES", "REFERENCES", "IMPORTS", "SATISFY", "DERIVE", "VERIFY", "BINDING", "CONNECTION_END"];
10
+ export type EdgeType = (typeof EDGE_TYPES)[number];
11
+ /** Document node properties. */
12
+ export interface DocumentProps {
13
+ path: string;
14
+ indexedAt?: string;
15
+ }
16
+ /** Symbol node properties (common). */
17
+ export interface SymbolProps {
18
+ name: string;
19
+ qualifiedName?: string;
20
+ path: string;
21
+ [key: string]: unknown;
22
+ }
23
+ /** A relation from parser/symbol layer for graph edges. */
24
+ export interface SymbolRelation {
25
+ from: string;
26
+ to: string;
27
+ type: EdgeType;
28
+ }
29
+ /** Normalized symbol shape for graph (from parser). */
30
+ export interface NormalizedSymbol {
31
+ label: NodeLabel;
32
+ props: SymbolProps;
33
+ relations: SymbolRelation[];
34
+ }
35
+ /** Config file at a path (e.g. config.yaml). */
36
+ export interface ModelConfig {
37
+ model_dir?: string;
38
+ model_files?: string[];
39
+ }
40
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wDAAwD;AACxD,eAAO,MAAM,WAAW,mLAcd,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD,+BAA+B;AAC/B,eAAO,MAAM,UAAU,gJAYb,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,gCAAgC;AAChC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,uCAAuC;AACvC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,uDAAuD;AACvD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED,gDAAgD;AAChD,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB"}