@hydranium/core 1.0.0-next.334 → 1.0.0-next.338

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.
@@ -1 +1 @@
1
- {"version":3,"file":"document-validator.js","sourceRoot":"","sources":["../../../src/langium/validation/document-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-validator.js","sourceRoot":"","sources":["../../../src/langium/validation/document-validator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
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 { type LangiumSharedServices } from '@hydranium/langium/lsp';
10
+ import { type Connection } from 'vscode-languageserver';
11
+ /**
12
+ * Refuse with `ContentModified` a request whose answer edits documents, when
13
+ * the editor of the request's document is behind the store as it arrives, or
14
+ * when a document the answer edits changed while it was computed, by another
15
+ * client, by a rebuild of a closed document or by its release, or its editor
16
+ * is then behind.
17
+ *
18
+ * The editor applies the edits by position to the text it holds, and sent the
19
+ * request's position in it, so an answer computed on other text rewrites the
20
+ * wrong characters. The check runs on the answer, since the documents a rename
21
+ * or code action edits are only known there, and on the connection, so an
22
+ * adopter's provider for these requests is covered. Edits that arrive by a
23
+ * resolve request, a file operation, `willSaveWaitUntil`, an inlay hint or a
24
+ * command's `workspace/applyEdit` are not.
25
+ *
26
+ * Read-only answers are not refused, since a refusal would blank them. An
27
+ * editor ahead of the store does not exist, as its changes reach the store
28
+ * before any request it sends after them.
29
+ */
30
+ export declare function guardEditRequests(connection: Connection, services: LangiumSharedServices): void;
31
+ //# sourceMappingURL=edit-requests-guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-requests-guard.d.ts","sourceRoot":"","sources":["../../src/lsp/edit-requests-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAGlF,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EACJ,KAAK,UAAU,EAMjB,MAAM,uBAAuB,CAAC;AAS/B;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAgG/F"}
@@ -0,0 +1,125 @@
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 { LSPErrorCodes, ResponseError } from 'vscode-languageserver';
10
+ import { LANGUAGE_CLIENT_ID } from '../documents/client-ids.js';
11
+ import { HydraniumTextDocuments } from '../documents/hydranium-text-documents.js';
12
+ const wrappedConnections = new WeakSet();
13
+ /**
14
+ * Refuse with `ContentModified` a request whose answer edits documents, when
15
+ * the editor of the request's document is behind the store as it arrives, or
16
+ * when a document the answer edits changed while it was computed, by another
17
+ * client, by a rebuild of a closed document or by its release, or its editor
18
+ * is then behind.
19
+ *
20
+ * The editor applies the edits by position to the text it holds, and sent the
21
+ * request's position in it, so an answer computed on other text rewrites the
22
+ * wrong characters. The check runs on the answer, since the documents a rename
23
+ * or code action edits are only known there, and on the connection, so an
24
+ * adopter's provider for these requests is covered. Edits that arrive by a
25
+ * resolve request, a file operation, `willSaveWaitUntil`, an inlay hint or a
26
+ * command's `workspace/applyEdit` are not.
27
+ *
28
+ * Read-only answers are not refused, since a refusal would blank them. An
29
+ * editor ahead of the store does not exist, as its changes reach the store
30
+ * before any request it sends after them.
31
+ */
32
+ export function guardEditRequests(connection, services) {
33
+ const store = services.workspace.TextDocuments;
34
+ if (wrappedConnections.has(connection) || !(store instanceof HydraniumTextDocuments)) {
35
+ return;
36
+ }
37
+ wrappedConnections.add(connection);
38
+ // A Hydranium store implies the Hydranium shared services.
39
+ const keyOf = (uri) => services.workspace.DocumentUriPolicy.canonicalUri(uri);
40
+ const versions = () => new Map(store.all().map(document => [document.uri, document.version]));
41
+ // A closed document records no author per version, so a rebuild of it
42
+ // while an answer is computed is what refuses the answer. A release clears
43
+ // the authors, so a reopen would attribute another client's change to the
44
+ // editor, and refuses it as well.
45
+ const watching = new Set();
46
+ services.workspace.DocumentBuilder.onUpdate((changed, deleted) => {
47
+ if (watching.size === 0) {
48
+ return;
49
+ }
50
+ const keys = [...changed, ...deleted].map(keyOf);
51
+ for (const watched of watching) {
52
+ keys.forEach(key => watched.rebuilt.add(key));
53
+ }
54
+ });
55
+ store.onDidReleaseDocument(event => {
56
+ for (const watched of watching) {
57
+ watched.released.add(event.uri);
58
+ }
59
+ });
60
+ // The editor's own changes are not counted: it discards or re-filters an
61
+ // answer that predates them, and counting them would blank completion
62
+ // while the user types.
63
+ const changedByAnother = (uri, from, to) => {
64
+ if (from === undefined) {
65
+ return true;
66
+ }
67
+ for (let version = from + 1; version <= to; version++) {
68
+ if (store.getAuthor(uri, version) !== LANGUAGE_CLIENT_ID) {
69
+ return true;
70
+ }
71
+ }
72
+ return false;
73
+ };
74
+ const refused = () => new ResponseError(LSPErrorCodes.ContentModified, 'The editor does not hold the text the answer was computed on');
75
+ // The request's position is in the editor's text, which an answer
76
+ // computed on the store's would be applied past.
77
+ const behind = (uri) => store.isLanguageClientBehind(uri, store.version(uri));
78
+ /** Watches the documents an answer may edit while it is computed; dispose it after. */
79
+ const watch = () => {
80
+ const computedOn = versions();
81
+ const watched = { rebuilt: new Set(), released: new Set() };
82
+ watching.add(watched);
83
+ return {
84
+ changed: uris => [...new Set(uris)].some(uri => {
85
+ const document = store.get(uri);
86
+ const key = keyOf(uri);
87
+ const changed = watched.released.has(key) ||
88
+ (document === undefined
89
+ ? watched.rebuilt.has(key)
90
+ : changedByAnother(uri, computedOn.get(document.uri), document.version));
91
+ return changed || behind(uri);
92
+ }),
93
+ dispose: () => watching.delete(watched)
94
+ };
95
+ };
96
+ const guard = (register, edited = () => []) => handler => register(async (params, ...rest) => {
97
+ const uri = params.textDocument.uri;
98
+ if (behind(uri)) {
99
+ return refused();
100
+ }
101
+ const answer = watch();
102
+ try {
103
+ const result = await handler(params, ...rest);
104
+ return result instanceof ResponseError || !answer.changed([uri, ...edited(result)]) ? result : refused();
105
+ }
106
+ finally {
107
+ answer.dispose();
108
+ }
109
+ });
110
+ connection.onCompletion = guard(connection.onCompletion.bind(connection));
111
+ connection.onDocumentFormatting = guard(connection.onDocumentFormatting.bind(connection));
112
+ connection.onDocumentRangeFormatting = guard(connection.onDocumentRangeFormatting.bind(connection));
113
+ connection.onDocumentOnTypeFormatting = guard(connection.onDocumentOnTypeFormatting.bind(connection));
114
+ connection.onRenameRequest = guard(connection.onRenameRequest.bind(connection), editedUris);
115
+ connection.onCodeAction = guard(connection.onCodeAction.bind(connection), actions => (actions ?? []).flatMap(action => ('edit' in action && action.edit ? [...editedUris(action.edit)] : [])));
116
+ }
117
+ function* editedUris(edit) {
118
+ yield* Object.keys(edit?.changes ?? {});
119
+ for (const change of edit?.documentChanges ?? []) {
120
+ if ('textDocument' in change) {
121
+ yield change.textDocument.uri;
122
+ }
123
+ }
124
+ }
125
+ //# sourceMappingURL=edit-requests-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-requests-guard.js","sourceRoot":"","sources":["../../src/lsp/edit-requests-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAIlF,OAAO,EAIJ,aAAa,EACb,aAAa,EAEf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAGlF,MAAM,kBAAkB,GAAG,IAAI,OAAO,EAAU,CAAC;AAIjD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAsB,EAAE,QAA+B;IACtF,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC;IAC/C,IAAI,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY,sBAAsB,CAAC,EAAE,CAAC;QACpF,OAAO;IACV,CAAC;IACD,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACnC,2DAA2D;IAC3D,MAAM,KAAK,GAAG,CAAC,GAAiB,EAAU,EAAE,CACxC,QAAgE,CAAC,SAAS,CAAC,iBAAiB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACnH,MAAM,QAAQ,GAAG,GAAgC,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3H,sEAAsE;IACtE,2EAA2E;IAC3E,0EAA0E;IAC1E,kCAAkC;IAClC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAqE,CAAC;IAC9F,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;QAC9D,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;QACV,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE;QAChC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,yEAAyE;IACzE,sEAAsE;IACtE,wBAAwB;IACxB,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAE,IAAwB,EAAE,EAAU,EAAW,EAAE;QACrF,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACf,CAAC;QACD,KAAK,IAAI,OAAO,GAAG,IAAI,GAAG,CAAC,EAAE,OAAO,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC;YACrD,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,kBAAkB,EAAE,CAAC;gBACxD,OAAO,IAAI,CAAC;YACf,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IAChB,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,GAAwB,EAAE,CACvC,IAAI,aAAa,CAAI,aAAa,CAAC,eAAe,EAAE,8DAA8D,CAAC,CAAC;IACvH,kEAAkE;IAClE,iDAAiD;IACjD,MAAM,MAAM,GAAG,CAAC,GAAW,EAAW,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/F,uFAAuF;IACvF,MAAM,KAAK,GAAG,GAAkE,EAAE;QAC/E,MAAM,UAAU,GAAG,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,GAAG,EAAU,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAU,EAAE,CAAC;QAC5E,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtB,OAAO;YACJ,OAAO,EAAE,IAAI,CAAC,EAAE,CACb,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAChC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;gBACvB,MAAM,OAAO,GACV,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;oBACzB,CAAC,QAAQ,KAAK,SAAS;wBACpB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;wBAC1B,CAAC,CAAC,gBAAgB,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC/E,OAAO,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;YACjC,CAAC,CAAC;YACL,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;SACzC,CAAC;IACL,CAAC,CAAC;IACF,MAAM,KAAK,GACR,CACG,QAA8B,EAC9B,MAAM,GAA8D,GAAG,EAAE,CAAC,EAAE,EACvD,EAAE,CAC1B,OAAO,CAAC,EAAE,CACP,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE;QAChC,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC;QACpC,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACf,OAAO,OAAO,EAAK,CAAC;QACvB,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;YAC9C,OAAO,MAAM,YAAY,aAAa,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAK,CAAC;QAC/G,CAAC;gBAAS,CAAC;YACR,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACJ,CAAC,CAAC,CAAC;IAET,UAAU,CAAC,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1E,UAAU,CAAC,oBAAoB,GAAG,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1F,UAAU,CAAC,yBAAyB,GAAG,KAAK,CAAC,UAAU,CAAC,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpG,UAAU,CAAC,0BAA0B,GAAG,KAAK,CAAC,UAAU,CAAC,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACtG,UAAU,CAAC,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;IAC5F,UAAU,CAAC,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,EAAE,CACjF,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAC1G,CAAC;AACL,CAAC;AAED,QAAQ,CAAC,CAAC,UAAU,CAAC,IAA6C;IAC/D,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IACxC,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,eAAe,IAAI,EAAE,EAAE,CAAC;QAChD,IAAI,cAAc,IAAI,MAAM,EAAE,CAAC;YAC5B,MAAM,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC;QACjC,CAAC;IACJ,CAAC;AACJ,CAAC"}
@@ -10,6 +10,7 @@ export * from './completion/hydranium-completion-provider.js';
10
10
  export * from './lsp-latency.js';
11
11
  export * from './connection-features.js';
12
12
  export * from './diagnostics-connection.js';
13
+ export * from './edit-requests-guard.js';
13
14
  export * from './semantic-token-provider.js';
14
15
  export * from './language-module.js';
15
16
  export * from './shared-module.js';
@@ -20,7 +21,7 @@ export * from './save-text-document.js';
20
21
  * head: framework overrides + the start function live behind one
21
22
  * `@hydranium/core/lsp` subpath, mirroring Langium's own `langium/lsp`
22
23
  * convention. Signature-compatible with Langium's `startLanguageServer`, plus
23
- * a guard that the head's shared module was composed.
24
+ * the composition check and the connection guards listed in its doc.
24
25
  */
25
26
  export * from './start-language-server.js';
26
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lsp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,cAAc,+CAA+C,CAAC;AAC9D,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wCAAwC,CAAC;AACvD,cAAc,yBAAyB,CAAC;AAExC;;;;;;GAMG;AACH,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lsp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,cAAc,+CAA+C,CAAC;AAC9D,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wCAAwC,CAAC;AACvD,cAAc,yBAAyB,CAAC;AAExC;;;;;;GAMG;AACH,cAAc,4BAA4B,CAAC"}
package/lib/lsp/index.js CHANGED
@@ -10,6 +10,7 @@ export * from './completion/hydranium-completion-provider.js';
10
10
  export * from './lsp-latency.js';
11
11
  export * from './connection-features.js';
12
12
  export * from './diagnostics-connection.js';
13
+ export * from './edit-requests-guard.js';
13
14
  export * from './semantic-token-provider.js';
14
15
  export * from './language-module.js';
15
16
  export * from './shared-module.js';
@@ -20,7 +21,7 @@ export * from './save-text-document.js';
20
21
  * head: framework overrides + the start function live behind one
21
22
  * `@hydranium/core/lsp` subpath, mirroring Langium's own `langium/lsp`
22
23
  * convention. Signature-compatible with Langium's `startLanguageServer`, plus
23
- * a guard that the head's shared module was composed.
24
+ * the composition check and the connection guards listed in its doc.
24
25
  */
25
26
  export * from './start-language-server.js';
26
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lsp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,cAAc,+CAA+C,CAAC;AAC9D,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wCAAwC,CAAC;AACvD,cAAc,yBAAyB,CAAC;AAExC;;;;;;GAMG;AACH,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lsp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,cAAc,+CAA+C,CAAC;AAC9D,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wCAAwC,CAAC;AACvD,cAAc,yBAAyB,CAAC;AAExC;;;;;;GAMG;AACH,cAAc,4BAA4B,CAAC"}
@@ -34,14 +34,15 @@ import { type LangiumSharedServices, type ServiceRequirements } from '@hydranium
34
34
  export declare function assertLspHeadComposed(services: LangiumSharedServices): void;
35
35
  /**
36
36
  * The framework's LSP server entry point: {@link assertLspHeadComposed}, then
37
- * {@link guardDiagnosticsConnection} on the tree's connection, then the
38
- * console's wrapping for the log file, then Langium's `startLanguageServer`.
39
- * Signature-compatible with Langium's, so it is a drop-in for adopters
40
- * importing from `@hydranium/core/lsp`. Calling Langium's directly skips the
41
- * composition check, the guard without which a publish racing teardown fails
42
- * the build that validated the document, and the wrapping, which a stdio
43
- * connection discards where a logger was built before it (see
44
- * `installConsoleTee`).
37
+ * {@link guardDiagnosticsConnection} and {@link guardEditRequests} on the
38
+ * tree's connection, then the console's wrapping for the log file, then
39
+ * Langium's `startLanguageServer`. Signature-compatible with Langium's, so it
40
+ * is a drop-in for adopters importing from `@hydranium/core/lsp`. Calling
41
+ * Langium's directly skips the composition check, the guard without which a
42
+ * publish racing teardown fails the build that validated the document, the
43
+ * guard without which an edit lands on text the editor does not hold, and the
44
+ * wrapping, which a stdio connection discards where a logger was built before
45
+ * it (see `installConsoleTee`).
45
46
  */
46
47
  export declare function startLanguageServer(services: LangiumSharedServices, serviceRequirements?: Partial<ServiceRequirements>): void;
47
48
  //# sourceMappingURL=start-language-server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"start-language-server.d.ts","sourceRoot":"","sources":["../../src/lsp/start-language-server.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAEJ,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EAC1B,MAAM,wBAAwB,CAAC;AAKhC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAe3E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,qBAAqB,EAAE,mBAAmB,GAAE,OAAO,CAAC,mBAAmB,CAAM,GAAG,IAAI,CAQjI"}
1
+ {"version":3,"file":"start-language-server.d.ts","sourceRoot":"","sources":["../../src/lsp/start-language-server.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAEJ,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EAC1B,MAAM,wBAAwB,CAAC;AAMhC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAe3E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,qBAAqB,EAAE,mBAAmB,GAAE,OAAO,CAAC,mBAAmB,CAAM,GAAG,IAAI,CASjI"}
@@ -9,6 +9,7 @@
9
9
  import { startLanguageServer as startLangiumLanguageServer } from '@hydranium/langium/lsp';
10
10
  import { HydraniumDocumentUpdateHandler } from './hydranium-document-update-handler.js';
11
11
  import { guardDiagnosticsConnection } from './diagnostics-connection.js';
12
+ import { guardEditRequests } from './edit-requests-guard.js';
12
13
  import { installConsoleTee } from '../langium/diagnostics/console-tee.js';
13
14
  /**
14
15
  * Fail the LSP head's start when its shared module was never composed.
@@ -50,20 +51,22 @@ export function assertLspHeadComposed(services) {
50
51
  }
51
52
  /**
52
53
  * The framework's LSP server entry point: {@link assertLspHeadComposed}, then
53
- * {@link guardDiagnosticsConnection} on the tree's connection, then the
54
- * console's wrapping for the log file, then Langium's `startLanguageServer`.
55
- * Signature-compatible with Langium's, so it is a drop-in for adopters
56
- * importing from `@hydranium/core/lsp`. Calling Langium's directly skips the
57
- * composition check, the guard without which a publish racing teardown fails
58
- * the build that validated the document, and the wrapping, which a stdio
59
- * connection discards where a logger was built before it (see
60
- * `installConsoleTee`).
54
+ * {@link guardDiagnosticsConnection} and {@link guardEditRequests} on the
55
+ * tree's connection, then the console's wrapping for the log file, then
56
+ * Langium's `startLanguageServer`. Signature-compatible with Langium's, so it
57
+ * is a drop-in for adopters importing from `@hydranium/core/lsp`. Calling
58
+ * Langium's directly skips the composition check, the guard without which a
59
+ * publish racing teardown fails the build that validated the document, the
60
+ * guard without which an edit lands on text the editor does not hold, and the
61
+ * wrapping, which a stdio connection discards where a logger was built before
62
+ * it (see `installConsoleTee`).
61
63
  */
62
64
  export function startLanguageServer(services, serviceRequirements = {}) {
63
65
  assertLspHeadComposed(services);
64
66
  const connection = services.lsp.Connection;
65
67
  if (connection) {
66
68
  guardDiagnosticsConnection(connection);
69
+ guardEditRequests(connection, services);
67
70
  }
68
71
  installConsoleTee();
69
72
  startLangiumLanguageServer(services, serviceRequirements);
@@ -1 +1 @@
1
- {"version":3,"file":"start-language-server.js","sourceRoot":"","sources":["../../src/lsp/start-language-server.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,mBAAmB,IAAI,0BAA0B,EAGnD,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAA+B;IAClE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC;QAC7B,OAAO;IACV,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC;IACnD,IAAI,CAAC,CAAC,OAAO,YAAY,8BAA8B,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CACZ,oGAAoG;YACjG,IAAI,OAAO,EAAE,WAAW,EAAE,IAAI,IAAI,SAAS,uEAAuE;YAClH,kHAAkH;YAClH,kGAAkG;YAClG,4GAA4G;YAC5G,4CAA4C,CACjD,CAAC;IACL,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAA+B,EAAE,mBAAmB,GAAiC,EAAE;IACxH,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;IAC3C,IAAI,UAAU,EAAE,CAAC;QACd,0BAA0B,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IACD,iBAAiB,EAAE,CAAC;IACpB,0BAA0B,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"start-language-server.js","sourceRoot":"","sources":["../../src/lsp/start-language-server.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,mBAAmB,IAAI,0BAA0B,EAGnD,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAA+B;IAClE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC;QAC7B,OAAO;IACV,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC;IACnD,IAAI,CAAC,CAAC,OAAO,YAAY,8BAA8B,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CACZ,oGAAoG;YACjG,IAAI,OAAO,EAAE,WAAW,EAAE,IAAI,IAAI,SAAS,uEAAuE;YAClH,kHAAkH;YAClH,kGAAkG;YAClG,4GAA4G;YAC5G,4CAA4C,CACjD,CAAC;IACL,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAA+B,EAAE,mBAAmB,GAAiC,EAAE;IACxH,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;IAC3C,IAAI,UAAU,EAAE,CAAC;QACd,0BAA0B,CAAC,UAAU,CAAC,CAAC;QACvC,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IACD,iBAAiB,EAAE,CAAC;IACpB,0BAA0B,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;AAC7D,CAAC"}
@@ -43,7 +43,7 @@ export declare function acceptMessage<S extends string, N extends AstNode, P ext
43
43
  * Recover the identity from a published diagnostic, for a surface that
44
44
  * identifies or renders diagnostics itself.
45
45
  *
46
- * `Diagnostic.message` is `string | MarkupContent` in LSP 3.17+, so the text
46
+ * `Diagnostic.message` is `string | MarkupContent` since LSP 3.18, so the text
47
47
  * comes from upstream's own `Diagnostic.getMessageString` rather than a
48
48
  * hand-rolled narrowing — consuming the library in its style, and one fewer
49
49
  * place restating the union.
@@ -46,7 +46,7 @@ export function acceptMessage(accept, severity, message, info, ...params) {
46
46
  * Recover the identity from a published diagnostic, for a surface that
47
47
  * identifies or renders diagnostics itself.
48
48
  *
49
- * `Diagnostic.message` is `string | MarkupContent` in LSP 3.17+, so the text
49
+ * `Diagnostic.message` is `string | MarkupContent` since LSP 3.18, so the text
50
50
  * comes from upstream's own `Diagnostic.getMessageString` rather than a
51
51
  * hand-rolled narrowing — consuming the library in its style, and one fewer
52
52
  * place restating the union.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hydranium/core",
3
- "version": "1.0.0-next.334",
3
+ "version": "1.0.0-next.338",
4
4
  "description": "Foundational runtime of the hydranium framework: AST coordination layer (services, integrity, AST extension, serialization, multi-client documents) plus the LSP textual head at the /lsp subpath. Consumed by protocol-head packages (@hydranium/data-server, @hydranium/glsp-server).",
5
5
  "keywords": [
6
6
  "ast",
@@ -87,8 +87,8 @@
87
87
  "diff": "^5.2.0"
88
88
  },
89
89
  "devDependencies": {
90
- "@hydranium/langium": "1.0.0-next.334",
91
- "@hydranium/protocol": "1.0.0-next.334",
90
+ "@hydranium/langium": "1.0.0-next.338",
91
+ "@hydranium/protocol": "1.0.0-next.338",
92
92
  "@playwright/test": "^1.55.0",
93
93
  "@types/diff": "^5.2.0",
94
94
  "fake-indexeddb": "^6.2.5",
@@ -98,17 +98,17 @@
98
98
  "vscode-languageserver": "10.0.1",
99
99
  "vscode-languageserver-protocol": "3.18.1",
100
100
  "vscode-languageserver-textdocument": "^1.0.12",
101
- "vscode-languageserver-types": "^3.17.5"
101
+ "vscode-languageserver-types": "3.18.0"
102
102
  },
103
103
  "peerDependencies": {
104
- "@hydranium/langium": "1.0.0-next.334",
105
- "@hydranium/protocol": "1.0.0-next.334",
104
+ "@hydranium/langium": "1.0.0-next.338",
105
+ "@hydranium/protocol": "1.0.0-next.338",
106
106
  "@playwright/test": "^1.40.0",
107
107
  "vscode-jsonrpc": "^9.0.0",
108
108
  "vscode-languageserver": "~10.0.1",
109
109
  "vscode-languageserver-protocol": "~3.18.1",
110
110
  "vscode-languageserver-textdocument": "^1.0.12",
111
- "vscode-languageserver-types": "^3.17.5"
111
+ "vscode-languageserver-types": "^3.18.0"
112
112
  },
113
113
  "peerDependenciesMeta": {
114
114
  "@playwright/test": {
@@ -1597,7 +1597,7 @@ export class HydraniumDocumentBuilder extends DefaultDocumentBuilder {
1597
1597
  const text = this.messageRenderer.renderDiagnostic(diagnostic);
1598
1598
  // Against the message's STRING FORM, not the field. `renderDiagnostic`
1599
1599
  // answers a `string` by contract, while `Diagnostic.message` is
1600
- // `string | MarkupContent` since LSP 3.17 — so comparing the answer
1600
+ // `string | MarkupContent` since LSP 3.18 — so comparing the answer
1601
1601
  // against the field never matches for a markup message, and a pass
1602
1602
  // that replaced on mismatch flattened every un-identified markup
1603
1603
  // diagnostic to its own plain text. That is silent data loss on the