@eclipse-glsp/server-mcp 2.7.0-next.9 → 2.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 (461) hide show
  1. package/README.md +17 -3
  2. package/{lib/util/index.d.ts → browser.d.ts} +1 -3
  3. package/browser.js +18 -0
  4. package/common.d.ts +16 -0
  5. package/common.js +18 -0
  6. package/lib/{resources → browser}/index.d.ts +5 -4
  7. package/lib/browser/index.d.ts.map +1 -0
  8. package/lib/{index.js → browser/index.js} +20 -24
  9. package/lib/browser/index.js.map +1 -0
  10. package/lib/browser/modules/browser-mcp-server-module.d.ts +42 -0
  11. package/lib/browser/modules/browser-mcp-server-module.d.ts.map +1 -0
  12. package/lib/browser/modules/browser-mcp-server-module.js +50 -0
  13. package/lib/browser/modules/browser-mcp-server-module.js.map +1 -0
  14. package/lib/browser/reexport.d.ts +17 -0
  15. package/lib/browser/reexport.d.ts.map +1 -0
  16. package/lib/{util/index.js → browser/reexport.js} +17 -18
  17. package/lib/browser/reexport.js.map +1 -0
  18. package/lib/browser/server/browser-mcp-request-context.d.ts +27 -0
  19. package/lib/browser/server/browser-mcp-request-context.d.ts.map +1 -0
  20. package/lib/browser/server/browser-mcp-request-context.js +67 -0
  21. package/lib/browser/server/browser-mcp-request-context.js.map +1 -0
  22. package/lib/browser/server/mcp-worker-bridge.d.ts +81 -0
  23. package/lib/browser/server/mcp-worker-bridge.d.ts.map +1 -0
  24. package/lib/browser/server/mcp-worker-bridge.js +159 -0
  25. package/lib/browser/server/mcp-worker-bridge.js.map +1 -0
  26. package/lib/browser/server/web-mcp-server-launcher.d.ts +34 -0
  27. package/lib/browser/server/web-mcp-server-launcher.d.ts.map +1 -0
  28. package/lib/browser/server/web-mcp-server-launcher.js +50 -0
  29. package/lib/browser/server/web-mcp-server-launcher.js.map +1 -0
  30. package/lib/common/index.d.ts +65 -0
  31. package/lib/common/index.d.ts.map +1 -0
  32. package/lib/common/index.js +81 -0
  33. package/lib/common/index.js.map +1 -0
  34. package/lib/{server/mcp-server-module.d.ts → common/modules/abstract-mcp-server-module.d.ts} +55 -46
  35. package/lib/common/modules/abstract-mcp-server-module.d.ts.map +1 -0
  36. package/lib/{server/mcp-server-module.js → common/modules/abstract-mcp-server-module.js} +58 -79
  37. package/lib/common/modules/abstract-mcp-server-module.js.map +1 -0
  38. package/lib/{server → common/modules}/mcp-diagram-module.d.ts +5 -5
  39. package/lib/common/modules/mcp-diagram-module.d.ts.map +1 -0
  40. package/lib/{server → common/modules}/mcp-diagram-module.js +44 -28
  41. package/lib/common/modules/mcp-diagram-module.js.map +1 -0
  42. package/lib/{prompts → common/prompts}/handlers/describe-diagram-mcp-prompt-handler.d.ts +2 -1
  43. package/lib/common/prompts/handlers/describe-diagram-mcp-prompt-handler.d.ts.map +1 -0
  44. package/lib/{prompts → common/prompts}/handlers/describe-diagram-mcp-prompt-handler.js +21 -15
  45. package/lib/common/prompts/handlers/describe-diagram-mcp-prompt-handler.js.map +1 -0
  46. package/lib/{prompts → common/prompts}/handlers/suggest-improvements-mcp-prompt-handler.d.ts +2 -1
  47. package/lib/common/prompts/handlers/suggest-improvements-mcp-prompt-handler.d.ts.map +1 -0
  48. package/lib/{prompts → common/prompts}/handlers/suggest-improvements-mcp-prompt-handler.js +16 -12
  49. package/lib/common/prompts/handlers/suggest-improvements-mcp-prompt-handler.js.map +1 -0
  50. package/lib/{resources → common/resources}/handlers/diagram-png-mcp-resource-handler.d.ts +4 -1
  51. package/lib/common/resources/handlers/diagram-png-mcp-resource-handler.d.ts.map +1 -0
  52. package/lib/{resources → common/resources}/handlers/diagram-png-mcp-resource-handler.js +10 -7
  53. package/lib/common/resources/handlers/diagram-png-mcp-resource-handler.js.map +1 -0
  54. package/lib/{resources → common/resources}/handlers/diagram-svg-mcp-resource-handler.d.ts +4 -1
  55. package/lib/common/resources/handlers/diagram-svg-mcp-resource-handler.d.ts.map +1 -0
  56. package/lib/{resources → common/resources}/handlers/diagram-svg-mcp-resource-handler.js +9 -6
  57. package/lib/common/resources/handlers/diagram-svg-mcp-resource-handler.js.map +1 -0
  58. package/lib/common/resources/services/element-types-provider.d.ts.map +1 -0
  59. package/lib/common/resources/services/element-types-provider.js.map +1 -0
  60. package/lib/common/resources/services/mcp-model-serializer.d.ts.map +1 -0
  61. package/lib/{resources → common/resources}/services/mcp-model-serializer.js +2 -2
  62. package/lib/common/resources/services/mcp-model-serializer.js.map +1 -0
  63. package/lib/common/server/abstract-mcp-server-launcher.d.ts +168 -0
  64. package/lib/common/server/abstract-mcp-server-launcher.d.ts.map +1 -0
  65. package/lib/{server/mcp-server-launcher.js → common/server/abstract-mcp-server-launcher.js} +235 -121
  66. package/lib/common/server/abstract-mcp-server-launcher.js.map +1 -0
  67. package/lib/{server → common/server}/glsp-mcp-server.d.ts +1 -1
  68. package/lib/common/server/glsp-mcp-server.d.ts.map +1 -0
  69. package/lib/{server → common/server}/glsp-mcp-server.js +6 -1
  70. package/lib/common/server/glsp-mcp-server.js.map +1 -0
  71. package/lib/{server → common/server}/lru-event-store.d.ts +1 -1
  72. package/lib/common/server/lru-event-store.d.ts.map +1 -0
  73. package/lib/common/server/lru-event-store.js.map +1 -0
  74. package/lib/{server → common/server}/mcp-diagram-handler-dispatcher.d.ts +3 -1
  75. package/lib/common/server/mcp-diagram-handler-dispatcher.d.ts.map +1 -0
  76. package/lib/{server → common/server}/mcp-diagram-handler-dispatcher.js +12 -6
  77. package/lib/common/server/mcp-diagram-handler-dispatcher.js.map +1 -0
  78. package/lib/common/server/mcp-diagram-prompt-handler-registry.d.ts.map +1 -0
  79. package/lib/common/server/mcp-diagram-prompt-handler-registry.js.map +1 -0
  80. package/lib/common/server/mcp-diagram-resource-handler-registry.d.ts.map +1 -0
  81. package/lib/{server → common/server}/mcp-diagram-resource-handler-registry.js +4 -1
  82. package/lib/common/server/mcp-diagram-resource-handler-registry.js.map +1 -0
  83. package/lib/common/server/mcp-diagram-tool-handler-registry.d.ts.map +1 -0
  84. package/lib/{server → common/server}/mcp-diagram-tool-handler-registry.js +3 -1
  85. package/lib/common/server/mcp-diagram-tool-handler-registry.js.map +1 -0
  86. package/lib/common/server/mcp-handler-shared.d.ts.map +1 -0
  87. package/lib/common/server/mcp-handler-shared.js.map +1 -0
  88. package/lib/common/server/mcp-id-alias-service.d.ts.map +1 -0
  89. package/lib/common/server/mcp-id-alias-service.js.map +1 -0
  90. package/lib/{server → common/server}/mcp-input-schemas.d.ts +8 -0
  91. package/lib/common/server/mcp-input-schemas.d.ts.map +1 -0
  92. package/lib/{server → common/server}/mcp-input-schemas.js +13 -1
  93. package/lib/common/server/mcp-input-schemas.js.map +1 -0
  94. package/lib/common/server/mcp-label-provider.d.ts.map +1 -0
  95. package/lib/common/server/mcp-label-provider.js.map +1 -0
  96. package/lib/{server → common/server}/mcp-log-level-registry.d.ts +1 -1
  97. package/lib/common/server/mcp-log-level-registry.d.ts.map +1 -0
  98. package/lib/common/server/mcp-log-level-registry.js.map +1 -0
  99. package/lib/{server → common/server}/mcp-logger.d.ts +4 -2
  100. package/lib/common/server/mcp-logger.d.ts.map +1 -0
  101. package/lib/{server → common/server}/mcp-logger.js +11 -3
  102. package/lib/common/server/mcp-logger.js.map +1 -0
  103. package/lib/common/server/mcp-mime-types.d.ts.map +1 -0
  104. package/lib/common/server/mcp-mime-types.js.map +1 -0
  105. package/lib/{server → common/server}/mcp-options.d.ts +1 -1
  106. package/lib/common/server/mcp-options.d.ts.map +1 -0
  107. package/lib/{server → common/server}/mcp-options.js +1 -1
  108. package/lib/common/server/mcp-options.js.map +1 -0
  109. package/lib/{server → common/server}/mcp-progress-reporter.d.ts +4 -2
  110. package/lib/common/server/mcp-progress-reporter.d.ts.map +1 -0
  111. package/lib/{server → common/server}/mcp-progress-reporter.js +14 -3
  112. package/lib/common/server/mcp-progress-reporter.js.map +1 -0
  113. package/lib/{server → common/server}/mcp-prompt-handler.d.ts +3 -1
  114. package/lib/common/server/mcp-prompt-handler.d.ts.map +1 -0
  115. package/lib/{server → common/server}/mcp-prompt-handler.js +10 -2
  116. package/lib/common/server/mcp-prompt-handler.js.map +1 -0
  117. package/lib/common/server/mcp-request-context.d.ts +35 -0
  118. package/lib/common/server/mcp-request-context.d.ts.map +1 -0
  119. package/lib/common/server/mcp-request-context.js +30 -0
  120. package/lib/common/server/mcp-request-context.js.map +1 -0
  121. package/lib/{server → common/server}/mcp-resource-handler.d.ts +3 -1
  122. package/lib/common/server/mcp-resource-handler.d.ts.map +1 -0
  123. package/lib/{server → common/server}/mcp-resource-handler.js +13 -5
  124. package/lib/common/server/mcp-resource-handler.js.map +1 -0
  125. package/lib/common/server/mcp-session.d.ts.map +1 -0
  126. package/lib/common/server/mcp-session.js.map +1 -0
  127. package/lib/{server → common/server}/mcp-tool-handler.d.ts +3 -1
  128. package/lib/common/server/mcp-tool-handler.d.ts.map +1 -0
  129. package/lib/{server → common/server}/mcp-tool-handler.js +7 -1
  130. package/lib/{server → common/server}/mcp-tool-handler.js.map +1 -1
  131. package/lib/{tools → common/tools}/handlers/count-elements-mcp-tool-handler.d.ts +2 -1
  132. package/lib/common/tools/handlers/count-elements-mcp-tool-handler.d.ts.map +1 -0
  133. package/lib/{tools → common/tools}/handlers/count-elements-mcp-tool-handler.js +4 -3
  134. package/lib/common/tools/handlers/count-elements-mcp-tool-handler.js.map +1 -0
  135. package/lib/{tools → common/tools}/handlers/create-edges-mcp-tool-handler.d.ts +4 -1
  136. package/lib/common/tools/handlers/create-edges-mcp-tool-handler.d.ts.map +1 -0
  137. package/lib/{tools → common/tools}/handlers/create-edges-mcp-tool-handler.js +9 -7
  138. package/lib/common/tools/handlers/create-edges-mcp-tool-handler.js.map +1 -0
  139. package/lib/{tools → common/tools}/handlers/create-nodes-mcp-tool-handler.d.ts +4 -1
  140. package/lib/common/tools/handlers/create-nodes-mcp-tool-handler.d.ts.map +1 -0
  141. package/lib/{tools → common/tools}/handlers/create-nodes-mcp-tool-handler.js +10 -8
  142. package/lib/common/tools/handlers/create-nodes-mcp-tool-handler.js.map +1 -0
  143. package/lib/{tools → common/tools}/handlers/delete-elements-mcp-tool-handler.d.ts +4 -1
  144. package/lib/common/tools/handlers/delete-elements-mcp-tool-handler.d.ts.map +1 -0
  145. package/lib/{tools → common/tools}/handlers/delete-elements-mcp-tool-handler.js +9 -6
  146. package/lib/common/tools/handlers/delete-elements-mcp-tool-handler.js.map +1 -0
  147. package/lib/{tools → common/tools}/handlers/diagram-model-mcp-tool-handler.d.ts +2 -1
  148. package/lib/common/tools/handlers/diagram-model-mcp-tool-handler.d.ts.map +1 -0
  149. package/lib/{tools → common/tools}/handlers/diagram-model-mcp-tool-handler.js +4 -3
  150. package/lib/common/tools/handlers/diagram-model-mcp-tool-handler.js.map +1 -0
  151. package/lib/{tools → common/tools}/handlers/element-types-mcp-tool-handler.d.ts +2 -1
  152. package/lib/common/tools/handlers/element-types-mcp-tool-handler.d.ts.map +1 -0
  153. package/lib/{tools → common/tools}/handlers/element-types-mcp-tool-handler.js +6 -5
  154. package/lib/common/tools/handlers/element-types-mcp-tool-handler.js.map +1 -0
  155. package/lib/{tools → common/tools}/handlers/get-selection-mcp-tool-handler.d.ts +2 -1
  156. package/lib/common/tools/handlers/get-selection-mcp-tool-handler.d.ts.map +1 -0
  157. package/lib/{tools → common/tools}/handlers/get-selection-mcp-tool-handler.js +6 -4
  158. package/lib/common/tools/handlers/get-selection-mcp-tool-handler.js.map +1 -0
  159. package/lib/{tools → common/tools}/handlers/layout-mcp-tool-handler.d.ts +4 -1
  160. package/lib/common/tools/handlers/layout-mcp-tool-handler.d.ts.map +1 -0
  161. package/lib/{tools → common/tools}/handlers/layout-mcp-tool-handler.js +7 -5
  162. package/lib/common/tools/handlers/layout-mcp-tool-handler.js.map +1 -0
  163. package/lib/{tools → common/tools}/handlers/modify-edges-mcp-tool-handler.d.ts +2 -1
  164. package/lib/common/tools/handlers/modify-edges-mcp-tool-handler.d.ts.map +1 -0
  165. package/lib/{tools → common/tools}/handlers/modify-edges-mcp-tool-handler.js +12 -10
  166. package/lib/common/tools/handlers/modify-edges-mcp-tool-handler.js.map +1 -0
  167. package/lib/{tools → common/tools}/handlers/modify-nodes-mcp-tool-handler.d.ts +2 -1
  168. package/lib/common/tools/handlers/modify-nodes-mcp-tool-handler.d.ts.map +1 -0
  169. package/lib/{tools → common/tools}/handlers/modify-nodes-mcp-tool-handler.js +13 -11
  170. package/lib/common/tools/handlers/modify-nodes-mcp-tool-handler.js.map +1 -0
  171. package/lib/{tools → common/tools}/handlers/query-elements-mcp-tool-handler.d.ts +2 -1
  172. package/lib/common/tools/handlers/query-elements-mcp-tool-handler.d.ts.map +1 -0
  173. package/lib/{tools → common/tools}/handlers/query-elements-mcp-tool-handler.js +7 -5
  174. package/lib/common/tools/handlers/query-elements-mcp-tool-handler.js.map +1 -0
  175. package/lib/{tools → common/tools}/handlers/redo-mcp-tool-handler.d.ts +2 -1
  176. package/lib/common/tools/handlers/redo-mcp-tool-handler.d.ts.map +1 -0
  177. package/lib/{tools → common/tools}/handlers/redo-mcp-tool-handler.js +6 -4
  178. package/lib/common/tools/handlers/redo-mcp-tool-handler.js.map +1 -0
  179. package/lib/{tools → common/tools}/handlers/save-model-mcp-tool-handler.d.ts +3 -1
  180. package/lib/common/tools/handlers/save-model-mcp-tool-handler.d.ts.map +1 -0
  181. package/lib/{tools → common/tools}/handlers/save-model-mcp-tool-handler.js +7 -5
  182. package/lib/common/tools/handlers/save-model-mcp-tool-handler.js.map +1 -0
  183. package/lib/{tools → common/tools}/handlers/session-info-mcp-tool-handler.d.ts +2 -1
  184. package/lib/common/tools/handlers/session-info-mcp-tool-handler.d.ts.map +1 -0
  185. package/lib/{tools → common/tools}/handlers/session-info-mcp-tool-handler.js +4 -3
  186. package/lib/common/tools/handlers/session-info-mcp-tool-handler.js.map +1 -0
  187. package/lib/{tools → common/tools}/handlers/set-selection-mcp-tool-handler.d.ts +2 -1
  188. package/lib/common/tools/handlers/set-selection-mcp-tool-handler.d.ts.map +1 -0
  189. package/lib/{tools → common/tools}/handlers/set-selection-mcp-tool-handler.js +6 -5
  190. package/lib/common/tools/handlers/set-selection-mcp-tool-handler.js.map +1 -0
  191. package/lib/{tools → common/tools}/handlers/set-view-mcp-tool-handler.d.ts +2 -1
  192. package/lib/common/tools/handlers/set-view-mcp-tool-handler.d.ts.map +1 -0
  193. package/lib/{tools → common/tools}/handlers/set-view-mcp-tool-handler.js +10 -8
  194. package/lib/common/tools/handlers/set-view-mcp-tool-handler.js.map +1 -0
  195. package/lib/{tools → common/tools}/handlers/undo-mcp-tool-handler.d.ts +2 -1
  196. package/lib/common/tools/handlers/undo-mcp-tool-handler.d.ts.map +1 -0
  197. package/lib/{tools → common/tools}/handlers/undo-mcp-tool-handler.js +6 -4
  198. package/lib/common/tools/handlers/undo-mcp-tool-handler.js.map +1 -0
  199. package/lib/{tools → common/tools}/handlers/validate-diagram-mcp-tool-handler.d.ts +2 -1
  200. package/lib/common/tools/handlers/validate-diagram-mcp-tool-handler.d.ts.map +1 -0
  201. package/lib/{tools → common/tools}/handlers/validate-diagram-mcp-tool-handler.js +0 -0
  202. package/lib/common/tools/handlers/validate-diagram-mcp-tool-handler.js.map +1 -0
  203. package/lib/common/util/markdown-util.d.ts.map +1 -0
  204. package/lib/common/util/markdown-util.js.map +1 -0
  205. package/lib/common/util/mcp-util.d.ts.map +1 -0
  206. package/lib/common/util/mcp-util.js.map +1 -0
  207. package/lib/{prompts → node}/index.d.ts +4 -2
  208. package/lib/node/index.d.ts.map +1 -0
  209. package/lib/{resources → node}/index.js +4 -4
  210. package/lib/node/index.js.map +1 -0
  211. package/lib/node/modules/node-mcp-server-module.d.ts +37 -0
  212. package/lib/node/modules/node-mcp-server-module.d.ts.map +1 -0
  213. package/lib/node/modules/node-mcp-server-module.js +52 -0
  214. package/lib/node/modules/node-mcp-server-module.js.map +1 -0
  215. package/lib/node/reexport.d.ts +17 -0
  216. package/lib/node/reexport.d.ts.map +1 -0
  217. package/lib/{prompts/index.js → node/reexport.js} +17 -18
  218. package/lib/node/reexport.js.map +1 -0
  219. package/lib/node/server/node-mcp-request-context.d.ts +24 -0
  220. package/lib/node/server/node-mcp-request-context.d.ts.map +1 -0
  221. package/lib/node/server/node-mcp-request-context.js +43 -0
  222. package/lib/node/server/node-mcp-request-context.js.map +1 -0
  223. package/lib/node/server/node-mcp-server-launcher.d.ts +55 -0
  224. package/lib/node/server/node-mcp-server-launcher.d.ts.map +1 -0
  225. package/lib/node/server/node-mcp-server-launcher.js +123 -0
  226. package/lib/node/server/node-mcp-server-launcher.js.map +1 -0
  227. package/node.d.ts +16 -0
  228. package/{src/util/index.ts → node.js} +2 -2
  229. package/package.json +19 -13
  230. package/src/{resources → browser}/index.ts +5 -4
  231. package/src/browser/modules/browser-mcp-server-module.ts +54 -0
  232. package/src/browser/reexport.ts +16 -0
  233. package/src/browser/server/browser-mcp-request-context.ts +59 -0
  234. package/src/browser/server/mcp-worker-bridge.ts +200 -0
  235. package/src/browser/server/web-mcp-server-launcher.ts +39 -0
  236. package/src/common/index.ts +65 -0
  237. package/src/{server/mcp-server-module.ts → common/modules/abstract-mcp-server-module.ts} +65 -77
  238. package/src/{server → common/modules}/mcp-diagram-module.ts +27 -28
  239. package/src/{prompts → common/prompts}/handlers/describe-diagram-mcp-prompt-handler.ts +8 -9
  240. package/src/{prompts → common/prompts}/handlers/suggest-improvements-mcp-prompt-handler.ts +6 -7
  241. package/src/{resources → common/resources}/handlers/diagram-png-mcp-resource-handler.ts +5 -9
  242. package/src/{resources → common/resources}/handlers/diagram-svg-mcp-resource-handler.ts +5 -9
  243. package/src/{resources → common/resources}/services/mcp-model-serializer.ts +1 -1
  244. package/src/common/server/abstract-mcp-server-launcher.spec.ts +458 -0
  245. package/src/common/server/abstract-mcp-server-launcher.ts +524 -0
  246. package/src/{server → common/server}/glsp-mcp-server.ts +7 -2
  247. package/src/{server → common/server}/lru-event-store.ts +1 -1
  248. package/src/{server → common/server}/mcp-diagram-handler-dispatcher.ts +13 -9
  249. package/src/{server → common/server}/mcp-diagram-resource-handler-registry.ts +4 -1
  250. package/src/{server → common/server}/mcp-diagram-tool-handler-registry.ts +3 -1
  251. package/src/{server → common/server}/mcp-input-schemas.ts +13 -0
  252. package/src/{server → common/server}/mcp-log-level-registry.ts +1 -1
  253. package/src/{server → common/server}/mcp-logger.spec.ts +26 -18
  254. package/src/{server → common/server}/mcp-logger.ts +9 -5
  255. package/src/{server → common/server}/mcp-options.ts +1 -1
  256. package/src/{server → common/server}/mcp-progress-reporter.spec.ts +19 -9
  257. package/src/{server → common/server}/mcp-progress-reporter.ts +9 -5
  258. package/src/{server → common/server}/mcp-prompt-handler.ts +8 -4
  259. package/src/{server → common/server}/mcp-request-context.ts +20 -16
  260. package/src/{server → common/server}/mcp-resource-handler.ts +11 -7
  261. package/src/{server → common/server}/mcp-tool-handler.spec.ts +4 -4
  262. package/src/{server → common/server}/mcp-tool-handler.ts +8 -4
  263. package/src/{tools → common/tools}/handlers/count-elements-mcp-tool-handler.spec.ts +3 -1
  264. package/src/{tools → common/tools}/handlers/count-elements-mcp-tool-handler.ts +3 -1
  265. package/src/{tools → common/tools}/handlers/create-edges-mcp-tool-handler.spec.ts +3 -1
  266. package/src/{tools → common/tools}/handlers/create-edges-mcp-tool-handler.ts +7 -5
  267. package/src/{tools → common/tools}/handlers/create-nodes-mcp-tool-handler.spec.ts +3 -1
  268. package/src/{tools → common/tools}/handlers/create-nodes-mcp-tool-handler.ts +7 -5
  269. package/src/{tools → common/tools}/handlers/delete-elements-mcp-tool-handler.ts +7 -9
  270. package/src/{tools → common/tools}/handlers/diagram-model-mcp-tool-handler.ts +3 -1
  271. package/src/{tools → common/tools}/handlers/element-types-mcp-tool-handler.ts +2 -1
  272. package/src/{tools → common/tools}/handlers/get-selection-mcp-tool-handler.ts +3 -1
  273. package/src/{tools → common/tools}/handlers/layout-mcp-tool-handler.ts +6 -3
  274. package/src/{tools → common/tools}/handlers/modify-edges-mcp-tool-handler.ts +6 -6
  275. package/src/{tools → common/tools}/handlers/modify-nodes-mcp-tool-handler.ts +6 -6
  276. package/src/{tools → common/tools}/handlers/query-elements-mcp-tool-handler.spec.ts +3 -1
  277. package/src/{tools → common/tools}/handlers/query-elements-mcp-tool-handler.ts +3 -7
  278. package/src/{tools → common/tools}/handlers/redo-mcp-tool-handler.ts +3 -1
  279. package/src/{tools → common/tools}/handlers/save-model-mcp-tool-handler.ts +4 -1
  280. package/src/{tools → common/tools}/handlers/session-info-mcp-tool-handler.spec.ts +1 -1
  281. package/src/{tools → common/tools}/handlers/session-info-mcp-tool-handler.ts +2 -1
  282. package/src/{tools → common/tools}/handlers/set-selection-mcp-tool-handler.spec.ts +3 -1
  283. package/src/{tools → common/tools}/handlers/set-selection-mcp-tool-handler.ts +3 -1
  284. package/src/{tools → common/tools}/handlers/set-view-mcp-tool-handler.ts +3 -9
  285. package/src/{tools → common/tools}/handlers/undo-mcp-tool-handler.ts +3 -1
  286. package/src/{tools → common/tools}/handlers/validate-diagram-mcp-tool-handler.ts +0 -0
  287. package/src/{prompts → node}/index.ts +4 -2
  288. package/src/node/modules/node-mcp-server-module.ts +56 -0
  289. package/src/node/reexport.ts +16 -0
  290. package/src/node/server/mcp-http-transport-e2e.spec.ts +297 -0
  291. package/src/node/server/node-mcp-request-context.ts +33 -0
  292. package/src/{server/mcp-server-launcher.spec.ts → node/server/node-mcp-server-launcher.spec.ts} +19 -8
  293. package/src/node/server/node-mcp-server-launcher.ts +130 -0
  294. package/lib/index.d.ts +0 -23
  295. package/lib/index.d.ts.map +0 -1
  296. package/lib/index.js.map +0 -1
  297. package/lib/prompts/handlers/describe-diagram-mcp-prompt-handler.d.ts.map +0 -1
  298. package/lib/prompts/handlers/describe-diagram-mcp-prompt-handler.js.map +0 -1
  299. package/lib/prompts/handlers/suggest-improvements-mcp-prompt-handler.d.ts.map +0 -1
  300. package/lib/prompts/handlers/suggest-improvements-mcp-prompt-handler.js.map +0 -1
  301. package/lib/prompts/index.d.ts.map +0 -1
  302. package/lib/prompts/index.js.map +0 -1
  303. package/lib/resources/handlers/diagram-png-mcp-resource-handler.d.ts.map +0 -1
  304. package/lib/resources/handlers/diagram-png-mcp-resource-handler.js.map +0 -1
  305. package/lib/resources/handlers/diagram-svg-mcp-resource-handler.d.ts.map +0 -1
  306. package/lib/resources/handlers/diagram-svg-mcp-resource-handler.js.map +0 -1
  307. package/lib/resources/index.d.ts.map +0 -1
  308. package/lib/resources/index.js.map +0 -1
  309. package/lib/resources/services/element-types-provider.d.ts.map +0 -1
  310. package/lib/resources/services/element-types-provider.js.map +0 -1
  311. package/lib/resources/services/mcp-model-serializer.d.ts.map +0 -1
  312. package/lib/resources/services/mcp-model-serializer.js.map +0 -1
  313. package/lib/server/glsp-mcp-server.d.ts.map +0 -1
  314. package/lib/server/glsp-mcp-server.js.map +0 -1
  315. package/lib/server/index.d.ts +0 -37
  316. package/lib/server/index.d.ts.map +0 -1
  317. package/lib/server/index.js +0 -57
  318. package/lib/server/index.js.map +0 -1
  319. package/lib/server/lru-event-store.d.ts.map +0 -1
  320. package/lib/server/lru-event-store.js.map +0 -1
  321. package/lib/server/mcp-diagram-handler-dispatcher.d.ts.map +0 -1
  322. package/lib/server/mcp-diagram-handler-dispatcher.js.map +0 -1
  323. package/lib/server/mcp-diagram-module.d.ts.map +0 -1
  324. package/lib/server/mcp-diagram-module.js.map +0 -1
  325. package/lib/server/mcp-diagram-prompt-handler-registry.d.ts.map +0 -1
  326. package/lib/server/mcp-diagram-prompt-handler-registry.js.map +0 -1
  327. package/lib/server/mcp-diagram-resource-handler-registry.d.ts.map +0 -1
  328. package/lib/server/mcp-diagram-resource-handler-registry.js.map +0 -1
  329. package/lib/server/mcp-diagram-tool-handler-registry.d.ts.map +0 -1
  330. package/lib/server/mcp-diagram-tool-handler-registry.js.map +0 -1
  331. package/lib/server/mcp-handler-shared.d.ts.map +0 -1
  332. package/lib/server/mcp-handler-shared.js.map +0 -1
  333. package/lib/server/mcp-http-transport.d.ts +0 -93
  334. package/lib/server/mcp-http-transport.d.ts.map +0 -1
  335. package/lib/server/mcp-http-transport.js +0 -350
  336. package/lib/server/mcp-http-transport.js.map +0 -1
  337. package/lib/server/mcp-id-alias-service.d.ts.map +0 -1
  338. package/lib/server/mcp-id-alias-service.js.map +0 -1
  339. package/lib/server/mcp-input-schemas.d.ts.map +0 -1
  340. package/lib/server/mcp-input-schemas.js.map +0 -1
  341. package/lib/server/mcp-label-provider.d.ts.map +0 -1
  342. package/lib/server/mcp-label-provider.js.map +0 -1
  343. package/lib/server/mcp-log-level-registry.d.ts.map +0 -1
  344. package/lib/server/mcp-log-level-registry.js.map +0 -1
  345. package/lib/server/mcp-logger.d.ts.map +0 -1
  346. package/lib/server/mcp-logger.js.map +0 -1
  347. package/lib/server/mcp-mime-types.d.ts.map +0 -1
  348. package/lib/server/mcp-mime-types.js.map +0 -1
  349. package/lib/server/mcp-options.d.ts.map +0 -1
  350. package/lib/server/mcp-options.js.map +0 -1
  351. package/lib/server/mcp-progress-reporter.d.ts.map +0 -1
  352. package/lib/server/mcp-progress-reporter.js.map +0 -1
  353. package/lib/server/mcp-prompt-handler.d.ts.map +0 -1
  354. package/lib/server/mcp-prompt-handler.js.map +0 -1
  355. package/lib/server/mcp-request-context.d.ts +0 -37
  356. package/lib/server/mcp-request-context.d.ts.map +0 -1
  357. package/lib/server/mcp-request-context.js +0 -37
  358. package/lib/server/mcp-request-context.js.map +0 -1
  359. package/lib/server/mcp-resource-handler.d.ts.map +0 -1
  360. package/lib/server/mcp-resource-handler.js.map +0 -1
  361. package/lib/server/mcp-server-launcher.d.ts +0 -143
  362. package/lib/server/mcp-server-launcher.d.ts.map +0 -1
  363. package/lib/server/mcp-server-launcher.js.map +0 -1
  364. package/lib/server/mcp-server-module.d.ts.map +0 -1
  365. package/lib/server/mcp-server-module.js.map +0 -1
  366. package/lib/server/mcp-session.d.ts.map +0 -1
  367. package/lib/server/mcp-session.js.map +0 -1
  368. package/lib/server/mcp-tool-handler.d.ts.map +0 -1
  369. package/lib/tools/handlers/count-elements-mcp-tool-handler.d.ts.map +0 -1
  370. package/lib/tools/handlers/count-elements-mcp-tool-handler.js.map +0 -1
  371. package/lib/tools/handlers/create-edges-mcp-tool-handler.d.ts.map +0 -1
  372. package/lib/tools/handlers/create-edges-mcp-tool-handler.js.map +0 -1
  373. package/lib/tools/handlers/create-nodes-mcp-tool-handler.d.ts.map +0 -1
  374. package/lib/tools/handlers/create-nodes-mcp-tool-handler.js.map +0 -1
  375. package/lib/tools/handlers/delete-elements-mcp-tool-handler.d.ts.map +0 -1
  376. package/lib/tools/handlers/delete-elements-mcp-tool-handler.js.map +0 -1
  377. package/lib/tools/handlers/diagram-model-mcp-tool-handler.d.ts.map +0 -1
  378. package/lib/tools/handlers/diagram-model-mcp-tool-handler.js.map +0 -1
  379. package/lib/tools/handlers/element-types-mcp-tool-handler.d.ts.map +0 -1
  380. package/lib/tools/handlers/element-types-mcp-tool-handler.js.map +0 -1
  381. package/lib/tools/handlers/get-selection-mcp-tool-handler.d.ts.map +0 -1
  382. package/lib/tools/handlers/get-selection-mcp-tool-handler.js.map +0 -1
  383. package/lib/tools/handlers/layout-mcp-tool-handler.d.ts.map +0 -1
  384. package/lib/tools/handlers/layout-mcp-tool-handler.js.map +0 -1
  385. package/lib/tools/handlers/modify-edges-mcp-tool-handler.d.ts.map +0 -1
  386. package/lib/tools/handlers/modify-edges-mcp-tool-handler.js.map +0 -1
  387. package/lib/tools/handlers/modify-nodes-mcp-tool-handler.d.ts.map +0 -1
  388. package/lib/tools/handlers/modify-nodes-mcp-tool-handler.js.map +0 -1
  389. package/lib/tools/handlers/query-elements-mcp-tool-handler.d.ts.map +0 -1
  390. package/lib/tools/handlers/query-elements-mcp-tool-handler.js.map +0 -1
  391. package/lib/tools/handlers/redo-mcp-tool-handler.d.ts.map +0 -1
  392. package/lib/tools/handlers/redo-mcp-tool-handler.js.map +0 -1
  393. package/lib/tools/handlers/save-model-mcp-tool-handler.d.ts.map +0 -1
  394. package/lib/tools/handlers/save-model-mcp-tool-handler.js.map +0 -1
  395. package/lib/tools/handlers/session-info-mcp-tool-handler.d.ts.map +0 -1
  396. package/lib/tools/handlers/session-info-mcp-tool-handler.js.map +0 -1
  397. package/lib/tools/handlers/set-selection-mcp-tool-handler.d.ts.map +0 -1
  398. package/lib/tools/handlers/set-selection-mcp-tool-handler.js.map +0 -1
  399. package/lib/tools/handlers/set-view-mcp-tool-handler.d.ts.map +0 -1
  400. package/lib/tools/handlers/set-view-mcp-tool-handler.js.map +0 -1
  401. package/lib/tools/handlers/undo-mcp-tool-handler.d.ts.map +0 -1
  402. package/lib/tools/handlers/undo-mcp-tool-handler.js.map +0 -1
  403. package/lib/tools/handlers/validate-diagram-mcp-tool-handler.d.ts.map +0 -1
  404. package/lib/tools/handlers/validate-diagram-mcp-tool-handler.js.map +0 -1
  405. package/lib/tools/index.d.ts +0 -34
  406. package/lib/tools/index.d.ts.map +0 -1
  407. package/lib/tools/index.js +0 -50
  408. package/lib/tools/index.js.map +0 -1
  409. package/lib/util/index.d.ts.map +0 -1
  410. package/lib/util/index.js.map +0 -1
  411. package/lib/util/markdown-util.d.ts.map +0 -1
  412. package/lib/util/markdown-util.js.map +0 -1
  413. package/lib/util/mcp-util.d.ts.map +0 -1
  414. package/lib/util/mcp-util.js.map +0 -1
  415. package/src/index.ts +0 -24
  416. package/src/server/index.ts +0 -42
  417. package/src/server/mcp-http-transport-e2e.spec.ts +0 -151
  418. package/src/server/mcp-http-transport.spec.ts +0 -385
  419. package/src/server/mcp-http-transport.ts +0 -368
  420. package/src/server/mcp-server-launcher.ts +0 -369
  421. package/src/tools/index.ts +0 -34
  422. /package/lib/{resources → common/resources}/services/element-types-provider.d.ts +0 -0
  423. /package/lib/{resources → common/resources}/services/element-types-provider.js +0 -0
  424. /package/lib/{resources → common/resources}/services/mcp-model-serializer.d.ts +0 -0
  425. /package/lib/{server → common/server}/lru-event-store.js +0 -0
  426. /package/lib/{server → common/server}/mcp-diagram-prompt-handler-registry.d.ts +0 -0
  427. /package/lib/{server → common/server}/mcp-diagram-prompt-handler-registry.js +0 -0
  428. /package/lib/{server → common/server}/mcp-diagram-resource-handler-registry.d.ts +0 -0
  429. /package/lib/{server → common/server}/mcp-diagram-tool-handler-registry.d.ts +0 -0
  430. /package/lib/{server → common/server}/mcp-handler-shared.d.ts +0 -0
  431. /package/lib/{server → common/server}/mcp-handler-shared.js +0 -0
  432. /package/lib/{server → common/server}/mcp-id-alias-service.d.ts +0 -0
  433. /package/lib/{server → common/server}/mcp-id-alias-service.js +0 -0
  434. /package/lib/{server → common/server}/mcp-label-provider.d.ts +0 -0
  435. /package/lib/{server → common/server}/mcp-label-provider.js +0 -0
  436. /package/lib/{server → common/server}/mcp-log-level-registry.js +0 -0
  437. /package/lib/{server → common/server}/mcp-mime-types.d.ts +0 -0
  438. /package/lib/{server → common/server}/mcp-mime-types.js +0 -0
  439. /package/lib/{server → common/server}/mcp-session.d.ts +0 -0
  440. /package/lib/{server → common/server}/mcp-session.js +0 -0
  441. /package/lib/{util → common/util}/markdown-util.d.ts +0 -0
  442. /package/lib/{util → common/util}/markdown-util.js +0 -0
  443. /package/lib/{util → common/util}/mcp-util.d.ts +0 -0
  444. /package/lib/{util → common/util}/mcp-util.js +0 -0
  445. /package/src/{resources → common/resources}/services/element-types-provider.ts +0 -0
  446. /package/src/{server → common/server}/glsp-mcp-server.spec.ts +0 -0
  447. /package/src/{server → common/server}/lru-event-store.spec.ts +0 -0
  448. /package/src/{server → common/server}/mcp-diagram-handler-dispatcher.spec.ts +0 -0
  449. /package/src/{server → common/server}/mcp-diagram-prompt-handler-registry.ts +0 -0
  450. /package/src/{server → common/server}/mcp-handler-shared.spec.ts +0 -0
  451. /package/src/{server → common/server}/mcp-handler-shared.ts +0 -0
  452. /package/src/{server → common/server}/mcp-id-alias-service.spec.ts +0 -0
  453. /package/src/{server → common/server}/mcp-id-alias-service.ts +0 -0
  454. /package/src/{server → common/server}/mcp-label-provider.ts +0 -0
  455. /package/src/{server → common/server}/mcp-log-level-registry.spec.ts +0 -0
  456. /package/src/{server → common/server}/mcp-mime-types.ts +0 -0
  457. /package/src/{server → common/server}/mcp-session.ts +0 -0
  458. /package/src/{tools → common/tools}/tool-annotations.spec.ts +0 -0
  459. /package/src/{util → common/util}/markdown-util.ts +0 -0
  460. /package/src/{util → common/util}/mcp-util.ts +0 -0
  461. /package/src/{server → node/server}/raw-http.spec.ts +0 -0
