@hydranium/core 1.0.0-next.36 → 1.0.0-next.37

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 (86) hide show
  1. package/lib/documents/ast-document-manager.d.ts +42 -5
  2. package/lib/documents/ast-document-manager.d.ts.map +1 -1
  3. package/lib/documents/ast-document-manager.js +3 -7
  4. package/lib/documents/ast-document-manager.js.map +1 -1
  5. package/lib/documents/self-save-registry.d.ts +37 -6
  6. package/lib/documents/self-save-registry.d.ts.map +1 -1
  7. package/lib/documents/self-save-registry.js +28 -15
  8. package/lib/documents/self-save-registry.js.map +1 -1
  9. package/lib/index.d.ts +1 -0
  10. package/lib/index.d.ts.map +1 -1
  11. package/lib/index.js +4 -0
  12. package/lib/index.js.map +1 -1
  13. package/lib/langium/bootstrap.js +8 -8
  14. package/lib/langium/bootstrap.js.map +1 -1
  15. package/lib/langium/document-builder/build-pipeline-integration.d.ts +13 -1
  16. package/lib/langium/document-builder/build-pipeline-integration.d.ts.map +1 -1
  17. package/lib/langium/document-builder/build-pipeline-integration.js +1 -1
  18. package/lib/langium/document-builder/build-pipeline-integration.js.map +1 -1
  19. package/lib/langium/document-builder/document-builder.d.ts +2 -2
  20. package/lib/langium/document-builder/document-builder.d.ts.map +1 -1
  21. package/lib/langium/document-builder/document-builder.js.map +1 -1
  22. package/lib/langium/integration-services.d.ts +1 -1
  23. package/lib/langium/model-service/model-service.d.ts +64 -5
  24. package/lib/langium/model-service/model-service.d.ts.map +1 -1
  25. package/lib/langium/model-service/model-service.js +5 -73
  26. package/lib/langium/model-service/model-service.js.map +1 -1
  27. package/lib/langium/module.d.ts +58 -16
  28. package/lib/langium/module.d.ts.map +1 -1
  29. package/lib/langium/module.js +16 -16
  30. package/lib/langium/module.js.map +1 -1
  31. package/lib/langium/residency/cst-residency-service.d.ts +30 -8
  32. package/lib/langium/residency/cst-residency-service.d.ts.map +1 -1
  33. package/lib/langium/residency/cst-residency-service.js +13 -56
  34. package/lib/langium/residency/cst-residency-service.js.map +1 -1
  35. package/lib/langium/shared-services.d.ts +3 -3
  36. package/lib/langium/shared-services.d.ts.map +1 -1
  37. package/lib/langium/transfer/transfer-encoder.d.ts +29 -1
  38. package/lib/langium/transfer/transfer-encoder.d.ts.map +1 -1
  39. package/lib/langium/transfer/transfer-encoder.js +1 -1
  40. package/lib/langium/transfer/transfer-encoder.js.map +1 -1
  41. package/lib/locale/server-locale.d.ts +15 -1
  42. package/lib/locale/server-locale.d.ts.map +1 -1
  43. package/lib/locale/server-locale.js +1 -1
  44. package/lib/locale/server-locale.js.map +1 -1
  45. package/lib/lsp/hydranium-document-update-handler.js +1 -1
  46. package/lib/lsp/hydranium-document-update-handler.js.map +1 -1
  47. package/lib/messages/renderer.d.ts +23 -4
  48. package/lib/messages/renderer.d.ts.map +1 -1
  49. package/lib/messages/renderer.js +1 -1
  50. package/lib/messages/renderer.js.map +1 -1
  51. package/lib/testing/make-noop-shared-services.d.ts +4 -4
  52. package/lib/testing/make-noop-shared-services.d.ts.map +1 -1
  53. package/lib/testing/make-noop-shared-services.js +4 -4
  54. package/lib/testing/make-noop-shared-services.js.map +1 -1
  55. package/lib/testing/make-test-services.d.ts +9 -9
  56. package/lib/testing/make-test-services.d.ts.map +1 -1
  57. package/lib/testing/make-test-services.js +6 -6
  58. package/lib/testing/make-test-services.js.map +1 -1
  59. package/lib/testing/stub-ast-document-manager.d.ts +3 -4
  60. package/lib/testing/stub-ast-document-manager.d.ts.map +1 -1
  61. package/lib/testing/stub-ast-document-manager.js +2 -5
  62. package/lib/testing/stub-ast-document-manager.js.map +1 -1
  63. package/lib/testing/stub-model-service.d.ts +1 -1
  64. package/lib/testing/stub-model-service.d.ts.map +1 -1
  65. package/lib/testing/stub-model-service.js +2 -2
  66. package/lib/testing/stub-model-service.js.map +1 -1
  67. package/package.json +5 -5
  68. package/src/documents/ast-document-manager.ts +49 -9
  69. package/src/documents/self-save-registry.ts +52 -13
  70. package/src/index.ts +4 -0
  71. package/src/langium/bootstrap.ts +8 -8
  72. package/src/langium/document-builder/build-pipeline-integration.ts +14 -1
  73. package/src/langium/document-builder/document-builder.ts +2 -2
  74. package/src/langium/integration-services.ts +1 -1
  75. package/src/langium/model-service/model-service.ts +78 -7
  76. package/src/langium/module.ts +71 -24
  77. package/src/langium/residency/cst-residency-service.ts +35 -11
  78. package/src/langium/shared-services.ts +3 -3
  79. package/src/langium/transfer/transfer-encoder.ts +32 -1
  80. package/src/locale/server-locale.ts +16 -1
  81. package/src/lsp/hydranium-document-update-handler.ts +1 -1
  82. package/src/messages/renderer.ts +24 -4
  83. package/src/testing/make-noop-shared-services.ts +6 -6
  84. package/src/testing/make-test-services.ts +15 -15
  85. package/src/testing/stub-ast-document-manager.ts +5 -10
  86. package/src/testing/stub-model-service.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/messages/renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAKJ,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,MAAM,EACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG/D,8DAA8D;AAC9D,MAAM,MAAM,4BAA4B,GAAG,cAAc,CAAC;AAE1D;;;;;;;;;;;;GAYG;AACH,qBAAa,qBAAqB;IAC/B,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAC9C;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,QAAQ,CAAC,UAAU,sEAA6E;gBAE9F,QAAQ,EAAE,2BAA2B,EAAE,OAAO,GAAE,4BAAiC;IAK7F;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM;IAUhD;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,MAAM;IAUlD;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM;IAkB/F;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;IAI1F;;;;;;;;;;OAUG;IACH,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM;IAQlD;;;;OAIG;IACH,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5D,qFAAqF;IACrF,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;CAGtE"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/messages/renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAKJ,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,MAAM,EACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG/D,+DAA+D;AAC/D,MAAM,MAAM,sBAAsB,GAAG,cAAc,CAAC;AAEpD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,eAAe;IAC7B,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC;IACjD,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;IACnD,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;CAClG;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,sBAAuB,YAAW,eAAe;IAC3D,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAC9C;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,QAAQ,CAAC,UAAU,sEAA6E;gBAE9F,QAAQ,EAAE,2BAA2B,EAAE,OAAO,GAAE,sBAA2B;IAKvF;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM;IAUhD;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,MAAM;IAUlD;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM;IAkB/F;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;IAI1F;;;;;;;;;;OAUG;IACH,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM;IAQlD;;;;OAIG;IACH,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5D,qFAAqF;IACrF,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;CAGtE"}
