@hydranium/core 1.0.0-next.284 → 1.0.0-next.287

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.
Files changed (45) hide show
  1. package/lib/documents/file-system-task-queue.d.ts +3 -0
  2. package/lib/documents/file-system-task-queue.d.ts.map +1 -1
  3. package/lib/documents/file-system-task-queue.js +3 -0
  4. package/lib/documents/file-system-task-queue.js.map +1 -1
  5. package/lib/documents/hydranium-text-documents.d.ts +5 -1
  6. package/lib/documents/hydranium-text-documents.d.ts.map +1 -1
  7. package/lib/documents/hydranium-text-documents.js +12 -5
  8. package/lib/documents/hydranium-text-documents.js.map +1 -1
  9. package/lib/langium/model-service/model-service.d.ts +35 -12
  10. package/lib/langium/model-service/model-service.d.ts.map +1 -1
  11. package/lib/langium/model-service/model-service.js +63 -25
  12. package/lib/langium/model-service/model-service.js.map +1 -1
  13. package/lib/langium/workspace/document-uri-policy.d.ts +9 -5
  14. package/lib/langium/workspace/document-uri-policy.d.ts.map +1 -1
  15. package/lib/langium/workspace/document-uri-policy.js +15 -8
  16. package/lib/langium/workspace/document-uri-policy.js.map +1 -1
  17. package/lib/langium/workspace/file-system-provider.d.ts +15 -4
  18. package/lib/langium/workspace/file-system-provider.d.ts.map +1 -1
  19. package/lib/langium/workspace/file-system-provider.js +13 -4
  20. package/lib/langium/workspace/file-system-provider.js.map +1 -1
  21. package/lib/lsp/hydranium-document-update-handler.d.ts +41 -21
  22. package/lib/lsp/hydranium-document-update-handler.d.ts.map +1 -1
  23. package/lib/lsp/hydranium-document-update-handler.js +86 -33
  24. package/lib/lsp/hydranium-document-update-handler.js.map +1 -1
  25. package/lib/node/node-file-system-provider.d.ts +7 -0
  26. package/lib/node/node-file-system-provider.d.ts.map +1 -1
  27. package/lib/node/node-file-system-provider.js +36 -1
  28. package/lib/node/node-file-system-provider.js.map +1 -1
  29. package/lib/testing/node/applied-edit-capture.d.ts +1 -1
  30. package/lib/testing/node/applied-edit-capture.d.ts.map +1 -1
  31. package/lib/testing/node/applied-edit-capture.js +3 -1
  32. package/lib/testing/node/applied-edit-capture.js.map +1 -1
  33. package/lib/testing/node/lsp-server-connection.d.ts +2 -1
  34. package/lib/testing/node/lsp-server-connection.d.ts.map +1 -1
  35. package/lib/testing/node/lsp-server-connection.js.map +1 -1
  36. package/package.json +5 -5
  37. package/src/documents/file-system-task-queue.ts +6 -0
  38. package/src/documents/hydranium-text-documents.ts +13 -5
  39. package/src/langium/model-service/model-service.ts +79 -26
  40. package/src/langium/workspace/document-uri-policy.ts +17 -8
  41. package/src/langium/workspace/file-system-provider.ts +23 -4
  42. package/src/lsp/hydranium-document-update-handler.ts +101 -43
  43. package/src/node/node-file-system-provider.ts +36 -1
  44. package/src/testing/node/applied-edit-capture.ts +5 -3
  45. package/src/testing/node/lsp-server-connection.ts +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"hydranium-document-update-handler.js","sourceRoot":"","sources":["../../src/lsp/hydranium-document-update-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hydranium-document-update-handler.js","sourceRoot":"","sources":["../../src/lsp/hydranium-document-update-handler.ts"],"names":[],"mappings":"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"}
@@ -145,6 +145,13 @@ export declare class DefaultFileSystemProvider extends NodeFileSystemProvider im
145
145
  * resolving to its old target with no invalidation) for no measured gain.
146
146
  */
147
147
  realpath(uri: URI): URI | undefined;