@@ -15,25 +15,27 @@
15
15
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
16
16
  ********************************************************************************/
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.DefaultMcpServerModule = exports.AbstractMcpServerModule = exports.McpHandlerMultiBinding = void 0;
18
+ exports.AbstractMcpServerModule = exports.McpHandlerMultiBinding = exports.DEFAULT_MCP_OPTIONS = exports.DEFAULT_AGENT_PERSONA = void 0;
19
19
  const server_1 = require("@eclipse-glsp/server");
20
- const prompts_1 = require("../prompts");
21
- const tools_1 = require("../tools");
22
- const glsp_mcp_server_1 = require("./glsp-mcp-server");
23
- const mcp_diagram_handler_dispatcher_1 = require("./mcp-diagram-handler-dispatcher");
24
- const mcp_log_level_registry_1 = require("./mcp-log-level-registry");
25
- const lru_event_store_1 = require("./lru-event-store");
26
- const mcp_http_transport_1 = require("./mcp-http-transport");
27
- const mcp_logger_1 = require("./mcp-logger");
28
- const mcp_options_1 = require("./mcp-options");
29
- const mcp_progress_reporter_1 = require("./mcp-progress-reporter");
30
- const mcp_prompt_handler_1 = require("./mcp-prompt-handler");
31
- const mcp_resource_handler_1 = require("./mcp-resource-handler");
32
- const mcp_server_launcher_1 = require("./mcp-server-launcher");
33
- const mcp_tool_handler_1 = require("./mcp-tool-handler");
20
+ const describe_diagram_mcp_prompt_handler_1 = require("../prompts/handlers/describe-diagram-mcp-prompt-handler");
21
+ const suggest_improvements_mcp_prompt_handler_1 = require("../prompts/handlers/suggest-improvements-mcp-prompt-handler");
22
+ const abstract_mcp_server_launcher_1 = require("../server/abstract-mcp-server-launcher");
23
+ const glsp_mcp_server_1 = require("../server/glsp-mcp-server");
24
+ const lru_event_store_1 = require("../server/lru-event-store");
25
+ const mcp_diagram_handler_dispatcher_1 = require("../server/mcp-diagram-handler-dispatcher");
26
+ const mcp_log_level_registry_1 = require("../server/mcp-log-level-registry");
27
+ const mcp_logger_1 = require("../server/mcp-logger");
28
+ const mcp_options_1 = require("../server/mcp-options");
29
+ const mcp_progress_reporter_1 = require("../server/mcp-progress-reporter");
30
+ const mcp_prompt_handler_1 = require("../server/mcp-prompt-handler");
31
+ const mcp_request_context_1 = require("../server/mcp-request-context");
32
+ const mcp_resource_handler_1 = require("../server/mcp-resource-handler");
33
+ const mcp_tool_handler_1 = require("../server/mcp-tool-handler");
34
+ const element_types_mcp_tool_handler_1 = require("../tools/handlers/element-types-mcp-tool-handler");
35
+ const session_info_mcp_tool_handler_1 = require("../tools/handlers/session-info-mcp-tool-handler");
34
36
  /**
35
37
  * GLSP-generic default agent persona — adopters typically pass a product-specific persona to
36
- * the {@link DefaultMcpServerModule} constructor (e.g. workflow-server might say "You are the
38
+ * the concrete server module's constructor (e.g. workflow-server might say "You are the
37
39
  * Workflow Modeling Agent...").
38
40
  *
39
41
  * **Spec note.** This is wired to the MCP `instructions` field, which the spec describes as
@@ -42,7 +44,7 @@ const mcp_tool_handler_1 = require("./mcp-tool-handler");
42
44
  * via `mcpDefaults.agentPersona`. Don't trim on autopilot if a "concise" interpretation drifts
43
45
  * back: the verbose form materially improves LLM tool-use compliance for graphical modelling.
44
46
  */
