@eclipse-glsp/server-mcp 2.7.0-next.9

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 (303) hide show
  1. package/LICENSE +642 -0
  2. package/README.md +57 -0
  3. package/lib/index.d.ts +23 -0
  4. package/lib/index.d.ts.map +1 -0
  5. package/lib/index.js +41 -0
  6. package/lib/index.js.map +1 -0
  7. package/lib/prompts/handlers/describe-diagram-mcp-prompt-handler.d.ts +43 -0
  8. package/lib/prompts/handlers/describe-diagram-mcp-prompt-handler.d.ts.map +1 -0
  9. package/lib/prompts/handlers/describe-diagram-mcp-prompt-handler.js +96 -0
  10. package/lib/prompts/handlers/describe-diagram-mcp-prompt-handler.js.map +1 -0
  11. package/lib/prompts/handlers/suggest-improvements-mcp-prompt-handler.d.ts +43 -0
  12. package/lib/prompts/handlers/suggest-improvements-mcp-prompt-handler.d.ts.map +1 -0
  13. package/lib/prompts/handlers/suggest-improvements-mcp-prompt-handler.js +95 -0
  14. package/lib/prompts/handlers/suggest-improvements-mcp-prompt-handler.js.map +1 -0
  15. package/lib/prompts/index.d.ts +18 -0
  16. package/lib/prompts/index.d.ts.map +1 -0
  17. package/lib/prompts/index.js +34 -0
  18. package/lib/prompts/index.js.map +1 -0
  19. package/lib/resources/handlers/diagram-png-mcp-resource-handler.d.ts +81 -0
  20. package/lib/resources/handlers/diagram-png-mcp-resource-handler.d.ts.map +1 -0
  21. package/lib/resources/handlers/diagram-png-mcp-resource-handler.js +174 -0
  22. package/lib/resources/handlers/diagram-png-mcp-resource-handler.js.map +1 -0
  23. package/lib/resources/handlers/diagram-svg-mcp-resource-handler.d.ts +52 -0
  24. package/lib/resources/handlers/diagram-svg-mcp-resource-handler.d.ts.map +1 -0
  25. package/lib/resources/handlers/diagram-svg-mcp-resource-handler.js +96 -0
  26. package/lib/resources/handlers/diagram-svg-mcp-resource-handler.js.map +1 -0
  27. package/lib/resources/index.d.ts +20 -0
  28. package/lib/resources/index.d.ts.map +1 -0
  29. package/lib/resources/index.js +36 -0
  30. package/lib/resources/index.js.map +1 -0
  31. package/lib/resources/services/element-types-provider.d.ts +65 -0
  32. package/lib/resources/services/element-types-provider.d.ts.map +1 -0
  33. package/lib/resources/services/element-types-provider.js +81 -0
  34. package/lib/resources/services/element-types-provider.js.map +1 -0
  35. package/lib/resources/services/mcp-model-serializer.d.ts +78 -0
  36. package/lib/resources/services/mcp-model-serializer.d.ts.map +1 -0
  37. package/lib/resources/services/mcp-model-serializer.js +188 -0
  38. package/lib/resources/services/mcp-model-serializer.js.map +1 -0
  39. package/lib/server/glsp-mcp-server.d.ts +82 -0
  40. package/lib/server/glsp-mcp-server.d.ts.map +1 -0
  41. package/lib/server/glsp-mcp-server.js +140 -0
  42. package/lib/server/glsp-mcp-server.js.map +1 -0
  43. package/lib/server/index.d.ts +37 -0
  44. package/lib/server/index.d.ts.map +1 -0
  45. package/lib/server/index.js +57 -0
  46. package/lib/server/index.js.map +1 -0
  47. package/lib/server/lru-event-store.d.ts +53 -0
  48. package/lib/server/lru-event-store.d.ts.map +1 -0
  49. package/lib/server/lru-event-store.js +100 -0
  50. package/lib/server/lru-event-store.js.map +1 -0
  51. package/lib/server/mcp-diagram-handler-dispatcher.d.ts +144 -0
  52. package/lib/server/mcp-diagram-handler-dispatcher.d.ts.map +1 -0
  53. package/lib/server/mcp-diagram-handler-dispatcher.js +382 -0
  54. package/lib/server/mcp-diagram-handler-dispatcher.js.map +1 -0
  55. package/lib/server/mcp-diagram-module.d.ts +123 -0
  56. package/lib/server/mcp-diagram-module.d.ts.map +1 -0
  57. package/lib/server/mcp-diagram-module.js +186 -0
  58. package/lib/server/mcp-diagram-module.js.map +1 -0
  59. package/lib/server/mcp-diagram-prompt-handler-registry.d.ts +33 -0
  60. package/lib/server/mcp-diagram-prompt-handler-registry.d.ts.map +1 -0
  61. package/lib/server/mcp-diagram-prompt-handler-registry.js +76 -0
  62. package/lib/server/mcp-diagram-prompt-handler-registry.js.map +1 -0
  63. package/lib/server/mcp-diagram-resource-handler-registry.d.ts +35 -0
  64. package/lib/server/mcp-diagram-resource-handler-registry.d.ts.map +1 -0
  65. package/lib/server/mcp-diagram-resource-handler-registry.js +94 -0
  66. package/lib/server/mcp-diagram-resource-handler-registry.js.map +1 -0
  67. package/lib/server/mcp-diagram-tool-handler-registry.d.ts +57 -0
  68. package/lib/server/mcp-diagram-tool-handler-registry.d.ts.map +1 -0
  69. package/lib/server/mcp-diagram-tool-handler-registry.js +111 -0
  70. package/lib/server/mcp-diagram-tool-handler-registry.js.map +1 -0
  71. package/lib/server/mcp-handler-shared.d.ts +142 -0
  72. package/lib/server/mcp-handler-shared.d.ts.map +1 -0
  73. package/lib/server/mcp-handler-shared.js +199 -0
  74. package/lib/server/mcp-handler-shared.js.map +1 -0
  75. package/lib/server/mcp-http-transport.d.ts +93 -0
  76. package/lib/server/mcp-http-transport.d.ts.map +1 -0
  77. package/lib/server/mcp-http-transport.js +350 -0
  78. package/lib/server/mcp-http-transport.js.map +1 -0
  79. package/lib/server/mcp-id-alias-service.d.ts +70 -0
  80. package/lib/server/mcp-id-alias-service.d.ts.map +1 -0
  81. package/lib/server/mcp-id-alias-service.js +85 -0
  82. package/lib/server/mcp-id-alias-service.js.map +1 -0
  83. package/lib/server/mcp-input-schemas.d.ts +73 -0
  84. package/lib/server/mcp-input-schemas.d.ts.map +1 -0
  85. package/lib/server/mcp-input-schemas.js +67 -0
  86. package/lib/server/mcp-input-schemas.js.map +1 -0
  87. package/lib/server/mcp-label-provider.d.ts +45 -0
  88. package/lib/server/mcp-label-provider.d.ts.map +1 -0
  89. package/lib/server/mcp-label-provider.js +42 -0
  90. package/lib/server/mcp-label-provider.js.map +1 -0
  91. package/lib/server/mcp-log-level-registry.d.ts +54 -0
  92. package/lib/server/mcp-log-level-registry.d.ts.map +1 -0
  93. package/lib/server/mcp-log-level-registry.js +80 -0
  94. package/lib/server/mcp-log-level-registry.js.map +1 -0
  95. package/lib/server/mcp-logger.d.ts +59 -0
  96. package/lib/server/mcp-logger.d.ts.map +1 -0
  97. package/lib/server/mcp-logger.js +104 -0
  98. package/lib/server/mcp-logger.js.map +1 -0
  99. package/lib/server/mcp-mime-types.d.ts +28 -0
  100. package/lib/server/mcp-mime-types.d.ts.map +1 -0
  101. package/lib/server/mcp-mime-types.js +18 -0
  102. package/lib/server/mcp-mime-types.js.map +1 -0
  103. package/lib/server/mcp-options.d.ts +39 -0
  104. package/lib/server/mcp-options.d.ts.map +1 -0
  105. package/lib/server/mcp-options.js +53 -0
  106. package/lib/server/mcp-options.js.map +1 -0
  107. package/lib/server/mcp-progress-reporter.d.ts +48 -0
  108. package/lib/server/mcp-progress-reporter.d.ts.map +1 -0
  109. package/lib/server/mcp-progress-reporter.js +66 -0
  110. package/lib/server/mcp-progress-reporter.js.map +1 -0
  111. package/lib/server/mcp-prompt-handler.d.ts +120 -0
  112. package/lib/server/mcp-prompt-handler.d.ts.map +1 -0
  113. package/lib/server/mcp-prompt-handler.js +131 -0
  114. package/lib/server/mcp-prompt-handler.js.map +1 -0
  115. package/lib/server/mcp-request-context.d.ts +37 -0
  116. package/lib/server/mcp-request-context.d.ts.map +1 -0
  117. package/lib/server/mcp-request-context.js +37 -0
  118. package/lib/server/mcp-request-context.js.map +1 -0
  119. package/lib/server/mcp-resource-handler.d.ts +212 -0
  120. package/lib/server/mcp-resource-handler.d.ts.map +1 -0
  121. package/lib/server/mcp-resource-handler.js +298 -0
  122. package/lib/server/mcp-resource-handler.js.map +1 -0
  123. package/lib/server/mcp-server-launcher.d.ts +143 -0
  124. package/lib/server/mcp-server-launcher.d.ts.map +1 -0
  125. package/lib/server/mcp-server-launcher.js +355 -0
  126. package/lib/server/mcp-server-launcher.js.map +1 -0
  127. package/lib/server/mcp-server-module.d.ts +143 -0
  128. package/lib/server/mcp-server-module.d.ts.map +1 -0
  129. package/lib/server/mcp-server-module.js +249 -0
  130. package/lib/server/mcp-server-module.js.map +1 -0
  131. package/lib/server/mcp-session.d.ts +44 -0
  132. package/lib/server/mcp-session.d.ts.map +1 -0
  133. package/lib/server/mcp-session.js +18 -0
  134. package/lib/server/mcp-session.js.map +1 -0
  135. package/lib/server/mcp-tool-handler.d.ts +259 -0
  136. package/lib/server/mcp-tool-handler.d.ts.map +1 -0
  137. package/lib/server/mcp-tool-handler.js +355 -0
  138. package/lib/server/mcp-tool-handler.js.map +1 -0
  139. package/lib/tools/handlers/count-elements-mcp-tool-handler.d.ts +46 -0
  140. package/lib/tools/handlers/count-elements-mcp-tool-handler.d.ts.map +1 -0
  141. package/lib/tools/handlers/count-elements-mcp-tool-handler.js +76 -0
  142. package/lib/tools/handlers/count-elements-mcp-tool-handler.js.map +1 -0
  143. package/lib/tools/handlers/create-edges-mcp-tool-handler.d.ts +112 -0
  144. package/lib/tools/handlers/create-edges-mcp-tool-handler.d.ts.map +1 -0
  145. package/lib/tools/handlers/create-edges-mcp-tool-handler.js +190 -0
  146. package/lib/tools/handlers/create-edges-mcp-tool-handler.js.map +1 -0
  147. package/lib/tools/handlers/create-nodes-mcp-tool-handler.d.ts +81 -0
  148. package/lib/tools/handlers/create-nodes-mcp-tool-handler.d.ts.map +1 -0
  149. package/lib/tools/handlers/create-nodes-mcp-tool-handler.js +123 -0
  150. package/lib/tools/handlers/create-nodes-mcp-tool-handler.js.map +1 -0
  151. package/lib/tools/handlers/delete-elements-mcp-tool-handler.d.ts +52 -0
  152. package/lib/tools/handlers/delete-elements-mcp-tool-handler.d.ts.map +1 -0
  153. package/lib/tools/handlers/delete-elements-mcp-tool-handler.js +73 -0
  154. package/lib/tools/handlers/delete-elements-mcp-tool-handler.js.map +1 -0
  155. package/lib/tools/handlers/diagram-model-mcp-tool-handler.d.ts +59 -0
  156. package/lib/tools/handlers/diagram-model-mcp-tool-handler.d.ts.map +1 -0
  157. package/lib/tools/handlers/diagram-model-mcp-tool-handler.js +78 -0
  158. package/lib/tools/handlers/diagram-model-mcp-tool-handler.js.map +1 -0
  159. package/lib/tools/handlers/element-types-mcp-tool-handler.d.ts +97 -0
  160. package/lib/tools/handlers/element-types-mcp-tool-handler.d.ts.map +1 -0
  161. package/lib/tools/handlers/element-types-mcp-tool-handler.js +155 -0
  162. package/lib/tools/handlers/element-types-mcp-tool-handler.js.map +1 -0
  163. package/lib/tools/handlers/get-selection-mcp-tool-handler.d.ts +43 -0
  164. package/lib/tools/handlers/get-selection-mcp-tool-handler.d.ts.map +1 -0
  165. package/lib/tools/handlers/get-selection-mcp-tool-handler.js +68 -0
  166. package/lib/tools/handlers/get-selection-mcp-tool-handler.js.map +1 -0
  167. package/lib/tools/handlers/layout-mcp-tool-handler.d.ts +43 -0
  168. package/lib/tools/handlers/layout-mcp-tool-handler.d.ts.map +1 -0
  169. package/lib/tools/handlers/layout-mcp-tool-handler.js +71 -0
  170. package/lib/tools/handlers/layout-mcp-tool-handler.js.map +1 -0
  171. package/lib/tools/handlers/modify-edges-mcp-tool-handler.d.ts +78 -0
  172. package/lib/tools/handlers/modify-edges-mcp-tool-handler.d.ts.map +1 -0
  173. package/lib/tools/handlers/modify-edges-mcp-tool-handler.js +136 -0
  174. package/lib/tools/handlers/modify-edges-mcp-tool-handler.js.map +1 -0
  175. package/lib/tools/handlers/modify-nodes-mcp-tool-handler.d.ts +92 -0
  176. package/lib/tools/handlers/modify-nodes-mcp-tool-handler.d.ts.map +1 -0
  177. package/lib/tools/handlers/modify-nodes-mcp-tool-handler.js +125 -0
  178. package/lib/tools/handlers/modify-nodes-mcp-tool-handler.js.map +1 -0
  179. package/lib/tools/handlers/query-elements-mcp-tool-handler.d.ts +102 -0
  180. package/lib/tools/handlers/query-elements-mcp-tool-handler.d.ts.map +1 -0
  181. package/lib/tools/handlers/query-elements-mcp-tool-handler.js +158 -0
  182. package/lib/tools/handlers/query-elements-mcp-tool-handler.js.map +1 -0
  183. package/lib/tools/handlers/redo-mcp-tool-handler.d.ts +45 -0
  184. package/lib/tools/handlers/redo-mcp-tool-handler.d.ts.map +1 -0
  185. package/lib/tools/handlers/redo-mcp-tool-handler.js +73 -0
  186. package/lib/tools/handlers/redo-mcp-tool-handler.js.map +1 -0
  187. package/lib/tools/handlers/save-model-mcp-tool-handler.d.ts +55 -0
  188. package/lib/tools/handlers/save-model-mcp-tool-handler.d.ts.map +1 -0
  189. package/lib/tools/handlers/save-model-mcp-tool-handler.js +91 -0
  190. package/lib/tools/handlers/save-model-mcp-tool-handler.js.map +1 -0
  191. package/lib/tools/handlers/session-info-mcp-tool-handler.d.ts +65 -0
  192. package/lib/tools/handlers/session-info-mcp-tool-handler.d.ts.map +1 -0
  193. package/lib/tools/handlers/session-info-mcp-tool-handler.js +108 -0
  194. package/lib/tools/handlers/session-info-mcp-tool-handler.js.map +1 -0
  195. package/lib/tools/handlers/set-selection-mcp-tool-handler.d.ts +60 -0
  196. package/lib/tools/handlers/set-selection-mcp-tool-handler.d.ts.map +1 -0
  197. package/lib/tools/handlers/set-selection-mcp-tool-handler.js +103 -0
  198. package/lib/tools/handlers/set-selection-mcp-tool-handler.js.map +1 -0
  199. package/lib/tools/handlers/set-view-mcp-tool-handler.d.ts +110 -0
  200. package/lib/tools/handlers/set-view-mcp-tool-handler.d.ts.map +1 -0
  201. package/lib/tools/handlers/set-view-mcp-tool-handler.js +142 -0
  202. package/lib/tools/handlers/set-view-mcp-tool-handler.js.map +1 -0
  203. package/lib/tools/handlers/undo-mcp-tool-handler.d.ts +45 -0
  204. package/lib/tools/handlers/undo-mcp-tool-handler.d.ts.map +1 -0
  205. package/lib/tools/handlers/undo-mcp-tool-handler.js +74 -0
  206. package/lib/tools/handlers/undo-mcp-tool-handler.js.map +1 -0
  207. package/lib/tools/handlers/validate-diagram-mcp-tool-handler.d.ts +66 -0
  208. package/lib/tools/handlers/validate-diagram-mcp-tool-handler.d.ts.map +1 -0
  209. package/lib/tools/handlers/validate-diagram-mcp-tool-handler.js +0 -0
  210. package/lib/tools/handlers/validate-diagram-mcp-tool-handler.js.map +1 -0
  211. package/lib/tools/index.d.ts +34 -0
  212. package/lib/tools/index.d.ts.map +1 -0
  213. package/lib/tools/index.js +50 -0
  214. package/lib/tools/index.js.map +1 -0
  215. package/lib/util/index.d.ts +18 -0
  216. package/lib/util/index.d.ts.map +1 -0
  217. package/lib/util/index.js +34 -0
  218. package/lib/util/index.js.map +1 -0
  219. package/lib/util/markdown-util.d.ts +20 -0
  220. package/lib/util/markdown-util.d.ts.map +1 -0
  221. package/lib/util/markdown-util.js +45 -0
  222. package/lib/util/markdown-util.js.map +1 -0
  223. package/lib/util/mcp-util.d.ts +22 -0
  224. package/lib/util/mcp-util.d.ts.map +1 -0
  225. package/lib/util/mcp-util.js +29 -0
  226. package/lib/util/mcp-util.js.map +1 -0
  227. package/package.json +63 -0
  228. package/src/index.ts +24 -0
  229. package/src/prompts/handlers/describe-diagram-mcp-prompt-handler.ts +89 -0
  230. package/src/prompts/handlers/suggest-improvements-mcp-prompt-handler.ts +86 -0
  231. package/src/prompts/index.ts +18 -0
  232. package/src/resources/handlers/diagram-png-mcp-resource-handler.ts +181 -0
  233. package/src/resources/handlers/diagram-svg-mcp-resource-handler.ts +89 -0
  234. package/src/resources/index.ts +20 -0
  235. package/src/resources/services/element-types-provider.ts +105 -0
  236. package/src/resources/services/mcp-model-serializer.ts +211 -0
  237. package/src/server/glsp-mcp-server.spec.ts +73 -0
  238. package/src/server/glsp-mcp-server.ts +196 -0
  239. package/src/server/index.ts +42 -0
  240. package/src/server/lru-event-store.spec.ts +121 -0
  241. package/src/server/lru-event-store.ts +112 -0
  242. package/src/server/mcp-diagram-handler-dispatcher.spec.ts +231 -0
  243. package/src/server/mcp-diagram-handler-dispatcher.ts +459 -0
  244. package/src/server/mcp-diagram-module.ts +248 -0
  245. package/src/server/mcp-diagram-prompt-handler-registry.ts +59 -0
  246. package/src/server/mcp-diagram-resource-handler-registry.ts +73 -0
  247. package/src/server/mcp-diagram-tool-handler-registry.ts +97 -0
  248. package/src/server/mcp-handler-shared.spec.ts +53 -0
  249. package/src/server/mcp-handler-shared.ts +247 -0
  250. package/src/server/mcp-http-transport-e2e.spec.ts +151 -0
  251. package/src/server/mcp-http-transport.spec.ts +385 -0
  252. package/src/server/mcp-http-transport.ts +368 -0
  253. package/src/server/mcp-id-alias-service.spec.ts +106 -0
  254. package/src/server/mcp-id-alias-service.ts +104 -0
  255. package/src/server/mcp-input-schemas.ts +82 -0
  256. package/src/server/mcp-label-provider.ts +52 -0
  257. package/src/server/mcp-log-level-registry.spec.ts +75 -0
  258. package/src/server/mcp-log-level-registry.ts +90 -0
  259. package/src/server/mcp-logger.spec.ts +227 -0
  260. package/src/server/mcp-logger.ts +91 -0
  261. package/src/server/mcp-mime-types.ts +31 -0
  262. package/src/server/mcp-options.ts +43 -0
  263. package/src/server/mcp-progress-reporter.spec.ts +93 -0
  264. package/src/server/mcp-progress-reporter.ts +67 -0
  265. package/src/server/mcp-prompt-handler.ts +157 -0
  266. package/src/server/mcp-request-context.ts +39 -0
  267. package/src/server/mcp-resource-handler.ts +389 -0
  268. package/src/server/mcp-server-launcher.spec.ts +173 -0
  269. package/src/server/mcp-server-launcher.ts +369 -0
  270. package/src/server/mcp-server-module.ts +287 -0
  271. package/src/server/mcp-session.ts +45 -0
  272. package/src/server/mcp-tool-handler.spec.ts +182 -0
  273. package/src/server/mcp-tool-handler.ts +431 -0
  274. package/src/server/raw-http.spec.ts +59 -0
  275. package/src/tools/handlers/count-elements-mcp-tool-handler.spec.ts +99 -0
  276. package/src/tools/handlers/count-elements-mcp-tool-handler.ts +66 -0
  277. package/src/tools/handlers/create-edges-mcp-tool-handler.spec.ts +196 -0
  278. package/src/tools/handlers/create-edges-mcp-tool-handler.ts +205 -0
  279. package/src/tools/handlers/create-nodes-mcp-tool-handler.spec.ts +197 -0
  280. package/src/tools/handlers/create-nodes-mcp-tool-handler.ts +131 -0
  281. package/src/tools/handlers/delete-elements-mcp-tool-handler.ts +73 -0
  282. package/src/tools/handlers/diagram-model-mcp-tool-handler.ts +66 -0
  283. package/src/tools/handlers/element-types-mcp-tool-handler.ts +151 -0
  284. package/src/tools/handlers/get-selection-mcp-tool-handler.ts +54 -0
  285. package/src/tools/handlers/layout-mcp-tool-handler.ts +56 -0
  286. package/src/tools/handlers/modify-edges-mcp-tool-handler.ts +148 -0
  287. package/src/tools/handlers/modify-nodes-mcp-tool-handler.ts +140 -0
  288. package/src/tools/handlers/query-elements-mcp-tool-handler.spec.ts +210 -0
  289. package/src/tools/handlers/query-elements-mcp-tool-handler.ts +161 -0
  290. package/src/tools/handlers/redo-mcp-tool-handler.ts +62 -0
  291. package/src/tools/handlers/save-model-mcp-tool-handler.ts +71 -0
  292. package/src/tools/handlers/session-info-mcp-tool-handler.spec.ts +152 -0
  293. package/src/tools/handlers/session-info-mcp-tool-handler.ts +97 -0
  294. package/src/tools/handlers/set-selection-mcp-tool-handler.spec.ts +118 -0
  295. package/src/tools/handlers/set-selection-mcp-tool-handler.ts +90 -0
  296. package/src/tools/handlers/set-view-mcp-tool-handler.ts +162 -0
  297. package/src/tools/handlers/undo-mcp-tool-handler.ts +61 -0
  298. package/src/tools/handlers/validate-diagram-mcp-tool-handler.ts +0 -0
  299. package/src/tools/index.ts +34 -0
  300. package/src/tools/tool-annotations.spec.ts +141 -0
  301. package/src/util/index.ts +18 -0
  302. package/src/util/markdown-util.ts +44 -0
  303. package/src/util/mcp-util.ts +25 -0