148
+ /**
149
+ * The path `uri` names with every link followed, a link to nothing
150
+ * included, so a file reached through a link keys the same before it
151
+ * exists and once it does. What is missing is joined as spelled under the
152
+ * real path of what exists. A non-`file:` URI passes through unchanged.
153
+ */
154
+ resolveLinks(uri: URI): URI;
148
155
  }
149
156
  /**
150
157
  * Module fragment that binds the writable Node {@link DefaultFileSystemProvider},
@@ -1 +1 @@
1
- {"version":3,"file":"node-file-system-provider.d.ts","sourceRoot":"","sources":["../../src/node/node-file-system-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,cAAc,EAAE,GAAG,EAAY,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAIjE,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAE/F,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAEnF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAuB,KAAK,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAGtG;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,yBAA0B,SAAQ,sBAAuB,YAAW,0BAA0B;IAKrG,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,2BAA2B;IAJ3D,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAElC,YACsB,QAAQ,EAAE,2BAA2B,EACxD,OAAO,GAAE,cAAmB,EAK9B;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAE1C;IAKQ,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAE3C;IAEQ,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAKtC;IAEQ,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAEjD;IAEQ,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,CAK5C;IAEQ,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,CAE/C;IAEQ,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc,CAK1C;IAIc,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAEhD;IAEQ,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAErC;IAED;;;;OAIG;IACG,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAmB9C;IAKQ,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAE1D;IAEQ,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc,EAAE,CAErD;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCxD;IAED;;;;OAIG;IACG,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAaxC;IAEK,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAiBnD;IAED;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,SAAS,CASlC;CACH;AA4CD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc;IACxB,kBAAkB;CACpB,CAAC"}
1
+ {"version":3,"file":"node-file-system-provider.d.ts","sourceRoot":"","sources":["../../src/node/node-file-system-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,cAAc,EAAE,GAAG,EAAY,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAKjE,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAE/F,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAEnF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAuB,KAAK,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAGtG;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,yBAA0B,SAAQ,sBAAuB,YAAW,0BAA0B;IAKrG,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,2BAA2B;IAJ3D,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAElC,YACsB,QAAQ,EAAE,2BAA2B,EACxD,OAAO,GAAE,cAAmB,EAK9B;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAE1C;IAKQ,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAE3C;IAEQ,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAKtC;IAEQ,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAEjD;IAEQ,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,CAK5C;IAEQ,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,CAE/C;IAEQ,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc,CAK1C;IAIc,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAEhD;IAEQ,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAErC;IAED;;;;OAIG;IACG,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAmB9C;IAKQ,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAE1D;IAEQ,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc,EAAE,CAErD;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCxD;IAED;;;;OAIG;IACG,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAaxC;IAEK,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAiBnD;IAED;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,SAAS,CASlC;IAED;;;;;OAKG;IACH,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAE1B;CACH;AAoED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc;IACxB,kBAAkB;CACpB,CAAC"}
@@ -9,8 +9,9 @@
9
9
  import { URI, UriUtils } from '@hydranium/langium';
10
10
  import { NodeFileSystemProvider } from '@hydranium/langium/node';
11
11
  import { randomUUID } from 'node:crypto';
12
- import { realpathSync } from 'node:fs';
12
+ import { readlinkSync, realpathSync } from 'node:fs';
13
13
  import * as fsp from 'node:fs/promises';
14
+ import { basename, dirname, join, resolve } from 'node:path';
14
15
  import { isFileNotFound } from '../langium/workspace/file-not-found.js';
15
16
  import { RENAME_GAP_BUDGET_MS, renameOverOpenReaders } from './rename-over-open-readers.js';
16
17
  import { serverSharedFactory } from '../langium/shared-services.js';
@@ -295,6 +296,40 @@ export class DefaultFileSystemProvider extends NodeFileSystemProvider {
295
296
  return undefined;
296
297
  }
297
298
  }
299
+ /**
300
+ * The path `uri` names with every link followed, a link to nothing
301
+ * included, so a file reached through a link keys the same before it
302
+ * exists and once it does. What is missing is joined as spelled under the
303
+ * real path of what exists. A non-`file:` URI passes through unchanged.
304
+ */
305
+ resolveLinks(uri) {
306
+ return uri.scheme === 'file' ? URI.file(followLinks(uri.fsPath)) : uri;
307
+ }
308
+ }
309
+ /** `path` with its links followed; see `DefaultFileSystemProvider.resolveLinks`. */
310
+ function followLinks(path, hops = 0) {
311
+ try {
312
+ return realpathSync(path);
313
+ }
314
+ catch {
315
+ // Absent somewhere along the way.
316
+ }
317
+ // A link to nothing is followed to what it names; a chain is bounded as
318
+ // the kernel bounds one.
319
+ if (hops < 40) {
320
+ let target;
321
+ try {
322
+ target = readlinkSync(path);
323
+ }
324
+ catch {
325
+ // Not a link, or not there.
326
+ }
327
+ if (target !== undefined) {
328
+ return followLinks(resolve(dirname(path), target), hops + 1);
329
+ }
330
+ }
331
+ const parent = dirname(path);
332
+ return parent === path ? path : join(followLinks(parent, hops), basename(path));
298
333
  }
