@eclipse-glsp/server-mcp 2.7.0-next.9 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -3
- package/{lib/util/index.d.ts → browser.d.ts} +1 -3
- package/browser.js +18 -0
- package/common.d.ts +16 -0
- package/common.js +18 -0
- package/lib/{resources → browser}/index.d.ts +5 -4
- package/lib/browser/index.d.ts.map +1 -0
- package/lib/{index.js → browser/index.js} +20 -24
- package/lib/browser/index.js.map +1 -0
- package/lib/browser/modules/browser-mcp-server-module.d.ts +42 -0
- package/lib/browser/modules/browser-mcp-server-module.d.ts.map +1 -0
- package/lib/browser/modules/browser-mcp-server-module.js +50 -0
- package/lib/browser/modules/browser-mcp-server-module.js.map +1 -0
- package/lib/browser/reexport.d.ts +17 -0
- package/lib/browser/reexport.d.ts.map +1 -0
- package/lib/{util/index.js → browser/reexport.js} +17 -18
- package/lib/browser/reexport.js.map +1 -0
- package/lib/browser/server/browser-mcp-request-context.d.ts +27 -0
- package/lib/browser/server/browser-mcp-request-context.d.ts.map +1 -0
- package/lib/browser/server/browser-mcp-request-context.js +67 -0
- package/lib/browser/server/browser-mcp-request-context.js.map +1 -0
- package/lib/browser/server/mcp-worker-bridge.d.ts +81 -0
- package/lib/browser/server/mcp-worker-bridge.d.ts.map +1 -0
- package/lib/browser/server/mcp-worker-bridge.js +159 -0
- package/lib/browser/server/mcp-worker-bridge.js.map +1 -0
- package/lib/browser/server/web-mcp-server-launcher.d.ts +34 -0
- package/lib/browser/server/web-mcp-server-launcher.d.ts.map +1 -0
- package/lib/browser/server/web-mcp-server-launcher.js +50 -0
- package/lib/browser/server/web-mcp-server-launcher.js.map +1 -0
- package/lib/common/index.d.ts +65 -0
- package/lib/common/index.d.ts.map +1 -0
- package/lib/common/index.js +81 -0
- package/lib/common/index.js.map +1 -0
- package/lib/{server/mcp-server-module.d.ts → common/modules/abstract-mcp-server-module.d.ts} +55 -46
- package/lib/common/modules/abstract-mcp-server-module.d.ts.map +1 -0
- package/lib/{server/mcp-server-module.js → common/modules/abstract-mcp-server-module.js} +58 -79
- package/lib/common/modules/abstract-mcp-server-module.js.map +1 -0
- package/lib/{server → common/modules}/mcp-diagram-module.d.ts +5 -5
- package/lib/common/modules/mcp-diagram-module.d.ts.map +1 -0
- package/lib/{server → common/modules}/mcp-diagram-module.js +44 -28
- package/lib/common/modules/mcp-diagram-module.js.map +1 -0
- package/lib/{prompts → common/prompts}/handlers/describe-diagram-mcp-prompt-handler.d.ts +2 -1
- package/lib/common/prompts/handlers/describe-diagram-mcp-prompt-handler.d.ts.map +1 -0
- package/lib/{prompts → common/prompts}/handlers/describe-diagram-mcp-prompt-handler.js +21 -15
- package/lib/common/prompts/handlers/describe-diagram-mcp-prompt-handler.js.map +1 -0
- package/lib/{prompts → common/prompts}/handlers/suggest-improvements-mcp-prompt-handler.d.ts +2 -1
- package/lib/common/prompts/handlers/suggest-improvements-mcp-prompt-handler.d.ts.map +1 -0
- package/lib/{prompts → common/prompts}/handlers/suggest-improvements-mcp-prompt-handler.js +16 -12
- package/lib/common/prompts/handlers/suggest-improvements-mcp-prompt-handler.js.map +1 -0
- package/lib/{resources → common/resources}/handlers/diagram-png-mcp-resource-handler.d.ts +4 -1
- package/lib/common/resources/handlers/diagram-png-mcp-resource-handler.d.ts.map +1 -0
- package/lib/{resources → common/resources}/handlers/diagram-png-mcp-resource-handler.js +10 -7
- package/lib/common/resources/handlers/diagram-png-mcp-resource-handler.js.map +1 -0
- package/lib/{resources → common/resources}/handlers/diagram-svg-mcp-resource-handler.d.ts +4 -1
- package/lib/common/resources/handlers/diagram-svg-mcp-resource-handler.d.ts.map +1 -0
- package/lib/{resources → common/resources}/handlers/diagram-svg-mcp-resource-handler.js +9 -6
- package/lib/common/resources/handlers/diagram-svg-mcp-resource-handler.js.map +1 -0
- package/lib/common/resources/services/element-types-provider.d.ts.map +1 -0
- package/lib/common/resources/services/element-types-provider.js.map +1 -0
- package/lib/common/resources/services/mcp-model-serializer.d.ts.map +1 -0
- package/lib/{resources → common/resources}/services/mcp-model-serializer.js +2 -2
- package/lib/common/resources/services/mcp-model-serializer.js.map +1 -0
- package/lib/common/server/abstract-mcp-server-launcher.d.ts +168 -0
- package/lib/common/server/abstract-mcp-server-launcher.d.ts.map +1 -0
- package/lib/{server/mcp-server-launcher.js → common/server/abstract-mcp-server-launcher.js} +235 -121
- package/lib/common/server/abstract-mcp-server-launcher.js.map +1 -0
- package/lib/{server → common/server}/glsp-mcp-server.d.ts +1 -1
- package/lib/common/server/glsp-mcp-server.d.ts.map +1 -0
- package/lib/{server → common/server}/glsp-mcp-server.js +6 -1
- package/lib/common/server/glsp-mcp-server.js.map +1 -0
- package/lib/{server → common/server}/lru-event-store.d.ts +1 -1
- package/lib/common/server/lru-event-store.d.ts.map +1 -0
- package/lib/common/server/lru-event-store.js.map +1 -0
- package/lib/{server → common/server}/mcp-diagram-handler-dispatcher.d.ts +3 -1
- package/lib/common/server/mcp-diagram-handler-dispatcher.d.ts.map +1 -0
- package/lib/{server → common/server}/mcp-diagram-handler-dispatcher.js +12 -6
- package/lib/common/server/mcp-diagram-handler-dispatcher.js.map +1 -0
- package/lib/common/server/mcp-diagram-prompt-handler-registry.d.ts.map +1 -0
- package/lib/common/server/mcp-diagram-prompt-handler-registry.js.map +1 -0
- package/lib/common/server/mcp-diagram-resource-handler-registry.d.ts.map +1 -0
- package/lib/{server → common/server}/mcp-diagram-resource-handler-registry.js +4 -1
- package/lib/common/server/mcp-diagram-resource-handler-registry.js.map +1 -0
- package/lib/common/server/mcp-diagram-tool-handler-registry.d.ts.map +1 -0
- package/lib/{server → common/server}/mcp-diagram-tool-handler-registry.js +3 -1
- package/lib/common/server/mcp-diagram-tool-handler-registry.js.map +1 -0
- package/lib/common/server/mcp-handler-shared.d.ts.map +1 -0
- package/lib/common/server/mcp-handler-shared.js.map +1 -0
- package/lib/common/server/mcp-id-alias-service.d.ts.map +1 -0
- package/lib/common/server/mcp-id-alias-service.js.map +1 -0
- package/lib/{server → common/server}/mcp-input-schemas.d.ts +8 -0
- package/lib/common/server/mcp-input-schemas.d.ts.map +1 -0
- package/lib/{server → common/server}/mcp-input-schemas.js +13 -1
- package/lib/common/server/mcp-input-schemas.js.map +1 -0
- package/lib/common/server/mcp-label-provider.d.ts.map +1 -0
- package/lib/common/server/mcp-label-provider.js.map +1 -0
- package/lib/{server → common/server}/mcp-log-level-registry.d.ts +1 -1
- package/lib/common/server/mcp-log-level-registry.d.ts.map +1 -0
- package/lib/common/server/mcp-log-level-registry.js.map +1 -0
- package/lib/{server → common/server}/mcp-logger.d.ts +4 -2
- package/lib/common/server/mcp-logger.d.ts.map +1 -0
- package/lib/{server → common/server}/mcp-logger.js +11 -3
- package/lib/common/server/mcp-logger.js.map +1 -0
- package/lib/common/server/mcp-mime-types.d.ts.map +1 -0
- package/lib/common/server/mcp-mime-types.js.map +1 -0
- package/lib/{server → common/server}/mcp-options.d.ts +1 -1
- package/lib/common/server/mcp-options.d.ts.map +1 -0
- package/lib/{server → common/server}/mcp-options.js +1 -1
- package/lib/common/server/mcp-options.js.map +1 -0
- package/lib/{server → common/server}/mcp-progress-reporter.d.ts +4 -2
- package/lib/common/server/mcp-progress-reporter.d.ts.map +1 -0
- package/lib/{server → common/server}/mcp-progress-reporter.js +14 -3
- package/lib/common/server/mcp-progress-reporter.js.map +1 -0
- package/lib/{server → common/server}/mcp-prompt-handler.d.ts +3 -1
- package/lib/common/server/mcp-prompt-handler.d.ts.map +1 -0
- package/lib/{server → common/server}/mcp-prompt-handler.js +10 -2
- package/lib/common/server/mcp-prompt-handler.js.map +1 -0
- package/lib/common/server/mcp-request-context.d.ts +35 -0
- package/lib/common/server/mcp-request-context.d.ts.map +1 -0
- package/lib/common/server/mcp-request-context.js +30 -0
- package/lib/common/server/mcp-request-context.js.map +1 -0
- package/lib/{server → common/server}/mcp-resource-handler.d.ts +3 -1
- package/lib/common/server/mcp-resource-handler.d.ts.map +1 -0
- package/lib/{server → common/server}/mcp-resource-handler.js +13 -5
- package/lib/common/server/mcp-resource-handler.js.map +1 -0
- package/lib/common/server/mcp-session.d.ts.map +1 -0
- package/lib/common/server/mcp-session.js.map +1 -0
- package/lib/{server → common/server}/mcp-tool-handler.d.ts +3 -1
- package/lib/common/server/mcp-tool-handler.d.ts.map +1 -0
- package/lib/{server → common/server}/mcp-tool-handler.js +7 -1
- package/lib/{server → common/server}/mcp-tool-handler.js.map +1 -1
- package/lib/{tools → common/tools}/handlers/count-elements-mcp-tool-handler.d.ts +2 -1
- package/lib/common/tools/handlers/count-elements-mcp-tool-handler.d.ts.map +1 -0
- package/lib/{tools → common/tools}/handlers/count-elements-mcp-tool-handler.js +4 -3
- package/lib/common/tools/handlers/count-elements-mcp-tool-handler.js.map +1 -0
- package/lib/{tools → common/tools}/handlers/create-edges-mcp-tool-handler.d.ts +4 -1
- package/lib/common/tools/handlers/create-edges-mcp-tool-handler.d.ts.map +1 -0
- package/lib/{tools → common/tools}/handlers/create-edges-mcp-tool-handler.js +9 -7
- package/lib/common/tools/handlers/create-edges-mcp-tool-handler.js.map +1 -0
- package/lib/{tools → common/tools}/handlers/create-nodes-mcp-tool-handler.d.ts +4 -1
- package/lib/common/tools/handlers/create-nodes-mcp-tool-handler.d.ts.map +1 -0
- package/lib/{tools → common/tools}/handlers/create-nodes-mcp-tool-handler.js +10 -8
- package/lib/common/tools/handlers/create-nodes-mcp-tool-handler.js.map +1 -0
- package/lib/{tools → common/tools}/handlers/delete-elements-mcp-tool-handler.d.ts +4 -1
- package/lib/common/tools/handlers/delete-elements-mcp-tool-handler.d.ts.map +1 -0
- package/lib/{tools → common/tools}/handlers/delete-elements-mcp-tool-handler.js +9 -6
- package/lib/common/tools/handlers/delete-elements-mcp-tool-handler.js.map +1 -0
- package/lib/{tools → common/tools}/handlers/diagram-model-mcp-tool-handler.d.ts +2 -1
- package/lib/common/tools/handlers/diagram-model-mcp-tool-handler.d.ts.map +1 -0
- package/lib/{tools → common/tools}/handlers/diagram-model-mcp-tool-handler.js +4 -3
- package/lib/common/tools/handlers/diagram-model-mcp-tool-handler.js.map +1 -0
- package/lib/{tools → common/tools}/handlers/element-types-mcp-tool-handler.d.ts +2 -1
- package/lib/common/tools/handlers/element-types-mcp-tool-handler.d.ts.map +1 -0
- package/lib/{tools → common/tools}/handlers/element-types-mcp-tool-handler.js +6 -5
- package/lib/common/tools/handlers/element-types-mcp-tool-handler.js.map +1 -0
- package/lib/{tools → common/tools}/handlers/get-selection-mcp-tool-handler.d.ts +2 -1
- package/lib/common/tools/handlers/get-selection-mcp-tool-handler.d.ts.map +1 -0
- package/lib/{tools → common/tools}/handlers/get-selection-mcp-tool-handler.js +6 -4
- package/lib/common/tools/handlers/get-selection-mcp-tool-handler.js.map +1 -0
- package/lib/{tools → common/tools}/handlers/layout-mcp-tool-handler.d.ts +4 -1
- package/lib/common/tools/handlers/layout-mcp-tool-handler.d.ts.map +1 -0
- package/lib/{tools → common/tools}/handlers/layout-mcp-tool-handler.js +7 -5
- package/lib/common/tools/handlers/layout-mcp-tool-handler.js.map +1 -0
- package/lib/{tools → common/tools}/handlers/modify-edges-mcp-tool-handler.d.ts +2 -1
- package/lib/common/tools/handlers/modify-edges-mcp-tool-handler.d.ts.map +1 -0
- package/lib/{tools → common/tools}/handlers/modify-edges-mcp-tool-handler.js +12 -10
- package/lib/common/tools/handlers/modify-edges-mcp-tool-handler.js.map +1 -0
- package/lib/{tools → common/tools}/handlers/modify-nodes-mcp-tool-handler.d.ts +2 -1
- package/lib/common/tools/handlers/modify-nodes-mcp-tool-handler.d.ts.map +1 -0
- package/lib/{tools → common/tools}/handlers/modify-nodes-mcp-tool-handler.js +13 -11
- package/lib/common/tools/handlers/modify-nodes-mcp-tool-handler.js.map +1 -0
- package/lib/{tools → common/tools}/handlers/query-elements-mcp-tool-handler.d.ts +2 -1
- package/lib/common/tools/handlers/query-elements-mcp-tool-handler.d.ts.map +1 -0
- package/lib/{tools → common/tools}/handlers/query-elements-mcp-tool-handler.js +7 -5
- package/lib/common/tools/handlers/query-elements-mcp-tool-handler.js.map +1 -0
- package/lib/{tools → common/tools}/handlers/redo-mcp-tool-handler.d.ts +2 -1
- package/lib/common/tools/handlers/redo-mcp-tool-handler.d.ts.map +1 -0
- package/lib/{tools → common/tools}/handlers/redo-mcp-tool-handler.js +6 -4
- package/lib/common/tools/handlers/redo-mcp-tool-handler.js.map +1 -0
- package/lib/{tools → common/tools}/handlers/save-model-mcp-tool-handler.d.ts +3 -1
- package/lib/common/tools/handlers/save-model-mcp-tool-handler.d.ts.map +1 -0
- package/lib/{tools → common/tools}/handlers/save-model-mcp-tool-handler.js +7 -5
- package/lib/common/tools/handlers/save-model-mcp-tool-handler.js.map +1 -0
- package/lib/{tools → common/tools}/handlers/session-info-mcp-tool-handler.d.ts +2 -1
- package/lib/common/tools/handlers/session-info-mcp-tool-handler.d.ts.map +1 -0
- package/lib/{tools → common/tools}/handlers/session-info-mcp-tool-handler.js +4 -3
- package/lib/common/tools/handlers/session-info-mcp-tool-handler.js.map +1 -0
- package/lib/{tools → common/tools}/handlers/set-selection-mcp-tool-handler.d.ts +2 -1
- package/lib/common/tools/handlers/set-selection-mcp-tool-handler.d.ts.map +1 -0
- package/lib/{tools → common/tools}/handlers/set-selection-mcp-tool-handler.js +6 -5
- package/lib/common/tools/handlers/set-selection-mcp-tool-handler.js.map +1 -0
- package/lib/{tools → common/tools}/handlers/set-view-mcp-tool-handler.d.ts +2 -1
- package/lib/common/tools/handlers/set-view-mcp-tool-handler.d.ts.map +1 -0
- package/lib/{tools → common/tools}/handlers/set-view-mcp-tool-handler.js +10 -8
- package/lib/common/tools/handlers/set-view-mcp-tool-handler.js.map +1 -0
- package/lib/{tools → common/tools}/handlers/undo-mcp-tool-handler.d.ts +2 -1
- package/lib/common/tools/handlers/undo-mcp-tool-handler.d.ts.map +1 -0
- package/lib/{tools → common/tools}/handlers/undo-mcp-tool-handler.js +6 -4
- package/lib/common/tools/handlers/undo-mcp-tool-handler.js.map +1 -0
- package/lib/{tools → common/tools}/handlers/validate-diagram-mcp-tool-handler.d.ts +2 -1
- package/lib/common/tools/handlers/validate-diagram-mcp-tool-handler.d.ts.map +1 -0
- package/lib/{tools → common/tools}/handlers/validate-diagram-mcp-tool-handler.js +0 -0
- package/lib/common/tools/handlers/validate-diagram-mcp-tool-handler.js.map +1 -0
- package/lib/common/util/markdown-util.d.ts.map +1 -0
- package/lib/common/util/markdown-util.js.map +1 -0
- package/lib/common/util/mcp-util.d.ts.map +1 -0
- package/lib/common/util/mcp-util.js.map +1 -0
- package/lib/{prompts → node}/index.d.ts +4 -2
- package/lib/node/index.d.ts.map +1 -0
- package/lib/{resources → node}/index.js +4 -4
- package/lib/node/index.js.map +1 -0
- package/lib/node/modules/node-mcp-server-module.d.ts +37 -0
- package/lib/node/modules/node-mcp-server-module.d.ts.map +1 -0
- package/lib/node/modules/node-mcp-server-module.js +52 -0
- package/lib/node/modules/node-mcp-server-module.js.map +1 -0
- package/lib/node/reexport.d.ts +17 -0
- package/lib/node/reexport.d.ts.map +1 -0
- package/lib/{prompts/index.js → node/reexport.js} +17 -18
- package/lib/node/reexport.js.map +1 -0
- package/lib/node/server/node-mcp-request-context.d.ts +24 -0
- package/lib/node/server/node-mcp-request-context.d.ts.map +1 -0
- package/lib/node/server/node-mcp-request-context.js +43 -0
- package/lib/node/server/node-mcp-request-context.js.map +1 -0
- package/lib/node/server/node-mcp-server-launcher.d.ts +55 -0
- package/lib/node/server/node-mcp-server-launcher.d.ts.map +1 -0
- package/lib/node/server/node-mcp-server-launcher.js +123 -0
- package/lib/node/server/node-mcp-server-launcher.js.map +1 -0
- package/node.d.ts +16 -0
- package/{src/util/index.ts → node.js} +2 -2
- package/package.json +19 -13
- package/src/{resources → browser}/index.ts +5 -4
- package/src/browser/modules/browser-mcp-server-module.ts +54 -0
- package/src/browser/reexport.ts +16 -0
- package/src/browser/server/browser-mcp-request-context.ts +59 -0
- package/src/browser/server/mcp-worker-bridge.ts +200 -0
- package/src/browser/server/web-mcp-server-launcher.ts +39 -0
- package/src/common/index.ts +65 -0
- package/src/{server/mcp-server-module.ts → common/modules/abstract-mcp-server-module.ts} +65 -77
- package/src/{server → common/modules}/mcp-diagram-module.ts +27 -28
- package/src/{prompts → common/prompts}/handlers/describe-diagram-mcp-prompt-handler.ts +8 -9
- package/src/{prompts → common/prompts}/handlers/suggest-improvements-mcp-prompt-handler.ts +6 -7
- package/src/{resources → common/resources}/handlers/diagram-png-mcp-resource-handler.ts +5 -9
- package/src/{resources → common/resources}/handlers/diagram-svg-mcp-resource-handler.ts +5 -9
- package/src/{resources → common/resources}/services/mcp-model-serializer.ts +1 -1
- package/src/common/server/abstract-mcp-server-launcher.spec.ts +458 -0
- package/src/common/server/abstract-mcp-server-launcher.ts +524 -0
- package/src/{server → common/server}/glsp-mcp-server.ts +7 -2
- package/src/{server → common/server}/lru-event-store.ts +1 -1
- package/src/{server → common/server}/mcp-diagram-handler-dispatcher.ts +13 -9
- package/src/{server → common/server}/mcp-diagram-resource-handler-registry.ts +4 -1
- package/src/{server → common/server}/mcp-diagram-tool-handler-registry.ts +3 -1
- package/src/{server → common/server}/mcp-input-schemas.ts +13 -0
- package/src/{server → common/server}/mcp-log-level-registry.ts +1 -1
- package/src/{server → common/server}/mcp-logger.spec.ts +26 -18
- package/src/{server → common/server}/mcp-logger.ts +9 -5
- package/src/{server → common/server}/mcp-options.ts +1 -1
- package/src/{server → common/server}/mcp-progress-reporter.spec.ts +19 -9
- package/src/{server → common/server}/mcp-progress-reporter.ts +9 -5
- package/src/{server → common/server}/mcp-prompt-handler.ts +8 -4
- package/src/{server → common/server}/mcp-request-context.ts +20 -16
- package/src/{server → common/server}/mcp-resource-handler.ts +11 -7
- package/src/{server → common/server}/mcp-tool-handler.spec.ts +4 -4
- package/src/{server → common/server}/mcp-tool-handler.ts +8 -4
- package/src/{tools → common/tools}/handlers/count-elements-mcp-tool-handler.spec.ts +3 -1
- package/src/{tools → common/tools}/handlers/count-elements-mcp-tool-handler.ts +3 -1
- package/src/{tools → common/tools}/handlers/create-edges-mcp-tool-handler.spec.ts +3 -1
- package/src/{tools → common/tools}/handlers/create-edges-mcp-tool-handler.ts +7 -5
- package/src/{tools → common/tools}/handlers/create-nodes-mcp-tool-handler.spec.ts +3 -1
- package/src/{tools → common/tools}/handlers/create-nodes-mcp-tool-handler.ts +7 -5
- package/src/{tools → common/tools}/handlers/delete-elements-mcp-tool-handler.ts +7 -9
- package/src/{tools → common/tools}/handlers/diagram-model-mcp-tool-handler.ts +3 -1
- package/src/{tools → common/tools}/handlers/element-types-mcp-tool-handler.ts +2 -1
- package/src/{tools → common/tools}/handlers/get-selection-mcp-tool-handler.ts +3 -1
- package/src/{tools → common/tools}/handlers/layout-mcp-tool-handler.ts +6 -3
- package/src/{tools → common/tools}/handlers/modify-edges-mcp-tool-handler.ts +6 -6
- package/src/{tools → common/tools}/handlers/modify-nodes-mcp-tool-handler.ts +6 -6
- package/src/{tools → common/tools}/handlers/query-elements-mcp-tool-handler.spec.ts +3 -1
- package/src/{tools → common/tools}/handlers/query-elements-mcp-tool-handler.ts +3 -7
- package/src/{tools → common/tools}/handlers/redo-mcp-tool-handler.ts +3 -1
- package/src/{tools → common/tools}/handlers/save-model-mcp-tool-handler.ts +4 -1
- package/src/{tools → common/tools}/handlers/session-info-mcp-tool-handler.spec.ts +1 -1
- package/src/{tools → common/tools}/handlers/session-info-mcp-tool-handler.ts +2 -1
- package/src/{tools → common/tools}/handlers/set-selection-mcp-tool-handler.spec.ts +3 -1
- package/src/{tools → common/tools}/handlers/set-selection-mcp-tool-handler.ts +3 -1
- package/src/{tools → common/tools}/handlers/set-view-mcp-tool-handler.ts +3 -9
- package/src/{tools → common/tools}/handlers/undo-mcp-tool-handler.ts +3 -1
- package/src/{tools → common/tools}/handlers/validate-diagram-mcp-tool-handler.ts +0 -0
- package/src/{prompts → node}/index.ts +4 -2
- package/src/node/modules/node-mcp-server-module.ts +56 -0
- package/src/node/reexport.ts +16 -0
- package/src/node/server/mcp-http-transport-e2e.spec.ts +297 -0
- package/src/node/server/node-mcp-request-context.ts +33 -0
- package/src/{server/mcp-server-launcher.spec.ts → node/server/node-mcp-server-launcher.spec.ts} +19 -8
- package/src/node/server/node-mcp-server-launcher.ts +130 -0
- package/lib/index.d.ts +0 -23
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/prompts/handlers/describe-diagram-mcp-prompt-handler.d.ts.map +0 -1
- package/lib/prompts/handlers/describe-diagram-mcp-prompt-handler.js.map +0 -1
- package/lib/prompts/handlers/suggest-improvements-mcp-prompt-handler.d.ts.map +0 -1
- package/lib/prompts/handlers/suggest-improvements-mcp-prompt-handler.js.map +0 -1
- package/lib/prompts/index.d.ts.map +0 -1
- package/lib/prompts/index.js.map +0 -1
- package/lib/resources/handlers/diagram-png-mcp-resource-handler.d.ts.map +0 -1
- package/lib/resources/handlers/diagram-png-mcp-resource-handler.js.map +0 -1
- package/lib/resources/handlers/diagram-svg-mcp-resource-handler.d.ts.map +0 -1
- package/lib/resources/handlers/diagram-svg-mcp-resource-handler.js.map +0 -1
- package/lib/resources/index.d.ts.map +0 -1
- package/lib/resources/index.js.map +0 -1
- package/lib/resources/services/element-types-provider.d.ts.map +0 -1
- package/lib/resources/services/element-types-provider.js.map +0 -1
- package/lib/resources/services/mcp-model-serializer.d.ts.map +0 -1
- package/lib/resources/services/mcp-model-serializer.js.map +0 -1
- package/lib/server/glsp-mcp-server.d.ts.map +0 -1
- package/lib/server/glsp-mcp-server.js.map +0 -1
- package/lib/server/index.d.ts +0 -37
- package/lib/server/index.d.ts.map +0 -1
- package/lib/server/index.js +0 -57
- package/lib/server/index.js.map +0 -1
- package/lib/server/lru-event-store.d.ts.map +0 -1
- package/lib/server/lru-event-store.js.map +0 -1
- package/lib/server/mcp-diagram-handler-dispatcher.d.ts.map +0 -1
- package/lib/server/mcp-diagram-handler-dispatcher.js.map +0 -1
- package/lib/server/mcp-diagram-module.d.ts.map +0 -1
- package/lib/server/mcp-diagram-module.js.map +0 -1
- package/lib/server/mcp-diagram-prompt-handler-registry.d.ts.map +0 -1
- package/lib/server/mcp-diagram-prompt-handler-registry.js.map +0 -1
- package/lib/server/mcp-diagram-resource-handler-registry.d.ts.map +0 -1
- package/lib/server/mcp-diagram-resource-handler-registry.js.map +0 -1
- package/lib/server/mcp-diagram-tool-handler-registry.d.ts.map +0 -1
- package/lib/server/mcp-diagram-tool-handler-registry.js.map +0 -1
- package/lib/server/mcp-handler-shared.d.ts.map +0 -1
- package/lib/server/mcp-handler-shared.js.map +0 -1
- package/lib/server/mcp-http-transport.d.ts +0 -93
- package/lib/server/mcp-http-transport.d.ts.map +0 -1
- package/lib/server/mcp-http-transport.js +0 -350
- package/lib/server/mcp-http-transport.js.map +0 -1
- package/lib/server/mcp-id-alias-service.d.ts.map +0 -1
- package/lib/server/mcp-id-alias-service.js.map +0 -1
- package/lib/server/mcp-input-schemas.d.ts.map +0 -1
- package/lib/server/mcp-input-schemas.js.map +0 -1
- package/lib/server/mcp-label-provider.d.ts.map +0 -1
- package/lib/server/mcp-label-provider.js.map +0 -1
- package/lib/server/mcp-log-level-registry.d.ts.map +0 -1
- package/lib/server/mcp-log-level-registry.js.map +0 -1
- package/lib/server/mcp-logger.d.ts.map +0 -1
- package/lib/server/mcp-logger.js.map +0 -1
- package/lib/server/mcp-mime-types.d.ts.map +0 -1
- package/lib/server/mcp-mime-types.js.map +0 -1
- package/lib/server/mcp-options.d.ts.map +0 -1
- package/lib/server/mcp-options.js.map +0 -1
- package/lib/server/mcp-progress-reporter.d.ts.map +0 -1
- package/lib/server/mcp-progress-reporter.js.map +0 -1
- package/lib/server/mcp-prompt-handler.d.ts.map +0 -1
- package/lib/server/mcp-prompt-handler.js.map +0 -1
- package/lib/server/mcp-request-context.d.ts +0 -37
- package/lib/server/mcp-request-context.d.ts.map +0 -1
- package/lib/server/mcp-request-context.js +0 -37
- package/lib/server/mcp-request-context.js.map +0 -1
- package/lib/server/mcp-resource-handler.d.ts.map +0 -1
- package/lib/server/mcp-resource-handler.js.map +0 -1
- package/lib/server/mcp-server-launcher.d.ts +0 -143
- package/lib/server/mcp-server-launcher.d.ts.map +0 -1
- package/lib/server/mcp-server-launcher.js.map +0 -1
- package/lib/server/mcp-server-module.d.ts.map +0 -1
- package/lib/server/mcp-server-module.js.map +0 -1
- package/lib/server/mcp-session.d.ts.map +0 -1
- package/lib/server/mcp-session.js.map +0 -1
- package/lib/server/mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/count-elements-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/count-elements-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/create-edges-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/create-edges-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/create-nodes-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/create-nodes-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/delete-elements-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/delete-elements-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/diagram-model-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/diagram-model-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/element-types-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/element-types-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/get-selection-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/get-selection-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/layout-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/layout-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/modify-edges-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/modify-edges-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/modify-nodes-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/modify-nodes-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/query-elements-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/query-elements-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/redo-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/redo-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/save-model-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/save-model-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/session-info-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/session-info-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/set-selection-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/set-selection-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/set-view-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/set-view-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/undo-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/undo-mcp-tool-handler.js.map +0 -1
- package/lib/tools/handlers/validate-diagram-mcp-tool-handler.d.ts.map +0 -1
- package/lib/tools/handlers/validate-diagram-mcp-tool-handler.js.map +0 -1
- package/lib/tools/index.d.ts +0 -34
- package/lib/tools/index.d.ts.map +0 -1
- package/lib/tools/index.js +0 -50
- package/lib/tools/index.js.map +0 -1
- package/lib/util/index.d.ts.map +0 -1
- package/lib/util/index.js.map +0 -1
- package/lib/util/markdown-util.d.ts.map +0 -1
- package/lib/util/markdown-util.js.map +0 -1
- package/lib/util/mcp-util.d.ts.map +0 -1
- package/lib/util/mcp-util.js.map +0 -1
- package/src/index.ts +0 -24
- package/src/server/index.ts +0 -42
- package/src/server/mcp-http-transport-e2e.spec.ts +0 -151
- package/src/server/mcp-http-transport.spec.ts +0 -385
- package/src/server/mcp-http-transport.ts +0 -368
- package/src/server/mcp-server-launcher.ts +0 -369
- package/src/tools/index.ts +0 -34
- /package/lib/{resources → common/resources}/services/element-types-provider.d.ts +0 -0
- /package/lib/{resources → common/resources}/services/element-types-provider.js +0 -0
- /package/lib/{resources → common/resources}/services/mcp-model-serializer.d.ts +0 -0
- /package/lib/{server → common/server}/lru-event-store.js +0 -0
- /package/lib/{server → common/server}/mcp-diagram-prompt-handler-registry.d.ts +0 -0
- /package/lib/{server → common/server}/mcp-diagram-prompt-handler-registry.js +0 -0
- /package/lib/{server → common/server}/mcp-diagram-resource-handler-registry.d.ts +0 -0
- /package/lib/{server → common/server}/mcp-diagram-tool-handler-registry.d.ts +0 -0
- /package/lib/{server → common/server}/mcp-handler-shared.d.ts +0 -0
- /package/lib/{server → common/server}/mcp-handler-shared.js +0 -0
- /package/lib/{server → common/server}/mcp-id-alias-service.d.ts +0 -0
- /package/lib/{server → common/server}/mcp-id-alias-service.js +0 -0
- /package/lib/{server → common/server}/mcp-label-provider.d.ts +0 -0
- /package/lib/{server → common/server}/mcp-label-provider.js +0 -0
- /package/lib/{server → common/server}/mcp-log-level-registry.js +0 -0
- /package/lib/{server → common/server}/mcp-mime-types.d.ts +0 -0
- /package/lib/{server → common/server}/mcp-mime-types.js +0 -0
- /package/lib/{server → common/server}/mcp-session.d.ts +0 -0
- /package/lib/{server → common/server}/mcp-session.js +0 -0
- /package/lib/{util → common/util}/markdown-util.d.ts +0 -0
- /package/lib/{util → common/util}/markdown-util.js +0 -0
- /package/lib/{util → common/util}/mcp-util.d.ts +0 -0
- /package/lib/{util → common/util}/mcp-util.js +0 -0
- /package/src/{resources → common/resources}/services/element-types-provider.ts +0 -0
- /package/src/{server → common/server}/glsp-mcp-server.spec.ts +0 -0
- /package/src/{server → common/server}/lru-event-store.spec.ts +0 -0
- /package/src/{server → common/server}/mcp-diagram-handler-dispatcher.spec.ts +0 -0
- /package/src/{server → common/server}/mcp-diagram-prompt-handler-registry.ts +0 -0
- /package/src/{server → common/server}/mcp-handler-shared.spec.ts +0 -0
- /package/src/{server → common/server}/mcp-handler-shared.ts +0 -0
- /package/src/{server → common/server}/mcp-id-alias-service.spec.ts +0 -0
- /package/src/{server → common/server}/mcp-id-alias-service.ts +0 -0
- /package/src/{server → common/server}/mcp-label-provider.ts +0 -0
- /package/src/{server → common/server}/mcp-log-level-registry.spec.ts +0 -0
- /package/src/{server → common/server}/mcp-mime-types.ts +0 -0
- /package/src/{server → common/server}/mcp-session.ts +0 -0
- /package/src/{tools → common/tools}/tool-annotations.spec.ts +0 -0
- /package/src/{util → common/util}/markdown-util.ts +0 -0
- /package/src/{util → common/util}/mcp-util.ts +0 -0
- /package/src/{server → node/server}/raw-http.spec.ts +0 -0
|
@@ -17,15 +17,16 @@
|
|
|
17
17
|
import { ChangeRoutingPointsOperation, CreateEdgeOperation, DiagramConfiguration, EdgeCreationChecker } from '@eclipse-glsp/server';
|
|
18
18
|
import { inject, injectable, optional } from 'inversify';
|
|
19
19
|
import * as z from 'zod/v4';
|
|
20
|
+
import { McpToolResult } from '../../server/mcp-handler-shared';
|
|
20
21
|
import {
|
|
21
22
|
ElementIdentity,
|
|
22
23
|
ElementIdentitySchema,
|
|
23
24
|
McpDiagramScopedInputSchema,
|
|
24
|
-
|
|
25
|
-
OperationMcpDiagramToolHandler,
|
|
25
|
+
dispatchedCommands,
|
|
26
26
|
position
|
|
27
|
-
} from '../../server';
|
|
28
|
-
import {
|
|
27
|
+
} from '../../server/mcp-input-schemas';
|
|
28
|
+
import { OperationMcpDiagramToolHandler } from '../../server/mcp-tool-handler';
|
|
29
|
+
import { formatNoticeList } from '../../util/mcp-util';
|
|
29
30
|
|
|
30
31
|
/** Single edge-creation entry. Strict so an LLM-typoed field surfaces as a validation error instead of being silently dropped. */
|
|
31
32
|
export const CreateEdgeSpecSchema = z.strictObject({
|
|
@@ -58,6 +59,7 @@ export const CreateEdgesValidationResultSchema = z.object({
|
|
|
58
59
|
|
|
59
60
|
export const CreateEdgesOutputSchema = z.object({
|
|
60
61
|
createdEdges: z.array(ElementIdentitySchema).describe('Identity of each edge successfully created. Empty in `dryRun` mode.'),
|
|
62
|
+
dispatchedCommands,
|
|
61
63
|
errors: z.array(z.string()).describe('Per-input failure messages; absent or empty when every input succeeded.'),
|
|
62
64
|
validationResults: z
|
|
63
65
|
.array(CreateEdgesValidationResultSchema)
|
|
@@ -164,7 +166,7 @@ export class CreateEdgesMcpToolHandler extends OperationMcpDiagramToolHandler<Cr
|
|
|
164
166
|
// Per-input errors are surfaced in `errors`; the call itself still succeeds — rolling back partial creates would require operation-level transactions.
|
|
165
167
|
return this.success(
|
|
166
168
|
`Successfully created ${createdEdges.length} edge(s) (in ${dispatchedOperations} commands):\n${successListStr}${formatNoticeList('errors', errors)}`,
|
|
167
|
-
{ createdEdges, errors }
|
|
169
|
+
{ createdEdges, dispatchedCommands: dispatchedOperations, errors }
|
|
168
170
|
);
|
|
169
171
|
}
|
|
170
172
|
|
|
@@ -28,7 +28,9 @@ import {
|
|
|
28
28
|
} from '@eclipse-glsp/server';
|
|
29
29
|
import { expect } from 'chai';
|
|
30
30
|
import { Container, ContainerModule } from 'inversify';
|
|
31
|
-
import {
|
|
31
|
+
import { McpToolResult } from '../../server/mcp-handler-shared';
|
|
32
|
+
import { McpIdAliasService } from '../../server/mcp-id-alias-service';
|
|
33
|
+
import { McpLabelProvider } from '../../server/mcp-label-provider';
|
|
32
34
|
import { CreateNodesInput, CreateNodesMcpToolHandler } from './create-nodes-mcp-tool-handler';
|
|
33
35
|
|
|
34
36
|
interface CreatedElementsStructured {
|
|
@@ -17,15 +17,16 @@
|
|
|
17
17
|
import { ApplyLabelEditOperation, CreateNodeOperation } from '@eclipse-glsp/server';
|
|
18
18
|
import { injectable } from 'inversify';
|
|
19
19
|
import * as z from 'zod/v4';
|
|
20
|
+
import { McpToolResult } from '../../server/mcp-handler-shared';
|
|
20
21
|
import {
|
|
21
22
|
ElementIdentity,
|
|
22
23
|
ElementIdentitySchema,
|
|
23
24
|
McpDiagramScopedInputSchema,
|
|
24
|
-
|
|
25
|
-
OperationMcpDiagramToolHandler,
|
|
25
|
+
dispatchedCommands,
|
|
26
26
|
position
|
|
27
|
-
} from '../../server';
|
|
28
|
-
import {
|
|
27
|
+
} from '../../server/mcp-input-schemas';
|
|
28
|
+
import { OperationMcpDiagramToolHandler } from '../../server/mcp-tool-handler';
|
|
29
|
+
import { formatNoticeList } from '../../util/mcp-util';
|
|
29
30
|
|
|
30
31
|
/** Single node-creation entry. Strict so an LLM-typoed field surfaces as a validation error instead of being silently dropped. */
|
|
31
32
|
export const CreateNodeSpecSchema = z.strictObject({
|
|
@@ -48,6 +49,7 @@ export const CreateNodesOutputSchema = z.object({
|
|
|
48
49
|
createdNodes: z
|
|
49
50
|
.array(ElementIdentitySchema)
|
|
50
51
|
.describe('Nodes successfully created, in input order. `label` is only present when the type actually accepted text.'),
|
|
52
|
+
dispatchedCommands,
|
|
51
53
|
errors: z.array(z.string()).describe('Per-input hard-failure messages — the creation could not complete.'),
|
|
52
54
|
warnings: z
|
|
53
55
|
.array(z.string())
|
|
@@ -125,7 +127,7 @@ export class CreateNodesMcpToolHandler extends OperationMcpDiagramToolHandler<Cr
|
|
|
125
127
|
`Successfully created ${createdNodes.length} node(s) (in ${dispatchedOperations} commands):\n${successListStr}` +
|
|
126
128
|
formatNoticeList('errors', errors) +
|
|
127
129
|
formatNoticeList('warnings', warnings),
|
|
128
|
-
{ createdNodes, errors, warnings }
|
|
130
|
+
{ createdNodes, dispatchedCommands: dispatchedOperations, errors, warnings }
|
|
129
131
|
);
|
|
130
132
|
}
|
|
131
133
|
}
|
|
@@ -17,13 +17,9 @@
|
|
|
17
17
|
import { DeleteElementOperation } from '@eclipse-glsp/server';
|
|
18
18
|
import { injectable } from 'inversify';
|
|
19
19
|
import * as z from 'zod/v4';
|
|
20
|
-
import {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
McpToolResult,
|
|
24
|
-
OperationMcpDiagramToolHandler,
|
|
25
|
-
elementIds
|
|
26
|
-
} from '../../server';
|
|
20
|
+
import { McpToolResult } from '../../server/mcp-handler-shared';
|
|
21
|
+
import { ElementIdentitySchema, McpDiagramScopedInputSchema, dispatchedCommands, elementIds } from '../../server/mcp-input-schemas';
|
|
22
|
+
import { OperationMcpDiagramToolHandler } from '../../server/mcp-tool-handler';
|
|
27
23
|
|
|
28
24
|
export const DeleteElementsInputSchema = McpDiagramScopedInputSchema.extend({ elementIds });
|
|
29
25
|
export type DeleteElementsInput = z.infer<typeof DeleteElementsInputSchema>;
|
|
@@ -39,7 +35,8 @@ export const DeleteElementsOutputSchema = z.object({
|
|
|
39
35
|
.int()
|
|
40
36
|
.describe(
|
|
41
37
|
'Total number of elements removed from the model. Higher than `deletedElements.length` when dependents (e.g. edges) are auto-deleted.'
|
|
42
|
-
)
|
|
38
|
+
),
|
|
39
|
+
dispatchedCommands
|
|
43
40
|
});
|
|
44
41
|
|
|
45
42
|
@injectable()
|
|
@@ -67,7 +64,8 @@ export class DeleteElementsMcpToolHandler extends OperationMcpDiagramToolHandler
|
|
|
67
64
|
const deletedCount = beforeCount - this.modelState.index.allIds().length;
|
|
68
65
|
return this.success(`Successfully deleted ${deletedCount} element(s) (including dependents)`, {
|
|
69
66
|
deletedElements,
|
|
70
|
-
deletedCount
|
|
67
|
+
deletedCount,
|
|
68
|
+
dispatchedCommands: 1
|
|
71
69
|
});
|
|
72
70
|
}
|
|
73
71
|
}
|
|
@@ -18,7 +18,9 @@ import { GModelElement } from '@eclipse-glsp/server';
|
|
|
18
18
|
import { inject, injectable } from 'inversify';
|
|
19
19
|
import * as z from 'zod/v4';
|
|
20
20
|
import { McpModelSerializer } from '../../resources/services/mcp-model-serializer';
|
|
21
|
-
import {
|
|
21
|
+
import { McpToolResult } from '../../server/mcp-handler-shared';
|
|
22
|
+
import { McpDiagramScopedInputSchema } from '../../server/mcp-input-schemas';
|
|
23
|
+
import { AbstractMcpDiagramToolHandler } from '../../server/mcp-tool-handler';
|
|
22
24
|
|
|
23
25
|
export const DiagramModelInputSchema = McpDiagramScopedInputSchema;
|
|
24
26
|
export type DiagramModelInput = z.infer<typeof DiagramModelInputSchema>;
|
|
@@ -23,7 +23,8 @@ import {
|
|
|
23
23
|
} from '@eclipse-glsp/server';
|
|
24
24
|
import { Container, ContainerModule, inject, injectable } from 'inversify';
|
|
25
25
|
import * as z from 'zod/v4';
|
|
26
|
-
import {
|
|
26
|
+
import { McpToolError, McpToolResult } from '../../server/mcp-handler-shared';
|
|
27
|
+
import { AbstractMcpToolHandler } from '../../server/mcp-tool-handler';
|
|
27
28
|
import { ElementTypes, ElementTypesProvider } from '../../resources/services/element-types-provider';
|
|
28
29
|
|
|
29
30
|
export const ElementTypesInputSchema = z.object({
|
|
@@ -17,7 +17,9 @@
|
|
|
17
17
|
import { ActionDispatcher, GetSelectionAction } from '@eclipse-glsp/server';
|
|
18
18
|
import { inject, injectable } from 'inversify';
|
|
19
19
|
import * as z from 'zod/v4';
|
|
20
|
-
import {
|
|
20
|
+
import { McpToolResult, requestActionOrFail } from '../../server/mcp-handler-shared';
|
|
21
|
+
import { McpDiagramScopedInputSchema } from '../../server/mcp-input-schemas';
|
|
22
|
+
import { AbstractMcpDiagramToolHandler } from '../../server/mcp-tool-handler';
|
|
21
23
|
|
|
22
24
|
export const GetSelectionInputSchema = McpDiagramScopedInputSchema;
|
|
23
25
|
export type GetSelectionInput = z.infer<typeof GetSelectionInputSchema>;
|
|
@@ -17,13 +17,16 @@
|
|
|
17
17
|
import { LayoutEngine, LayoutOperation } from '@eclipse-glsp/server';
|
|
18
18
|
import { inject, injectable, optional } from 'inversify';
|
|
19
19
|
import * as z from 'zod/v4';
|
|
20
|
-
import {
|
|
20
|
+
import { McpToolResult } from '../../server/mcp-handler-shared';
|
|
21
|
+
import { McpDiagramScopedInputSchema, dispatchedCommands } from '../../server/mcp-input-schemas';
|
|
22
|
+
import { OperationMcpDiagramToolHandler } from '../../server/mcp-tool-handler';
|
|
21
23
|
|
|
22
24
|
export const LayoutInputSchema = McpDiagramScopedInputSchema;
|
|
23
25
|
export type LayoutInput = z.infer<typeof LayoutInputSchema>;
|
|
24
26
|
|
|
25
27
|
export const LayoutOutputSchema = z.object({
|
|
26
|
-
applied: z.boolean().describe('Always true on success — surfaced for parity with other operations.')
|
|
28
|
+
applied: z.boolean().describe('Always true on success — surfaced for parity with other operations.'),
|
|
29
|
+
dispatchedCommands
|
|
27
30
|
});
|
|
28
31
|
|
|
29
32
|
/** Not registered by default: requires an adopter-supplied `LayoutEngine` to bind, which only some GLSP servers ship. */
|
|
@@ -51,6 +54,6 @@ export class LayoutMcpToolHandler extends OperationMcpDiagramToolHandler<LayoutI
|
|
|
51
54
|
|
|
52
55
|
protected async createResult(_params: LayoutInput): Promise<McpToolResult> {
|
|
53
56
|
await this.actionDispatcher.dispatch(LayoutOperation.create());
|
|
54
|
-
return this.success('Automatic layout applied', { applied: true });
|
|
57
|
+
return this.success('Automatic layout applied', { applied: true, dispatchedCommands: 1 });
|
|
55
58
|
}
|
|
56
59
|
}
|
|
@@ -17,16 +17,16 @@
|
|
|
17
17
|
import { ChangeRoutingPointsOperation, GEdge, ReconnectEdgeOperation } from '@eclipse-glsp/server';
|
|
18
18
|
import { injectable } from 'inversify';
|
|
19
19
|
import * as z from 'zod/v4';
|
|
20
|
+
import { McpToolError, McpToolResult } from '../../server/mcp-handler-shared';
|
|
20
21
|
import {
|
|
21
22
|
ElementIdentitySchema,
|
|
22
23
|
McpDiagramScopedInputSchema,
|
|
23
|
-
|
|
24
|
-
McpToolResult,
|
|
25
|
-
OperationMcpDiagramToolHandler,
|
|
24
|
+
dispatchedCommands,
|
|
26
25
|
elementId as elementIdSchema,
|
|
27
26
|
position
|
|
28
|
-
} from '../../server';
|
|
29
|
-
import {
|
|
27
|
+
} from '../../server/mcp-input-schemas';
|
|
28
|
+
import { OperationMcpDiagramToolHandler } from '../../server/mcp-tool-handler';
|
|
29
|
+
import { formatNoticeList } from '../../util/mcp-util';
|
|
30
30
|
|
|
31
31
|
/** Single edge-modification entry. Strict so an LLM-typoed field surfaces as a validation error instead of being silently dropped. */
|
|
32
32
|
export const ModifyEdgeSpecSchema = z.strictObject({
|
|
@@ -52,7 +52,7 @@ export type ModifyEdgesInput = z.infer<typeof ModifyEdgesInputSchema>;
|
|
|
52
52
|
|
|
53
53
|
export const ModifyEdgesOutputSchema = z.object({
|
|
54
54
|
modifiedEdges: z.array(ElementIdentitySchema).describe('Identity of each edge whose change request was dispatched.'),
|
|
55
|
-
dispatchedCommands
|
|
55
|
+
dispatchedCommands,
|
|
56
56
|
errors: z.array(z.string()).describe('Per-input failure messages; absent or empty when every input succeeded.')
|
|
57
57
|
});
|
|
58
58
|
|
|
@@ -17,16 +17,16 @@
|
|
|
17
17
|
import { ApplyLabelEditOperation, ChangeBoundsOperation, GEdge, GShapeElement } from '@eclipse-glsp/server';
|
|
18
18
|
import { injectable } from 'inversify';
|
|
19
19
|
import * as z from 'zod/v4';
|
|
20
|
+
import { McpToolError, McpToolResult } from '../../server/mcp-handler-shared';
|
|
20
21
|
import {
|
|
21
22
|
ElementIdentitySchema,
|
|
22
23
|
McpDiagramScopedInputSchema,
|
|
23
|
-
|
|
24
|
-
McpToolResult,
|
|
25
|
-
OperationMcpDiagramToolHandler,
|
|
24
|
+
dispatchedCommands,
|
|
26
25
|
elementId,
|
|
27
26
|
position
|
|
28
|
-
} from '../../server';
|
|
29
|
-
import {
|
|
27
|
+
} from '../../server/mcp-input-schemas';
|
|
28
|
+
import { OperationMcpDiagramToolHandler } from '../../server/mcp-tool-handler';
|
|
29
|
+
import { formatNoticeList } from '../../util/mcp-util';
|
|
30
30
|
|
|
31
31
|
/** Strict — any unknown field on the size object surfaces as a validation error. */
|
|
32
32
|
export const NodeSizeSchema = z.strictObject({
|
|
@@ -54,7 +54,7 @@ export const ModifyNodesOutputSchema = z.object({
|
|
|
54
54
|
modifiedNodes: z
|
|
55
55
|
.array(ElementIdentitySchema)
|
|
56
56
|
.describe('Identity of each node whose change request was dispatched (post-modification labels).'),
|
|
57
|
-
dispatchedCommands
|
|
57
|
+
dispatchedCommands,
|
|
58
58
|
warnings: z
|
|
59
59
|
.array(z.string())
|
|
60
60
|
.describe(
|
|
@@ -18,7 +18,9 @@ import { ClientId, GLabel, GModelElement, Logger, ModelState, NullLogger } from
|
|
|
18
18
|
import { expect } from 'chai';
|
|
19
19
|
import { Container, ContainerModule } from 'inversify';
|
|
20
20
|
import { McpModelSerializer } from '../../resources/services/mcp-model-serializer';
|
|
21
|
-
import {
|
|
21
|
+
import { McpElementsNotFoundError, McpToolResult } from '../../server/mcp-handler-shared';
|
|
22
|
+
import { McpIdAliasService } from '../../server/mcp-id-alias-service';
|
|
23
|
+
import { DefaultMcpLabelProvider, McpLabelProvider } from '../../server/mcp-label-provider';
|
|
22
24
|
import { QueryElementsInput, QueryElementsMcpToolHandler } from './query-elements-mcp-tool-handler';
|
|
23
25
|
|
|
24
26
|
function makeLabel(text: string): GLabel {
|
|
@@ -18,13 +18,9 @@ import { GModelElement } from '@eclipse-glsp/server';
|
|
|
18
18
|
import { inject, injectable } from 'inversify';
|
|
19
19
|
import * as z from 'zod/v4';
|
|
20
20
|
import { McpModelSerializer } from '../../resources/services/mcp-model-serializer';
|
|
21
|
-
import {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
McpElementsNotFoundError,
|
|
25
|
-
McpToolResult,
|
|
26
|
-
elementIds as elementIdsSchema
|
|
27
|
-
} from '../../server';
|
|
21
|
+
import { McpElementsNotFoundError, McpToolResult } from '../../server/mcp-handler-shared';
|
|
22
|
+
import { McpDiagramScopedInputSchema, elementIds as elementIdsSchema } from '../../server/mcp-input-schemas';
|
|
23
|
+
import { AbstractMcpDiagramToolHandler } from '../../server/mcp-tool-handler';
|
|
28
24
|
|
|
29
25
|
export const QueryElementsInputSchema = McpDiagramScopedInputSchema.extend({
|
|
30
26
|
elementIds: elementIdsSchema
|
|
@@ -17,7 +17,9 @@
|
|
|
17
17
|
import { CommandStack, RedoAction } from '@eclipse-glsp/server';
|
|
18
18
|
import { inject, injectable } from 'inversify';
|
|
19
19
|
import * as z from 'zod/v4';
|
|
20
|
-
import {
|
|
20
|
+
import { McpToolError, McpToolResult } from '../../server/mcp-handler-shared';
|
|
21
|
+
import { McpDiagramScopedInputSchema } from '../../server/mcp-input-schemas';
|
|
22
|
+
import { OperationMcpDiagramToolHandler } from '../../server/mcp-tool-handler';
|
|
21
23
|
|
|
22
24
|
export const RedoInputSchema = McpDiagramScopedInputSchema.extend({
|
|
23
25
|
commandsToRedo: z.number().min(1).default(1).describe('Number of commands to redo. Defaults to 1 (most recent undone command).')
|
|
@@ -17,7 +17,10 @@
|
|
|
17
17
|
import { ActionDispatcher, CommandStack, SaveModelAction } from '@eclipse-glsp/server';
|
|
18
18
|
import { inject, injectable } from 'inversify';
|
|
19
19
|
import * as z from 'zod/v4';
|
|
20
|
-
import {
|
|
20
|
+
import { McpToolResult } from '../../server/mcp-handler-shared';
|
|
21
|
+
import { McpDiagramScopedInputSchema } from '../../server/mcp-input-schemas';
|
|
22
|
+
import { McpLogger } from '../../server/mcp-logger';
|
|
23
|
+
import { AbstractMcpDiagramToolHandler } from '../../server/mcp-tool-handler';
|
|
21
24
|
|
|
22
25
|
export const SaveModelInputSchema = McpDiagramScopedInputSchema.extend({
|
|
23
26
|
fileUri: z.string().optional().describe('Optional destination file URI. If not provided, saves to the original source model location.')
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
import { ClientSession, ClientSessionManager, CommandStack, Logger, ModelState, NullLogger } from '@eclipse-glsp/server';
|
|
18
18
|
import { expect } from 'chai';
|
|
19
19
|
import { Container, ContainerModule } from 'inversify';
|
|
20
|
-
import { McpToolResult } from '../../server';
|
|
20
|
+
import { McpToolResult } from '../../server/mcp-handler-shared';
|
|
21
21
|
import { SessionInfoMcpToolHandler } from './session-info-mcp-tool-handler';
|
|
22
22
|
|
|
23
23
|
function asText(result: McpToolResult): string {
|
|
@@ -17,7 +17,8 @@
|
|
|
17
17
|
import { ClientSessionManager, CommandStack, ModelState } from '@eclipse-glsp/server';
|
|
18
18
|
import { inject, injectable } from 'inversify';
|
|
19
19
|
import * as z from 'zod/v4';
|
|
20
|
-
import {
|
|
20
|
+
import { McpToolError, McpToolResult } from '../../server/mcp-handler-shared';
|
|
21
|
+
import { AbstractMcpToolHandler } from '../../server/mcp-tool-handler';
|
|
21
22
|
|
|
22
23
|
export const SessionInfoInputSchema = z.object({
|
|
23
24
|
sessionId: z
|
|
@@ -27,7 +27,9 @@ import {
|
|
|
27
27
|
} from '@eclipse-glsp/server';
|
|
28
28
|
import { expect } from 'chai';
|
|
29
29
|
import { Container, ContainerModule } from 'inversify';
|
|
30
|
-
import {
|
|
30
|
+
import { McpElementsNotFoundError, McpToolResult } from '../../server/mcp-handler-shared';
|
|
31
|
+
import { McpIdAliasService } from '../../server/mcp-id-alias-service';
|
|
32
|
+
import { DefaultMcpLabelProvider, McpLabelProvider } from '../../server/mcp-label-provider';
|
|
31
33
|
import { SetSelectionInput, SetSelectionMcpToolHandler } from './set-selection-mcp-tool-handler';
|
|
32
34
|
|
|
33
35
|
function makeElement(id: string, type: string): GModelElement {
|
|
@@ -17,7 +17,9 @@
|
|
|
17
17
|
import { ActionDispatcher, SelectAction, SelectAllAction } from '@eclipse-glsp/server';
|
|
18
18
|
import { inject, injectable } from 'inversify';
|
|
19
19
|
import * as z from 'zod/v4';
|
|
20
|
-
import {
|
|
20
|
+
import { McpToolResult } from '../../server/mcp-handler-shared';
|
|
21
|
+
import { McpDiagramScopedInputSchema, elementIds } from '../../server/mcp-input-schemas';
|
|
22
|
+
import { AbstractMcpDiagramToolHandler } from '../../server/mcp-tool-handler';
|
|
21
23
|
|
|
22
24
|
export const SetSelectionInputSchema = McpDiagramScopedInputSchema.extend({
|
|
23
25
|
selectedElementIds: elementIds
|
|
@@ -26,15 +26,9 @@ import {
|
|
|
26
26
|
} from '@eclipse-glsp/server';
|
|
27
27
|
import { inject, injectable } from 'inversify';
|
|
28
28
|
import * as z from 'zod/v4';
|
|
29
|
-
import {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
McpToolError,
|
|
33
|
-
McpToolResult,
|
|
34
|
-
elementIds,
|
|
35
|
-
position,
|
|
36
|
-
requestActionOrFail
|
|
37
|
-
} from '../../server';
|
|
29
|
+
import { McpToolError, McpToolResult, requestActionOrFail } from '../../server/mcp-handler-shared';
|
|
30
|
+
import { McpDiagramScopedInputSchema, elementIds, position } from '../../server/mcp-input-schemas';
|
|
31
|
+
import { AbstractMcpDiagramToolHandler } from '../../server/mcp-tool-handler';
|
|
38
32
|
|
|
39
33
|
export const VIEWPORT_ACTIONS = ['fit-to-screen', 'center-on-elements', 'reset-viewport', 'set-viewport'] as const;
|
|
40
34
|
export type ViewportAction = (typeof VIEWPORT_ACTIONS)[number];
|
|
@@ -17,7 +17,9 @@
|
|
|
17
17
|
import { CommandStack, UndoAction } from '@eclipse-glsp/server';
|
|
18
18
|
import { inject, injectable } from 'inversify';
|
|
19
19
|
import * as z from 'zod/v4';
|
|
20
|
-
import {
|
|
20
|
+
import { McpToolError, McpToolResult } from '../../server/mcp-handler-shared';
|
|
21
|
+
import { McpDiagramScopedInputSchema } from '../../server/mcp-input-schemas';
|
|
22
|
+
import { OperationMcpDiagramToolHandler } from '../../server/mcp-tool-handler';
|
|
21
23
|
|
|
22
24
|
export const UndoInputSchema = McpDiagramScopedInputSchema.extend({
|
|
23
25
|
commandsToUndo: z.number().min(1).default(1).describe('Number of commands to undo. Defaults to 1 (most recent command).')
|
|
Binary file
|
|
@@ -14,5 +14,7 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
|
|
17
|
-
export * from './
|
|
18
|
-
export * from './
|
|
17
|
+
export * from './modules/node-mcp-server-module';
|
|
18
|
+
export * from './reexport';
|
|
19
|
+
export * from './server/node-mcp-request-context';
|
|
20
|
+
export * from './server/node-mcp-server-launcher';
|
|
@@ -0,0 +1,56 @@
|
|
|
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
|
+
|
|
17
|
+
import { BindingTarget } from '@eclipse-glsp/server';
|
|
18
|
+
import { AbstractMcpServerModule, DEFAULT_MCP_OPTIONS } from '../../common/modules/abstract-mcp-server-module';
|
|
19
|
+
import { AbstractMcpServerLauncher } from '../../common/server/abstract-mcp-server-launcher';
|
|
20
|
+
import { McpServerDefaults } from '../../common/server/mcp-options';
|
|
21
|
+
import { McpRequestContext } from '../../common/server/mcp-request-context';
|
|
22
|
+
import { NodeMcpServerLauncher } from '../server/node-mcp-server-launcher';
|
|
23
|
+
import { NodeMcpRequestContext } from '../server/node-mcp-request-context';
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Default {@link AbstractMcpServerModule} entry point for Node hosts. Ships GLSP-default option
|
|
27
|
+
* values (see {@link DEFAULT_OPTIONS}) on top of the abstract module's hook defaults, and binds
|
|
28
|
+
* the Node-flavored {@link NodeMcpServerLauncher} + {@link NodeMcpRequestContext}. Adopter-provided
|
|
29
|
+
* overrides via the constructor merge on top.
|
|
30
|
+
*
|
|
31
|
+
* @experimental The MCP integration is under active development. Option names, schema shapes,
|
|
32
|
+
* and handler contracts MAY change in minor releases until the feature graduates from
|
|
33
|
+
* experimental status.
|
|
34
|
+
*/
|
|
35
|
+
export class NodeMcpServerModule extends AbstractMcpServerModule {
|
|
36
|
+
static readonly DEFAULT_OPTIONS: McpServerDefaults = {
|
|
37
|
+
...DEFAULT_MCP_OPTIONS,
|
|
38
|
+
host: '127.0.0.1',
|
|
39
|
+
allowedHosts: ['127.0.0.1', 'localhost']
|
|
40
|
+
// `allowedOrigins` deliberately undefined: accept absent Origin (typical for desktop-IDE
|
|
41
|
+
// MCP clients) and rely on Host validation to gate DNS-rebinding. Adopters whose
|
|
42
|
+
// deployment is browser-fronted set this explicitly to their frontend's origin.
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
constructor(overrides: McpServerDefaults = {}) {
|
|
46
|
+
super({ ...NodeMcpServerModule.DEFAULT_OPTIONS, ...overrides });
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
protected override bindMcpServerLauncher(): BindingTarget<AbstractMcpServerLauncher> {
|
|
50
|
+
return NodeMcpServerLauncher;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
protected override bindMcpRequestContext(): BindingTarget<McpRequestContext> {
|
|
54
|
+
return NodeMcpRequestContext;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
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
|
+
export * from '../common';
|