@eclipse-glsp/protocol 2.7.0-next.24 → 2.7.0-next.26
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/lib/action-protocol/model-saving.d.ts +140 -5
- package/lib/action-protocol/model-saving.d.ts.map +1 -1
- package/lib/action-protocol/model-saving.js +40 -1
- package/lib/action-protocol/model-saving.js.map +1 -1
- package/lib/action-protocol/viewport.d.ts +22 -1
- package/lib/action-protocol/viewport.d.ts.map +1 -1
- package/lib/action-protocol/viewport.js +17 -1
- package/lib/action-protocol/viewport.js.map +1 -1
- package/lib/client-server-protocol/base-glsp-client.d.ts +2 -2
- package/lib/client-server-protocol/base-glsp-client.d.ts.map +1 -1
- package/lib/client-server-protocol/base-glsp-client.js +3 -2
- package/lib/client-server-protocol/base-glsp-client.js.map +1 -1
- package/lib/client-server-protocol/glsp-client.d.ts +7 -2
- package/lib/client-server-protocol/glsp-client.d.ts.map +1 -1
- package/lib/client-server-protocol/glsp-client.js.map +1 -1
- package/lib/client-server-protocol/glsp-server.d.ts +18 -1
- package/lib/client-server-protocol/glsp-server.d.ts.map +1 -1
- package/lib/client-server-protocol/glsp-server.js +3 -2
- package/lib/client-server-protocol/glsp-server.js.map +1 -1
- package/lib/client-server-protocol/jsonrpc/base-jsonrpc-glsp-client.d.ts +1 -1
- package/lib/client-server-protocol/jsonrpc/base-jsonrpc-glsp-client.d.ts.map +1 -1
- package/lib/client-server-protocol/jsonrpc/base-jsonrpc-glsp-client.js +4 -3
- package/lib/client-server-protocol/jsonrpc/base-jsonrpc-glsp-client.js.map +1 -1
- package/lib/client-server-protocol/mcp.d.ts +225 -0
- package/lib/client-server-protocol/mcp.d.ts.map +1 -0
- package/lib/client-server-protocol/mcp.js +75 -0
- package/lib/client-server-protocol/mcp.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/utils/type-util.d.ts +8 -0
- package/lib/utils/type-util.d.ts.map +1 -1
- package/lib/utils/type-util.js +13 -1
- package/lib/utils/type-util.js.map +1 -1
- package/package.json +2 -2
- package/src/action-protocol/model-saving.spec.ts +127 -1
- package/src/action-protocol/model-saving.ts +171 -6
- package/src/action-protocol/viewport.spec.ts +37 -1
- package/src/action-protocol/viewport.ts +33 -1
- package/src/client-server-protocol/base-glsp-client.spec.ts +21 -6
- package/src/client-server-protocol/base-glsp-client.ts +3 -2
- package/src/client-server-protocol/glsp-client.ts +7 -3
- package/src/client-server-protocol/glsp-server.ts +19 -1
- package/src/client-server-protocol/jsonrpc/base-jsonrpc-glsp-client.spec.ts +10 -1
- package/src/client-server-protocol/jsonrpc/base-jsonrpc-glsp-client.ts +4 -3
- package/src/client-server-protocol/mcp.ts +256 -0
- package/src/index.ts +1 -0
- package/src/utils/type-util.ts +11 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-jsonrpc-glsp-client.js","sourceRoot":"","sources":["../../../src/client-server-protocol/jsonrpc/base-jsonrpc-glsp-client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"base-jsonrpc-glsp-client.js","sourceRoot":"","sources":["../../../src/client-server-protocol/jsonrpc/base-jsonrpc-glsp-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2025-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 { InitializeParameters, InitializeResult } from './types';
|
|
17
|
+
/** Wire-protocol naming for the data-handler exposure mode (see {@link McpServerInitOptions.dataMode}). */
|
|
18
|
+
export type McpDataMode = 'resources' | 'tools';
|
|
19
|
+
/**
|
|
20
|
+
* Behavioral and tuning options that an MCP-aware GLSP client may pass through the
|
|
21
|
+
* `initialize` request. Every field here is safe for the IDE to control per-init: changing
|
|
22
|
+
* any of them cannot widen the network attack surface or relax the DNS-rebinding mitigation.
|
|
23
|
+
*
|
|
24
|
+
* Contrast with {@link McpServerDeployOptions}, which lists fields the adopter sets at
|
|
25
|
+
* deploy time and that are intentionally *not* exposed to init for security reasons. The
|
|
26
|
+
* split limits blast radius: behavioural fields like `port` may be negotiated by the IDE
|
|
27
|
+
* over the wire, while security-sensitive bind/policy fields stay adopter-controlled and
|
|
28
|
+
* cannot be widened by an MCP `initialize` payload.
|
|
29
|
+
*
|
|
30
|
+
* @experimental
|
|
31
|
+
*/
|
|
32
|
+
export interface McpServerInitOptions {
|
|
33
|
+
/**
|
|
34
|
+
* How the data handlers are exposed to the MCP client. `'tools'` registers them as tools
|
|
35
|
+
* (default — most MCP clients support tools more reliably). `'resources'` registers them
|
|
36
|
+
* as URI-addressable Resources, the spec-aligned form, when the client is known to
|
|
37
|
+
* support it.
|
|
38
|
+
*
|
|
39
|
+
* @default 'tools'
|
|
40
|
+
*/
|
|
41
|
+
dataMode?: McpDataMode;
|
|
42
|
+
/**
|
|
43
|
+
* The personality injected into MCP clients by reading the MCP server's instructions.
|
|
44
|
+
*/
|
|
45
|
+
agentPersona?: string;
|
|
46
|
+
/**
|
|
47
|
+
* Maximum number of historical SSE events the in-memory event store retains per session.
|
|
48
|
+
* Older events are evicted (LRU by insert order) so memory stays bounded under long-running
|
|
49
|
+
* deployments. Must exceed the worst-case in-flight event count or a client reconnecting
|
|
50
|
+
* with a stale `Last-Event-ID` will find its resume point already evicted.
|
|
51
|
+
*
|
|
52
|
+
* @default 10000
|
|
53
|
+
*/
|
|
54
|
+
eventStoreLimit?: number;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Security-sensitive bind/policy fields the adopter sets at deploy time on the server
|
|
58
|
+
* module. These fields are deliberately *not* part of the wire-protocol init schema — they
|
|
59
|
+
* are not reachable from {@link McpServerConfiguration.options}, and the launcher reads
|
|
60
|
+
* them only from the adopter-supplied defaults. The server-side runtime view that consumers
|
|
61
|
+
* `@inject` (the holder named {@link McpServerOptions}) carries the merged combined shape
|
|
62
|
+
* {@link McpServerOptions} = init ∩ deploy.
|
|
63
|
+
*
|
|
64
|
+
* Why these are deploy-only: an MCP client driven by an LLM should not be able to widen the
|
|
65
|
+
* server's network exposure or weaken its DNS-rebinding mitigation through an `initialize`
|
|
66
|
+
* payload.
|
|
67
|
+
*
|
|
68
|
+
* @experimental
|
|
69
|
+
*/
|
|
70
|
+
export interface McpServerDeployOptions {
|
|
71
|
+
/**
|
|
72
|
+
* Host/interface the MCP HTTP server binds to. The launcher pins this to loopback by
|
|
73
|
+
* default; an adopter overrides via the server module's `McpServerDefaults` binding when
|
|
74
|
+
* they need a non-loopback bind.
|
|
75
|
+
*
|
|
76
|
+
* @default '127.0.0.1'
|
|
77
|
+
*/
|
|
78
|
+
host?: string;
|
|
79
|
+
/**
|
|
80
|
+
* Allowed `Host` header values for the MCP HTTP endpoint. Requests whose `Host` header is
|
|
81
|
+
* not in this list are rejected with `403 Forbidden`. Spec MUST per the Streamable HTTP
|
|
82
|
+
* transport's DNS-rebinding mitigation.
|
|
83
|
+
*
|
|
84
|
+
* @default ['127.0.0.1', 'localhost']
|
|
85
|
+
*/
|
|
86
|
+
allowedHosts?: string[];
|
|
87
|
+
/**
|
|
88
|
+
* Allowed `Origin` header values. When set, browser-originating requests with an `Origin`
|
|
89
|
+
* not in this list are rejected with `403 Forbidden`. Leave undefined to skip Origin
|
|
90
|
+
* checking (typical for desktop-IDE MCP clients which omit `Origin`); set explicitly when
|
|
91
|
+
* the deployment is fronted by a browser-based MCP client.
|
|
92
|
+
*/
|
|
93
|
+
allowedOrigins?: string[];
|
|
94
|
+
/**
|
|
95
|
+
* Explicit acknowledgement that the operator accepts running an unauthenticated MCP
|
|
96
|
+
* endpoint on a non-loopback bind. The MCP server ships with NO built-in authentication;
|
|
97
|
+
* the default `host: '127.0.0.1'` is the only safe configuration without external
|
|
98
|
+
* fronting. Setting a non-loopback `host` (e.g., `'0.0.0.0'` for "easier dev access")
|
|
99
|
+
* WITHOUT setting this flag causes the launcher to refuse to start with an actionable
|
|
100
|
+
* error.
|
|
101
|
+
*
|
|
102
|
+
* Set to `true` only when an external mechanism (reverse proxy, mTLS, network ACL, etc.)
|
|
103
|
+
* authenticates traffic before it reaches the MCP endpoint. Deploy-only — like the other
|
|
104
|
+
* fields in this type, it is unreachable from the wire.
|
|
105
|
+
*
|
|
106
|
+
* @default false
|
|
107
|
+
*/
|
|
108
|
+
acknowledgedNoAuth?: boolean;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Combined view of MCP server options as seen by the server-side runtime (defaults merged
|
|
112
|
+
* with the init-time overrides). Adopters supplying defaults via the server module's
|
|
113
|
+
* `McpServerDefaults` binding use this shape; per-init overrides use the narrower
|
|
114
|
+
* {@link McpServerInitOptions}.
|
|
115
|
+
*
|
|
116
|
+
* @experimental
|
|
117
|
+
*/
|
|
118
|
+
export type McpServerOptions = McpServerInitOptions & McpServerDeployOptions;
|
|
119
|
+
/** @experimental */
|
|
120
|
+
export interface McpServerConfiguration {
|
|
121
|
+
/**
|
|
122
|
+
* The port on which the MCP server should be started. Defaults to `0` (a random available
|
|
123
|
+
* port). The resolved URL is reported in {@link McpInitializeResult.mcpServer.url} and as a
|
|
124
|
+
* tagged log line on the GLSP server's stdout (`[GLSP-MCP-Server]:Ready. ...`) so that
|
|
125
|
+
* IDE integrations can pick it up automatically (mirroring how the GLSP server itself
|
|
126
|
+
* reports its port).
|
|
127
|
+
*
|
|
128
|
+
* Why `port` lives here but `host` lives on {@link McpServerDeployOptions}: an IDE has a
|
|
129
|
+
* legitimate operational reason to pin a specific port (matching its MCP client config),
|
|
130
|
+
* and the security blast radius of port choice is local. `host`, by contrast, controls
|
|
131
|
+
* the bind interface — letting an init payload widen it from loopback would re-open the
|
|
132
|
+
* DNS-rebinding attack pattern that the Host/Origin checks mitigate.
|
|
133
|
+
*/
|
|
134
|
+
port?: number;
|
|
135
|
+
/**
|
|
136
|
+
* The route on which the MCP server should be started.
|
|
137
|
+
*/
|
|
138
|
+
route?: string;
|
|
139
|
+
/**
|
|
140
|
+
* The name of the MCP server.
|
|
141
|
+
*/
|
|
142
|
+
name?: string;
|
|
143
|
+
/**
|
|
144
|
+
* Behavioral and tuning options the IDE may set per init. Security-sensitive bind/policy
|
|
145
|
+
* fields ({@link McpServerDeployOptions}) are intentionally not part of this shape.
|
|
146
|
+
*/
|
|
147
|
+
options?: McpServerInitOptions;
|
|
148
|
+
}
|
|
149
|
+
/** @experimental */
|
|
150
|
+
export interface McpInitializeParameters extends InitializeParameters {
|
|
151
|
+
/**
|
|
152
|
+
* MCP server configuration parameters.
|
|
153
|
+
*
|
|
154
|
+
* **Presence is the opt-in signal.** The MCP server is started if and only if this key is
|
|
155
|
+
* defined in the initialize parameters; the value's content controls *how* it is configured.
|
|
156
|
+
* Omitting the key entirely disables MCP. Setting it to an empty object (`{ mcpServer: {} }`)
|
|
157
|
+
* enables MCP with all defaults. A populated object overrides specific fields.
|
|
158
|
+
*
|
|
159
|
+
* @example
|
|
160
|
+
* // Disable MCP (the default for most clients)
|
|
161
|
+
* { applicationId: '...', protocolVersion: '...' }
|
|
162
|
+
*
|
|
163
|
+
* @example
|
|
164
|
+
* // Enable MCP with all defaults
|
|
165
|
+
* { applicationId: '...', protocolVersion: '...', mcpServer: {} }
|
|
166
|
+
*
|
|
167
|
+
* @example
|
|
168
|
+
* // Enable MCP with a custom port
|
|
169
|
+
* { applicationId: '...', protocolVersion: '...', mcpServer: { port: 12345 } }
|
|
170
|
+
*/
|
|
171
|
+
mcpServer?: McpServerConfiguration;
|
|
172
|
+
}
|
|
173
|
+
export declare namespace McpInitializeParameters {
|
|
174
|
+
/**
|
|
175
|
+
* Type guard that also doubles as the **opt-in check**: returns `true` iff `params.mcpServer`
|
|
176
|
+
* is defined (regardless of its content). Server-side code uses this to decide whether to
|
|
177
|
+
* start the MCP HTTP server at all. See {@link McpInitializeParameters.mcpServer} for the
|
|
178
|
+
* opt-in semantics.
|
|
179
|
+
*/
|
|
180
|
+
function is(params?: InitializeParameters): params is McpInitializeParameters;
|
|
181
|
+
/**
|
|
182
|
+
* Returns the {@link McpServerConfiguration} from the given initialize parameters, or
|
|
183
|
+
* `undefined` if MCP is not opted in (i.e., `mcpServer` is missing). A return value of `{}`
|
|
184
|
+
* (an empty object) means "MCP is enabled, use all defaults" — distinct from `undefined`
|
|
185
|
+
* which means "MCP is not enabled."
|
|
186
|
+
*/
|
|
187
|
+
function getServerConfig(params?: InitializeParameters): McpServerConfiguration | undefined;
|
|
188
|
+
}
|
|
189
|
+
/** @experimental */
|
|
190
|
+
export interface McpServerResult {
|
|
191
|
+
/** The name of the MCP server. */
|
|
192
|
+
name: string;
|
|
193
|
+
/** The URL at which the MCP server is accessible. */
|
|
194
|
+
url: string;
|
|
195
|
+
/** Optional headers AI clients should include when connecting. */
|
|
196
|
+
headers?: Record<string, string>;
|
|
197
|
+
}
|
|
198
|
+
export declare namespace McpServerResult {
|
|
199
|
+
/** True when the candidate is shaped like {@link McpServerResult}. */
|
|
200
|
+
function is(candidate: unknown): candidate is McpServerResult;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Initialize-result extension carrying the MCP server's announced URL. Returned by the
|
|
204
|
+
* GLSP server's `initialize` handshake when (and only when) MCP was opted into via
|
|
205
|
+
* {@link McpInitializeParameters.mcpServer}; otherwise the server returns a plain
|
|
206
|
+
* {@link InitializeResult} and callers should narrow with {@link McpInitializeResult.is}.
|
|
207
|
+
*
|
|
208
|
+
* @experimental
|
|
209
|
+
*/
|
|
210
|
+
export interface McpInitializeResult extends InitializeResult {
|
|
211
|
+
mcpServer: McpServerResult;
|
|
212
|
+
}
|
|
213
|
+
export declare namespace McpInitializeResult {
|
|
214
|
+
/** Narrows to `McpInitializeResult` (i.e., asserts `mcpServer` is populated and well-shaped). */
|
|
215
|
+
function is(result?: InitializeResult): result is McpInitializeResult;
|
|
216
|
+
/** Returns the {@link McpServerResult} from the given initialize result, or `undefined` if MCP is not announced. */
|
|
217
|
+
function getServer(result?: InitializeResult): McpServerResult | undefined;
|
|
218
|
+
/**
|
|
219
|
+
* Attaches an {@link McpServerResult} announcement to a base {@link InitializeResult},
|
|
220
|
+
* returning the augmented {@link McpInitializeResult}. Server-side handshake code uses this
|
|
221
|
+
* instead of an in-place cast to keep the mutation typed.
|
|
222
|
+
*/
|
|
223
|
+
function attachServer(result: InitializeResult, server: McpServerResult): McpInitializeResult;
|
|
224
|
+
}
|
|
225
|
+
//# sourceMappingURL=mcp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/client-server-protocol/mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAGlF,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEjE,2GAA2G;AAC3G,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,OAAO,CAAC;AAEhD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,oBAAoB;IACjC;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,sBAAsB;IACnC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;;;;;;;;;;OAaG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GAAG,sBAAsB,CAAC;AAE7E,oBAAoB;AACpB,MAAM,WAAW,sBAAsB;IACnC;;;;;;;;;;;;OAYG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAClC;AAED,oBAAoB;AACpB,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB;IACjE;;;;;;;;;;;;;;;;;;;OAmBG;IACH,SAAS,CAAC,EAAE,sBAAsB,CAAC;CACtC;AAED,yBAAiB,uBAAuB,CAAC;IACrC;;;;;OAKG;IACH,SAAgB,EAAE,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,MAAM,IAAI,uBAAuB,CAEnF;IAED;;;;;OAKG;IACH,SAAgB,eAAe,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,sBAAsB,GAAG,SAAS,CAEjG;CACJ;AAED,oBAAoB;AACpB,MAAM,WAAW,eAAe;IAC5B,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IAEb,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAC;IAEZ,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,yBAAiB,eAAe,CAAC;IAC7B,sEAAsE;IACtE,SAAgB,EAAE,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,IAAI,eAAe,CAEnE;CACJ;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IACzD,SAAS,EAAE,eAAe,CAAC;CAC9B;AAED,yBAAiB,mBAAmB,CAAC;IACjC,iGAAiG;IACjG,SAAgB,EAAE,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,MAAM,IAAI,mBAAmB,CAE3E;IAED,oHAAoH;IACpH,SAAgB,SAAS,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,eAAe,GAAG,SAAS,CAEhF;IAED;;;;OAIG;IACH,SAAgB,YAAY,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,eAAe,GAAG,mBAAmB,CAInG;CACJ"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/********************************************************************************
|
|
3
|
+
* Copyright (c) 2025-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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.McpInitializeResult = exports.McpServerResult = exports.McpInitializeParameters = void 0;
|
|
19
|
+
const type_util_1 = require("../utils/type-util");
|
|
20
|
+
var McpInitializeParameters;
|
|
21
|
+
(function (McpInitializeParameters) {
|
|
22
|
+
/**
|
|
23
|
+
* Type guard that also doubles as the **opt-in check**: returns `true` iff `params.mcpServer`
|
|
24
|
+
* is defined (regardless of its content). Server-side code uses this to decide whether to
|
|
25
|
+
* start the MCP HTTP server at all. See {@link McpInitializeParameters.mcpServer} for the
|
|
26
|
+
* opt-in semantics.
|
|
27
|
+
*/
|
|
28
|
+
function is(params) {
|
|
29
|
+
return type_util_1.AnyObject.is(params) && (0, type_util_1.hasObjectProp)(params, 'mcpServer');
|
|
30
|
+
}
|
|
31
|
+
McpInitializeParameters.is = is;
|
|
32
|
+
/**
|
|
33
|
+
* Returns the {@link McpServerConfiguration} from the given initialize parameters, or
|
|
34
|
+
* `undefined` if MCP is not opted in (i.e., `mcpServer` is missing). A return value of `{}`
|
|
35
|
+
* (an empty object) means "MCP is enabled, use all defaults" — distinct from `undefined`
|
|
36
|
+
* which means "MCP is not enabled."
|
|
37
|
+
*/
|
|
38
|
+
function getServerConfig(params) {
|
|
39
|
+
return is(params) ? params.mcpServer : undefined;
|
|
40
|
+
}
|
|
41
|
+
McpInitializeParameters.getServerConfig = getServerConfig;
|
|
42
|
+
})(McpInitializeParameters || (exports.McpInitializeParameters = McpInitializeParameters = {}));
|
|
43
|
+
var McpServerResult;
|
|
44
|
+
(function (McpServerResult) {
|
|
45
|
+
/** True when the candidate is shaped like {@link McpServerResult}. */
|
|
46
|
+
function is(candidate) {
|
|
47
|
+
return type_util_1.AnyObject.is(candidate) && (0, type_util_1.hasStringProp)(candidate, 'name') && (0, type_util_1.hasStringProp)(candidate, 'url');
|
|
48
|
+
}
|
|
49
|
+
McpServerResult.is = is;
|
|
50
|
+
})(McpServerResult || (exports.McpServerResult = McpServerResult = {}));
|
|
51
|
+
var McpInitializeResult;
|
|
52
|
+
(function (McpInitializeResult) {
|
|
53
|
+
/** Narrows to `McpInitializeResult` (i.e., asserts `mcpServer` is populated and well-shaped). */
|
|
54
|
+
function is(result) {
|
|
55
|
+
return type_util_1.AnyObject.is(result) && (0, type_util_1.hasObjectProp)(result, 'mcpServer') && McpServerResult.is(result.mcpServer);
|
|
56
|
+
}
|
|
57
|
+
McpInitializeResult.is = is;
|
|
58
|
+
/** Returns the {@link McpServerResult} from the given initialize result, or `undefined` if MCP is not announced. */
|
|
59
|
+
function getServer(result) {
|
|
60
|
+
return is(result) ? result.mcpServer : undefined;
|
|
61
|
+
}
|
|
62
|
+
McpInitializeResult.getServer = getServer;
|
|
63
|
+
/**
|
|
64
|
+
* Attaches an {@link McpServerResult} announcement to a base {@link InitializeResult},
|
|
65
|
+
* returning the augmented {@link McpInitializeResult}. Server-side handshake code uses this
|
|
66
|
+
* instead of an in-place cast to keep the mutation typed.
|
|
67
|
+
*/
|
|
68
|
+
function attachServer(result, server) {
|
|
69
|
+
const augmented = result;
|
|
70
|
+
augmented.mcpServer = server;
|
|
71
|
+
return augmented;
|
|
72
|
+
}
|
|
73
|
+
McpInitializeResult.attachServer = attachServer;
|
|
74
|
+
})(McpInitializeResult || (exports.McpInitializeResult = McpInitializeResult = {}));
|
|
75
|
+
//# sourceMappingURL=mcp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/client-server-protocol/mcp.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAElF,kDAA6E;AAqK7E,IAAiB,uBAAuB,CAoBvC;AApBD,WAAiB,uBAAuB;IACpC;;;;;OAKG;IACH,SAAgB,EAAE,CAAC,MAA6B;QAC5C,OAAO,qBAAS,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAA,yBAAa,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACtE,CAAC;IAFe,0BAAE,KAEjB,CAAA;IAED;;;;;OAKG;IACH,SAAgB,eAAe,CAAC,MAA6B;QACzD,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,CAAC;IAFe,uCAAe,kBAE9B,CAAA;AACL,CAAC,EApBgB,uBAAuB,uCAAvB,uBAAuB,QAoBvC;AAcD,IAAiB,eAAe,CAK/B;AALD,WAAiB,eAAe;IAC5B,sEAAsE;IACtE,SAAgB,EAAE,CAAC,SAAkB;QACjC,OAAO,qBAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,IAAA,yBAAa,EAAC,SAAS,EAAE,MAAM,CAAC,IAAI,IAAA,yBAAa,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC1G,CAAC;IAFe,kBAAE,KAEjB,CAAA;AACL,CAAC,EALgB,eAAe,+BAAf,eAAe,QAK/B;AAcD,IAAiB,mBAAmB,CAqBnC;AArBD,WAAiB,mBAAmB;IAChC,iGAAiG;IACjG,SAAgB,EAAE,CAAC,MAAyB;QACxC,OAAO,qBAAS,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAA,yBAAa,EAAC,MAAM,EAAE,WAAW,CAAC,IAAI,eAAe,CAAC,EAAE,CAAE,MAA8B,CAAC,SAAS,CAAC,CAAC;IACvI,CAAC;IAFe,sBAAE,KAEjB,CAAA;IAED,oHAAoH;IACpH,SAAgB,SAAS,CAAC,MAAyB;QAC/C,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,CAAC;IAFe,6BAAS,YAExB,CAAA;IAED;;;;OAIG;IACH,SAAgB,YAAY,CAAC,MAAwB,EAAE,MAAuB;QAC1E,MAAM,SAAS,GAAG,MAA6B,CAAC;QAChD,SAAS,CAAC,SAAS,GAAG,MAAM,CAAC;QAC7B,OAAO,SAAS,CAAC;IACrB,CAAC;IAJe,gCAAY,eAI3B,CAAA;AACL,CAAC,EArBgB,mBAAmB,mCAAnB,mBAAmB,QAqBnC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -43,6 +43,7 @@ export * from './client-server-protocol/jsonrpc/glsp-jsonrpc-server';
|
|
|
43
43
|
export * from './client-server-protocol/jsonrpc/websocket-connection';
|
|
44
44
|
export * from './client-server-protocol/jsonrpc/worker-connection-provider';
|
|
45
45
|
export * from './client-server-protocol/jsonrpc/ws-connection-provider';
|
|
46
|
+
export * from './client-server-protocol/mcp';
|
|
46
47
|
export * from './client-server-protocol/types';
|
|
47
48
|
export * from './model/default-types';
|
|
48
49
|
export * from './model/model-schema';
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,cAAc,iCAAiC,CAAC;AAChD,cAAc,uCAAuC,CAAC;AACtD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qCAAqC,CAAC;AACpD,cAAc,oCAAoC,CAAC;AACnD,cAAc,iCAAiC,CAAC;AAChD,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC;AACpD,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,2DAA2D,CAAC;AAC1E,cAAc,sDAAsD,CAAC;AACrE,cAAc,sDAAsD,CAAC;AACrE,cAAc,uDAAuD,CAAC;AACtE,cAAc,6DAA6D,CAAC;AAC5E,cAAc,yDAAyD,CAAC;AACxE,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,cAAc,iCAAiC,CAAC;AAChD,cAAc,uCAAuC,CAAC;AACtD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qCAAqC,CAAC;AACpD,cAAc,oCAAoC,CAAC;AACnD,cAAc,iCAAiC,CAAC;AAChD,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC;AACpD,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,2DAA2D,CAAC;AAC1E,cAAc,sDAAsD,CAAC;AACrE,cAAc,sDAAsD,CAAC;AACrE,cAAc,uDAAuD,CAAC;AACtE,cAAc,6DAA6D,CAAC;AAC5E,cAAc,yDAAyD,CAAC;AACxE,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -59,6 +59,7 @@ __exportStar(require("./client-server-protocol/jsonrpc/glsp-jsonrpc-server"), ex
|
|
|
59
59
|
__exportStar(require("./client-server-protocol/jsonrpc/websocket-connection"), exports);
|
|
60
60
|
__exportStar(require("./client-server-protocol/jsonrpc/worker-connection-provider"), exports);
|
|
61
61
|
__exportStar(require("./client-server-protocol/jsonrpc/ws-connection-provider"), exports);
|
|
62
|
+
__exportStar(require("./client-server-protocol/mcp"), exports);
|
|
62
63
|
__exportStar(require("./client-server-protocol/types"), exports);
|
|
63
64
|
__exportStar(require("./model/default-types"), exports);
|
|
64
65
|
__exportStar(require("./model/model-schema"), exports);
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,kEAAgD;AAChD,wEAAsD;AACtD,8DAA4C;AAC5C,6DAA2C;AAC3C,sEAAoD;AACpD,qEAAmD;AACnD,kEAAgD;AAChD,uEAAqD;AACrD,sEAAoD;AACpD,yEAAuD;AACvD,uEAAqD;AACrD,uEAAqD;AACrD,+DAA6C;AAC7C,oEAAkD;AAClD,iEAA+C;AAC/C,iEAA+C;AAC/C,sEAAoD;AACpD,iEAA+C;AAC/C,0DAAwC;AACxC,8DAA4C;AAC5C,6DAA2C;AAC3C,4EAA0D;AAC1D,uEAAqD;AACrD,uEAAqD;AACrD,4FAA0E;AAC1E,uFAAqE;AACrE,uFAAqE;AACrE,wFAAsE;AACtE,8FAA4E;AAC5E,0FAAwE;AACxE,iEAA+C;AAC/C,wDAAsC;AACtC,uDAAqC;AACrC,+CAA6B;AAC7B,oDAAkC;AAClC,4DAA0C;AAC1C,+DAA6C;AAC7C,2DAAyC;AACzC,qDAAmC;AACnC,qDAAmC;AACnC,gDAA8B;AAC9B,wDAAsC;AACtC,4DAA0C;AAC1C,wDAAsC;AACtC,0DAAwC;AACxC,oDAAkC;AAClC,oDAAkC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,kEAAgD;AAChD,wEAAsD;AACtD,8DAA4C;AAC5C,6DAA2C;AAC3C,sEAAoD;AACpD,qEAAmD;AACnD,kEAAgD;AAChD,uEAAqD;AACrD,sEAAoD;AACpD,yEAAuD;AACvD,uEAAqD;AACrD,uEAAqD;AACrD,+DAA6C;AAC7C,oEAAkD;AAClD,iEAA+C;AAC/C,iEAA+C;AAC/C,sEAAoD;AACpD,iEAA+C;AAC/C,0DAAwC;AACxC,8DAA4C;AAC5C,6DAA2C;AAC3C,4EAA0D;AAC1D,uEAAqD;AACrD,uEAAqD;AACrD,4FAA0E;AAC1E,uFAAqE;AACrE,uFAAqE;AACrE,wFAAsE;AACtE,8FAA4E;AAC5E,0FAAwE;AACxE,+DAA6C;AAC7C,iEAA+C;AAC/C,wDAAsC;AACtC,uDAAqC;AACrC,+CAA6B;AAC7B,oDAAkC;AAClC,4DAA0C;AAC1C,+DAA6C;AAC7C,2DAAyC;AACzC,qDAAmC;AACnC,qDAAmC;AACnC,gDAA8B;AAC9B,wDAAsC;AACtC,4DAA0C;AAC1C,wDAAsC;AACtC,0DAAwC;AACxC,oDAAkC;AAClC,oDAAkC"}
|
package/lib/utils/type-util.d.ts
CHANGED
|
@@ -56,6 +56,14 @@ export type PropertiesOfType<T, V> = Pick<T, KeysOfType<T, V>>;
|
|
|
56
56
|
* Utility type to describe a value as might be provided as a promise.
|
|
57
57
|
*/
|
|
58
58
|
export type MaybePromise<T> = T | PromiseLike<T>;
|
|
59
|
+
export declare namespace MaybePromise {
|
|
60
|
+
/**
|
|
61
|
+
* Type guard to check whether a given value is a {@link PromiseLike}.
|
|
62
|
+
* @param value The value to check.
|
|
63
|
+
* @returns `true` if the value is a `PromiseLike`.
|
|
64
|
+
*/
|
|
65
|
+
function isPromise<T = unknown>(value: MaybePromise<T>): value is PromiseLike<T>;
|
|
66
|
+
}
|
|
59
67
|
/**
|
|
60
68
|
* Utility type to describe typeguard functions.
|
|
61
69
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-util.d.ts","sourceRoot":"","sources":["../../src/utils/type-util.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"type-util.d.ts","sourceRoot":"","sources":["../../src/utils/type-util.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/type-util.js
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
16
|
********************************************************************************/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.MaybeActions = exports.AnyObject = void 0;
|
|
18
|
+
exports.MaybeActions = exports.MaybePromise = exports.AnyObject = void 0;
|
|
19
19
|
exports.typeGuard = typeGuard;
|
|
20
20
|
exports.typeGuardOr = typeGuardOr;
|
|
21
21
|
exports.toTypeGuard = toTypeGuard;
|
|
@@ -40,6 +40,18 @@ var AnyObject;
|
|
|
40
40
|
}
|
|
41
41
|
AnyObject.is = is;
|
|
42
42
|
})(AnyObject || (exports.AnyObject = AnyObject = {}));
|
|
43
|
+
var MaybePromise;
|
|
44
|
+
(function (MaybePromise) {
|
|
45
|
+
/**
|
|
46
|
+
* Type guard to check whether a given value is a {@link PromiseLike}.
|
|
47
|
+
* @param value The value to check.
|
|
48
|
+
* @returns `true` if the value is a `PromiseLike`.
|
|
49
|
+
*/
|
|
50
|
+
function isPromise(value) {
|
|
51
|
+
return AnyObject.is(value) && hasFunctionProp(value, 'then');
|
|
52
|
+
}
|
|
53
|
+
MaybePromise.isPromise = isPromise;
|
|
54
|
+
})(MaybePromise || (exports.MaybePromise = MaybePromise = {}));
|
|
43
55
|
/** Utility function to combine two type guards */
|
|
44
56
|
function typeGuard(one, other) {
|
|
45
57
|
return (element) => one(element) && other(element);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-util.js","sourceRoot":"","sources":["../../src/utils/type-util.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;
|
|
1
|
+
{"version":3,"file":"type-util.js","sourceRoot":"","sources":["../../src/utils/type-util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eclipse-glsp/protocol",
|
|
3
|
-
"version": "2.7.0-next.
|
|
3
|
+
"version": "2.7.0-next.26+5bb5792",
|
|
4
4
|
"description": "The protocol definition for client-server communication in GLSP",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"eclipse",
|
|
@@ -58,5 +58,5 @@
|
|
|
58
58
|
"publishConfig": {
|
|
59
59
|
"access": "public"
|
|
60
60
|
},
|
|
61
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "5bb5792121e9317888ff6f78495d551900739c29"
|
|
62
62
|
}
|
|
@@ -13,9 +13,17 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
+
/* eslint-disable @typescript-eslint/no-deprecated */
|
|
16
17
|
|
|
17
18
|
import { expect } from 'chai';
|
|
18
|
-
import {
|
|
19
|
+
import {
|
|
20
|
+
ExportResultAction,
|
|
21
|
+
ExportSvgAction,
|
|
22
|
+
RequestExportAction,
|
|
23
|
+
RequestExportSvgAction,
|
|
24
|
+
SaveModelAction,
|
|
25
|
+
SetDirtyStateAction
|
|
26
|
+
} from './model-saving';
|
|
19
27
|
/**
|
|
20
28
|
* Tests for the utility functions declared in the namespaces of the protocol
|
|
21
29
|
* action definitions.
|
|
@@ -170,4 +178,122 @@ describe('Model saving actions', () => {
|
|
|
170
178
|
});
|
|
171
179
|
});
|
|
172
180
|
});
|
|
181
|
+
|
|
182
|
+
describe('RequestExportAction', () => {
|
|
183
|
+
describe('is', () => {
|
|
184
|
+
it('should return true for a well-formed action carrying a `format`', () => {
|
|
185
|
+
const action: RequestExportAction = {
|
|
186
|
+
kind: 'requestExport',
|
|
187
|
+
requestId: '',
|
|
188
|
+
format: 'png'
|
|
189
|
+
};
|
|
190
|
+
expect(RequestExportAction.is(action)).to.be.true;
|
|
191
|
+
});
|
|
192
|
+
it('should reject the legacy `requestExportSvg` kind to keep strict separation between the two protocols', () => {
|
|
193
|
+
expect(RequestExportAction.is({ kind: 'requestExportSvg', requestId: '' })).to.be.false;
|
|
194
|
+
});
|
|
195
|
+
it('should return false for an action missing the `format` discriminator', () => {
|
|
196
|
+
expect(RequestExportAction.is({ kind: 'requestExport', requestId: '' })).to.be.false;
|
|
197
|
+
});
|
|
198
|
+
it('should return false for `undefined`', () => {
|
|
199
|
+
expect(RequestExportAction.is(undefined)).to.be.false;
|
|
200
|
+
});
|
|
201
|
+
});
|
|
202
|
+
|
|
203
|
+
describe('create', () => {
|
|
204
|
+
it('should default `requestId` to empty when none is supplied', () => {
|
|
205
|
+
expect(RequestExportAction.create('svg')).to.deep.equals({
|
|
206
|
+
kind: 'requestExport',
|
|
207
|
+
format: 'svg',
|
|
208
|
+
requestId: ''
|
|
209
|
+
});
|
|
210
|
+
});
|
|
211
|
+
it('should propagate caller-supplied formatOptions and requestId', () => {
|
|
212
|
+
const formatOptions = { width: 1024, skipCopyStyles: true };
|
|
213
|
+
expect(RequestExportAction.create('png', { formatOptions, requestId: 'abc' })).to.deep.equals({
|
|
214
|
+
kind: 'requestExport',
|
|
215
|
+
format: 'png',
|
|
216
|
+
requestId: 'abc',
|
|
217
|
+
formatOptions
|
|
218
|
+
});
|
|
219
|
+
});
|
|
220
|
+
it('should accept an arbitrary string format (open registry)', () => {
|
|
221
|
+
const action = RequestExportAction.create('pdf');
|
|
222
|
+
expect(action.format).to.equal('pdf');
|
|
223
|
+
});
|
|
224
|
+
});
|
|
225
|
+
});
|
|
226
|
+
|
|
227
|
+
describe('ExportResultAction', () => {
|
|
228
|
+
describe('is', () => {
|
|
229
|
+
it('should return true for a well-formed text-encoded result', () => {
|
|
230
|
+
const action: ExportResultAction = {
|
|
231
|
+
kind: 'exportResult',
|
|
232
|
+
responseId: '',
|
|
233
|
+
format: 'svg',
|
|
234
|
+
mimeType: 'image/svg+xml',
|
|
235
|
+
encoding: 'text',
|
|
236
|
+
data: '<svg/>'
|
|
237
|
+
};
|
|
238
|
+
expect(ExportResultAction.is(action)).to.be.true;
|
|
239
|
+
});
|
|
240
|
+
it('should return true for a well-formed base64-encoded result', () => {
|
|
241
|
+
const action: ExportResultAction = {
|
|
242
|
+
kind: 'exportResult',
|
|
243
|
+
responseId: '',
|
|
244
|
+
format: 'png',
|
|
245
|
+
mimeType: 'image/png',
|
|
246
|
+
encoding: 'base64',
|
|
247
|
+
data: 'aGVsbG8='
|
|
248
|
+
};
|
|
249
|
+
expect(ExportResultAction.is(action)).to.be.true;
|
|
250
|
+
});
|
|
251
|
+
it('should reject the legacy `exportSvg` kind to keep strict separation between the two protocols', () => {
|
|
252
|
+
expect(ExportResultAction.is({ kind: 'exportSvg', responseId: '', svg: '<svg/>' })).to.be.false;
|
|
253
|
+
});
|
|
254
|
+
it('should return false when `data` is missing', () => {
|
|
255
|
+
expect(
|
|
256
|
+
ExportResultAction.is({
|
|
257
|
+
kind: 'exportResult',
|
|
258
|
+
responseId: '',
|
|
259
|
+
format: 'svg',
|
|
260
|
+
mimeType: 'image/svg+xml',
|
|
261
|
+
encoding: 'text'
|
|
262
|
+
})
|
|
263
|
+
).to.be.false;
|
|
264
|
+
});
|
|
265
|
+
});
|
|
266
|
+
|
|
267
|
+
describe('create', () => {
|
|
268
|
+
it('should round-trip an SVG payload', () => {
|
|
269
|
+
const created = ExportResultAction.create('svg', '<svg/>', { mimeType: 'image/svg+xml', encoding: 'text' });
|
|
270
|
+
expect(created).to.deep.equals({
|
|
271
|
+
kind: 'exportResult',
|
|
272
|
+
responseId: '',
|
|
273
|
+
format: 'svg',
|
|
274
|
+
mimeType: 'image/svg+xml',
|
|
275
|
+
encoding: 'text',
|
|
276
|
+
data: '<svg/>'
|
|
277
|
+
});
|
|
278
|
+
});
|
|
279
|
+
it('should round-trip a PNG payload with formatOptions echo', () => {
|
|
280
|
+
const formatOptions = { width: 800 };
|
|
281
|
+
const created = ExportResultAction.create('png', 'aGVsbG8=', {
|
|
282
|
+
mimeType: 'image/png',
|
|
283
|
+
encoding: 'base64',
|
|
284
|
+
responseId: 'r-1',
|
|
285
|
+
formatOptions
|
|
286
|
+
});
|
|
287
|
+
expect(created).to.deep.equals({
|
|
288
|
+
kind: 'exportResult',
|
|
289
|
+
responseId: 'r-1',
|
|
290
|
+
format: 'png',
|
|
291
|
+
mimeType: 'image/png',
|
|
292
|
+
encoding: 'base64',
|
|
293
|
+
data: 'aGVsbG8=',
|
|
294
|
+
formatOptions
|
|
295
|
+
});
|
|
296
|
+
});
|
|
297
|
+
});
|
|
298
|
+
});
|
|
173
299
|
});
|