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