@eclipse-glsp/server-mcp 2.8.0-next.1 → 2.8.0-next.12

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 (190) hide show
  1. package/README.md +7 -7
  2. package/lib/browser/modules/browser-mcp-server-module.js +1 -1
  3. package/lib/browser/modules/browser-mcp-server-module.js.map +1 -1
  4. package/lib/common/modules/abstract-mcp-server-module.d.ts +1 -2
  5. package/lib/common/modules/abstract-mcp-server-module.d.ts.map +1 -1
  6. package/lib/common/modules/abstract-mcp-server-module.js.map +1 -1
  7. package/lib/common/modules/mcp-diagram-module.js +1 -1
  8. package/lib/common/modules/mcp-diagram-module.js.map +1 -1
  9. package/lib/common/prompts/handlers/describe-diagram-mcp-prompt-handler.js +3 -2
  10. package/lib/common/prompts/handlers/describe-diagram-mcp-prompt-handler.js.map +1 -1
  11. package/lib/common/prompts/handlers/suggest-improvements-mcp-prompt-handler.js +3 -2
  12. package/lib/common/prompts/handlers/suggest-improvements-mcp-prompt-handler.js.map +1 -1
  13. package/lib/common/resources/handlers/diagram-png-mcp-resource-handler.js +5 -4
  14. package/lib/common/resources/handlers/diagram-png-mcp-resource-handler.js.map +1 -1
  15. package/lib/common/resources/handlers/diagram-svg-mcp-resource-handler.js +4 -3
  16. package/lib/common/resources/handlers/diagram-svg-mcp-resource-handler.js.map +1 -1
  17. package/lib/common/resources/services/element-types-provider.d.ts.map +1 -1
  18. package/lib/common/resources/services/element-types-provider.js +1 -2
  19. package/lib/common/resources/services/element-types-provider.js.map +1 -1
  20. package/lib/common/resources/services/mcp-model-serializer.d.ts +1 -2
  21. package/lib/common/resources/services/mcp-model-serializer.d.ts.map +1 -1
  22. package/lib/common/resources/services/mcp-model-serializer.js +3 -5
  23. package/lib/common/resources/services/mcp-model-serializer.js.map +1 -1
  24. package/lib/common/server/abstract-mcp-server-launcher.d.ts +3 -4
  25. package/lib/common/server/abstract-mcp-server-launcher.d.ts.map +1 -1
  26. package/lib/common/server/abstract-mcp-server-launcher.js +9 -14
  27. package/lib/common/server/abstract-mcp-server-launcher.js.map +1 -1
  28. package/lib/common/server/glsp-mcp-server.d.ts.map +1 -1
  29. package/lib/common/server/glsp-mcp-server.js +2 -2
  30. package/lib/common/server/glsp-mcp-server.js.map +1 -1
  31. package/lib/common/server/lru-event-store.js +2 -3
  32. package/lib/common/server/lru-event-store.js.map +1 -1
  33. package/lib/common/server/mcp-diagram-handler-dispatcher.d.ts +20 -4
  34. package/lib/common/server/mcp-diagram-handler-dispatcher.d.ts.map +1 -1
  35. package/lib/common/server/mcp-diagram-handler-dispatcher.js +40 -13
  36. package/lib/common/server/mcp-diagram-handler-dispatcher.js.map +1 -1
  37. package/lib/common/server/mcp-handler-shared.d.ts +1 -2
  38. package/lib/common/server/mcp-handler-shared.d.ts.map +1 -1
  39. package/lib/common/server/mcp-handler-shared.js +1 -1
  40. package/lib/common/server/mcp-handler-shared.js.map +1 -1
  41. package/lib/common/server/mcp-id-alias-service.js +1 -2
  42. package/lib/common/server/mcp-id-alias-service.js.map +1 -1
  43. package/lib/common/server/mcp-input-schemas.d.ts +2 -0
  44. package/lib/common/server/mcp-input-schemas.d.ts.map +1 -1
  45. package/lib/common/server/mcp-input-schemas.js +3 -1
  46. package/lib/common/server/mcp-input-schemas.js.map +1 -1
  47. package/lib/common/server/mcp-log-level-registry.js +10 -10
  48. package/lib/common/server/mcp-log-level-registry.js.map +1 -1
  49. package/lib/common/server/mcp-mime-types.d.ts +1 -1
  50. package/lib/common/server/mcp-mime-types.d.ts.map +1 -1
  51. package/lib/common/server/mcp-options.d.ts +1 -1
  52. package/lib/common/server/mcp-options.d.ts.map +1 -1
  53. package/lib/common/server/mcp-progress-reporter.js +1 -2
  54. package/lib/common/server/mcp-progress-reporter.js.map +1 -1
  55. package/lib/common/server/mcp-resource-handler.d.ts +10 -1
  56. package/lib/common/server/mcp-resource-handler.d.ts.map +1 -1
  57. package/lib/common/server/mcp-resource-handler.js +17 -10
  58. package/lib/common/server/mcp-resource-handler.js.map +1 -1
  59. package/lib/common/server/mcp-tool-handler.d.ts +33 -16
  60. package/lib/common/server/mcp-tool-handler.d.ts.map +1 -1
  61. package/lib/common/server/mcp-tool-handler.js +19 -3
  62. package/lib/common/server/mcp-tool-handler.js.map +1 -1
  63. package/lib/common/tools/handlers/count-elements-mcp-tool-handler.d.ts +2 -1
  64. package/lib/common/tools/handlers/count-elements-mcp-tool-handler.d.ts.map +1 -1
  65. package/lib/common/tools/handlers/count-elements-mcp-tool-handler.js +4 -4
  66. package/lib/common/tools/handlers/count-elements-mcp-tool-handler.js.map +1 -1
  67. package/lib/common/tools/handlers/create-edges-mcp-tool-handler.d.ts +2 -1
  68. package/lib/common/tools/handlers/create-edges-mcp-tool-handler.d.ts.map +1 -1
  69. package/lib/common/tools/handlers/create-edges-mcp-tool-handler.js +14 -8
  70. package/lib/common/tools/handlers/create-edges-mcp-tool-handler.js.map +1 -1
  71. package/lib/common/tools/handlers/create-nodes-mcp-tool-handler.d.ts +2 -1
  72. package/lib/common/tools/handlers/create-nodes-mcp-tool-handler.d.ts.map +1 -1
  73. package/lib/common/tools/handlers/create-nodes-mcp-tool-handler.js +18 -10
  74. package/lib/common/tools/handlers/create-nodes-mcp-tool-handler.js.map +1 -1
  75. package/lib/common/tools/handlers/delete-elements-mcp-tool-handler.d.ts +2 -1
  76. package/lib/common/tools/handlers/delete-elements-mcp-tool-handler.d.ts.map +1 -1
  77. package/lib/common/tools/handlers/delete-elements-mcp-tool-handler.js +3 -2
  78. package/lib/common/tools/handlers/delete-elements-mcp-tool-handler.js.map +1 -1
  79. package/lib/common/tools/handlers/diagram-model-mcp-tool-handler.d.ts +2 -1
  80. package/lib/common/tools/handlers/diagram-model-mcp-tool-handler.d.ts.map +1 -1
  81. package/lib/common/tools/handlers/diagram-model-mcp-tool-handler.js +7 -4
  82. package/lib/common/tools/handlers/diagram-model-mcp-tool-handler.js.map +1 -1
  83. package/lib/common/tools/handlers/element-types-mcp-tool-handler.d.ts +2 -1
  84. package/lib/common/tools/handlers/element-types-mcp-tool-handler.d.ts.map +1 -1
  85. package/lib/common/tools/handlers/element-types-mcp-tool-handler.js +8 -5
  86. package/lib/common/tools/handlers/element-types-mcp-tool-handler.js.map +1 -1
  87. package/lib/common/tools/handlers/get-selection-mcp-tool-handler.d.ts +2 -1
  88. package/lib/common/tools/handlers/get-selection-mcp-tool-handler.d.ts.map +1 -1
  89. package/lib/common/tools/handlers/get-selection-mcp-tool-handler.js +3 -2
  90. package/lib/common/tools/handlers/get-selection-mcp-tool-handler.js.map +1 -1
  91. package/lib/common/tools/handlers/layout-mcp-tool-handler.d.ts +5 -2
  92. package/lib/common/tools/handlers/layout-mcp-tool-handler.d.ts.map +1 -1
  93. package/lib/common/tools/handlers/layout-mcp-tool-handler.js +8 -3
  94. package/lib/common/tools/handlers/layout-mcp-tool-handler.js.map +1 -1
  95. package/lib/common/tools/handlers/modify-edges-mcp-tool-handler.d.ts +2 -1
  96. package/lib/common/tools/handlers/modify-edges-mcp-tool-handler.d.ts.map +1 -1
  97. package/lib/common/tools/handlers/modify-edges-mcp-tool-handler.js +13 -9
  98. package/lib/common/tools/handlers/modify-edges-mcp-tool-handler.js.map +1 -1
  99. package/lib/common/tools/handlers/modify-nodes-mcp-tool-handler.d.ts +4 -1
  100. package/lib/common/tools/handlers/modify-nodes-mcp-tool-handler.d.ts.map +1 -1
  101. package/lib/common/tools/handlers/modify-nodes-mcp-tool-handler.js +57 -25
  102. package/lib/common/tools/handlers/modify-nodes-mcp-tool-handler.js.map +1 -1
  103. package/lib/common/tools/handlers/query-elements-mcp-tool-handler.d.ts +2 -1
  104. package/lib/common/tools/handlers/query-elements-mcp-tool-handler.d.ts.map +1 -1
  105. package/lib/common/tools/handlers/query-elements-mcp-tool-handler.js +7 -7
  106. package/lib/common/tools/handlers/query-elements-mcp-tool-handler.js.map +1 -1
  107. package/lib/common/tools/handlers/redo-mcp-tool-handler.d.ts +2 -1
  108. package/lib/common/tools/handlers/redo-mcp-tool-handler.d.ts.map +1 -1
  109. package/lib/common/tools/handlers/redo-mcp-tool-handler.js +10 -5
  110. package/lib/common/tools/handlers/redo-mcp-tool-handler.js.map +1 -1
  111. package/lib/common/tools/handlers/save-model-mcp-tool-handler.d.ts +2 -1
  112. package/lib/common/tools/handlers/save-model-mcp-tool-handler.d.ts.map +1 -1
  113. package/lib/common/tools/handlers/save-model-mcp-tool-handler.js +6 -3
  114. package/lib/common/tools/handlers/save-model-mcp-tool-handler.js.map +1 -1
  115. package/lib/common/tools/handlers/session-info-mcp-tool-handler.d.ts +2 -1
  116. package/lib/common/tools/handlers/session-info-mcp-tool-handler.d.ts.map +1 -1
  117. package/lib/common/tools/handlers/session-info-mcp-tool-handler.js +4 -4
  118. package/lib/common/tools/handlers/session-info-mcp-tool-handler.js.map +1 -1
  119. package/lib/common/tools/handlers/set-selection-mcp-tool-handler.d.ts +2 -1
  120. package/lib/common/tools/handlers/set-selection-mcp-tool-handler.d.ts.map +1 -1
  121. package/lib/common/tools/handlers/set-selection-mcp-tool-handler.js +10 -7
  122. package/lib/common/tools/handlers/set-selection-mcp-tool-handler.js.map +1 -1
  123. package/lib/common/tools/handlers/set-view-mcp-tool-handler.d.ts +2 -1
  124. package/lib/common/tools/handlers/set-view-mcp-tool-handler.d.ts.map +1 -1
  125. package/lib/common/tools/handlers/set-view-mcp-tool-handler.js +6 -5
  126. package/lib/common/tools/handlers/set-view-mcp-tool-handler.js.map +1 -1
  127. package/lib/common/tools/handlers/undo-mcp-tool-handler.d.ts +2 -1
  128. package/lib/common/tools/handlers/undo-mcp-tool-handler.d.ts.map +1 -1
  129. package/lib/common/tools/handlers/undo-mcp-tool-handler.js +10 -5
  130. package/lib/common/tools/handlers/undo-mcp-tool-handler.js.map +1 -1
  131. package/lib/common/tools/handlers/validate-diagram-mcp-tool-handler.d.ts +2 -1
  132. package/lib/common/tools/handlers/validate-diagram-mcp-tool-handler.d.ts.map +1 -1
  133. package/lib/common/tools/handlers/validate-diagram-mcp-tool-handler.js +0 -0
  134. package/lib/common/tools/handlers/validate-diagram-mcp-tool-handler.js.map +1 -1
  135. package/lib/common/util/markdown-util.js +1 -2
  136. package/lib/common/util/markdown-util.js.map +1 -1
  137. package/lib/node/modules/node-mcp-server-module.js +8 -8
  138. package/lib/node/modules/node-mcp-server-module.js.map +1 -1
  139. package/package.json +17 -17
  140. package/src/common/modules/abstract-mcp-server-module.ts +3 -3
  141. package/src/common/modules/mcp-diagram-module.ts +1 -1
  142. package/src/common/resources/services/element-types-provider.ts +2 -1
  143. package/src/common/resources/services/mcp-model-serializer.ts +1 -2
  144. package/src/common/server/abstract-mcp-server-launcher.ts +3 -3
  145. package/src/common/server/glsp-mcp-server.ts +2 -1
  146. package/src/common/server/mcp-diagram-handler-dispatcher.ts +56 -5
  147. package/src/common/server/mcp-handler-shared.ts +2 -4
  148. package/src/common/server/mcp-input-schemas.ts +3 -0
  149. package/src/common/server/mcp-mime-types.ts +1 -1
  150. package/src/common/server/mcp-options.ts +1 -1
  151. package/src/common/server/mcp-resource-handler.ts +14 -2
  152. package/src/common/server/mcp-tool-handler.ts +47 -19
  153. package/src/common/tools/handlers/count-elements-mcp-tool-handler.ts +2 -1
  154. package/src/common/tools/handlers/create-edges-mcp-tool-handler.ts +20 -8
  155. package/src/common/tools/handlers/create-nodes-mcp-tool-handler.ts +19 -8
  156. package/src/common/tools/handlers/delete-elements-mcp-tool-handler.ts +2 -1
  157. package/src/common/tools/handlers/diagram-model-mcp-tool-handler.ts +6 -3
  158. package/src/common/tools/handlers/element-types-mcp-tool-handler.ts +6 -3
  159. package/src/common/tools/handlers/get-selection-mcp-tool-handler.ts +2 -1
  160. package/src/common/tools/handlers/layout-mcp-tool-handler.ts +8 -2
  161. package/src/common/tools/handlers/modify-edges-mcp-tool-handler.ts +14 -8
  162. package/src/common/tools/handlers/modify-nodes-mcp-tool-handler.ts +63 -25
  163. package/src/common/tools/handlers/query-elements-mcp-tool-handler.ts +2 -1
  164. package/src/common/tools/handlers/redo-mcp-tool-handler.ts +9 -4
  165. package/src/common/tools/handlers/save-model-mcp-tool-handler.ts +5 -2
  166. package/src/common/tools/handlers/session-info-mcp-tool-handler.ts +2 -1
  167. package/src/common/tools/handlers/set-selection-mcp-tool-handler.ts +8 -5
  168. package/src/common/tools/handlers/set-view-mcp-tool-handler.ts +3 -2
  169. package/src/common/tools/handlers/undo-mcp-tool-handler.ts +9 -4
  170. package/src/common/tools/handlers/validate-diagram-mcp-tool-handler.ts +0 -0
  171. package/src/common/server/abstract-mcp-server-launcher.spec.ts +0 -458
  172. package/src/common/server/glsp-mcp-server.spec.ts +0 -73
  173. package/src/common/server/lru-event-store.spec.ts +0 -121
  174. package/src/common/server/mcp-diagram-handler-dispatcher.spec.ts +0 -231
  175. package/src/common/server/mcp-handler-shared.spec.ts +0 -53
  176. package/src/common/server/mcp-id-alias-service.spec.ts +0 -106
  177. package/src/common/server/mcp-log-level-registry.spec.ts +0 -75
  178. package/src/common/server/mcp-logger.spec.ts +0 -235
  179. package/src/common/server/mcp-progress-reporter.spec.ts +0 -103
  180. package/src/common/server/mcp-tool-handler.spec.ts +0 -182
  181. package/src/common/tools/handlers/count-elements-mcp-tool-handler.spec.ts +0 -101
  182. package/src/common/tools/handlers/create-edges-mcp-tool-handler.spec.ts +0 -198
  183. package/src/common/tools/handlers/create-nodes-mcp-tool-handler.spec.ts +0 -199
  184. package/src/common/tools/handlers/query-elements-mcp-tool-handler.spec.ts +0 -212
  185. package/src/common/tools/handlers/session-info-mcp-tool-handler.spec.ts +0 -152
  186. package/src/common/tools/handlers/set-selection-mcp-tool-handler.spec.ts +0 -120
  187. package/src/common/tools/tool-annotations.spec.ts +0 -141
  188. package/src/node/server/mcp-http-transport-e2e.spec.ts +0 -297
  189. package/src/node/server/node-mcp-server-launcher.spec.ts +0 -184
  190. package/src/node/server/raw-http.spec.ts +0 -59
