@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,123 @@
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
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
20
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
22
+ };
23
+ var CreateNodesMcpToolHandler_1;
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.CreateNodesMcpToolHandler = exports.CreateNodesOutputSchema = exports.CreateNodesInputSchema = exports.CreateNodeSpecSchema = void 0;
26
+ const server_1 = require("@eclipse-glsp/server");
27
+ const inversify_1 = require("inversify");
28
+ const z = require("zod/v4");
29
+ const server_2 = require("../../server");
30
+ const util_1 = require("../../util");
31
+ /** Single node-creation entry. Strict so an LLM-typoed field surfaces as a validation error instead of being silently dropped. */
32
+ exports.CreateNodeSpecSchema = z.strictObject({
33
+ elementTypeId: z
34
+ .string()
35
+ .describe('Element type ID (e.g., `task:manual`, `task:automated`). Use the `element-types` tool to discover valid IDs.'),
36
+ position: server_2.position.describe('Position where the node should be created (absolute diagram coordinates)'),
37
+ text: z.string().optional().describe('Label text to use in case the given element type allows for labels.'),
38
+ containerId: z.string().optional().describe('ID of the container element. If not provided, node is added to the root.'),
39
+ // `args` stays open (`record(...)`) — adopter-specific extension surface for per-element-type creation hints.
40
+ args: z.record(z.string(), z.any()).optional().describe('Additional type-specific arguments for node creation (varies by element type)')
41
+ });
42
+ exports.CreateNodesInputSchema = server_2.McpDiagramScopedInputSchema.extend({
43
+ nodes: z.array(exports.CreateNodeSpecSchema).min(1).describe('Array of nodes to create. Must include at least one node.')
44
+ });
45
+ exports.CreateNodesOutputSchema = z.object({
46
+ createdNodes: z
47
+ .array(server_2.ElementIdentitySchema)
48
+ .describe('Nodes successfully created, in input order. `label` is only present when the type actually accepted text.'),
49
+ errors: z.array(z.string()).describe('Per-input hard-failure messages — the creation could not complete.'),
50
+ warnings: z
51
+ .array(z.string())
52
+ .describe('Soft notices for inputs that succeeded with caveats (e.g. `text` supplied for a type whose elements have no editable label).')
53
+ });
54
+ let CreateNodesMcpToolHandler = CreateNodesMcpToolHandler_1 = class CreateNodesMcpToolHandler extends server_2.OperationMcpDiagramToolHandler {
55
+ constructor() {
56
+ super(...arguments);
57
+ this.name = CreateNodesMcpToolHandler_1.NAME;
58
+ this.title = 'Create Diagram Nodes';
59
+ this.description = 'Create one or multiple new nodes in the diagram at the specified positions. ' +
60
+ 'When creating new nodes absolutely consider the visual alignment with existing nodes — call ' +
61
+ '`query-elements` (or `count-elements` for a quick overview) first to avoid overlap. ' +
62
+ 'Each node descriptor needs an `elementTypeId` (from `element-types`) and a `position`; ' +
63
+ '`text`, `containerId`, and per-type `args` are optional. ' +
64
+ 'This operation modifies the diagram state and requires user approval.';
65
+ this.inputSchema = exports.CreateNodesInputSchema;
66
+ this.outputSchema = exports.CreateNodesOutputSchema;
67
+ }
68
+ async createResult({ nodes }) {
69
+ var _a;
70
+ let beforeIds = this.modelState.index.allIds();
71
+ const errors = [];
72
+ const warnings = [];
73
+ const createdNodes = [];
74
+ let dispatchedOperations = 0;
75
+ // Sequential — each iteration must isolate its own creation in the post-dispatch diff.
76
+ for (const node of nodes) {
77
+ const { elementTypeId, position, text, args } = node;
78
+ const containerId = node.containerId ? this.aliasService.lookup(node.containerId) : undefined;
79
+ // Surface as `position` (matches element properties) rather than core's `location` for AI-facing API consistency.
80
+ const operation = server_1.CreateNodeOperation.create(elementTypeId, { location: position, containerId, args });
81
+ await this.actionDispatcher.dispatch(operation);
82
+ dispatchedOperations++;
83
+ const afterIds = this.modelState.index.allIds();
84
+ const newIds = afterIds.filter(id => !beforeIds.includes(id));
85
+ const newElements = newIds.map(id => this.modelState.index.find(id)).filter(element => (element === null || element === void 0 ? void 0 : element.type) === elementTypeId);
86
+ const newElement = newElements[0];
87
+ if (newElements.length > 1) {
88
+ this.logger.warn('More than 1 new element created');
89
+ }
90
+ beforeIds = afterIds;
91
+ // Operations don't surface failure directly — infer from absence of a new id of the requested type.
92
+ if (!newElement) {
93
+ errors.push(`Node creation likely failed because no new element ID was found for input: ${JSON.stringify(node)}`);
94
+ continue;
95
+ }
96
+ if (text) {
97
+ const labelId = (_a = this.labelProvider.getLabel(newElement)) === null || _a === void 0 ? void 0 : _a.id;
98
+ if (labelId) {
99
+ await this.actionDispatcher.dispatch(server_1.ApplyLabelEditOperation.create({ labelId, text }));
100
+ dispatchedOperations++;
101
+ }
102
+ else {
103
+ warnings.push(`Ignored \`text\` for '${elementTypeId}' — this element type has no editable label.`);
104
+ }
105
+ }
106
+ createdNodes.push(this.describeResolvedElement(newElement));
107
+ }
108
+ const successListStr = createdNodes
109
+ .map(({ id, elementTypeId, label }) => `- ${label ? `'${label}' ` : ''}${elementTypeId} (#${id})`)
110
+ .join('\n');
111
+ // Per-input errors / warnings are surfaced in `errors` / `warnings`; the call itself still
112
+ // succeeds — rolling back partial creates would require operation-level transactions.
113
+ return this.success(`Successfully created ${createdNodes.length} node(s) (in ${dispatchedOperations} commands):\n${successListStr}` +
114
+ (0, util_1.formatNoticeList)('errors', errors) +
115
+ (0, util_1.formatNoticeList)('warnings', warnings), { createdNodes, errors, warnings });
116
+ }
117
+ };
118
+ exports.CreateNodesMcpToolHandler = CreateNodesMcpToolHandler;
119
+ CreateNodesMcpToolHandler.NAME = 'create-nodes';
120
+ exports.CreateNodesMcpToolHandler = CreateNodesMcpToolHandler = CreateNodesMcpToolHandler_1 = __decorate([
121
+ (0, inversify_1.injectable)()
122
+ ], CreateNodesMcpToolHandler);
123
+ //# sourceMappingURL=create-nodes-mcp-tool-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-nodes-mcp-tool-handler.js","sourceRoot":"","sources":["../../../src/tools/handlers/create-nodes-mcp-tool-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
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 * as z from 'zod/v4';
17
+ import { McpToolResult, OperationMcpDiagramToolHandler } from '../../server';
18
+ export declare const DeleteElementsInputSchema: z.ZodObject<{
19
+ sessionId: z.ZodString;
20
+ elementIds: z.ZodArray<z.ZodString>;
21
+ }, z.core.$strip>;
22
+ export type DeleteElementsInput = z.infer<typeof DeleteElementsInputSchema>;
23
+ export declare const DeleteElementsOutputSchema: z.ZodObject<{
24
+ deletedElements: z.ZodArray<z.ZodObject<{
25
+ id: z.ZodString;
26
+ elementTypeId: z.ZodString;
27
+ label: z.ZodOptional<z.ZodString>;
28
+ }, z.core.$strip>>;
29
+ deletedCount: z.ZodNumber;
30
+ }, z.core.$strip>;
31
+ export declare class DeleteElementsMcpToolHandler extends OperationMcpDiagramToolHandler<DeleteElementsInput> {
32
+ static readonly NAME = "delete-elements";
33
+ readonly name = "delete-elements";
34
+ readonly title = "Delete Diagram Elements";
35
+ readonly description: string;
36
+ readonly inputSchema: z.ZodObject<{
37
+ sessionId: z.ZodString;
38
+ elementIds: z.ZodArray<z.ZodString>;
39
+ }, z.core.$strip>;
40
+ readonly outputSchema: z.ZodObject<{
41
+ deletedElements: z.ZodArray<z.ZodObject<{
42
+ id: z.ZodString;
43
+ elementTypeId: z.ZodString;
44
+ label: z.ZodOptional<z.ZodString>;
45
+ }, z.core.$strip>>;
46
+ deletedCount: z.ZodNumber;
47
+ }, z.core.$strip>;
48
+ /** Deletion is the canonical destructive update — flip the operation-base default. */
49
+ readonly destructiveHint = true;
50
+ protected createResult({ elementIds }: DeleteElementsInput): Promise<McpToolResult>;
51
+ }
52
+ //# sourceMappingURL=delete-elements-mcp-tool-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-elements-mcp-tool-handler.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/delete-elements-mcp-tool-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAIlF,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAGH,aAAa,EACb,8BAA8B,EAEjC,MAAM,cAAc,CAAC;AAEtB,eAAO,MAAM,yBAAyB;;;iBAAqD,CAAC;AAC5F,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,0BAA0B;;;;;;;iBAYrC,CAAC;AAEH,qBACa,4BAA6B,SAAQ,8BAA8B,CAAC,mBAAmB,CAAC;IACjG,MAAM,CAAC,QAAQ,CAAC,IAAI,qBAAqB;IACzC,QAAQ,CAAC,IAAI,qBAAqC;IAClD,SAAkB,KAAK,6BAA6B;IACpD,QAAQ,CAAC,WAAW,SAGiF;IACrG,QAAQ,CAAC,WAAW;;;sBAA6B;IACjD,SAAkB,YAAY;;;;;;;sBAA8B;IAC5D,sFAAsF;IACtF,SAAkB,eAAe,QAAQ;cAEzB,YAAY,CAAC,EAAE,UAAU,EAAE,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;CAc5F"}
@@ -0,0 +1,73 @@
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
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
20
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
22
+ };
23
+ var DeleteElementsMcpToolHandler_1;
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.DeleteElementsMcpToolHandler = exports.DeleteElementsOutputSchema = exports.DeleteElementsInputSchema = void 0;
26
+ const server_1 = require("@eclipse-glsp/server");
27
+ const inversify_1 = require("inversify");
28
+ const z = require("zod/v4");
29
+ const server_2 = require("../../server");
30
+ exports.DeleteElementsInputSchema = server_2.McpDiagramScopedInputSchema.extend({ elementIds: server_2.elementIds });
31
+ exports.DeleteElementsOutputSchema = z.object({
32
+ deletedElements: z
33
+ .array(server_2.ElementIdentitySchema)
34
+ .describe('Identity of each element the LLM requested for deletion (captured before dispatch). Dependents auto-deleted by GLSP are not enumerated here.'),
35
+ deletedCount: z
36
+ .number()
37
+ .int()
38
+ .describe('Total number of elements removed from the model. Higher than `deletedElements.length` when dependents (e.g. edges) are auto-deleted.')
39
+ });
40
+ let DeleteElementsMcpToolHandler = DeleteElementsMcpToolHandler_1 = class DeleteElementsMcpToolHandler extends server_2.OperationMcpDiagramToolHandler {
41
+ constructor() {
42
+ super(...arguments);
43
+ this.name = DeleteElementsMcpToolHandler_1.NAME;
44
+ this.title = 'Delete Diagram Elements';
45
+ this.description = 'Delete one or more elements (nodes or edges) from the diagram. ' +
46
+ 'This operation modifies the diagram state and requires user approval. ' +
47
+ 'Automatically handles dependent elements (e.g., deleting a node also deletes connected edges).';
48
+ this.inputSchema = exports.DeleteElementsInputSchema;
49
+ this.outputSchema = exports.DeleteElementsOutputSchema;
50
+ /** Deletion is the canonical destructive update — flip the operation-base default. */
51
+ this.destructiveHint = true;
52
+ }
53
+ async createResult({ elementIds }) {
54
+ const realIds = this.resolveExistingIds(elementIds);
55
+ // Capture identities BEFORE dispatch — once deleted, `describeElement` returns undefined.
56
+ const deletedElements = realIds
57
+ .map(realId => this.describeElement(realId))
58
+ .filter((entry) => entry !== undefined);
59
+ const beforeCount = this.modelState.index.allIds().length;
60
+ await this.actionDispatcher.dispatch(server_1.DeleteElementOperation.create(realIds));
61
+ const deletedCount = beforeCount - this.modelState.index.allIds().length;
62
+ return this.success(`Successfully deleted ${deletedCount} element(s) (including dependents)`, {
63
+ deletedElements,
64
+ deletedCount
65
+ });
66
+ }
67
+ };
68
+ exports.DeleteElementsMcpToolHandler = DeleteElementsMcpToolHandler;
69
+ DeleteElementsMcpToolHandler.NAME = 'delete-elements';
70
+ exports.DeleteElementsMcpToolHandler = DeleteElementsMcpToolHandler = DeleteElementsMcpToolHandler_1 = __decorate([
71
+ (0, inversify_1.injectable)()
72
+ ], DeleteElementsMcpToolHandler);
73
+ //# sourceMappingURL=delete-elements-mcp-tool-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-elements-mcp-tool-handler.js","sourceRoot":"","sources":["../../../src/tools/handlers/delete-elements-mcp-tool-handler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;AAElF,iDAA8D;AAC9D,yCAAuC;AACvC,4BAA4B;AAC5B,yCAMsB;AAET,QAAA,yBAAyB,GAAG,oCAA2B,CAAC,MAAM,CAAC,EAAE,UAAU,EAAV,mBAAU,EAAE,CAAC,CAAC;AAG/E,QAAA,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,eAAe,EAAE,CAAC;SACb,KAAK,CAAC,8BAAqB,CAAC;SAC5B,QAAQ,CACL,8IAA8I,CACjJ;IACL,YAAY,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,CACL,sIAAsI,CACzI;CACR,CAAC,CAAC;AAGI,IAAM,4BAA4B,oCAAlC,MAAM,4BAA6B,SAAQ,uCAAmD;IAA9F;;QAEM,SAAI,GAAG,8BAA4B,CAAC,IAAI,CAAC;QAChC,UAAK,GAAG,yBAAyB,CAAC;QAC3C,gBAAW,GAChB,iEAAiE;YACjE,wEAAwE;YACxE,gGAAgG,CAAC;QAC5F,gBAAW,GAAG,iCAAyB,CAAC;QAC/B,iBAAY,GAAG,kCAA0B,CAAC;QAC5D,sFAAsF;QACpE,oBAAe,GAAG,IAAI,CAAC;IAgB7C,CAAC;IAda,KAAK,CAAC,YAAY,CAAC,EAAE,UAAU,EAAuB;QAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACpD,0FAA0F;QAC1F,MAAM,eAAe,GAAG,OAAO;aAC1B,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;aAC3C,MAAM,CAAC,CAAC,KAAK,EAAsC,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;QAChF,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC;QAC1D,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,+BAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7E,MAAM,YAAY,GAAG,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC;QACzE,OAAO,IAAI,CAAC,OAAO,CAAC,wBAAwB,YAAY,oCAAoC,EAAE;YAC1F,eAAe;YACf,YAAY;SACf,CAAC,CAAC;IACP,CAAC;;AA1BQ,oEAA4B;AACrB,iCAAI,GAAG,iBAAiB,AAApB,CAAqB;uCADhC,4BAA4B;IADxC,IAAA,sBAAU,GAAE;GACA,4BAA4B,CA2BxC"}
@@ -0,0 +1,59 @@
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 { GModelElement } from '@eclipse-glsp/server';
17
+ import * as z from 'zod/v4';
18
+ import { McpModelSerializer } from '../../resources/services/mcp-model-serializer';
19
+ import { AbstractMcpDiagramToolHandler, McpToolResult } from '../../server';
20
+ export declare const DiagramModelInputSchema: z.ZodObject<{
21
+ sessionId: z.ZodString;
22
+ }, z.core.$strip>;
23
+ export type DiagramModelInput = z.infer<typeof DiagramModelInputSchema>;
24
+ /** `.loose()` lets adopter element types attach extra fields (position, size, …) without widening the schema each time. */
25
+ export declare const DiagramModelElementSchema: z.ZodObject<{
26
+ id: z.ZodString;
27
+ type: z.ZodString;
28
+ parentId: z.ZodOptional<z.ZodString>;
29
+ }, z.core.$loose>;
30
+ export declare const DiagramModelOutputSchema: z.ZodObject<{
31
+ sessionId: z.ZodString;
32
+ elements: z.ZodArray<z.ZodObject<{
33
+ id: z.ZodString;
34
+ type: z.ZodString;
35
+ parentId: z.ZodOptional<z.ZodString>;
36
+ }, z.core.$loose>>;
37
+ }, z.core.$strip>;
38
+ export declare class DiagramModelMcpToolHandler extends AbstractMcpDiagramToolHandler<DiagramModelInput> {
39
+ static readonly NAME = "diagram-model";
40
+ readonly name = "diagram-model";
41
+ readonly title = "Diagram Model Structure";
42
+ readonly description: string;
43
+ readonly inputSchema: z.ZodObject<{
44
+ sessionId: z.ZodString;
45
+ }, z.core.$strip>;
46
+ readonly outputSchema: z.ZodObject<{
47
+ sessionId: z.ZodString;
48
+ elements: z.ZodArray<z.ZodObject<{
49
+ id: z.ZodString;
50
+ type: z.ZodString;
51
+ parentId: z.ZodOptional<z.ZodString>;
52
+ }, z.core.$loose>>;
53
+ }, z.core.$strip>;
54
+ protected serializer: McpModelSerializer;
55
+ protected createResult({ sessionId }: DiagramModelInput): McpToolResult;
56
+ /** Builds the LLM-facing summary line. Override to customize per-adopter wording. */
57
+ protected summarizeModel(root: GModelElement, elementCount: number): string;
58
+ }
59
+ //# sourceMappingURL=diagram-model-mcp-tool-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagram-model-mcp-tool-handler.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/diagram-model-mcp-tool-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAA+B,6BAA6B,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAEzG,eAAO,MAAM,uBAAuB;;iBAA8B,CAAC;AACnE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,2HAA2H;AAC3H,eAAO,MAAM,yBAAyB;;;;iBAM1B,CAAC;AAEb,eAAO,MAAM,wBAAwB;;;;;;;iBAGnC,CAAC;AAEH,qBACa,0BAA2B,SAAQ,6BAA6B,CAAC,iBAAiB,CAAC;IAC5F,MAAM,CAAC,QAAQ,CAAC,IAAI,mBAAmB;IACvC,QAAQ,CAAC,IAAI,mBAAmC;IAChD,SAAkB,KAAK,6BAA6B;IACpD,QAAQ,CAAC,WAAW,SAIyB;IAC7C,QAAQ,CAAC,WAAW;;sBAA2B;IAC/C,SAAkB,YAAY;;;;;;;sBAA4B;IAE9B,SAAS,CAAC,UAAU,EAAE,kBAAkB,CAAC;IAErE,SAAS,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,EAAE,iBAAiB,GAAG,aAAa;IAOvE,qFAAqF;IACrF,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;CAG9E"}
@@ -0,0 +1,78 @@
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
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
20
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
22
+ };
23
+ var __metadata = (this && this.__metadata) || function (k, v) {
24
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
25
+ };
26
+ var DiagramModelMcpToolHandler_1;
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.DiagramModelMcpToolHandler = exports.DiagramModelOutputSchema = exports.DiagramModelElementSchema = exports.DiagramModelInputSchema = void 0;
29
+ const inversify_1 = require("inversify");
30
+ const z = require("zod/v4");
31
+ const mcp_model_serializer_1 = require("../../resources/services/mcp-model-serializer");
32
+ const server_1 = require("../../server");
33
+ exports.DiagramModelInputSchema = server_1.McpDiagramScopedInputSchema;
34
+ /** `.loose()` lets adopter element types attach extra fields (position, size, …) without widening the schema each time. */
35
+ exports.DiagramModelElementSchema = z
36
+ .object({
37
+ id: z.string(),
38
+ type: z.string(),
39
+ parentId: z.string().optional()
40
+ })
41
+ .loose();
42
+ exports.DiagramModelOutputSchema = z.object({
43
+ sessionId: z.string(),
44
+ elements: z.array(exports.DiagramModelElementSchema)
45
+ });
46
+ let DiagramModelMcpToolHandler = DiagramModelMcpToolHandler_1 = class DiagramModelMcpToolHandler extends server_1.AbstractMcpDiagramToolHandler {
47
+ constructor() {
48
+ super(...arguments);
49
+ this.name = DiagramModelMcpToolHandler_1.NAME;
50
+ this.title = 'Diagram Model Structure';
51
+ this.description = 'Get the complete GLSP model for a session as a markdown structure. ' +
52
+ 'Includes all nodes, edges, and their relevant properties. ' +
53
+ 'For large diagrams, prefer `query-elements` (filtered listing) or `count-elements` (size summary) ' +
54
+ 'before falling back to this full dump.';
55
+ this.inputSchema = exports.DiagramModelInputSchema;
56
+ this.outputSchema = exports.DiagramModelOutputSchema;
57
+ }
58
+ createResult({ sessionId }) {
59
+ const root = this.modelState.root;
60
+ const structured = this.serializer.serializeStructured(root);
61
+ const count = Array.isArray(structured.elements) ? structured.elements.length : 0;
62
+ return this.success(this.summarizeModel(root, count), { sessionId, ...structured });
63
+ }
64
+ /** Builds the LLM-facing summary line. Override to customize per-adopter wording. */
65
+ summarizeModel(root, elementCount) {
66
+ return `Diagram '${this.aliasService.alias(root.id)}' (${root.type}): ${elementCount} element(s) total. Full structure in structuredContent.`;
67
+ }
68
+ };
69
+ exports.DiagramModelMcpToolHandler = DiagramModelMcpToolHandler;
70
+ DiagramModelMcpToolHandler.NAME = 'diagram-model';
71
+ __decorate([
72
+ (0, inversify_1.inject)(mcp_model_serializer_1.McpModelSerializer),
73
+ __metadata("design:type", Object)
74
+ ], DiagramModelMcpToolHandler.prototype, "serializer", void 0);
75
+ exports.DiagramModelMcpToolHandler = DiagramModelMcpToolHandler = DiagramModelMcpToolHandler_1 = __decorate([
76
+ (0, inversify_1.injectable)()
77
+ ], DiagramModelMcpToolHandler);
78
+ //# sourceMappingURL=diagram-model-mcp-tool-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagram-model-mcp-tool-handler.js","sourceRoot":"","sources":["../../../src/tools/handlers/diagram-model-mcp-tool-handler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;;AAGlF,yCAA+C;AAC/C,4BAA4B;AAC5B,wFAAmF;AACnF,yCAAyG;AAE5F,QAAA,uBAAuB,GAAG,oCAA2B,CAAC;AAGnE,2HAA2H;AAC9G,QAAA,yBAAyB,GAAG,CAAC;KACrC,MAAM,CAAC;IACJ,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC;KACD,KAAK,EAAE,CAAC;AAEA,QAAA,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,iCAAyB,CAAC;CAC/C,CAAC,CAAC;AAGI,IAAM,0BAA0B,kCAAhC,MAAM,0BAA2B,SAAQ,sCAAgD;IAAzF;;QAEM,SAAI,GAAG,4BAA0B,CAAC,IAAI,CAAC;QAC9B,UAAK,GAAG,yBAAyB,CAAC;QAC3C,gBAAW,GAChB,qEAAqE;YACrE,4DAA4D;YAC5D,oGAAoG;YACpG,wCAAwC,CAAC;QACpC,gBAAW,GAAG,+BAAuB,CAAC;QAC7B,iBAAY,GAAG,gCAAwB,CAAC;IAe9D,CAAC;IAXa,YAAY,CAAC,EAAE,SAAS,EAAqB;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,qFAAqF;IAC3E,cAAc,CAAC,IAAmB,EAAE,YAAoB;QAC9D,OAAO,YAAY,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,YAAY,yDAAyD,CAAC;IAClJ,CAAC;;AAxBQ,gEAA0B;AACnB,+BAAI,GAAG,eAAe,AAAlB,CAAmB;AAWD;IAArC,IAAA,kBAAM,EAAC,yCAAkB,CAAC;;8DAA0C;qCAZ5D,0BAA0B;IADtC,IAAA,sBAAU,GAAE;GACA,0BAA0B,CAyBtC"}
@@ -0,0 +1,97 @@
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 } from '@eclipse-glsp/server';
17
+ import { Container, ContainerModule } from 'inversify';
18
+ import * as z from 'zod/v4';
19
+ import { AbstractMcpToolHandler, McpToolResult } from '../../server';
20
+ import { ElementTypes } from '../../resources/services/element-types-provider';
21
+ export declare const ElementTypesInputSchema: z.ZodObject<{
22
+ sessionId: z.ZodOptional<z.ZodString>;
23
+ diagramType: z.ZodOptional<z.ZodString>;
24
+ }, z.core.$strip>;
25
+ export type ElementTypesInput = z.infer<typeof ElementTypesInputSchema>;
26
+ /**
27
+ * `id` + `label` are required (the default registry-scrape provides both); `description` and
28
+ * `acceptsText` are optional adopter-richer fields. `.loose()` lets adopter providers attach
29
+ * arbitrary extra fields without us having to widen the schema each time.
30
+ */
31
+ export declare const ElementTypeEntrySchema: z.ZodObject<{
32
+ id: z.ZodString;
33
+ label: z.ZodString;
34
+ description: z.ZodOptional<z.ZodString>;
35
+ acceptsText: z.ZodOptional<z.ZodBoolean>;
36
+ }, z.core.$loose>;
37
+ export declare const ElementTypesOutputSchema: z.ZodObject<{
38
+ diagramType: z.ZodString;
39
+ nodeTypes: z.ZodArray<z.ZodObject<{
40
+ id: z.ZodString;
41
+ label: z.ZodString;
42
+ description: z.ZodOptional<z.ZodString>;
43
+ acceptsText: z.ZodOptional<z.ZodBoolean>;
44
+ }, z.core.$loose>>;
45
+ edgeTypes: z.ZodArray<z.ZodObject<{
46
+ id: z.ZodString;
47
+ label: z.ZodString;
48
+ description: z.ZodOptional<z.ZodString>;
49
+ acceptsText: z.ZodOptional<z.ZodBoolean>;
50
+ }, z.core.$loose>>;
51
+ }, z.core.$strip>;
52
+ /**
53
+ * Server-scope so the LLM can discover types before opening a session. Lazy-harvests the
54
+ * per-diagram-type {@link ElementTypesProvider} via a temporary child container (same pattern
55
+ * as core's `DefaultGlobalActionProvider`) and caches the result for the server's lifetime —
56
+ * element-type sets are static at runtime, so we pay the harvest cost once per type.
57
+ *
58
+ * Adopters with statically-known type info bind their own {@link ElementTypesProvider} via
59
+ * `bindElementTypesProvider()`; the harvest picks it up without further overrides.
60
+ */
61
+ export declare class ElementTypesMcpToolHandler extends AbstractMcpToolHandler<ElementTypesInput> {
62
+ protected diagramModules: Map<string, ContainerModule[]>;
63
+ protected serverContainer: Container;
64
+ protected clientSessionManager: ClientSessionManager;
65
+ static readonly NAME = "element-types";
66
+ readonly name = "element-types";
67
+ readonly title = "Creatable Element Types";
68
+ readonly description: string;
69
+ readonly inputSchema: z.ZodObject<{
70
+ sessionId: z.ZodOptional<z.ZodString>;
71
+ diagramType: z.ZodOptional<z.ZodString>;
72
+ }, z.core.$strip>;
73
+ readonly outputSchema: z.ZodObject<{
74
+ diagramType: z.ZodString;
75
+ nodeTypes: z.ZodArray<z.ZodObject<{
76
+ id: z.ZodString;
77
+ label: z.ZodString;
78
+ description: z.ZodOptional<z.ZodString>;
79
+ acceptsText: z.ZodOptional<z.ZodBoolean>;
80
+ }, z.core.$loose>>;
81
+ edgeTypes: z.ZodArray<z.ZodObject<{
82
+ id: z.ZodString;
83
+ label: z.ZodString;
84
+ description: z.ZodOptional<z.ZodString>;
85
+ acceptsText: z.ZodOptional<z.ZodBoolean>;
86
+ }, z.core.$loose>>;
87
+ }, z.core.$strip>;
88
+ protected readonly cache: Map<string, ElementTypes>;
89
+ protected createResult({ sessionId, diagramType }: ElementTypesInput): McpToolResult;
90
+ /** Builds the LLM-facing summary. Override to customize per-adopter wording. */
91
+ protected summarizeElementTypes(diagramType: string, nodeTypes: ElementTypes['nodeTypes'], edgeTypes: ElementTypes['edgeTypes']): string;
92
+ protected resolveDiagramType(sessionId: string | undefined): string;
93
+ protected getElementTypes(diagramType: string): ElementTypes;
94
+ /** Runs session-open initializers on a throwaway container so registries (e.g. `OperationHandlerRegistry`) are populated for the provider to scrape. */
95
+ protected harvestElementTypes(diagramType: string): ElementTypes;
96
+ }
97
+ //# sourceMappingURL=element-types-mcp-tool-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element-types-mcp-tool-handler.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/element-types-mcp-tool-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAEH,oBAAoB,EAIvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,eAAe,EAAsB,MAAM,WAAW,CAAC;AAC3E,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAgB,aAAa,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,YAAY,EAAwB,MAAM,iDAAiD,CAAC;AAErG,eAAO,MAAM,uBAAuB;;;iBAGlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;;iBAUvB,CAAC;AAEb,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;iBAInC,CAAC;AAEH;;;;;;;;GAQG;AACH,qBACa,0BAA2B,SAAQ,sBAAsB,CAAC,iBAAiB,CAAC;IAC7D,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IACrD,SAAS,CAAC,eAAe,EAAE,SAAS,CAAC;IACnC,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAEnF,MAAM,CAAC,QAAQ,CAAC,IAAI,mBAAmB;IACvC,QAAQ,CAAC,IAAI,mBAAmC;IAChD,SAAkB,KAAK,6BAA6B;IACpD,QAAQ,CAAC,WAAW,SAIqE;IACzF,QAAQ,CAAC,WAAW;;;sBAA2B;IAC/C,SAAkB,YAAY;;;;;;;;;;;;;;sBAA4B;IAE1D,SAAS,CAAC,QAAQ,CAAC,KAAK,4BAAmC;IAE3D,SAAS,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,iBAAiB,GAAG,aAAa;IAUpF,gFAAgF;IAChF,SAAS,CAAC,qBAAqB,CAC3B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,EACpC,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,GACrC,MAAM;IAST,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM;IAWnE,SAAS,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY;IAS5D,wJAAwJ;IACxJ,SAAS,CAAC,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY;CAoBnE"}