45
- const DEFAULT_AGENT_PERSONA = `
47
+ exports.DEFAULT_AGENT_PERSONA = `
46
48
  You are the GLSP Modeling Agent. Your primary goal is to assist in the creation and modification of graphical models using the
47
49
  GLSP MCP server. You have to adhere to the following principles:
48
50
  - MCP-Interaction: Any modeling related activity has to occur using the MCP server.
@@ -59,6 +61,16 @@ GLSP MCP server. You have to adhere to the following principles:
59
61
  so the user can correlate it with follow-up tools. Use the \`set-selection\` tool — or the \`set-view\` tool with
60
62
  \`action: "center-on-elements"\` — to point the user at the elements you reference.
61
63
  `;
64
+ /**
65
+ * Target-neutral default option values shared by every {@link AbstractMcpServerModule} subclass.
66
+ * Node and Browser concrete modules spread this and add their own target-specific fields
67
+ * (e.g. `host`/`allowedHosts` on Node).
68
+ */
69
+ exports.DEFAULT_MCP_OPTIONS = {
70
+ dataMode: 'tools',
71
+ agentPersona: exports.DEFAULT_AGENT_PERSONA,
72
+ eventStoreLimit: lru_event_store_1.LruEventStore.DEFAULT_LIMIT
73
+ };
62
74
  /**
63
75
  * Multi-binding helper for MCP handler classes. Singleton-scoped sibling of core's
64
76
  * `MultiBinding<T>` — same `binding.add(...)` / `binding.rebind(old, new)` adopter shape, but
@@ -77,9 +89,11 @@ class McpHandlerMultiBinding extends server_1.AbstractMultiBinding {
77
89
  }
78
90
  exports.McpHandlerMultiBinding = McpHandlerMultiBinding;
79
91
  /**
80
- * Server-scope DI module for the MCP server. Adopters subclass {@link DefaultMcpServerModule}
81
- * and override the `bind*` hooks to swap single-instance services or the `configure*` hooks to
82
- * add/replace handlers in the multi-bindings. Mirrors the `DiagramModule` pattern from core
92
+ * Server-scope DI module for the MCP server. Target-neutral: concrete subclasses (Node, Browser)
93
+ * supply the launcher + request-context bindings via {@link bindMcpServerLauncher} and
94
+ * {@link bindMcpRequestContext}. Adopters subclass the concrete module and override the `bind*`
95
+ * hooks to swap single-instance services or the `configure*` hooks to add/replace handlers in
96
+ * the multi-bindings. Mirrors the `DiagramModule` pattern from core
83
97
  * (`bindGModelSerializer()`, `configureActionHandlers(binding)`, etc.).
84
98
  *
85
99
  * Adopter-provided default option values flow through the constructor — pass a
@@ -89,13 +103,13 @@ exports.McpHandlerMultiBinding = McpHandlerMultiBinding;
89
103
  * @example
90
104
  * ```ts
91
105
  * // Drop-in: GLSP defaults.
92
- * launcher.configure(serverModule, new DefaultMcpServerModule());
106
+ * launcher.configure(serverModule, new NodeMcpServerModule());
93
107
  *
94
108
  * // Drop-in with a product-specific override.
95
- * launcher.configure(serverModule, new DefaultMcpServerModule({ dataMode: 'resources' }));
109
+ * launcher.configure(serverModule, new NodeMcpServerModule({ dataMode: 'resources' }));
96
110
  *
97
111
  * // Subclass when handler customization is needed.
98
- * class WorkflowMcpServerModule extends DefaultMcpServerModule {
112
+ * class WorkflowMcpServerModule extends NodeMcpServerModule {
99
113
  * constructor() { super({ agentPersona: WORKFLOW_PERSONA }); }
100
114
  * protected override configureToolHandlers(binding) {
101
115
  * super.configureToolHandlers(binding);
@@ -109,39 +123,35 @@ class AbstractMcpServerModule extends server_1.GLSPModule {
109
123
  super();
110
124
  this.defaultOptions = defaultOptions;
111
125
  }
112
- configure(bind, _unbind, isBound, rebind) {
113
- this.bind = bind;
114
- this.rebind = rebind;
126
+ configure(bind, _unbind, isBound, _rebind) {
115
127
  const context = { bind, isBound };
116
- (0, server_1.applyBindingTarget)(context, mcp_server_launcher_1.McpServerLauncher, this.bindMcpServerLauncher()).inSingletonScope();
117
- // The launcher is bound under two additional service identifiers so core's existing
128
+ (0, server_1.applyBindingTarget)(context, abstract_mcp_server_launcher_1.AbstractMcpServerLauncher, this.bindMcpServerLauncher())
129
+ .inSingletonScope()
130
+ .onActivation((_, launcher) => {
131
+ this.onMcpServerLauncherActivated(launcher);
132
+ return launcher;
133
+ });
134
+ // The launcher is aliased under two additional service identifiers so core's existing
118
135
  // multi-bindings pick it up alongside the rest of the server's contributions/listeners.
119
- bind(server_1.GLSPServerInitializer).toService(mcp_server_launcher_1.McpServerLauncher);
120
- bind(server_1.GLSPServerListener).toService(mcp_server_launcher_1.McpServerLauncher);
121
- (0, server_1.applyBindingTarget)(context, mcp_http_transport_1.McpHttpTransport, this.bindMcpHttpTransport()).inSingletonScope();
136
+ bind(server_1.GLSPServerInitializer).toService(abstract_mcp_server_launcher_1.AbstractMcpServerLauncher);
137
+ bind(server_1.GLSPServerListener).toService(abstract_mcp_server_launcher_1.AbstractMcpServerLauncher);
122
138
  (0, server_1.applyBindingTarget)(context, mcp_diagram_handler_dispatcher_1.McpDiagramHandlerDispatcher, this.bindMcpDiagramHandlerDispatcher()).inSingletonScope();
123
139
  (0, server_1.applyBindingTarget)(context, mcp_options_1.McpServerOptions, this.bindMcpServerOptions()).inSingletonScope();
124
140
  (0, server_1.applyBindingTarget)(context, mcp_options_1.McpServerDefaults, this.bindMcpServerDefaults());
125
141
  (0, server_1.applyBindingTarget)(context, mcp_logger_1.McpLogger, this.bindMcpLogger()).inSingletonScope();
126
142
  (0, server_1.applyBindingTarget)(context, mcp_log_level_registry_1.McpLogLevelRegistry, this.bindMcpLogLevelRegistry()).inSingletonScope();
127
143
  (0, server_1.applyBindingTarget)(context, mcp_progress_reporter_1.McpProgressReporter, this.bindMcpProgressReporter()).inSingletonScope();
144
+ (0, server_1.applyBindingTarget)(context, mcp_request_context_1.McpRequestContext, this.bindMcpRequestContext()).inSingletonScope();
128
145
  (0, server_1.applyBindingTarget)(context, glsp_mcp_server_1.GLSPMcpServerFactory, this.bindGLSPMcpServerFactory());
129
146
  this.configureMultiBinding(new McpHandlerMultiBinding(mcp_tool_handler_1.McpToolHandler), binding => this.configureToolHandlers(binding));
130
147
  this.configureMultiBinding(new McpHandlerMultiBinding(mcp_resource_handler_1.McpResourceHandler), binding => this.configureResourceHandlers(binding));
131
148
  this.configureMultiBinding(new McpHandlerMultiBinding(mcp_prompt_handler_1.McpPromptHandler), binding => this.configurePromptHandlers(binding));
132
149
  }
133
150
  /**
134
- * {@link McpServerLauncher} binding. Bound as a singleton AND aliased to
135
- * `GLSPServerInitializer` + `GLSPServerListener` (the launcher implements both).
136
- * Override to swap in a custom launcher impl.
151
+ * Hook fired once when the {@link AbstractMcpServerLauncher} singleton is first resolved by
152
+ * the DI container — lets adopters obtain the instance without subclassing it. No-op by default.
137
153
  */
