@hydranium/glsp-server 1.0.0-next.123 → 1.0.0-next.127
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -4
- package/lib/browser/start-glsp-server-in-worker.d.ts +30 -39
- package/lib/browser/start-glsp-server-in-worker.d.ts.map +1 -1
- package/lib/browser/start-glsp-server-in-worker.js +43 -8
- package/lib/browser/start-glsp-server-in-worker.js.map +1 -1
- package/lib/command/hydranium-glsp-command-stack.d.ts +27 -0
- package/lib/command/hydranium-glsp-command-stack.d.ts.map +1 -0
- package/lib/command/hydranium-glsp-command-stack.js +53 -0
- package/lib/command/hydranium-glsp-command-stack.js.map +1 -0
- package/lib/command/index.d.ts +1 -0
- package/lib/command/index.d.ts.map +1 -1
- package/lib/command/index.js +1 -0
- package/lib/command/index.js.map +1 -1
- package/lib/launcher/abstract-hydranium-glsp-diagram-module.d.ts +12 -3
- package/lib/launcher/abstract-hydranium-glsp-diagram-module.d.ts.map +1 -1
- package/lib/launcher/abstract-hydranium-glsp-diagram-module.js +18 -2
- package/lib/launcher/abstract-hydranium-glsp-diagram-module.js.map +1 -1
- package/lib/launcher/hydranium-glsp-server.d.ts +6 -3
- package/lib/launcher/hydranium-glsp-server.d.ts.map +1 -1
- package/lib/launcher/hydranium-glsp-server.js +12 -3
- package/lib/launcher/hydranium-glsp-server.js.map +1 -1
- package/lib/node/start-glsp-server.d.ts +1 -1
- package/lib/node/start-glsp-server.d.ts.map +1 -1
- package/lib/node/start-glsp-server.js +1 -1
- package/lib/node/start-glsp-server.js.map +1 -1
- package/lib/state/abstract-hydranium-glsp-state.d.ts.map +1 -1
- package/lib/state/abstract-hydranium-glsp-state.js +12 -22
- package/lib/state/abstract-hydranium-glsp-state.js.map +1 -1
- package/lib/storage/hydranium-glsp-request-save-model-action-handler.d.ts +30 -0
- package/lib/storage/hydranium-glsp-request-save-model-action-handler.d.ts.map +1 -0
- package/lib/storage/hydranium-glsp-request-save-model-action-handler.js +47 -0
- package/lib/storage/hydranium-glsp-request-save-model-action-handler.js.map +1 -0
- package/lib/storage/hydranium-glsp-storage.d.ts +25 -4
- package/lib/storage/hydranium-glsp-storage.d.ts.map +1 -1
- package/lib/storage/hydranium-glsp-storage.js +57 -12
- package/lib/storage/hydranium-glsp-storage.js.map +1 -1
- package/lib/storage/index.d.ts +1 -0
- package/lib/storage/index.d.ts.map +1 -1
- package/lib/storage/index.js +1 -0
- package/lib/storage/index.js.map +1 -1
- package/package.json +7 -7
- package/src/browser/start-glsp-server-in-worker.ts +41 -44
- package/src/command/hydranium-glsp-command-stack.ts +36 -0
- package/src/command/index.ts +1 -0
- package/src/launcher/abstract-hydranium-glsp-diagram-module.ts +27 -3
- package/src/launcher/hydranium-glsp-server.ts +12 -3
- package/src/node/start-glsp-server.ts +1 -2
- package/src/state/abstract-hydranium-glsp-state.ts +16 -26
- package/src/storage/hydranium-glsp-request-save-model-action-handler.ts +40 -0
- package/src/storage/hydranium-glsp-storage.ts +61 -15
- package/src/storage/index.ts +1 -0
package/README.md
CHANGED
|
@@ -21,8 +21,11 @@ the diagram model is adopter-side, bound per diagram module.
|
|
|
21
21
|
- **Load / save against the live AST.** `HydraniumGlspStorage` loads a document
|
|
22
22
|
on diagram open and writes user operations back through the shared model
|
|
23
23
|
coordination layer, with `SaveDeliveryPolicy` deciding whether the save action
|
|
24
|
-
awaits the write. `
|
|
25
|
-
|
|
24
|
+
awaits the write. `HydraniumGlspRequestSaveModelActionHandler` answers each
|
|
25
|
+
save the Theia client sends, or rejects it when the save fails; GLSP's own
|
|
26
|
+
save action stays unanswered for other clients.
|
|
27
|
+
`HydraniumGlspRecordingCommand` is the operation-handler seam — the framework
|
|
28
|
+
provides no base handler class.
|
|
26
29
|
- **A submission and dispatch lifecycle that waits for the model.**
|
|
27
30
|
`HydraniumGlspSubmissionHandler` gates submit on the readiness event,
|
|
28
31
|
`HydraniumGlspServerActionDispatcher` adds timing and direction to dispatch,
|
|
@@ -63,7 +66,7 @@ GLSP server init, and no peer declaration can prevent a nested copy. Add an
|
|
|
63
66
|
| subpath | holds | platform |
|
|
64
67
|
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- |
|
|
65
68
|
| `.` | Composition and the head itself: app / diagram modules, state, storage, submission, command, dispatcher, computed-bounds, validation, logging, `serviceIdentifier`. | browser-neutral |
|
|
66
|
-
| `./browser` | `startGlspServerInWorker
|
|
69
|
+
| `./browser` | `startGlspServerInWorker`, `BrowserGlspServerOptions`, `HydraniumGlspWorkerServerLauncher` — the web-worker bringup on GLSP's `WorkerServerLauncher`. | browser-only |
|
|
67
70
|
| `./node` | `startGlspServer`, `GlspServerOptions`, `StartedGlspServer` — the socket bringup on GLSP's `SocketServerLauncher`. | Node-only |
|
|
68
71
|
| `./testing` | `makeGlspHarness`, `makeNoopGlspLogger`, `makeCapturingGlspLogger`. | browser-neutral |
|
|
69
72
|
|
|
@@ -82,7 +85,8 @@ Each subpath also has a `./lib/…` twin for consumers on
|
|
|
82
85
|
|
|
83
86
|
Build the app container, load `HydraniumGlspAppModule` plus your own app modules,
|
|
84
87
|
and hand the result to `startGlspServer` (or `startGlspServerInWorker`, whose
|
|
85
|
-
`context` is a required transferred `MessagePort`
|
|
88
|
+
`context` is a required transferred `MessagePort` whose page end connects
|
|
89
|
+
through `createMessagePortTransport`). Per diagram open, storage
|
|
86
90
|
loads the document, your GModel factory renders it, and user operations travel
|
|
87
91
|
back into the shared AST through the recording command, after which the GModel is
|
|
88
92
|
re-derived and every listener on that document is notified. The module-by-module
|
|
@@ -6,41 +6,30 @@
|
|
|
6
6
|
*
|
|
7
7
|
* SPDX-License-Identifier: MIT
|
|
8
8
|
********************************************************************************/
|
|
9
|
-
import { type Logger as GlspLogger, type ServerModule } from '@eclipse-glsp/server/browser.js';
|
|
9
|
+
import { type Logger as GlspLogger, type ServerModule, type WorkerLaunchOptions, WorkerServerLauncher } from '@eclipse-glsp/server/browser.js';
|
|
10
10
|
import { type ContainerModule } from 'inversify';
|
|
11
|
-
import type
|
|
11
|
+
import { type Logger, type TransferredMessagePort } from '@hydranium/protocol';
|
|
12
|
+
import { type MessageConnection } from 'vscode-jsonrpc/browser';
|
|
12
13
|
import type { IntegratedServer } from '@hydranium/core';
|
|
14
|
+
export type { TransferredMessagePort } from '@hydranium/protocol';
|
|
13
15
|
/**
|
|
14
|
-
*
|
|
16
|
+
* The worker launcher every {@link startGlspServerInWorker} head runs on: GLSP's
|
|
17
|
+
* own, with its connection built over `createMessagePortTransport` rather than
|
|
18
|
+
* over `BrowserMessageReader`/`BrowserMessageWriter`, which never report a
|
|
19
|
+
* close. So the client disposing its connection closes this one, and upstream
|
|
20
|
+
* disposes the server instance, and with it every client session, as it does
|
|
21
|
+
* when a socket closes.
|
|
15
22
|
*
|
|
16
|
-
*
|
|
17
|
-
* without the DOM lib, which is what keeps `document` / `window` compile errors
|
|
18
|
-
* here — so `MessagePort` has no name either and the contract has to be spelled
|
|
19
|
-
* out.
|
|
23
|
+
* Requires `context`: unlike upstream it never falls back to the worker global.
|
|
20
24
|
*
|
|
21
|
-
* **The
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
* **That compile error happens at the ADOPTER, not here.** This project resolves
|
|
28
|
-
* neither `MessagePort` nor `Worker` as a type, so nothing in this package can
|
|
29
|
-
* demonstrate the rejection; a host compiling its worker against `lib.webworker`
|
|
30
|
-
* (or a page against `lib.dom`) is where the names resolve and the guard bites.
|
|
31
|
-
* Measured there: passing the worker global fails with `Property 'start' is
|
|
32
|
-
* missing in type 'DedicatedWorkerGlobalScope'`.
|
|
33
|
-
*
|
|
34
|
-
* `addEventListener` is not a discriminator — `postMessage` plus `start` already
|
|
35
|
-
* excludes the other two — and nothing in this module calls any of the three
|
|
36
|
-
* (the reader assigns `onmessage`, which starts a port implicitly). It is listed
|
|
37
|
-
* because it is part of what the reader uses, so the interface reads as the
|
|
38
|
-
* contract rather than as a minimal trick.
|
|
25
|
+
* **The install needs a single `vscode-jsonrpc`.** The connection comes from
|
|
26
|
+
* this package's copy, and GLSP's request and notification types from the copy
|
|
27
|
+
* `@eclipse-glsp/protocol` resolves. With two copies, a typed notification or
|
|
28
|
+
* request GLSP sends throws `Unknown parameter structure auto`, because the
|
|
29
|
+
* connection compares the type's parameter-structure marker by identity.
|
|
39
30
|
*/
|
|
40
|
-
export
|
|
41
|
-
|
|
42
|
-
addEventListener(type: 'message', listener: (event: unknown) => void, options?: unknown): void;
|
|
43
|
-
start(): void;
|
|
31
|
+
export declare class HydraniumGlspWorkerServerLauncher extends WorkerServerLauncher {
|
|
32
|
+
protected createConnection(options: WorkerLaunchOptions): MessageConnection;
|
|
44
33
|
}
|
|
45
34
|
/**
|
|
46
35
|
* Options for {@link startGlspServerInWorker}.
|
|
@@ -55,14 +44,15 @@ export interface BrowserGlspServerOptions {
|
|
|
55
44
|
/**
|
|
56
45
|
* The port the host transferred into the worker for this head.
|
|
57
46
|
*
|
|
58
|
-
* **Required
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
47
|
+
* **Required: the worker global is no substitute.** A head on the global
|
|
48
|
+
* receives every other head's traffic — a reader filters nothing, so this is
|
|
49
|
+
* not a race under load but every message delivered to the wrong reader — and
|
|
50
|
+
* GLSP's launcher posts its startup string through the global `postMessage`
|
|
51
|
+
* regardless of the connection it was given, which no JSON-RPC reader parses.
|
|
52
|
+
* Unlike upstream's, this head's launcher never falls back to the global.
|
|
53
|
+
*
|
|
54
|
+
* The page's end must connect through `createMessagePortTransport` as well:
|
|
55
|
+
* the head reads its close signal from the port, and posts one on it.
|
|
66
56
|
*/
|
|
67
57
|
readonly context: TransferredMessagePort;
|
|
68
58
|
/**
|
|
@@ -114,8 +104,9 @@ export interface BrowserGlspServerOptions {
|
|
|
114
104
|
* below. There is no transport handshake to wait on: the port arrived live,
|
|
115
105
|
* and the launcher's own readiness signal is a string it posts on the worker
|
|
116
106
|
* global, which nothing here reads.
|
|
117
|
-
* - `stopped` resolves when the connection closes,
|
|
118
|
-
* error.
|
|
107
|
+
* - `stopped` resolves when the connection closes, which the client disposing
|
|
108
|
+
* its connection causes, and rejects on a connection error. Nothing reports a
|
|
109
|
+
* page that dies, because the port cannot.
|
|
119
110
|
*/
|
|
120
111
|
export declare function startGlspServerInWorker(options: BrowserGlspServerOptions): IntegratedServer;
|
|
121
112
|
//# sourceMappingURL=start-glsp-server-in-worker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-glsp-server-in-worker.d.ts","sourceRoot":"","sources":["../../src/browser/start-glsp-server-in-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,MAAM,IAAI,UAAU,EACzB,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"start-glsp-server-in-worker.d.ts","sourceRoot":"","sources":["../../src/browser/start-glsp-server-in-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,MAAM,IAAI,UAAU,EACzB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,oBAAoB,EAEtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAA8B,KAAK,MAAM,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC3G,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAKxD,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE;;;;;;;;;;;;;;;GAeG;AACH,qBACa,iCAAkC,SAAQ,oBAAoB;cACrD,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,GAAG,iBAAiB;CAItF;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,wBAAwB;IACtC;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IACzC;;;;;;;;OAQG;IACH,QAAQ,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,UAAU,CAAC;IACvD;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACrD;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,GAAG,gBAAgB,CAsE3F"}
|
|
@@ -6,10 +6,44 @@
|
|
|
6
6
|
*
|
|
7
7
|
* SPDX-License-Identifier: MIT
|
|
8
8
|
********************************************************************************/
|
|
9
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
10
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
11
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
12
|
+
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;
|
|
13
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
14
|
+
};
|
|
9
15
|
import { WorkerServerLauncher, createAppModule } from '@eclipse-glsp/server/browser.js';
|
|
10
|
-
import { Container } from 'inversify';
|
|
16
|
+
import { Container, injectable } from 'inversify';
|
|
17
|
+
import { createMessagePortTransport } from '@hydranium/protocol';
|
|
18
|
+
import { createMessageConnection } from 'vscode-jsonrpc/browser';
|
|
11
19
|
import { createGlspFrameworkOverrides } from '../launcher/glsp-framework-overrides.js';
|
|
12
20
|
import { createGlspServerOverrides } from '../launcher/glsp-server-overrides.js';
|
|
21
|
+
/**
|
|
22
|
+
* The worker launcher every {@link startGlspServerInWorker} head runs on: GLSP's
|
|
23
|
+
* own, with its connection built over `createMessagePortTransport` rather than
|
|
24
|
+
* over `BrowserMessageReader`/`BrowserMessageWriter`, which never report a
|
|
25
|
+
* close. So the client disposing its connection closes this one, and upstream
|
|
26
|
+
* disposes the server instance, and with it every client session, as it does
|
|
27
|
+
* when a socket closes.
|
|
28
|
+
*
|
|
29
|
+
* Requires `context`: unlike upstream it never falls back to the worker global.
|
|
30
|
+
*
|
|
31
|
+
* **The install needs a single `vscode-jsonrpc`.** The connection comes from
|
|
32
|
+
* this package's copy, and GLSP's request and notification types from the copy
|
|
33
|
+
* `@eclipse-glsp/protocol` resolves. With two copies, a typed notification or
|
|
34
|
+
* request GLSP sends throws `Unknown parameter structure auto`, because the
|
|
35
|
+
* connection compares the type's parameter-structure marker by identity.
|
|
36
|
+
*/
|
|
37
|
+
let HydraniumGlspWorkerServerLauncher = class HydraniumGlspWorkerServerLauncher extends WorkerServerLauncher {
|
|
38
|
+
createConnection(options) {
|
|
39
|
+
const transport = createMessagePortTransport(options.context);
|
|
40
|
+
return createMessageConnection(transport.reader, transport.writer);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
HydraniumGlspWorkerServerLauncher = __decorate([
|
|
44
|
+
injectable()
|
|
45
|
+
], HydraniumGlspWorkerServerLauncher);
|
|
46
|
+
export { HydraniumGlspWorkerServerLauncher };
|
|
13
47
|
/**
|
|
14
48
|
* Start a GLSP head on a transferred `MessagePort` inside a web worker, with no
|
|
15
49
|
* Node runtime and no backend process.
|
|
@@ -32,8 +66,9 @@ import { createGlspServerOverrides } from '../launcher/glsp-server-overrides.js'
|
|
|
32
66
|
* below. There is no transport handshake to wait on: the port arrived live,
|
|
33
67
|
* and the launcher's own readiness signal is a string it posts on the worker
|
|
34
68
|
* global, which nothing here reads.
|
|
35
|
-
* - `stopped` resolves when the connection closes,
|
|
36
|
-
* error.
|
|
69
|
+
* - `stopped` resolves when the connection closes, which the client disposing
|
|
70
|
+
* its connection causes, and rejects on a connection error. Nothing reports a
|
|
71
|
+
* page that dies, because the port cannot.
|
|
37
72
|
*/
|
|
38
73
|
export function startGlspServerInWorker(options) {
|
|
39
74
|
const lifecycle = options.logger;
|
|
@@ -48,17 +83,17 @@ export function startGlspServerInWorker(options) {
|
|
|
48
83
|
const glspAppModule = createAppModule({ consoleLog: false });
|
|
49
84
|
const appContainer = new Container();
|
|
50
85
|
appContainer.load(glspAppModule, createGlspFrameworkOverrides(options.createLogger), ...(options.appModules ?? []));
|
|
51
|
-
const launcher = appContainer.resolve(
|
|
86
|
+
const launcher = appContainer.resolve(HydraniumGlspWorkerServerLauncher);
|
|
52
87
|
// Additional module rather than an app-container binding, as on Node: the
|
|
53
88
|
// launcher loads these into the per-connection SERVER container, the only
|
|
54
89
|
// tier where the adopter's `ServerModule` binding of `GLSPServer` is
|
|
55
90
|
// rebindable.
|
|
56
91
|
launcher.configure(options.serverModule, createGlspServerOverrides());
|
|
57
92
|
try {
|
|
58
|
-
// Upstream declares `WorkerLaunchOptions.context` as `Worker`,
|
|
59
|
-
//
|
|
60
|
-
//
|
|
61
|
-
//
|
|
93
|
+
// Upstream declares `WorkerLaunchOptions.context` as `Worker`, and
|
|
94
|
+
// `HydraniumGlspWorkerServerLauncher.createConnection` reads it as a
|
|
95
|
+
// port — so the value that is CORRECT here is the one the declaration
|
|
96
|
+
// names as wrong.
|
|
62
97
|
//
|
|
63
98
|
// **The cast is currently redundant, and is kept deliberately.** `Worker`
|
|
64
99
|
// does not resolve under this package's `lib`, so `skipLibCheck` leaves
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-glsp-server-in-worker.js","sourceRoot":"","sources":["../../src/browser/start-glsp-server-in-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF
|
|
1
|
+
{"version":3,"file":"start-glsp-server-in-worker.js","sourceRoot":"","sources":["../../src/browser/start-glsp-server-in-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
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 MIT License which is available in the project root.
|
|
6
|
+
*
|
|
7
|
+
* SPDX-License-Identifier: MIT
|
|
8
|
+
********************************************************************************/
|
|
9
|
+
import { DefaultCommandStack, ModelState } from '@eclipse-glsp/server';
|
|
10
|
+
import { type ServerSharedServices } from '@hydranium/core';
|
|
11
|
+
/**
|
|
12
|
+
* GLSP's command stack with the diagram's dirty state read from the text store:
|
|
13
|
+
* dirty while any document the diagram's client session has open differs from
|
|
14
|
+
* its file, as the store last knew the file. Undo and redo are GLSP's.
|
|
15
|
+
*
|
|
16
|
+
* GLSP's own answer counts the diagram's commands since its last save, so it
|
|
17
|
+
* misses every change the diagram did not make: another client's unsaved edit
|
|
18
|
+
* leaves it clean, and a save it did not make of a document other than the
|
|
19
|
+
* diagram's own leaves it dirty. Every `SetDirtyStateAction` GLSP sends reads
|
|
20
|
+
* this answer.
|
|
21
|
+
*/
|
|
22
|
+
export declare class HydraniumGlspCommandStack extends DefaultCommandStack {
|
|
23
|
+
protected readonly modelState: ModelState;
|
|
24
|
+
protected readonly sharedServices: ServerSharedServices;
|
|
25
|
+
get isDirty(): boolean;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=hydranium-glsp-command-stack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hydranium-glsp-command-stack.d.ts","sourceRoot":"","sources":["../../src/command/hydranium-glsp-command-stack.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAI5D;;;;;;;;;;GAUG;AACH,qBACa,yBAA0B,SAAQ,mBAAmB;IAC3C,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAG,UAAU,CAAC;IACpB,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAG,oBAAoB,CAAC;IAEpG,IAAa,OAAO,IAAI,OAAO,CAI9B;CACH"}
|
|
@@ -0,0 +1,53 @@
|
|
|
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 MIT License which is available in the project root.
|
|
6
|
+
*
|
|
7
|
+
* SPDX-License-Identifier: MIT
|
|
8
|
+
********************************************************************************/
|
|
9
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
10
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
11
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
12
|
+
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;
|
|
13
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
14
|
+
};
|
|
15
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
16
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
17
|
+
};
|
|
18
|
+
import { DefaultCommandStack, ModelState } from '@eclipse-glsp/server';
|
|
19
|
+
import { inject, injectable } from 'inversify';
|
|
20
|
+
import { HydraniumTypes } from '../state/hydranium-shared-core-services.js';
|
|
21
|
+
/**
|
|
22
|
+
* GLSP's command stack with the diagram's dirty state read from the text store:
|
|
23
|
+
* dirty while any document the diagram's client session has open differs from
|
|
24
|
+
* its file, as the store last knew the file. Undo and redo are GLSP's.
|
|
25
|
+
*
|
|
26
|
+
* GLSP's own answer counts the diagram's commands since its last save, so it
|
|
27
|
+
* misses every change the diagram did not make: another client's unsaved edit
|
|
28
|
+
* leaves it clean, and a save it did not make of a document other than the
|
|
29
|
+
* diagram's own leaves it dirty. Every `SetDirtyStateAction` GLSP sends reads
|
|
30
|
+
* this answer.
|
|
31
|
+
*/
|
|
32
|
+
let HydraniumGlspCommandStack = class HydraniumGlspCommandStack extends DefaultCommandStack {
|
|
33
|
+
modelState;
|
|
34
|
+
sharedServices;
|
|
35
|
+
get isDirty() {
|
|
36
|
+
const textDocuments = this.sharedServices.workspace.TextDocuments;
|
|
37
|
+
const clientId = this.modelState.clientId;
|
|
38
|
+
return textDocuments.openDocuments().some(open => open.clients.includes(clientId) && textDocuments.isDirty(open.uri));
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
__decorate([
|
|
42
|
+
inject(ModelState),
|
|
43
|
+
__metadata("design:type", Object)
|
|
44
|
+
], HydraniumGlspCommandStack.prototype, "modelState", void 0);
|
|
45
|
+
__decorate([
|
|
46
|
+
inject(HydraniumTypes.SharedCoreServices),
|
|
47
|
+
__metadata("design:type", Object)
|
|
48
|
+
], HydraniumGlspCommandStack.prototype, "sharedServices", void 0);
|
|
49
|
+
HydraniumGlspCommandStack = __decorate([
|
|
50
|
+
injectable()
|
|
51
|
+
], HydraniumGlspCommandStack);
|
|
52
|
+
export { HydraniumGlspCommandStack };
|
|
53
|
+
//# sourceMappingURL=hydranium-glsp-command-stack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hydranium-glsp-command-stack.js","sourceRoot":"","sources":["../../src/command/hydranium-glsp-command-stack.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;;;;;;;;;;AAElF,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAE5E;;;;;;;;;;GAUG;AAEI,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,mBAAmB;IACxB,UAAU,CAAc;IACD,cAAc,CAAwB;IAEpG,IAAa,OAAO;QACjB,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,aAAa,CAAC;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC1C,OAAO,aAAa,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACzH,CAAC;CACH,CAAA;AARyC;IAAtC,MAAM,CAAC,UAAU,CAAC;;6DAA4C;AACD;IAA7D,MAAM,CAAC,cAAc,CAAC,kBAAkB,CAAC;;iEAA0D;AAF1F,yBAAyB;IADrC,UAAU,EAAE;GACA,yBAAyB,CASrC"}
|
package/lib/command/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/command/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,cAAc,uCAAuC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/command/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,cAAc,uCAAuC,CAAC;AACtD,cAAc,mCAAmC,CAAC"}
|
package/lib/command/index.js
CHANGED
package/lib/command/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/command/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,cAAc,uCAAuC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/command/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,cAAc,uCAAuC,CAAC;AACtD,cAAc,mCAAmC,CAAC"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* SPDX-License-Identifier: MIT
|
|
8
8
|
********************************************************************************/
|
|
9
|
-
import { DiagramModule } from '@eclipse-glsp/server';
|
|
9
|
+
import { type ActionHandlerConstructor, type BindingTarget, type CommandStack, DiagramModule, type InstanceMultiBinding } from '@eclipse-glsp/server';
|
|
10
10
|
import { type interfaces } from 'inversify';
|
|
11
11
|
import type { LanguageMetaData } from '@hydranium/langium';
|
|
12
12
|
/**
|
|
@@ -16,8 +16,10 @@ import type { LanguageMetaData } from '@hydranium/langium';
|
|
|
16
16
|
* Exported separately from {@link AbstractHydraniumGlspDiagramModule} for adopters
|
|
17
17
|
* whose diagram module already extends an intermediate base of their own and
|
|
18
18
|
* cannot take the framework base class; call it from `configure` after
|
|
19
|
-
* `super.configure(...)
|
|
20
|
-
*
|
|
19
|
+
* `super.configure(...)`, add {@link HydraniumGlspRequestSaveModelActionHandler}
|
|
20
|
+
* in `configureActionHandlers`, and return {@link HydraniumGlspCommandStack} from
|
|
21
|
+
* `bindCommandStack`, all of which the base also does. The base class is the
|
|
22
|
+
* preferred entry point because it makes the declaration non-optional.
|
|
21
23
|
*
|
|
22
24
|
* **Why the session tier.** GLSP builds its app container once per process,
|
|
23
25
|
* before any document exists, so a per-language service bound there can only
|
|
@@ -71,5 +73,12 @@ export declare abstract class AbstractHydraniumGlspDiagramModule extends Diagram
|
|
|
71
73
|
*/
|
|
72
74
|
protected abstract declareLanguage(): LanguageMetaData;
|
|
73
75
|
protected configure(bind: interfaces.Bind, unbind: interfaces.Unbind, isBound: interfaces.IsBound, rebind: interfaces.Rebind): void;
|
|
76
|
+
/** {@link HydraniumGlspCommandStack}, so the diagram is dirty exactly while a document it has open is. */
|
|
77
|
+
protected bindCommandStack(): BindingTarget<CommandStack>;
|
|
78
|
+
/**
|
|
79
|
+
* Adds {@link HydraniumGlspRequestSaveModelActionHandler}, the save the
|
|
80
|
+
* Theia client sends, beside GLSP's own save handler.
|
|
81
|
+
*/
|
|
82
|
+
protected configureActionHandlers(binding: InstanceMultiBinding<ActionHandlerConstructor>): void;
|
|
74
83
|
}
|
|
75
84
|
//# sourceMappingURL=abstract-hydranium-glsp-diagram-module.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-hydranium-glsp-diagram-module.d.ts","sourceRoot":"","sources":["../../src/launcher/abstract-hydranium-glsp-diagram-module.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,
|
|
1
|
+
{"version":3,"file":"abstract-hydranium-glsp-diagram-module.d.ts","sourceRoot":"","sources":["../../src/launcher/abstract-hydranium-glsp-diagram-module.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,aAAa,EACb,KAAK,oBAAoB,EAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAM3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAI3F;AA0BD;;;;;;;;;;;;;;GAcG;AACH,8BACsB,kCAAmC,SAAQ,aAAa;IAC3E;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,gBAAgB;cAEnC,SAAS,CACzB,IAAI,EAAE,UAAU,CAAC,IAAI,EACrB,MAAM,EAAE,UAAU,CAAC,MAAM,EACzB,OAAO,EAAE,UAAU,CAAC,OAAO,EAC3B,MAAM,EAAE,UAAU,CAAC,MAAM,GACzB,IAAI;IAKP,0GAA0G;cACvF,gBAAgB,IAAI,aAAa,CAAC,YAAY,CAAC;IAIlE;;;OAGG;cACgB,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,CAAC,wBAAwB,CAAC,GAAG,IAAI;CAI3G"}
|
|
@@ -16,6 +16,8 @@ import { DiagramModule } from '@eclipse-glsp/server';
|
|
|
16
16
|
import { injectable } from 'inversify';
|
|
17
17
|
import { typedMetadata } from '@hydranium/core';
|
|
18
18
|
import { HydraniumTypes } from '../state/hydranium-shared-core-services.js';
|
|
19
|
+
import { HydraniumGlspRequestSaveModelActionHandler } from '../storage/hydranium-glsp-request-save-model-action-handler.js';
|
|
20
|
+
import { HydraniumGlspCommandStack } from '../command/hydranium-glsp-command-stack.js';
|
|
19
21
|
/**
|
|
20
22
|
* Bind {@link HydraniumTypes}.DiagramLanguage on a GLSP **session** container
|
|
21
23
|
* to the services of `metadata`'s grammar.
|
|
@@ -23,8 +25,10 @@ import { HydraniumTypes } from '../state/hydranium-shared-core-services.js';
|
|
|
23
25
|
* Exported separately from {@link AbstractHydraniumGlspDiagramModule} for adopters
|
|
24
26
|
* whose diagram module already extends an intermediate base of their own and
|
|
25
27
|
* cannot take the framework base class; call it from `configure` after
|
|
26
|
-
* `super.configure(...)
|
|
27
|
-
*
|
|
28
|
+
* `super.configure(...)`, add {@link HydraniumGlspRequestSaveModelActionHandler}
|
|
29
|
+
* in `configureActionHandlers`, and return {@link HydraniumGlspCommandStack} from
|
|
30
|
+
* `bindCommandStack`, all of which the base also does. The base class is the
|
|
31
|
+
* preferred entry point because it makes the declaration non-optional.
|
|
28
32
|
*
|
|
29
33
|
* **Why the session tier.** GLSP builds its app container once per process,
|
|
30
34
|
* before any document exists, so a per-language service bound there can only
|
|
@@ -92,6 +96,18 @@ let AbstractHydraniumGlspDiagramModule = class AbstractHydraniumGlspDiagramModul
|
|
|
92
96
|
super.configure(bind, unbind, isBound, rebind);
|
|
93
97
|
bindDiagramLanguage(bind, this.declareLanguage());
|
|
94
98
|
}
|
|
99
|
+
/** {@link HydraniumGlspCommandStack}, so the diagram is dirty exactly while a document it has open is. */
|
|
100
|
+
bindCommandStack() {
|
|
101
|
+
return HydraniumGlspCommandStack;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Adds {@link HydraniumGlspRequestSaveModelActionHandler}, the save the
|
|
105
|
+
* Theia client sends, beside GLSP's own save handler.
|
|
106
|
+
*/
|
|
107
|
+
configureActionHandlers(binding) {
|
|
108
|
+
super.configureActionHandlers(binding);
|
|
109
|
+
binding.add(HydraniumGlspRequestSaveModelActionHandler);
|
|
110
|
+
}
|
|
95
111
|
};
|
|
96
112
|
AbstractHydraniumGlspDiagramModule = __decorate([
|
|
97
113
|
injectable()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-hydranium-glsp-diagram-module.js","sourceRoot":"","sources":["../../src/launcher/abstract-hydranium-glsp-diagram-module.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;;;;;;;AAElF,OAAO,
|
|
1
|
+
{"version":3,"file":"abstract-hydranium-glsp-diagram-module.js","sourceRoot":"","sources":["../../src/launcher/abstract-hydranium-glsp-diagram-module.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;;;;;;;AAElF,OAAO,EAIJ,aAAa,EAEf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAmB,MAAM,WAAW,CAAC;AAExD,OAAO,EAA0D,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACxG,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAE,0CAA0C,EAAE,MAAM,gEAAgE,CAAC;AAC5H,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAEvF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAqB,EAAE,QAA0B;IAClF,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;SAChC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;SAC9E,gBAAgB,EAAE,CAAC;AAC1B,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,sBAAsB,CAAC,SAA+B,EAAE,QAA0B;IACxF,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAuB,cAAc,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC;IACxG,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAyB,QAAQ,CAAC,CAAC,CAAC;IACvF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACb,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACxF,MAAM,IAAI,KAAK,CACZ,qCAAqC,QAAQ,CAAC,UAAU,qDAAqD;YAC1G,yBAAyB,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI;YACrF,0EAA0E,CAC/E,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AAEI,IAAe,kCAAkC,GAAjD,MAAe,kCAAmC,SAAQ,aAAa;IAgBxD,SAAS,CACzB,IAAqB,EACrB,MAAyB,EACzB,OAA2B,EAC3B,MAAyB;QAEzB,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC/C,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,0GAA0G;IACvF,gBAAgB;QAChC,OAAO,yBAAyB,CAAC;IACpC,CAAC;IAED;;;OAGG;IACgB,uBAAuB,CAAC,OAAuD;QAC/F,KAAK,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAC3D,CAAC;CACH,CAAA;AAvCqB,kCAAkC;IADvD,UAAU,EAAE;GACS,kCAAkC,CAuCvD"}
|
|
@@ -47,9 +47,12 @@ export declare class HydraniumGlspServer extends DefaultGLSPServer {
|
|
|
47
47
|
/**
|
|
48
48
|
* Lifted verbatim from `@eclipse-glsp/server` 2.7.0's
|
|
49
49
|
* {@link DefaultGLSPServer.handleClientRequest}, with the detail computation
|
|
50
|
-
* delegated to {@link requestFailureDetail}
|
|
51
|
-
*
|
|
52
|
-
*
|
|
50
|
+
* delegated to {@link requestFailureDetail}, and one addition: a failed
|
|
51
|
+
* {@link RequestSaveModelAction} also raises the error notification a failed
|
|
52
|
+
* `SaveModelAction` raises. A rejection reaches only the client's log, and a
|
|
53
|
+
* Theia host only logs a rejected save, so without it a save that failed
|
|
54
|
+
* would tell the user nothing. Nothing else here — the timeout branch, the
|
|
55
|
+
* response dispatch, the nested send-failure handling — relates to either.
|
|
53
56
|
*
|
|
54
57
|
* **This body does not track upstream.** A release that changes request
|
|
55
58
|
* handling would silently not apply, on the path every request takes. There
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hydranium-glsp-server.d.ts","sourceRoot":"","sources":["../../src/launcher/hydranium-glsp-server.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,aAAa,EAClB,iBAAiB,EAGjB,KAAK,aAAa,EAClB,KAAK,cAAc,EACrB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"hydranium-glsp-server.d.ts","sourceRoot":"","sources":["../../src/launcher/hydranium-glsp-server.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,aAAa,EAClB,iBAAiB,EAGjB,KAAK,aAAa,EAClB,KAAK,cAAc,EACrB,MAAM,sBAAsB,CAAC;AAI9B;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBACa,mBAAoB,SAAQ,iBAAiB;IACvD;;;;;;;;OAQG;IACH,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;IAOlE;;;;;;;;;;;;;;;;OAgBG;cACsB,mBAAmB,CACzC,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,aAAa,CAAC,cAAc,CAAC,EACrC,QAAQ,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC;CA4BlB"}
|
|
@@ -13,6 +13,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
13
13
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
14
14
|
};
|
|
15
15
|
import { DefaultGLSPServer, GLSPServerError, RejectAction } from '@eclipse-glsp/server';
|
|
16
|
+
import { RequestSaveModelAction } from '@hydranium/protocol';
|
|
16
17
|
import { injectable } from 'inversify';
|
|
17
18
|
/**
|
|
18
19
|
* The GLSP server the framework binds in place of upstream's
|
|
@@ -59,9 +60,12 @@ let HydraniumGlspServer = class HydraniumGlspServer extends DefaultGLSPServer {
|
|
|
59
60
|
/**
|
|
60
61
|
* Lifted verbatim from `@eclipse-glsp/server` 2.7.0's
|
|
61
62
|
* {@link DefaultGLSPServer.handleClientRequest}, with the detail computation
|
|
62
|
-
* delegated to {@link requestFailureDetail}
|
|
63
|
-
*
|
|
64
|
-
*
|
|
63
|
+
* delegated to {@link requestFailureDetail}, and one addition: a failed
|
|
64
|
+
* {@link RequestSaveModelAction} also raises the error notification a failed
|
|
65
|
+
* `SaveModelAction` raises. A rejection reaches only the client's log, and a
|
|
66
|
+
* Theia host only logs a rejected save, so without it a save that failed
|
|
67
|
+
* would tell the user nothing. Nothing else here — the timeout branch, the
|
|
68
|
+
* response dispatch, the nested send-failure handling — relates to either.
|
|
65
69
|
*
|
|
66
70
|
* **This body does not track upstream.** A release that changes request
|
|
67
71
|
* handling would silently not apply, on the path every request takes. There
|
|
@@ -88,6 +92,11 @@ let HydraniumGlspServer = class HydraniumGlspServer extends DefaultGLSPServer {
|
|
|
88
92
|
detail
|
|
89
93
|
});
|
|
90
94
|
this.sendResponseToClient(clientId, reject);
|
|
95
|
+
// Inside the guard: `process` does not await this method, so a
|
|
96
|
+
// closed connection throwing here would be an unhandled rejection.
|
|
97
|
+
if (action.kind === RequestSaveModelAction.KIND) {
|
|
98
|
+
this.handleProcessError({ clientId, action }, error);
|
|
99
|
+
}
|
|
91
100
|
}
|
|
92
101
|
catch (sendError) {
|
|
93
102
|
this.logger.error(`Failed to send rejection for request '${action.requestId}':`, sendError);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hydranium-glsp-server.js","sourceRoot":"","sources":["../../src/launcher/hydranium-glsp-server.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;;;;;;;AAElF,OAAO,EAEJ,iBAAiB,EACjB,eAAe,EACf,YAAY,EAGd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEI,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,iBAAiB;IACvD;;;;;;;;OAQG;IACO,oBAAoB,CAAC,KAAc;QAC1C,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClG,CAAC;QACD,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"hydranium-glsp-server.js","sourceRoot":"","sources":["../../src/launcher/hydranium-glsp-server.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;;;;;;;AAElF,OAAO,EAEJ,iBAAiB,EACjB,eAAe,EACf,YAAY,EAGd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEI,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,iBAAiB;IACvD;;;;;;;;OAQG;IACO,oBAAoB,CAAC,KAAc;QAC1C,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClG,CAAC;QACD,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACgB,KAAK,CAAC,mBAAmB,CACzC,aAA4B,EAC5B,MAAqC,EACrC,QAAgB;QAEhB,IAAI,CAAC;YACF,MAAM,QAAQ,GACX,MAAM,CAAC,OAAO,KAAK,SAAS;gBACzB,CAAC,CAAC,MAAM,aAAa,CAAC,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC;gBACjF,CAAC,CAAC,MAAM,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7D,IAAI,QAAQ,EAAE,CAAC;gBACZ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACjD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,SAAS,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9F,IAAI,CAAC;gBACF,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,6BAA6B,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,SAAS,GAAG,EAAE;oBACnG,UAAU,EAAE,MAAM,CAAC,SAAS;oBAC5B,MAAM;iBACR,CAAC,CAAC;gBACH,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC5C,+DAA+D;gBAC/D,mEAAmE;gBACnE,IAAI,MAAM,CAAC,IAAI,KAAK,sBAAsB,CAAC,IAAI,EAAE,CAAC;oBAC/C,IAAI,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;gBACxD,CAAC;YACJ,CAAC;YAAC,OAAO,SAAkB,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,MAAM,CAAC,SAAS,IAAI,EAAE,SAAS,CAAC,CAAC;YAC/F,CAAC;QACJ,CAAC;IACJ,CAAC;CACH,CAAA;AAlEY,mBAAmB;IAD/B,UAAU,EAAE;GACA,mBAAmB,CAkE/B"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
********************************************************************************/
|
|
9
9
|
import { type Logger as GlspLogger, type ServerModule } from '@eclipse-glsp/server/node.js';
|
|
10
10
|
import { type ContainerModule } from 'inversify';
|
|
11
|
-
import type
|
|
11
|
+
import { type Logger } from '@hydranium/protocol';
|
|
12
12
|
import type * as net from 'node:net';
|
|
13
13
|
import type { IntegratedServer } from '@hydranium/core';
|
|
14
14
|
import type { LspConnectionLike } from '@hydranium/core/node';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-glsp-server.d.ts","sourceRoot":"","sources":["../../src/node/start-glsp-server.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,MAAM,IAAI,UAAU,EACzB,KAAK,YAAY,EAKnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"start-glsp-server.d.ts","sourceRoot":"","sources":["../../src/node/start-glsp-server.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,MAAM,IAAI,UAAU,EACzB,KAAK,YAAY,EAKnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAY,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,UAAU,CAAC;IACvD;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACrD;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAC3C;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;OAQG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC;CAC7D;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,iBAAiB,CA+E7E"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
********************************************************************************/
|
|
9
9
|
import { SocketServerLauncher, createAppModule, defaultSocketLaunchOptions } from '@eclipse-glsp/server/node.js';
|
|
10
10
|
import { Container } from 'inversify';
|
|
11
|
-
import { Deferred } from '@hydranium/
|
|
11
|
+
import { Deferred } from '@hydranium/protocol';
|
|
12
12
|
import { createGlspFrameworkOverrides } from '../launcher/glsp-framework-overrides.js';
|
|
13
13
|
import { createGlspServerOverrides } from '../launcher/glsp-server-overrides.js';
|
|
14
14
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-glsp-server.js","sourceRoot":"","sources":["../../src/node/start-glsp-server.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAIJ,oBAAoB,EACpB,eAAe,EACf,0BAA0B,EAC5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,SAAS,EAAwB,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"start-glsp-server.js","sourceRoot":"","sources":["../../src/node/start-glsp-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-hydranium-glsp-state.d.ts","sourceRoot":"","sources":["../../src/state/abstract-hydranium-glsp-state.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,iBAAiB,EAAE,KAAK,YAAY,EAAkB,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,KAAK,OAAO,EAAE,aAAa,EAAO,MAAM,oBAAoB,CAAC;AACtE,OAAO,EACJ,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EAC3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACJ,KAAK,OAAO,EACZ,KAAK,eAAe,EACpB,KAAK,gBAAgB,
|
|
1
|
+
{"version":3,"file":"abstract-hydranium-glsp-state.d.ts","sourceRoot":"","sources":["../../src/state/abstract-hydranium-glsp-state.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,iBAAiB,EAAE,KAAK,YAAY,EAAkB,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,KAAK,OAAO,EAAE,aAAa,EAAO,MAAM,oBAAoB,CAAC;AACtE,OAAO,EACJ,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EAC3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACJ,KAAK,OAAO,EACZ,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,MAAM,EACX,KAAK,MAAM,EAIb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,8BACsB,0BAA0B,CAAC,KAAK,SAAS,OAAO,EAAE,YAAY,GAAG,MAAM,CAAE,SAAQ,iBAAiB;IAC1E,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAG,oBAAoB,CAAC;IAEpG;;;;;;;;OAQG;IACsC,QAAQ,CAAC,gBAAgB,EAAG,gBAAgB,CAAC;IAEtF;;;;;OAKG;IAC4B,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAG,MAAM,CAAC;IAEtE,oFAAoF;IACpF,SAAiB,KAAK,EAAE,kBAAkB,CAAC;IAE3C;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAEtC;;;;OAIG;IACH,SAAS,CAAC,mBAAmB,IAAI,aAAa,CAAC,OAAO,CAAC;IAOvD,SAAS,CAAC,UAAU,EAAG,MAAM,CAAC;IAC9B,SAAS,CAAC,WAAW,EAAG,KAAK,CAAC;IAC9B,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAwB;IAC3D,sGAAsG;IACtG,SAAS,CAAC,QAAQ,CAAC,kBAAkB,+BAAsC;IAE3E,6FAA6F;IAC7F,SAAS,CAAC,QAAQ,CAAC,2BAA2B,gBAAuB;IAErE,6BAA6B;IAC7B,MAAM,CAAC,QAAQ,CAAC,wBAAwB,SAAU;IAElD,kGAAkG;IAClG,SAAS,CAAC,cAAc,EAAE,MAAM,CAAuD;IAEvF;;;;;;;;OAQG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI;IAiB7C;;;;OAIG;IACH,IAAa,SAAS,IAAI,MAAM,CAE/B;IAED,IAAI,UAAU,IAAI,KAAK,CAEtB;IAED;;;;;;;;;;;;;;;;;OAiBG;IACiD,QAAQ,CAAC,eAAe,CAAC,EAAE,sBAAsB,CAAC;IAEtG;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,GAAG,sBAAsB,GAAG,SAAS;IAI3F;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS;IAI7E,wFAAwF;IACxF,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,GAAG,sBAAsB,GAAG,SAAS;IAIxF,qGAAqG;IACrG,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,GAAG,0BAA0B,GAAG,SAAS;IAIhG;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAWlD,yFAAyF;IACzF,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,+GAA+G;IAC/G,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,OAAO,IAAI,eAAe,CAE7B;IAED;;;;;;;;;;;OAWG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;IAMD;;;;;;;;;;;;;;;;;;OAkBG;IACH,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAWzC;;;OAGG;IACH,yBAAyB,IAAI,IAAI;IAQjC;;;;;;;;;;;;;;;;;;OAkBG;IACH,IAAI,sBAAsB,IAAI,KAAK,CAAC,IAAI,CAAC,CAExC;IAED,iEAAiE;IACjE,IAAI,aAAa,IAAI,SAAS,MAAM,EAAE,CAErC;IAED;;;;;;;;OAQG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAO3D;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe;IAkB3D,qFAAqF;IACrF,SAAS,CAAC,wBAAwB,IAAI,IAAI;IAM1C;;;;;;OAMG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAenC;;;;;;;;;;OAUG;cACa,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAW1E;;;;OAIG;IACG,KAAK,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhD;;;;;;OAMG;cACa,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBrE;;;;;;OAMG;cACa,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjD;;;;;;;OAOG;IACH,SAAS,CAAC,sBAAsB,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,GAAG,sBAAsB;IAO/F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACH,QAAQ,CAAC,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC;CACxF"}
|