@hydranium/glsp-server 1.0.0-next.14 → 1.0.0-next.148

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 +9 -8
  23. package/lib/launcher/glsp-server-overrides.d.ts.map +1 -1
  24. package/lib/launcher/glsp-server-overrides.js +12 -10
  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 +14 -10
  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":"abstract-hydranium-glsp-diagram-module.d.ts","sourceRoot":"","sources":["../../src/launcher/abstract-hydranium-glsp-diagram-module.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAI3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAI3F;AA0BD;;;;;;;;;;;;;;GAcG;AACH,8BACsB,kCAAmC,SAAQ,aAAa;IAC3E;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,gBAAgB;cAEnC,SAAS,CACzB,IAAI,EAAE,UAAU,CAAC,IAAI,EACrB,MAAM,EAAE,UAAU,CAAC,MAAM,EACzB,OAAO,EAAE,UAAU,CAAC,OAAO,EAC3B,MAAM,EAAE,UAAU,CAAC,MAAM,GACzB,IAAI;CAIT"}
1
+ {"version":3,"file":"abstract-hydranium-glsp-diagram-module.d.ts","sourceRoot":"","sources":["../../src/launcher/abstract-hydranium-glsp-diagram-module.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,aAAa,EACb,KAAK,oBAAoB,EAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAM3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAI3F;AA0BD;;;;;;;;;;;;;;GAcG;AACH,8BACsB,kCAAmC,SAAQ,aAAa;IAC3E;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,gBAAgB;cAEnC,SAAS,CACzB,IAAI,EAAE,UAAU,CAAC,IAAI,EACrB,MAAM,EAAE,UAAU,CAAC,MAAM,EACzB,OAAO,EAAE,UAAU,CAAC,OAAO,EAC3B,MAAM,EAAE,UAAU,CAAC,MAAM,GACzB,IAAI;IAKP,0GAA0G;cACvF,gBAAgB,IAAI,aAAa,CAAC,YAAY,CAAC;IAIlE;;;OAGG;cACgB,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,CAAC,wBAAwB,CAAC,GAAG,IAAI;CAI3G"}
@@ -16,6 +16,8 @@ import { DiagramModule } from '@eclipse-glsp/server';
16
16
  import { injectable } from 'inversify';
17
17
  import { typedMetadata } from '@hydranium/core';
18
18
  import { HydraniumTypes } from '../state/hydranium-shared-core-services.js';
19
+ import { HydraniumGlspRequestSaveModelActionHandler } from '../storage/hydranium-glsp-request-save-model-action-handler.js';
20
+ import { HydraniumGlspCommandStack } from '../command/hydranium-glsp-command-stack.js';
19
21
  /**
20
22
  * Bind {@link HydraniumTypes}.DiagramLanguage on a GLSP **session** container
21
23
  * to the services of `metadata`'s grammar.
@@ -23,8 +25,10 @@ import { HydraniumTypes } from '../state/hydranium-shared-core-services.js';
23
25
  * Exported separately from {@link AbstractHydraniumGlspDiagramModule} for adopters
24
26
  * whose diagram module already extends an intermediate base of their own and
25
27
  * cannot take the framework base class; call it from `configure` after
26
- * `super.configure(...)`. The base class is the preferred entry point because
27
- * it makes the declaration non-optional.
28
+ * `super.configure(...)`, add {@link HydraniumGlspRequestSaveModelActionHandler}
29
+ * in `configureActionHandlers`, and return {@link HydraniumGlspCommandStack} from
30
+ * `bindCommandStack`, all of which the base also does. The base class is the
31
+ * preferred entry point because it makes the declaration non-optional.
28
32
  *
29
33
  * **Why the session tier.** GLSP builds its app container once per process,
30
34
  * before any document exists, so a per-language service bound there can only
@@ -92,6 +96,18 @@ let AbstractHydraniumGlspDiagramModule = class AbstractHydraniumGlspDiagramModul
92
96
  super.configure(bind, unbind, isBound, rebind);
93
97
  bindDiagramLanguage(bind, this.declareLanguage());
94
98
  }
99
+ /** {@link HydraniumGlspCommandStack}, so the diagram is dirty exactly while a document it has open is. */
100
+ bindCommandStack() {
101
+ return HydraniumGlspCommandStack;
102
+ }
103
+ /**
104
+ * Adds {@link HydraniumGlspRequestSaveModelActionHandler}, the save the
105
+ * Theia client sends, beside GLSP's own save handler.
106
+ */
107
+ configureActionHandlers(binding) {
108
+ super.configureActionHandlers(binding);
109
+ binding.add(HydraniumGlspRequestSaveModelActionHandler);
110
+ }
95
111
  };
