@hydranium/glsp-server 1.0.0-next.16 → 1.0.0-next.168

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 (108) hide show
  1. package/README.md +20 -5
  2. package/lib/browser/start-glsp-server-in-worker.d.ts +30 -39
  3. package/lib/browser/start-glsp-server-in-worker.d.ts.map +1 -1
  4. package/lib/browser/start-glsp-server-in-worker.js +45 -11
  5. package/lib/browser/start-glsp-server-in-worker.js.map +1 -1
  6. package/lib/command/hydranium-glsp-command-stack.d.ts +27 -0
  7. package/lib/command/hydranium-glsp-command-stack.d.ts.map +1 -0
  8. package/lib/command/hydranium-glsp-command-stack.js +53 -0
  9. package/lib/command/hydranium-glsp-command-stack.js.map +1 -0
  10. package/lib/command/hydranium-glsp-recording-command.d.ts +22 -22
  11. package/lib/command/hydranium-glsp-recording-command.d.ts.map +1 -1
  12. package/lib/command/hydranium-glsp-recording-command.js +25 -26
  13. package/lib/command/hydranium-glsp-recording-command.js.map +1 -1
  14. package/lib/command/index.d.ts +1 -0
  15. package/lib/command/index.d.ts.map +1 -1
  16. package/lib/command/index.js +1 -0
  17. package/lib/command/index.js.map +1 -1
  18. package/lib/launcher/abstract-hydranium-glsp-diagram-module.d.ts +12 -3
  19. package/lib/launcher/abstract-hydranium-glsp-diagram-module.d.ts.map +1 -1
  20. package/lib/launcher/abstract-hydranium-glsp-diagram-module.js +18 -2
  21. package/lib/launcher/abstract-hydranium-glsp-diagram-module.js.map +1 -1
  22. package/lib/launcher/glsp-server-overrides.d.ts +10 -8
  23. package/lib/launcher/glsp-server-overrides.d.ts.map +1 -1
  24. package/lib/launcher/glsp-server-overrides.js +25 -11
  25. package/lib/launcher/glsp-server-overrides.js.map +1 -1
  26. package/lib/launcher/hydranium-glsp-server.d.ts +14 -10
  27. package/lib/launcher/hydranium-glsp-server.d.ts.map +1 -1
  28. package/lib/launcher/hydranium-glsp-server.js +20 -10
  29. package/lib/launcher/hydranium-glsp-server.js.map +1 -1
  30. package/lib/messages/index.d.ts +24 -0
  31. package/lib/messages/index.d.ts.map +1 -0
  32. package/lib/messages/index.js +24 -0
  33. package/lib/messages/index.js.map +1 -0
  34. package/lib/node/start-glsp-server.d.ts +1 -1
  35. package/lib/node/start-glsp-server.d.ts.map +1 -1
  36. package/lib/node/start-glsp-server.js +3 -4
  37. package/lib/node/start-glsp-server.js.map +1 -1
  38. package/lib/state/abstract-hydranium-glsp-state.d.ts +110 -43
  39. package/lib/state/abstract-hydranium-glsp-state.d.ts.map +1 -1
  40. package/lib/state/abstract-hydranium-glsp-state.js +139 -60
  41. package/lib/state/abstract-hydranium-glsp-state.js.map +1 -1
  42. package/lib/state/full-text-hydranium-glsp-state.d.ts +6 -6
  43. package/lib/state/full-text-hydranium-glsp-state.d.ts.map +1 -1
  44. package/lib/state/full-text-hydranium-glsp-state.js +6 -10
  45. package/lib/state/full-text-hydranium-glsp-state.js.map +1 -1
  46. package/lib/state/reconcile-source-model-write.d.ts +9 -8
  47. package/lib/state/reconcile-source-model-write.d.ts.map +1 -1
  48. package/lib/state/reconcile-source-model-write.js +8 -8
  49. package/lib/state/reconcile-source-model-write.js.map +1 -1
  50. package/lib/state/reconciling-multi-document-glsp-state.d.ts +59 -59
  51. package/lib/state/reconciling-multi-document-glsp-state.d.ts.map +1 -1
  52. package/lib/state/reconciling-multi-document-glsp-state.js +84 -82
  53. package/lib/state/reconciling-multi-document-glsp-state.js.map +1 -1
  54. package/lib/state/reconciling-transfer-hydranium-glsp-state.d.ts +19 -18
  55. package/lib/state/reconciling-transfer-hydranium-glsp-state.d.ts.map +1 -1
  56. package/lib/state/reconciling-transfer-hydranium-glsp-state.js +26 -30
  57. package/lib/state/reconciling-transfer-hydranium-glsp-state.js.map +1 -1
  58. package/lib/storage/hydranium-glsp-request-save-model-action-handler.d.ts +30 -0
  59. package/lib/storage/hydranium-glsp-request-save-model-action-handler.d.ts.map +1 -0
  60. package/lib/storage/hydranium-glsp-request-save-model-action-handler.js +47 -0
  61. package/lib/storage/hydranium-glsp-request-save-model-action-handler.js.map +1 -0
  62. package/lib/storage/hydranium-glsp-storage.d.ts +313 -86
  63. package/lib/storage/hydranium-glsp-storage.d.ts.map +1 -1
  64. package/lib/storage/hydranium-glsp-storage.js +456 -104
  65. package/lib/storage/hydranium-glsp-storage.js.map +1 -1
  66. package/lib/storage/index.d.ts +2 -1
  67. package/lib/storage/index.d.ts.map +1 -1
  68. package/lib/storage/index.js +2 -1
  69. package/lib/storage/index.js.map +1 -1
  70. package/lib/storage/save-delivery-policy.d.ts +46 -0
  71. package/lib/storage/save-delivery-policy.d.ts.map +1 -0
  72. package/lib/storage/{save-conflict-policy.js → save-delivery-policy.js} +7 -8
  73. package/lib/storage/save-delivery-policy.js.map +1 -0
  74. package/lib/testing/glsp-harness.js +4 -4
  75. package/lib/testing/glsp-harness.js.map +1 -1
  76. package/lib/validation/diagnostic-markers.d.ts +2 -2
  77. package/lib/validation/diagnostic-markers.d.ts.map +1 -1
  78. package/lib/validation/diagnostic-markers.js +7 -0
  79. package/lib/validation/diagnostic-markers.js.map +1 -1
  80. package/lib/validation/hydranium-glsp-model-validator.d.ts.map +1 -1
  81. package/lib/validation/hydranium-glsp-model-validator.js +1 -1
  82. package/lib/validation/hydranium-glsp-model-validator.js.map +1 -1
  83. package/package.json +17 -8
  84. package/src/browser/start-glsp-server-in-worker.ts +43 -47
  85. package/src/command/hydranium-glsp-command-stack.ts +36 -0
  86. package/src/command/hydranium-glsp-recording-command.ts +26 -26
  87. package/src/command/index.ts +1 -0
  88. package/src/launcher/abstract-hydranium-glsp-diagram-module.ts +27 -3
  89. package/src/launcher/glsp-server-overrides.ts +27 -11
  90. package/src/launcher/hydranium-glsp-server.ts +20 -10
  91. package/src/messages/index.ts +30 -0
  92. package/src/node/start-glsp-server.ts +3 -5
  93. package/src/state/abstract-hydranium-glsp-state.ts +174 -73
  94. package/src/state/full-text-hydranium-glsp-state.ts +7 -11
  95. package/src/state/reconcile-source-model-write.ts +18 -15
  96. package/src/state/reconciling-multi-document-glsp-state.ts +86 -83
  97. package/src/state/reconciling-transfer-hydranium-glsp-state.ts +27 -31
  98. package/src/storage/hydranium-glsp-request-save-model-action-handler.ts +40 -0
  99. package/src/storage/hydranium-glsp-storage.ts +520 -113
  100. package/src/storage/index.ts +2 -1
  101. package/src/storage/save-delivery-policy.ts +44 -0
  102. package/src/testing/glsp-harness.ts +4 -4
  103. package/src/validation/diagnostic-markers.ts +10 -3
  104. package/src/validation/hydranium-glsp-model-validator.ts +3 -3
  105. package/lib/storage/save-conflict-policy.d.ts +0 -56
  106. package/lib/storage/save-conflict-policy.d.ts.map +0 -1
  107. package/lib/storage/save-conflict-policy.js.map +0 -1
  108. package/src/storage/save-conflict-policy.ts +0 -52