@@ -0,0 +1,53 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2026 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ import { Logger } from '@eclipse-glsp/server';
17
+ import { EventId, EventStore, StreamId } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
18
+ import { JSONRPCMessage } from '@modelcontextprotocol/sdk/types.js';
19
+ /**
20
+ * In-memory `EventStore` with a bounded LRU cap, replacing the SDK's `InMemoryEventStore`
21
+ * (which is unbounded and explicitly intended only for examples).
22
+ *
23
+ * Resumability via `Last-Event-ID` requires that historical events stay reachable. Without a
24
+ * cap, the underlying `Map` grows linearly with `MCP message volume × server uptime` — fine
25
+ * for local-dev, a slow leak for daemonised / multi-user / CI deployments.
26
+ *
27
+ * Eviction shape: insert-order LRU. JS `Map` already preserves insertion order, so newer
28
+ * events sit at the tail and `keys().next()` returns the oldest. On overflow we delete the
29
+ * oldest — no timer, no periodic sweep, no `dispose()` plumbing required. The cap must be
30
+ * comfortably larger than the worst-case in-flight event count (per-client × concurrent-clients
31
+ * × disconnect-window), or a client reconnecting with a stale `Last-Event-ID` will find its
32
+ * resume point already evicted.
33
+ *
34
+ * The event-id format mirrors the SDK's example impl (`<streamId>_<timestamp>_<random>`) so
35
+ * `replayEventsAfter` can extract the stream id with the same `split('_')[0]` trick.
36
+ */
37
+ export declare class LruEventStore implements EventStore {
38
+ static readonly DEFAULT_LIMIT = 10000;
39
+ protected readonly events: Map<string, {
40
+ streamId: StreamId;
41
+ message: JSONRPCMessage;
42
+ }>;
43
+ protected readonly limit: number;
44
+ protected readonly logger?: Logger;
45
+ constructor(limit?: number, logger?: Logger);
46
+ /** Current event count. Exposed for tests. */
47
+ get size(): number;
48
+ storeEvent(streamId: StreamId, message: JSONRPCMessage): Promise<EventId>;
49
+ replayEventsAfter(lastEventId: EventId, { send }: {
50
+ send: (eventId: EventId, message: JSONRPCMessage) => Promise<void>;
51
+ }): Promise<StreamId>;
52
+ }
53
+ //# sourceMappingURL=lru-event-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lru-event-store.d.ts","sourceRoot":"","sources":["../../src/server/lru-event-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEpE;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,aAAc,YAAW,UAAU;IAC5C,MAAM,CAAC,QAAQ,CAAC,aAAa,SAAU;IAEvC,SAAS,CAAC,QAAQ,CAAC,MAAM;kBAAgC,QAAQ;iBAAW,cAAc;OAAM;IAChG,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEvB,KAAK,GAAE,MAAoC,EAAE,MAAM,CAAC,EAAE,MAAM;IAQxE,8CAA8C;IAC9C,IAAI,IAAI,IAAI,MAAM,CAEjB;IAEK,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAezE,iBAAiB,CACnB,WAAW,EAAE,OAAO,EACpB,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,GACjF,OAAO,CAAC,QAAQ,CAAC;CAmCvB"}
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ /********************************************************************************
3
+ * Copyright (c) 2026 EclipseSource and others.
4
+ *
5
+ * This program and the accompanying materials are made available under the
6
+ * terms of the Eclipse Public License v. 2.0 which is available at
7
+ * http://www.eclipse.org/legal/epl-2.0.
8
+ *
9
+ * This Source Code may also be made available under the following Secondary
10
+ * Licenses when the conditions for such availability set forth in the Eclipse
11
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ * with the GNU Classpath Exception which is available at
13
+ * https://www.gnu.org/software/classpath/license.html.
14
+ *
15
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
16
+ ********************************************************************************/
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.LruEventStore = void 0;
19
+ /**
20
+ * In-memory `EventStore` with a bounded LRU cap, replacing the SDK's `InMemoryEventStore`
21
+ * (which is unbounded and explicitly intended only for examples).
22
+ *
23
+ * Resumability via `Last-Event-ID` requires that historical events stay reachable. Without a
24
+ * cap, the underlying `Map` grows linearly with `MCP message volume × server uptime` — fine
25
+ * for local-dev, a slow leak for daemonised / multi-user / CI deployments.
26
+ *
27
+ * Eviction shape: insert-order LRU. JS `Map` already preserves insertion order, so newer
28
+ * events sit at the tail and `keys().next()` returns the oldest. On overflow we delete the
29
+ * oldest — no timer, no periodic sweep, no `dispose()` plumbing required. The cap must be
30
+ * comfortably larger than the worst-case in-flight event count (per-client × concurrent-clients
31
+ * × disconnect-window), or a client reconnecting with a stale `Last-Event-ID` will find its
32
+ * resume point already evicted.
33
+ *
34
+ * The event-id format mirrors the SDK's example impl (`<streamId>_<timestamp>_<random>`) so
35
+ * `replayEventsAfter` can extract the stream id with the same `split('_')[0]` trick.
36
+ */
37
+ class LruEventStore {
38
+ constructor(limit = LruEventStore.DEFAULT_LIMIT, logger) {
39
+ this.events = new Map();
40
+ if (limit < 1) {
41
+ throw new Error(`LruEventStore limit must be >= 1, got ${limit}`);
42
+ }
43
+ this.limit = limit;
44
+ this.logger = logger;
45
+ }
46
+ /** Current event count. Exposed for tests. */
47
+ get size() {
48
+ return this.events.size;
49
+ }
50
+ async storeEvent(streamId, message) {
51
+ // Format: `<streamId>_<unixMs>_<8-char-base36-random>`. The leading `streamId` lets
52
+ // `replayEventsAfter` recover the stream via `split('_')[0]` without a side table; the
53
+ // timestamp + random suffix make ids globally unique across concurrent emits.
54
+ const eventId = `${streamId}_${Date.now()}_${Math.random().toString(36).substring(2, 10)}`;
55
+ this.events.set(eventId, { streamId, message });
56
+ if (this.events.size > this.limit) {
57
+ const oldest = this.events.keys().next().value;
58
+ if (oldest !== undefined) {
59
+ this.events.delete(oldest);
60
+ }
61
+ }
62
+ return eventId;
63
+ }
64
+ async replayEventsAfter(lastEventId, { send }) {
65
+ var _a;
66
+ if (!lastEventId) {
67
+ return '';
68
+ }
69
+ if (!this.events.has(lastEventId)) {
70
+ // Cap-eviction race: warn so adopters can tune `eventStoreLimit` upward.
71
+ (_a = this.logger) === null || _a === void 0 ? void 0 : _a.warn(`[LruEventStore] Replay miss for last-event-id '${lastEventId}'. ` +
72
+ `Cap is ${this.limit}; consider increasing \`eventStoreLimit\` if this fires under normal load.`);
73
+ return '';
74
+ }
75
+ const streamId = lastEventId.split('_')[0];
76
+ if (!streamId) {
77
+ return '';
78
+ }
79
+ // Map iteration is insertion-order — equivalent to the SDK example's `localeCompare`
80
+ // sort under our id format, but cheaper and not dependent on the lexicographic-vs-
81
+ // chronological coincidence of the timestamp segment.
82
+ let foundLast = false;
83
+ for (const [eventId, { streamId: evtStreamId, message }] of this.events) {
84
+ if (evtStreamId !== streamId) {
85
+ continue;
86
+ }
87
+ if (eventId === lastEventId) {
88
+ foundLast = true;
89
+ continue;
90
+ }
91
+ if (foundLast) {
92
+ await send(eventId, message);
93
+ }
94
+ }
95
+ return streamId;
96
+ }
97
+ }
98
+ exports.LruEventStore = LruEventStore;
99
+ LruEventStore.DEFAULT_LIMIT = 10000;
100
+ //# sourceMappingURL=lru-event-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lru-event-store.js","sourceRoot":"","sources":["../../src/server/lru-event-store.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAMlF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAa,aAAa;IAOtB,YAAY,QAAgB,aAAa,CAAC,aAAa,EAAE,MAAe;QAJrD,WAAM,GAAG,IAAI,GAAG,EAA4D,CAAC;QAK5F,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,yCAAyC,KAAK,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,8CAA8C;IAC9C,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAkB,EAAE,OAAuB;QACxD,oFAAoF;QACpF,uFAAuF;QACvF,8EAA8E;QAC9E,MAAM,OAAO,GAAG,GAAG,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QAC3F,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YAC/C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,iBAAiB,CACnB,WAAoB,EACpB,EAAE,IAAI,EAA0E;;QAEhF,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;QACd,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,yEAAyE;YACzE,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CACb,kDAAkD,WAAW,KAAK;gBAC9D,UAAU,IAAI,CAAC,KAAK,4EAA4E,CACvG,CAAC;YACF,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACd,CAAC;QAED,qFAAqF;QACrF,mFAAmF;QACnF,sDAAsD;QACtD,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,KAAK,MAAM,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACtE,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAC3B,SAAS;YACb,CAAC;YACD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;gBAC1B,SAAS,GAAG,IAAI,CAAC;gBACjB,SAAS;YACb,CAAC;YACD,IAAI,SAAS,EAAE,CAAC;gBACZ,MAAM,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACjC,CAAC;QACL,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;;AAxEL,sCAyEC;AAxEmB,2BAAa,GAAG,KAAM,AAAT,CAAU"}
@@ -0,0 +1,144 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2026 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ import { ClientSessionManager, Logger } from '@eclipse-glsp/server';
17
+ import { CompleteResourceTemplateCallback, ResourceTemplate } from '@modelcontextprotocol/sdk/server/mcp.js';
18
+ import { Variables } from '@modelcontextprotocol/sdk/shared/uriTemplate.js';
19
+ import { CallToolResult, GetPromptResult, ListResourcesResult, ReadResourceResult } from '@modelcontextprotocol/sdk/types.js';
20
+ import { Container, ContainerModule } from 'inversify';
21
+ import { GLSPMcpServer } from './glsp-mcp-server';
22
+ import { McpDiagramScopedInput } from './mcp-input-schemas';
23
+ import { AbstractMcpDiagramPromptHandler, McpDiagramPromptHandlerConstructor } from './mcp-prompt-handler';
24
+ import { AbstractMcpDiagramResourceHandler, McpDiagramResourceHandlerConstructor } from './mcp-resource-handler';
25
+ import { BaseMcpDiagramToolHandler, McpDiagramToolHandlerConstructor } from './mcp-tool-handler';
26
+ /**
27
+ * Per-diagram-type catalog of constructor lists, harvested at MCP-server start by loading each
28
+ * diagram type's modules onto a temporary child container — same pattern as
29
+ * `DefaultGlobalActionProvider` (`packages/server/src/common/actions/global-action-provider.ts:36-48`).
30
+ * The constructors stay across MCP-session inits; the temporary container lives just long enough
31
+ * for `getAll(...)` to read the `InstanceMultiBinding` constant value.
32
+ */
33
+ export interface DiagramTypeCatalog {
34
+ readonly diagramType: string;
35
+ readonly toolConstructors: McpDiagramToolHandlerConstructor[];
36
+ readonly resourceConstructors: McpDiagramResourceHandlerConstructor[];
37
+ readonly promptConstructors: McpDiagramPromptHandlerConstructor[];
38
+ }
39
+ /**
40
+ * Owns diagram-scope handler discovery, SDK registration, and per-MCP-call dispatch routing.
41
+ * Extracted from {@link McpServerLauncher} so adopters can `rebind(McpDiagramHandlerDispatcher)`
42
+ * to a custom implementation without subclassing the entire launcher lifecycle.
43
+ *
44
+ * Responsibilities:
45
+ * - Harvest per-diagram-type constructor catalogs from the diagram modules ({@link harvest}).
46
+ * - Register one SDK tool/resource/prompt per metadata `name` against a per-MCP-session
47
+ * {@link GLSPMcpServer}, deduping across diagram types ({@link registerAll}).
48
+ * - Dispatch each registered SDK callback to the per-GLSP-session handler instance, resolved
49
+ * from the GLSP session container by the {@link McpDiagramScopedInput.sessionId} input.
50
+ */
51
+ export interface McpDiagramHandlerDispatcher {
52
+ /** Build the diagram-type catalog from registered diagram modules. Idempotent until {@link reset}. */
53
+ harvest(): void;
54
+ /** Drop the cached catalog so a subsequent {@link harvest} re-reads the diagram modules. */
55
+ reset(): void;
56
+ /** True when at least one diagram type has at least one tool handler bound. */
57
+ hasDiagramTools(): boolean;
58
+ /** True when at least one diagram type has at least one resource handler bound. */
59
+ hasDiagramResources(): boolean;
60
+ /** True when at least one diagram type has at least one prompt handler bound. */
61
+ hasDiagramPrompts(): boolean;
62
+ /** Register all diagram-scope tools/resources/prompts on the supplied per-MCP-session server. */
63
+ registerAll(glspMcpServer: GLSPMcpServer, resourcesAsResources: boolean): void;
64
+ }
65
+ export declare const McpDiagramHandlerDispatcher: unique symbol;
66
+ export declare class DefaultMcpDiagramHandlerDispatcher implements McpDiagramHandlerDispatcher {
67
+ protected serverContainer: Container;
68
+ protected diagramModules: Map<string, ContainerModule[]>;
69
+ protected clientSessionManager: ClientSessionManager;
70
+ protected logger: Logger;
71
+ protected diagramCatalogs: DiagramTypeCatalog[];
72
+ /**
73
+ * Build the per-diagram-type catalog by inspecting each diagram type's module set. We don't
74
+ * have a real GLSP session yet — and we don't want one, because we only need the bound
75
+ * constructor *lists*, not instances. So we spin up a throwaway child container per diagram
76
+ * type, load its modules plus a placeholder session module, and read out the multi-binding
77
+ * constants. No handler is instantiated; the temporary container is unbound immediately
78
+ * after.
79
+ *
80
+ * The placeholder session module is bound with the synthetic {@link TEMPORARY_CLIENT_ID} so
81
+ * any session-scoped `@inject(ClientId)` in module-load wiring resolves cleanly. Diagram
82
+ * modules must therefore treat `ClientId` as opaque at `configure()` time — the value they
83
+ * see at harvest is a placeholder, not the GLSP session that will later receive a call.
84
+ *
85
+ * Idempotent until {@link reset}.
86
+ */
87
+ harvest(): void;
88
+ /** True when at least one diagram type has at least one tool handler bound. */
89
+ hasDiagramTools(): boolean;
90
+ /** True when at least one diagram type has at least one resource handler bound. */
91
+ hasDiagramResources(): boolean;
92
+ /** True when at least one diagram type has at least one prompt handler bound. */
93
+ hasDiagramPrompts(): boolean;
94
+ /**
95
+ * Registers all diagram-scope tools/resources/prompts on the supplied per-MCP-session
96
+ * {@link GLSPMcpServer}. Resource registration shape depends on `dataMode`: `resources`
97
+ * registers them as URI-addressable resources; `tools` (default) registers each
98
+ * `toolAlternativeInputSchema`-bearing resource as a tool.
99
+ */
100
+ registerAll(glspMcpServer: GLSPMcpServer, resourcesAsResources: boolean): void;
101
+ protected registerDiagramScopeTools(glspMcpServer: GLSPMcpServer): void;
102
+ protected registerDiagramScopeResources(glspMcpServer: GLSPMcpServer, resourcesAsResources: boolean): void;
103
+ protected registerOneDiagramResource(glspMcpServer: GLSPMcpServer, probe: AbstractMcpDiagramResourceHandler<McpDiagramScopedInput>): void;
104
+ protected registerOneDiagramResourceAsTool(glspMcpServer: GLSPMcpServer, probe: AbstractMcpDiagramResourceHandler<McpDiagramScopedInput>): void;
105
+ protected registerDiagramScopePrompts(glspMcpServer: GLSPMcpServer): void;
106
+ /**
107
+ * Builds an SDK `ResourceTemplate` whose `list`/`complete` walk all open GLSP sessions and
108
+ * aggregate the per-session handler results. The cross-GLSP-session-pollution guard for
109
+ * `complete` (auto-empty for non-matching sessions) is applied at the handler base level
110
+ * via {@link AbstractMcpDiagramResourceHandler.glspSessionScopedComplete}.
111
+ */
112
+ protected buildAggregatingResourceTemplate(uriTemplate: string, name: string): ResourceTemplate;
113
+ protected aggregateList(name: string): Promise<ListResourcesResult>;
114
+ protected buildAggregatedCompleters(name: string): Record<string, CompleteResourceTemplateCallback>;
115
+ /** Probe each diagram type's resource constructor for `complete()` keys to wire SDK-side. */
116
+ protected collectCompleterVariableNames(name: string): Set<string>;
117
+ /** SDK-validated `params` against the registered Zod schema before this callback fires. */
118
+ protected dispatchDiagramTool(name: string, params: unknown): Promise<CallToolResult>;
119
+ /**
120
+ * Dispatch a read against a diagram-scope resource registered with a *static* (non-templated)
121
+ * URI. The URI carries no session id, so we pick the first open GLSP session as the source —
122
+ * adopters that need session-aware routing should register a templated URI instead.
123
+ */
124
+ protected dispatchStaticDiagramRead(name: string, uri: string): Promise<ReadResourceResult>;
125
+ protected dispatchTemplatedDiagramRead(name: string, uri: URL, params: Variables): Promise<ReadResourceResult>;
126
+ protected dispatchDiagramResourceAsTool(name: string, params: unknown): Promise<CallToolResult>;
127
+ protected dispatchDiagramPrompt(name: string, args: unknown): Promise<GetPromptResult>;
128
+ /** Reads `sessionId` from a JSON-shaped tool/resource/prompt input without committing to the full schema. */
129
+ protected extractSessionId(params: unknown): string | undefined;
130
+ /** Resolves the per-GLSP-session tool handler for `params.sessionId`, throwing on miss. */
131
+ protected requireDiagramToolHandler(name: string, params: unknown): BaseMcpDiagramToolHandler<McpDiagramScopedInput>;
132
+ /** Resolves the per-GLSP-session resource handler for `sessionId`, throwing on miss. */
133
+ protected requireDiagramResourceHandler(name: string, sessionId: string | undefined): AbstractMcpDiagramResourceHandler<McpDiagramScopedInput>;
134
+ /** Looks up the per-GLSP-session resource handler — returns `undefined` for an unknown id. */
135
+ protected findDiagramResourceHandler(name: string, sessionId: string): AbstractMcpDiagramResourceHandler<McpDiagramScopedInput> | undefined;
136
+ protected requireDiagramPromptHandler(name: string, args: unknown): AbstractMcpDiagramPromptHandler<McpDiagramScopedInput>;
137
+ protected requireGlspSession(sessionId: string | undefined): {
138
+ container: Container;
139
+ diagramType: string;
140
+ };
141
+ /** Disposes the catalog so a subsequent {@link harvest} call re-reads the diagram modules. */
142
+ reset(): void;
143
+ }
144
+ //# sourceMappingURL=mcp-diagram-handler-dispatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-diagram-handler-dispatcher.d.ts","sourceRoot":"","sources":["../../src/server/mcp-diagram-handler-dispatcher.ts"],"names":[],"mappings":"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"}