299
334
  /** The "no content here" rejection, for a URI naming no readable file. */
300
335
  function noSuchFile(uri) {
@@ -1 +1 @@
1
- {"version":3,"file":"node-file-system-provider.js","sourceRoot":"","sources":["../../src/node/node-file-system-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-file-system-provider.js","sourceRoot":"","sources":["../../src/node/node-file-system-provider.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ import type { AppliedEdit, NextAppliedEditOptions } from './lsp-server-connectio
15
15
  export interface AppliedEditCapture {
16
16
  readonly appliedEdits: ReadonlyArray<AppliedEdit>;
17
17
  nextAppliedEdit(uri: string, timeoutMsOrOptions?: number | NextAppliedEditOptions): Promise<AppliedEdit>;
18
- setApplyEditHandler(handler: (params: ApplyWorkspaceEditParams) => ApplyWorkspaceEditResult): void;
18
+ setApplyEditHandler(handler: (params: ApplyWorkspaceEditParams) => ApplyWorkspaceEditResult | Promise<ApplyWorkspaceEditResult>): void;
19
19
  dispose(): void;
20
20
  }
21
21
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"applied-edit-capture.d.ts","sourceRoot":"","sources":["../../../src/testing/node/applied-edit-capture.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAEJ,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EAEzB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEtF;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAChC,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAClD,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACzG,mBAAmB,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,wBAAwB,KAAK,wBAAwB,GAAG,IAAI,CAAC;IACnG,OAAO,IAAI,IAAI,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,GAAG,kBAAkB,CAkE5G"}
1
+ {"version":3,"file":"applied-edit-capture.d.ts","sourceRoot":"","sources":["../../../src/testing/node/applied-edit-capture.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAEJ,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EAEzB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEtF;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAChC,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAClD,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACzG,mBAAmB,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,wBAAwB,KAAK,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC;IACvI,OAAO,IAAI,IAAI,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,GAAG,kBAAkB,CAoE5G"}
@@ -17,7 +17,9 @@ import { ApplyWorkspaceEditRequest } from 'vscode-languageserver-protocol/node';
17
17
  export function captureAppliedEdits(client, defaultTimeoutMs) {
18
18
  const appliedEdits = [];
19
19
  const waiters = [];
20
- let handler = () => ({ applied: true });
20
+ let handler = () => ({
21
+ applied: true
22
+ });
21
23
  const subscription = client.onRequest(ApplyWorkspaceEditRequest.type, (params) => {
22
24
  const edit = { params, uris: editedUris(params.edit), text: insertedText(params.edit) };
23
25
  // Record before the handler runs, so a handler that rejects the edit or
@@ -1 +1 @@
1
- {"version":3,"file":"applied-edit-capture.js","sourceRoot":"","sources":["../../../src/testing/node/applied-edit-capture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"applied-edit-capture.js","sourceRoot":"","sources":["../../../src/testing/node/applied-edit-capture.ts"],"names":[],"mappings":"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"}
@@ -218,8 +218,9 @@ export interface LspServerConnection extends Harness {
218
218
  *
219
219
  * Throwing from the handler surfaces to the server as an RPC failure, which
220
220
  * is the other branch (`applyEditToLanguageClient` invalidates and rethrows).
221
+ * A handler returning a promise holds the answer until it settles.
221
222
  */
222
- setApplyEditHandler(handler: (params: ApplyWorkspaceEditParams) => ApplyWorkspaceEditResult): void;
223
+ setApplyEditHandler(handler: (params: ApplyWorkspaceEditParams) => ApplyWorkspaceEditResult | Promise<ApplyWorkspaceEditResult>): void;
223
224
  /**
224
225
  * Release every resource: the diagnostics and applyEdit subscriptions, the
225
226
  * client + server connections, the underlying stream pair. Idempotent. Does
@@ -1 +1 @@
1
- {"version":3,"file":"lsp-server-connection.d.ts","sourceRoot":"","sources":["../../../src/testing/node/lsp-server-connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lsp-server-connection.d.ts","sourceRoot":"","sources":["../../../src/testing/node/lsp-server-connection.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"lsp-server-connection.js","sourceRoot":"","sources":["../../../src/testing/node/lsp-server-connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lsp-server-connection.js","sourceRoot":"","sources":["../../../src/testing/node/lsp-server-connection.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hydranium/core",
3
- "version": "1.0.0-next.284",
3
+ "version": "1.0.0-next.287",
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",
@@ -83,8 +83,8 @@
83
83
  "diff": "^5.2.0"
84
84
  },
85
85
  "devDependencies": {
86
- "@hydranium/langium": "1.0.0-next.284",
87
- "@hydranium/protocol": "1.0.0-next.284",
86
+ "@hydranium/langium": "1.0.0-next.287",
87
+ "@hydranium/protocol": "1.0.0-next.287",
88
88
  "@playwright/test": "^1.40.0",
89
89
  "@types/diff": "^5.2.0",
90
90
  "rimraf": "^5.0.0",
@@ -96,8 +96,8 @@
96
96
  "vscode-languageserver-types": "^3.17.5"
97
97
  },
98
98
  "peerDependencies": {
99
- "@hydranium/langium": "1.0.0-next.284",
100
- "@hydranium/protocol": "1.0.0-next.284",
99
+ "@hydranium/langium": "1.0.0-next.287",
100
+ "@hydranium/protocol": "1.0.0-next.287",
101
101
  "@playwright/test": "^1.40.0",
102
102
  "vscode-jsonrpc": "^9.0.0",
103
103
  "vscode-languageserver": "~10.0.1",
@@ -33,6 +33,8 @@ export interface FileSystemTaskQueue {
33
33
  * which wedges the file's queue for good.
34
34
  */
35
35
  enqueue<T>(uri: string, task: () => Promise<T>): Promise<T>;
36
+ /** Whether no task of `uri` is running or waiting. */
37
+ isIdle(uri: string): boolean;
36
38
  }
37
39
 
38
40
  export class DefaultFileSystemTaskQueue implements FileSystemTaskQueue {
@@ -65,4 +67,8 @@ export class DefaultFileSystemTaskQueue implements FileSystemTaskQueue {
65
67
  });
66
68
  return result;
67
69
  }
70
+
71
+ isIdle(uri: string): boolean {
72
+ return !this.queues.has(this.uriPolicy.canonicalUri(uri));
73
+ }
68
74
  }
@@ -583,6 +583,14 @@ export class HydraniumTextDocuments<T extends TextDocument = TextDocument> exten
583
583
  }
584
584
  }
585
585
 
586
+ /** Release now a document waiting out the grace, as its last close would have; one that is not waiting is left alone. */
587
+ protected releaseIfDeferred(uri: CanonicalUri): void {
588
+ if (this.documentReleaseScheduler.isDeferred(uri)) {
589
+ this.documentReleaseScheduler.cancel(uri);
590
+ this.releaseDocument(uri);
591
+ }
592
+ }
593
+
586
594
  /**
587
595
  * Drop the document no client has open any more, announce it on
588
596
  * {@link onDidReleaseDocument}, then hand it to the
@@ -1310,7 +1318,9 @@ export class HydraniumTextDocuments<T extends TextDocument = TextDocument> exten
1310
1318
 
1311
1319
  /**
1312
1320
  * The file behind `uri` was deleted: close every open of it except the
1313
- * language client's.
1321
+ * language client's, and release now a document waiting out the grace,
1322
+ * whose lost client's open would otherwise bring its text back with no
1323
+ * file behind it.
1314
1324
  *
1315
1325
  * The editor's open is left alone because the editor owns it: it keeps the
1316
1326
  * buffer of a deleted file and goes on sending changes for it, and a store
@@ -1324,6 +1334,7 @@ export class HydraniumTextDocuments<T extends TextDocument = TextDocument> exten
1324
1334
  this.notifyDidCloseTextDocument({ textDocument: { uri: key } }, clientId);
1325
1335
  }
1326
1336
  }
1337
+ this.releaseIfDeferred(key);
1327
1338
  }
1328
1339
 
1329
1340
  /**
@@ -1343,10 +1354,7 @@ export class HydraniumTextDocuments<T extends TextDocument = TextDocument> exten
1343
1354
  }
1344
1355
  // A document waiting out the grace has no client left to close, and is
1345
1356
  // released now as its last close would have released it.
1346
- if (this.documentReleaseScheduler.isDeferred(key)) {
1347
- this.documentReleaseScheduler.cancel(key);
1348
- this.releaseDocument(key);
1349
- }
1357
+ this.releaseIfDeferred(key);
1350
1358
  super.delete(key);
1351
1359
  }
1352
1360
 
@@ -33,7 +33,7 @@ import {
33
33
  import { type AstDiagnostic } from '../validation/document-validator.js';
34
34
  import { type DocumentUriPolicy } from '../workspace/document-uri-policy.js';
35
35
  import { ReentrantWriteLockError, isInsideWriteLock, isWriteLockScopeInstalled } from '../workspace/write-lock-scope.js';
36
- import { CancellationToken, Disposable } from 'vscode-languageserver';
36
+ import { type ApplyWorkspaceEditResult, CancellationToken, Disposable } from 'vscode-languageserver';
37
37
  import { AstDocument } from '../../documents/ast-document-manager.js';
38
38
  import { isClientGoneError } from '../../util/connection-liveness.js';
39
39
  import { type LogNameOptions } from '../diagnostics/logger.js';
@@ -71,8 +71,12 @@ import {
71
71
  */
72
72
  export const MODEL_UPDATE_EDIT = defineMessage('hydranium/core/model-update-edit', 'Update Model');
73
73
 
74
- /** Max time {@link DefaultModelService.settleSave} waits for the build to settle and the sync chain to drain. */
75
- const SAVE_SETTLE_TIMEOUT_MS = 10_000;
74
+ /**
75
+ * Max time {@link ModelService.settleLanguageClient} waits. A save answers up to
76
+ * this long after its persist, so a client timing out one save's answer must
77
+ * allow it plus the persist.
78
+ */
79
+ const LANGUAGE_CLIENT_SETTLE_TIMEOUT_MS = 10_000;
76
80
 
77
81
  /**
78
82
  * Constructor options for {@link ModelService}. All fields are optional,
@@ -289,6 +293,21 @@ export interface ModelService<
289
293
  */
290
294
  modelToText(uri: string, model: TTransfer | string, cancelToken?: CancellationToken): Promise<string>;
291
295
  getDocument(uri: string): LangiumDocument | undefined;
296
+ /**
297
+ * Resolve once the document's build has settled and the language client
298
+ * has answered the push of its text, applied or refused and logged, so a
299
+ * save answering after it does not race that push. Does not wait again for
300
+ * a push an earlier settle timed out on and the client has not answered
301
+ * since. Never rejects: past its bound it warns and resolves, and a failed
302
+ * wait is logged and resolves.
303
+ */
304
+ settleLanguageClient(uri: string, cancelToken?: CancellationToken): Promise<void>;
305
+ /**
306
+ * Whether a push of the document's text into the language client awaits the
307
+ * client's answer. A push a settle already timed out on does not count: that
308
+ * settle has warned about it.
309
+ */
310
+ isLanguageClientPushPending(uri: string): boolean;
292
311
 
293
312
  /**
294
313
  * Fires as a document reaches the filter's phase, `Validated` by default.
@@ -389,6 +408,13 @@ export class DefaultModelService<
389
408
  */
390
409
  protected readonly syncChains = new Map<string, Promise<void>>();
391
410
  protected readonly pendingSync = new Map<string, string>();
411
+ /**
412
+ * The sync chains a settle timed out on, until the client answers their
413
+ * push. A later settle does not wait on one meanwhile: GLSP runs a diagram's
414
+ * saves one at a time, so each would add the full bound and a queued save
415
+ * outlast its client's timeout.
416
+ */
417
+ protected readonly timedOutSyncChains = new WeakSet<Promise<void>>();
392
418
 
393
419
  /** The live sessions this service started, by client id, for {@link getSession}. */
394
420
  protected readonly sessions = new Map<string, ClientSession<TAst, TDiagnostic, TTransfer>>();
@@ -836,40 +862,50 @@ export class DefaultModelService<
836
862
  * Wait for the document at `uri` to reach the integrity-settled landmark,
837
863
  * building a root behind its text as {@link ensureDocumentState} does, and
838
864
  * drain any in-flight write-path applyEdit sync chain (see {@link syncChains})
839
- * so every language client reflects the latest content before a save returns.
840
- * No-op tail for headless adopters — `syncChains` is empty without an LSP
841
- * client. Bounded by {@link SAVE_SETTLE_TIMEOUT_MS} so a hung build, or an
842
- * applyEdit reverse-RPC deadlock, can't freeze the caller; it returns rather
843
- * than throwing, warning on timeout. A failed wait is logged at `error`, at
844
- * `debug` when cancelled and at `warn` when the document is gone.
865
+ * so the language client has answered the push of the latest content before
866
+ * this returns; a push it refused twice is logged, not retried. No-op tail
867
+ * for headless adopters — `syncChains` is empty without an LSP client.
868
+ * Bounded at 10 s so a hung build, or an applyEdit reverse-RPC deadlock,
869
+ * can't freeze the caller; it returns rather than throwing, warning on
870
+ * timeout. A failed wait is logged at `error`, at `debug` when cancelled and
871
+ * at `warn` when the document is gone.
845
872
  *
846
- * Adopters with a save flow that must converge editor + disk before returning
847
- * (e.g. a dual form/code editor that would otherwise show a content-conflict
848
- * dialog on rapid save) call this after their `save`.
873
+ * The framework's save handlers call this after their persist; an adopter's
874
+ * own save path that answers a client calls it after its `save` too.
849
875
  */
850
- protected async settleSave(uri: string, cancelToken?: CancellationToken): Promise<void> {
876
+ async settleLanguageClient(uri: string, cancelToken?: CancellationToken): Promise<void> {
851
877
  const canonical = this.uriPolicy.canonicalUri(uri);
852
878
  const key = UriUtils.toUri(canonical).toString();
853
879
  // One race over both waits, so the bound is one deadline for the pair;
854
- // a race per wait would let the save take twice the bound.
880
+ // a race per wait would let the caller wait twice the bound.
881
+ let awaitedChain: Promise<void> | undefined;
855
882
  const settled = (async (): Promise<void> => {
856
883
  await this.waitForDocumentStateCanonical(canonical, IntegrityService.SettledState, cancelToken, { sync: true });
857
- await this.syncChains.get(key);
884
+ const chain = this.syncChains.get(key);
885
+ if (chain && this.timedOutSyncChains.has(chain)) {
886
+ this.tracer.withUri(key).debug('Language client settle not waiting again for a push the client has not answered');
887
+ return;
888
+ }
889
+ awaitedChain = chain;
890
+ await chain;
858
891
  })();
859
892
  // The settle ends a failed wait, so it logs it, at one level whether the wait failed inside the bound or after it.
860
893
  const reportFailedWait = (error: unknown, when: string): void => {
861
894
  const tracer = this.tracer.withUri(key);
862
895
  if (isOperationCancelled(error)) {
863
- tracer.debug(`Save settle cancelled ${when}`);
896
+ tracer.debug(`Language client settle cancelled ${when}`);
864
897
  } else if (!this.services.workspace.LangiumDocuments.hasDocument(UriUtils.toUri(canonical))) {
865
- tracer.warn(`Save settle failed ${when}; the document is gone. ${describeErrorWithStack(error)}`);
898
+ tracer.warn(`Language client settle failed ${when}; the document is gone. ${describeErrorWithStack(error)}`);
866
899
  } else {
867
- tracer.error(`Save settle failed ${when}. ${describeErrorWithStack(error)}`);
900
+ tracer.error(`Language client settle failed ${when}. ${describeErrorWithStack(error)}`);
868
901
  }
869
902
  };
870
903
  try {
871
- if ((await this.services.Clock.raceTimer(settled, SAVE_SETTLE_TIMEOUT_MS)) === TIMED_OUT) {
872
- this.tracer.withUri(key).warn(`Save settle exceeded ${SAVE_SETTLE_TIMEOUT_MS}ms — returning anyway`);
904
+ if ((await this.services.Clock.raceTimer(settled, LANGUAGE_CLIENT_SETTLE_TIMEOUT_MS)) === TIMED_OUT) {
905
+ this.tracer.withUri(key).warn(`Language client settle exceeded ${LANGUAGE_CLIENT_SETTLE_TIMEOUT_MS}ms — returning anyway`);
906
+ if (awaitedChain) {
907
+ this.timedOutSyncChains.add(awaitedChain);
908
+ }
873
909
  // The race has settled, so a later failure of the wait, such as a given-up sync build, reaches no one else.
874
910
  void settled.catch((error: unknown) => reportFailedWait(error, 'after the timeout'));
875
911
  }
@@ -879,6 +915,11 @@ export class DefaultModelService<
879
915
  }
880
916
  }
881
917
 
918
+ isLanguageClientPushPending(uri: string): boolean {
919
+ const chain = this.syncChains.get(UriUtils.toUri(this.uriPolicy.canonicalUri(uri)).toString());
920
+ return chain !== undefined && !this.timedOutSyncChains.has(chain);
921
+ }
922
+
882
923
  /**
883
924
  * True when the document at `uri` is currently open for at least one
884
925
  * client. Pure read; no side effects.
@@ -1054,13 +1095,13 @@ export class DefaultModelService<
1054
1095
  // build. Route by client registration (presence questions — both
1055
1096
  // predicates canonicalize internally, so a divergent open path still
1056
1097
  // resolves to the same record), but key the outbound sync by this
1057
- // CANONICAL URI — the same key `settleSave` looks the chain up under —
1058
- // so a save-settle can drain the in-flight applyEdit. The canonical→client-URI
1098
+ // CANONICAL URI — the same key `settleLanguageClient` looks the chain up
1099
+ // under — so a settle can drain the in-flight applyEdit. The canonical→client-URI
1059
1100
  // translation (a symlinked path the client opened, or a dual-open fan-out)
1060
1101
  // happens at the `applyEditToLanguageClient` egress, where the text store maps
1061
1102
  // the canonical key to the recorded language-client URI(s); driving the chain
1062
- // in client space here would key it under a URI `settleSave` never computes, so
1063
- // the drain would miss for a divergent open path.
1103
+ // in client space here would key it under a URI `settleLanguageClient`
1104
+ // never computes, so the drain would miss for a divergent open path.
1064
1105
  if (this.services.workspace.TextDocuments.isOpenInLanguageClient(document.textDocument.uri)) {
1065
1106
  this.syncOpenDocument(document.textDocument.uri, document.textDocument.getText());
1066
1107
  }
@@ -1132,7 +1173,19 @@ export class DefaultModelService<
1132
1173
  this.pendingSync.delete(uri);
1133
1174
  try {
1134
1175
  const textDocuments = this.services.workspace.TextDocuments;
1135
- let result = await textDocuments.applyEditToLanguageClient(uri, text, { label: this.editLabel() });
1176
+ // An answer, or a failure, ends a hang a settle timed out on, so the
1177
+ // chain's later pushes are waited for again.
1178
+ const push = async (): Promise<ApplyWorkspaceEditResult | undefined> => {
1179
+ try {
1180
+ return await textDocuments.applyEditToLanguageClient(uri, text, { label: this.editLabel() });
1181
+ } finally {
1182
+ const chain = this.syncChains.get(uri);
1183
+ if (chain) {
1184
+ this.timedOutSyncChains.delete(chain);
1185
+ }
1186
+ }
1187
+ };
1188
+ let result = await push();
1136
1189
  if (result?.applied === false && !this.pendingSync.has(uri) && textDocuments.get(uri)?.getText() === text) {
1137
1190
  // The push is addressed at the client's last known version, so a
1138
1191
  // rejection normally means the client's buffer moved while the
@@ -1156,7 +1209,7 @@ export class DefaultModelService<
1156
1209
  // other text: the keystroke that made the client refuse replaced it,
1157
1210
  // and re-pushing would overwrite that keystroke in the editor.
1158
1211
  uriLogger.debug(`Re-pushing a full replace after the language client refused applyEdit`);
1159
- result = await textDocuments.applyEditToLanguageClient(uri, text, { label: this.editLabel() });
1212
+ result = await push();
1160
1213
  if (result?.applied === false) {
1161
1214
  uriLogger.warn(`Language client rejected the full-replace retry too — client content is stale`);
1162
1215
  }
@@ -21,6 +21,8 @@ import { type ServerSharedServicesMinimal } from '../shared-services.js';
21
21
  */
22
22
  export interface RealpathCapableFileSystem {
23
23
  realpath?(uri: URI): URI | undefined;
24
+ /** `uri` with its links followed, those to nothing included; see `WritableFileSystemProvider.resolveLinks`. */
25
+ resolveLinks?(uri: URI): URI;
24
26
  }
25
27
 
26
28
  /**
@@ -149,11 +151,13 @@ export class DefaultDocumentUriPolicy implements DocumentUriPolicy {
149
151
  * The raw `realpath` syscall lives on the `FileSystemProvider`
150
152
  * (`@hydranium/core/node`'s `DefaultFileSystemProvider`), not here — this policy
151
153
  * is pure routing over that seam, so it carries no `node:fs` import and is
152
- * browser-neutral. Both methods follow the *same* policy: `canonicalUri` falls
153
- * back to the syntactic form when the path can't be resolved (optimistic — a
154
- * file that appears later canonicalises to the same key once present), while
155
- * `loadUri` returns `undefined` for an absent path (honest about existence, so a
156
- * caller about to read the filesystem skips it).
154
+ * browser-neutral. Both methods follow the *same* policy: `canonicalUri` keys a
155
+ * path that can't be resolved by the links it follows, where the provider has
156
+ * `resolveLinks`, else by its syntactic form (optimistic — a file that appears
157
+ * later canonicalises to the same key once present, also one reached through a
158
+ * link that pointed at nothing), while `loadUri` returns `undefined` for an
159
+ * absent path (honest about existence, so a caller about to read the
160
+ * filesystem skips it).
157
161
  *
158
162
  * If the provider for a URI's scheme has no `realpath` (in-memory / browser /
159
163
  * empty), the framework's `FileSystemProviderRegistry` returns the URI
@@ -173,9 +177,14 @@ export class RealpathDocumentUriPolicy extends DefaultDocumentUriPolicy {
173
177
 
174
178
  override canonicalUri(uri: URI | string): CanonicalUri {
175
179
  const parsed = UriUtils.toUri(uri);
176
- const real = parsed && this.fs.realpath?.(parsed);
177
- // Mint via `asCanonicalUri` once normalised; absent / unresolvable paths
178
- // (and a provider without `realpath`) fall back to the syntactic form.
180
+ // An absent path keys by the links it follows, so a file reached through
181
+ // a link keys the same before it exists and once it does; a provider
182
+ // without `resolveLinks`, or without `realpath`, keys it syntactically.
183
+ // `resolveLinks` alone where it exists: it resolves a present path as
184
+ // `realpath` does, and asking both would cost an absent path a second
185
+ // miss.
186
+ const real = parsed && (this.fs.resolveLinks ? this.fs.resolveLinks(parsed) : this.fs.realpath?.(parsed));
187
+ // Mint via `asCanonicalUri` once normalised.
179
188
  return real ? asCanonicalUri(UriUtils.normalize(real)) : super.canonicalUri(uri);
180
189
  }
181
190