96
112
  AbstractHydraniumGlspDiagramModule = __decorate([
97
113
  injectable()
@@ -1 +1 @@
1
- {"version":3,"file":"abstract-hydranium-glsp-diagram-module.js","sourceRoot":"","sources":["../../src/launcher/abstract-hydranium-glsp-diagram-module.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;;;;;;;AAElF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAmB,MAAM,WAAW,CAAC;AAExD,OAAO,EAA0D,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACxG,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAqB,EAAE,QAA0B;IAClF,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;SAChC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;SAC9E,gBAAgB,EAAE,CAAC;AAC1B,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,sBAAsB,CAAC,SAA+B,EAAE,QAA0B;IACxF,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAuB,cAAc,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC;IACxG,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAyB,QAAQ,CAAC,CAAC,CAAC;IACvF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACb,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACxF,MAAM,IAAI,KAAK,CACZ,qCAAqC,QAAQ,CAAC,UAAU,qDAAqD;YAC1G,yBAAyB,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI;YACrF,0EAA0E,CAC/E,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AAEI,IAAe,kCAAkC,GAAjD,MAAe,kCAAmC,SAAQ,aAAa;IAgBxD,SAAS,CACzB,IAAqB,EACrB,MAAyB,EACzB,OAA2B,EAC3B,MAAyB;QAEzB,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC/C,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACrD,CAAC;CACH,CAAA;AAzBqB,kCAAkC;IADvD,UAAU,EAAE;GACS,kCAAkC,CAyBvD"}
1
+ {"version":3,"file":"abstract-hydranium-glsp-diagram-module.js","sourceRoot":"","sources":["../../src/launcher/abstract-hydranium-glsp-diagram-module.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;;;;;;;AAElF,OAAO,EAIJ,aAAa,EAEf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAmB,MAAM,WAAW,CAAC;AAExD,OAAO,EAA0D,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACxG,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAE,0CAA0C,EAAE,MAAM,gEAAgE,CAAC;AAC5H,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAEvF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAqB,EAAE,QAA0B;IAClF,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;SAChC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;SAC9E,gBAAgB,EAAE,CAAC;AAC1B,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,sBAAsB,CAAC,SAA+B,EAAE,QAA0B;IACxF,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAuB,cAAc,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC;IACxG,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAyB,QAAQ,CAAC,CAAC,CAAC;IACvF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACb,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACxF,MAAM,IAAI,KAAK,CACZ,qCAAqC,QAAQ,CAAC,UAAU,qDAAqD;YAC1G,yBAAyB,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI;YACrF,0EAA0E,CAC/E,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AAEI,IAAe,kCAAkC,GAAjD,MAAe,kCAAmC,SAAQ,aAAa;IAgBxD,SAAS,CACzB,IAAqB,EACrB,MAAyB,EACzB,OAA2B,EAC3B,MAAyB;QAEzB,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC/C,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,0GAA0G;IACvF,gBAAgB;QAChC,OAAO,yBAAyB,CAAC;IACpC,CAAC;IAED;;;OAGG;IACgB,uBAAuB,CAAC,OAAuD;QAC/F,KAAK,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAC3D,CAAC;CACH,CAAA;AAvCqB,kCAAkC;IADvD,UAAU,EAAE;GACS,kCAAkC,CAuCvD"}
@@ -14,15 +14,16 @@ import { ContainerModule } from 'inversify';
14
14
  *
15
15
  * **The tier matters, and the app container cannot stand in for it.** GLSP's
16
16
  * launcher creates the server container as a child and loads the adopter's
17
- * `ServerModule` into it, so a `GLSPServer` binding made further up is shadowed
18
- * rather than consulted, and inversify refuses to rebind a parent's binding
19
- * from a child at all. The framework's app-tier overrides therefore cannot
20
- * reach this symbol.
17
+ * `ServerModule` into it. The framework's server is a singleton of that
18
+ * container; bound in the app container, every connected application would
19
+ * share one server.
21
20
  *
22
- * **Load this AFTER the adopter's `ServerModule`, never beside it.** Both bind
23
- * `GLSPServer`, so a plain second binding resolves to an ambiguous-match error
24
- * rather than to either one; `rebind` needs the first binding to already be
25
- * present.
21
+ * **An adopter's server is kept when it extends {@link HydraniumGlspServer}.**
22
+ * Any other `GLSPServer` the adopter's `ServerModule` binds, upstream's default
23
+ * included, is replaced when the container first creates it, so a server that
24
+ * extends upstream's directly is discarded. The replacement happens on
25
+ * activation because `rebind` would replace an adopter's subclass as well; the
26
+ * discarded server is constructed once and never used.
26
27
  *
27
28
  * Keeping this out of the adopter's hands is the point: an adopter passes their
28
29
  * own `ServerModule` in, so anything they must add themselves is a fix the
@@ -1 +1 @@
1
- {"version":3,"file":"glsp-server-overrides.d.ts","sourceRoot":"","sources":["../../src/launcher/glsp-server-overrides.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAGlF,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAG5C;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,yBAAyB,IAAI,eAAe,CAI3D"}
1
+ {"version":3,"file":"glsp-server-overrides.d.ts","sourceRoot":"","sources":["../../src/launcher/glsp-server-overrides.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAGlF,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAG5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,yBAAyB,IAAI,eAAe,CAO3D"}
@@ -16,15 +16,16 @@ import { HydraniumGlspServer } from './hydranium-glsp-server.js';
16
16
  *
17
17
  * **The tier matters, and the app container cannot stand in for it.** GLSP's
18
18
  * launcher creates the server container as a child and loads the adopter's
19
- * `ServerModule` into it, so a `GLSPServer` binding made further up is shadowed
20
- * rather than consulted, and inversify refuses to rebind a parent's binding
21
- * from a child at all. The framework's app-tier overrides therefore cannot
22
- * reach this symbol.
19
+ * `ServerModule` into it. The framework's server is a singleton of that
20
+ * container; bound in the app container, every connected application would
21
+ * share one server.
23
22
  *
24
- * **Load this AFTER the adopter's `ServerModule`, never beside it.** Both bind
25
- * `GLSPServer`, so a plain second binding resolves to an ambiguous-match error
26
- * rather than to either one; `rebind` needs the first binding to already be
27
- * present.
23
+ * **An adopter's server is kept when it extends {@link HydraniumGlspServer}.**
24
+ * Any other `GLSPServer` the adopter's `ServerModule` binds, upstream's default
25
+ * included, is replaced when the container first creates it, so a server that
26
+ * extends upstream's directly is discarded. The replacement happens on
27
+ * activation because `rebind` would replace an adopter's subclass as well; the
28
+ * discarded server is constructed once and never used.
28
29
  *
29
30
  * Keeping this out of the adopter's hands is the point: an adopter passes their
30
31
  * own `ServerModule` in, so anything they must add themselves is a fix the
@@ -38,8 +39,9 @@ import { HydraniumGlspServer } from './hydranium-glsp-server.js';
38
39
  * a further adopter subclass moves it again.
39
40
  */
40
41
  export function createGlspServerOverrides() {
41
- return new ContainerModule((_bind, _unbind, _isBound, rebind) => {
42
- rebind(GLSPServer).to(HydraniumGlspServer).inSingletonScope();
42
+ return new ContainerModule((bind, _unbind, _isBound, _rebind, _unbindAsync, onActivation) => {
43
+ bind(HydraniumGlspServer).toSelf().inSingletonScope();
44
+ onActivation(GLSPServer, (context, server) => server instanceof HydraniumGlspServer ? server : context.container.get(HydraniumGlspServer));
43
45
  });
44
46
  }
45
47
  //# sourceMappingURL=glsp-server-overrides.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"glsp-server-overrides.js","sourceRoot":"","sources":["../../src/launcher/glsp-server-overrides.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,yBAAyB;IACtC,OAAO,IAAI,eAAe,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;QAC7D,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACjE,CAAC,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"glsp-server-overrides.js","sourceRoot":"","sources":["../../src/launcher/glsp-server-overrides.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,yBAAyB;IACtC,OAAO,IAAI,eAAe,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE;QACzF,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;QACtD,YAAY,CAAa,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CACtD,MAAM,YAAY,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAC7F,CAAC;IACL,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -16,9 +16,10 @@ import { type ClientSession, DefaultGLSPServer, type RequestAction, type Respons
16
16
  * `error.cause?.toString()` whenever the error is a {@link GLSPServerError},
17
17
  * and that one value feeds both the server log and the client's
18
18
  * {@link RejectAction}. A {@link GLSPServerError} carrying no `cause` therefore
19
- * reaches no reader at all — not the toast, not the details pane, not the log —
20
- * while a plain `Error` survives, because the other branch reads the error
21
- * itself. The typed error is the trap, and it is the one upstream's own
19
+ * reaches its readers as `undefined` — the log line and the client's
20
+ * action-dispatcher warning both print it — while a plain `Error` survives,
21
+ * because the other branch reads the error itself. The typed error is the trap,
22
+ * and it is the one upstream's own
22
23
  * `getOrThrow` helper raises: that helper's signature cannot pass a `cause`, so
23
24
  * an adopter using the sanctioned helper has no fix available on their side.
24
25
  * Restating the cause at each throw site is the alternative, and it costs
@@ -27,10 +28,10 @@ import { type ClientSession, DefaultGLSPServer, type RequestAction, type Respons
27
28
  * Only the REQUEST path needs this. Non-request actions fail through
28
29
  * upstream's `handleProcessError`, which reads `message` directly.
29
30
  *
30
- * Adopters who bind their own GLSP server should extend this class rather than
31
- * {@link DefaultGLSPServer}; the framework's server-container override replaces
32
- * whatever the adopter's `ServerModule` bound, so a subclass of upstream's
33
- * server would be discarded.
31
+ * An adopter who binds their own GLSP server extends this class rather than
32
+ * {@link DefaultGLSPServer}: the framework's server-container override keeps a
33
+ * server that extends this one and replaces any other, so a subclass of
34
+ * upstream's server is discarded.
34
35
  */
35
36
  export declare class HydraniumGlspServer extends DefaultGLSPServer {
36
37
  /**
@@ -46,9 +47,12 @@ export declare class HydraniumGlspServer extends DefaultGLSPServer {
46
47
  /**
47
48
  * Lifted verbatim from `@eclipse-glsp/server` 2.7.0's
48
49
  * {@link DefaultGLSPServer.handleClientRequest}, with the detail computation
49
- * delegated to {@link requestFailureDetail}. Nothing else here — the
50
- * timeout branch, the response dispatch, the nested send-failure handling —
51
- * relates to that fallback.
50
+ * delegated to {@link requestFailureDetail}, and one addition: a failed
51
+ * {@link RequestSaveModelAction} also raises the error notification a failed
52
+ * `SaveModelAction` raises. A rejection reaches only the client's log, and a
53
+ * Theia host only logs a rejected save, so without it a save that failed
54
+ * would tell the user nothing. Nothing else here — the timeout branch, the
55
+ * response dispatch, the nested send-failure handling — relates to either.
52
56
  *
53
57
  * **This body does not track upstream.** A release that changes request
54
58
  * handling would silently not apply, on the path every request takes. There
@@ -1 +1 @@
1
- {"version":3,"file":"hydranium-glsp-server.d.ts","sourceRoot":"","sources":["../../src/launcher/hydranium-glsp-server.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,aAAa,EAClB,iBAAiB,EAGjB,KAAK,aAAa,EAClB,KAAK,cAAc,EACrB,MAAM,sBAAsB,CAAC;AAG9B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBACa,mBAAoB,SAAQ,iBAAiB;IACvD;;;;;;;;OAQG;IACH,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;IAOlE;;;;;;;;;;;;;OAaG;cACsB,mBAAmB,CACzC,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,aAAa,CAAC,cAAc,CAAC,EACrC,QAAQ,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC;CAuBlB"}
1
+ {"version":3,"file":"hydranium-glsp-server.d.ts","sourceRoot":"","sources":["../../src/launcher/hydranium-glsp-server.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,aAAa,EAClB,iBAAiB,EAGjB,KAAK,aAAa,EAClB,KAAK,cAAc,EACrB,MAAM,sBAAsB,CAAC;AAI9B;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBACa,mBAAoB,SAAQ,iBAAiB;IACvD;;;;;;;;OAQG;IACH,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;IAOlE;;;;;;;;;;;;;;;;OAgBG;cACsB,mBAAmB,CACzC,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,aAAa,CAAC,cAAc,CAAC,EACrC,QAAQ,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC;CA4BlB"}
@@ -13,6 +13,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
13
13
  return c > 3 && r && Object.defineProperty(target, key, r), r;
14
14
  };
15
15
  import { DefaultGLSPServer, GLSPServerError, RejectAction } from '@eclipse-glsp/server';
16
+ import { RequestSaveModelAction } from '@hydranium/protocol';
16
17
  import { injectable } from 'inversify';
17
18
  /**
18
19
  * The GLSP server the framework binds in place of upstream's
@@ -23,9 +24,10 @@ import { injectable } from 'inversify';
23
24
  * `error.cause?.toString()` whenever the error is a {@link GLSPServerError},
24
25
  * and that one value feeds both the server log and the client's
25
26
  * {@link RejectAction}. A {@link GLSPServerError} carrying no `cause` therefore
26
- * reaches no reader at all — not the toast, not the details pane, not the log —
27
- * while a plain `Error` survives, because the other branch reads the error
28
- * itself. The typed error is the trap, and it is the one upstream's own
27
+ * reaches its readers as `undefined` — the log line and the client's
28
+ * action-dispatcher warning both print it — while a plain `Error` survives,
29
+ * because the other branch reads the error itself. The typed error is the trap,
30
+ * and it is the one upstream's own
29
31
  * `getOrThrow` helper raises: that helper's signature cannot pass a `cause`, so
30
32
  * an adopter using the sanctioned helper has no fix available on their side.
31
33
  * Restating the cause at each throw site is the alternative, and it costs
@@ -34,10 +36,10 @@ import { injectable } from 'inversify';
34
36
  * Only the REQUEST path needs this. Non-request actions fail through
35
37
  * upstream's `handleProcessError`, which reads `message` directly.
36
38
  *
37
- * Adopters who bind their own GLSP server should extend this class rather than
38
- * {@link DefaultGLSPServer}; the framework's server-container override replaces
39
- * whatever the adopter's `ServerModule` bound, so a subclass of upstream's
40
- * server would be discarded.
39
+ * An adopter who binds their own GLSP server extends this class rather than
40
+ * {@link DefaultGLSPServer}: the framework's server-container override keeps a
41
+ * server that extends this one and replaces any other, so a subclass of
42
+ * upstream's server is discarded.
41
43
  */
42
44
  let HydraniumGlspServer = class HydraniumGlspServer extends DefaultGLSPServer {
43
45
  /**
@@ -58,9 +60,12 @@ let HydraniumGlspServer = class HydraniumGlspServer extends DefaultGLSPServer {
58
60
  /**
59
61
  * Lifted verbatim from `@eclipse-glsp/server` 2.7.0's
60
62
  * {@link DefaultGLSPServer.handleClientRequest}, with the detail computation
61
- * delegated to {@link requestFailureDetail}. Nothing else here — the
62
- * timeout branch, the response dispatch, the nested send-failure handling —
63
- * relates to that fallback.
63
+ * delegated to {@link requestFailureDetail}, and one addition: a failed
64
+ * {@link RequestSaveModelAction} also raises the error notification a failed
65
+ * `SaveModelAction` raises. A rejection reaches only the client's log, and a
66
+ * Theia host only logs a rejected save, so without it a save that failed
67
+ * would tell the user nothing. Nothing else here — the timeout branch, the
68
+ * response dispatch, the nested send-failure handling — relates to either.
64
69
  *
65
70
  * **This body does not track upstream.** A release that changes request
66
71
  * handling would silently not apply, on the path every request takes. There
@@ -87,6 +92,11 @@ let HydraniumGlspServer = class HydraniumGlspServer extends DefaultGLSPServer {
87
92
  detail
88
93
  });
89
94
  this.sendResponseToClient(clientId, reject);
95
+ // Inside the guard: `process` does not await this method, so a
96
+ // closed connection throwing here would be an unhandled rejection.
97
+ if (action.kind === RequestSaveModelAction.KIND) {
98
+ this.handleProcessError({ clientId, action }, error);
99
+ }
90
100
  }
91
101
  catch (sendError) {
92
102
  this.logger.error(`Failed to send rejection for request '${action.requestId}':`, sendError);
@@ -1 +1 @@
1
- {"version":3,"file":"hydranium-glsp-server.js","sourceRoot":"","sources":["../../src/launcher/hydranium-glsp-server.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;;;;;;;AAElF,OAAO,EAEJ,iBAAiB,EACjB,eAAe,EACf,YAAY,EAGd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEI,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,iBAAiB;IACvD;;;;;;;;OAQG;IACO,oBAAoB,CAAC,KAAc;QAC1C,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClG,CAAC;QACD,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;;;;;;;;OAaG;IACgB,KAAK,CAAC,mBAAmB,CACzC,aAA4B,EAC5B,MAAqC,EACrC,QAAgB;QAEhB,IAAI,CAAC;YACF,MAAM,QAAQ,GACX,MAAM,CAAC,OAAO,KAAK,SAAS;gBACzB,CAAC,CAAC,MAAM,aAAa,CAAC,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC;gBACjF,CAAC,CAAC,MAAM,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7D,IAAI,QAAQ,EAAE,CAAC;gBACZ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACjD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,SAAS,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9F,IAAI,CAAC;gBACF,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,6BAA6B,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,SAAS,GAAG,EAAE;oBACnG,UAAU,EAAE,MAAM,CAAC,SAAS;oBAC5B,MAAM;iBACR,CAAC,CAAC;gBACH,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC/C,CAAC;YAAC,OAAO,SAAkB,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,MAAM,CAAC,SAAS,IAAI,EAAE,SAAS,CAAC,CAAC;YAC/F,CAAC;QACJ,CAAC;IACJ,CAAC;CACH,CAAA;AA1DY,mBAAmB;IAD/B,UAAU,EAAE;GACA,mBAAmB,CA0D/B"}
1
+ {"version":3,"file":"hydranium-glsp-server.js","sourceRoot":"","sources":["../../src/launcher/hydranium-glsp-server.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;;;;;;;AAElF,OAAO,EAEJ,iBAAiB,EACjB,eAAe,EACf,YAAY,EAGd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEI,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,iBAAiB;IACvD;;;;;;;;OAQG;IACO,oBAAoB,CAAC,KAAc;QAC1C,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClG,CAAC;QACD,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACgB,KAAK,CAAC,mBAAmB,CACzC,aAA4B,EAC5B,MAAqC,EACrC,QAAgB;QAEhB,IAAI,CAAC;YACF,MAAM,QAAQ,GACX,MAAM,CAAC,OAAO,KAAK,SAAS;gBACzB,CAAC,CAAC,MAAM,aAAa,CAAC,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC;gBACjF,CAAC,CAAC,MAAM,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7D,IAAI,QAAQ,EAAE,CAAC;gBACZ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACjD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,SAAS,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9F,IAAI,CAAC;gBACF,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,6BAA6B,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,SAAS,GAAG,EAAE;oBACnG,UAAU,EAAE,MAAM,CAAC,SAAS;oBAC5B,MAAM;iBACR,CAAC,CAAC;gBACH,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC5C,+DAA+D;gBAC/D,mEAAmE;gBACnE,IAAI,MAAM,CAAC,IAAI,KAAK,sBAAsB,CAAC,IAAI,EAAE,CAAC;oBAC/C,IAAI,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;gBACxD,CAAC;YACJ,CAAC;YAAC,OAAO,SAAkB,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,MAAM,CAAC,SAAS,IAAI,EAAE,SAAS,CAAC,CAAC;YAC/F,CAAC;QACJ,CAAC;IACJ,CAAC;CACH,CAAA;AAlEY,mBAAmB;IAD/B,UAAU,EAAE;GACA,mBAAmB,CAkE/B"}
@@ -0,0 +1,24 @@
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
+ * Every user-facing message `@hydranium/glsp-server` raises.
11
+ *
12
+ * **Each one is rendered AT ITS RAISE SITE**, through the shared
13
+ * `MessageRenderer`, because GLSP's action protocol carries no slot for an
14
+ * identity on any of its actions — so the identity is gone the moment a raise
15
+ * site formats its text, and there is nothing at the error boundary to render
16
+ * from. That makes this head the one place where a new message can ship
17
+ * unrendered without any single chokepoint noticing, which is why the package's
18
+ * own test suite scans for a declaration reached by `.format()` instead.
19
+ *
20
+ * The barrel is also how an adopter rendering their own diagram chrome
21
+ * discovers the codes exist.
22
+ */
23
+ export { DIAGRAM_READONLY_PARSE_ERROR, DIAGRAM_SESSION_REFUSED, SAVE_TARGET_UNKNOWN, SOURCE_URI_MISSING } from '../storage/hydranium-glsp-storage.js';
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/messages/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACJ,4BAA4B,EAC5B,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EACpB,MAAM,sCAAsC,CAAC"}
@@ -0,0 +1,24 @@
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
+ * Every user-facing message `@hydranium/glsp-server` raises.
11
+ *
12
+ * **Each one is rendered AT ITS RAISE SITE**, through the shared
13
+ * `MessageRenderer`, because GLSP's action protocol carries no slot for an
14
+ * identity on any of its actions — so the identity is gone the moment a raise
15
+ * site formats its text, and there is nothing at the error boundary to render
16
+ * from. That makes this head the one place where a new message can ship
17
+ * unrendered without any single chokepoint noticing, which is why the package's
18
+ * own test suite scans for a declaration reached by `.format()` instead.
19
+ *
20
+ * The barrel is also how an adopter rendering their own diagram chrome
21
+ * discovers the codes exist.
22
+ */
23
+ export { DIAGRAM_READONLY_PARSE_ERROR, DIAGRAM_SESSION_REFUSED, SAVE_TARGET_UNKNOWN, SOURCE_URI_MISSING } from '../storage/hydranium-glsp-storage.js';
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/messages/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACJ,4BAA4B,EAC5B,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EACpB,MAAM,sCAAsC,CAAC"}
@@ -8,7 +8,7 @@
8
8
  ********************************************************************************/
9
9
  import { type Logger as GlspLogger, type ServerModule } from '@eclipse-glsp/server/node.js';
10
10
  import { type ContainerModule } from 'inversify';
11
- import type { Logger } from '@hydranium/protocol';
11
+ import { type Logger } from '@hydranium/protocol';
12
12
  import type * as net from 'node:net';
13
13
  import type { IntegratedServer } from '@hydranium/core';
14
14
  import type { LspConnectionLike } from '@hydranium/core/node';
@@ -1 +1 @@
1
- {"version":3,"file":"start-glsp-server.d.ts","sourceRoot":"","sources":["../../src/node/start-glsp-server.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,MAAM,IAAI,UAAU,EACzB,KAAK,YAAY,EAKnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,UAAU,CAAC;IACvD;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACrD;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAC3C;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;OAQG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC;CAC7D;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,iBAAiB,CA+E7E"}
1
+ {"version":3,"file":"start-glsp-server.d.ts","sourceRoot":"","sources":["../../src/node/start-glsp-server.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,MAAM,IAAI,UAAU,EACzB,KAAK,YAAY,EAKnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAY,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,UAAU,CAAC;IACvD;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACrD;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAC3C;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;OAQG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC;CAC7D;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,iBAAiB,CA8E7E"}
@@ -8,7 +8,7 @@
8
8
  ********************************************************************************/
9
9
  import { SocketServerLauncher, createAppModule, defaultSocketLaunchOptions } from '@eclipse-glsp/server/node.js';
10
10
  import { Container } from 'inversify';
11
- import { Deferred } from '@hydranium/langium';
11
+ import { Deferred } from '@hydranium/protocol';
12
12
  import { createGlspFrameworkOverrides } from '../launcher/glsp-framework-overrides.js';
13
13
  import { createGlspServerOverrides } from '../launcher/glsp-server-overrides.js';
14
14
  /**
@@ -46,8 +46,7 @@ export function startGlspServer(options) {
46
46
  const launcher = appContainer.resolve(SocketServerLauncher);
47
47
  // Passed as an additional module rather than folded into the app container:
48
48
  // the launcher loads these into the per-connection SERVER container, which is
49
- // the only tier where the adopter's `ServerModule` binding of `GLSPServer`
50
- // can be rebound.
49
+ // the tier where each connection gets a server of its own.
51
50
  launcher.configure(options.serverModule, createGlspServerOverrides());
52
51
  const started = new Deferred();
53
52
  const portHandle = { port: undefined };
@@ -64,7 +63,7 @@ export function startGlspServer(options) {
64
63
  if (options.lspConnection && options.portCommand) {
65
64
  options.lspConnection.onRequest(options.portCommand, () => portHandle.port);
66
65
  }
67
- lifecycle?.info(`[GlspServer] Ready to accept new client requests on port: ${address.port}`);
66
+ lifecycle?.info(`[GlspServer] Ready to accept new client requests on ${address.address} port: ${address.port}`);
68
67
  started.resolve();
69
68
  }
70
69
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"start-glsp-server.js","sourceRoot":"","sources":["../../src/node/start-glsp-server.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAIJ,oBAAoB,EACpB,eAAe,EACf,0BAA0B,EAC5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,SAAS,EAAwB,MAAM,WAAW,CAAC;AAE5D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAgGjF;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,eAAe,CAAC,OAA0B;IACvD,MAAM,aAAa,GAAwB;QACxC,GAAG,0BAA0B;QAC7B,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,WAAW;QACjC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC;KACzB,CAAC;IACF,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAEjC,2EAA2E;IAC3E,4EAA4E;IAC5E,+EAA+E;IAC/E,iFAAiF;IACjF,8EAA8E;IAC9E,6EAA6E;IAC7E,2EAA2E;IAC3E,MAAM,aAAa,GAAG,eAAe,CAAC,EAAE,GAAG,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAE/F,MAAM,YAAY,GAAG,IAAI,SAAS,EAAE,CAAC;IACrC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,4BAA4B,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;IAEpH,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAuB,oBAAoB,CAAC,CAAC;IAClF,4EAA4E;IAC5E,8EAA8E;IAC9E,2EAA2E;IAC3E,kBAAkB;IAClB,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,yBAAyB,EAAE,CAAC,CAAC;IAEtE,MAAM,OAAO,GAAG,IAAI,QAAQ,EAAQ,CAAC;IACrC,MAAM,UAAU,GAAiC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAErE,IAAI,CAAC;QACF,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QAEtE,mEAAmE;QACnE,kEAAkE;QAClE,2DAA2D;QAC3D,MAAM,SAAS,GAAI,QAAiD,CAAC,SAAS,CAAC;QAE/E,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;YAC5B,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;YACpC,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC1C,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;gBAC/B,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;oBAChD,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC/E,CAAC;gBACD,SAAS,EAAE,IAAI,CAAC,6DAA6D,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC7F,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACL,MAAM,OAAO,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,qBAAqB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;gBAC/F,SAAS,EAAE,KAAK,CAAC,iDAAiD,OAAO,kBAAkB,CAAC,CAAC;gBAC7F,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oDAAoD,OAAO,EAAE,CAAC,CAAC,CAAC;gBACzF,SAAS,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;YAClC,SAAS,EAAE,KAAK,CAAC,uBAAuB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAC9B,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO;YACJ,IAAI,IAAI;gBACL,OAAO,UAAU,CAAC,IAAI,CAAC;YAC1B,CAAC;YACD,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,cAAc;SACzB,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACd,SAAS,EAAE,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;QAC1D,OAAO;YACJ,IAAI,IAAI;gBACL,OAAO,UAAU,CAAC,IAAI,CAAC;YAC1B,CAAC;YACD,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YAC9B,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;SAC5B,CAAC;IACL,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"start-glsp-server.js","sourceRoot":"","sources":["../../src/node/start-glsp-server.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAIJ,oBAAoB,EACpB,eAAe,EACf,0BAA0B,EAC5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,SAAS,EAAwB,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAe,MAAM,qBAAqB,CAAC;AAG5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAgGjF;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,eAAe,CAAC,OAA0B;IACvD,MAAM,aAAa,GAAwB;QACxC,GAAG,0BAA0B;QAC7B,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,WAAW;QACjC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC;KACzB,CAAC;IACF,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAEjC,2EAA2E;IAC3E,4EAA4E;IAC5E,+EAA+E;IAC/E,iFAAiF;IACjF,8EAA8E;IAC9E,6EAA6E;IAC7E,2EAA2E;IAC3E,MAAM,aAAa,GAAG,eAAe,CAAC,EAAE,GAAG,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAE/F,MAAM,YAAY,GAAG,IAAI,SAAS,EAAE,CAAC;IACrC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,4BAA4B,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;IAEpH,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAuB,oBAAoB,CAAC,CAAC;IAClF,4EAA4E;IAC5E,8EAA8E;IAC9E,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,yBAAyB,EAAE,CAAC,CAAC;IAEtE,MAAM,OAAO,GAAG,IAAI,QAAQ,EAAQ,CAAC;IACrC,MAAM,UAAU,GAAiC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAErE,IAAI,CAAC;QACF,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QAEtE,mEAAmE;QACnE,kEAAkE;QAClE,2DAA2D;QAC3D,MAAM,SAAS,GAAI,QAAiD,CAAC,SAAS,CAAC;QAE/E,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;YAC5B,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;YACpC,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC1C,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;gBAC/B,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;oBAChD,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC/E,CAAC;gBACD,SAAS,EAAE,IAAI,CAAC,uDAAuD,OAAO,CAAC,OAAO,UAAU,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;gBAChH,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACL,MAAM,OAAO,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,qBAAqB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;gBAC/F,SAAS,EAAE,KAAK,CAAC,iDAAiD,OAAO,kBAAkB,CAAC,CAAC;gBAC7F,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oDAAoD,OAAO,EAAE,CAAC,CAAC,CAAC;gBACzF,SAAS,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;YAClC,SAAS,EAAE,KAAK,CAAC,uBAAuB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAC9B,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO;YACJ,IAAI,IAAI;gBACL,OAAO,UAAU,CAAC,IAAI,CAAC;YAC1B,CAAC;YACD,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,cAAc;SACzB,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACd,SAAS,EAAE,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;QAC1D,OAAO;YACJ,IAAI,IAAI;gBACL,OAAO,UAAU,CAAC,IAAI,CAAC;YAC1B,CAAC;YACD,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YAC9B,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;SAC5B,CAAC;IACL,CAAC;AACJ,CAAC"}