@eclipse-glsp/server-mcp 2.8.0-next.1 → 2.8.0-next.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -7
- package/lib/browser/modules/browser-mcp-server-module.js +1 -1
- package/lib/browser/modules/browser-mcp-server-module.js.map +1 -1
- package/lib/common/modules/abstract-mcp-server-module.d.ts +1 -2
- package/lib/common/modules/abstract-mcp-server-module.d.ts.map +1 -1
- package/lib/common/modules/abstract-mcp-server-module.js.map +1 -1
- package/lib/common/modules/mcp-diagram-module.js +1 -1
- package/lib/common/modules/mcp-diagram-module.js.map +1 -1
- package/lib/common/prompts/handlers/describe-diagram-mcp-prompt-handler.js +3 -2
- package/lib/common/prompts/handlers/describe-diagram-mcp-prompt-handler.js.map +1 -1
- package/lib/common/prompts/handlers/suggest-improvements-mcp-prompt-handler.js +3 -2
- package/lib/common/prompts/handlers/suggest-improvements-mcp-prompt-handler.js.map +1 -1
- package/lib/common/resources/handlers/diagram-png-mcp-resource-handler.js +5 -4
- package/lib/common/resources/handlers/diagram-png-mcp-resource-handler.js.map +1 -1
- package/lib/common/resources/handlers/diagram-svg-mcp-resource-handler.js +4 -3
- package/lib/common/resources/handlers/diagram-svg-mcp-resource-handler.js.map +1 -1
- package/lib/common/resources/services/element-types-provider.d.ts.map +1 -1
- package/lib/common/resources/services/element-types-provider.js +1 -2
- package/lib/common/resources/services/element-types-provider.js.map +1 -1
- package/lib/common/resources/services/mcp-model-serializer.d.ts +1 -2
- package/lib/common/resources/services/mcp-model-serializer.d.ts.map +1 -1
- package/lib/common/resources/services/mcp-model-serializer.js +3 -5
- package/lib/common/resources/services/mcp-model-serializer.js.map +1 -1
- package/lib/common/server/abstract-mcp-server-launcher.d.ts +3 -4
- package/lib/common/server/abstract-mcp-server-launcher.d.ts.map +1 -1
- package/lib/common/server/abstract-mcp-server-launcher.js +9 -14
- package/lib/common/server/abstract-mcp-server-launcher.js.map +1 -1
- package/lib/common/server/glsp-mcp-server.d.ts.map +1 -1
- package/lib/common/server/glsp-mcp-server.js +2 -2
- package/lib/common/server/glsp-mcp-server.js.map +1 -1
- package/lib/common/server/lru-event-store.js +2 -3
- package/lib/common/server/lru-event-store.js.map +1 -1
- package/lib/common/server/mcp-diagram-handler-dispatcher.d.ts +20 -4
- package/lib/common/server/mcp-diagram-handler-dispatcher.d.ts.map +1 -1
- package/lib/common/server/mcp-diagram-handler-dispatcher.js +40 -13
- package/lib/common/server/mcp-diagram-handler-dispatcher.js.map +1 -1
- package/lib/common/server/mcp-handler-shared.d.ts +1 -2
- package/lib/common/server/mcp-handler-shared.d.ts.map +1 -1
- package/lib/common/server/mcp-handler-shared.js +1 -1
- package/lib/common/server/mcp-handler-shared.js.map +1 -1
- package/lib/common/server/mcp-id-alias-service.js +1 -2
- package/lib/common/server/mcp-id-alias-service.js.map +1 -1
- package/lib/common/server/mcp-input-schemas.d.ts +2 -0
- package/lib/common/server/mcp-input-schemas.d.ts.map +1 -1
- package/lib/common/server/mcp-input-schemas.js +3 -1
- package/lib/common/server/mcp-input-schemas.js.map +1 -1
- package/lib/common/server/mcp-log-level-registry.js +10 -10
- package/lib/common/server/mcp-log-level-registry.js.map +1 -1
- package/lib/common/server/mcp-mime-types.d.ts +1 -1
- package/lib/common/server/mcp-mime-types.d.ts.map +1 -1
- package/lib/common/server/mcp-options.d.ts +1 -1
- package/lib/common/server/mcp-options.d.ts.map +1 -1
- package/lib/common/server/mcp-progress-reporter.js +1 -2
- package/lib/common/server/mcp-progress-reporter.js.map +1 -1
- package/lib/common/server/mcp-resource-handler.d.ts +10 -1
- package/lib/common/server/mcp-resource-handler.d.ts.map +1 -1
- package/lib/common/server/mcp-resource-handler.js +17 -10
- package/lib/common/server/mcp-resource-handler.js.map +1 -1
- package/lib/common/server/mcp-tool-handler.d.ts +33 -16
- package/lib/common/server/mcp-tool-handler.d.ts.map +1 -1
- package/lib/common/server/mcp-tool-handler.js +19 -3
- package/lib/common/server/mcp-tool-handler.js.map +1 -1
- package/lib/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 -1
- package/lib/common/tools/handlers/count-elements-mcp-tool-handler.js +4 -4
- package/lib/common/tools/handlers/count-elements-mcp-tool-handler.js.map +1 -1
- package/lib/common/tools/handlers/create-edges-mcp-tool-handler.d.ts +2 -1
- package/lib/common/tools/handlers/create-edges-mcp-tool-handler.d.ts.map +1 -1
- package/lib/common/tools/handlers/create-edges-mcp-tool-handler.js +14 -8
- package/lib/common/tools/handlers/create-edges-mcp-tool-handler.js.map +1 -1
- package/lib/common/tools/handlers/create-nodes-mcp-tool-handler.d.ts +2 -1
- package/lib/common/tools/handlers/create-nodes-mcp-tool-handler.d.ts.map +1 -1
- package/lib/common/tools/handlers/create-nodes-mcp-tool-handler.js +18 -10
- package/lib/common/tools/handlers/create-nodes-mcp-tool-handler.js.map +1 -1
- package/lib/common/tools/handlers/delete-elements-mcp-tool-handler.d.ts +2 -1
- package/lib/common/tools/handlers/delete-elements-mcp-tool-handler.d.ts.map +1 -1
- package/lib/common/tools/handlers/delete-elements-mcp-tool-handler.js +3 -2
- package/lib/common/tools/handlers/delete-elements-mcp-tool-handler.js.map +1 -1
- package/lib/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 -1
- package/lib/common/tools/handlers/diagram-model-mcp-tool-handler.js +7 -4
- package/lib/common/tools/handlers/diagram-model-mcp-tool-handler.js.map +1 -1
- package/lib/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 -1
- package/lib/common/tools/handlers/element-types-mcp-tool-handler.js +8 -5
- package/lib/common/tools/handlers/element-types-mcp-tool-handler.js.map +1 -1
- package/lib/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 -1
- package/lib/common/tools/handlers/get-selection-mcp-tool-handler.js +3 -2
- package/lib/common/tools/handlers/get-selection-mcp-tool-handler.js.map +1 -1
- package/lib/common/tools/handlers/layout-mcp-tool-handler.d.ts +5 -2
- package/lib/common/tools/handlers/layout-mcp-tool-handler.d.ts.map +1 -1
- package/lib/common/tools/handlers/layout-mcp-tool-handler.js +8 -3
- package/lib/common/tools/handlers/layout-mcp-tool-handler.js.map +1 -1
- package/lib/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 -1
- package/lib/common/tools/handlers/modify-edges-mcp-tool-handler.js +13 -9
- package/lib/common/tools/handlers/modify-edges-mcp-tool-handler.js.map +1 -1
- package/lib/common/tools/handlers/modify-nodes-mcp-tool-handler.d.ts +4 -1
- package/lib/common/tools/handlers/modify-nodes-mcp-tool-handler.d.ts.map +1 -1
- package/lib/common/tools/handlers/modify-nodes-mcp-tool-handler.js +57 -25
- package/lib/common/tools/handlers/modify-nodes-mcp-tool-handler.js.map +1 -1
- package/lib/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 -1
- package/lib/common/tools/handlers/query-elements-mcp-tool-handler.js +7 -7
- package/lib/common/tools/handlers/query-elements-mcp-tool-handler.js.map +1 -1
- package/lib/common/tools/handlers/redo-mcp-tool-handler.d.ts +2 -1
- package/lib/common/tools/handlers/redo-mcp-tool-handler.d.ts.map +1 -1
- package/lib/common/tools/handlers/redo-mcp-tool-handler.js +10 -5
- package/lib/common/tools/handlers/redo-mcp-tool-handler.js.map +1 -1
- package/lib/common/tools/handlers/save-model-mcp-tool-handler.d.ts +2 -1
- package/lib/common/tools/handlers/save-model-mcp-tool-handler.d.ts.map +1 -1
- package/lib/common/tools/handlers/save-model-mcp-tool-handler.js +6 -3
- package/lib/common/tools/handlers/save-model-mcp-tool-handler.js.map +1 -1
- package/lib/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 -1
- package/lib/common/tools/handlers/session-info-mcp-tool-handler.js +4 -4
- package/lib/common/tools/handlers/session-info-mcp-tool-handler.js.map +1 -1
- package/lib/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 -1
- package/lib/common/tools/handlers/set-selection-mcp-tool-handler.js +10 -7
- package/lib/common/tools/handlers/set-selection-mcp-tool-handler.js.map +1 -1
- package/lib/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 -1
- package/lib/common/tools/handlers/set-view-mcp-tool-handler.js +6 -5
- package/lib/common/tools/handlers/set-view-mcp-tool-handler.js.map +1 -1
- package/lib/common/tools/handlers/undo-mcp-tool-handler.d.ts +2 -1
- package/lib/common/tools/handlers/undo-mcp-tool-handler.d.ts.map +1 -1
- package/lib/common/tools/handlers/undo-mcp-tool-handler.js +10 -5
- package/lib/common/tools/handlers/undo-mcp-tool-handler.js.map +1 -1
- package/lib/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 -1
- package/lib/common/tools/handlers/validate-diagram-mcp-tool-handler.js +0 -0
- package/lib/common/tools/handlers/validate-diagram-mcp-tool-handler.js.map +1 -1
- package/lib/common/util/markdown-util.js +1 -2
- package/lib/common/util/markdown-util.js.map +1 -1
- package/lib/node/modules/node-mcp-server-module.js +8 -8
- package/lib/node/modules/node-mcp-server-module.js.map +1 -1
- package/package.json +17 -17
- package/src/common/modules/abstract-mcp-server-module.ts +3 -3
- package/src/common/modules/mcp-diagram-module.ts +1 -1
- package/src/common/resources/services/element-types-provider.ts +2 -1
- package/src/common/resources/services/mcp-model-serializer.ts +1 -2
- package/src/common/server/abstract-mcp-server-launcher.ts +3 -3
- package/src/common/server/glsp-mcp-server.ts +2 -1
- package/src/common/server/mcp-diagram-handler-dispatcher.ts +56 -5
- package/src/common/server/mcp-handler-shared.ts +2 -4
- package/src/common/server/mcp-input-schemas.ts +3 -0
- package/src/common/server/mcp-mime-types.ts +1 -1
- package/src/common/server/mcp-options.ts +1 -1
- package/src/common/server/mcp-resource-handler.ts +14 -2
- package/src/common/server/mcp-tool-handler.ts +47 -19
- package/src/common/tools/handlers/count-elements-mcp-tool-handler.ts +2 -1
- package/src/common/tools/handlers/create-edges-mcp-tool-handler.ts +20 -8
- package/src/common/tools/handlers/create-nodes-mcp-tool-handler.ts +19 -8
- package/src/common/tools/handlers/delete-elements-mcp-tool-handler.ts +2 -1
- package/src/common/tools/handlers/diagram-model-mcp-tool-handler.ts +6 -3
- package/src/common/tools/handlers/element-types-mcp-tool-handler.ts +6 -3
- package/src/common/tools/handlers/get-selection-mcp-tool-handler.ts +2 -1
- package/src/common/tools/handlers/layout-mcp-tool-handler.ts +8 -2
- package/src/common/tools/handlers/modify-edges-mcp-tool-handler.ts +14 -8
- package/src/common/tools/handlers/modify-nodes-mcp-tool-handler.ts +63 -25
- package/src/common/tools/handlers/query-elements-mcp-tool-handler.ts +2 -1
- package/src/common/tools/handlers/redo-mcp-tool-handler.ts +9 -4
- package/src/common/tools/handlers/save-model-mcp-tool-handler.ts +5 -2
- package/src/common/tools/handlers/session-info-mcp-tool-handler.ts +2 -1
- package/src/common/tools/handlers/set-selection-mcp-tool-handler.ts +8 -5
- package/src/common/tools/handlers/set-view-mcp-tool-handler.ts +3 -2
- package/src/common/tools/handlers/undo-mcp-tool-handler.ts +9 -4
- package/src/common/tools/handlers/validate-diagram-mcp-tool-handler.ts +0 -0
- package/src/common/server/abstract-mcp-server-launcher.spec.ts +0 -458
- package/src/common/server/glsp-mcp-server.spec.ts +0 -73
- package/src/common/server/lru-event-store.spec.ts +0 -121
- package/src/common/server/mcp-diagram-handler-dispatcher.spec.ts +0 -231
- package/src/common/server/mcp-handler-shared.spec.ts +0 -53
- package/src/common/server/mcp-id-alias-service.spec.ts +0 -106
- package/src/common/server/mcp-log-level-registry.spec.ts +0 -75
- package/src/common/server/mcp-logger.spec.ts +0 -235
- package/src/common/server/mcp-progress-reporter.spec.ts +0 -103
- package/src/common/server/mcp-tool-handler.spec.ts +0 -182
- package/src/common/tools/handlers/count-elements-mcp-tool-handler.spec.ts +0 -101
- package/src/common/tools/handlers/create-edges-mcp-tool-handler.spec.ts +0 -198
- package/src/common/tools/handlers/create-nodes-mcp-tool-handler.spec.ts +0 -199
- package/src/common/tools/handlers/query-elements-mcp-tool-handler.spec.ts +0 -212
- package/src/common/tools/handlers/session-info-mcp-tool-handler.spec.ts +0 -152
- package/src/common/tools/handlers/set-selection-mcp-tool-handler.spec.ts +0 -120
- package/src/common/tools/tool-annotations.spec.ts +0 -141
- package/src/node/server/mcp-http-transport-e2e.spec.ts +0 -297
- package/src/node/server/node-mcp-server-launcher.spec.ts +0 -184
- package/src/node/server/raw-http.spec.ts +0 -59
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-mime-types.d.ts","sourceRoot":"","sources":["../../../src/common/server/mcp-mime-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"mcp-mime-types.d.ts","sourceRoot":"","sources":["../../../src/common/server/mcp-mime-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,GAAG,cAAc,CACpC,YAAY,GAAG,eAAe,GAAG,WAAW,GAAG,kBAAkB,GAAG,WAAW,GAAG,YAAY,GAAG,eAAe,CACnH,CAAC"}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { McpServerOptions as McpServerOptionsType } from '@eclipse-glsp/
|
|
16
|
+
import { McpServerOptions as McpServerOptionsType } from '@eclipse-glsp/server';
|
|
17
17
|
/**
|
|
18
18
|
* Holds the launcher-scoped MCP options. The launcher merges adopter-provided defaults
|
|
19
19
|
* (passed to the {@link AbstractMcpServerModule} constructor, bound as
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-options.d.ts","sourceRoot":"","sources":["../../../src/common/server/mcp-options.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"mcp-options.d.ts","sourceRoot":"","sources":["../../../src/common/server/mcp-options.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAGhF;;;;;;;;;;;GAWG;AACH,qBACa,gBAAgB;IACzB,MAAM,EAAE,oBAAoB,CAAM;CACrC;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,eAA8B,CAAC;AAC7D,MAAM,MAAM,iBAAiB,GAAG,oBAAoB,CAAC"}
|
|
@@ -48,9 +48,8 @@ let McpProgressReporter = class McpProgressReporter {
|
|
|
48
48
|
this.requestContext = new mcp_request_context_1.NoopMcpRequestContext();
|
|
49
49
|
}
|
|
50
50
|
async emit(beat) {
|
|
51
|
-
var _a;
|
|
52
51
|
const extra = this.requestContext.getStore();
|
|
53
|
-
const progressToken =
|
|
52
|
+
const progressToken = extra?._meta?.progressToken;
|
|
54
53
|
if (extra === undefined || progressToken === undefined) {
|
|
55
54
|
return;
|
|
56
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-progress-reporter.js","sourceRoot":"","sources":["../../../src/common/server/mcp-progress-reporter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF,yCAAyD;AACzD,+DAAiF;AAgBjF;;;;;;;;;;;;;;;GAeG;AAEI,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAAzB;QAGO,mBAAc,GAAsB,IAAI,2CAAqB,EAAE,CAAC;IAiB9E,CAAC;IAfG,KAAK,CAAC,IAAI,CAAC,IAAqB
|
|
1
|
+
{"version":3,"file":"mcp-progress-reporter.js","sourceRoot":"","sources":["../../../src/common/server/mcp-progress-reporter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF,yCAAyD;AACzD,+DAAiF;AAgBjF;;;;;;;;;;;;;;;GAeG;AAEI,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAAzB;QAGO,mBAAc,GAAsB,IAAI,2CAAqB,EAAE,CAAC;IAiB9E,CAAC;IAfG,KAAK,CAAC,IAAI,CAAC,IAAqB;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;QAC7C,MAAM,aAAa,GAAG,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC;QAClD,IAAI,KAAK,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YACrD,OAAO;QACX,CAAC;QACD,IAAI,CAAC;YACD,MAAM,KAAK,CAAC,gBAAgB,CAAC;gBACzB,MAAM,EAAE,wBAAwB;gBAChC,MAAM,EAAE,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE;aACrC,CAAC,CAAC;QACP,CAAC;QAAC,MAAM,CAAC;YACL,0EAA0E;QAC9E,CAAC;IACL,CAAC;CACJ,CAAA;AApBY,kDAAmB;AAGlB;IAFT,IAAA,kBAAM,EAAC,uCAAiB,CAAC;IACzB,IAAA,oBAAQ,GAAE;;2DAC+D;8BAHjE,mBAAmB;IAD/B,IAAA,sBAAU,GAAE;GACA,mBAAmB,CAoB/B"}
|
|
@@ -161,7 +161,16 @@ export declare abstract class AbstractMcpDiagramResourceHandler<T extends McpDia
|
|
|
161
161
|
* `this.name`. Pass an explicit label only to disambiguate between multiple round-trips.
|
|
162
162
|
*/
|
|
163
163
|
protected requestAction<R extends ResponseAction>(request: RequestAction<R>, timeoutMs: number, label?: string): Promise<R>;
|
|
164
|
-
/**
|
|
164
|
+
/**
|
|
165
|
+
* Whether the diagram type can support this resource at all — see
|
|
166
|
+
* {@link BaseMcpDiagramToolHandler.isSupportedByDiagramType}. Returning `false` keeps the
|
|
167
|
+
* resource out of the MCP catalog.
|
|
168
|
+
*/
|
|
169
|
+
isSupportedByDiagramType(): boolean;
|
|
170
|
+
/**
|
|
171
|
+
* Override to opt out when a per-session dependency is missing. Default: `true`. Gates the
|
|
172
|
+
* per-GLSP-session registry only — see {@link BaseMcpDiagramToolHandler.canRegister}.
|
|
173
|
+
*/
|
|
165
174
|
canRegister(): boolean;
|
|
166
175
|
/**
|
|
167
176
|
* Default `list()` for the per-session-single-resource case (diagram-model, diagram-png).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-resource-handler.d.ts","sourceRoot":"","sources":["../../../src/common/server/mcp-resource-handler.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mcp-resource-handler.d.ts","sourceRoot":"","sources":["../../../src/common/server/mcp-resource-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -105,10 +105,9 @@ let BaseMcpResourceHandler = class BaseMcpResourceHandler {
|
|
|
105
105
|
}
|
|
106
106
|
/** Builds the SDK `ResourceTemplate` for templated URIs (server-scope path). */
|
|
107
107
|
buildResourceTemplate(template) {
|
|
108
|
-
var _a;
|
|
109
108
|
return new mcp_js_1.ResourceTemplate(template, {
|
|
110
109
|
list: this.list ? async (extra) => this.requestContext.run(extra, () => this.list()) : undefined,
|
|
111
|
-
complete:
|
|
110
|
+
complete: this.complete?.()
|
|
112
111
|
});
|
|
113
112
|
}
|
|
114
113
|
};
|
|
@@ -197,7 +196,18 @@ let AbstractMcpDiagramResourceHandler = class AbstractMcpDiagramResourceHandler
|
|
|
197
196
|
requestAction(request, timeoutMs, label = this.name) {
|
|
198
197
|
return (0, mcp_handler_shared_1.requestActionOrFail)(this.actionDispatcher, request, timeoutMs, label);
|
|
199
198
|
}
|
|
200
|
-
/**
|
|
199
|
+
/**
|
|
200
|
+
* Whether the diagram type can support this resource at all — see
|
|
201
|
+
* {@link BaseMcpDiagramToolHandler.isSupportedByDiagramType}. Returning `false` keeps the
|
|
202
|
+
* resource out of the MCP catalog.
|
|
203
|
+
*/
|
|
204
|
+
isSupportedByDiagramType() {
|
|
205
|
+
return true;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Override to opt out when a per-session dependency is missing. Default: `true`. Gates the
|
|
209
|
+
* per-GLSP-session registry only — see {@link BaseMcpDiagramToolHandler.canRegister}.
|
|
210
|
+
*/
|
|
201
211
|
canRegister() {
|
|
202
212
|
return true;
|
|
203
213
|
}
|
|
@@ -223,11 +233,10 @@ let AbstractMcpDiagramResourceHandler = class AbstractMcpDiagramResourceHandler
|
|
|
223
233
|
}
|
|
224
234
|
/** Default per-session entry built from the handler's metadata. Override to customize. */
|
|
225
235
|
toListingEntry() {
|
|
226
|
-
var _a;
|
|
227
236
|
const annotations = this.toAnnotations();
|
|
228
237
|
return {
|
|
229
238
|
uri: this.expandUriTemplate({ sessionId: this.clientId }),
|
|
230
|
-
name: `${
|
|
239
|
+
name: `${this.title ?? this.name}: ${this.clientId}`,
|
|
231
240
|
description: this.description,
|
|
232
241
|
mimeType: this.mimeType,
|
|
233
242
|
...(annotations ? { annotations } : {})
|
|
@@ -259,8 +268,7 @@ let AbstractMcpDiagramResourceHandler = class AbstractMcpDiagramResourceHandler
|
|
|
259
268
|
* Invoked by the launcher's aggregator, not by adopters directly.
|
|
260
269
|
*/
|
|
261
270
|
glspSessionScopedComplete() {
|
|
262
|
-
|
|
263
|
-
const raw = (_b = (_a = this.complete) === null || _a === void 0 ? void 0 : _a.call(this)) !== null && _b !== void 0 ? _b : {};
|
|
271
|
+
const raw = this.complete?.() ?? {};
|
|
264
272
|
const myId = this.clientId;
|
|
265
273
|
const isGlspSessionScoped = typeof this.uri === 'object' && this.uri.template.includes('{sessionId}');
|
|
266
274
|
const wrapped = {};
|
|
@@ -268,7 +276,7 @@ let AbstractMcpDiagramResourceHandler = class AbstractMcpDiagramResourceHandler
|
|
|
268
276
|
wrapped[variable] =
|
|
269
277
|
variable === 'sessionId' || !isGlspSessionScoped
|
|
270
278
|
? completer
|
|
271
|
-
: async (value, ctx) =>
|
|
279
|
+
: async (value, ctx) => (ctx?.arguments?.sessionId === myId ? completer(value, ctx) : []);
|
|
272
280
|
}
|
|
273
281
|
return wrapped;
|
|
274
282
|
}
|
|
@@ -295,10 +303,9 @@ exports.AbstractMcpDiagramResourceHandler = AbstractMcpDiagramResourceHandler =
|
|
|
295
303
|
], AbstractMcpDiagramResourceHandler);
|
|
296
304
|
/** Normalizes SDK `Variables` (each value is `string | string[]`) to a flat `Record<string, string>`. */
|
|
297
305
|
function toParams(variables) {
|
|
298
|
-
var _a;
|
|
299
306
|
const out = {};
|
|
300
307
|
for (const [key, value] of Object.entries(variables)) {
|
|
301
|
-
out[key] = Array.isArray(value) ? (
|
|
308
|
+
out[key] = Array.isArray(value) ? (value[0] ?? '') : value;
|
|
302
309
|
}
|
|
303
310
|
return out;
|
|
304
311
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-resource-handler.js","sourceRoot":"","sources":["../../../src/common/server/mcp-resource-handler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"mcp-resource-handler.js","sourceRoot":"","sources":["../../../src/common/server/mcp-resource-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
import { ActionDispatcher, GModelElement, Logger, MaybePromise, ModelState, RequestAction, ResponseAction } from '@eclipse-glsp/server';
|
|
17
17
|
import { ToolAnnotations } from '@modelcontextprotocol/sdk/types';
|
|
18
18
|
import { interfaces } from 'inversify';
|
|
19
|
-
import { ZodObject, ZodRawShape } from 'zod/v4';
|
|
19
|
+
import { ZodObject, ZodRawShape, ZodType } from 'zod/v4';
|
|
20
20
|
import { GLSPMcpServer } from './glsp-mcp-server';
|
|
21
21
|
import { McpStructuredContent, McpToolErrorCode, McpToolResult } from './mcp-handler-shared';
|
|
22
22
|
import { McpIdAliasService } from './mcp-id-alias-service';
|
|
@@ -49,7 +49,7 @@ export declare const McpToolHandler: unique symbol;
|
|
|
49
49
|
*
|
|
50
50
|
* @experimental
|
|
51
51
|
*/
|
|
52
|
-
export declare abstract class BaseMcpToolHandler {
|
|
52
|
+
export declare abstract class BaseMcpToolHandler<O extends McpStructuredContent = McpStructuredContent> {
|
|
53
53
|
protected requestContext: McpRequestContext;
|
|
54
54
|
protected logger: Logger;
|
|
55
55
|
/**
|
|
@@ -66,9 +66,11 @@ export declare abstract class BaseMcpToolHandler {
|
|
|
66
66
|
* Optional dual-emit schema. When set, pass the matching `structured` payload to
|
|
67
67
|
* {@link success} so the framework forwards it as `structuredContent` alongside the
|
|
68
68
|
* human-readable text. The MCP spec says clients SHOULD validate `structuredContent`
|
|
69
|
-
* against the declared schema, so the two MUST stay in sync.
|
|
69
|
+
* against the declared schema, so the two MUST stay in sync. Bind the `O` type parameter to
|
|
70
|
+
* `z.infer<typeof MyOutputSchema>` to have the compiler enforce that — the type ties this
|
|
71
|
+
* field and {@link success}'s payload to the same shape.
|
|
70
72
|
*/
|
|
71
|
-
readonly outputSchema?: ZodObject<ZodRawShape>;
|
|
73
|
+
readonly outputSchema?: ZodObject<ZodRawShape> & ZodType<O>;
|
|
72
74
|
/** Optional human-friendly display name for UIs that render a friendlier label than `name`. */
|
|
73
75
|
readonly title?: string;
|
|
74
76
|
/**
|
|
@@ -125,7 +127,7 @@ export declare abstract class BaseMcpToolHandler {
|
|
|
125
127
|
* Pass `structured` whenever {@link outputSchema} is declared (the spec says clients SHOULD
|
|
126
128
|
* validate against the declared shape). Omit for plain text-only responses.
|
|
127
129
|
*/
|
|
128
|
-
protected success(message: string, structured?:
|
|
130
|
+
protected success(message: string, structured?: O): McpToolResult;
|
|
129
131
|
/** Catches `McpToolError` (→ `isError: true` result) and unexpected errors; tags known errors via {@link errorCodeFor}. */
|
|
130
132
|
protected execute(producer: () => MaybePromise<McpToolResult>): Promise<McpToolResult>;
|
|
131
133
|
}
|
|
@@ -136,9 +138,9 @@ export declare abstract class BaseMcpToolHandler {
|
|
|
136
138
|
*
|
|
137
139
|
* @experimental
|
|
138
140
|
*/
|
|
139
|
-
export declare abstract class AbstractMcpToolHandler<
|
|
141
|
+
export declare abstract class AbstractMcpToolHandler<I = Record<string, unknown>, O extends McpStructuredContent = McpStructuredContent> extends BaseMcpToolHandler<O> implements McpToolHandler {
|
|
140
142
|
/** Throw {@link McpToolError} for expected, user-facing errors; the base wraps. */
|
|
141
|
-
protected abstract createResult(params:
|
|
143
|
+
protected abstract createResult(params: I): MaybePromise<McpToolResult>;
|
|
142
144
|
registerTool(server: GLSPMcpServer): void;
|
|
143
145
|
}
|
|
144
146
|
/**
|
|
@@ -156,21 +158,36 @@ export declare abstract class AbstractMcpToolHandler<T = Record<string, unknown>
|
|
|
156
158
|
*
|
|
157
159
|
* @experimental
|
|
158
160
|
*/
|
|
159
|
-
export declare abstract class BaseMcpDiagramToolHandler<
|
|
161
|
+
export declare abstract class BaseMcpDiagramToolHandler<I extends McpDiagramScopedInput = McpDiagramScopedInput, O extends McpStructuredContent = McpStructuredContent> extends BaseMcpToolHandler<O> {
|
|
160
162
|
protected clientId: string;
|
|
161
163
|
protected modelState: ModelState;
|
|
162
164
|
protected aliasService: McpIdAliasService;
|
|
163
165
|
protected labelProvider: McpLabelProvider;
|
|
164
166
|
/** Throw {@link McpToolError} for expected errors; the base wraps. */
|
|
165
|
-
protected abstract createResult(params:
|
|
167
|
+
protected abstract createResult(params: I): MaybePromise<McpToolResult>;
|
|
166
168
|
/**
|
|
167
169
|
* Public dispatch entry point invoked by {@link AbstractMcpServerLauncher}'s registered SDK
|
|
168
170
|
* callback. Each sibling sets its own policy — {@link AbstractMcpDiagramToolHandler}
|
|
169
171
|
* passes through; {@link OperationMcpDiagramToolHandler} enforces the readonly gate.
|
|
170
172
|
* Adopters don't call this directly.
|
|
171
173
|
*/
|
|
172
|
-
abstract handle(params:
|
|
173
|
-
/**
|
|
174
|
+
abstract handle(params: I): Promise<McpToolResult>;
|
|
175
|
+
/**
|
|
176
|
+
* Whether the diagram type can support this tool at all. Evaluated once per diagram type at
|
|
177
|
+
* MCP-server start against a container with that type's diagram modules loaded, so
|
|
178
|
+
* `@inject(...) @optional()` dependencies reflect its real bindings. When no registered
|
|
179
|
+
* diagram type supports the tool, it is left out of the MCP catalog entirely.
|
|
180
|
+
*
|
|
181
|
+
* Override this for statically bound dependencies (e.g. a `LayoutEngine`) and
|
|
182
|
+
* {@link canRegister} for capabilities of the connected GLSP client — the harvest container
|
|
183
|
+
* has no client, so client capabilities always read as absent here.
|
|
184
|
+
*/
|
|
185
|
+
isSupportedByDiagramType(): boolean;
|
|
186
|
+
/**
|
|
187
|
+
* Override to opt out when a per-session dependency is missing. Default: `true`. Gates the
|
|
188
|
+
* per-GLSP-session registry only: the tool stays in the catalog (another session may support
|
|
189
|
+
* it) and calls against this session fail with "No tool handler '…' registered".
|
|
190
|
+
*/
|
|
174
191
|
canRegister(): boolean;
|
|
175
192
|
/** Translates (alias-or-real) ids to real ids; partitions ids absent from the model into `missingIds`. */
|
|
176
193
|
protected resolveIds(ids: string[]): {
|
|
@@ -206,8 +223,8 @@ export declare abstract class BaseMcpDiagramToolHandler<T extends McpDiagramScop
|
|
|
206
223
|
*
|
|
207
224
|
* @experimental
|
|
208
225
|
*/
|
|
209
|
-
export declare abstract class AbstractMcpDiagramToolHandler<
|
|
210
|
-
handle(params:
|
|
226
|
+
export declare abstract class AbstractMcpDiagramToolHandler<I extends McpDiagramScopedInput = McpDiagramScopedInput, O extends McpStructuredContent = McpStructuredContent> extends BaseMcpDiagramToolHandler<I, O> {
|
|
227
|
+
handle(params: I): Promise<McpToolResult>;
|
|
211
228
|
}
|
|
212
229
|
/**
|
|
213
230
|
* Diagram-scope tool base for **operation-style** tools that mutate the model by dispatching a
|
|
@@ -231,12 +248,12 @@ export declare abstract class AbstractMcpDiagramToolHandler<T extends McpDiagram
|
|
|
231
248
|
*
|
|
232
249
|
* @experimental
|
|
233
250
|
*/
|
|
234
|
-
export declare abstract class OperationMcpDiagramToolHandler<
|
|
251
|
+
export declare abstract class OperationMcpDiagramToolHandler<I extends McpDiagramScopedInput = McpDiagramScopedInput, O extends McpStructuredContent = McpStructuredContent> extends BaseMcpDiagramToolHandler<I, O> {
|
|
235
252
|
protected actionDispatcher: ActionDispatcher;
|
|
236
253
|
readonly readOnlyHint = false;
|
|
237
254
|
readonly destructiveHint: boolean;
|
|
238
255
|
readonly idempotentHint: boolean;
|
|
239
|
-
handle(params:
|
|
256
|
+
handle(params: I): Promise<McpToolResult>;
|
|
240
257
|
/**
|
|
241
258
|
* Convenience for tools that initiate a `RequestAction` round-trip (rather than the
|
|
242
259
|
* fire-and-forget operation dispatch this base is named for) — wraps
|
|
@@ -256,6 +273,6 @@ export declare abstract class OperationMcpDiagramToolHandler<T extends McpDiagra
|
|
|
256
273
|
* are read off `new Constructor()` at MCP-session-init for SDK catalog registration, the same
|
|
257
274
|
* trick `bindOperations` uses to read `operationType`.
|
|
258
275
|
*/
|
|
259
|
-
export type McpDiagramToolHandlerConstructor = interfaces.Newable<BaseMcpDiagramToolHandler<any>>;
|
|
276
|
+
export type McpDiagramToolHandlerConstructor = interfaces.Newable<BaseMcpDiagramToolHandler<any, any>>;
|
|
260
277
|
export declare const McpDiagramToolHandlerConstructor: unique symbol;
|
|
261
278
|
//# sourceMappingURL=mcp-tool-handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-tool-handler.d.ts","sourceRoot":"","sources":["../../../src/common/server/mcp-tool-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EACH,gBAAgB,EAEhB,aAAa,EACb,MAAM,EACN,YAAY,EACZ,UAAU,EACV,aAAa,EACb,cAAc,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAsB,UAAU,EAAY,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-tool-handler.d.ts","sourceRoot":"","sources":["../../../src/common/server/mcp-tool-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -181,7 +181,24 @@ exports.AbstractMcpToolHandler = AbstractMcpToolHandler = __decorate([
|
|
|
181
181
|
* @experimental
|
|
182
182
|
*/
|
|
183
183
|
let BaseMcpDiagramToolHandler = class BaseMcpDiagramToolHandler extends BaseMcpToolHandler {
|
|
184
|
-
/**
|
|
184
|
+
/**
|
|
185
|
+
* Whether the diagram type can support this tool at all. Evaluated once per diagram type at
|
|
186
|
+
* MCP-server start against a container with that type's diagram modules loaded, so
|
|
187
|
+
* `@inject(...) @optional()` dependencies reflect its real bindings. When no registered
|
|
188
|
+
* diagram type supports the tool, it is left out of the MCP catalog entirely.
|
|
189
|
+
*
|
|
190
|
+
* Override this for statically bound dependencies (e.g. a `LayoutEngine`) and
|
|
191
|
+
* {@link canRegister} for capabilities of the connected GLSP client — the harvest container
|
|
192
|
+
* has no client, so client capabilities always read as absent here.
|
|
193
|
+
*/
|
|
194
|
+
isSupportedByDiagramType() {
|
|
195
|
+
return true;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Override to opt out when a per-session dependency is missing. Default: `true`. Gates the
|
|
199
|
+
* per-GLSP-session registry only: the tool stays in the catalog (another session may support
|
|
200
|
+
* it) and calls against this session fail with "No tool handler '…' registered".
|
|
201
|
+
*/
|
|
185
202
|
canRegister() {
|
|
186
203
|
return true;
|
|
187
204
|
}
|
|
@@ -253,8 +270,7 @@ let BaseMcpDiagramToolHandler = class BaseMcpDiagramToolHandler extends BaseMcpT
|
|
|
253
270
|
}
|
|
254
271
|
/** Describe an already-resolved {@link GModelElement} — skips the model-lookup round-trip. */
|
|
255
272
|
describeResolvedElement(element) {
|
|
256
|
-
|
|
257
|
-
const label = (_a = this.labelProvider.getLabel(element)) === null || _a === void 0 ? void 0 : _a.text;
|
|
273
|
+
const label = this.labelProvider.getLabel(element)?.text;
|
|
258
274
|
// Conditional spread keeps `label` absent (not `undefined`) when the element has none —
|
|
259
275
|
// matches Zod's `.optional()` semantics so the structured payload is clean.
|
|
260
276
|
return { id: this.aliasService.alias(element.id), elementTypeId: element.type, ...(label !== undefined ? { label } : {}) };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-tool-handler.js","sourceRoot":"","sources":["../../../src/common/server/mcp-tool-handler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF,iDAS8B;AAE9B,yCAAqE;AAGrE,6DAY8B;AAC9B,iEAA2D;AAE3D,6DAAwD;AACxD,+DAAiF;AAiBpE,QAAA,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAEvD;;;;;;;;;GASG;AAEI,IAAe,kBAAkB,GAAjC,MAAe,kBAAkB;IAAjC;QAGO,mBAAc,GAAsB,IAAI,2CAAqB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-tool-handler.js","sourceRoot":"","sources":["../../../src/common/server/mcp-tool-handler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF,iDAS8B;AAE9B,yCAAqE;AAGrE,6DAY8B;AAC9B,iEAA2D;AAE3D,6DAAwD;AACxD,+DAAiF;AAiBpE,QAAA,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAEvD;;;;;;;;;GASG;AAEI,IAAe,kBAAkB,GAAjC,MAAe,kBAAkB;IAAjC;QAGO,mBAAc,GAAsB,IAAI,2CAAqB,EAAE,CAAC;QA0B1E,gFAAgF;QAChF,oFAAoF;QACpF,2FAA2F;QAC3F,uFAAuF;QACvF,gCAAgC;QAEhC;;;;WAIG;QACM,iBAAY,GAAY,IAAI,CAAC;QAYtC;;;;WAIG;QACM,kBAAa,GAAY,KAAK,CAAC;IAiF5C,CAAC;IA/EG;;;;;OAKG;IACH,oBAAoB;QAOhB,0FAA0F;QAC1F,wFAAwF;QACxF,4CAA4C;QAC5C,EAAE;QACF,0FAA0F;QAC1F,oFAAoF;QACpF,iFAAiF;QACjF,gEAAgE;QAChE,OAAO;YACH,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAuC;YAC3E,YAAY,EAAE,IAAI,CAAC,YAAkD;YACrE,WAAW,EAAE;gBACT,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,aAAa,EAAE,IAAI,CAAC,aAAa;aACpC;SACJ,CAAC;IACN,CAAC;IAES,KAAK,CAAC,OAAe,EAAE,IAAuB;QACpD,OAAO,IAAA,oCAAe,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACO,OAAO,CAAC,OAAe,EAAE,UAAc;QAC7C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;IACzG,CAAC;IAED,2HAA2H;IACjH,KAAK,CAAC,OAAO,CAAC,QAA2C;QAC/D,IAAI,CAAC;YACD,OAAO,MAAM,QAAQ,EAAE,CAAC;QAC5B,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACpB,MAAM,IAAI,GAAG,IAAA,iCAAY,EAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,GAAG,YAAY,iCAAY,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACzC,CAAC;YACD,MAAM,OAAO,GAAG,IAAA,wCAAmB,EAAC,GAAG,CAAC,CAAC;YACzC,qGAAqG;YACrG,IAAI,IAAI,KAAK,sCAAiB,CAAC,eAAe,EAAE,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,IAAI,CAAC,IAAI,MAAM,OAAO,EAAE,CAAC,CAAC;YACrF,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,IAAI,MAAM,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;YAClF,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACrC,CAAC;IACL,CAAC;CACJ,CAAA;AA1IqB,gDAAkB;AAG1B;IAFT,IAAA,kBAAM,EAAC,uCAAiB,CAAC;IACzB,IAAA,oBAAQ,GAAE;;0DAC+D;AAEhD;IAAzB,IAAA,kBAAM,EAAC,eAAM,CAAC;8BAAmB,eAAM;kDAAC;6BALvB,kBAAkB;IADvC,IAAA,sBAAU,GAAE;GACS,kBAAkB,CA0IvC;AAED;;;;;;GAMG;AAEI,IAAe,sBAAsB,GAArC,MAAe,sBAClB,SAAQ,kBAAqB;IAM7B,YAAY,CAAC,MAAqB;QAC9B,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAChF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAW,CAAC,CAAC,CAAC,CAC3F,CAAC;IACN,CAAC;CACJ,CAAA;AAZqB,wDAAsB;iCAAtB,sBAAsB;IAD3C,IAAA,sBAAU,GAAE;GACS,sBAAsB,CAY3C;AAED;;;;;;;;;;;;;;GAcG;AAEI,IAAe,yBAAyB,GAAxC,MAAe,yBAGpB,SAAQ,kBAAqB;IAiB3B;;;;;;;;;OASG;IACH,wBAAwB;QACpB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,WAAW;QACP,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,0GAA0G;IAChG,UAAU,CAAC,GAAa;QAC9B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC5C,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACJ,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxB,CAAC;QACL,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IACnC,CAAC;IAED,uGAAuG;IAC7F,kBAAkB,CAAC,GAAyB;QAClD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,6CAAwB,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACO,cAAc,CAAI,MAAW,EAAE,SAA+B;QACpE,MAAM,KAAK,GAA8B,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;YACjC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnD,IAAI,OAAO,EAAE,CAAC;gBACV,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC;QACL,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,6CAAwB,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,+FAA+F;IACrF,SAAS,CAAC,GAAa;QAC7B,OAAO,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACO,eAAe,CAAC,aAAqB;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,CAAC;IAED,8FAA8F;IACpF,uBAAuB,CAAC,OAAsB;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;QACzD,wFAAwF;QACxF,4EAA4E;QAC5E,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC/H,CAAC;CACJ,CAAA;AAvHqB,8DAAyB;AAIf;IAA3B,IAAA,kBAAM,EAAC,iBAAQ,CAAC;;2DAA4B;AACf;IAA7B,IAAA,kBAAM,EAAC,mBAAU,CAAC;;6DAAkC;AAChB;IAApC,IAAA,kBAAM,EAAC,wCAAiB,CAAC;;+DAA2C;AACjC;IAAnC,IAAA,kBAAM,EAAC,qCAAgB,CAAC;;gEAA2C;oCAPlD,yBAAyB;IAD9C,IAAA,sBAAU,GAAE;GACS,yBAAyB,CAuH9C;AAED;;;;;;;GAOG;AAEI,IAAe,6BAA6B,GAA5C,MAAe,6BAGpB,SAAQ,yBAA+B;IACrC,MAAM,CAAC,MAAS;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IACzD,CAAC;CACJ,CAAA;AAPqB,sEAA6B;wCAA7B,6BAA6B;IADlD,IAAA,sBAAU,GAAE;GACS,6BAA6B,CAOlD;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEI,IAAe,8BAA8B,GAA7C,MAAe,8BAGpB,SAAQ,yBAA+B;IAHlC;;QAMH,wFAAwF;QACxF,8FAA8F;QAC9F,uFAAuF;QACvF,oFAAoF;QAClE,iBAAY,GAAG,KAAK,CAAC;QACrB,oBAAe,GAAY,KAAK,CAAC;QACjC,mBAAc,GAAY,KAAK,CAAC;IAqBtD,CAAC;IAnBG,MAAM,CAAC,MAAS;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YACrB,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;gBAC7B,MAAM,IAAI,qCAAgB,EAAE,CAAC;YACjC,CAAC;YACD,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;OAMG;IACO,aAAa,CAA2B,OAAyB,EAAE,SAAiB,EAAE,QAAgB,IAAI,CAAC,IAAI;QACrH,OAAO,IAAA,wCAAmB,EAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACjF,CAAC;CACJ,CAAA;AAjCqB,wEAA8B;AAIZ;IAAnC,IAAA,kBAAM,EAAC,yBAAgB,CAAC;;wEAA8C;yCAJrD,8BAA8B;IADnD,IAAA,sBAAU,GAAE;GACS,8BAA8B,CAiCnD;AAaY,QAAA,gCAAgC,GAAG,MAAM,CAAC,kCAAkC,CAAC,CAAC"}
|
|
@@ -24,12 +24,13 @@ export declare const CountElementsOutputSchema: z.ZodObject<{
|
|
|
24
24
|
total: z.ZodNumber;
|
|
25
25
|
countsByType: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
26
26
|
}, z.core.$strip>;
|
|
27
|
+
export type CountElementsOutput = z.infer<typeof CountElementsOutputSchema>;
|
|
27
28
|
/**
|
|
28
29
|
* Counts elements in the diagram, grouped by type. Cheap alternative to dumping the full
|
|
29
30
|
* `diagram-model` resource when the agent only needs to know "how big is this" or "do any
|
|
30
31
|
* elements of type X exist".
|
|
31
32
|
*/
|
|
32
|
-
export declare class CountElementsMcpToolHandler extends AbstractMcpDiagramToolHandler<CountElementsInput> {
|
|
33
|
+
export declare class CountElementsMcpToolHandler extends AbstractMcpDiagramToolHandler<CountElementsInput, CountElementsOutput> {
|
|
33
34
|
static readonly NAME = "count-elements";
|
|
34
35
|
readonly name = "count-elements";
|
|
35
36
|
readonly title = "Count Diagram Elements";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"count-elements-mcp-tool-handler.d.ts","sourceRoot":"","sources":["../../../../src/common/tools/handlers/count-elements-mcp-tool-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAGlF,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAE9E,eAAO,MAAM,wBAAwB;;iBAA8B,CAAC;AACpE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,yBAAyB;;;iBAGpC,CAAC;
|
|
1
|
+
{"version":3,"file":"count-elements-mcp-tool-handler.d.ts","sourceRoot":"","sources":["../../../../src/common/tools/handlers/count-elements-mcp-tool-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAGlF,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAE9E,eAAO,MAAM,wBAAwB;;iBAA8B,CAAC;AACpE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,yBAAyB;;;iBAGpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;;;GAIG;AACH,qBACa,2BAA4B,SAAQ,6BAA6B,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;IACnH,MAAM,CAAC,QAAQ,CAAC,IAAI,oBAAoB;IACxC,QAAQ,CAAC,IAAI,oBAAoC;IACjD,SAAkB,KAAK,4BAA4B;IACnD,QAAQ,CAAC,WAAW,SAIiC;IACrD,QAAQ,CAAC,WAAW;;sBAA4B;IAChD,SAAkB,YAAY;;;sBAA6B;cAE3C,YAAY,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IAcjF,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;CAKxF"}
|
|
@@ -37,7 +37,7 @@ exports.CountElementsOutputSchema = z.object({
|
|
|
37
37
|
* `diagram-model` resource when the agent only needs to know "how big is this" or "do any
|
|
38
38
|
* elements of type X exist".
|
|
39
39
|
*/
|
|
40
|
-
let CountElementsMcpToolHandler =
|
|
40
|
+
let CountElementsMcpToolHandler = class CountElementsMcpToolHandler extends mcp_tool_handler_1.AbstractMcpDiagramToolHandler {
|
|
41
41
|
constructor() {
|
|
42
42
|
super(...arguments);
|
|
43
43
|
this.name = CountElementsMcpToolHandler_1.NAME;
|
|
@@ -49,8 +49,9 @@ let CountElementsMcpToolHandler = CountElementsMcpToolHandler_1 = class CountEle
|
|
|
49
49
|
this.inputSchema = exports.CountElementsInputSchema;
|
|
50
50
|
this.outputSchema = exports.CountElementsOutputSchema;
|
|
51
51
|
}
|
|
52
|
+
static { CountElementsMcpToolHandler_1 = this; }
|
|
53
|
+
static { this.NAME = 'count-elements'; }
|
|
52
54
|
async createResult(_params) {
|
|
53
|
-
var _a;
|
|
54
55
|
const countsByType = {};
|
|
55
56
|
let total = 0;
|
|
56
57
|
for (const id of this.modelState.index.allIds()) {
|
|
@@ -58,7 +59,7 @@ let CountElementsMcpToolHandler = CountElementsMcpToolHandler_1 = class CountEle
|
|
|
58
59
|
if (!element) {
|
|
59
60
|
continue;
|
|
60
61
|
}
|
|
61
|
-
countsByType[element.type] = (
|
|
62
|
+
countsByType[element.type] = (countsByType[element.type] ?? 0) + 1;
|
|
62
63
|
total += 1;
|
|
63
64
|
}
|
|
64
65
|
return this.success(this.renderMarkdown(total, countsByType), { total, countsByType });
|
|
@@ -70,7 +71,6 @@ let CountElementsMcpToolHandler = CountElementsMcpToolHandler_1 = class CountEle
|
|
|
70
71
|
}
|
|
71
72
|
};
|
|
72
73
|
exports.CountElementsMcpToolHandler = CountElementsMcpToolHandler;
|
|
73
|
-
CountElementsMcpToolHandler.NAME = 'count-elements';
|
|
74
74
|
exports.CountElementsMcpToolHandler = CountElementsMcpToolHandler = CountElementsMcpToolHandler_1 = __decorate([
|
|
75
75
|
(0, inversify_1.injectable)()
|
|
76
76
|
], CountElementsMcpToolHandler);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"count-elements-mcp-tool-handler.js","sourceRoot":"","sources":["../../../../src/common/tools/handlers/count-elements-mcp-tool-handler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;AAElF,yCAAuC;AACvC,4BAA4B;AAE5B,sEAA6E;AAC7E,oEAA8E;AAEjE,QAAA,wBAAwB,GAAG,+CAA2B,CAAC;AAGvD,QAAA,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;IAC3F,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,gDAAgD,CAAC;CAClH,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"count-elements-mcp-tool-handler.js","sourceRoot":"","sources":["../../../../src/common/tools/handlers/count-elements-mcp-tool-handler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;AAElF,yCAAuC;AACvC,4BAA4B;AAE5B,sEAA6E;AAC7E,oEAA8E;AAEjE,QAAA,wBAAwB,GAAG,+CAA2B,CAAC;AAGvD,QAAA,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;IAC3F,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,gDAAgD,CAAC;CAClH,CAAC,CAAC;AAGH;;;;GAIG;AAEI,IAAM,2BAA2B,GAAjC,MAAM,2BAA4B,SAAQ,gDAAsE;IAAhH;;QAEM,SAAI,GAAG,6BAA2B,CAAC,IAAI,CAAC;QAC/B,UAAK,GAAG,wBAAwB,CAAC;QAC1C,gBAAW,GAChB,sEAAsE;YACtE,sGAAsG;YACtG,2FAA2F;YAC3F,gDAAgD,CAAC;QAC5C,gBAAW,GAAG,gCAAwB,CAAC;QAC9B,iBAAY,GAAG,iCAAyB,CAAC;IAqB/D,CAAC;;aA9BmB,SAAI,GAAG,gBAAgB,AAAnB,CAAoB;IAW9B,KAAK,CAAC,YAAY,CAAC,OAA2B;QACpD,MAAM,YAAY,GAA2B,EAAE,CAAC;QAChD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,SAAS;YACb,CAAC;YACD,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACnE,KAAK,IAAI,CAAC,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;IAC3F,CAAC;IAES,cAAc,CAAC,KAAa,EAAE,YAAoC;QACxE,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpG,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7E,OAAO,mBAAmB,KAAK,iBAAiB,IAAI,EAAE,CAAC;IAC3D,CAAC;;AA9BQ,kEAA2B;sCAA3B,2BAA2B;IADvC,IAAA,sBAAU,GAAE;GACA,2BAA2B,CA+BvC"}
|
|
@@ -66,9 +66,10 @@ export declare const CreateEdgesOutputSchema: z.ZodObject<{
|
|
|
66
66
|
reason: z.ZodOptional<z.ZodString>;
|
|
67
67
|
}, z.core.$strip>>>;
|
|
68
68
|
}, z.core.$strip>;
|
|
69
|
+
export type CreateEdgesOutput = z.infer<typeof CreateEdgesOutputSchema>;
|
|
69
70
|
type EdgeInput = CreateEdgesInput['edges'][number];
|
|
70
71
|
type ValidationResult = z.infer<typeof CreateEdgesValidationResultSchema>;
|
|
71
|
-
export declare class CreateEdgesMcpToolHandler extends OperationMcpDiagramToolHandler<CreateEdgesInput> {
|
|
72
|
+
export declare class CreateEdgesMcpToolHandler extends OperationMcpDiagramToolHandler<CreateEdgesInput, CreateEdgesOutput> {
|
|
72
73
|
static readonly NAME = "create-edges";
|
|
73
74
|
readonly name = "create-edges";
|
|
74
75
|
readonly title = "Create Diagram Edges";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-edges-mcp-tool-handler.d.ts","sourceRoot":"","sources":["../../../../src/common/tools/handlers/create-edges-mcp-tool-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,
|
|
1
|
+
{"version":3,"file":"create-edges-mcp-tool-handler.d.ts","sourceRoot":"","sources":["../../../../src/common/tools/handlers/create-edges-mcp-tool-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAGH,oBAAoB,EACpB,mBAAmB,EAEtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAQhE,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAG/E,kIAAkI;AAClI,eAAO,MAAM,oBAAoB;;;;;;;;;kBAO/B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;iBAQjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,iCAAiC;;;;;;iBAM5C,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;iBAQlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,KAAK,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AACnD,KAAK,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAE1E,qBACa,yBAA0B,SAAQ,8BAA8B,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;IAC9G,MAAM,CAAC,QAAQ,CAAC,IAAI,kBAAkB;IACtC,QAAQ,CAAC,IAAI,kBAAkC;IAC/C,SAAkB,KAAK,0BAA0B;IACjD,QAAQ,CAAC,WAAW,SAKgD;IACpE,QAAQ,CAAC,WAAW;;;;;;;;;;;;;sBAA0B;IAC9C,SAAkB,YAAY;;;;;;;;;;;;;;;sBAA2B;IAE3B,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAC1C,SAAS,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;cAE7E,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC;IAOzF,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,aAAa;cAetC,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC;IAkErE,0HAA0H;IAC1H,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,gBAAgB;CAiC5D"}
|
|
@@ -64,7 +64,7 @@ exports.CreateEdgesOutputSchema = z.object({
|
|
|
64
64
|
.optional()
|
|
65
65
|
.describe('Per-input validation results. Present only in `dryRun` mode.')
|
|
66
66
|
});
|
|
67
|
-
let CreateEdgesMcpToolHandler =
|
|
67
|
+
let CreateEdgesMcpToolHandler = class CreateEdgesMcpToolHandler extends mcp_tool_handler_1.OperationMcpDiagramToolHandler {
|
|
68
68
|
constructor() {
|
|
69
69
|
super(...arguments);
|
|
70
70
|
this.name = CreateEdgesMcpToolHandler_1.NAME;
|
|
@@ -77,6 +77,8 @@ let CreateEdgesMcpToolHandler = CreateEdgesMcpToolHandler_1 = class CreateEdgesM
|
|
|
77
77
|
this.inputSchema = exports.CreateEdgesInputSchema;
|
|
78
78
|
this.outputSchema = exports.CreateEdgesOutputSchema;
|
|
79
79
|
}
|
|
80
|
+
static { CreateEdgesMcpToolHandler_1 = this; }
|
|
81
|
+
static { this.NAME = 'create-edges'; }
|
|
80
82
|
async createResult({ edges, dryRun }) {
|
|
81
83
|
if (dryRun) {
|
|
82
84
|
return this.runDryRun(edges);
|
|
@@ -91,7 +93,7 @@ let CreateEdgesMcpToolHandler = CreateEdgesMcpToolHandler_1 = class CreateEdgesM
|
|
|
91
93
|
.map(result => `- ${result.edgeType} ${result.sourceElementId} → ${result.targetElementId}: ` +
|
|
92
94
|
`${result.isValid ? 'valid' : `invalid (${result.reason})`}`)
|
|
93
95
|
.join('\n');
|
|
94
|
-
return this.success(summary, { createdEdges: [], errors: [], validationResults });
|
|
96
|
+
return this.success(summary, { createdEdges: [], dispatchedCommands: 0, errors: [], validationResults });
|
|
95
97
|
}
|
|
96
98
|
async runCreate(edges) {
|
|
97
99
|
let beforeIds = this.modelState.index.allIds();
|
|
@@ -117,11 +119,16 @@ let CreateEdgesMcpToolHandler = CreateEdgesMcpToolHandler_1 = class CreateEdgesM
|
|
|
117
119
|
await this.actionDispatcher.dispatch(operation);
|
|
118
120
|
dispatchedOperations++;
|
|
119
121
|
const afterIds = this.modelState.index.allIds();
|
|
120
|
-
const
|
|
121
|
-
const newElements =
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
122
|
+
const knownIds = new Set(beforeIds);
|
|
123
|
+
const newElements = afterIds
|
|
124
|
+
.filter(id => !knownIds.has(id))
|
|
125
|
+
.map(id => this.modelState.index.find(id))
|
|
126
|
+
.filter((element) => element !== undefined);
|
|
127
|
+
// Fall back to the first new element — see `create-nodes`.
|
|
128
|
+
const typeMatches = newElements.filter(element => element.type === elementTypeId);
|
|
129
|
+
const newElement = typeMatches[0] ?? newElements[0];
|
|
130
|
+
if (newElements.length > 1 && typeMatches.length !== 1) {
|
|
131
|
+
this.logger.warn(`Ambiguous creation result for '${elementTypeId}': picked '${newElement?.id}' among new elements`);
|
|
125
132
|
}
|
|
126
133
|
beforeIds = afterIds;
|
|
127
134
|
// Operations don't surface failure directly — infer from absence of a new id of the requested type.
|
|
@@ -176,7 +183,6 @@ let CreateEdgesMcpToolHandler = CreateEdgesMcpToolHandler_1 = class CreateEdgesM
|
|
|
176
183
|
}
|
|
177
184
|
};
|
|
178
185
|
exports.CreateEdgesMcpToolHandler = CreateEdgesMcpToolHandler;
|
|
179
|
-
CreateEdgesMcpToolHandler.NAME = 'create-edges';
|
|
180
186
|
__decorate([
|
|
181
187
|
(0, inversify_1.inject)(server_1.DiagramConfiguration),
|
|
182
188
|
__metadata("design:type", Object)
|