@eclipse-glsp/server-mcp 2.7.0-next.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +642 -0
- package/README.md +57 -0
- package/lib/index.d.ts +23 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +41 -0
- package/lib/index.js.map +1 -0
- package/lib/prompts/handlers/describe-diagram-mcp-prompt-handler.d.ts +43 -0
- package/lib/prompts/handlers/describe-diagram-mcp-prompt-handler.d.ts.map +1 -0
- package/lib/prompts/handlers/describe-diagram-mcp-prompt-handler.js +96 -0
- package/lib/prompts/handlers/describe-diagram-mcp-prompt-handler.js.map +1 -0
- package/lib/prompts/handlers/suggest-improvements-mcp-prompt-handler.d.ts +43 -0
- package/lib/prompts/handlers/suggest-improvements-mcp-prompt-handler.d.ts.map +1 -0
- package/lib/prompts/handlers/suggest-improvements-mcp-prompt-handler.js +95 -0
- package/lib/prompts/handlers/suggest-improvements-mcp-prompt-handler.js.map +1 -0
- package/lib/prompts/index.d.ts +18 -0
- package/lib/prompts/index.d.ts.map +1 -0
- package/lib/prompts/index.js +34 -0
- package/lib/prompts/index.js.map +1 -0
- package/lib/resources/handlers/diagram-png-mcp-resource-handler.d.ts +81 -0
- package/lib/resources/handlers/diagram-png-mcp-resource-handler.d.ts.map +1 -0
- package/lib/resources/handlers/diagram-png-mcp-resource-handler.js +174 -0
- package/lib/resources/handlers/diagram-png-mcp-resource-handler.js.map +1 -0
- package/lib/resources/handlers/diagram-svg-mcp-resource-handler.d.ts +52 -0
- package/lib/resources/handlers/diagram-svg-mcp-resource-handler.d.ts.map +1 -0
- package/lib/resources/handlers/diagram-svg-mcp-resource-handler.js +96 -0
- package/lib/resources/handlers/diagram-svg-mcp-resource-handler.js.map +1 -0
- package/lib/resources/index.d.ts +20 -0
- package/lib/resources/index.d.ts.map +1 -0
- package/lib/resources/index.js +36 -0
- package/lib/resources/index.js.map +1 -0
- package/lib/resources/services/element-types-provider.d.ts +65 -0
- package/lib/resources/services/element-types-provider.d.ts.map +1 -0
- package/lib/resources/services/element-types-provider.js +81 -0
- package/lib/resources/services/element-types-provider.js.map +1 -0
- package/lib/resources/services/mcp-model-serializer.d.ts +78 -0
- package/lib/resources/services/mcp-model-serializer.d.ts.map +1 -0
- package/lib/resources/services/mcp-model-serializer.js +188 -0
- package/lib/resources/services/mcp-model-serializer.js.map +1 -0
- package/lib/server/glsp-mcp-server.d.ts +82 -0
- package/lib/server/glsp-mcp-server.d.ts.map +1 -0
- package/lib/server/glsp-mcp-server.js +140 -0
- package/lib/server/glsp-mcp-server.js.map +1 -0
- package/lib/server/index.d.ts +37 -0
- package/lib/server/index.d.ts.map +1 -0
- package/lib/server/index.js +57 -0
- package/lib/server/index.js.map +1 -0
- package/lib/server/lru-event-store.d.ts +53 -0
- package/lib/server/lru-event-store.d.ts.map +1 -0
- package/lib/server/lru-event-store.js +100 -0
- package/lib/server/lru-event-store.js.map +1 -0
- package/lib/server/mcp-diagram-handler-dispatcher.d.ts +144 -0
- package/lib/server/mcp-diagram-handler-dispatcher.d.ts.map +1 -0
- package/lib/server/mcp-diagram-handler-dispatcher.js +382 -0
- package/lib/server/mcp-diagram-handler-dispatcher.js.map +1 -0
- package/lib/server/mcp-diagram-module.d.ts +123 -0
- package/lib/server/mcp-diagram-module.d.ts.map +1 -0
- package/lib/server/mcp-diagram-module.js +186 -0
- package/lib/server/mcp-diagram-module.js.map +1 -0
- package/lib/server/mcp-diagram-prompt-handler-registry.d.ts +33 -0
- package/lib/server/mcp-diagram-prompt-handler-registry.d.ts.map +1 -0
- package/lib/server/mcp-diagram-prompt-handler-registry.js +76 -0
- package/lib/server/mcp-diagram-prompt-handler-registry.js.map +1 -0
- package/lib/server/mcp-diagram-resource-handler-registry.d.ts +35 -0
- package/lib/server/mcp-diagram-resource-handler-registry.d.ts.map +1 -0
- package/lib/server/mcp-diagram-resource-handler-registry.js +94 -0
- package/lib/server/mcp-diagram-resource-handler-registry.js.map +1 -0
- package/lib/server/mcp-diagram-tool-handler-registry.d.ts +57 -0
- package/lib/server/mcp-diagram-tool-handler-registry.d.ts.map +1 -0
- package/lib/server/mcp-diagram-tool-handler-registry.js +111 -0
- package/lib/server/mcp-diagram-tool-handler-registry.js.map +1 -0
- package/lib/server/mcp-handler-shared.d.ts +142 -0
- package/lib/server/mcp-handler-shared.d.ts.map +1 -0
- package/lib/server/mcp-handler-shared.js +199 -0
- package/lib/server/mcp-handler-shared.js.map +1 -0
- package/lib/server/mcp-http-transport.d.ts +93 -0
- package/lib/server/mcp-http-transport.d.ts.map +1 -0
- package/lib/server/mcp-http-transport.js +350 -0
- package/lib/server/mcp-http-transport.js.map +1 -0
- package/lib/server/mcp-id-alias-service.d.ts +70 -0
- package/lib/server/mcp-id-alias-service.d.ts.map +1 -0
- package/lib/server/mcp-id-alias-service.js +85 -0
- package/lib/server/mcp-id-alias-service.js.map +1 -0
- package/lib/server/mcp-input-schemas.d.ts +73 -0
- package/lib/server/mcp-input-schemas.d.ts.map +1 -0
- package/lib/server/mcp-input-schemas.js +67 -0
- package/lib/server/mcp-input-schemas.js.map +1 -0
- package/lib/server/mcp-label-provider.d.ts +45 -0
- package/lib/server/mcp-label-provider.d.ts.map +1 -0
- package/lib/server/mcp-label-provider.js +42 -0
- package/lib/server/mcp-label-provider.js.map +1 -0
- package/lib/server/mcp-log-level-registry.d.ts +54 -0
- package/lib/server/mcp-log-level-registry.d.ts.map +1 -0
- package/lib/server/mcp-log-level-registry.js +80 -0
- package/lib/server/mcp-log-level-registry.js.map +1 -0
- package/lib/server/mcp-logger.d.ts +59 -0
- package/lib/server/mcp-logger.d.ts.map +1 -0
- package/lib/server/mcp-logger.js +104 -0
- package/lib/server/mcp-logger.js.map +1 -0
- package/lib/server/mcp-mime-types.d.ts +28 -0
- package/lib/server/mcp-mime-types.d.ts.map +1 -0
- package/lib/server/mcp-mime-types.js +18 -0
- package/lib/server/mcp-mime-types.js.map +1 -0
- package/lib/server/mcp-options.d.ts +39 -0
- package/lib/server/mcp-options.d.ts.map +1 -0
- package/lib/server/mcp-options.js +53 -0
- package/lib/server/mcp-options.js.map +1 -0
- package/lib/server/mcp-progress-reporter.d.ts +48 -0
- package/lib/server/mcp-progress-reporter.d.ts.map +1 -0
- package/lib/server/mcp-progress-reporter.js +66 -0
- package/lib/server/mcp-progress-reporter.js.map +1 -0
- package/lib/server/mcp-prompt-handler.d.ts +120 -0
- package/lib/server/mcp-prompt-handler.d.ts.map +1 -0
- package/lib/server/mcp-prompt-handler.js +131 -0
- package/lib/server/mcp-prompt-handler.js.map +1 -0
- package/lib/server/mcp-request-context.d.ts +37 -0
- package/lib/server/mcp-request-context.d.ts.map +1 -0
- package/lib/server/mcp-request-context.js +37 -0
- package/lib/server/mcp-request-context.js.map +1 -0
- package/lib/server/mcp-resource-handler.d.ts +212 -0
- package/lib/server/mcp-resource-handler.d.ts.map +1 -0
- package/lib/server/mcp-resource-handler.js +298 -0
- package/lib/server/mcp-resource-handler.js.map +1 -0
- package/lib/server/mcp-server-launcher.d.ts +143 -0
- package/lib/server/mcp-server-launcher.d.ts.map +1 -0
- package/lib/server/mcp-server-launcher.js +355 -0
- package/lib/server/mcp-server-launcher.js.map +1 -0
- package/lib/server/mcp-server-module.d.ts +143 -0
- package/lib/server/mcp-server-module.d.ts.map +1 -0
- package/lib/server/mcp-server-module.js +249 -0
- package/lib/server/mcp-server-module.js.map +1 -0
- package/lib/server/mcp-session.d.ts +44 -0
- package/lib/server/mcp-session.d.ts.map +1 -0
- package/lib/server/mcp-session.js +18 -0
- package/lib/server/mcp-session.js.map +1 -0
- package/lib/server/mcp-tool-handler.d.ts +259 -0
- package/lib/server/mcp-tool-handler.d.ts.map +1 -0
- package/lib/server/mcp-tool-handler.js +355 -0
- package/lib/server/mcp-tool-handler.js.map +1 -0
- package/lib/tools/handlers/count-elements-mcp-tool-handler.d.ts +46 -0
- package/lib/tools/handlers/count-elements-mcp-tool-handler.d.ts.map +1 -0
- package/lib/tools/handlers/count-elements-mcp-tool-handler.js +76 -0
- package/lib/tools/handlers/count-elements-mcp-tool-handler.js.map +1 -0
- package/lib/tools/handlers/create-edges-mcp-tool-handler.d.ts +112 -0
- package/lib/tools/handlers/create-edges-mcp-tool-handler.d.ts.map +1 -0
- package/lib/tools/handlers/create-edges-mcp-tool-handler.js +190 -0
- package/lib/tools/handlers/create-edges-mcp-tool-handler.js.map +1 -0
- package/lib/tools/handlers/create-nodes-mcp-tool-handler.d.ts +81 -0
- package/lib/tools/handlers/create-nodes-mcp-tool-handler.d.ts.map +1 -0
- package/lib/tools/handlers/create-nodes-mcp-tool-handler.js +123 -0
- package/lib/tools/handlers/create-nodes-mcp-tool-handler.js.map +1 -0
- package/lib/tools/handlers/delete-elements-mcp-tool-handler.d.ts +52 -0
- package/lib/tools/handlers/delete-elements-mcp-tool-handler.d.ts.map +1 -0
- package/lib/tools/handlers/delete-elements-mcp-tool-handler.js +73 -0
- package/lib/tools/handlers/delete-elements-mcp-tool-handler.js.map +1 -0
- package/lib/tools/handlers/diagram-model-mcp-tool-handler.d.ts +59 -0
- package/lib/tools/handlers/diagram-model-mcp-tool-handler.d.ts.map +1 -0
- package/lib/tools/handlers/diagram-model-mcp-tool-handler.js +78 -0
- package/lib/tools/handlers/diagram-model-mcp-tool-handler.js.map +1 -0
- package/lib/tools/handlers/element-types-mcp-tool-handler.d.ts +97 -0
- package/lib/tools/handlers/element-types-mcp-tool-handler.d.ts.map +1 -0
- package/lib/tools/handlers/element-types-mcp-tool-handler.js +155 -0
- package/lib/tools/handlers/element-types-mcp-tool-handler.js.map +1 -0
- package/lib/tools/handlers/get-selection-mcp-tool-handler.d.ts +43 -0
- package/lib/tools/handlers/get-selection-mcp-tool-handler.d.ts.map +1 -0
- package/lib/tools/handlers/get-selection-mcp-tool-handler.js +68 -0
- package/lib/tools/handlers/get-selection-mcp-tool-handler.js.map +1 -0
- package/lib/tools/handlers/layout-mcp-tool-handler.d.ts +43 -0
- package/lib/tools/handlers/layout-mcp-tool-handler.d.ts.map +1 -0
- package/lib/tools/handlers/layout-mcp-tool-handler.js +71 -0
- package/lib/tools/handlers/layout-mcp-tool-handler.js.map +1 -0
- package/lib/tools/handlers/modify-edges-mcp-tool-handler.d.ts +78 -0
- package/lib/tools/handlers/modify-edges-mcp-tool-handler.d.ts.map +1 -0
- package/lib/tools/handlers/modify-edges-mcp-tool-handler.js +136 -0
- package/lib/tools/handlers/modify-edges-mcp-tool-handler.js.map +1 -0
- package/lib/tools/handlers/modify-nodes-mcp-tool-handler.d.ts +92 -0
- package/lib/tools/handlers/modify-nodes-mcp-tool-handler.d.ts.map +1 -0
- package/lib/tools/handlers/modify-nodes-mcp-tool-handler.js +125 -0
- package/lib/tools/handlers/modify-nodes-mcp-tool-handler.js.map +1 -0
- package/lib/tools/handlers/query-elements-mcp-tool-handler.d.ts +102 -0
- package/lib/tools/handlers/query-elements-mcp-tool-handler.d.ts.map +1 -0
- package/lib/tools/handlers/query-elements-mcp-tool-handler.js +158 -0
- package/lib/tools/handlers/query-elements-mcp-tool-handler.js.map +1 -0
- package/lib/tools/handlers/redo-mcp-tool-handler.d.ts +45 -0
- package/lib/tools/handlers/redo-mcp-tool-handler.d.ts.map +1 -0
- package/lib/tools/handlers/redo-mcp-tool-handler.js +73 -0
- package/lib/tools/handlers/redo-mcp-tool-handler.js.map +1 -0
- package/lib/tools/handlers/save-model-mcp-tool-handler.d.ts +55 -0
- package/lib/tools/handlers/save-model-mcp-tool-handler.d.ts.map +1 -0
- package/lib/tools/handlers/save-model-mcp-tool-handler.js +91 -0
- package/lib/tools/handlers/save-model-mcp-tool-handler.js.map +1 -0
- package/lib/tools/handlers/session-info-mcp-tool-handler.d.ts +65 -0
- package/lib/tools/handlers/session-info-mcp-tool-handler.d.ts.map +1 -0
- package/lib/tools/handlers/session-info-mcp-tool-handler.js +108 -0
- package/lib/tools/handlers/session-info-mcp-tool-handler.js.map +1 -0
- package/lib/tools/handlers/set-selection-mcp-tool-handler.d.ts +60 -0
- package/lib/tools/handlers/set-selection-mcp-tool-handler.d.ts.map +1 -0
- package/lib/tools/handlers/set-selection-mcp-tool-handler.js +103 -0
- package/lib/tools/handlers/set-selection-mcp-tool-handler.js.map +1 -0
- package/lib/tools/handlers/set-view-mcp-tool-handler.d.ts +110 -0
- package/lib/tools/handlers/set-view-mcp-tool-handler.d.ts.map +1 -0
- package/lib/tools/handlers/set-view-mcp-tool-handler.js +142 -0
- package/lib/tools/handlers/set-view-mcp-tool-handler.js.map +1 -0
- package/lib/tools/handlers/undo-mcp-tool-handler.d.ts +45 -0
- package/lib/tools/handlers/undo-mcp-tool-handler.d.ts.map +1 -0
- package/lib/tools/handlers/undo-mcp-tool-handler.js +74 -0
- package/lib/tools/handlers/undo-mcp-tool-handler.js.map +1 -0
- package/lib/tools/handlers/validate-diagram-mcp-tool-handler.d.ts +66 -0
- package/lib/tools/handlers/validate-diagram-mcp-tool-handler.d.ts.map +1 -0
- package/lib/tools/handlers/validate-diagram-mcp-tool-handler.js +0 -0
- package/lib/tools/handlers/validate-diagram-mcp-tool-handler.js.map +1 -0
- package/lib/tools/index.d.ts +34 -0
- package/lib/tools/index.d.ts.map +1 -0
- package/lib/tools/index.js +50 -0
- package/lib/tools/index.js.map +1 -0
- package/lib/util/index.d.ts +18 -0
- package/lib/util/index.d.ts.map +1 -0
- package/lib/util/index.js +34 -0
- package/lib/util/index.js.map +1 -0
- package/lib/util/markdown-util.d.ts +20 -0
- package/lib/util/markdown-util.d.ts.map +1 -0
- package/lib/util/markdown-util.js +45 -0
- package/lib/util/markdown-util.js.map +1 -0
- package/lib/util/mcp-util.d.ts +22 -0
- package/lib/util/mcp-util.d.ts.map +1 -0
- package/lib/util/mcp-util.js +29 -0
- package/lib/util/mcp-util.js.map +1 -0
- package/package.json +63 -0
- package/src/index.ts +24 -0
- package/src/prompts/handlers/describe-diagram-mcp-prompt-handler.ts +89 -0
- package/src/prompts/handlers/suggest-improvements-mcp-prompt-handler.ts +86 -0
- package/src/prompts/index.ts +18 -0
- package/src/resources/handlers/diagram-png-mcp-resource-handler.ts +181 -0
- package/src/resources/handlers/diagram-svg-mcp-resource-handler.ts +89 -0
- package/src/resources/index.ts +20 -0
- package/src/resources/services/element-types-provider.ts +105 -0
- package/src/resources/services/mcp-model-serializer.ts +211 -0
- package/src/server/glsp-mcp-server.spec.ts +73 -0
- package/src/server/glsp-mcp-server.ts +196 -0
- package/src/server/index.ts +42 -0
- package/src/server/lru-event-store.spec.ts +121 -0
- package/src/server/lru-event-store.ts +112 -0
- package/src/server/mcp-diagram-handler-dispatcher.spec.ts +231 -0
- package/src/server/mcp-diagram-handler-dispatcher.ts +459 -0
- package/src/server/mcp-diagram-module.ts +248 -0
- package/src/server/mcp-diagram-prompt-handler-registry.ts +59 -0
- package/src/server/mcp-diagram-resource-handler-registry.ts +73 -0
- package/src/server/mcp-diagram-tool-handler-registry.ts +97 -0
- package/src/server/mcp-handler-shared.spec.ts +53 -0
- package/src/server/mcp-handler-shared.ts +247 -0
- package/src/server/mcp-http-transport-e2e.spec.ts +151 -0
- package/src/server/mcp-http-transport.spec.ts +385 -0
- package/src/server/mcp-http-transport.ts +368 -0
- package/src/server/mcp-id-alias-service.spec.ts +106 -0
- package/src/server/mcp-id-alias-service.ts +104 -0
- package/src/server/mcp-input-schemas.ts +82 -0
- package/src/server/mcp-label-provider.ts +52 -0
- package/src/server/mcp-log-level-registry.spec.ts +75 -0
- package/src/server/mcp-log-level-registry.ts +90 -0
- package/src/server/mcp-logger.spec.ts +227 -0
- package/src/server/mcp-logger.ts +91 -0
- package/src/server/mcp-mime-types.ts +31 -0
- package/src/server/mcp-options.ts +43 -0
- package/src/server/mcp-progress-reporter.spec.ts +93 -0
- package/src/server/mcp-progress-reporter.ts +67 -0
- package/src/server/mcp-prompt-handler.ts +157 -0
- package/src/server/mcp-request-context.ts +39 -0
- package/src/server/mcp-resource-handler.ts +389 -0
- package/src/server/mcp-server-launcher.spec.ts +173 -0
- package/src/server/mcp-server-launcher.ts +369 -0
- package/src/server/mcp-server-module.ts +287 -0
- package/src/server/mcp-session.ts +45 -0
- package/src/server/mcp-tool-handler.spec.ts +182 -0
- package/src/server/mcp-tool-handler.ts +431 -0
- package/src/server/raw-http.spec.ts +59 -0
- package/src/tools/handlers/count-elements-mcp-tool-handler.spec.ts +99 -0
- package/src/tools/handlers/count-elements-mcp-tool-handler.ts +66 -0
- package/src/tools/handlers/create-edges-mcp-tool-handler.spec.ts +196 -0
- package/src/tools/handlers/create-edges-mcp-tool-handler.ts +205 -0
- package/src/tools/handlers/create-nodes-mcp-tool-handler.spec.ts +197 -0
- package/src/tools/handlers/create-nodes-mcp-tool-handler.ts +131 -0
- package/src/tools/handlers/delete-elements-mcp-tool-handler.ts +73 -0
- package/src/tools/handlers/diagram-model-mcp-tool-handler.ts +66 -0
- package/src/tools/handlers/element-types-mcp-tool-handler.ts +151 -0
- package/src/tools/handlers/get-selection-mcp-tool-handler.ts +54 -0
- package/src/tools/handlers/layout-mcp-tool-handler.ts +56 -0
- package/src/tools/handlers/modify-edges-mcp-tool-handler.ts +148 -0
- package/src/tools/handlers/modify-nodes-mcp-tool-handler.ts +140 -0
- package/src/tools/handlers/query-elements-mcp-tool-handler.spec.ts +210 -0
- package/src/tools/handlers/query-elements-mcp-tool-handler.ts +161 -0
- package/src/tools/handlers/redo-mcp-tool-handler.ts +62 -0
- package/src/tools/handlers/save-model-mcp-tool-handler.ts +71 -0
- package/src/tools/handlers/session-info-mcp-tool-handler.spec.ts +152 -0
- package/src/tools/handlers/session-info-mcp-tool-handler.ts +97 -0
- package/src/tools/handlers/set-selection-mcp-tool-handler.spec.ts +118 -0
- package/src/tools/handlers/set-selection-mcp-tool-handler.ts +90 -0
- package/src/tools/handlers/set-view-mcp-tool-handler.ts +162 -0
- package/src/tools/handlers/undo-mcp-tool-handler.ts +61 -0
- package/src/tools/handlers/validate-diagram-mcp-tool-handler.ts +0 -0
- package/src/tools/index.ts +34 -0
- package/src/tools/tool-annotations.spec.ts +141 -0
- package/src/util/index.ts +18 -0
- package/src/util/markdown-util.ts +44 -0
- package/src/util/mcp-util.ts +25 -0
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2026 EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
import { Action, ActionDispatcher, Point } from '@eclipse-glsp/server';
|
|
17
|
+
import * as z from 'zod/v4';
|
|
18
|
+
import { AbstractMcpDiagramToolHandler, McpToolResult } from '../../server';
|
|
19
|
+
export declare const VIEWPORT_ACTIONS: readonly ["fit-to-screen", "center-on-elements", "reset-viewport", "set-viewport"];
|
|
20
|
+
export type ViewportAction = (typeof VIEWPORT_ACTIONS)[number];
|
|
21
|
+
export declare const SetViewInputSchema: z.ZodObject<{
|
|
22
|
+
sessionId: z.ZodString;
|
|
23
|
+
action: z.ZodEnum<{
|
|
24
|
+
"fit-to-screen": "fit-to-screen";
|
|
25
|
+
"center-on-elements": "center-on-elements";
|
|
26
|
+
"reset-viewport": "reset-viewport";
|
|
27
|
+
"set-viewport": "set-viewport";
|
|
28
|
+
}>;
|
|
29
|
+
elementIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
30
|
+
zoom: z.ZodOptional<z.ZodNumber>;
|
|
31
|
+
scroll: z.ZodOptional<z.ZodObject<{
|
|
32
|
+
x: z.ZodNumber;
|
|
33
|
+
y: z.ZodNumber;
|
|
34
|
+
}, z.core.$strict>>;
|
|
35
|
+
}, z.core.$strip>;
|
|
36
|
+
export type SetViewInput = z.infer<typeof SetViewInputSchema>;
|
|
37
|
+
export declare const SetViewOutputSchema: z.ZodObject<{
|
|
38
|
+
action: z.ZodEnum<{
|
|
39
|
+
"fit-to-screen": "fit-to-screen";
|
|
40
|
+
"center-on-elements": "center-on-elements";
|
|
41
|
+
"reset-viewport": "reset-viewport";
|
|
42
|
+
"set-viewport": "set-viewport";
|
|
43
|
+
}>;
|
|
44
|
+
targetIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
45
|
+
viewport: z.ZodOptional<z.ZodObject<{
|
|
46
|
+
scroll: z.ZodObject<{
|
|
47
|
+
x: z.ZodNumber;
|
|
48
|
+
y: z.ZodNumber;
|
|
49
|
+
}, z.core.$strict>;
|
|
50
|
+
zoom: z.ZodNumber;
|
|
51
|
+
}, z.core.$strip>>;
|
|
52
|
+
}, z.core.$strip>;
|
|
53
|
+
export declare class SetViewMcpToolHandler extends AbstractMcpDiagramToolHandler<SetViewInput> {
|
|
54
|
+
/** Timeout (in ms) for the `GetViewportAction` round-trip used by `set-viewport` partial updates. Override via subclass + rebind. */
|
|
55
|
+
protected readonly viewportQueryTimeoutMs: number;
|
|
56
|
+
static readonly NAME = "set-view";
|
|
57
|
+
readonly name = "set-view";
|
|
58
|
+
readonly title = "Set Diagram Viewport";
|
|
59
|
+
readonly description: string;
|
|
60
|
+
readonly inputSchema: z.ZodObject<{
|
|
61
|
+
sessionId: z.ZodString;
|
|
62
|
+
action: z.ZodEnum<{
|
|
63
|
+
"fit-to-screen": "fit-to-screen";
|
|
64
|
+
"center-on-elements": "center-on-elements";
|
|
65
|
+
"reset-viewport": "reset-viewport";
|
|
66
|
+
"set-viewport": "set-viewport";
|
|
67
|
+
}>;
|
|
68
|
+
elementIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
69
|
+
zoom: z.ZodOptional<z.ZodNumber>;
|
|
70
|
+
scroll: z.ZodOptional<z.ZodObject<{
|
|
71
|
+
x: z.ZodNumber;
|
|
72
|
+
y: z.ZodNumber;
|
|
73
|
+
}, z.core.$strict>>;
|
|
74
|
+
}, z.core.$strip>;
|
|
75
|
+
readonly outputSchema: z.ZodObject<{
|
|
76
|
+
action: z.ZodEnum<{
|
|
77
|
+
"fit-to-screen": "fit-to-screen";
|
|
78
|
+
"center-on-elements": "center-on-elements";
|
|
79
|
+
"reset-viewport": "reset-viewport";
|
|
80
|
+
"set-viewport": "set-viewport";
|
|
81
|
+
}>;
|
|
82
|
+
targetIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
83
|
+
viewport: z.ZodOptional<z.ZodObject<{
|
|
84
|
+
scroll: z.ZodObject<{
|
|
85
|
+
x: z.ZodNumber;
|
|
86
|
+
y: z.ZodNumber;
|
|
87
|
+
}, z.core.$strict>;
|
|
88
|
+
zoom: z.ZodNumber;
|
|
89
|
+
}, z.core.$strip>>;
|
|
90
|
+
}, z.core.$strip>;
|
|
91
|
+
/** Viewport IS client-side environment; dispatching mutates it, so the read-base default doesn't honestly apply. */
|
|
92
|
+
readonly readOnlyHint = false;
|
|
93
|
+
protected actionDispatcher: ActionDispatcher;
|
|
94
|
+
protected createResult({ action, elementIds, zoom, scroll }: SetViewInput): Promise<McpToolResult>;
|
|
95
|
+
/**
|
|
96
|
+
* Map an intent-driven viewport action (`fit-to-screen`, `center-on-elements`,
|
|
97
|
+
* `reset-viewport`) to the matching sprotty action. The exhaustive switch lets TypeScript
|
|
98
|
+
* narrow the remaining `'set-viewport'` case out at compile time, so we don't need a
|
|
99
|
+
* runtime guard.
|
|
100
|
+
*/
|
|
101
|
+
protected buildIntentAction(action: Exclude<ViewportAction, 'set-viewport'>, resolvedIds: string[]): Action;
|
|
102
|
+
/**
|
|
103
|
+
* Build the merged viewport for `set-viewport`: query the current viewport from the client,
|
|
104
|
+
* overlay the caller's `zoom` / `scroll` overrides, dispatch a {@link SetViewportAction}.
|
|
105
|
+
* Querying lets the LLM specify only one axis of change — the other is preserved instead of
|
|
106
|
+
* snapping to a placeholder default.
|
|
107
|
+
*/
|
|
108
|
+
protected applyExplicitViewport(zoom: number | undefined, scroll: Point | undefined): Promise<McpToolResult>;
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=set-view-mcp-tool-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set-view-mcp-tool-handler.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/set-view-mcp-tool-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EACH,MAAM,EACN,gBAAgB,EAKhB,KAAK,EAER,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAEH,6BAA6B,EAE7B,aAAa,EAIhB,MAAM,cAAc,CAAC;AAEtB,eAAO,MAAM,gBAAgB,oFAAqF,CAAC;AACnH,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;iBAsB7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;iBAe9B,CAAC;AAEH,qBACa,qBAAsB,SAAQ,6BAA6B,CAAC,YAAY,CAAC;IAClF,qIAAqI;IACrI,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAQ;IAEzD,MAAM,CAAC,QAAQ,CAAC,IAAI,cAAc;IAClC,QAAQ,CAAC,IAAI,cAA8B;IAC3C,SAAkB,KAAK,0BAA0B;IACjD,QAAQ,CAAC,WAAW,SAO6F;IACjH,QAAQ,CAAC,WAAW;;;;;;;;;;;;;;sBAAsB;IAC1C,SAAkB,YAAY;;;;;;;;;;;;;;;sBAAuB;IACrD,oHAAoH;IACpH,SAAkB,YAAY,SAAS;IAEb,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;cAEvD,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAUxG;;;;;OAKG;IACH,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,EAAE,cAAc,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM;IAW3G;;;;;OAKG;cACa,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;CAsBrH"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/********************************************************************************
|
|
3
|
+
* Copyright (c) 2026 EclipseSource and others.
|
|
4
|
+
*
|
|
5
|
+
* This program and the accompanying materials are made available under the
|
|
6
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
*
|
|
9
|
+
* This Source Code may also be made available under the following Secondary
|
|
10
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
* with the GNU Classpath Exception which is available at
|
|
13
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
*
|
|
15
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
|
+
********************************************************************************/
|
|
17
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
18
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
19
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
20
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
21
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
22
|
+
};
|
|
23
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
24
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
25
|
+
};
|
|
26
|
+
var SetViewMcpToolHandler_1;
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.SetViewMcpToolHandler = exports.SetViewOutputSchema = exports.SetViewInputSchema = exports.VIEWPORT_ACTIONS = void 0;
|
|
29
|
+
const server_1 = require("@eclipse-glsp/server");
|
|
30
|
+
const inversify_1 = require("inversify");
|
|
31
|
+
const z = require("zod/v4");
|
|
32
|
+
const server_2 = require("../../server");
|
|
33
|
+
exports.VIEWPORT_ACTIONS = ['fit-to-screen', 'center-on-elements', 'reset-viewport', 'set-viewport'];
|
|
34
|
+
exports.SetViewInputSchema = server_2.McpDiagramScopedInputSchema.extend({
|
|
35
|
+
action: z.enum(exports.VIEWPORT_ACTIONS).describe('The type of viewport change action to be undertaken.'),
|
|
36
|
+
elementIds: server_2.elementIds
|
|
37
|
+
.optional()
|
|
38
|
+
.describe("Elements to center on or fit (relevant for 'center-on-elements' and 'fit-to-screen'). Omit to target the whole diagram."),
|
|
39
|
+
zoom: z
|
|
40
|
+
.number()
|
|
41
|
+
.min(0.05)
|
|
42
|
+
.max(20)
|
|
43
|
+
.optional()
|
|
44
|
+
.describe("Absolute zoom level for `action: 'set-viewport'` (range 0.05..20, where 1 is 100% / native scale). " +
|
|
45
|
+
'Ignored by other actions. Omit to keep the current zoom while changing scroll.'),
|
|
46
|
+
scroll: server_2.position
|
|
47
|
+
.optional()
|
|
48
|
+
.describe("Absolute scroll position for `action: 'set-viewport'`, in diagram coordinates (top-left of the visible area). " +
|
|
49
|
+
'Ignored by other actions. Omit to keep the current scroll while changing zoom.')
|
|
50
|
+
});
|
|
51
|
+
exports.SetViewOutputSchema = z.object({
|
|
52
|
+
action: z.enum(exports.VIEWPORT_ACTIONS).describe('Echo of the viewport action that was applied.'),
|
|
53
|
+
targetIds: z
|
|
54
|
+
.array(z.string())
|
|
55
|
+
.optional()
|
|
56
|
+
.describe("Aliased ids the action targeted (resolved from input or fall-back of all elements). Omitted for `'set-viewport'` since that action targets coordinates, not elements."),
|
|
57
|
+
viewport: z
|
|
58
|
+
.object({
|
|
59
|
+
scroll: server_2.position,
|
|
60
|
+
zoom: z.number()
|
|
61
|
+
})
|
|
62
|
+
.optional()
|
|
63
|
+
.describe("Resolved final viewport when `action: 'set-viewport'` was applied (current values merged with the supplied overrides).")
|
|
64
|
+
});
|
|
65
|
+
let SetViewMcpToolHandler = SetViewMcpToolHandler_1 = class SetViewMcpToolHandler extends server_2.AbstractMcpDiagramToolHandler {
|
|
66
|
+
constructor() {
|
|
67
|
+
super(...arguments);
|
|
68
|
+
/** Timeout (in ms) for the `GetViewportAction` round-trip used by `set-viewport` partial updates. Override via subclass + rebind. */
|
|
69
|
+
this.viewportQueryTimeoutMs = 5000;
|
|
70
|
+
this.name = SetViewMcpToolHandler_1.NAME;
|
|
71
|
+
this.title = 'Set Diagram Viewport';
|
|
72
|
+
this.description = "Set the viewport of the session's associated UI client to focus the user's attention. " +
|
|
73
|
+
'`fit-to-screen` zooms+pans so all elements (or the listed `elementIds`) are visible; ' +
|
|
74
|
+
'`center-on-elements` pans without changing zoom, useful to highlight a specific element after creating or modifying it; ' +
|
|
75
|
+
'`reset-viewport` returns the camera to the origin at default zoom; ' +
|
|
76
|
+
'`set-viewport` applies an explicit `zoom` and/or `scroll` (omit either to preserve its current value). ' +
|
|
77
|
+
'Only invoke on explicit user request or when the user clearly benefits from a viewport nudge ' +
|
|
78
|
+
'(e.g. just created an element off-screen). Note this changes client-side viewport state but not the model.';
|
|
79
|
+
this.inputSchema = exports.SetViewInputSchema;
|
|
80
|
+
this.outputSchema = exports.SetViewOutputSchema;
|
|
81
|
+
/** Viewport IS client-side environment; dispatching mutates it, so the read-base default doesn't honestly apply. */
|
|
82
|
+
this.readOnlyHint = false;
|
|
83
|
+
}
|
|
84
|
+
async createResult({ action, elementIds, zoom, scroll }) {
|
|
85
|
+
if (action === 'set-viewport') {
|
|
86
|
+
return this.applyExplicitViewport(zoom, scroll);
|
|
87
|
+
}
|
|
88
|
+
const resolvedIds = elementIds ? elementIds.map(id => this.aliasService.lookup(id)) : this.modelState.index.allIds();
|
|
89
|
+
const dispatchAction = this.buildIntentAction(action, resolvedIds);
|
|
90
|
+
await this.actionDispatcher.dispatch(dispatchAction);
|
|
91
|
+
return this.success('Viewport successfully changed', { action, targetIds: this.encodeIds(resolvedIds) });
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Map an intent-driven viewport action (`fit-to-screen`, `center-on-elements`,
|
|
95
|
+
* `reset-viewport`) to the matching sprotty action. The exhaustive switch lets TypeScript
|
|
96
|
+
* narrow the remaining `'set-viewport'` case out at compile time, so we don't need a
|
|
97
|
+
* runtime guard.
|
|
98
|
+
*/
|
|
99
|
+
buildIntentAction(action, resolvedIds) {
|
|
100
|
+
switch (action) {
|
|
101
|
+
case 'fit-to-screen':
|
|
102
|
+
return server_1.FitToScreenAction.create(resolvedIds, { animate: true, padding: 20 });
|
|
103
|
+
case 'center-on-elements':
|
|
104
|
+
return server_1.CenterAction.create(resolvedIds, { animate: true, retainZoom: true });
|
|
105
|
+
case 'reset-viewport':
|
|
106
|
+
return server_1.OriginViewportAction.create({ animate: true });
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Build the merged viewport for `set-viewport`: query the current viewport from the client,
|
|
111
|
+
* overlay the caller's `zoom` / `scroll` overrides, dispatch a {@link SetViewportAction}.
|
|
112
|
+
* Querying lets the LLM specify only one axis of change — the other is preserved instead of
|
|
113
|
+
* snapping to a placeholder default.
|
|
114
|
+
*/
|
|
115
|
+
async applyExplicitViewport(zoom, scroll) {
|
|
116
|
+
if (zoom === undefined && scroll === undefined) {
|
|
117
|
+
throw new server_2.McpToolError("'set-viewport' requires at least one of `zoom` or `scroll`.");
|
|
118
|
+
}
|
|
119
|
+
const rootId = this.modelState.root.id;
|
|
120
|
+
const current = await (0, server_2.requestActionOrFail)(this.actionDispatcher, server_1.GetViewportAction.create(), this.viewportQueryTimeoutMs, this.name);
|
|
121
|
+
// Some clients respond before layout completes — fall back to origin / 1× when fields are null.
|
|
122
|
+
const newViewport = {
|
|
123
|
+
scroll: scroll !== null && scroll !== void 0 ? scroll : (server_1.Point.isValid(current.viewport.scroll) ? current.viewport.scroll : server_1.Point.ORIGIN),
|
|
124
|
+
zoom: zoom !== null && zoom !== void 0 ? zoom : (Number.isFinite(current.viewport.zoom) ? current.viewport.zoom : 1)
|
|
125
|
+
};
|
|
126
|
+
await this.actionDispatcher.dispatch(server_1.SetViewportAction.create(rootId, newViewport, { animate: true }));
|
|
127
|
+
return this.success(`Viewport set to scroll=(${newViewport.scroll.x}, ${newViewport.scroll.y}) zoom=${newViewport.zoom}`, {
|
|
128
|
+
action: 'set-viewport',
|
|
129
|
+
viewport: newViewport
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
exports.SetViewMcpToolHandler = SetViewMcpToolHandler;
|
|
134
|
+
SetViewMcpToolHandler.NAME = 'set-view';
|
|
135
|
+
__decorate([
|
|
136
|
+
(0, inversify_1.inject)(server_1.ActionDispatcher),
|
|
137
|
+
__metadata("design:type", Object)
|
|
138
|
+
], SetViewMcpToolHandler.prototype, "actionDispatcher", void 0);
|
|
139
|
+
exports.SetViewMcpToolHandler = SetViewMcpToolHandler = SetViewMcpToolHandler_1 = __decorate([
|
|
140
|
+
(0, inversify_1.injectable)()
|
|
141
|
+
], SetViewMcpToolHandler);
|
|
142
|
+
//# sourceMappingURL=set-view-mcp-tool-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set-view-mcp-tool-handler.js","sourceRoot":"","sources":["../../../src/tools/handlers/set-view-mcp-tool-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2026 EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
import { CommandStack } from '@eclipse-glsp/server';
|
|
17
|
+
import * as z from 'zod/v4';
|
|
18
|
+
import { McpToolResult, OperationMcpDiagramToolHandler } from '../../server';
|
|
19
|
+
export declare const UndoInputSchema: z.ZodObject<{
|
|
20
|
+
sessionId: z.ZodString;
|
|
21
|
+
commandsToUndo: z.ZodDefault<z.ZodNumber>;
|
|
22
|
+
}, z.core.$strip>;
|
|
23
|
+
export type UndoInput = z.infer<typeof UndoInputSchema>;
|
|
24
|
+
export declare const UndoOutputSchema: z.ZodObject<{
|
|
25
|
+
commandsUndone: z.ZodNumber;
|
|
26
|
+
}, z.core.$strip>;
|
|
27
|
+
/**
|
|
28
|
+
* Undo a given number of the most recent actions on the command stack.
|
|
29
|
+
*/
|
|
30
|
+
export declare class UndoMcpToolHandler extends OperationMcpDiagramToolHandler<UndoInput> {
|
|
31
|
+
static readonly NAME = "undo";
|
|
32
|
+
readonly name = "undo";
|
|
33
|
+
readonly title = "Undo Diagram Commands";
|
|
34
|
+
readonly description: string;
|
|
35
|
+
readonly inputSchema: z.ZodObject<{
|
|
36
|
+
sessionId: z.ZodString;
|
|
37
|
+
commandsToUndo: z.ZodDefault<z.ZodNumber>;
|
|
38
|
+
}, z.core.$strip>;
|
|
39
|
+
readonly outputSchema: z.ZodObject<{
|
|
40
|
+
commandsUndone: z.ZodNumber;
|
|
41
|
+
}, z.core.$strip>;
|
|
42
|
+
protected commandStack: CommandStack;
|
|
43
|
+
protected createResult({ commandsToUndo }: UndoInput): Promise<McpToolResult>;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=undo-mcp-tool-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"undo-mcp-tool-handler.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/undo-mcp-tool-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,YAAY,EAAc,MAAM,sBAAsB,CAAC;AAEhE,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAA6C,aAAa,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AAExH,eAAO,MAAM,eAAe;;;iBAE1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,gBAAgB;;iBAE3B,CAAC;AAEH;;GAEG;AACH,qBACa,kBAAmB,SAAQ,8BAA8B,CAAC,SAAS,CAAC;IAC7E,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,QAAQ,CAAC,IAAI,UAA2B;IACxC,SAAkB,KAAK,2BAA2B;IAClD,QAAQ,CAAC,WAAW,SAK2E;IAC/F,QAAQ,CAAC,WAAW;;;sBAAmB;IACvC,SAAkB,YAAY;;sBAAoB;IAE5B,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;cAE3C,YAAY,CAAC,EAAE,cAAc,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;CAWtF"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/********************************************************************************
|
|
3
|
+
* Copyright (c) 2026 EclipseSource and others.
|
|
4
|
+
*
|
|
5
|
+
* This program and the accompanying materials are made available under the
|
|
6
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
*
|
|
9
|
+
* This Source Code may also be made available under the following Secondary
|
|
10
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
* with the GNU Classpath Exception which is available at
|
|
13
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
*
|
|
15
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
|
+
********************************************************************************/
|
|
17
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
18
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
19
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
20
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
21
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
22
|
+
};
|
|
23
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
24
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
25
|
+
};
|
|
26
|
+
var UndoMcpToolHandler_1;
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.UndoMcpToolHandler = exports.UndoOutputSchema = exports.UndoInputSchema = void 0;
|
|
29
|
+
const server_1 = require("@eclipse-glsp/server");
|
|
30
|
+
const inversify_1 = require("inversify");
|
|
31
|
+
const z = require("zod/v4");
|
|
32
|
+
const server_2 = require("../../server");
|
|
33
|
+
exports.UndoInputSchema = server_2.McpDiagramScopedInputSchema.extend({
|
|
34
|
+
commandsToUndo: z.number().min(1).default(1).describe('Number of commands to undo. Defaults to 1 (most recent command).')
|
|
35
|
+
});
|
|
36
|
+
exports.UndoOutputSchema = z.object({
|
|
37
|
+
commandsUndone: z.number().int().describe('Number of commands actually reverted.')
|
|
38
|
+
});
|
|
39
|
+
/**
|
|
40
|
+
* Undo a given number of the most recent actions on the command stack.
|
|
41
|
+
*/
|
|
42
|
+
let UndoMcpToolHandler = UndoMcpToolHandler_1 = class UndoMcpToolHandler extends server_2.OperationMcpDiagramToolHandler {
|
|
43
|
+
constructor() {
|
|
44
|
+
super(...arguments);
|
|
45
|
+
this.name = UndoMcpToolHandler_1.NAME;
|
|
46
|
+
this.title = 'Undo Diagram Commands';
|
|
47
|
+
this.description = "Undo recent commands on the diagram's command stack. " +
|
|
48
|
+
'Defaults to undoing one command — the most recent operation — when `commandsToUndo` is omitted. ' +
|
|
49
|
+
'Note that some tools dispatch multiple commands per call (e.g. `create-nodes` typically dispatches a node + a label command); ' +
|
|
50
|
+
'check the previous tool result for the exact count if you need to reverse more than the last one. ' +
|
|
51
|
+
"Throws when there's nothing on the undo stack. Only do this on an explicit user request.";
|
|
52
|
+
this.inputSchema = exports.UndoInputSchema;
|
|
53
|
+
this.outputSchema = exports.UndoOutputSchema;
|
|
54
|
+
}
|
|
55
|
+
async createResult({ commandsToUndo }) {
|
|
56
|
+
if (!this.commandStack.canUndo()) {
|
|
57
|
+
throw new server_2.McpToolError('Nothing to undo (undo stack is empty; the model is at its initial state for this session).');
|
|
58
|
+
}
|
|
59
|
+
for (let i = 0; i < commandsToUndo; i++) {
|
|
60
|
+
await this.actionDispatcher.dispatch(server_1.UndoAction.create());
|
|
61
|
+
}
|
|
62
|
+
return this.success('Undo successful', { commandsUndone: commandsToUndo });
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
exports.UndoMcpToolHandler = UndoMcpToolHandler;
|
|
66
|
+
UndoMcpToolHandler.NAME = 'undo';
|
|
67
|
+
__decorate([
|
|
68
|
+
(0, inversify_1.inject)(server_1.CommandStack),
|
|
69
|
+
__metadata("design:type", Object)
|
|
70
|
+
], UndoMcpToolHandler.prototype, "commandStack", void 0);
|
|
71
|
+
exports.UndoMcpToolHandler = UndoMcpToolHandler = UndoMcpToolHandler_1 = __decorate([
|
|
72
|
+
(0, inversify_1.injectable)()
|
|
73
|
+
], UndoMcpToolHandler);
|
|
74
|
+
//# sourceMappingURL=undo-mcp-tool-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"undo-mcp-tool-handler.js","sourceRoot":"","sources":["../../../src/tools/handlers/undo-mcp-tool-handler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;;AAElF,iDAAgE;AAChE,yCAA+C;AAC/C,4BAA4B;AAC5B,yCAAwH;AAE3G,QAAA,eAAe,GAAG,oCAA2B,CAAC,MAAM,CAAC;IAC9D,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kEAAkE,CAAC;CAC5H,CAAC,CAAC;AAGU,QAAA,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;CACrF,CAAC,CAAC;AAEH;;GAEG;AAEI,IAAM,kBAAkB,0BAAxB,MAAM,kBAAmB,SAAQ,uCAAyC;IAA1E;;QAEM,SAAI,GAAG,oBAAkB,CAAC,IAAI,CAAC;QACtB,UAAK,GAAG,uBAAuB,CAAC;QACzC,gBAAW,GAChB,uDAAuD;YACvD,kGAAkG;YAClG,gIAAgI;YAChI,oGAAoG;YACpG,0FAA0F,CAAC;QACtF,gBAAW,GAAG,uBAAe,CAAC;QACrB,iBAAY,GAAG,wBAAgB,CAAC;IAetD,CAAC;IAXa,KAAK,CAAC,YAAY,CAAC,EAAE,cAAc,EAAa;QACtD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/B,MAAM,IAAI,qBAAY,CAAC,4FAA4F,CAAC,CAAC;QACzH,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mBAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC,CAAC;IAC/E,CAAC;;AAzBQ,gDAAkB;AACX,uBAAI,GAAG,MAAM,AAAT,CAAU;AAYE;IAA/B,IAAA,kBAAM,EAAC,qBAAY,CAAC;;wDAAsC;6BAblD,kBAAkB;IAD9B,IAAA,sBAAU,GAAE;GACA,kBAAkB,CA0B9B"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2026 EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
import { ModelValidator } from '@eclipse-glsp/server';
|
|
17
|
+
import * as z from 'zod/v4';
|
|
18
|
+
import { AbstractMcpDiagramToolHandler, McpToolResult } from '../../server';
|
|
19
|
+
export declare const ValidateDiagramInputSchema: z.ZodObject<{
|
|
20
|
+
sessionId: z.ZodString;
|
|
21
|
+
elementIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
22
|
+
reason: z.ZodOptional<z.ZodEnum<{
|
|
23
|
+
batch: "batch";
|
|
24
|
+
live: "live";
|
|
25
|
+
}>>;
|
|
26
|
+
}, z.core.$strip>;
|
|
27
|
+
export type ValidateDiagramInput = z.infer<typeof ValidateDiagramInputSchema>;
|
|
28
|
+
export declare const ValidateDiagramOutputSchema: z.ZodObject<{
|
|
29
|
+
markers: z.ZodArray<z.ZodObject<{
|
|
30
|
+
kind: z.ZodString;
|
|
31
|
+
label: z.ZodString;
|
|
32
|
+
description: z.ZodString;
|
|
33
|
+
elementId: z.ZodString;
|
|
34
|
+
}, z.core.$strip>>;
|
|
35
|
+
}, z.core.$strip>;
|
|
36
|
+
export declare class ValidateDiagramMcpToolHandler extends AbstractMcpDiagramToolHandler<ValidateDiagramInput> {
|
|
37
|
+
static readonly NAME = "validate-diagram";
|
|
38
|
+
readonly name = "validate-diagram";
|
|
39
|
+
readonly title = "Validate Diagram";
|
|
40
|
+
readonly description: string;
|
|
41
|
+
readonly inputSchema: z.ZodObject<{
|
|
42
|
+
sessionId: z.ZodString;
|
|
43
|
+
elementIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
44
|
+
reason: z.ZodOptional<z.ZodEnum<{
|
|
45
|
+
batch: "batch";
|
|
46
|
+
live: "live";
|
|
47
|
+
}>>;
|
|
48
|
+
}, z.core.$strip>;
|
|
49
|
+
readonly outputSchema: z.ZodObject<{
|
|
50
|
+
markers: z.ZodArray<z.ZodObject<{
|
|
51
|
+
kind: z.ZodString;
|
|
52
|
+
label: z.ZodString;
|
|
53
|
+
description: z.ZodString;
|
|
54
|
+
elementId: z.ZodString;
|
|
55
|
+
}, z.core.$strip>>;
|
|
56
|
+
}, z.core.$strip>;
|
|
57
|
+
protected validator?: ModelValidator;
|
|
58
|
+
protected createResult({ elementIds, reason }: ValidateDiagramInput): Promise<McpToolResult>;
|
|
59
|
+
protected deduplicateMarkers<M extends {
|
|
60
|
+
kind: string;
|
|
61
|
+
label: string;
|
|
62
|
+
description: string;
|
|
63
|
+
elementId: string;
|
|
64
|
+
}>(markers: M[]): M[];
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=validate-diagram-mcp-tool-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-diagram-mcp-tool-handler.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/validate-diagram-mcp-tool-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAiB,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAA+B,6BAA6B,EAAgB,aAAa,EAAc,MAAM,cAAc,CAAC;AAGnI,eAAO,MAAM,0BAA0B;;;;;;;iBAWrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,2BAA2B;;;;;;;iBAStC,CAAC;AAEH,qBACa,6BAA8B,SAAQ,6BAA6B,CAAC,oBAAoB,CAAC;IAClG,MAAM,CAAC,QAAQ,CAAC,IAAI,sBAAsB;IAC1C,QAAQ,CAAC,IAAI,sBAAsC;IACnD,SAAkB,KAAK,sBAAsB;IAC7C,QAAQ,CAAC,WAAW,SAM4G;IAChI,QAAQ,CAAC,WAAW;;;;;;;sBAA8B;IAClD,SAAkB,YAAY;;;;;;;sBAA+B;IAEzB,SAAS,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;cAEzD,YAAY,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC;IAyBlG,SAAS,CAAC,kBAAkB,CAAC,CAAC,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE;CAWrI"}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-diagram-mcp-tool-handler.js","sourceRoot":"","sources":["../../../src/tools/handlers/validate-diagram-mcp-tool-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2026 EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
export * from './handlers/count-elements-mcp-tool-handler';
|
|
17
|
+
export * from './handlers/create-edges-mcp-tool-handler';
|
|
18
|
+
export * from './handlers/create-nodes-mcp-tool-handler';
|
|
19
|
+
export * from './handlers/delete-elements-mcp-tool-handler';
|
|
20
|
+
export * from './handlers/diagram-model-mcp-tool-handler';
|
|
21
|
+
export * from './handlers/element-types-mcp-tool-handler';
|
|
22
|
+
export * from './handlers/get-selection-mcp-tool-handler';
|
|
23
|
+
export * from './handlers/layout-mcp-tool-handler';
|
|
24
|
+
export * from './handlers/modify-edges-mcp-tool-handler';
|
|
25
|
+
export * from './handlers/modify-nodes-mcp-tool-handler';
|
|
26
|
+
export * from './handlers/query-elements-mcp-tool-handler';
|
|
27
|
+
export * from './handlers/redo-mcp-tool-handler';
|
|
28
|
+
export * from './handlers/save-model-mcp-tool-handler';
|
|
29
|
+
export * from './handlers/session-info-mcp-tool-handler';
|
|
30
|
+
export * from './handlers/set-selection-mcp-tool-handler';
|
|
31
|
+
export * from './handlers/set-view-mcp-tool-handler';
|
|
32
|
+
export * from './handlers/undo-mcp-tool-handler';
|
|
33
|
+
export * from './handlers/validate-diagram-mcp-tool-handler';
|
|
34
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,cAAc,4CAA4C,CAAC;AAC3D,cAAc,0CAA0C,CAAC;AACzD,cAAc,0CAA0C,CAAC;AACzD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AACnD,cAAc,0CAA0C,CAAC;AACzD,cAAc,0CAA0C,CAAC;AACzD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,kCAAkC,CAAC;AACjD,cAAc,wCAAwC,CAAC;AACvD,cAAc,0CAA0C,CAAC;AACzD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,8CAA8C,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/********************************************************************************
|
|
3
|
+
* Copyright (c) 2026 EclipseSource and others.
|
|
4
|
+
*
|
|
5
|
+
* This program and the accompanying materials are made available under the
|
|
6
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
*
|
|
9
|
+
* This Source Code may also be made available under the following Secondary
|
|
10
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
* with the GNU Classpath Exception which is available at
|
|
13
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
*
|
|
15
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
|
+
********************************************************************************/
|
|
17
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
|
+
if (k2 === undefined) k2 = k;
|
|
19
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
+
}
|
|
23
|
+
Object.defineProperty(o, k2, desc);
|
|
24
|
+
}) : (function(o, m, k, k2) {
|
|
25
|
+
if (k2 === undefined) k2 = k;
|
|
26
|
+
o[k2] = m[k];
|
|
27
|
+
}));
|
|
28
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
29
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
30
|
+
};
|
|
31
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
|
+
__exportStar(require("./handlers/count-elements-mcp-tool-handler"), exports);
|
|
33
|
+
__exportStar(require("./handlers/create-edges-mcp-tool-handler"), exports);
|
|
34
|
+
__exportStar(require("./handlers/create-nodes-mcp-tool-handler"), exports);
|
|
35
|
+
__exportStar(require("./handlers/delete-elements-mcp-tool-handler"), exports);
|
|
36
|
+
__exportStar(require("./handlers/diagram-model-mcp-tool-handler"), exports);
|
|
37
|
+
__exportStar(require("./handlers/element-types-mcp-tool-handler"), exports);
|
|
38
|
+
__exportStar(require("./handlers/get-selection-mcp-tool-handler"), exports);
|
|
39
|
+
__exportStar(require("./handlers/layout-mcp-tool-handler"), exports);
|
|
40
|
+
__exportStar(require("./handlers/modify-edges-mcp-tool-handler"), exports);
|
|
41
|
+
__exportStar(require("./handlers/modify-nodes-mcp-tool-handler"), exports);
|
|
42
|
+
__exportStar(require("./handlers/query-elements-mcp-tool-handler"), exports);
|
|
43
|
+
__exportStar(require("./handlers/redo-mcp-tool-handler"), exports);
|
|
44
|
+
__exportStar(require("./handlers/save-model-mcp-tool-handler"), exports);
|
|
45
|
+
__exportStar(require("./handlers/session-info-mcp-tool-handler"), exports);
|
|
46
|
+
__exportStar(require("./handlers/set-selection-mcp-tool-handler"), exports);
|
|
47
|
+
__exportStar(require("./handlers/set-view-mcp-tool-handler"), exports);
|
|
48
|
+
__exportStar(require("./handlers/undo-mcp-tool-handler"), exports);
|
|
49
|
+
__exportStar(require("./handlers/validate-diagram-mcp-tool-handler"), exports);
|
|
50
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;;;;;AAElF,6EAA2D;AAC3D,2EAAyD;AACzD,2EAAyD;AACzD,8EAA4D;AAC5D,4EAA0D;AAC1D,4EAA0D;AAC1D,4EAA0D;AAC1D,qEAAmD;AACnD,2EAAyD;AACzD,2EAAyD;AACzD,6EAA2D;AAC3D,mEAAiD;AACjD,yEAAuD;AACvD,2EAAyD;AACzD,4EAA0D;AAC1D,uEAAqD;AACrD,mEAAiD;AACjD,+EAA6D"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2026 EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
export * from './markdown-util';
|
|
17
|
+
export * from './mcp-util';
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/********************************************************************************
|
|
3
|
+
* Copyright (c) 2026 EclipseSource and others.
|
|
4
|
+
*
|
|
5
|
+
* This program and the accompanying materials are made available under the
|
|
6
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
*
|
|
9
|
+
* This Source Code may also be made available under the following Secondary
|
|
10
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
* with the GNU Classpath Exception which is available at
|
|
13
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
*
|
|
15
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
|
+
********************************************************************************/
|
|
17
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
|
+
if (k2 === undefined) k2 = k;
|
|
19
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
+
}
|
|
23
|
+
Object.defineProperty(o, k2, desc);
|
|
24
|
+
}) : (function(o, m, k, k2) {
|
|
25
|
+
if (k2 === undefined) k2 = k;
|
|
26
|
+
o[k2] = m[k];
|
|
27
|
+
}));
|
|
28
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
29
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
30
|
+
};
|
|
31
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
|
+
__exportStar(require("./markdown-util"), exports);
|
|
33
|
+
__exportStar(require("./mcp-util"), exports);
|
|
34
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;;;;;AAElF,kDAAgC;AAChC,6CAA2B"}
|