@@ -23,7 +23,7 @@ import { resolvedFromDiagnostic } from './carriers.js';
23
23
  * single `render(text)` would force an adopter to match English prose, which
24
24
  * breaks on the first Langium reword.
25
25
  */
26
- export class ServerMessageRenderer {
26
+ export class DefaultMessageRenderer {
27
27
  tracer;
28
28
  serverLocale;
29
29
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/messages/renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/messages/renderer.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,8 @@
8
8
  ********************************************************************************/
9
9
  import { type Clock, type Logger, type Tracer } from '@hydranium/protocol';
10
10
  import type { ServerSharedServicesMinimal } from '../langium/shared-services.js';
11
- import { ServerLocale } from '../locale/server-locale.js';
12
- import { ServerMessageRenderer } from '../messages/renderer.js';
11
+ import { type ServerLocale } from '../locale/server-locale.js';
12
+ import { type MessageRenderer } from '../messages/renderer.js';
13
13
  /**
14
14
  * Overrides for {@link makeNoopSharedServices}. The three observability slots
15
15
  * are typed (they are the boilerplate this helper exists to default);
@@ -33,14 +33,14 @@ export interface NoopSharedServicesOverrides {
33
33
  ServerLocale?: (services: ServerSharedServicesMinimal) => ServerLocale;
34
34
  /**
35
35
  * Factory for the `MessageRenderer` slot. Default: the real
36
- * {@link ServerMessageRenderer}, whose no-catalogue behaviour is a
36
+ * {@link DefaultMessageRenderer}, whose no-catalogue behaviour is a
37
37
  * pass-through — so the default is the framework's own behaviour, not a stub.
38
38
  *
39
39
  * A factory rather than an instance, because a renderer reads the tree it is
40
40
  * bound into. Both slots are resolved lazily, so an override is honoured
41
41
  * however late the caller reads them.
42
42
  */
43
- MessageRenderer?: (services: ServerSharedServicesMinimal) => ServerMessageRenderer;
43
+ MessageRenderer?: (services: ServerSharedServicesMinimal) => MessageRenderer;
44
44
  /** Per-slot `workspace` overrides. Slots left out resolve to `undefined`. */
45
45
  workspace?: Record<string, unknown>;
46
46
  /** Any other minimal slot (`ServiceRegistry`, `AstReflection`, `additionalDocuments`, …). */
@@ -1 +1 @@
1
- {"version":3,"file":"make-noop-shared-services.d.ts","sourceRoot":"","sources":["../../src/testing/make-noop-shared-services.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,KAAK,EAAiB,KAAK,MAAM,EAA2B,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACnH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;;;;;GAOG;AACH,MAAM,WAAW,2BAA2B;IACzC,yEAAyE;IACzE,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gGAAgG;IAChG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qFAAqF;IACrF,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,2BAA2B,KAAK,YAAY,CAAC;IACvE;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,2BAA2B,KAAK,qBAAqB,CAAC;IACnF,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,6FAA6F;IAC7F,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,2BAA2B,GAAG,2BAA2B,EACvG,SAAS,GAAE,2BAAgC,GAC3C,CAAC,CA8BH"}
1
+ {"version":3,"file":"make-noop-shared-services.d.ts","sourceRoot":"","sources":["../../src/testing/make-noop-shared-services.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,KAAK,EAAiB,KAAK,MAAM,EAA2B,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACnH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAA0B,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEvF;;;;;;;GAOG;AACH,MAAM,WAAW,2BAA2B;IACzC,yEAAyE;IACzE,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gGAAgG;IAChG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qFAAqF;IACrF,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,2BAA2B,KAAK,YAAY,CAAC;IACvE;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,2BAA2B,KAAK,eAAe,CAAC;IAC7E,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,6FAA6F;IAC7F,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,2BAA2B,GAAG,2BAA2B,EACvG,SAAS,GAAE,2BAAgC,GAC3C,CAAC,CA8BH"}
@@ -7,8 +7,8 @@
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
9
  import { DefaultTracer, NoopLogger, SystemClock } from '@hydranium/protocol';
10
- import { ServerLocale } from '../locale/server-locale.js';
11
- import { ServerMessageRenderer } from '../messages/renderer.js';
10
+ import { DefaultServerLocale } from '../locale/server-locale.js';
11
+ import { DefaultMessageRenderer } from '../messages/renderer.js';
12
12
  /**
13
13
  * Build a {@link ServerSharedServicesMinimal} tree backed by no-op defaults for
14
14
  * the observability slots every framework component reads (`Clock` / `Logger` /
@@ -52,8 +52,8 @@ export function makeNoopSharedServices(overrides = {}) {
52
52
  // both services emit an `instantiated` trace, so building them eagerly puts
53
53
  // two lines into the capture of every test that passes a capturing logger
54
54
  // and asserts on emptiness.
55
- defineLazySlot(services, 'ServerLocale', () => serverLocale?.(services) ?? new ServerLocale(services));
56
- defineLazySlot(services, 'MessageRenderer', () => messageRenderer?.(services) ?? new ServerMessageRenderer(services));
55
+ defineLazySlot(services, 'ServerLocale', () => serverLocale?.(services) ?? new DefaultServerLocale(services));
56
+ defineLazySlot(services, 'MessageRenderer', () => messageRenderer?.(services) ?? new DefaultMessageRenderer(services));
57
57
  return services;
58
58
  }
59
59
  /** Install `name` as a memoized getter, so nothing is constructed until it is read. */
@@ -1 +1 @@
1
- {"version":3,"file":"make-noop-shared-services.js","sourceRoot":"","sources":["../../src/testing/make-noop-shared-services.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAc,aAAa,EAAe,UAAU,EAAE,WAAW,EAAe,MAAM,qBAAqB,CAAC;AAEnH,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAuChE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,sBAAsB,CACnC,YAAyC,EAAE;IAE3C,MAAM,EACH,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,SAAS,EACT,mBAAmB,EACnB,GAAG,OAAO,EACZ,GAAG,SAAS,CAAC;IACd,MAAM,aAAa,GAAG,KAAK,IAAI,IAAI,WAAW,EAAE,CAAC;IACjD,MAAM,cAAc,GAAG,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;IAClD,MAAM,cAAc,GAAG,MAAM,IAAI,IAAI,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IAClF,8EAA8E;IAC9E,MAAM,QAAQ,GAAG;QACd,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,cAAc;QACtB,mBAAmB,EAAE,mBAAmB,IAAI,EAAE;QAC9C,GAAG,OAAO;QACV,SAAS,EAAE,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE;KACrB,CAAC;IAClB,0EAA0E;IAC1E,4EAA4E;IAC5E,0EAA0E;IAC1E,4BAA4B;IAC5B,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvG,cAAc,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtH,OAAO,QAAQ,CAAC;AACnB,CAAC;AAED,uFAAuF;AACvF,SAAS,cAAc,CAAC,MAAc,EAAE,IAAY,EAAE,MAAqB;IACxE,IAAI,QAAiB,CAAC;IACtB,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE;QACjC,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,IAAI;QAChB,GAAG,EAAE,GAAG,EAAE;YACP,IAAI,CAAC,KAAK,EAAE,CAAC;gBACV,QAAQ,GAAG,MAAM,EAAE,CAAC;gBACpB,KAAK,GAAG,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,QAAQ,CAAC;QACnB,CAAC;KACH,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"make-noop-shared-services.js","sourceRoot":"","sources":["../../src/testing/make-noop-shared-services.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAc,aAAa,EAAe,UAAU,EAAE,WAAW,EAAe,MAAM,qBAAqB,CAAC;AAEnH,OAAO,EAAE,mBAAmB,EAAqB,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAwB,MAAM,yBAAyB,CAAC;AAuCvF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,sBAAsB,CACnC,YAAyC,EAAE;IAE3C,MAAM,EACH,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,SAAS,EACT,mBAAmB,EACnB,GAAG,OAAO,EACZ,GAAG,SAAS,CAAC;IACd,MAAM,aAAa,GAAG,KAAK,IAAI,IAAI,WAAW,EAAE,CAAC;IACjD,MAAM,cAAc,GAAG,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;IAClD,MAAM,cAAc,GAAG,MAAM,IAAI,IAAI,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IAClF,8EAA8E;IAC9E,MAAM,QAAQ,GAAG;QACd,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,cAAc;QACtB,mBAAmB,EAAE,mBAAmB,IAAI,EAAE;QAC9C,GAAG,OAAO;QACV,SAAS,EAAE,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE;KACrB,CAAC;IAClB,0EAA0E;IAC1E,4EAA4E;IAC5E,0EAA0E;IAC1E,4BAA4B;IAC5B,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9G,cAAc,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvH,OAAO,QAAQ,CAAC;AACnB,CAAC;AAED,uFAAuF;AACvF,SAAS,cAAc,CAAC,MAAc,EAAE,IAAY,EAAE,MAAqB;IACxE,IAAI,QAAiB,CAAC;IACtB,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE;QACjC,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,IAAI;QAChB,GAAG,EAAE,GAAG,EAAE;YACP,IAAI,CAAC,KAAK,EAAE,CAAC;gBACV,QAAQ,GAAG,MAAM,EAAE,CAAC;gBACpB,KAAK,GAAG,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,QAAQ,CAAC;QACnB,CAAC;KACH,CAAC,CAAC;AACN,CAAC"}
@@ -7,13 +7,13 @@
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
9
  import { type Clock, type Logger, type Project, type Tracer, type TransferDiagnostic, type TransferElement } from '@hydranium/protocol';
10
- import { ServerLocale } from '../locale/server-locale.js';
11
- import { ServerMessageRenderer } from '../messages/renderer.js';
10
+ import { type ServerLocale } from '../locale/server-locale.js';
11
+ import { type MessageRenderer } from '../messages/renderer.js';
12
12
  import type { Harness } from '@hydranium/protocol/testing';
13
13
  import { type AstNode, type AstNodeDescription, type WorkspaceLock } from '@hydranium/langium';
14
14
  import type { ModelService, ModelServiceOptions } from '../langium/model-service/model-service.js';
15
15
  import type { ServerSharedServices } from '../langium/module.js';
16
- import { TransferEncoder } from '../langium/transfer/transfer-encoder.js';
16
+ import { type TransferEncoder } from '../langium/transfer/transfer-encoder.js';
17
17
  import { type DocumentUriPolicy } from '../langium/workspace/document-uri-policy.js';
18
18
  import type { FakeDocumentOptions } from './fake-document.js';
19
19
  import { type StubDocumentBuilder } from './stub-document-builder.js';
@@ -73,7 +73,7 @@ export interface TestSharedServices<TAst extends AstNode = AstNode, TDiagnostic
73
73
  WorkspaceLock: WorkspaceLock;
74
74
  };
75
75
  readonly model: {
76
- TransferEncoder: TransferEncoder<unknown, TDiagnostic>;
76
+ TransferEncoder: TransferEncoder<TDiagnostic>;
77
77
  ModelService: ModelService<TAst, TDiagnostic, TTransfer>;
78
78
  };
79
79
  /**
@@ -84,7 +84,7 @@ export interface TestSharedServices<TAst extends AstNode = AstNode, TDiagnostic
84
84
  * `Validated` phase, where an omitted slot is a `TypeError`.
85
85
  */
86
86
  readonly ServerLocale: ServerLocale;
87
- readonly MessageRenderer: ServerMessageRenderer;
87
+ readonly MessageRenderer: MessageRenderer;
88
88
  }
89
89
  /** Optional configuration for {@link makeTestServices}. */
90
90
  export interface MakeTestServicesOptions<TAst extends AstNode = AstNode, TDiagnostic extends TransferDiagnostic = TransferDiagnostic, TTransfer extends TransferElement = TransferElement, TProject extends Project = Project> {
@@ -103,7 +103,7 @@ export interface MakeTestServicesOptions<TAst extends AstNode = AstNode, TDiagno
103
103
  * passes every sentence through unchanged. Supply one to install a catalogue
104
104
  * or to drive the throwing path.
105
105
  */
106
- messageRenderer?: (services: ServerSharedServices<TProject>) => ServerMessageRenderer;
106
+ messageRenderer?: (services: ServerSharedServices<TProject>) => MessageRenderer;
107
107
  /** Locale handed to the bundle's {@link ServerLocale}. Default: none, i.e. the framework's English. */
108
108
  locale?: string;
109
109
  /**
@@ -181,7 +181,7 @@ export interface MakeTestServicesOptions<TAst extends AstNode = AstNode, TDiagno
181
181
  * Override the {@link TransferEncoder} factory. Default: framework
182
182
  * {@link TransferEncoder} with no overrides.
183
183
  */
184
- transferEncoder?: (services: ServerSharedServices<TProject>) => TransferEncoder<unknown, TDiagnostic>;
184
+ transferEncoder?: (services: ServerSharedServices<TProject>) => TransferEncoder<TDiagnostic>;
185
185
  }
186
186
  /**
187
187
  * Bundle returned by {@link makeTestServices}. Exposes the assembled
@@ -217,7 +217,7 @@ export interface TestServicesBundle<TAst extends AstNode = AstNode, TDiagnostic
217
217
  */
218
218
  readonly indexManager: StubIndexManager | undefined;
219
219
  readonly modelService: ModelService<TAst, TDiagnostic, TTransfer>;
220
- readonly transferEncoder: TransferEncoder<unknown, TDiagnostic>;
220
+ readonly transferEncoder: TransferEncoder<TDiagnostic>;
221
221
  readonly logger: Logger;
222
222
  /** The clock bound on the `Clock` slot — a `makeFakeClock()` if one was passed. */
223
223
  readonly clock: Clock;
@@ -228,7 +228,7 @@ export interface TestServicesBundle<TAst extends AstNode = AstNode, TDiagnostic
228
228
  */
229
229
  readonly serverLocale: ServerLocale;
230
230
  /** The renderer bound on `MessageRenderer` — the framework's own unless one was supplied. */
231
- readonly messageRenderer: ServerMessageRenderer;
231
+ readonly messageRenderer: MessageRenderer;
232
232
  }
233
233
  /**
234
234
  * Build a {@link ServerSharedServices} tree backed by the framework's
@@ -1 +1 @@
1
- {"version":3,"file":"make-test-services.d.ts","sourceRoot":"","sources":["../../src/testing/make-test-services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"make-test-services.d.ts","sourceRoot":"","sources":["../../src/testing/make-test-services.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,KAAK,EAEV,KAAK,MAAM,EAEX,KAAK,OAAO,EAEZ,KAAK,MAAM,EACX,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAA0B,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC/F,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AACnG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAA0B,KAAK,eAAe,EAAE,MAAM,yCAAyC,CAAC;AACvG,OAAO,EAA4B,KAAK,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAE/G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAA2B,KAAK,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAC/F,OAAO,EAAwB,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAA4B,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAElG,OAAO,EAA8B,KAAK,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACzG,OAAO,EAA0B,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC5F,OAAO,EAA4B,KAAK,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACnG,OAAO,EAAkC,KAAK,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AACrH,OAAO,EAA2B,KAAK,sBAAsB,EAAE,KAAK,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAC5H,OAAO,EAA8B,KAAK,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAEzG;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB,CAChC,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,WAAW,SAAS,kBAAkB,GAAG,kBAAkB,EAC3D,SAAS,SAAS,eAAe,GAAG,eAAe,EACnD,QAAQ,SAAS,OAAO,GAAG,OAAO;IAElC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,mBAAmB,CAAC;IAC/C,QAAQ,CAAC,SAAS,EAAE;QACjB,gBAAgB,EAAE,oBAAoB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC1D,eAAe,EAAE,mBAAmB,CAAC;QACrC,aAAa,EAAE,0BAA0B,CAAC;QAC1C,kBAAkB,EAAE,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC9D,kBAAkB,EAAE,sBAAsB,CAAC;QAC3C,gBAAgB,EAAE,oBAAoB,CAAC;QACvC,cAAc,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC7C,iBAAiB,EAAE,iBAAiB,CAAC;QACrC;;;;WAIG;QACH,YAAY,CAAC,EAAE,gBAAgB,CAAC;QAChC;;;;;;;;WAQG;QACH,aAAa,EAAE,aAAa,CAAC;KAC/B,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE;QACb,eAAe,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;QAC9C,YAAY,EAAE,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;KAC3D,CAAC;IACF;;;;;;OAMG;IACH,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;CAC5C;AAED,2DAA2D;AAC3D,MAAM,WAAW,uBAAuB,CACrC,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,WAAW,SAAS,kBAAkB,GAAG,kBAAkB,EAC3D,SAAS,SAAS,eAAe,GAAG,eAAe,EACnD,QAAQ,SAAS,OAAO,GAAG,OAAO;IAElC;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC;IACrD;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,CAAC,KAAK,eAAe,CAAC;IAChF,uGAAuG;IACvG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC9C;;;;OAIG;IACH,eAAe,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,aAAa,CAAC,EAAE,aAAa,CAAC;QAC3B,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,IAAI,CAAC;QACX,OAAO,CAAC,EAAE,mBAAmB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;KACnD,CAAC,CAAC;IACH,oEAAoE;IACpE,YAAY,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IACnC;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC1C;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,CAAC,KAAK,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IACxG;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,CAAC,KAAK,eAAe,CAAC,WAAW,CAAC,CAAC;CAC/F;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,kBAAkB,CAChC,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,WAAW,SAAS,kBAAkB,GAAG,kBAAkB,EAC3D,SAAS,SAAS,eAAe,GAAG,eAAe,EACnD,QAAQ,SAAS,OAAO,GAAG,OAAO,CACnC,SAAQ,OAAO;IACd,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAClD,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC5D,QAAQ,CAAC,aAAa,EAAE,0BAA0B,CAAC;IACnD,QAAQ,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACvE,QAAQ,CAAC,eAAe,EAAE,mBAAmB,CAAC;IAC9C,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAC;IAC5C,QAAQ,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;IAChD,QAAQ,CAAC,cAAc,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACtD,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAC1D;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IAClE,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;IACvD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,mFAAmF;IACnF,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,6FAA6F;IAC7F,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;CAC5C;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC7B,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,WAAW,SAAS,kBAAkB,GAAG,kBAAkB,EAC3D,SAAS,SAAS,eAAe,GAAG,eAAe,EACnD,QAAQ,SAAS,OAAO,GAAG,OAAO,EAElC,OAAO,GAAE,uBAAuB,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAM,GAC7E,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAoH5D"}
@@ -7,9 +7,9 @@
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
9
  import { DefaultTracer, NoopLogger, SystemClock } from '@hydranium/protocol';
10
- import { ServerLocale } from '../locale/server-locale.js';
11
- import { ServerMessageRenderer } from '../messages/renderer.js';
12
- import { TransferEncoder } from '../langium/transfer/transfer-encoder.js';
10
+ import { DefaultServerLocale } from '../locale/server-locale.js';
11
+ import { DefaultMessageRenderer } from '../messages/renderer.js';
12
+ import { DefaultTransferEncoder } from '../langium/transfer/transfer-encoder.js';
13
13
  import { DefaultDocumentUriPolicy } from '../langium/workspace/document-uri-policy.js';
14
14
  import { HydraniumWorkspaceLock } from '../langium/workspace/hydranium-workspace-lock.js';
15
15
  import { makeStubDocumentBuilder } from './stub-document-builder.js';
@@ -98,17 +98,17 @@ export function makeTestServices(options = {}) {
98
98
  // Patched in after the literal, like `model` below: both read the tree they
99
99
  // belong to, and the renderer reads the locale service.
100
100
  const mutableMessages = services;
101
- const serverLocale = new ServerLocale(sharedServices);
101
+ const serverLocale = new DefaultServerLocale(sharedServices);
102
102
  if (options.locale) {
103
103
  serverLocale.accept(options.locale);
104
104
  }
105
105
  mutableMessages.ServerLocale = serverLocale;
106
- const messageRenderer = options.messageRenderer?.(sharedServices) ?? new ServerMessageRenderer(sharedServices);
106
+ const messageRenderer = options.messageRenderer?.(sharedServices) ?? new DefaultMessageRenderer(sharedServices);
107
107
  mutableMessages.MessageRenderer = messageRenderer;
108
108
  const serialize = options.serialize ?? ((_uri, root) => JSON.stringify(root));
109
109
  const transferEncoder = options.transferEncoder
110
110
  ? options.transferEncoder(sharedServices)
111
- : new TransferEncoder(sharedServices);
111
+ : new DefaultTransferEncoder(sharedServices);
112
112
  const modelService = options.modelService
113
113
  ? options.modelService(sharedServices)
114
114
  : makeStubModelService(sharedServices, serialize, options.modelServiceOptions);
@@ -1 +1 @@
1
- {"version":3,"file":"make-test-services.js","sourceRoot":"","sources":["../../src/testing/make-test-services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"make-test-services.js","sourceRoot":"","sources":["../../src/testing/make-test-services.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAEJ,aAAa,EAEb,UAAU,EAEV,WAAW,EAIb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAqB,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAwB,MAAM,yBAAyB,CAAC;AAKvF,OAAO,EAAE,sBAAsB,EAAwB,MAAM,yCAAyC,CAAC;AACvG,OAAO,EAAE,wBAAwB,EAA0B,MAAM,6CAA6C,CAAC;AAC/G,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAE1F,OAAO,EAAE,uBAAuB,EAA4B,MAAM,4BAA4B,CAAC;AAC/F,OAAO,EAAE,oBAAoB,EAAyB,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAAE,wBAAwB,EAA6B,MAAM,6BAA6B,CAAC;AAClG,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAA+B,MAAM,gCAAgC,CAAC;AACzG,OAAO,EAAE,sBAAsB,EAA2B,MAAM,2BAA2B,CAAC;AAC5F,OAAO,EAAE,wBAAwB,EAA6B,MAAM,8BAA8B,CAAC;AACnG,OAAO,EAAE,8BAA8B,EAAmC,MAAM,oCAAoC,CAAC;AACrH,OAAO,EAAE,uBAAuB,EAAyD,MAAM,4BAA4B,CAAC;AAC5H,OAAO,EAAE,0BAA0B,EAA+B,MAAM,gCAAgC,CAAC;AAiOzG;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAM7B,UAA2E,EAAE;IAE7E,MAAM,SAAS,GAAG,wBAAwB,CAAoB,OAAO,CAAC,aAAa,CAAC,CAAC;IACrF,MAAM,aAAa,GAAG,8BAA8B,EAAE,CAAC;IACvD,MAAM,eAAe,GAAG,uBAAuB,EAAE,CAAC;IAClD,MAAM,gBAAgB,GAAG,wBAAwB,EAAE,CAAC;IACpD,MAAM,UAAU,GAAG,0BAA0B,CAAC,gBAAgB,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,sBAAsB,CAAW,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9E,MAAM,kBAAkB,GAAG,0BAA0B,CAAoB,aAAa,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAC/G,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;IAClD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,WAAW,EAAE,CAAC;IACjD,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChD,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,IAAI,wBAAwB,EAAE,CAAC;IACtF,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS;QACtC,CAAC,CAAC,uBAAuB,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;QAC1F,CAAC,CAAC,SAAS,CAAC;IACf,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7F,sEAAsE;IACtE,4EAA4E;IAC5E,4EAA4E;IAC5E,0EAA0E;IAC1E,0EAA0E;IAC1E,wEAAwE;IACxE,+CAA+C;IAC/C,EAAE;IACF,4EAA4E;IAC5E,4EAA4E;IAC5E,0EAA0E;IAC1E,6EAA6E;IAC7E,4EAA4E;IAC5E,0EAA0E;IAC1E,8EAA8E;IAC9E,EAAE;IACF,qEAAqE;IACrE,8DAA8D;IAC9D,sEAAsE;IACtE,WAAW;IACX,MAAM,QAAQ,GAA+D;QAC1E,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,MAAM;QACd,mEAAmE;QACnE,8EAA8E;QAC9E,8EAA8E;QAC9E,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,SAAS,EAAE;YACR,gBAAgB,EAAE,SAAS;YAC3B,eAAe,EAAE,eAAe;YAChC,aAAa,EAAE,aAAa;YAC5B,kBAAkB,EAAE,kBAAkB;YACtC,kBAAkB,EAAE,UAAU;YAC9B,gBAAgB,EAAE,gBAAgB;YAClC,cAAc,EAAE,cAAc;YAC9B,iBAAiB,EAAE,iBAAiB;YACpC,wEAAwE;YACxE,4EAA4E;YAC5E,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,aAAa,EAAE,IAAI,sBAAsB,EAAE;SAC7C;QACD,KAAK,EAAE,EAAyE;QAChF,YAAY,EAAE,EAAkB;QAChC,eAAe,EAAE,EAA4B;KAC/C,CAAC;IACF,MAAM,cAAc,GAAG,QAAqD,CAAC;IAE7E,4EAA4E;IAC5E,wDAAwD;IACxD,MAAM,eAAe,GAAG,QAA4E,CAAC;IACrG,MAAM,YAAY,GAAG,IAAI,mBAAmB,CAAC,cAAc,CAAC,CAAC;IAC7D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAClB,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IACD,eAAe,CAAC,YAAY,GAAG,YAAY,CAAC;IAC5C,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,cAAc,CAAC,IAAI,IAAI,sBAAsB,CAAC,cAAc,CAAC,CAAC;IAChH,eAAe,CAAC,eAAe,GAAG,eAAe,CAAC;IAElD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,IAAY,EAAE,IAAe,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACjG,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe;QAC5C,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC;QACzC,CAAC,CAAC,IAAI,sBAAsB,CAAuB,cAAc,CAAC,CAAC;IACtE,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY;QACtC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC;QACtC,CAAC,CAAC,oBAAoB,CAA+B,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEhH,MAAM,YAAY,GAAG,QAAQ,CAAC,KAG7B,CAAC;IACF,YAAY,CAAC,eAAe,GAAG,eAAe,CAAC;IAC/C,YAAY,CAAC,YAAY,GAAG,YAAY,CAAC;IAEzC,OAAO;QACJ,QAAQ,EAAE,cAAc;QACxB,SAAS;QACT,aAAa;QACb,kBAAkB;QAClB,eAAe;QACf,UAAU;QACV,gBAAgB;QAChB,cAAc;QACd,iBAAiB;QACjB,eAAe;QACf,YAAY;QACZ,YAAY;QACZ,eAAe;QACf,MAAM;QACN,KAAK;QACL,YAAY;QACZ,eAAe;QACf,OAAO,EAAE,GAAG,EAAE;YACX,qEAAqE;YACrE,sEAAsE;YACtE,gEAAgE;YAChE,mDAAmD;QACtD,CAAC;KACH,CAAC;AACL,CAAC"}
@@ -18,9 +18,8 @@ import type { StubLangiumDocuments } from './stub-langium-documents.js';
18
18
  * underlying stub text-document manager, `onUpdate` is driven explicitly
19
19
  * through {@link StubAstDocumentManager.emitUpdate} because the stub tree runs
20
20
  * no build phases to emit from, and the remaining read helpers
21
- * (`isDirectChange`, `getAuthor`, `readFile`) throw if invoked — tests that
22
- * need them should wire a richer stub or use the real
23
- * {@link AstDocumentManager}.
21
+ * (`isTriggeringEdit`, `getAuthor`) throw if invoked — tests that need them
22
+ * should wire a richer stub or use the real {@link AstDocumentManager}.
24
23
  *
25
24
  * Open state is tracked per URI as the set of holding client ids, so a
26
25
  * document stays open until its last client closes. The stub forwards
@@ -36,7 +35,7 @@ import type { StubLangiumDocuments } from './stub-langium-documents.js';
36
35
  * are still picked so signature drift on them produces a compile
37
36
  * error rather than silent divergence.
38
37
  */
39
- export interface StubAstDocumentManager<TAst extends AstNode, TDiagnostic = unknown> extends Pick<AstDocumentManager<TAst, TDiagnostic>, 'open' | 'close' | 'isOpen' | 'update' | 'save' | 'onUpdate' | 'onSave' | 'onClientClosed' | 'getAuthor' | 'getDocument' | 'isDirectChange' | 'readFile'> {
38
+ export interface StubAstDocumentManager<TAst extends AstNode, TDiagnostic = unknown> extends Pick<AstDocumentManager<TAst, TDiagnostic>, 'open' | 'close' | 'isOpen' | 'update' | 'save' | 'onUpdate' | 'onSave' | 'onClientClosed' | 'getAuthor' | 'getDocument' | 'isTriggeringEdit'> {
40
39
  readonly openClients: Map<string, Set<string>>;
41
40
  /**
42
41
  * Deliver an update event to every live {@link StubAstDocumentManager.onUpdate}
@@ -1 +1 @@
1
- {"version":3,"file":"stub-ast-document-manager.d.ts","sourceRoot":"","sources":["../../src/testing/stub-ast-document-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,OAAO,EAAkC,MAAM,oBAAoB,CAAC;AAElF,OAAO,EAEJ,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EACjC,MAAM,sCAAsC,CAAC;AAE9C,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AACrF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,sBAAsB,CAAC,IAAI,SAAS,OAAO,EAAE,WAAW,GAAG,OAAO,CAAE,SAAQ,IAAI,CAC9F,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,EACnC,MAAM,GACN,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,UAAU,GACV,QAAQ,GACR,gBAAgB,GAChB,WAAW,GACX,aAAa,GACb,gBAAgB,GAChB,UAAU,CACd;IACE,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,MAAM,CAAC;IAEnF;;;;;;OAMG;IACH,mBAAmB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5C;AAED,wBAAgB,0BAA0B,CAAC,IAAI,SAAS,OAAO,EAAE,WAAW,GAAG,OAAO,EACnF,aAAa,EAAE,0BAA0B,EACzC,UAAU,EAAE,IAAI,CAAC,0BAA0B,EAAE,WAAW,CAAC,EACzD,SAAS,CAAC,EAAE,oBAAoB,CAAC,IAAI,EAAE,WAAW,CAAC,GACnD,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CAiH3C"}
1
+ {"version":3,"file":"stub-ast-document-manager.d.ts","sourceRoot":"","sources":["../../src/testing/stub-ast-document-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,OAAO,EAAkC,MAAM,oBAAoB,CAAC;AAElF,OAAO,EAEJ,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EACjC,MAAM,sCAAsC,CAAC;AAE9C,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AACrF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,WAAW,sBAAsB,CAAC,IAAI,SAAS,OAAO,EAAE,WAAW,GAAG,OAAO,CAAE,SAAQ,IAAI,CAC9F,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,EACnC,MAAM,GACN,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,UAAU,GACV,QAAQ,GACR,gBAAgB,GAChB,WAAW,GACX,aAAa,GACb,kBAAkB,CACtB;IACE,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,MAAM,CAAC;IAEnF;;;;;;OAMG;IACH,mBAAmB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5C;AAED,wBAAgB,0BAA0B,CAAC,IAAI,SAAS,OAAO,EAAE,WAAW,GAAG,OAAO,EACnF,aAAa,EAAE,0BAA0B,EACzC,UAAU,EAAE,IAAI,CAAC,0BAA0B,EAAE,WAAW,CAAC,EACzD,SAAS,CAAC,EAAE,oBAAoB,CAAC,IAAI,EAAE,WAAW,CAAC,GACnD,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CA8G3C"}
@@ -114,11 +114,8 @@ export function makeStubAstDocumentManager(textDocuments, fileSystem, documents)
114
114
  getDocument(uri) {
115
115
  return documents?.getDocument(UriUtils.toUri(uri));
116
116
  },
117
- isDirectChange() {
118
- return notSupported('isDirectChange');
119
- },
120
- async readFile(uri) {
121
- return notSupported(`readFile(${uri})`);
117
+ isTriggeringEdit() {
118
+ return notSupported('isTriggeringEdit');
122
119
  }
123
120
  };
124
121
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stub-ast-document-manager.js","sourceRoot":"","sources":["../../src/testing/stub-ast-document-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stub-ast-document-manager.js","sourceRoot":"","sources":["../../src/testing/stub-ast-document-manager.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  ********************************************************************************/
9
9
  import type { TransferDiagnostic, TransferElement } from '@hydranium/protocol';
10
10
  import type { AstNode } from '@hydranium/langium';
11
- import { ModelService, type ModelServiceOptions } from '../langium/model-service/model-service.js';
11
+ import { type ModelService, type ModelServiceOptions } from '../langium/model-service/model-service.js';
12
12
  import type { ServerSharedServices } from '../langium/module.js';
13
13
  /** The type of the model-service test double produced by {@link makeStubModelService}. */
14
14
  export type StubModelService<TAst extends AstNode, TDiagnostic extends TransferDiagnostic = TransferDiagnostic, TTransfer extends TransferElement = TransferElement> = ModelService<TAst, TDiagnostic, TTransfer>;
@@ -1 +1 @@
1
- {"version":3,"file":"stub-model-service.d.ts","sourceRoot":"","sources":["../../src/testing/stub-model-service.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AACnG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AA2BjE,0FAA0F;AAC1F,MAAM,MAAM,gBAAgB,CACzB,IAAI,SAAS,OAAO,EACpB,WAAW,SAAS,kBAAkB,GAAG,kBAAkB,EAC3D,SAAS,SAAS,eAAe,GAAG,eAAe,IAClD,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;AAE/C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CACjC,IAAI,SAAS,OAAO,EACpB,WAAW,SAAS,kBAAkB,GAAG,kBAAkB,EAC3D,SAAS,SAAS,eAAe,GAAG,eAAe,EAEnD,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,KAAK,MAAM,EACnD,OAAO,CAAC,EAAE,mBAAmB,GAC7B,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAEhD"}
1
+ {"version":3,"file":"stub-model-service.d.ts","sourceRoot":"","sources":["../../src/testing/stub-model-service.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAuB,KAAK,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAC7H,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AA2BjE,0FAA0F;AAC1F,MAAM,MAAM,gBAAgB,CACzB,IAAI,SAAS,OAAO,EACpB,WAAW,SAAS,kBAAkB,GAAG,kBAAkB,EAC3D,SAAS,SAAS,eAAe,GAAG,eAAe,IAClD,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;AAE/C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CACjC,IAAI,SAAS,OAAO,EACpB,WAAW,SAAS,kBAAkB,GAAG,kBAAkB,EAC3D,SAAS,SAAS,eAAe,GAAG,eAAe,EAEnD,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,KAAK,MAAM,EACnD,OAAO,CAAC,EAAE,mBAAmB,GAC7B,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAEhD"}
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
- import { ModelService } from '../langium/model-service/model-service.js';
9
+ import { DefaultModelService } from '../langium/model-service/model-service.js';
10
10
  /**
11
11
  * Implementation detail of {@link makeStubModelService}. A {@link ModelService}
12
12
  * subclass that takes `serialize` as a constructor callback — the test stub
@@ -14,7 +14,7 @@ import { ModelService } from '../langium/model-service/model-service.js';
14
14
  * path would fail. Construct it through the factory; the {@link StubModelService}
15
15
  * type alias is the public type name.
16
16
  */
17
- class StubModelServiceImpl extends ModelService {
17
+ class StubModelServiceImpl extends DefaultModelService {
18
18
  serializeFn;
19
19
  constructor(services, serializeFn, options) {
20
20
  super(services, options);
@@ -1 +1 @@
1
- {"version":3,"file":"stub-model-service.js","sourceRoot":"","sources":["../../src/testing/stub-model-service.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAIlF,OAAO,EAAE,YAAY,EAA4B,MAAM,2CAA2C,CAAC;AAGnG;;;;;;GAMG;AACH,MAAM,oBAIJ,SAAQ,YAA0C;IAG3B;IAFtB,YACG,QAA8B,EACX,WAAqD,EACxE,OAA6B;QAE7B,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAHN,gBAAW,GAAX,WAAW,CAA0C;IAI3E,CAAC;IAEkB,SAAS,CAAC,GAAW,EAAE,IAAe;QACtD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;CACH;AASD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,oBAAoB,CAKjC,QAA8B,EAC9B,SAAmD,EACnD,OAA6B;IAE7B,OAAO,IAAI,oBAAoB,CAA+B,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAC/F,CAAC"}
1
+ {"version":3,"file":"stub-model-service.js","sourceRoot":"","sources":["../../src/testing/stub-model-service.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAIlF,OAAO,EAAE,mBAAmB,EAA+C,MAAM,2CAA2C,CAAC;AAG7H;;;;;;GAMG;AACH,MAAM,oBAIJ,SAAQ,mBAAiD;IAGlC;IAFtB,YACG,QAA8B,EACX,WAAqD,EACxE,OAA6B;QAE7B,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAHN,gBAAW,GAAX,WAAW,CAA0C;IAI3E,CAAC;IAEkB,SAAS,CAAC,GAAW,EAAE,IAAe;QACtD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;CACH;AASD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,oBAAoB,CAKjC,QAA8B,EAC9B,SAAmD,EACnD,OAA6B;IAE7B,OAAO,IAAI,oBAAoB,CAA+B,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAC/F,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hydranium/core",
3
- "version": "1.0.0-next.36",
3
+ "version": "1.0.0-next.37",
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
  "hydranium",
@@ -104,8 +104,8 @@
104
104
  "diff": "^5.2.0"
105
105
  },
106
106
  "devDependencies": {
107
- "@hydranium/langium": "1.0.0-next.36",
108
- "@hydranium/protocol": "1.0.0-next.36",
107
+ "@hydranium/langium": "1.0.0-next.37",
108
+ "@hydranium/protocol": "1.0.0-next.37",
109
109
  "@playwright/test": "^1.40.0",
110
110
  "@types/diff": "^5.2.0",
111
111
  "rimraf": "^5.0.0",
@@ -117,8 +117,8 @@
117
117
  "vscode-languageserver-types": "^3.17.5"
118
118
  },
119
119
  "peerDependencies": {
120
- "@hydranium/langium": "1.0.0-next.36",
121
- "@hydranium/protocol": "1.0.0-next.36",
120
+ "@hydranium/langium": "1.0.0-next.37",
121
+ "@hydranium/protocol": "1.0.0-next.37",
122
122
  "@playwright/test": "^1.40.0",
123
123
  "vscode-jsonrpc": "9.0.1",
124
124
  "vscode-languageserver": "~10.0.1",
@@ -166,6 +166,51 @@ export type AstDocumentSavedEvent<TAst extends AstNode, TDiagnostic> = TransferS
166
166
  /** Construction options for {@link AstDocumentManager}. */
167
167
  export type AstDocumentManagerOptions = LogNameOptions;
168
168
 
169
+ /**
170
+ * The document slot the model server and the integrity service talk to:
171
+ * open/close/update/save plus the AST-typed event streams, with the LSP
172
+ * plumbing hidden.
173
+ *
174
+ * Generic over `<TAst extends AstNode, TDiagnostic>` so each consumer projects
175
+ * its own AST root type and diagnostic shape into the emitted
176
+ * {@link AstDocument} envelopes.
177
+ *
178
+ * **URI contract.** Every URI-accepting member takes a URI in *any* spelling
179
+ * (canonical, symlinked, `..`/case-divergent) and canonicalizes internally
180
+ * through the {@link DocumentUriPolicy}, so a caller never has to canonicalize
181
+ * first and an implementation may not require it.
182
+ */
183
+ export interface AstDocumentManager<TAst extends AstNode, TDiagnostic = unknown> {
184
+ open(args: OpenModelArgs): Promise<Disposable>;
185
+ close(args: CloseModelArgs): Promise<void>;
186
+ isOpen(uri: string): boolean;
187
+
188
+ /** Apply `text` as `clientId`'s edit. Resolves to the resulting text-document version. */
189
+ update(uri: string, text: string, clientId: string): Promise<number>;
190
+ save(uri: string, clientId: string): Promise<void>;
191
+
192
+ onUpdate(uri: string, listener: (event: AstDocumentUpdatedEvent<TAst, TDiagnostic>) => void): Disposable;
193
+ onSave(uri: string, listener: (event: AstDocumentSavedEvent<TAst, TDiagnostic>) => void | Promise<void>): Disposable;
194
+ onClientClosed(uri: string, clientId: string, listener: () => void): Disposable;
195
+
196
+ getDocument(uri: string): LangiumDocument | undefined;
197
+
198
+ /** Client id that authored the document's current version, or `undefined` for a framework-internal build. */
199
+ getAuthor(document: LangiumDocument): string | undefined;
200
+
201
+ /**
202
+ * Whether `uri` is one of the URIs the most recent build request named, as
203
+ * opposed to a document that build swept in as a dependent. Deletions are
204
+ * excluded: they never reach this layer, since a deleted document is
205
+ * removed before the build set is computed.
206
+ *
207
+ * The answer refers to the latest request, which may still be building, and
208
+ * it is retained between builds — so outside a build it describes whichever
209
+ * one ran last.
210
+ */
211
+ isTriggeringEdit(uri: string): boolean;
212
+ }
213
+
169
214
  /**
170
215
  * Higher-level facade over {@link HydraniumTextDocuments} that speaks the
171
216
  * model-server protocol (open/close/update/save with the transfer-model event
@@ -186,7 +231,7 @@ export type AstDocumentManagerOptions = LogNameOptions;
186
231
  * resolution (the egress `applyEditToLanguageClient`) stay on
187
232
  * {@link HydraniumTextDocuments}, their owner.
188
233
  */
189
- export class AstDocumentManager<TAst extends AstNode = AstNode, TDiagnostic = unknown> {
234
+ export class DefaultAstDocumentManager<TAst extends AstNode, TDiagnostic = unknown> implements AstDocumentManager<TAst, TDiagnostic> {
190
235
  protected lastUpdate?: UpdateInfo;
191
236
 
192
237
  protected readonly textDocuments: HydraniumTextDocuments<TextDocument>;
@@ -334,7 +379,7 @@ export class AstDocumentManager<TAst extends AstNode = AstNode, TDiagnostic = un
334
379
  * concrete value (the `onUpdate` event's `sourceClientId`, the data-server's
335
380
  * `resolveSourceClientId`).
336
381
  */
337
- getAuthor(document: LangiumDocument<AstNode>): string | undefined {
382
+ getAuthor(document: LangiumDocument): string | undefined {
338
383
  return this.textDocuments.getAuthor(document.textDocument.uri, document.textDocument.version);
339
384
  }
340
385
 
@@ -414,8 +459,7 @@ export class AstDocumentManager<TAst extends AstNode = AstNode, TDiagnostic = un
414
459
  return !!this.textDocuments.get(uri);
415
460
  }
416
461
 
417
- /** True if the URI was in the directly-changed set of the most recent build (not just affected). */
418
- isDirectChange(uri: string): boolean {
462
+ isTriggeringEdit(uri: string): boolean {
419
463
  const canonical = this.uriPolicy.canonicalUri(uri);
420
464
  return this.lastUpdate?.changed.some(changed => this.uriPolicy.canonicalUri(changed) === canonical) ?? false;
421
465
  }
@@ -437,11 +481,7 @@ export class AstDocumentManager<TAst extends AstNode = AstNode, TDiagnostic = un
437
481
  version = 0,
438
482
  text?: string
439
483
  ): Promise<TextDocumentItem> {
440
- return { uri, languageId, version, text: text ?? (await this.readFile(uri)) };
441
- }
442
-
443
- async readFile(uri: string): Promise<string> {
444
- return this.fileSystemProvider.readFile(UriUtils.toUri(uri));
484
+ return { uri, languageId, version, text: text ?? (await this.fileSystemProvider.readFile(UriUtils.toUri(uri))) };
445
485
  }
446
486
 
447
487
  /**
@@ -22,10 +22,32 @@ export interface SelfSaveRegistryOptions {
22
22
  /**
23
23
  * Tracks `mtime` of files written by the server itself so the echo
24
24
  * `didChangeWatchedFiles` event from the OS file watcher can be suppressed,
25
- * avoiding redundant rebuilds after each save. Entries are matched by mtime
26
- * (not by a time window) and expire after a TTL.
25
+ * avoiding redundant rebuilds after each save.
27
26
  */
28
- export class SelfSaveRegistry {
27
+ export interface SelfSaveRegistry {
28
+ /**
29
+ * Record a self-write, and drop any registration already past its TTL.
30
+ *
31
+ * Keyed by `fsPath` rather than URI string, because the two sides of a
32
+ * suppression see different URI forms for one file.
33
+ */
34
+ register(fsPath: string, mtimeMs: number): void;
35
+
36
+ /**
37
+ * Whether `fsPath` carries a live registration at exactly `mtimeMs`.
38
+ *
39
+ * A registration expires after the TTL, so a write recorded longer ago than
40
+ * that answers `false` — the caller's decision holds only while the echo it
41
+ * suppresses could still be in flight. A query never mutates the registry.
42
+ */
43
+ isRegistered(fsPath: string, mtimeMs: number): boolean;
44
+ }
45
+
46
+ /**
47
+ * Compares entries by mtime rather than by a time window, so the echo of a
48
+ * save whose content is unchanged is still recognised.
49
+ */
50
+ export class DefaultSelfSaveRegistry implements SelfSaveRegistry {
29
51
  protected readonly entries = new Map<string, { mtimeMs: number; registeredAt: number }>();
30
52
  /**
31
53
  * Read time through the shared {@link Clock} rather than `Date.now()`: the
@@ -59,23 +81,40 @@ export class SelfSaveRegistry {
59
81
  return isCaseInsensitiveFileSystem() ? fsPath.toLowerCase() : fsPath;
60
82
  }
61
83
 
62
- /** Record a self-write. Key by `fsPath` (not URI string) to avoid URI-form mismatches. */
63
84
  register(fsPath: string, mtimeMs: number): void {
85
+ this.evictExpired();
64
86
  this.entries.set(this.key(fsPath), { mtimeMs, registeredAt: this.clock.now() });
65
87
  }
66
88
 
67
- /** True if `mtimeMs` matches a recent self-write. Evicts stale entries. Not consumed on match. */
68
- matches(fsPath: string, mtimeMs: number): boolean {
69
- const key = this.key(fsPath);
70
- const entry = this.entries.get(key);
71
- if (!entry) {
72
- return false;
73
- }
74
- if (this.clock.now() - entry.registeredAt > this.ttlMs) {
75
- this.entries.delete(key);
89
+ isRegistered(fsPath: string, mtimeMs: number): boolean {
90
+ const entry = this.entries.get(this.key(fsPath));
91
+ if (!entry || this.isExpired(entry.registeredAt)) {
76
92
  return false;
77
93
  }
78
94
  // Accept mtime equality (some filesystems have 1-second precision).
79
95
  return entry.mtimeMs === mtimeMs;
80
96
  }
97
+
98
+ /**
99
+ * Drop every expired registration.
100
+ *
101
+ * On the WRITE path, so the query stays free of side effects. Evicting from
102
+ * the query instead reaches only the keys something happens to ask about,
103
+ * and a path written once and never queried again is then retained for the
104
+ * life of the process. Bounded by the paths self-written inside one TTL
105
+ * window, so the sweep is over a handful of entries and sits behind a file
106
+ * write either way.
107
+ */
108
+ protected evictExpired(): void {
109
+ for (const [key, entry] of this.entries) {
110
+ if (this.isExpired(entry.registeredAt)) {
111
+ this.entries.delete(key);
112
+ }
113
+ }
114
+ }
115
+
116
+ /** Strictly greater, so an entry aged exactly to the TTL is still eligible. */
117
+ protected isExpired(registeredAt: number): boolean {
118
+ return this.clock.now() - registeredAt > this.ttlMs;
119
+ }
81
120
  }
package/src/index.ts CHANGED
@@ -36,5 +36,9 @@ export * from './langium/service-registry.js';
36
36
  export * from './langium/language-types.js';
37
37
  export * from './launcher/index.js';
38
38
  export * from './locale/index.js';
39
+ // The renderer only. The `./messages` subpath additionally enumerates this
40
+ // package's own declarations, which the root barrel already re-exports through
41
+ // the modules that raise them.
42
+ export * from './messages/renderer.js';
39
43
  export * from './documents/index.js';
40
44
  export * from './util/index.js';