138
- bindMcpServerLauncher() {
139
- return mcp_server_launcher_1.McpServerLauncher;
140
- }
141
- /** {@link McpHttpTransport} binding. Override to swap to a different transport implementation. */
142
- bindMcpHttpTransport() {
143
- return mcp_http_transport_1.McpHttpTransport;
144
- }
154
+ onMcpServerLauncherActivated(_launcher) { }
145
155
  /**
146
156
  * {@link McpDiagramHandlerDispatcher} binding. Owns diagram-scope handler discovery,
147
157
  * SDK registration, and per-call dispatch routing. Override (or `rebind` to a subclass)
@@ -162,15 +172,11 @@ class AbstractMcpServerModule extends server_1.GLSPModule {
162
172
  bindMcpServerDefaults() {
163
173
  return { constantValue: this.defaultOptions };
164
174
  }
165
- /**
166
- * {@link McpLogger} binding. Bound on the server container; per-session containers inherit
167
- * it, so handlers at any scope can inject it; routes through the active MCP request via
168
- * {@link mcpRequestContext}.
169
- */
175
+ /** {@link McpLogger} binding — routes through the active MCP request via {@link McpRequestContext}. */
170
176
  bindMcpLogger() {
171
177
  return mcp_logger_1.McpLogger;
172
178
  }