@@ -1 +1 @@
1
- {"version":3,"file":"modify-edges-mcp-tool-handler.js","sourceRoot":"","sources":["../../../../src/common/tools/handlers/modify-edges-mcp-tool-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modify-edges-mcp-tool-handler.js","sourceRoot":"","sources":["../../../../src/common/tools/handlers/modify-edges-mcp-tool-handler.ts"],"names":[],"mappings":"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"}
@@ -57,9 +57,11 @@ export declare const ModifyNodesOutputSchema: z.ZodObject<{
57
57
  label: z.ZodOptional<z.ZodString>;
58
58
  }, z.core.$strip>>;
59
59
  dispatchedCommands: z.ZodNumber;
60
+ errors: z.ZodArray<z.ZodString>;
60
61
  warnings: z.ZodArray<z.ZodString>;
61
62
  }, z.core.$strip>;
62
- export declare class ModifyNodesMcpToolHandler extends OperationMcpDiagramToolHandler<ModifyNodesInput> {
63
+ export type ModifyNodesOutput = z.infer<typeof ModifyNodesOutputSchema>;
64
+ export declare class ModifyNodesMcpToolHandler extends OperationMcpDiagramToolHandler<ModifyNodesInput, ModifyNodesOutput> {
63
65
  static readonly NAME = "modify-nodes";
64
66
  readonly name = "modify-nodes";
65
67
  readonly title = "Modify Diagram Nodes";
@@ -86,6 +88,7 @@ export declare class ModifyNodesMcpToolHandler extends OperationMcpDiagramToolHa
86
88
  label: z.ZodOptional<z.ZodString>;
87
89
  }, z.core.$strip>>;
88
90
  dispatchedCommands: z.ZodNumber;
91
+ errors: z.ZodArray<z.ZodString>;
89
92
  warnings: z.ZodArray<z.ZodString>;
90
93
  }, z.core.$strip>;