@@ -1 +1 @@
1
- {"version":3,"file":"hydranium-glsp-storage.js","sourceRoot":"","sources":["../../src/storage/hydranium-glsp-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hydranium-glsp-storage.js","sourceRoot":"","sources":["../../src/storage/hydranium-glsp-storage.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@
6
6
  *
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
+ export * from './hydranium-glsp-request-save-model-action-handler.js';
9
10
  export * from './hydranium-glsp-storage.js';
10
- export * from './save-conflict-policy.js';
11
+ export * from './save-delivery-policy.js';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,cAAc,uDAAuD,CAAC;AACtE,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC"}
@@ -6,6 +6,7 @@
6
6
  *
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
+ export * from './hydranium-glsp-request-save-model-action-handler.js';
9
10
  export * from './hydranium-glsp-storage.js';
10
- export * from './save-conflict-policy.js';
11
+ export * from './save-delivery-policy.js';
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,cAAc,uDAAuD,CAAC;AACtE,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC"}
@@ -0,0 +1,46 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2026 CrossBreeze, 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
+ /**
10
+ * How `HydraniumGlspStorage.saveSourceModel` delivers its result: whether the
11
+ * GLSP save action awaits the write, and what happens on failure.
12
+ *
13
+ * The two are not independent — fire-and-forget plus rethrow would leave an
14
+ * unhandled rejection — so each arm bundles them into one coherent, nameable
15
+ * policy an adopter selects whole. It is a *selection of configuration*,
16
+ * delivered as a bound option (see the {@link SaveDeliveryPolicy} symbol) rather
17
+ * than a behaviour hook.
18
+ *
19
+ * **Neither arm guards on a based-on version.** A save flushes the store's
20
+ * settled text rather than authoring from the diagram's captured model, and the
21
+ * store already holds every other client's change — so a guard here refuses a
22
+ * write whose content is already correct. The gate that does exist sits on the
23
+ * update path, per operation, where the diagram authors.
24
+ */
25
+ export type SaveDeliveryPolicy =
26
+ /** Await the write and propagate any failure to the GLSP save action. The default. */
27
+ {
28
+ kind: 'await';
29
+ }
30
+ /**
31
+ * Fire-and-forget, logging and swallowing every failure. Correct when a
32
+ * failed diagram save must neither block the action nor surface as an error.
33
+ */
34
+ | {
35
+ kind: 'fire-and-forget';
36
+ };
37
+ /** The policy applied when no {@link SaveDeliveryPolicy} option is bound. */
38
+ export declare const DEFAULT_SAVE_DELIVERY_POLICY: SaveDeliveryPolicy;
39
+ /**
40
+ * DI token for the {@link SaveDeliveryPolicy} option. Bind a constant value in a
41
+ * `DiagramModule` to select a non-default policy; left unbound,
42
+ * `HydraniumGlspStorage` falls back to {@link DEFAULT_SAVE_DELIVERY_POLICY}.
43
+ * Shares its name with the type, the way a `class` is both a value and a type.
44
+ */
45
+ export declare const SaveDeliveryPolicy: unique symbol;
46
+ //# sourceMappingURL=save-delivery-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"save-delivery-policy.d.ts","sourceRoot":"","sources":["../../src/storage/save-delivery-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,kBAAkB;AAC3B,sFAAsF;AACpF;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE;AACnB;;;GAGG;GACD;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAEjC,6EAA6E;AAC7E,eAAO,MAAM,4BAA4B,EAAE,kBAAsC,CAAC;AAElF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,eAA+B,CAAC"}
@@ -6,14 +6,13 @@
6
6
  *
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
- /** The policy applied when no {@link SaveConflictPolicy} option is bound. */
10
- export const DEFAULT_SAVE_CONFLICT_POLICY = { kind: 'overwrite' };
9
+ /** The policy applied when no {@link SaveDeliveryPolicy} option is bound. */
10
+ export const DEFAULT_SAVE_DELIVERY_POLICY = { kind: 'await' };
11
11
  /**
12
- * DI token for the {@link SaveConflictPolicy} option. Bind a constant value in a
12
+ * DI token for the {@link SaveDeliveryPolicy} option. Bind a constant value in a
13
13
  * `DiagramModule` to select a non-default policy; left unbound,
14
- * `HydraniumGlspStorage` falls back to
15
- * {@link DEFAULT_SAVE_CONFLICT_POLICY}. Shares its name with the type, the way a
16
- * `class` is both a value and a type.
14
+ * `HydraniumGlspStorage` falls back to {@link DEFAULT_SAVE_DELIVERY_POLICY}.
15
+ * Shares its name with the type, the way a `class` is both a value and a type.
17
16
  */
18
- export const SaveConflictPolicy = Symbol('SaveConflictPolicy');
19
- //# sourceMappingURL=save-conflict-policy.js.map
17
+ export const SaveDeliveryPolicy = Symbol('SaveDeliveryPolicy');
18
+ //# sourceMappingURL=save-delivery-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"save-delivery-policy.js","sourceRoot":"","sources":["../../src/storage/save-delivery-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AA2BlF,6EAA6E;AAC7E,MAAM,CAAC,MAAM,4BAA4B,GAAuB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAElF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC"}
@@ -146,10 +146,10 @@ export function makeGlspHarness(options) {
146
146
  const container = new Container();
147
147
  container.load(defaultAppModule, ...(options.appModules ?? []), captureProxyModule);
148
148
  container.load(options.serverModule);
149
- // After the serverModule, which binds `GLSPServer`: the override rebinds that
150
- // symbol, so it needs the binding to exist. The launchers reach the same tier
151
- // by passing this to `configure` — a harness that skipped it would answer
152
- // request failures differently from every real bringup.
149
+ // Into the container the serverModule binds `GLSPServer` in, as the
150
+ // launchers' `configure` loads it: a harness that skipped it would keep
151
+ // upstream's server and answer request failures differently from every
152
+ // real bringup.
153
153
  container.load(createGlspServerOverrides());
154
154
  const server = container.get(GLSPServer);
155
155
  let sessionContainer;
@@ -1 +1 @@
1
- {"version":3,"file":"glsp-harness.js","sourceRoot":"","sources":["../../src/testing/glsp-harness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"glsp-harness.js","sourceRoot":"","sources":["../../src/testing/glsp-harness.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAGJ,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACJ,iBAAiB,EACjB,kBAAkB,EAClB,MAAM,IAAI,UAAU,EACpB,aAAa,EACb,uBAAuB,EAEvB,oBAAoB,EACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,eAAe,EAAmB,MAAM,WAAW,CAAC;AAKxE,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAqDhE;;;;;;;GAOG;AACH,MAAM,2BAA2B,GAA0B;IACxD,cAAc,CAAC,IAAI;IACnB,iBAAiB,CAAC,IAAI;IACtB,mBAAmB,CAAC,IAAI;IACxB,mBAAmB,CAAC,IAAI;IACxB,YAAY,CAAC,IAAI;IACjB,mBAAmB,CAAC,IAAI;IACxB,oBAAoB,CAAC,IAAI;IACzB,iBAAiB,CAAC,IAAI;CACxB,CAAC;AA0FF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAA0B,CAAC,cAAc,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAErI;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAC5B,OAA+B;IAE/B,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,UAAU,CAAC;IAC1D,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,cAAc,CAAC;IAClE,MAAM,iBAAiB,GAAG,CAAC,GAAG,2BAA2B,EAAE,GAAG,CAAC,OAAO,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3G,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,CAAC,GAAG,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAE1E,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAU,CAAC;IACvC,MAAM,OAAO,GAAoB,EAAE,CAAC;IAEpC,MAAM,YAAY,GAAoB;QACnC,OAAO,CAAC,OAAsB;YAC3B,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9E,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACd,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC1C,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACrB,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC3B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;QACJ,CAAC;KACH,CAAC;IAEF;;;;;;;;;;OAUG;IACH,SAAS,OAAO,CAAC,KAA4B,EAAE,SAAiB,EAAE,eAAwB;QACvF,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9F,IAAI,QAAQ,EAAE,CAAC;YACZ,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACvB,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,OAAO,CAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxD,MAAM,MAAM,GAAkB;gBAC3B,KAAK;gBACL,OAAO;gBACP,KAAK,EAAE,UAAU,CAAC,GAAG,EAAE;oBACpB,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBACtC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;wBACd,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBAC5B,CAAC;oBACD,IAAI,eAAe,EAAE,CAAC;wBACnB,+DAA+D;wBAC/D,+DAA+D;wBAC/D,4DAA4D;wBAC5D,4DAA4D;wBAC5D,yDAAyD;wBACzD,+DAA+D;wBAC/D,sBAAsB;wBACtB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBACpD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,yBAAyB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBACnH,MAAM,CACH,IAAI,KAAK,CACN,uBAAuB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,SAAS,QAAQ,OAAO,EAAE,CAC/G,CACH,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACL,OAAO,CAAC,SAAS,CAAC,CAAC;oBACtB,CAAC;gBACJ,CAAC,EAAE,SAAS,CAAC;aACf,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACN,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;QACjD,IAAI,CAAC,kBAAkB,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9E,4EAA4E;QAC5E,wEAAwE;QACxE,yEAAyE;QACzE,kDAAkD;QAClD,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACzE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;YAC9C,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAuB,cAAc,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC;YACjG,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;YACzC,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC/C,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IACH,MAAM,kBAAkB,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;QACnD,IAAI,CAAC,eAAe,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;IAClC,SAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACpF,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACrC,oEAAoE;IACpE,wEAAwE;IACxE,uEAAuE;IACvE,gBAAgB;IAChB,SAAS,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAa,UAAU,CAAC,CAAC;IAErD,IAAI,gBAAkD,CAAC;IACvD,IAAI,KAAyB,CAAC;IAC9B,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,OAAO;QACJ,MAAM;QACN,SAAS;QACT,OAAO;QACP,IAAI,gBAAgB;YACjB,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;YACxF,CAAC;YACD,OAAO,gBAAgB,CAAC;QAC3B,CAAC;QACD,IAAI,KAAK;YACN,IAAI,CAAC,KAAK,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;YAC7E,CAAC;YACD,OAAO,KAAK,CAAC;QAChB,CAAC;QAED,KAAK,CAAC,KAAK;YACR,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,eAAe,EAAE,iBAAiB,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAChG,MAAM,MAAM,CAAC,uBAAuB,CAAC,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,iBAAiB,EAAE,CAAC,CAAC;YAC/G,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAuB,oBAAoB,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YACtG,IAAI,CAAC,OAAO,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,uCAAuC,eAAe,iCAAiC,CAAC,CAAC;YAC5G,CAAC;YACD,kFAAkF;YAClF,yEAAyE;YACzE,wEAAwE;YACxE,0EAA0E;YAC1E,gFAAgF;YAChF,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;YACnC,gBAAgB,GAAG,QAAQ,CAAC;YAC5B,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAS,UAAU,CAAC,CAAC;QAC5C,CAAC;QAED,KAAK,CAAC,QAAQ;YACX,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,CAAC;QAED,QAAQ,CAAC,MAAc;YACpB,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,UAAU,CAA4B,IAAY,EAAE,SAAS,GAAG,IAAI;YACjE,OAAO,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAe,CAAC;QACzD,CAAC;QAED,KAAK,CAAC,YAAY,CAAC,SAAiB,EAAE,SAAS,GAAG,IAAI;YACnD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;YAClF,CAAC;YACD,MAAM,CAAC,OAAO,CAAC;gBACZ,QAAQ,EAAE,eAAe;gBACzB,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC;aACjF,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,sBAAsB,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAC1E,mEAAmE;YACnE,OAAO,UAAoB,CAAC;QAC/B,CAAC;QAED,mBAAmB,CAAC,UAAsC,EAAE;YACzD,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,eAAe,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;YAC7D,OAAO,OAAO,CAAC,sBAAsB,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QACtE,CAAC;QAED,cAAc,CAAC,GAAW,EAAE,IAA4C;YACrE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;YACpF,CAAC;YACD,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,OAAO;YACJ,IAAI,QAAQ,EAAE,CAAC;gBACZ,OAAO;YACV,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC;YAChB,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClB,SAAS,CAAC,SAAS,EAAE,CAAC;QACzB,CAAC;KACH,CAAC;AACL,CAAC"}
@@ -8,7 +8,7 @@
8
8
  ********************************************************************************/
9
9
  import { type Marker } from '@eclipse-glsp/protocol';
10
10
  import { type AstNode } from '@hydranium/langium';
11
- import { type TransferLspDiagnostic } from '@hydranium/core';
11
+ import { type AstDiagnostic } from '@hydranium/core';
12
12
  /**
13
13
  * The model-shaped lookups the diagnostic→marker translation needs, injected so
14
14
  * the pure mapping can be unit-tested without GLSP/Langium DI. The validator
@@ -44,5 +44,5 @@ export interface DiagnosticMarkerLookups {
44
44
  * `MarkersReason` so a fresh `SetMarkersAction` replaces the previous markers
45
45
  * (an empty result clears them when all errors are fixed).
46
46
  */
47
- export declare function diagnosticsToMarkers(diagnostics: readonly TransferLspDiagnostic[], lookups: DiagnosticMarkerLookups): Marker[];
47
+ export declare function diagnosticsToMarkers(diagnostics: readonly AstDiagnostic[], lookups: DiagnosticMarkerLookups): Marker[];
48
48
  //# sourceMappingURL=diagnostic-markers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostic-markers.d.ts","sourceRoot":"","sources":["../../src/validation/diagnostic-markers.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,MAAM,EAAc,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7D;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACrC;;;;OAIG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IACzD;;;;OAIG;IACH,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,MAAM,EAAE,CAAC;CACnD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,SAAS,qBAAqB,EAAE,EAAE,OAAO,EAAE,uBAAuB,GAAG,MAAM,EAAE,CAW9H"}
1
+ {"version":3,"file":"diagnostic-markers.d.ts","sourceRoot":"","sources":["../../src/validation/diagnostic-markers.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,MAAM,EAAc,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACrC;;;;OAIG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IACzD;;;;OAIG;IACH,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,MAAM,EAAE,CAAC;CACnD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,SAAS,aAAa,EAAE,EAAE,OAAO,EAAE,uBAAuB,GAAG,MAAM,EAAE,CAWtH"}
@@ -40,8 +40,15 @@ export function diagnosticsToMarkers(diagnostics, lookups) {
40
40
  * The ids of the elements drawn on this diagram for the diagnostic's target,
41
41
  * starting at the node it points at and walking up its containers; empty when
42
42
  * the path does not resolve or nothing on the chain is rendered.
43
+ *
44
+ * @param elementPath absent for a lexer or parser error, which Langium pushes
45
+ * onto the document without one — such a diagnostic points at text no node
46
+ * was built from, so it marks nothing.
43
47
  */
44
48
  function renderedElementIds(elementPath, lookups) {
49
+ if (elementPath === undefined) {
50
+ return [];
51
+ }
45
52
  let node = lookups.resolveElement(elementPath);
46
53
  while (node !== undefined) {
47
54
  const ids = lookups.renderedIdsFor(node);
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostic-markers.js","sourceRoot":"","sources":["../../src/validation/diagnostic-markers.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAe,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAuB7E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,oBAAoB,CAAC,WAA6C,EAAE,OAAgC;IACjH,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC7C,0EAA0E;QAC1E,MAAM,OAAO,GAAG,UAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACxD,KAAK,MAAM,SAAS,IAAI,kBAAkB,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;YACvE,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3E,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,WAAmB,EAAE,OAAgC;IAC9E,IAAI,IAAI,GAAwB,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACpE,OAAO,IAAI,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClB,OAAO,GAAG,CAAC;QACd,CAAC;QACD,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;IAC1B,CAAC;IACD,OAAO,EAAE,CAAC;AACb,CAAC;AAED,iHAAiH;AACjH,SAAS,UAAU,CAAC,QAAwC;IACzD,QAAQ,QAAQ,EAAE,CAAC;QAChB,KAAK,kBAAkB,CAAC,OAAO;YAC5B,OAAO,UAAU,CAAC,OAAO,CAAC;QAC7B,KAAK,kBAAkB,CAAC,WAAW,CAAC;QACpC,KAAK,kBAAkB,CAAC,IAAI;YACzB,OAAO,UAAU,CAAC,IAAI,CAAC;QAC1B,KAAK,kBAAkB,CAAC,KAAK,CAAC;QAC9B;YACG,OAAO,UAAU,CAAC,KAAK,CAAC;IAC9B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"diagnostic-markers.js","sourceRoot":"","sources":["../../src/validation/diagnostic-markers.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAe,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAuB7E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,oBAAoB,CAAC,WAAqC,EAAE,OAAgC;IACzG,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC7C,0EAA0E;QAC1E,MAAM,OAAO,GAAG,UAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACxD,KAAK,MAAM,SAAS,IAAI,kBAAkB,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;YACvE,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3E,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AAClB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,kBAAkB,CAAC,WAA+B,EAAE,OAAgC;IAC1F,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC;IACb,CAAC;IACD,IAAI,IAAI,GAAwB,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACpE,OAAO,IAAI,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClB,OAAO,GAAG,CAAC;QACd,CAAC;QACD,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;IAC1B,CAAC;IACD,OAAO,EAAE,CAAC;AACb,CAAC;AAED,iHAAiH;AACjH,SAAS,UAAU,CAAC,QAAwC;IACzD,QAAQ,QAAQ,EAAE,CAAC;QAChB,KAAK,kBAAkB,CAAC,OAAO;YAC5B,OAAO,UAAU,CAAC,OAAO,CAAC;QAC7B,KAAK,kBAAkB,CAAC,WAAW,CAAC;QACpC,KAAK,kBAAkB,CAAC,IAAI;YACzB,OAAO,UAAU,CAAC,IAAI,CAAC;QAC1B,KAAK,kBAAkB,CAAC,KAAK,CAAC;QAC9B;YACG,OAAO,UAAU,CAAC,KAAK,CAAC;IAC9B,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"hydranium-glsp-model-validator.d.ts","sourceRoot":"","sources":["../../src/validation/hydranium-glsp-model-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,KAAK,aAAa,EAAc,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3F,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,KAAK,oBAAoB,EAA8B,MAAM,iBAAiB,CAAC;AACxF,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAI5F;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBACa,2BAA2B,CAAC,KAAK,SAAS,OAAO,GAAG,OAAO,CAAE,YAAW,cAAc;IACrD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAG,oBAAoB,CAAC;IAChF,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;IAEtF,QAAQ,CAAC,SAAS,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAIhE;;;;;OAKG;IACH,OAAO,IAAI,MAAM,EAAE;CA6CrB"}
1
+ {"version":3,"file":"hydranium-glsp-model-validator.d.ts","sourceRoot":"","sources":["../../src/validation/hydranium-glsp-model-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,KAAK,aAAa,EAAc,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3F,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,KAAK,oBAAoB,EAAsB,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAI5F;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBACa,2BAA2B,CAAC,KAAK,SAAS,OAAO,GAAG,OAAO,CAAE,YAAW,cAAc;IACrD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAG,oBAAoB,CAAC;IAChF,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;IAEtF,QAAQ,CAAC,SAAS,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAIhE;;;;;OAKG;IACH,OAAO,IAAI,MAAM,EAAE;CA6CrB"}
@@ -75,7 +75,7 @@ let HydraniumGlspModelValidator = class HydraniumGlspModelValidator {
75
75
  continue;
76
76
  }
77
77
  // Diagnostics are produced by the framework's `HydraniumDocumentValidator`,
78
- // which emits `TransferLspDiagnostic` (LSP `Diagnostic` + `element` path).
78
+ // which emits `AstDiagnostic` (LSP `Diagnostic` + `element` path).
79
79
  // Parser/lexer diagnostics carry no `element`; the lookup drops them.
80
80
  const diagnostics = document.diagnostics;
81
81
  if (!diagnostics || diagnostics.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"hydranium-glsp-model-validator.js","sourceRoot":"","sources":["../../src/validation/hydranium-glsp-model-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hydranium-glsp-model-validator.js","sourceRoot":"","sources":["../../src/validation/hydranium-glsp-model-validator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hydranium/glsp-server",
3
- "version": "1.0.0-next.16",
3
+ "version": "1.0.0-next.168",
4
4
  "description": "GLSP protocol head for the hydranium framework. Peer of @hydranium/core/lsp and @hydranium/data-server; built on @hydranium/core.",
5
5
  "keywords": [
6
6
  "hydranium",
@@ -48,6 +48,14 @@
48
48
  "types": "./lib/node/index.d.ts",
49
49
  "default": "./lib/node/index.js"
50
50
  },
51
+ "./messages": {
52
+ "types": "./lib/messages/index.d.ts",
53
+ "default": "./lib/messages/index.js"
54
+ },
55
+ "./lib/messages": {
56
+ "types": "./lib/messages/index.d.ts",
57
+ "default": "./lib/messages/index.js"
58
+ },
51
59
  "./testing": {
52
60
  "types": "./lib/testing/index.d.ts",
53
61
  "default": "./lib/testing/index.js"
@@ -79,9 +87,9 @@
79
87
  "devDependencies": {
80
88
  "@eclipse-glsp/protocol": "2.7.0",
81
89
  "@eclipse-glsp/server": "2.7.0",
82
- "@hydranium/core": "1.0.0-next.16",
83
- "@hydranium/langium": "1.0.0-next.16",
84
- "@hydranium/protocol": "1.0.0-next.16",
90
+ "@hydranium/core": "1.0.0-next.168",
91
+ "@hydranium/langium": "1.0.0-next.168",
92
+ "@hydranium/protocol": "1.0.0-next.168",
85
93
  "inversify": "6.2.2",
86
94
  "reflect-metadata": "0.2.2",
87
95
  "rimraf": "^5.0.0",
@@ -92,12 +100,12 @@
92
100
  "peerDependencies": {
93
101
  "@eclipse-glsp/protocol": "^2.6.0",
94
102
  "@eclipse-glsp/server": "^2.6.0",
95
- "@hydranium/core": "1.0.0-next.16",
96
- "@hydranium/langium": "1.0.0-next.16",
97
- "@hydranium/protocol": "1.0.0-next.16",
103
+ "@hydranium/core": "1.0.0-next.168",
104
+ "@hydranium/langium": "1.0.0-next.168",
105
+ "@hydranium/protocol": "1.0.0-next.168",
98
106
  "inversify": "^6.0.0",
99
107
  "reflect-metadata": "^0.2.2",
100
- "vscode-jsonrpc": "^8.0.0 || ^9.0.0",
108
+ "vscode-jsonrpc": "9.0.1",
101
109
  "vscode-languageserver-types": "^3.17.5"
102
110
  },
103
111
  "engines": {
@@ -106,6 +114,7 @@
106
114
  "publishConfig": {
107
115
  "access": "public"
108
116
  },
117
+ "//peerDependencies": "`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. **This is the head where it is not enough**: `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship, so a first install of this package ALWAYS lands two copies and the adopter must pin the chain in their own manifest. docs/adopting/requirements.md carries the block to paste.",
109
118
  "//prepack": "The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.",
110
119
  "//sideEffects": "The harness bare-imports `reflect-metadata`, which installs a global `Reflect` polyfill the inversify decorators in this package need before any container is built. That effect is invisible from the module's exports, so a bundler that treats the file as pure may reorder or drop the import and every `@injectable` resolution then fails at runtime. The rest of the package constructs no module-level state beyond frozen constants and DI symbols."
111
120
  }
@@ -14,43 +14,38 @@ import {
14
14
  WorkerServerLauncher,
15
15
  createAppModule
16
16
  } from '@eclipse-glsp/server/browser.js';
17
- import { Container, type ContainerModule } from 'inversify';
18
- import type { Logger } from '@hydranium/protocol';
17
+ import { Container, injectable, type ContainerModule } from 'inversify';
18
+ import { createMessagePortTransport, type Logger, type TransferredMessagePort } from '@hydranium/protocol';
19
+ import { createMessageConnection, type MessageConnection } from 'vscode-jsonrpc/browser';
19
20
  import type { IntegratedServer } from '@hydranium/core';
20
21
  import { createGlspFrameworkOverrides } from '../launcher/glsp-framework-overrides.js';
21
22
  import { createGlspServerOverrides } from '../launcher/glsp-server-overrides.js';
22
23
 
24
+ // Re-exported so the type of this head's `context` still resolves from here.
25
+ export type { TransferredMessagePort } from '@hydranium/protocol';
26
+
23
27
  /**
24
- * A `MessagePort` the host transferred into the worker, described structurally.
25
- *
26
- * This package inherits `tsconfig.base.json`'s `lib: ["ES2022"]` and so compiles
27
- * without the DOM lib, which is what keeps `document` / `window` compile errors
28
- * here — so `MessagePort` has no name either and the contract has to be spelled
29
- * out.
30
- *
31
- * **The member set is chosen to admit a `MessagePort` and REJECT a `Worker` or
32
- * the worker global**, both of which the launcher's own reader would otherwise
33
- * accept. Only a port needs starting, so `start` is what tells the three apart,
34
- * and naming it here turns "never bind a head to the global" from a rule in a
35
- * document into a compile error at the call site.
28
+ * The worker launcher every {@link startGlspServerInWorker} head runs on: GLSP's
29
+ * own, with its connection built over `createMessagePortTransport` rather than
30
+ * over `BrowserMessageReader`/`BrowserMessageWriter`, which never report a
31
+ * close. So the client disposing its connection closes this one, and upstream
32
+ * disposes the server instance, and with it every client session, as it does
33
+ * when a socket closes.
36
34
  *
37
- * **That compile error happens at the ADOPTER, not here.** This project resolves
38
- * neither `MessagePort` nor `Worker` as a type, so nothing in this package can
39
- * demonstrate the rejection; a host compiling its worker against `lib.webworker`
40
- * (or a page against `lib.dom`) is where the names resolve and the guard bites.
41
- * Measured there: passing the worker global fails with `Property 'start' is
42
- * missing in type 'DedicatedWorkerGlobalScope'`.
35
+ * Requires `context`: unlike upstream it never falls back to the worker global.
43
36
  *
44
- * `addEventListener` is not a discriminator — `postMessage` plus `start` already
45
- * excludes the other two — and nothing in this module calls any of the three
46
- * (the reader assigns `onmessage`, which starts a port implicitly). It is listed
47
- * because it is part of what the reader uses, so the interface reads as the
48
- * contract rather than as a minimal trick.
37
+ * **The install needs a single `vscode-jsonrpc`.** The connection comes from
38
+ * this package's copy, and GLSP's request and notification types from the copy
39
+ * `@eclipse-glsp/protocol` resolves. With two copies, a typed notification or
40
+ * request GLSP sends throws `Unknown parameter structure auto`, because the
41
+ * connection compares the type's parameter-structure marker by identity.
49
42
  */
50
- export interface TransferredMessagePort {
51
- postMessage(message: unknown): void;
52
- addEventListener(type: 'message', listener: (event: unknown) => void, options?: unknown): void;
53
- start(): void;
43
+ @injectable()
44
+ export class HydraniumGlspWorkerServerLauncher extends WorkerServerLauncher {
45
+ protected override createConnection(options: WorkerLaunchOptions): MessageConnection {
46
+ const transport = createMessagePortTransport(options.context as unknown as TransferredMessagePort);
47
+ return createMessageConnection(transport.reader, transport.writer);
48
+ }
54
49
  }
55
50
 
56
51
  /**
@@ -66,14 +61,15 @@ export interface BrowserGlspServerOptions {
66
61
  /**
67
62
  * The port the host transferred into the worker for this head.
68
63
  *
69
- * **Required, and that is the whole point.** GLSP's
70
- * `WorkerServerLauncher.createConnection` falls back to the worker global
71
- * when it is omitted, and a head on the global receives every other head's
72
- * traffic — `BrowserMessageReader` filters nothing, so this is not a race
73
- * under load but every message delivered to the wrong reader. The global is
74
- * unusable even for a single head, because the launcher posts its startup
75
- * string through the global `postMessage` regardless of the connection it
76
- * was given, and no JSON-RPC reader can parse that.
64
+ * **Required: the worker global is no substitute.** A head on the global
65
+ * receives every other head's traffic — a reader filters nothing, so this is
66
+ * not a race under load but every message delivered to the wrong reader — and
67
+ * GLSP's launcher posts its startup string through the global `postMessage`
68
+ * regardless of the connection it was given, which no JSON-RPC reader parses.
69
+ * Unlike upstream's, this head's launcher never falls back to the global.
70
+ *
71
+ * The page's end must connect through `createMessagePortTransport` as well:
72
+ * the head reads its close signal from the port, and posts one on it.
77
73
  */
78
74
  readonly context: TransferredMessagePort;
79
75
  /**
@@ -126,8 +122,9 @@ export interface BrowserGlspServerOptions {
126
122
  * below. There is no transport handshake to wait on: the port arrived live,
127
123
  * and the launcher's own readiness signal is a string it posts on the worker
128
124
  * global, which nothing here reads.
129
- * - `stopped` resolves when the connection closes, and rejects on a connection
130
- * error.
125
+ * - `stopped` resolves when the connection closes, which the client disposing
126
+ * its connection causes, and rejects on a connection error. Nothing reports a
127
+ * page that dies, because the port cannot.
131
128
  */
132
129
  export function startGlspServerInWorker(options: BrowserGlspServerOptions): IntegratedServer {
133
130
  const lifecycle = options.logger;
@@ -145,18 +142,17 @@ export function startGlspServerInWorker(options: BrowserGlspServerOptions): Inte
145
142
  const appContainer = new Container();
146
143
  appContainer.load(glspAppModule, createGlspFrameworkOverrides(options.createLogger), ...(options.appModules ?? []));
147
144
 
148
- const launcher = appContainer.resolve<WorkerServerLauncher>(WorkerServerLauncher);
145
+ const launcher = appContainer.resolve<WorkerServerLauncher>(HydraniumGlspWorkerServerLauncher);
149
146
  // Additional module rather than an app-container binding, as on Node: the
150
- // launcher loads these into the per-connection SERVER container, the only
151
- // tier where the adopter's `ServerModule` binding of `GLSPServer` is
152
- // rebindable.
147
+ // launcher loads these into the per-connection SERVER container, the tier
148
+ // where each connection gets a server of its own.
153
149
  launcher.configure(options.serverModule, createGlspServerOverrides());
154
150
 
155
151
  try {
156
- // Upstream declares `WorkerLaunchOptions.context` as `Worker`, narrower
157
- // than the `MessagePort | Worker | DedicatedWorkerGlobalScope` its own
158
- // `BrowserMessageReader` accepts — so the value that is CORRECT here is
159
- // the one the declaration names as wrong.
152
+ // Upstream declares `WorkerLaunchOptions.context` as `Worker`, and
153
+ // `HydraniumGlspWorkerServerLauncher.createConnection` reads it as a
154
+ // port — so the value that is CORRECT here is the one the declaration
155
+ // names as wrong.
160
156
  //
161
157
  // **The cast is currently redundant, and is kept deliberately.** `Worker`
162
158
  // does not resolve under this package's `lib`, so `skipLibCheck` leaves
@@ -0,0 +1,36 @@
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
+
10
+ import { DefaultCommandStack, ModelState } from '@eclipse-glsp/server';
11
+ import { type ServerSharedServices } from '@hydranium/core';
12
+ import { inject, injectable } from 'inversify';
13
+ import { HydraniumTypes } from '../state/hydranium-shared-core-services.js';
14
+
15
+ /**
16
+ * GLSP's command stack with the diagram's dirty state read from the text store:
17
+ * dirty while any document the diagram's client session has open differs from
18
+ * its file, as the store last knew the file. Undo and redo are GLSP's.
19
+ *
20
+ * GLSP's own answer counts the diagram's commands since its last save, so it
21
+ * misses every change the diagram did not make: another client's unsaved edit
22
+ * leaves it clean, and a save it did not make of a document other than the
23
+ * diagram's own leaves it dirty. Every `SetDirtyStateAction` GLSP sends reads
24
+ * this answer.
25
+ */
26
+ @injectable()
27
+ export class HydraniumGlspCommandStack extends DefaultCommandStack {
28
+ @inject(ModelState) protected readonly modelState!: ModelState;
29
+ @inject(HydraniumTypes.SharedCoreServices) protected readonly sharedServices!: ServerSharedServices;
30
+
31
+ override get isDirty(): boolean {
32
+ const textDocuments = this.sharedServices.workspace.TextDocuments;
33
+ const clientId = this.modelState.clientId;
34
+ return textDocuments.openDocuments().some(open => open.clients.includes(clientId) && textDocuments.isDirty(open.uri));
35
+ }
36
+ }