173
- /** {@link McpProgressReporter} binding. Same scope/lifecycle story as {@link bindMcpLogger}. */
179
+ /** {@link McpProgressReporter} binding. */
174
180
  bindMcpProgressReporter() {
175
181
  return mcp_progress_reporter_1.McpProgressReporter;
176
182
  }
@@ -200,8 +206,8 @@ class AbstractMcpServerModule extends server_1.GLSPModule {
200
206
  * `binding.rebind(StandardTool, MyTool)` for overrides.
201
207
  */
202
208
  configureToolHandlers(binding) {
203
- binding.add(tools_1.SessionInfoMcpToolHandler);
204
- binding.add(tools_1.ElementTypesMcpToolHandler);
209
+ binding.add(session_info_mcp_tool_handler_1.SessionInfoMcpToolHandler);
210
+ binding.add(element_types_mcp_tool_handler_1.ElementTypesMcpToolHandler);
205
211
  }
206
212
  /** See {@link configureToolHandlers}. No server-scope resources ship by default. */
207
213
  configureResourceHandlers(_binding) {
@@ -214,36 +220,9 @@ class AbstractMcpServerModule extends server_1.GLSPModule {
214
220
  * {@link DefaultMcpDiagramModule.configurePromptHandlers}.
215
221
  */
216
222
  configurePromptHandlers(binding) {
217
- binding.add(prompts_1.DescribeDiagramMcpPromptHandler);
218
- binding.add(prompts_1.SuggestImprovementsMcpPromptHandler);
223
+ binding.add(describe_diagram_mcp_prompt_handler_1.DescribeDiagramMcpPromptHandler);
224
+ binding.add(suggest_improvements_mcp_prompt_handler_1.SuggestImprovementsMcpPromptHandler);
219
225
  }
220
226
  }
221
227
  exports.AbstractMcpServerModule = AbstractMcpServerModule;
222
- /**
223
- * Default {@link AbstractMcpServerModule} entry point. Ships GLSP-default option values (see
224
- * {@link DEFAULT_OPTIONS}) on top of the abstract module's hook defaults. Adopter-provided
225
- * overrides via the constructor merge on top.
226
- *
227
- * @experimental The MCP integration is under active development. Option names, schema shapes,
228
- * and handler contracts MAY change in minor releases until the feature graduates from
229
- * experimental status.
230
- */
231
- class DefaultMcpServerModule extends AbstractMcpServerModule {
232
- constructor(overrides = {}) {
233
- super({ ...DefaultMcpServerModule.DEFAULT_OPTIONS, ...overrides });
234
- }
235
- }
236
- exports.DefaultMcpServerModule = DefaultMcpServerModule;
237
- DefaultMcpServerModule.DEFAULT_OPTIONS = {
238
- host: '127.0.0.1',
239
- allowedHosts: ['127.0.0.1', 'localhost'],
240
- // `allowedOrigins` deliberately undefined: accept absent Origin (typical for desktop-IDE
241
- // MCP clients) and rely on Host validation to gate DNS-rebinding. Adopters whose
242
- // deployment is browser-fronted set this explicitly to their frontend's origin.
243
- dataMode: 'tools',
244
- agentPersona: DEFAULT_AGENT_PERSONA,
245
- // 10K events per session is generous for typical workloads (a few MB) and large enough
246
- // that disconnects within seconds recover via `Last-Event-ID` resumability.
247
- eventStoreLimit: lru_event_store_1.LruEventStore.DEFAULT_LIMIT
248
- };
249
- //# sourceMappingURL=mcp-server-module.js.map
228
+ //# sourceMappingURL=abstract-mcp-server-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-mcp-server-module.js","sourceRoot":"","sources":["../../../src/common/modules/abstract-mcp-server-module.ts"],"names":[],"mappings":"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"}
@@ -17,11 +17,11 @@ import { BindingTarget, GLSPModule, InstanceMultiBinding } from '@eclipse-glsp/s
17
17
  import { interfaces } from 'inversify';
18
18
  import { ElementTypesProvider } from '../resources/services/element-types-provider';
19
19
  import { McpModelSerializer } from '../resources/services/mcp-model-serializer';
20
- import { McpIdAliasService } from './mcp-id-alias-service';
21
- import { McpLabelProvider } from './mcp-label-provider';
22
- import { McpDiagramPromptHandlerConstructor } from './mcp-prompt-handler';
23
- import { McpDiagramResourceHandlerConstructor } from './mcp-resource-handler';
24
- import { McpDiagramToolHandlerConstructor } from './mcp-tool-handler';
20
+ import { McpIdAliasService } from '../server/mcp-id-alias-service';
21
+ import { McpLabelProvider } from '../server/mcp-label-provider';
22
+ import { McpDiagramPromptHandlerConstructor } from '../server/mcp-prompt-handler';
23
+ import { McpDiagramResourceHandlerConstructor } from '../server/mcp-resource-handler';
24
+ import { McpDiagramToolHandlerConstructor } from '../server/mcp-tool-handler';
25
25
  /**
26
26
  * Per-GLSP-client-session DI module for the MCP server. Loaded inside `configureDiagramModule`
27
27
  * so each `ClientSession.container` gets its own instance of session-scoped services.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-diagram-module.d.ts","sourceRoot":"","sources":["../../../src/common/modules/mcp-diagram-module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAsB,aAAa,EAA4B,UAAU,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACrI,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvC,OAAO,EAA+B,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACjH,OAAO,EAA8B,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAgC5G,OAAO,EAA4B,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAE7F,OAAO,EAA2B,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACzF,OAAO,EAAmC,kCAAkC,EAAE,MAAM,8BAA8B,CAAC;AACnH,OAAO,EAAqC,oCAAoC,EAAE,MAAM,gCAAgC,CAAC;AACzH,OAAO,EAA6B,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAEzG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,8BAAsB,wBAAyB,SAAQ,UAAU;IAC7D,SAAS,CAAC,IAAI,EAAG,UAAU,CAAC,IAAI,CAAC;IACjC,SAAS,CAAC,MAAM,EAAG,UAAU,CAAC,MAAM,CAAC;cAElB,SAAS,CACxB,IAAI,EAAE,UAAU,CAAC,IAAI,EACrB,OAAO,EAAE,UAAU,CAAC,MAAM,EAC1B,OAAO,EAAE,UAAU,CAAC,OAAO,EAC3B,MAAM,EAAE,UAAU,CAAC,MAAM,GAC1B,IAAI;IAsBP;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,0BAA0B,IAAI,IAAI;IA0B5C;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,IAAI,aAAa,CAAC,iBAAiB,CAAC;IAIhE;;;;OAIG;IACH,SAAS,CAAC,iBAAiB,IAAI,aAAa,CAAC,gBAAgB,CAAC;IAI9D;;;;OAIG;IACH,SAAS,CAAC,mBAAmB,IAAI,aAAa,CAAC,kBAAkB,CAAC;IAIlE;;;;OAIG;IACH,SAAS,CAAC,wBAAwB,IAAI,aAAa,CAAC,oBAAoB,CAAC;IAIzE;;;;OAIG;IACH,SAAS,CAAC,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,CAAC,gCAAgC,CAAC,GAAG,IAAI;IAoBtG,yCAAyC;IACzC,SAAS,CAAC,yBAAyB,CAAC,OAAO,EAAE,oBAAoB,CAAC,oCAAoC,CAAC,GAAG,IAAI;IAK9G;;;;OAIG;IACH,SAAS,CAAC,uBAAuB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,kCAAkC,CAAC,GAAG,IAAI;CAG9G;AAED;;;;;;;;GAQG;AACH,qBAAa,uBAAwB,SAAQ,wBAAwB;CAAG"}
@@ -17,18 +17,34 @@
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.DefaultMcpDiagramModule = exports.AbstractMcpDiagramModule = void 0;
19
19
  const server_1 = require("@eclipse-glsp/server");
20
- const resources_1 = require("../resources");
20
+ const diagram_png_mcp_resource_handler_1 = require("../resources/handlers/diagram-png-mcp-resource-handler");
21
+ const diagram_svg_mcp_resource_handler_1 = require("../resources/handlers/diagram-svg-mcp-resource-handler");
21
22
  const element_types_provider_1 = require("../resources/services/element-types-provider");
22
23
  const mcp_model_serializer_1 = require("../resources/services/mcp-model-serializer");
23
- const tools_1 = require("../tools");
24
- const mcp_diagram_prompt_handler_registry_1 = require("./mcp-diagram-prompt-handler-registry");
25
- const mcp_diagram_resource_handler_registry_1 = require("./mcp-diagram-resource-handler-registry");
26
- const mcp_diagram_tool_handler_registry_1 = require("./mcp-diagram-tool-handler-registry");
27
- const mcp_id_alias_service_1 = require("./mcp-id-alias-service");
28
- const mcp_label_provider_1 = require("./mcp-label-provider");
29
- const mcp_prompt_handler_1 = require("./mcp-prompt-handler");
30
- const mcp_resource_handler_1 = require("./mcp-resource-handler");
31
- const mcp_tool_handler_1 = require("./mcp-tool-handler");
24
+ const count_elements_mcp_tool_handler_1 = require("../tools/handlers/count-elements-mcp-tool-handler");
25
+ const create_edges_mcp_tool_handler_1 = require("../tools/handlers/create-edges-mcp-tool-handler");
26
+ const create_nodes_mcp_tool_handler_1 = require("../tools/handlers/create-nodes-mcp-tool-handler");
27
+ const delete_elements_mcp_tool_handler_1 = require("../tools/handlers/delete-elements-mcp-tool-handler");
28
+ const diagram_model_mcp_tool_handler_1 = require("../tools/handlers/diagram-model-mcp-tool-handler");
29
+ const get_selection_mcp_tool_handler_1 = require("../tools/handlers/get-selection-mcp-tool-handler");
30
+ const layout_mcp_tool_handler_1 = require("../tools/handlers/layout-mcp-tool-handler");
31
+ const modify_edges_mcp_tool_handler_1 = require("../tools/handlers/modify-edges-mcp-tool-handler");
32
+ const modify_nodes_mcp_tool_handler_1 = require("../tools/handlers/modify-nodes-mcp-tool-handler");
33
+ const query_elements_mcp_tool_handler_1 = require("../tools/handlers/query-elements-mcp-tool-handler");
34
+ const redo_mcp_tool_handler_1 = require("../tools/handlers/redo-mcp-tool-handler");
35
+ const save_model_mcp_tool_handler_1 = require("../tools/handlers/save-model-mcp-tool-handler");
36
+ const set_selection_mcp_tool_handler_1 = require("../tools/handlers/set-selection-mcp-tool-handler");
37
+ const set_view_mcp_tool_handler_1 = require("../tools/handlers/set-view-mcp-tool-handler");
38
+ const undo_mcp_tool_handler_1 = require("../tools/handlers/undo-mcp-tool-handler");
39
+ const validate_diagram_mcp_tool_handler_1 = require("../tools/handlers/validate-diagram-mcp-tool-handler");
40
+ const mcp_diagram_prompt_handler_registry_1 = require("../server/mcp-diagram-prompt-handler-registry");
41
+ const mcp_diagram_resource_handler_registry_1 = require("../server/mcp-diagram-resource-handler-registry");
42
+ const mcp_diagram_tool_handler_registry_1 = require("../server/mcp-diagram-tool-handler-registry");
43
+ const mcp_id_alias_service_1 = require("../server/mcp-id-alias-service");
44
+ const mcp_label_provider_1 = require("../server/mcp-label-provider");
45
+ const mcp_prompt_handler_1 = require("../server/mcp-prompt-handler");
46
+ const mcp_resource_handler_1 = require("../server/mcp-resource-handler");
47
+ const mcp_tool_handler_1 = require("../server/mcp-tool-handler");
32
48
  /**
33
49
  * Per-GLSP-client-session DI module for the MCP server. Loaded inside `configureDiagramModule`
34
50
  * so each `ClientSession.container` gets its own instance of session-scoped services.
@@ -138,28 +154,28 @@ class AbstractMcpDiagramModule extends server_1.GLSPModule {
138
154
  * for additions or `binding.rebind(StandardTool, MyTool)` for overrides.
139
155
  */
140
156
  configureToolHandlers(binding) {
141
- binding.add(tools_1.CreateNodesMcpToolHandler);
142
- binding.add(tools_1.CreateEdgesMcpToolHandler);
143
- binding.add(tools_1.DeleteElementsMcpToolHandler);
144
- binding.add(tools_1.SaveModelMcpToolHandler);
145
- binding.add(tools_1.ValidateDiagramMcpToolHandler);
146
- binding.add(tools_1.DiagramModelMcpToolHandler);
147
- binding.add(tools_1.QueryElementsMcpToolHandler);
148
- binding.add(tools_1.CountElementsMcpToolHandler);
149
- binding.add(tools_1.ModifyNodesMcpToolHandler);
150
- binding.add(tools_1.ModifyEdgesMcpToolHandler);
151
- binding.add(tools_1.UndoMcpToolHandler);
152
- binding.add(tools_1.RedoMcpToolHandler);
153
- binding.add(tools_1.GetSelectionMcpToolHandler);
154
- binding.add(tools_1.SetSelectionMcpToolHandler);
155
- binding.add(tools_1.SetViewMcpToolHandler);
157
+ binding.add(create_nodes_mcp_tool_handler_1.CreateNodesMcpToolHandler);
158
+ binding.add(create_edges_mcp_tool_handler_1.CreateEdgesMcpToolHandler);
159
+ binding.add(delete_elements_mcp_tool_handler_1.DeleteElementsMcpToolHandler);
160
+ binding.add(save_model_mcp_tool_handler_1.SaveModelMcpToolHandler);
161
+ binding.add(validate_diagram_mcp_tool_handler_1.ValidateDiagramMcpToolHandler);
162
+ binding.add(diagram_model_mcp_tool_handler_1.DiagramModelMcpToolHandler);
163
+ binding.add(query_elements_mcp_tool_handler_1.QueryElementsMcpToolHandler);
164
+ binding.add(count_elements_mcp_tool_handler_1.CountElementsMcpToolHandler);
165
+ binding.add(modify_nodes_mcp_tool_handler_1.ModifyNodesMcpToolHandler);
166
+ binding.add(modify_edges_mcp_tool_handler_1.ModifyEdgesMcpToolHandler);
167
+ binding.add(undo_mcp_tool_handler_1.UndoMcpToolHandler);
168
+ binding.add(redo_mcp_tool_handler_1.RedoMcpToolHandler);
169
+ binding.add(get_selection_mcp_tool_handler_1.GetSelectionMcpToolHandler);
170
+ binding.add(set_selection_mcp_tool_handler_1.SetSelectionMcpToolHandler);
171
+ binding.add(set_view_mcp_tool_handler_1.SetViewMcpToolHandler);
156
172
  // Auto-skips at session-open via `canRegister()` when no `LayoutEngine` is bound.
157
- binding.add(tools_1.LayoutMcpToolHandler);
173
+ binding.add(layout_mcp_tool_handler_1.LayoutMcpToolHandler);
158
174
  }
159
175
  /** See {@link configureToolHandlers}. */
160
176
  configureResourceHandlers(binding) {
161
- binding.add(resources_1.DiagramPngMcpResourceHandler);
162
- binding.add(resources_1.DiagramSvgMcpResourceHandler);
177
+ binding.add(diagram_png_mcp_resource_handler_1.DiagramPngMcpResourceHandler);
178
+ binding.add(diagram_svg_mcp_resource_handler_1.DiagramSvgMcpResourceHandler);
163
179
  }
164
180
  /**
165
181
  * See {@link configureToolHandlers}. No diagram-scope prompts ship by default — the shipped
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-diagram-module.js","sourceRoot":"","sources":["../../../src/common/modules/mcp-diagram-module.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,8 @@
15
15
  ********************************************************************************/
16
16
  import { ClientSessionManager } from '@eclipse-glsp/server';
17
17
  import * as z from 'zod/v4';
18
- import { AbstractMcpPromptHandler, McpPromptResult } from '../../server';
18
+ import { McpPromptResult } from '../../server/mcp-handler-shared';
19
+ import { AbstractMcpPromptHandler } from '../../server/mcp-prompt-handler';
19
20
  export declare const DescribeDiagramArgsSchema: z.ZodObject<{
20
21
  sessionId: z.ZodOptional<z.ZodString>;
21
22
  }, z.core.$strip>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"describe-diagram-mcp-prompt-handler.d.ts","sourceRoot":"","sources":["../../../../src/common/prompts/handlers/describe-diagram-mcp-prompt-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,eAAe,EAA0B,MAAM,iCAAiC,CAAC;AAC1F,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAQ3E,eAAO,MAAM,yBAAyB;;iBAKpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;;;;;;GAOG;AACH,qBACa,+BAAgC,SAAQ,wBAAwB,CAAC,mBAAmB,CAAC;IAC9F,MAAM,CAAC,QAAQ,CAAC,IAAI,sBAAsB;IAC1C,QAAQ,CAAC,IAAI,sBAAwC;IACrD,SAAkB,KAAK,sBAAsB;IAC7C,QAAQ,CAAC,WAAW,SAK+C;IACnE,QAAQ,CAAC,UAAU;;sBAA6B;IAElB,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAE1E,mBAAmB,IAAI,MAAM,EAAE;IAWxC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe;CAiBrE"}
@@ -29,8 +29,14 @@ exports.DescribeDiagramMcpPromptHandler = exports.DescribeDiagramArgsSchema = vo
29
29
  const server_1 = require("@eclipse-glsp/server");
30
30
  const inversify_1 = require("inversify");
31
31
  const z = require("zod/v4");
32
- const server_2 = require("../../server");
33
- const tools_1 = require("../../tools");
32
+ const mcp_handler_shared_1 = require("../../server/mcp-handler-shared");
33
+ const mcp_prompt_handler_1 = require("../../server/mcp-prompt-handler");
34
+ const count_elements_mcp_tool_handler_1 = require("../../tools/handlers/count-elements-mcp-tool-handler");
35
+ const diagram_model_mcp_tool_handler_1 = require("../../tools/handlers/diagram-model-mcp-tool-handler");
36
+ const element_types_mcp_tool_handler_1 = require("../../tools/handlers/element-types-mcp-tool-handler");
37
+ const query_elements_mcp_tool_handler_1 = require("../../tools/handlers/query-elements-mcp-tool-handler");
38
+ const set_selection_mcp_tool_handler_1 = require("../../tools/handlers/set-selection-mcp-tool-handler");
39
+ const set_view_mcp_tool_handler_1 = require("../../tools/handlers/set-view-mcp-tool-handler");
34
40
  exports.DescribeDiagramArgsSchema = z.object({
35
41
  sessionId: z
36
42
  .string()
@@ -45,7 +51,7 @@ exports.DescribeDiagramArgsSchema = z.object({
45
51
  * Server-scope on purpose — the prompt itself has no per-session state, so we avoid forcing
46
52
  * the user to type a sessionId in the common single-diagram case.
47
53
  */
48
- let DescribeDiagramMcpPromptHandler = DescribeDiagramMcpPromptHandler_1 = class DescribeDiagramMcpPromptHandler extends server_2.AbstractMcpPromptHandler {
54
+ let DescribeDiagramMcpPromptHandler = DescribeDiagramMcpPromptHandler_1 = class DescribeDiagramMcpPromptHandler extends mcp_prompt_handler_1.AbstractMcpPromptHandler {
49
55
  constructor() {
50
56
  super(...arguments);
51
57
  this.name = DescribeDiagramMcpPromptHandler_1.NAME;
@@ -59,28 +65,28 @@ let DescribeDiagramMcpPromptHandler = DescribeDiagramMcpPromptHandler_1 = class
59
65
  }
60
66
  referencedToolNames() {
61
67
  return [
62
- tools_1.CountElementsMcpToolHandler.NAME,
63
- tools_1.ElementTypesMcpToolHandler.NAME,
64
- tools_1.DiagramModelMcpToolHandler.NAME,
65
- tools_1.QueryElementsMcpToolHandler.NAME,
66
- tools_1.SetSelectionMcpToolHandler.NAME,
67
- tools_1.SetViewMcpToolHandler.NAME
68
+ count_elements_mcp_tool_handler_1.CountElementsMcpToolHandler.NAME,
69
+ element_types_mcp_tool_handler_1.ElementTypesMcpToolHandler.NAME,
70
+ diagram_model_mcp_tool_handler_1.DiagramModelMcpToolHandler.NAME,
71
+ query_elements_mcp_tool_handler_1.QueryElementsMcpToolHandler.NAME,
72
+ set_selection_mcp_tool_handler_1.SetSelectionMcpToolHandler.NAME,
73
+ set_view_mcp_tool_handler_1.SetViewMcpToolHandler.NAME
68
74
  ];
69
75
  }
70
76
  createResult(args) {
71
- const sessionId = (0, server_2.resolveActiveSessionId)(this.clientSessionManager, args.sessionId);
77
+ const sessionId = (0, mcp_handler_shared_1.resolveActiveSessionId)(this.clientSessionManager, args.sessionId);
72
78
  const text = `Describe the diagram for session \`${sessionId}\`. Include:\n\n` +
73
- `1. **Overview** — diagram type and total element count (use \`${tools_1.CountElementsMcpToolHandler.NAME}\`).\n` +
79
+ `1. **Overview** — diagram type and total element count (use \`${count_elements_mcp_tool_handler_1.CountElementsMcpToolHandler.NAME}\`).\n` +
74
80
  `2. **Element-type breakdown** — what kinds of elements are present and how many of each ` +
75
- `(use \`${tools_1.ElementTypesMcpToolHandler.NAME}\` and \`${tools_1.CountElementsMcpToolHandler.NAME}\`).\n` +
76
- `3. **Structure** — load the model with \`${tools_1.DiagramModelMcpToolHandler.NAME}\` and summarize the ` +
81
+ `(use \`${element_types_mcp_tool_handler_1.ElementTypesMcpToolHandler.NAME}\` and \`${count_elements_mcp_tool_handler_1.CountElementsMcpToolHandler.NAME}\`).\n` +
82
+ `3. **Structure** — load the model with \`${diagram_model_mcp_tool_handler_1.DiagramModelMcpToolHandler.NAME}\` and summarize the ` +
77
83
  `hierarchy and major connections.\n` +
78
84
  `4. **Notable elements** — call out anything that stands out (unconnected nodes, deeply ` +
79
- `nested groups, missing labels). Use \`${tools_1.QueryElementsMcpToolHandler.NAME}\` to locate specific cases.\n\n` +
85
+ `nested groups, missing labels). Use \`${query_elements_mcp_tool_handler_1.QueryElementsMcpToolHandler.NAME}\` to locate specific cases.\n\n` +
80
86
  `Keep the description concise and skim-friendly. ` +
81
87
  `When mentioning an element, prefer its label or type, with the alias appended in parens — e.g. ` +
82
88
  `"the 'Brew' task (#7)" or "the decision node (#9)" — never the bare alias alone, since aliases mean nothing to the user. ` +
83
- `Use \`${tools_1.SetSelectionMcpToolHandler.NAME}\` or \`${tools_1.SetViewMcpToolHandler.NAME} → 'center-on-elements'\` to draw the user's attention.`;
89
+ `Use \`${set_selection_mcp_tool_handler_1.SetSelectionMcpToolHandler.NAME}\` or \`${set_view_mcp_tool_handler_1.SetViewMcpToolHandler.NAME} → 'center-on-elements'\` to draw the user's attention.`;
84
90
  return { messages: [{ role: 'user', content: { type: 'text', text } }] };
85
91
  }
86
92
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"describe-diagram-mcp-prompt-handler.js","sourceRoot":"","sources":["../../../../src/common/prompts/handlers/describe-diagram-mcp-prompt-handler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;;AAElF,iDAA4D;AAC5D,yCAA+C;AAC/C,4BAA4B;AAC5B,wEAA0F;AAC1F,wEAA2E;AAC3E,0GAAmG;AACnG,wGAAiG;AACjG,wGAAiG;AACjG,0GAAmG;AACnG,wGAAiG;AACjG,8FAAuF;AAE1E,QAAA,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,SAAS,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,4GAA4G,CAAC;CAC9H,CAAC,CAAC;AAGH;;;;;;;GAOG;AAEI,IAAM,+BAA+B,uCAArC,MAAM,+BAAgC,SAAQ,6CAA6C;IAA3F;;QAEM,SAAI,GAAG,iCAA+B,CAAC,IAAI,CAAC;QACnC,UAAK,GAAG,kBAAkB,CAAC;QACpC,gBAAW,GAChB,sEAAsE;YACtE,iHAAiH;YACjH,+CAA+C;YAC/C,yHAAyH;YACzH,8DAA8D,CAAC;QAC1D,eAAU,GAAG,iCAAyB,CAAC;IAgCpD,CAAC;IA5BY,mBAAmB;QACxB,OAAO;YACH,6DAA2B,CAAC,IAAI;YAChC,2DAA0B,CAAC,IAAI;YAC/B,2DAA0B,CAAC,IAAI;YAC/B,6DAA2B,CAAC,IAAI;YAChC,2DAA0B,CAAC,IAAI;YAC/B,iDAAqB,CAAC,IAAI;SAC7B,CAAC;IACN,CAAC;IAES,YAAY,CAAC,IAAyB;QAC5C,MAAM,SAAS,GAAG,IAAA,2CAAsB,EAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACpF,MAAM,IAAI,GACN,sCAAsC,SAAS,kBAAkB;YACjE,iEAAiE,6DAA2B,CAAC,IAAI,QAAQ;YACzG,0FAA0F;YAC1F,UAAU,2DAA0B,CAAC,IAAI,YAAY,6DAA2B,CAAC,IAAI,QAAQ;YAC7F,4CAA4C,2DAA0B,CAAC,IAAI,uBAAuB;YAClG,oCAAoC;YACpC,yFAAyF;YACzF,yCAAyC,6DAA2B,CAAC,IAAI,kCAAkC;YAC3G,kDAAkD;YAClD,iGAAiG;YACjG,2HAA2H;YAC3H,SAAS,2DAA0B,CAAC,IAAI,WAAW,iDAAqB,CAAC,IAAI,yDAAyD,CAAC;QAC3I,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;IAC7E,CAAC;;AAzCQ,0EAA+B;AACxB,oCAAI,GAAG,kBAAkB,AAArB,CAAsB;AAWF;IAAvC,IAAA,kBAAM,EAAC,6BAAoB,CAAC;;6EAAsD;0CAZ1E,+BAA+B;IAD3C,IAAA,sBAAU,GAAE;GACA,+BAA+B,CA0C3C"}
@@ -15,7 +15,8 @@
15
15
  ********************************************************************************/
16
16
  import { ClientSessionManager } from '@eclipse-glsp/server';
17
17
  import * as z from 'zod/v4';
18
- import { AbstractMcpPromptHandler, McpPromptResult } from '../../server';
18
+ import { McpPromptResult } from '../../server/mcp-handler-shared';
19
+ import { AbstractMcpPromptHandler } from '../../server/mcp-prompt-handler';
19
20
  export declare const SuggestImprovementsArgsSchema: z.ZodObject<{
20
21
  sessionId: z.ZodOptional<z.ZodString>;
21
22
  }, z.core.$strip>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggest-improvements-mcp-prompt-handler.d.ts","sourceRoot":"","sources":["../../../../src/common/prompts/handlers/suggest-improvements-mcp-prompt-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,eAAe,EAA0B,MAAM,iCAAiC,CAAC;AAC1F,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAM3E,eAAO,MAAM,6BAA6B;;iBAKxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF;;;;;;;GAOG;AACH,qBACa,mCAAoC,SAAQ,wBAAwB,CAAC,uBAAuB,CAAC;IACtG,MAAM,CAAC,QAAQ,CAAC,IAAI,0BAA0B;IAC9C,QAAQ,CAAC,IAAI,0BAA4C;IACzD,SAAkB,KAAK,kCAAkC;IACzD,QAAQ,CAAC,WAAW,SAK+C;IACnE,QAAQ,CAAC,UAAU;;sBAAiC;IAEtB,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAE1E,mBAAmB,IAAI,MAAM,EAAE;IASxC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,uBAAuB,GAAG,eAAe;CAkBzE"}
@@ -29,8 +29,12 @@ exports.SuggestImprovementsMcpPromptHandler = exports.SuggestImprovementsArgsSch
29
29
  const server_1 = require("@eclipse-glsp/server");
30
30
  const inversify_1 = require("inversify");
31
31
  const z = require("zod/v4");
32
- const server_2 = require("../../server");
33
- const tools_1 = require("../../tools");
32
+ const mcp_handler_shared_1 = require("../../server/mcp-handler-shared");
33
+ const mcp_prompt_handler_1 = require("../../server/mcp-prompt-handler");
34
+ const diagram_model_mcp_tool_handler_1 = require("../../tools/handlers/diagram-model-mcp-tool-handler");
35
+ const query_elements_mcp_tool_handler_1 = require("../../tools/handlers/query-elements-mcp-tool-handler");
36
+ const set_selection_mcp_tool_handler_1 = require("../../tools/handlers/set-selection-mcp-tool-handler");
37
+ const validate_diagram_mcp_tool_handler_1 = require("../../tools/handlers/validate-diagram-mcp-tool-handler");
34
38
  exports.SuggestImprovementsArgsSchema = z.object({
35
39
  sessionId: z
36
40
  .string()
@@ -45,7 +49,7 @@ exports.SuggestImprovementsArgsSchema = z.object({
45
49
  * Server-scope on purpose — the prompt itself has no per-session state, so we avoid forcing
46
50
  * the user to type a sessionId in the common single-diagram case.
47
51
  */
48
- let SuggestImprovementsMcpPromptHandler = SuggestImprovementsMcpPromptHandler_1 = class SuggestImprovementsMcpPromptHandler extends server_2.AbstractMcpPromptHandler {
52
+ let SuggestImprovementsMcpPromptHandler = SuggestImprovementsMcpPromptHandler_1 = class SuggestImprovementsMcpPromptHandler extends mcp_prompt_handler_1.AbstractMcpPromptHandler {
49
53
  constructor() {
50
54
  super(...arguments);
51
55
  this.name = SuggestImprovementsMcpPromptHandler_1.NAME;
@@ -59,26 +63,26 @@ let SuggestImprovementsMcpPromptHandler = SuggestImprovementsMcpPromptHandler_1
59
63
  }
60
64
  referencedToolNames() {
61
65
  return [
62
- tools_1.ValidateDiagramMcpToolHandler.NAME,
63
- tools_1.DiagramModelMcpToolHandler.NAME,
64
- tools_1.QueryElementsMcpToolHandler.NAME,
65
- tools_1.SetSelectionMcpToolHandler.NAME
66
+ validate_diagram_mcp_tool_handler_1.ValidateDiagramMcpToolHandler.NAME,
67
+ diagram_model_mcp_tool_handler_1.DiagramModelMcpToolHandler.NAME,
68
+ query_elements_mcp_tool_handler_1.QueryElementsMcpToolHandler.NAME,
69
+ set_selection_mcp_tool_handler_1.SetSelectionMcpToolHandler.NAME
66
70
  ];
67
71
  }
68
72
  createResult(args) {
69
- const sessionId = (0, server_2.resolveActiveSessionId)(this.clientSessionManager, args.sessionId);
73
+ const sessionId = (0, mcp_handler_shared_1.resolveActiveSessionId)(this.clientSessionManager, args.sessionId);
70
74
  const text = `Review the diagram for session \`${sessionId}\` and propose concrete improvements. Focus on:\n\n` +
71
- `1. **Validation issues** — run \`${tools_1.ValidateDiagramMcpToolHandler.NAME}\` and surface any markers.\n` +
72
- `2. **Connectivity** — load the model (\`${tools_1.DiagramModelMcpToolHandler.NAME}\`) and flag unconnected ` +
75
+ `1. **Validation issues** — run \`${validate_diagram_mcp_tool_handler_1.ValidateDiagramMcpToolHandler.NAME}\` and surface any markers.\n` +
76
+ `2. **Connectivity** — load the model (\`${diagram_model_mcp_tool_handler_1.DiagramModelMcpToolHandler.NAME}\`) and flag unconnected ` +
73
77
  `nodes or orphaned subgraphs.\n` +
74
- `3. **Labelling** — use \`${tools_1.QueryElementsMcpToolHandler.NAME}\` to find nodes that lack a meaningful ` +
78
+ `3. **Labelling** — use \`${query_elements_mcp_tool_handler_1.QueryElementsMcpToolHandler.NAME}\` to find nodes that lack a meaningful ` +
75
79
  `label, and edges with missing or unclear text.\n` +
76
80
  `4. **Structure** — call out elements whose type or placement looks inconsistent with ` +
77
81
  `the rest of the diagram.\n\n` +
78
82
  `Group findings by severity (must-fix vs. nice-to-have). ` +
79
83
  `When naming elements, prefer their label or type with the alias in parens — e.g. ` +
80
84
  `"the 'Brew' task (#7)" or "the decision node (#9)" — never the bare alias alone, since aliases mean nothing to the user. ` +
81
- `Point at each suggestion via \`${tools_1.SetSelectionMcpToolHandler.NAME}\` so the user can navigate. ` +
85
+ `Point at each suggestion via \`${set_selection_mcp_tool_handler_1.SetSelectionMcpToolHandler.NAME}\` so the user can navigate. ` +
82
86
  `Do not modify the diagram — only propose.`;
83
87
  return { messages: [{ role: 'user', content: { type: 'text', text } }] };
84
88
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggest-improvements-mcp-prompt-handler.js","sourceRoot":"","sources":["../../../../src/common/prompts/handlers/suggest-improvements-mcp-prompt-handler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;;AAElF,iDAA4D;AAC5D,yCAA+C;AAC/C,4BAA4B;AAC5B,wEAA0F;AAC1F,wEAA2E;AAC3E,wGAAiG;AACjG,0GAAmG;AACnG,wGAAiG;AACjG,8GAAuG;AAE1F,QAAA,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,SAAS,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,4GAA4G,CAAC;CAC9H,CAAC,CAAC;AAGH;;;;;;;GAOG;AAEI,IAAM,mCAAmC,2CAAzC,MAAM,mCAAoC,SAAQ,6CAAiD;IAAnG;;QAEM,SAAI,GAAG,qCAAmC,CAAC,IAAI,CAAC;QACvC,UAAK,GAAG,8BAA8B,CAAC;QAChD,gBAAW,GAChB,+EAA+E;YAC/E,yGAAyG;YACzG,4GAA4G;YAC5G,iHAAiH;YACjH,8DAA8D,CAAC;QAC1D,eAAU,GAAG,qCAA6B,CAAC;IA+BxD,CAAC;IA3BY,mBAAmB;QACxB,OAAO;YACH,iEAA6B,CAAC,IAAI;YAClC,2DAA0B,CAAC,IAAI;YAC/B,6DAA2B,CAAC,IAAI;YAChC,2DAA0B,CAAC,IAAI;SAClC,CAAC;IACN,CAAC;IAES,YAAY,CAAC,IAA6B;QAChD,MAAM,SAAS,GAAG,IAAA,2CAAsB,EAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACpF,MAAM,IAAI,GACN,oCAAoC,SAAS,qDAAqD;YAClG,oCAAoC,iEAA6B,CAAC,IAAI,+BAA+B;YACrG,2CAA2C,2DAA0B,CAAC,IAAI,2BAA2B;YACrG,gCAAgC;YAChC,4BAA4B,6DAA2B,CAAC,IAAI,0CAA0C;YACtG,kDAAkD;YAClD,uFAAuF;YACvF,8BAA8B;YAC9B,0DAA0D;YAC1D,mFAAmF;YACnF,2HAA2H;YAC3H,kCAAkC,2DAA0B,CAAC,IAAI,+BAA+B;YAChG,2CAA2C,CAAC;QAChD,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;IAC7E,CAAC;;AAxCQ,kFAAmC;AAC5B,wCAAI,GAAG,sBAAsB,AAAzB,CAA0B;AAWN;IAAvC,IAAA,kBAAM,EAAC,6BAAoB,CAAC;;iFAAsD;8CAZ1E,mCAAmC;IAD/C,IAAA,sBAAU,GAAE;GACA,mCAAmC,CAyC/C"}
@@ -15,7 +15,10 @@
15
15
  ********************************************************************************/
16
16
  import { Role } from '@modelcontextprotocol/sdk/types.js';
17
17
  import * as z from 'zod/v4';
18
- import { AbstractMcpDiagramResourceHandler, McpMimeType, McpProgressReporter, McpResourceContent, McpResourceUri } from '../../server';
18
+ import { McpResourceContent } from '../../server/mcp-handler-shared';
19
+ import { McpMimeType } from '../../server/mcp-mime-types';
20
+ import { McpProgressReporter } from '../../server/mcp-progress-reporter';
21
+ import { AbstractMcpDiagramResourceHandler, McpResourceUri } from '../../server/mcp-resource-handler';
19
22
  export declare const DiagramPngInputSchema: z.ZodObject<{
20
23
  sessionId: z.ZodString;
21
24
  scale: z.ZodOptional<z.ZodNumber>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagram-png-mcp-resource-handler.d.ts","sourceRoot":"","sources":["../../../../src/common/resources/handlers/diagram-png-mcp-resource-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAGlF,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE1D,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAgB,MAAM,iCAAiC,CAAC;AAEnF,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,iCAAiC,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEtG,eAAO,MAAM,qBAAqB;;;;;;iBA+BhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,yJAAyJ;AACzJ,qBACa,4BAA6B,SAAQ,iCAAiC,CAAC,eAAe,CAAC;IAChG,+GAA+G;IAC/G,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAQ;IAEnD;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAK;IAE5C,MAAM,CAAC,QAAQ,CAAC,IAAI,iBAAiB;IACrC,QAAQ,CAAC,IAAI,iBAAqC;IAClD,SAAkB,KAAK,uBAAuB;IAC9C,QAAQ,CAAC,WAAW,SAO4F;IAChH,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAe;IAC7C,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAmD;IAC/E,yGAAyG;IACzG,SAAkB,QAAQ,EAAE,IAAI,EAAE,CAAyB;IAC3D,0GAA0G;IAC1G,SAAkB,QAAQ,OAAO;IAIjC,SAAkB,0BAA0B;;;;;;sBAAyB;IAExC,SAAS,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IAE1C,SAAS,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAEpE,gHAAgH;IACvG,WAAW,IAAI,OAAO;cAIf,YAAY,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAe/G;;;;;OAKG;IACH,SAAS,CAAC,WAAW,CACjB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,MAAM,EAAE,MAAM,GAAG,SAAS,GAC3B;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAkBpC;;;;;OAKG;IACH,SAAS,CAAC,kBAAkB,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;CAsBpE"}