91
94
  protected createResult({ nodes }: ModifyNodesInput): Promise<McpToolResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"modify-nodes-mcp-tool-handler.d.ts","sourceRoot":"","sources":["../../../../src/common/tools/handlers/modify-nodes-mcp-tool-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAIlF,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAgB,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAQ9E,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAG/E,oFAAoF;AACpF,eAAO,MAAM,cAAc;;;kBAGzB,CAAC;AAEH,sIAAsI;AACtI,eAAO,MAAM,oBAAoB;;;;;;;;;;;kBAK/B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;iBAKjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,uBAAuB;;;;;;;;iBAUlC,CAAC;AAEH,qBACa,yBAA0B,SAAQ,8BAA8B,CAAC,gBAAgB,CAAC;IAC3F,MAAM,CAAC,QAAQ,CAAC,IAAI,kBAAkB;IACtC,QAAQ,CAAC,IAAI,kBAAkC;IAC/C,SAAkB,KAAK,0BAA0B;IACjD,QAAQ,CAAC,WAAW,SAMsD;IAC1E,QAAQ,CAAC,WAAW;;;;;;;;;;;;;;sBAA0B;IAC9C,SAAkB,YAAY;;;;;;;;sBAA2B;cAEzC,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC;CA4DpF"}
1
+ {"version":3,"file":"modify-nodes-mcp-tool-handler.d.ts","sourceRoot":"","sources":["../../../../src/common/tools/handlers/modify-nodes-mcp-tool-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAIlF,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAgB,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAQ9E,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAG/E,oFAAoF;AACpF,eAAO,MAAM,cAAc;;;kBAGzB,CAAC;AAEH,sIAAsI;AACtI,eAAO,MAAM,oBAAoB;;;;;;;;;;;kBAW/B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;iBAKjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,uBAAuB;;;;;;;;;iBAWlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,qBACa,yBAA0B,SAAQ,8BAA8B,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;IAC9G,MAAM,CAAC,QAAQ,CAAC,IAAI,kBAAkB;IACtC,QAAQ,CAAC,IAAI,kBAAkC;IAC/C,SAAkB,KAAK,0BAA0B;IACjD,QAAQ,CAAC,WAAW,SAMsD;IAC1E,QAAQ,CAAC,WAAW;;;;;;;;;;;;;;sBAA0B;IAC9C,SAAkB,YAAY;;;;;;;;;sBAA2B;cAEzC,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC;CA0FpF"}
@@ -38,7 +38,11 @@ exports.NodeSizeSchema = z.strictObject({
38
38
  /** Single node-modification entry. Strict so an LLM-typoed field surfaces as a validation error instead of being silently dropped. */
39
39
  exports.ModifyNodeSpecSchema = z.strictObject({
40
40
  elementId: mcp_input_schemas_1.elementId,
41
- position: mcp_input_schemas_1.position.optional().describe('Position where the node should be moved to (absolute diagram coordinates)'),
41
+ position: mcp_input_schemas_1.position
42
+ .optional()
43
+ .describe('Position where the node should be moved to, relative to the parent element ' +
44
+ '(identical to absolute diagram coordinates for direct children of the root, which is the common case). ' +
45
+ 'Matches the `position` reported by `query-elements`. Note `create-nodes` takes absolute coordinates instead.'),
42
46
  size: exports.NodeSizeSchema.optional().describe('New size of the node'),
43
47
  text: z.string().optional().describe("Label text to use instead (given that the element's type allows for labels).")
44
48
  });
@@ -53,11 +57,12 @@ exports.ModifyNodesOutputSchema = z.object({
53
57
  .array(mcp_input_schemas_1.ElementIdentitySchema)
54
58
  .describe('Identity of each node whose change request was dispatched (post-modification labels).'),
55
59
  dispatchedCommands: mcp_input_schemas_1.dispatchedCommands,
60
+ errors: z.array(z.string()).describe('Per-input failure messages; absent or empty when every input succeeded.'),
56
61
  warnings: z
57
62
  .array(z.string())
58
63
  .describe('Soft notices for inputs whose change applied with caveats (e.g. `text` supplied for a node whose type has no editable label).')
59
64
  });
60
- let ModifyNodesMcpToolHandler = ModifyNodesMcpToolHandler_1 = class ModifyNodesMcpToolHandler extends mcp_tool_handler_1.OperationMcpDiagramToolHandler {
65
+ let ModifyNodesMcpToolHandler = class ModifyNodesMcpToolHandler extends mcp_tool_handler_1.OperationMcpDiagramToolHandler {
61
66
  constructor() {
62
67
  super(...arguments);
63
68
  this.name = ModifyNodesMcpToolHandler_1.NAME;
@@ -71,6 +76,8 @@ let ModifyNodesMcpToolHandler = ModifyNodesMcpToolHandler_1 = class ModifyNodesM
71
76
  this.inputSchema = exports.ModifyNodesInputSchema;
72
77
  this.outputSchema = exports.ModifyNodesOutputSchema;
73
78
  }
79
+ static { ModifyNodesMcpToolHandler_1 = this; }
80
+ static { this.NAME = 'modify-nodes'; }
74
81
  async createResult({ nodes }) {
75
82
  const elements = this.lookupElements(nodes, change => change.elementId);
76
83
  // Reject edge ids — they have no `position`/`size` semantics and would fail downstream
@@ -80,47 +87,72 @@ let ModifyNodesMcpToolHandler = ModifyNodesMcpToolHandler_1 = class ModifyNodesM
80
87
  if (wrongType.length) {
81
88
  throw new mcp_handler_shared_1.McpToolError(`modify-nodes does not accept edges — got: ${wrongType.join(', ')}. Use modify-edges for edges.`);
82
89
  }
83
- // Reject any other non-shape kinds (labels, compartments, ports, custom kinds) they
84
- // reach the index too and would silently produce no-op or undefined-bounds operations.
85
- const nonShape = elements.filter(([, element]) => !(element instanceof server_1.GShapeElement)).map(([change]) => `'${change.elementId}'`);
86
- if (nonShape.length) {
87
- throw new mcp_handler_shared_1.McpToolError(`modify-nodes only accepts shape elements — got: ${nonShape.join(', ')}. ` +
88
- 'Use `query-elements` (inspect mode) to find shape ids, or pick the parent shape.');
90
+ // The root has no bounds of its own, and a `text` edit against it would rename whatever
91
+ // top-level `GLabel` the label provider happens to find first.
92
+ const roots = elements.filter(([, element]) => element instanceof server_1.GModelRoot).map(([change]) => `'${change.elementId}'`);
93
+ if (roots.length) {
94
+ throw new mcp_handler_shared_1.McpToolError(`modify-nodes does not accept the diagram root — got: ${roots.join(', ')}. Target a node inside the diagram instead.`);
89
95
  }
90
- // Modifications are independent of each other dispatch in parallel.
91
- const promises = [];
96
+ // Core's `GModelChangeBoundsOperationHandler` only applies bounds to a `GNode`
97
+ // (`findByClass`). Label-only edits stay open to every element kind.
98
+ const unmovable = elements
99
+ .filter(([change, element]) => (change.position || change.size) && !(element instanceof server_1.GNode))
100
+ .map(([change, element]) => `'${change.elementId}' (type '${element.type}')`);
101
+ if (unmovable.length) {
102
+ throw new mcp_handler_shared_1.McpToolError(`modify-nodes can only change \`position\` / \`size\` of nodes — got: ${unmovable.join(', ')}. ` +
103
+ 'Use `query-elements` (inspect mode) to find node ids, or target the parent node.');
104
+ }
105
+ // Modifications are independent of each other — dispatch in parallel. `allSettled` so one
106
+ // failed dispatch surfaces in `errors` instead of rejecting the whole call and losing the
107
+ // other outcomes, which have already mutated the model.
108
+ const dispatched = [];
109
+ const errors = [];
92
110
  const warnings = [];
93
111
  elements.forEach(([change, element]) => {
94
- var _a;
95
- // Guaranteed non-null and shape-typed by the missing-elements / nonShape checks above.
96
- const resolved = element;
97
112
  const { size, position, text } = change;
98
113
  const realId = this.aliasService.lookup(change.elementId);
99
- if (size || position) {
100
- const newSize = size !== null && size !== void 0 ? size : resolved.size;
101
- const newPosition = position !== null && position !== void 0 ? position : resolved.position;
114
+ if (!size && !position && !text) {
115
+ errors.push(`No change requested for node '${change.elementId}' provide \`position\`, \`size\` or a non-empty \`text\`.`);
116
+ return;
117
+ }
118
+ if ((size || position) && element instanceof server_1.GNode) {
119
+ const newSize = size ?? element.size;
120
+ const newPosition = position ?? element.position;
102
121
  const operation = server_1.ChangeBoundsOperation.create([{ elementId: realId, newSize, newPosition }]);
103
- promises.push(this.actionDispatcher.dispatch(operation));
122
+ dispatched.push({ promise: this.actionDispatcher.dispatch(operation), inputId: change.elementId });
104
123
  }
105
124
  if (text) {
106
- const labelId = (_a = this.labelProvider.getLabel(resolved)) === null || _a === void 0 ? void 0 : _a.id;
125
+ const labelId = this.labelProvider.getLabel(element)?.id;
107
126
  if (labelId) {
108
- promises.push(this.actionDispatcher.dispatch(server_1.ApplyLabelEditOperation.create({ labelId, text })));
127
+ const operation = server_1.ApplyLabelEditOperation.create({ labelId, text });
128
+ dispatched.push({ promise: this.actionDispatcher.dispatch(operation), inputId: change.elementId });
109
129
  }
110
130
  else {
111
- warnings.push(`Ignored \`text\` for '${change.elementId}' (type '${resolved.type}') — this element has no editable label.`);
131
+ warnings.push(`Ignored \`text\` for '${change.elementId}' (type '${element.type}') — this element has no editable label.`);
112
132
  }
113
133
  }
114
134
  });
115
- await Promise.all(promises);
116
- const modifiedNodes = nodes
117
- .map(change => this.describeElement(change.elementId))
135
+ const results = await Promise.allSettled(dispatched.map(entry => entry.promise));
136
+ const modifiedInputIds = new Set();
137
+ results.forEach((result, index) => {
138
+ const { inputId } = dispatched[index];
139
+ if (result.status === 'rejected') {
140
+ const reason = result.reason instanceof Error ? result.reason.message : String(result.reason);
141
+ errors.push(`Failed to modify node '${inputId}': ${reason}`);
142
+ }
143
+ else {
144
+ modifiedInputIds.add(inputId);
145
+ }
146
+ });
147
+ const modifiedNodes = [...modifiedInputIds]
148
+ .map(inputId => this.describeElement(inputId))
118
149
  .filter((entry) => entry !== undefined);
119
- return this.success(`Successfully modified ${nodes.length} node(s) (in ${promises.length} commands)` + (0, mcp_util_1.formatNoticeList)('warnings', warnings), { modifiedNodes, dispatchedCommands: promises.length, warnings });
150
+ return this.success(`Successfully modified ${modifiedNodes.length} node(s) (in ${dispatched.length} commands)` +
151
+ (0, mcp_util_1.formatNoticeList)('errors', errors) +
152
+ (0, mcp_util_1.formatNoticeList)('warnings', warnings), { modifiedNodes, dispatchedCommands: dispatched.length, errors, warnings });
120
153
  }
121
154
  };
122
155
  exports.ModifyNodesMcpToolHandler = ModifyNodesMcpToolHandler;
123
- ModifyNodesMcpToolHandler.NAME = 'modify-nodes';
124
156
  exports.ModifyNodesMcpToolHandler = ModifyNodesMcpToolHandler = ModifyNodesMcpToolHandler_1 = __decorate([
125
157
  (0, inversify_1.injectable)()
126
158
  ], ModifyNodesMcpToolHandler);
@@ -1 +1 @@
1
- {"version":3,"file":"modify-nodes-mcp-tool-handler.js","sourceRoot":"","sources":["../../../../src/common/tools/handlers/modify-nodes-mcp-tool-handler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;AAElF,iDAA4G;AAC5G,yCAAuC;AACvC,4BAA4B;AAC5B,wEAA8E;AAC9E,sEAMwC;AACxC,oEAA+E;AAC/E,kDAAuD;AAEvD,oFAAoF;AACvE,QAAA,cAAc,GAAG,CAAC,CAAC,YAAY,CAAC;IACzC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;IAC7F,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;CAClG,CAAC,CAAC;AAEH,sIAAsI;AACzH,QAAA,oBAAoB,GAAG,CAAC,CAAC,YAAY,CAAC;IAC/C,SAAS,EAAT,6BAAS;IACT,QAAQ,EAAE,4BAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2EAA2E,CAAC;IACnH,IAAI,EAAE,sBAAc,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAChE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8EAA8E,CAAC;CACvH,CAAC,CAAC;AAEU,QAAA,sBAAsB,GAAG,+CAA2B,CAAC,MAAM,CAAC;IACrE,KAAK,EAAE,CAAC;SACH,KAAK,CAAC,4BAAoB,CAAC;SAC3B,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,mHAAmH,CAAC;CACrI,CAAC,CAAC;AAGU,QAAA,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,aAAa,EAAE,CAAC;SACX,KAAK,CAAC,yCAAqB,CAAC;SAC5B,QAAQ,CAAC,uFAAuF,CAAC;IACtG,kBAAkB,EAAlB,sCAAkB;IAClB,QAAQ,EAAE,CAAC;SACN,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,CACL,+HAA+H,CAClI;CACR,CAAC,CAAC;AAGI,IAAM,yBAAyB,iCAA/B,MAAM,yBAA0B,SAAQ,iDAAgD;IAAxF;;QAEM,SAAI,GAAG,2BAAyB,CAAC,IAAI,CAAC;QAC7B,UAAK,GAAG,sBAAsB,CAAC;QACxC,gBAAW,GAChB,yFAAyF;YACzF,+FAA+F;YAC/F,sEAAsE;YACtE,4HAA4H;YAC5H,wEAAwE;YACxE,qEAAqE,CAAC;QACjE,gBAAW,GAAG,8BAAsB,CAAC;QAC5B,iBAAY,GAAG,+BAAuB,CAAC;IA8D7D,CAAC;IA5Da,KAAK,CAAC,YAAY,CAAC,EAAE,KAAK,EAAoB;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAExE,uFAAuF;QACvF,wFAAwF;QACxF,8FAA8F;QAC9F,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,YAAY,cAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;QACxH,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,iCAAY,CAAC,6CAA6C,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC7H,CAAC;QAED,sFAAsF;QACtF,uFAAuF;QACvF,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,YAAY,sBAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;QAClI,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,IAAI,iCAAY,CAClB,mDAAmD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBACtE,kFAAkF,CACzF,CAAC;QACN,CAAC;QAED,sEAAsE;QACtE,MAAM,QAAQ,GAAoB,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE;;YACnC,uFAAuF;YACvF,MAAM,QAAQ,GAAG,OAAwB,CAAC;YAC1C,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;YACxC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAE1D,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;gBACnB,MAAM,OAAO,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,QAAQ,CAAC,IAAI,CAAC;gBACtC,MAAM,WAAW,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,QAAQ,CAAC,QAAQ,CAAC;gBAElD,MAAM,SAAS,GAAG,8BAAqB,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;gBAC9F,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;YAC7D,CAAC;YAED,IAAI,IAAI,EAAE,CAAC;gBACP,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,0CAAE,EAAE,CAAC;gBAC1D,IAAI,OAAO,EAAE,CAAC;oBACV,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,gCAAuB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACrG,CAAC;qBAAM,CAAC;oBACJ,QAAQ,CAAC,IAAI,CACT,yBAAyB,MAAM,CAAC,SAAS,YAAY,QAAQ,CAAC,IAAI,0CAA0C,CAC/G,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE5B,MAAM,aAAa,GAAG,KAAK;aACtB,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;aACrD,MAAM,CAAC,CAAC,KAAK,EAAsC,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;QAChF,OAAO,IAAI,CAAC,OAAO,CACf,yBAAyB,KAAK,CAAC,MAAM,gBAAgB,QAAQ,CAAC,MAAM,YAAY,GAAG,IAAA,2BAAgB,EAAC,UAAU,EAAE,QAAQ,CAAC,EACzH,EAAE,aAAa,EAAE,kBAAkB,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,CACnE,CAAC;IACN,CAAC;;AAzEQ,8DAAyB;AAClB,8BAAI,GAAG,cAAc,AAAjB,CAAkB;oCAD7B,yBAAyB;IADrC,IAAA,sBAAU,GAAE;GACA,yBAAyB,CA0ErC"}
1
+ {"version":3,"file":"modify-nodes-mcp-tool-handler.js","sourceRoot":"","sources":["../../../../src/common/tools/handlers/modify-nodes-mcp-tool-handler.ts"],"names":[],"mappings":"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"}
@@ -55,8 +55,9 @@ export declare const QueryElementsOutputSchema: z.ZodObject<{
55
55
  truncated: z.ZodOptional<z.ZodBoolean>;
56
56
  expandedFromContainers: z.ZodOptional<z.ZodArray<z.ZodString>>;
57
57
  }, z.core.$strip>;
58
+ export type QueryElementsOutput = z.infer<typeof QueryElementsOutputSchema>;
58
59
  /** Two-mode element query — list/filter or inspect-by-id, discriminated by `elementIds` presence. */
59
- export declare class QueryElementsMcpToolHandler extends AbstractMcpDiagramToolHandler<QueryElementsInput> {
60
+ export declare class QueryElementsMcpToolHandler extends AbstractMcpDiagramToolHandler<QueryElementsInput, QueryElementsOutput> {
60
61
  static readonly NAME = "query-elements";
61
62
  readonly name = "query-elements";
62
63
  readonly title = "Query Diagram Elements";
@@ -1 +1 @@
1
- {"version":3,"file":"query-elements-mcp-tool-handler.d.ts","sourceRoot":"","sources":["../../../../src/common/tools/handlers/query-elements-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,EAA4B,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAE1F,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAE9E,eAAO,MAAM,wBAAwB;;;;;;iBAOnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,uBAAuB;;;;iBAIlC,CAAC;AAEH,2HAA2H;AAC3H,eAAO,MAAM,oBAAoB;;;;iBAMrB,CAAC;AAEb,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;iBAYpC,CAAC;AAEH,qGAAqG;AACrG,qBACa,2BAA4B,SAAQ,6BAA6B,CAAC,kBAAkB,CAAC;IAC9F,MAAM,CAAC,QAAQ,CAAC,IAAI,oBAAoB;IACxC,QAAQ,CAAC,IAAI,oBAAoC;IACjD,SAAkB,KAAK,4BAA4B;IACnD,QAAQ,CAAC,WAAW,SAI8E;IAClG,QAAQ,CAAC,WAAW;;;;;;sBAA4B;IAChD,SAAkB,YAAY;;;;;;;;;;;;;;;;;sBAA6B;IAE/B,SAAS,CAAC,UAAU,EAAE,kBAAkB,CAAC;IAErE,0FAA0F;IAC1F,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAO;cAE9B,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IAIhF,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,aAAa;IA2BpD,iGAAiG;IACjG,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,sBAAsB,EAAE,MAAM,EAAE,GAAG,MAAM;IAO/F,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,kBAAkB,GAAG,aAAa;IA8B/E,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM;CAKhH"}
1
+ {"version":3,"file":"query-elements-mcp-tool-handler.d.ts","sourceRoot":"","sources":["../../../../src/common/tools/handlers/query-elements-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,EAA4B,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAE1F,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAE9E,eAAO,MAAM,wBAAwB;;;;;;iBAOnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,uBAAuB;;;;iBAIlC,CAAC;AAEH,2HAA2H;AAC3H,eAAO,MAAM,oBAAoB;;;;iBAMrB,CAAC;AAEb,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;iBAYpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,qGAAqG;AACrG,qBACa,2BAA4B,SAAQ,6BAA6B,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;IACnH,MAAM,CAAC,QAAQ,CAAC,IAAI,oBAAoB;IACxC,QAAQ,CAAC,IAAI,oBAAoC;IACjD,SAAkB,KAAK,4BAA4B;IACnD,QAAQ,CAAC,WAAW,SAI8E;IAClG,QAAQ,CAAC,WAAW;;;;;;sBAA4B;IAChD,SAAkB,YAAY;;;;;;;;;;;;;;;;;sBAA6B;IAE/B,SAAS,CAAC,UAAU,EAAE,kBAAkB,CAAC;IAErE,0FAA0F;IAC1F,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAO;cAE9B,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IAIhF,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,aAAa;IA2BpD,iGAAiG;IACjG,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,sBAAsB,EAAE,MAAM,EAAE,GAAG,MAAM;IAO/F,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,kBAAkB,GAAG,aAAa;IA8B/E,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM;CAKhH"}
@@ -65,7 +65,7 @@ exports.QueryElementsOutputSchema = z.object({
65
65
  'The `elements` array then includes the container plus its descendants.')
66
66
  });
67
67
  /** Two-mode element query — list/filter or inspect-by-id, discriminated by `elementIds` presence. */
68
- let QueryElementsMcpToolHandler = QueryElementsMcpToolHandler_1 = class QueryElementsMcpToolHandler extends mcp_tool_handler_1.AbstractMcpDiagramToolHandler {
68
+ let QueryElementsMcpToolHandler = class QueryElementsMcpToolHandler extends mcp_tool_handler_1.AbstractMcpDiagramToolHandler {
69
69
  constructor() {
70
70
  super(...arguments);
71
71
  this.name = QueryElementsMcpToolHandler_1.NAME;
@@ -79,6 +79,8 @@ let QueryElementsMcpToolHandler = QueryElementsMcpToolHandler_1 = class QueryEle
79
79
  /** List-mode result cap when the call doesn't override `limit`. Override via subclass. */
80
80
  this.defaultLimit = 100;
81
81
  }
82
+ static { QueryElementsMcpToolHandler_1 = this; }
83
+ static { this.NAME = 'query-elements'; }
82
84
  async createResult(params) {
83
85
  return params.elementIds && params.elementIds.length > 0 ? this.inspect(params.elementIds) : this.list(params);
84
86
  }
@@ -115,10 +117,9 @@ let QueryElementsMcpToolHandler = QueryElementsMcpToolHandler_1 = class QueryEle
115
117
  return `Inspected ${elements.length} element(s); full data in structuredContent.\n${lines.join('\n')}${expansionNote}`;
116
118
  }
117
119
  list({ types, labelMatch, limit }) {
118
- var _a;
119
- const cap = limit !== null && limit !== void 0 ? limit : this.defaultLimit;
120
+ const cap = limit ?? this.defaultLimit;
120
121
  const typeFilter = types && types.length > 0 ? new Set(types) : undefined;
121
- const needle = labelMatch === null || labelMatch === void 0 ? void 0 : labelMatch.toLowerCase();
122
+ const needle = labelMatch?.toLowerCase();
122
123
  const matches = [];
123
124
  let truncated = false;
124
125
  for (const id of this.modelState.index.allIds()) {
@@ -129,8 +130,8 @@ let QueryElementsMcpToolHandler = QueryElementsMcpToolHandler_1 = class QueryEle
129
130
  if (typeFilter && !typeFilter.has(element.type)) {
130
131
  continue;
131
132
  }
132
- const label = (_a = this.labelProvider.getLabel(element)) === null || _a === void 0 ? void 0 : _a.text;
133
- if (needle !== undefined && !(label === null || label === void 0 ? void 0 : label.toLowerCase().includes(needle))) {
133
+ const label = this.labelProvider.getLabel(element)?.text;
134
+ if (needle !== undefined && !label?.toLowerCase().includes(needle)) {
134
135
  continue;
135
136
  }
136
137
  if (matches.length >= cap) {
@@ -149,7 +150,6 @@ let QueryElementsMcpToolHandler = QueryElementsMcpToolHandler_1 = class QueryEle
149
150
  }
150
151
  };
151
152
  exports.QueryElementsMcpToolHandler = QueryElementsMcpToolHandler;
152
- QueryElementsMcpToolHandler.NAME = 'query-elements';
153
153
  __decorate([
154
154
  (0, inversify_1.inject)(mcp_model_serializer_1.McpModelSerializer),
155
155
  __metadata("design:type", Object)
@@ -1 +1 @@
1
- {"version":3,"file":"query-elements-mcp-tool-handler.js","sourceRoot":"","sources":["../../../../src/common/tools/handlers/query-elements-mcp-tool-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-elements-mcp-tool-handler.js","sourceRoot":"","sources":["../../../../src/common/tools/handlers/query-elements-mcp-tool-handler.ts"],"names":[],"mappings":"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"}
@@ -25,10 +25,11 @@ export type RedoInput = z.infer<typeof RedoInputSchema>;
25
25
  export declare const RedoOutputSchema: z.ZodObject<{
26
26
  commandsRedone: z.ZodNumber;
27
27
  }, z.core.$strip>;
28
+ export type RedoOutput = z.infer<typeof RedoOutputSchema>;
28
29
  /**
29
30
  * Redo a given number of the most recent undone actions on the command stack.
30
31
  */
31
- export declare class RedoMcpToolHandler extends OperationMcpDiagramToolHandler<RedoInput> {
32
+ export declare class RedoMcpToolHandler extends OperationMcpDiagramToolHandler<RedoInput, RedoOutput> {
32
33
  static readonly NAME = "redo";
33
34
  readonly name = "redo";
34
35
  readonly title = "Redo Diagram Commands";
@@ -1 +1 @@
1
- {"version":3,"file":"redo-mcp-tool-handler.d.ts","sourceRoot":"","sources":["../../../../src/common/tools/handlers/redo-mcp-tool-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,YAAY,EAAc,MAAM,sBAAsB,CAAC;AAEhE,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAgB,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAE9E,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAE/E,eAAO,MAAM,eAAe;;;iBAE1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,gBAAgB;;iBAE3B,CAAC;AAEH;;GAEG;AACH,qBACa,kBAAmB,SAAQ,8BAA8B,CAAC,SAAS,CAAC;IAC7E,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,QAAQ,CAAC,IAAI,UAA2B;IACxC,SAAkB,KAAK,2BAA2B;IAClD,QAAQ,CAAC,WAAW,SAI8C;IAClE,QAAQ,CAAC,WAAW;;;sBAAmB;IACvC,SAAkB,YAAY;;sBAAoB;IAE5B,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;cAE3C,YAAY,CAAC,EAAE,cAAc,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;CAatF"}
1
+ {"version":3,"file":"redo-mcp-tool-handler.d.ts","sourceRoot":"","sources":["../../../../src/common/tools/handlers/redo-mcp-tool-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,YAAY,EAAc,MAAM,sBAAsB,CAAC;AAEhE,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAgB,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAE9E,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAE/E,eAAO,MAAM,eAAe;;;iBAE1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,gBAAgB;;iBAE3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D;;GAEG;AACH,qBACa,kBAAmB,SAAQ,8BAA8B,CAAC,SAAS,EAAE,UAAU,CAAC;IACzF,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,QAAQ,CAAC,IAAI,UAA2B;IACxC,SAAkB,KAAK,2BAA2B;IAClD,QAAQ,CAAC,WAAW,SAI8C;IAClE,QAAQ,CAAC,WAAW;;;sBAAmB;IACvC,SAAkB,YAAY;;sBAAoB;IAE5B,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;cAE3C,YAAY,CAAC,EAAE,cAAc,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;CAiBtF"}
@@ -33,7 +33,7 @@ const mcp_handler_shared_1 = require("../../server/mcp-handler-shared");
33
33
  const mcp_input_schemas_1 = require("../../server/mcp-input-schemas");
34
34
  const mcp_tool_handler_1 = require("../../server/mcp-tool-handler");
35
35
  exports.RedoInputSchema = mcp_input_schemas_1.McpDiagramScopedInputSchema.extend({
36
- commandsToRedo: z.number().min(1).default(1).describe('Number of commands to redo. Defaults to 1 (most recent undone command).')
36
+ commandsToRedo: z.number().int().min(1).default(1).describe('Number of commands to redo. Defaults to 1 (most recent undone command).')
37
37
  });
38
38
  exports.RedoOutputSchema = z.object({
39
39
  commandsRedone: z.number().int().describe('Number of previously-undone commands re-applied.')
@@ -41,7 +41,7 @@ exports.RedoOutputSchema = z.object({
41
41
  /**
42
42
  * Redo a given number of the most recent undone actions on the command stack.
43
43
  */
44
- let RedoMcpToolHandler = RedoMcpToolHandler_1 = class RedoMcpToolHandler extends mcp_tool_handler_1.OperationMcpDiagramToolHandler {
44
+ let RedoMcpToolHandler = class RedoMcpToolHandler extends mcp_tool_handler_1.OperationMcpDiagramToolHandler {
45
45
  constructor() {
46
46
  super(...arguments);
47
47
  this.name = RedoMcpToolHandler_1.NAME;
@@ -53,18 +53,23 @@ let RedoMcpToolHandler = RedoMcpToolHandler_1 = class RedoMcpToolHandler extends
53
53
  this.inputSchema = exports.RedoInputSchema;
54
54
  this.outputSchema = exports.RedoOutputSchema;
55
55
  }
56
+ static { RedoMcpToolHandler_1 = this; }
57
+ static { this.NAME = 'redo'; }
56
58
  async createResult({ commandsToRedo }) {
57
59
  if (!this.commandStack.canRedo()) {
58
60
  throw new mcp_handler_shared_1.McpToolError('Nothing to redo (redo stack is empty; perform an undo first or accept that the redo history was cleared by a subsequent edit).');
59
61
  }
60
- for (let i = 0; i < commandsToRedo; i++) {
62
+ // The stack may hold fewer commands than requested.
63
+ let commandsRedone = 0;
64
+ while (commandsRedone < commandsToRedo && this.commandStack.canRedo()) {
61
65
  await this.actionDispatcher.dispatch(server_1.RedoAction.create());
66
+ commandsRedone++;
62
67
  }
63
- return this.success('Redo successful', { commandsRedone: commandsToRedo });
68
+ const shortfall = commandsRedone < commandsToRedo ? ` (${commandsToRedo} requested; the redo stack held no more commands)` : '';
69
+ return this.success(`Redo successful: re-applied ${commandsRedone} command(s)${shortfall}`, { commandsRedone });
64
70
  }
65
71
  };
66
72
  exports.RedoMcpToolHandler = RedoMcpToolHandler;
67
- RedoMcpToolHandler.NAME = 'redo';
68
73
  __decorate([
69
74
  (0, inversify_1.inject)(server_1.CommandStack),
70
75
  __metadata("design:type", Object)
@@ -1 +1 @@
1
- {"version":3,"file":"redo-mcp-tool-handler.js","sourceRoot":"","sources":["../../../../src/common/tools/handlers/redo-mcp-tool-handler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;;AAElF,iDAAgE;AAChE,yCAA+C;AAC/C,4BAA4B;AAC5B,wEAA8E;AAC9E,sEAA6E;AAC7E,oEAA+E;AAElE,QAAA,eAAe,GAAG,+CAA2B,CAAC,MAAM,CAAC;IAC9D,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,yEAAyE,CAAC;CACnI,CAAC,CAAC;AAGU,QAAA,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;CAChG,CAAC,CAAC;AAEH;;GAEG;AAEI,IAAM,kBAAkB,0BAAxB,MAAM,kBAAmB,SAAQ,iDAAyC;IAA1E;;QAEM,SAAI,GAAG,oBAAkB,CAAC,IAAI,CAAC;QACtB,UAAK,GAAG,uBAAuB,CAAC;QACzC,gBAAW,GAChB,+GAA+G;YAC/G,wGAAwG;YACxG,kHAAkH;YAClH,6DAA6D,CAAC;QACzD,gBAAW,GAAG,uBAAe,CAAC;QACrB,iBAAY,GAAG,wBAAgB,CAAC;IAiBtD,CAAC;IAba,KAAK,CAAC,YAAY,CAAC,EAAE,cAAc,EAAa;QACtD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/B,MAAM,IAAI,iCAAY,CAClB,gIAAgI,CACnI,CAAC;QACN,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mBAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC,CAAC;IAC/E,CAAC;;AA1BQ,gDAAkB;AACX,uBAAI,GAAG,MAAM,AAAT,CAAU;AAWE;IAA/B,IAAA,kBAAM,EAAC,qBAAY,CAAC;;wDAAsC;6BAZlD,kBAAkB;IAD9B,IAAA,sBAAU,GAAE;GACA,kBAAkB,CA2B9B"}
1
+ {"version":3,"file":"redo-mcp-tool-handler.js","sourceRoot":"","sources":["../../../../src/common/tools/handlers/redo-mcp-tool-handler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;;AAElF,iDAAgE;AAChE,yCAA+C;AAC/C,4BAA4B;AAC5B,wEAA8E;AAC9E,sEAA6E;AAC7E,oEAA+E;AAElE,QAAA,eAAe,GAAG,+CAA2B,CAAC,MAAM,CAAC;IAC9D,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,yEAAyE,CAAC;CACzI,CAAC,CAAC;AAGU,QAAA,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;CAChG,CAAC,CAAC;AAGH;;GAEG;AAEI,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,iDAAqD;IAAtF;;QAEM,SAAI,GAAG,oBAAkB,CAAC,IAAI,CAAC;QACtB,UAAK,GAAG,uBAAuB,CAAC;QACzC,gBAAW,GAChB,+GAA+G;YAC/G,wGAAwG;YACxG,kHAAkH;YAClH,6DAA6D,CAAC;QACzD,gBAAW,GAAG,uBAAe,CAAC;QACrB,iBAAY,GAAG,wBAAgB,CAAC;IAqBtD,CAAC;;aA9BmB,SAAI,GAAG,MAAM,AAAT,CAAU;IAapB,KAAK,CAAC,YAAY,CAAC,EAAE,cAAc,EAAa;QACtD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/B,MAAM,IAAI,iCAAY,CAClB,gIAAgI,CACnI,CAAC;QACN,CAAC;QAED,oDAAoD;QACpD,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,OAAO,cAAc,GAAG,cAAc,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YACpE,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mBAAU,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1D,cAAc,EAAE,CAAC;QACrB,CAAC;QAED,MAAM,SAAS,GAAG,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,KAAK,cAAc,mDAAmD,CAAC,CAAC,CAAC,EAAE,CAAC;QAChI,OAAO,IAAI,CAAC,OAAO,CAAC,+BAA+B,cAAc,cAAc,SAAS,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IACpH,CAAC;;AA9BQ,gDAAkB;AAYK;IAA/B,IAAA,kBAAM,EAAC,qBAAY,CAAC;;wDAAsC;6BAZlD,kBAAkB;IAD9B,IAAA,sBAAU,GAAE;GACA,kBAAkB,CA+B9B"}
@@ -27,8 +27,9 @@ export declare const SaveModelOutputSchema: z.ZodObject<{
27
27
  saved: z.ZodBoolean;
28
28
  fileUri: z.ZodOptional<z.ZodString>;
29
29
  }, z.core.$strip>;
30
+ export type SaveModelOutput = z.infer<typeof SaveModelOutputSchema>;
30
31
  /** Doesn't extend `OperationMcpDiagramToolHandler` — saving a read-only model is a legitimate adopter scenario (e.g. "save as" to a writable location). */
31
- export declare class SaveModelMcpToolHandler extends AbstractMcpDiagramToolHandler<SaveModelInput> {
32
+ export declare class SaveModelMcpToolHandler extends AbstractMcpDiagramToolHandler<SaveModelInput, SaveModelOutput> {
32
33
  static readonly NAME = "save-model";
33
34
  readonly name = "save-model";
34
35
  readonly title = "Save Diagram Model";
@@ -1 +1 @@
1
- {"version":3,"file":"save-model-mcp-tool-handler.d.ts","sourceRoot":"","sources":["../../../../src/common/tools/handlers/save-model-mcp-tool-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAmB,MAAM,sBAAsB,CAAC;AAEvF,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAE9E,eAAO,MAAM,oBAAoB;;;iBAE/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,qBAAqB;;;iBAMhC,CAAC;AAEH,2JAA2J;AAC3J,qBACa,uBAAwB,SAAQ,6BAA6B,CAAC,cAAc,CAAC;IACtF,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB;IACpC,QAAQ,CAAC,IAAI,gBAAgC;IAC7C,SAAkB,KAAK,wBAAwB;IAC/C,QAAQ,CAAC,WAAW,SAIoD;IACxE,QAAQ,CAAC,WAAW;;;sBAAwB;IAC5C,SAAkB,YAAY;;;sBAAyB;IACvD;;;;OAIG;IACH,SAAkB,YAAY,SAAS;IACvC,SAAkB,eAAe,EAAE,OAAO,CAAS;IACnD,SAAkB,cAAc,EAAE,OAAO,CAAS;IAExB,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACjD,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;IACxC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;cAElC,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;CAUpF"}
1
+ {"version":3,"file":"save-model-mcp-tool-handler.d.ts","sourceRoot":"","sources":["../../../../src/common/tools/handlers/save-model-mcp-tool-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAmB,MAAM,sBAAsB,CAAC;AAEvF,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAE9E,eAAO,MAAM,oBAAoB;;;iBAE/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,qBAAqB;;;iBAMhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,2JAA2J;AAC3J,qBACa,uBAAwB,SAAQ,6BAA6B,CAAC,cAAc,EAAE,eAAe,CAAC;IACvG,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB;IACpC,QAAQ,CAAC,IAAI,gBAAgC;IAC7C,SAAkB,KAAK,wBAAwB;IAC/C,QAAQ,CAAC,WAAW,SAIoD;IACxE,QAAQ,CAAC,WAAW;;;sBAAwB;IAC5C,SAAkB,YAAY;;;sBAAyB;IACvD;;;;OAIG;IACH,SAAkB,YAAY,SAAS;IACvC,SAAkB,eAAe,EAAE,OAAO,CAAS;IACnD,SAAkB,cAAc,EAAE,OAAO,CAAS;IAExB,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACjD,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;IACxC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;cAElC,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;CAYpF"}
@@ -43,7 +43,7 @@ exports.SaveModelOutputSchema = z.object({
43
43
  .describe('Destination file URI when explicitly provided; absent when saving to the original source location.')
44
44
  });
45
45
  /** Doesn't extend `OperationMcpDiagramToolHandler` — saving a read-only model is a legitimate adopter scenario (e.g. "save as" to a writable location). */
46
- let SaveModelMcpToolHandler = SaveModelMcpToolHandler_1 = class SaveModelMcpToolHandler extends mcp_tool_handler_1.AbstractMcpDiagramToolHandler {
46
+ let SaveModelMcpToolHandler = class SaveModelMcpToolHandler extends mcp_tool_handler_1.AbstractMcpDiagramToolHandler {
47
47
  constructor() {
48
48
  super(...arguments);
49
49
  this.name = SaveModelMcpToolHandler_1.NAME;
@@ -63,8 +63,12 @@ let SaveModelMcpToolHandler = SaveModelMcpToolHandler_1 = class SaveModelMcpTool
63
63
  this.destructiveHint = false;
64
64
  this.idempotentHint = false;
65
65
  }
66
+ static { SaveModelMcpToolHandler_1 = this; }
67
+ static { this.NAME = 'save-model'; }
66
68
  async createResult({ fileUri }) {
67
- if (!this.commandStack.isDirty) {
69
+ // Only save-in-place can be short-circuited: a "save as" destination has no copy yet,
70
+ // dirty or not.
71
+ if (!fileUri && !this.commandStack.isDirty) {
68
72
  this.mcpLogger.info('save-model: nothing to save');
69
73
  return this.success('No changes to save', { saved: false, fileUri });
70
74
  }
@@ -74,7 +78,6 @@ let SaveModelMcpToolHandler = SaveModelMcpToolHandler_1 = class SaveModelMcpTool
74
78
  }
75
79
  };
76
80
  exports.SaveModelMcpToolHandler = SaveModelMcpToolHandler;
77
- SaveModelMcpToolHandler.NAME = 'save-model';
78
81
  __decorate([
79
82
  (0, inversify_1.inject)(server_1.ActionDispatcher),
80
83
  __metadata("design:type", Object)
@@ -1 +1 @@
1
- {"version":3,"file":"save-model-mcp-tool-handler.js","sourceRoot":"","sources":["../../../../src/common/tools/handlers/save-model-mcp-tool-handler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;;AAElF,iDAAuF;AACvF,yCAA+C;AAC/C,4BAA4B;AAE5B,sEAA6E;AAC7E,wDAAoD;AACpD,oEAA8E;AAEjE,QAAA,oBAAoB,GAAG,+CAA2B,CAAC,MAAM,CAAC;IACnE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8FAA8F,CAAC;CAC1I,CAAC,CAAC;AAGU,QAAA,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,oGAAoG,CAAC;IACjI,OAAO,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,oGAAoG,CAAC;CACtH,CAAC,CAAC;AAEH,2JAA2J;AAEpJ,IAAM,uBAAuB,+BAA7B,MAAM,uBAAwB,SAAQ,gDAA6C;IAAnF;;QAEM,SAAI,GAAG,yBAAuB,CAAC,IAAI,CAAC;QAC3B,UAAK,GAAG,oBAAoB,CAAC;QACtC,gBAAW,GAChB,wDAAwD;YACxD,gEAAgE;YAChE,2EAA2E;YAC3E,mEAAmE,CAAC;QAC/D,gBAAW,GAAG,4BAAoB,CAAC;QAC1B,iBAAY,GAAG,6BAAqB,CAAC;QACvD;;;;WAIG;QACe,iBAAY,GAAG,KAAK,CAAC;QACrB,oBAAe,GAAY,KAAK,CAAC;QACjC,mBAAc,GAAY,KAAK,CAAC;IAgBtD,CAAC;IAVa,KAAK,CAAC,YAAY,CAAC,EAAE,OAAO,EAAkB;QACpD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,wBAAe,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,0BAA0B,OAAO,CAAC,CAAC,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9E,CAAC;;AAjCQ,0DAAuB;AAChB,4BAAI,GAAG,YAAY,AAAf,CAAgB;AAmBA;IAAnC,IAAA,kBAAM,EAAC,yBAAgB,CAAC;;iEAA8C;AACvC;IAA/B,IAAA,kBAAM,EAAC,qBAAY,CAAC;;6DAAsC;AAC9B;IAA5B,IAAA,kBAAM,EAAC,sBAAS,CAAC;8BAAsB,sBAAS;0DAAC;kCAtBzC,uBAAuB;IADnC,IAAA,sBAAU,GAAE;GACA,uBAAuB,CAkCnC"}
1
+ {"version":3,"file":"save-model-mcp-tool-handler.js","sourceRoot":"","sources":["../../../../src/common/tools/handlers/save-model-mcp-tool-handler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;;AAElF,iDAAuF;AACvF,yCAA+C;AAC/C,4BAA4B;AAE5B,sEAA6E;AAC7E,wDAAoD;AACpD,oEAA8E;AAEjE,QAAA,oBAAoB,GAAG,+CAA2B,CAAC,MAAM,CAAC;IACnE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8FAA8F,CAAC;CAC1I,CAAC,CAAC;AAGU,QAAA,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,oGAAoG,CAAC;IACjI,OAAO,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,oGAAoG,CAAC;CACtH,CAAC,CAAC;AAGH,2JAA2J;AAEpJ,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,gDAA8D;IAApG;;QAEM,SAAI,GAAG,yBAAuB,CAAC,IAAI,CAAC;QAC3B,UAAK,GAAG,oBAAoB,CAAC;QACtC,gBAAW,GAChB,wDAAwD;YACxD,gEAAgE;YAChE,2EAA2E;YAC3E,mEAAmE,CAAC;QAC/D,gBAAW,GAAG,4BAAoB,CAAC;QAC1B,iBAAY,GAAG,6BAAqB,CAAC;QACvD;;;;WAIG;QACe,iBAAY,GAAG,KAAK,CAAC;QACrB,oBAAe,GAAY,KAAK,CAAC;QACjC,mBAAc,GAAY,KAAK,CAAC;IAkBtD,CAAC;;aAnCmB,SAAI,GAAG,YAAY,AAAf,CAAgB;IAuB1B,KAAK,CAAC,YAAY,CAAC,EAAE,OAAO,EAAkB;QACpD,sFAAsF;QACtF,gBAAgB;QAChB,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YACzC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,wBAAe,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,0BAA0B,OAAO,CAAC,CAAC,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9E,CAAC;;AAnCQ,0DAAuB;AAoBI;IAAnC,IAAA,kBAAM,EAAC,yBAAgB,CAAC;;iEAA8C;AACvC;IAA/B,IAAA,kBAAM,EAAC,qBAAY,CAAC;;6DAAsC;AAC9B;IAA5B,IAAA,kBAAM,EAAC,sBAAS,CAAC;8BAAsB,sBAAS;0DAAC;kCAtBzC,uBAAuB;IADnC,IAAA,sBAAU,GAAE;GACA,uBAAuB,CAoCnC"}
@@ -38,7 +38,8 @@ export declare const SessionInfoOutputSchema: z.ZodObject<{
38
38
  dirty: z.ZodBoolean;
39
39
  }, z.core.$strip>>;
40
40
  }, z.core.$strip>;
41
- export declare class SessionInfoMcpToolHandler extends AbstractMcpToolHandler<SessionInfoInput> {
41
+ export type SessionInfoOutput = z.infer<typeof SessionInfoOutputSchema>;
42
+ export declare class SessionInfoMcpToolHandler extends AbstractMcpToolHandler<SessionInfoInput, SessionInfoOutput> {
42
43
  protected clientSessionManager: ClientSessionManager;
43
44
  static readonly NAME = "session-info";
44
45
  readonly name = "session-info";
@@ -1 +1 @@
1
- {"version":3,"file":"session-info-mcp-tool-handler.d.ts","sourceRoot":"","sources":["../../../../src/common/tools/handlers/session-info-mcp-tool-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,oBAAoB,EAA4B,MAAM,sBAAsB,CAAC;AAEtF,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAgB,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,eAAO,MAAM,sBAAsB;;iBAKjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,oBAAoB;;;;;;iBAM/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,uBAAuB;;;;;;;;iBAElC,CAAC;AAEH,qBACa,yBAA0B,SAAQ,sBAAsB,CAAC,gBAAgB,CAAC;IACrD,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAEnF,MAAM,CAAC,QAAQ,CAAC,IAAI,kBAAkB;IACtC,QAAQ,CAAC,IAAI,kBAAkC;IAC/C,SAAkB,KAAK,uBAAuB;IAC9C,QAAQ,CAAC,WAAW,SAGmF;IACvG,QAAQ,CAAC,WAAW;;sBAA0B;IAC9C,SAAkB,YAAY;;;;;;;;sBAA2B;IAEzD,SAAS,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,EAAE,gBAAgB,GAAG,aAAa;IAMtE,mHAAmH;IACnH,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,cAAc;IAa3G,gFAAgF;IAChF,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,MAAM;IAY3D,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;CAO9F"}
1
+ {"version":3,"file":"session-info-mcp-tool-handler.d.ts","sourceRoot":"","sources":["../../../../src/common/tools/handlers/session-info-mcp-tool-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,oBAAoB,EAA4B,MAAM,sBAAsB,CAAC;AAEtF,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAgB,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,eAAO,MAAM,sBAAsB;;iBAKjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,oBAAoB;;;;;;iBAM/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,uBAAuB;;;;;;;;iBAElC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,qBACa,yBAA0B,SAAQ,sBAAsB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;IACxE,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAEnF,MAAM,CAAC,QAAQ,CAAC,IAAI,kBAAkB;IACtC,QAAQ,CAAC,IAAI,kBAAkC;IAC/C,SAAkB,KAAK,uBAAuB;IAC9C,QAAQ,CAAC,WAAW,SAGmF;IACvG,QAAQ,CAAC,WAAW;;sBAA0B;IAC9C,SAAkB,YAAY;;;;;;;;sBAA2B;IAEzD,SAAS,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,EAAE,gBAAgB,GAAG,aAAa;IAMtE,mHAAmH;IACnH,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,cAAc;IAa3G,gFAAgF;IAChF,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,MAAM;IAY3D,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;CAO9F"}
@@ -47,7 +47,7 @@ exports.SessionInfoRowSchema = z.object({
47
47
  exports.SessionInfoOutputSchema = z.object({
48
48
  sessions: z.array(exports.SessionInfoRowSchema)
49
49
  });
50
- let SessionInfoMcpToolHandler = SessionInfoMcpToolHandler_1 = class SessionInfoMcpToolHandler extends mcp_tool_handler_1.AbstractMcpToolHandler {
50
+ let SessionInfoMcpToolHandler = class SessionInfoMcpToolHandler extends mcp_tool_handler_1.AbstractMcpToolHandler {
51
51
  constructor() {
52
52
  super(...arguments);
53
53
  this.name = SessionInfoMcpToolHandler_1.NAME;
@@ -58,6 +58,8 @@ let SessionInfoMcpToolHandler = SessionInfoMcpToolHandler_1 = class SessionInfoM
58
58
  this.inputSchema = exports.SessionInfoInputSchema;
59
59
  this.outputSchema = exports.SessionInfoOutputSchema;
60
60
  }
61
+ static { SessionInfoMcpToolHandler_1 = this; }
62
+ static { this.NAME = 'session-info'; }
61
63
  createResult({ sessionId }) {
62
64
  const sessions = sessionId !== undefined ? this.singleSession(sessionId) : this.clientSessionManager.getSessions();
63
65
  const rows = sessions.map(session => this.buildSessionRow(session));
@@ -65,14 +67,13 @@ let SessionInfoMcpToolHandler = SessionInfoMcpToolHandler_1 = class SessionInfoM
65
67
  }
66
68
  /** Extracts a {@link SessionInfoRow} from a {@link ClientSession}. Override to surface adopter-specific fields. */
67
69
  buildSessionRow(session) {
68
- var _a;
69
70
  const modelState = session.container.get(server_1.ModelState);
70
71
  const commandStack = session.container.get(server_1.CommandStack);
71
72
  return {
72
73
  sessionId: session.id,
73
74
  diagramType: session.diagramType,
74
75
  // `ModelState.sourceUri` may be undefined for not-yet-persisted diagrams; render as empty string to keep the schema-required string shape.
75
- sourceUri: (_a = modelState.sourceUri) !== null && _a !== void 0 ? _a : '',
76
+ sourceUri: modelState.sourceUri ?? '',
76
77
  readOnly: modelState.isReadonly,
77
78
  dirty: commandStack.isDirty
78
79
  };
@@ -98,7 +99,6 @@ let SessionInfoMcpToolHandler = SessionInfoMcpToolHandler_1 = class SessionInfoM
98
99
  }
99
100
  };
100
101
  exports.SessionInfoMcpToolHandler = SessionInfoMcpToolHandler;
101
- SessionInfoMcpToolHandler.NAME = 'session-info';
102
102
  __decorate([
103
103
  (0, inversify_1.inject)(server_1.ClientSessionManager),
104
104
  __metadata("design:type", Object)
@@ -1 +1 @@
1
- {"version":3,"file":"session-info-mcp-tool-handler.js","sourceRoot":"","sources":["../../../../src/common/tools/handlers/session-info-mcp-tool-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-info-mcp-tool-handler.js","sourceRoot":"","sources":["../../../../src/common/tools/handlers/session-info-mcp-tool-handler.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,7 @@ export declare const SetSelectionOutputSchema: z.ZodObject<{
29
29
  deselectedElementIds: z.ZodArray<z.ZodString>;
30
30
  cleared: z.ZodBoolean;
31
31
  }, z.core.$strip>;
32
+ export type SetSelectionOutput = z.infer<typeof SetSelectionOutputSchema>;
32
33
  /**
33
34
  * Pushes a selection change to the client. Counterpart to `get-selection` — useful for the
34
35
  * agent to direct a human reviewer's attention to elements it just modified ("here's what I
@@ -37,7 +38,7 @@ export declare const SetSelectionOutputSchema: z.ZodObject<{
37
38
  * Read-write hint is honest: the viewport selection state is part of the client environment
38
39
  * even though the underlying GModel is unaffected.
39
40
  */
40
- export declare class SetSelectionMcpToolHandler extends AbstractMcpDiagramToolHandler<SetSelectionInput> {
41
+ export declare class SetSelectionMcpToolHandler extends AbstractMcpDiagramToolHandler<SetSelectionInput, SetSelectionOutput> {
41
42
  static readonly NAME = "set-selection";
42
43
  readonly name = "set-selection";
43
44
  readonly title = "Set Diagram Selection";
@@ -1 +1 @@
1
- {"version":3,"file":"set-selection-mcp-tool-handler.d.ts","sourceRoot":"","sources":["../../../../src/common/tools/handlers/set-selection-mcp-tool-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,gBAAgB,EAAiC,MAAM,sBAAsB,CAAC;AAEvF,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAE9E,eAAO,MAAM,uBAAuB;;;;;iBASlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,wBAAwB;;;;iBAInC,CAAC;AAEH;;;;;;;GAOG;AACH,qBACa,0BAA2B,SAAQ,6BAA6B,CAAC,iBAAiB,CAAC;IAC5F,MAAM,CAAC,QAAQ,CAAC,IAAI,mBAAmB;IACvC,QAAQ,CAAC,IAAI,mBAAmC;IAChD,SAAkB,KAAK,2BAA2B;IAClD,QAAQ,CAAC,WAAW,SAGgC;IACpD,QAAQ,CAAC,WAAW;;;;;sBAA2B;IAC/C,SAAkB,YAAY;;;;sBAA4B;IAC1D,SAAkB,YAAY,SAAS;IAEb,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;cAEvD,YAAY,CAAC,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,KAAK,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAoB5H,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM;CAO1F"}
1
+ {"version":3,"file":"set-selection-mcp-tool-handler.d.ts","sourceRoot":"","sources":["../../../../src/common/tools/handlers/set-selection-mcp-tool-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,gBAAgB,EAAiC,MAAM,sBAAsB,CAAC;AAEvF,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAE9E,eAAO,MAAM,uBAAuB;;;;;iBAWlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,wBAAwB;;;;iBAInC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;;;;;;GAOG;AACH,qBACa,0BAA2B,SAAQ,6BAA6B,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;IAChH,MAAM,CAAC,QAAQ,CAAC,IAAI,mBAAmB;IACvC,QAAQ,CAAC,IAAI,mBAAmC;IAChD,SAAkB,KAAK,2BAA2B;IAClD,QAAQ,CAAC,WAAW,SAGgC;IACpD,QAAQ,CAAC,WAAW;;;;;sBAA2B;IAC/C,SAAkB,YAAY;;;;sBAA4B;IAC1D,SAAkB,YAAY,SAAS;IAEb,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;cAEvD,YAAY,CAAC,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,KAAK,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAoB5H,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM;CAO1F"}