@hydranium/core 1.0.0-next.201 → 1.0.0-next.202

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 (63) hide show
  1. package/lib/documents/ast-document-manager.d.ts +13 -25
  2. package/lib/documents/ast-document-manager.d.ts.map +1 -1
  3. package/lib/documents/ast-document-manager.js +0 -56
  4. package/lib/documents/ast-document-manager.js.map +1 -1
  5. package/lib/documents/client-session-registry.d.ts +3 -2
  6. package/lib/documents/client-session-registry.d.ts.map +1 -1
  7. package/lib/documents/client-session-registry.js +3 -3
  8. package/lib/documents/client-session-registry.js.map +1 -1
  9. package/lib/documents/hydranium-text-documents.js +1 -1
  10. package/lib/documents/hydranium-text-documents.js.map +1 -1
  11. package/lib/langium/model-service/client-session.d.ts +9 -1
  12. package/lib/langium/model-service/client-session.d.ts.map +1 -1
  13. package/lib/langium/model-service/client-session.js +7 -0
  14. package/lib/langium/model-service/client-session.js.map +1 -1
  15. package/lib/langium/model-service/index.d.ts +1 -0
  16. package/lib/langium/model-service/index.d.ts.map +1 -1
  17. package/lib/langium/model-service/index.js +1 -0
  18. package/lib/langium/model-service/index.js.map +1 -1
  19. package/lib/langium/model-service/model-events.d.ts +64 -0
  20. package/lib/langium/model-service/model-events.d.ts.map +1 -0
  21. package/lib/langium/model-service/model-events.js +10 -0
  22. package/lib/langium/model-service/model-events.js.map +1 -0
  23. package/lib/langium/model-service/model-service.d.ts +74 -38
  24. package/lib/langium/model-service/model-service.d.ts.map +1 -1
  25. package/lib/langium/model-service/model-service.js +137 -31
  26. package/lib/langium/model-service/model-service.js.map +1 -1
  27. package/lib/langium/service-registry.d.ts +14 -0
  28. package/lib/langium/service-registry.d.ts.map +1 -1
  29. package/lib/langium/service-registry.js +21 -0
  30. package/lib/langium/service-registry.js.map +1 -1
  31. package/lib/langium/transfer/transfer-encoder.d.ts +2 -3
  32. package/lib/langium/transfer/transfer-encoder.d.ts.map +1 -1
  33. package/lib/langium/transfer/transfer-encoder.js +2 -3
  34. package/lib/langium/transfer/transfer-encoder.js.map +1 -1
  35. package/lib/langium/workspace/document-uri-policy.d.ts +1 -2
  36. package/lib/langium/workspace/document-uri-policy.d.ts.map +1 -1
  37. package/lib/langium/workspace/document-uri-policy.js.map +1 -1
  38. package/lib/testing/stub-ast-document-manager.d.ts +7 -51
  39. package/lib/testing/stub-ast-document-manager.d.ts.map +1 -1
  40. package/lib/testing/stub-ast-document-manager.js +0 -57
  41. package/lib/testing/stub-ast-document-manager.js.map +1 -1
  42. package/lib/testing/stub-document-builder.d.ts +1 -1
  43. package/lib/testing/stub-document-builder.d.ts.map +1 -1
  44. package/lib/testing/stub-document-builder.js +19 -2
  45. package/lib/testing/stub-document-builder.js.map +1 -1
  46. package/lib/testing/stub-hydranium-text-documents.js +2 -2
  47. package/lib/testing/stub-hydranium-text-documents.js.map +1 -1
  48. package/lib/testing/stub-service-registry.d.ts +1 -1
  49. package/package.json +5 -5
  50. package/src/documents/ast-document-manager.ts +14 -76
  51. package/src/documents/client-session-registry.ts +4 -3
  52. package/src/documents/hydranium-text-documents.ts +1 -1
  53. package/src/langium/model-service/client-session.ts +14 -1
  54. package/src/langium/model-service/index.ts +1 -0
  55. package/src/langium/model-service/model-events.ts +74 -0
  56. package/src/langium/model-service/model-service.ts +204 -42
  57. package/src/langium/service-registry.ts +22 -0
  58. package/src/langium/transfer/transfer-encoder.ts +2 -3
  59. package/src/langium/workspace/document-uri-policy.ts +1 -2
  60. package/src/testing/stub-ast-document-manager.ts +7 -126
  61. package/src/testing/stub-document-builder.ts +19 -3
  62. package/src/testing/stub-hydranium-text-documents.ts +2 -2
  63. package/src/testing/stub-service-registry.ts +1 -1
@@ -8,6 +8,7 @@
8
8
  ********************************************************************************/
9
9
  import { ConflictError, isModelVersion, Logger, ObservableValue } from '@hydranium/protocol';
10
10
  import { UriUtils } from '@hydranium/langium';
11
+ import { Emitter } from 'vscode-languageserver';
11
12
  import { DocumentNotOpenError, SessionClosedError } from '../../documents/client-session-errors.js';
12
13
  /**
13
14
  * The framework's {@link ClientSession}, built by
@@ -43,6 +44,7 @@ export class DefaultClientSession {
43
44
  openOptionsByUri = new Map();
44
45
  /** Drops an open's options from {@link openOptionsByUri} when the store closes the open. */
45
46
  closeListener;
47
+ disposeEmitter = new Emitter();
46
48
  /** Logs under `logName`, `ClientSession` when none is given, with this session's id in a bracket of its own, so a line names the session that wrote. */
47
49
  tracer;
48
50
  /** The service bound on `model.ModelService`, which serialises and rebuilds for this session. */
@@ -115,6 +117,11 @@ export class DefaultClientSession {
115
117
  this.disposed = true;
116
118
  this.services.workspace.TextDocuments.closeSession(this.clientId, cause);
117
119
  this.closeListener.dispose();
120
+ this.disposeEmitter.fire(cause ?? 'closed');
121
+ this.disposeEmitter.dispose();
122
+ }
123
+ get onDidDispose() {
124
+ return this.disposeEmitter.event;
118
125
  }
119
126
  assertLive() {
120
127
  if (this.disposed) {
@@ -1 +1 @@
1
- {"version":3,"file":"client-session.js","sourceRoot":"","sources":["../../../src/langium/model-service/client-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client-session.js","sourceRoot":"","sources":["../../../src/langium/model-service/client-session.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@
6
6
  *
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
+ export * from './model-events.js';
9
10
  export * from './model-service.js';
10
11
  export * from './client-session.js';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/langium/model-service/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/langium/model-service/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC"}
@@ -6,6 +6,7 @@
6
6
  *
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
+ export * from './model-events.js';
9
10
  export * from './model-service.js';
10
11
  export * from './client-session.js';
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/langium/model-service/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/langium/model-service/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,64 @@
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
+ import { type CanonicalUri } from '@hydranium/protocol';
10
+ import { type AstNode, type DocumentState } from '@hydranium/langium';
11
+ import { type AstDocumentUpdatedEvent } from '../../documents/ast-document-manager.js';
12
+ import { type DocumentDirtyChangedEvent } from '../../documents/hydranium-text-documents.js';
13
+ import { type AstDiagnostic } from '../validation/document-validator.js';
14
+ /** Which documents a `ModelService` subscription hears about. */
15
+ export interface ModelEventFilter {
16
+ /** One document, in any spelling; matched by canonical form. Absent for every document. */
17
+ readonly uri?: string;
18
+ }
19
+ /** A {@link ModelEventFilter} for an event a build phase fires. */
20
+ export interface ModelPhaseFilter extends ModelEventFilter {
21
+ /** Defaults to `Validated`. */
22
+ readonly phase?: DocumentState;
23
+ }
24
+ /**
25
+ * A document reaching {@link phase} in a build.
26
+ *
27
+ * `document` holds for the listener's synchronous run: its root is the one the
28
+ * build carried to the phase, and at `Validated` its diagnostics are that
29
+ * build's, copied. A later build can unlink that root in place or replace it,
30
+ * so a listener that awaits first reads the document again through the phase
31
+ * reads or `snapshot`.
32
+ *
33
+ * Below `Validated` the document carries no diagnostics: any it held would be
34
+ * an earlier build's.
35
+ */
36
+ export interface ModelUpdatedEvent<TAst extends AstNode, TDiagnostic extends AstDiagnostic = AstDiagnostic> extends AstDocumentUpdatedEvent<TAst, TDiagnostic> {
37
+ readonly phase: DocumentState;
38
+ }
39
+ /**
40
+ * The documents one build carried to {@link phase}. Not fired for a cancelled
41
+ * build, so a document it built shows up in the build that takes over.
42
+ */
43
+ export interface ModelsBuiltEvent {
44
+ readonly uris: readonly CanonicalUri[];
45
+ readonly phase: DocumentState;
46
+ }
47
+ /**
48
+ * A document's file was removed. No build reaches a deleted document, so no
49
+ * {@link ModelUpdatedEvent} reports it.
50
+ */
51
+ export interface ModelDeletedEvent {
52
+ readonly uri: CanonicalUri;
53
+ }
54
+ /** A document's text started or stopped differing from its file. */
55
+ export type ModelDirtyChangedEvent = DocumentDirtyChangedEvent;
56
+ /**
57
+ * A document no client has open any more was released and reverts to disk.
58
+ * The rebuild that reverts it follows as a {@link ModelUpdatedEvent}, unless a
59
+ * client opens the document first or its file is deleted.
60
+ */
61
+ export interface ModelReleasedEvent {
62
+ readonly uri: CanonicalUri;
63
+ }
64
+ //# sourceMappingURL=model-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-events.d.ts","sourceRoot":"","sources":["../../../src/langium/model-service/model-events.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AAC7F,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEzE,iEAAiE;AACjE,MAAM,WAAW,gBAAgB;IAC9B,2FAA2F;IAC3F,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,mEAAmE;AACnE,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACvD,+BAA+B;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;CACjC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,iBAAiB,CAAC,IAAI,SAAS,OAAO,EAAE,WAAW,SAAS,aAAa,GAAG,aAAa,CAAE,SAAQ,uBAAuB,CACxI,IAAI,EACJ,WAAW,CACb;IACE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC9B,QAAQ,CAAC,IAAI,EAAE,SAAS,YAAY,EAAE,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAC/B,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC;CAC7B;AAED,oEAAoE;AACpE,MAAM,MAAM,sBAAsB,GAAG,yBAAyB,CAAC;AAE/D;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAChC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC;CAC7B"}
@@ -0,0 +1,10 @@
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
+ export {};
10
+ //# sourceMappingURL=model-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-events.js","sourceRoot":"","sources":["../../../src/langium/model-service/model-events.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF"}
@@ -10,12 +10,13 @@ import { type CanonicalUri, type MaybeObservableValue, type MaybePromise, Observ
10
10
  import { type AstNode, DocumentState, type LangiumDocument, type URI } from '@hydranium/langium';
11
11
  import { type AstDiagnostic } from '../validation/document-validator.js';
12
12
  import { type DocumentUriPolicy } from '../workspace/document-uri-policy.js';
13
- import { CancellationToken, type Disposable } from 'vscode-languageserver';
14
- import { AstDocument, type AstDocumentSavedEvent, type AstDocumentUpdatedEvent } from '../../documents/ast-document-manager.js';
13
+ import { CancellationToken, Disposable } from 'vscode-languageserver';
14
+ import { AstDocument, type AstDocumentSavedEvent } from '../../documents/ast-document-manager.js';
15
15
  import { type LogNameOptions } from '../diagnostics/logger.js';
16
16
  import { type OpenOptions } from '../../documents/client-session-registry.js';
17
17
  import { type ServerSharedServices } from '../module.js';
18
18
  import { type ClientSession } from './client-session.js';
19
+ import { type ModelDeletedEvent, type ModelDirtyChangedEvent, type ModelEventFilter, type ModelPhaseFilter, type ModelReleasedEvent, type ModelsBuiltEvent, type ModelUpdatedEvent } from './model-events.js';
19
20
  /**
20
21
  * The undo-stack entry for a server-authored write pushed to the editor.
21
22
  *
@@ -65,6 +66,11 @@ export interface ModelServiceOptions extends LogNameOptions {
65
66
  */
66
67
  readonly allowReentrantBuilds?: MaybeObservableValue<boolean>;
67
68
  }
69
+ /** One {@link ModelService.onModelUpdated} subscription; `uri` is canonical, absent for every document. */
70
+ export interface ModelUpdateSubscriber<TAst extends AstNode, TDiagnostic extends AstDiagnostic = AstDiagnostic> {
71
+ readonly uri?: CanonicalUri;
72
+ readonly listener: (event: ModelUpdatedEvent<TAst, TDiagnostic>) => void;
73
+ }
68
74
  /** Options for a {@link DefaultModelService} wait on one document. */
69
75
  export interface SyncedWaitOptions {
70
76
  /**
@@ -133,12 +139,9 @@ export interface SyncedWaitOptions {
133
139
  * the injected `TransferEncoder` — symmetric with the
134
140
  * `getModelDocument` envelope path.
135
141
  *
136
- * **Subscriptions** ({@link onModelUpdated} / {@link onModelSaved} /
137
- * {@link onClientClosed}) are thin pass-throughs over
138
- * `DocumentBuilder.onDocumentPhase` and
139
- * `HydraniumTextDocuments.onDidSave` / `onDidClose`. Filtering
140
- * by URI happens here so consumers can subscribe per-document without
141
- * implementing the URI gate at each callsite.
142
+ * **Subscriptions** (`on*`) are how a head follows documents; it subscribes
143
+ * here rather than to the builder or the text store. Each takes a filter, and
144
+ * one without a `uri` hears every document.
142
145
  *
143
146
  * **Two families.** `waitFor*` only waits: it rejects for a URI with no
144
147
  * document, and for a root behind the store's text it waits for whatever
@@ -222,9 +225,31 @@ export interface ModelService<TAst extends AstNode, TDiagnostic extends AstDiagn
222
225
  */
223
226
  modelToText(uri: string, model: TTransfer | string, cancelToken?: CancellationToken): Promise<string>;
224
227
  getDocument(uri: string): LangiumDocument | undefined;
225
- onModelUpdated(uri: string, listener: (event: AstDocumentUpdatedEvent<TAst, TDiagnostic>) => void): Disposable;
226
- onModelSaved(uri: string, listener: (event: AstDocumentSavedEvent<TAst, TDiagnostic>) => void): Disposable;
227
- onClientClosed(uri: string, clientId: string, listener: () => void): Disposable;
228
+ /**
229
+ * Fires as a document reaches the filter's phase, `Validated` by default.
230
+ * Listeners run inside the build, so one that throws is logged and the
231
+ * others still run.
232
+ */
233
+ onModelUpdated(listener: (event: ModelUpdatedEvent<TAst, TDiagnostic>) => void, filter?: ModelPhaseFilter): Disposable;
234
+ /**
235
+ * Fires once per build that reaches the phase, with every document it
236
+ * carried there. A listener that throws is logged, as for {@link onModelUpdated}.
237
+ */
238
+ onModelsBuilt(listener: (event: ModelsBuiltEvent) => void, filter?: Pick<ModelPhaseFilter, 'phase'>): Disposable;
239
+ /**
240
+ * Fires for every save, whichever client made it, as the store announces
241
+ * it. A document saved before its first build arrives as an empty envelope
242
+ * at `UNRECORDED_VERSION`, whose `root` is `undefined` despite its type.
243
+ */
244
+ onModelSaved(listener: (event: AstDocumentSavedEvent<TAst, TDiagnostic>) => void, filter?: ModelEventFilter): Disposable;
245
+ onModelDeleted(listener: (event: ModelDeletedEvent) => void, filter?: ModelEventFilter): Disposable;
246
+ onDirtyChanged(listener: (event: ModelDirtyChangedEvent) => void, filter?: ModelEventFilter): Disposable;
247
+ onModelReleased(listener: (event: ModelReleasedEvent) => void, filter?: ModelEventFilter): Disposable;
248
+ /** Fires when `filter.clientId` closes `filter.uri`, its session ending included. */
249
+ onClientClosed(listener: () => void, filter: {
250
+ readonly uri: string;
251
+ readonly clientId: string;
252
+ }): Disposable;
228
253
  /**
229
254
  * Start a client session, the only way to open and write documents through
230
255
  * this service. Pass a `label` naming the participant; without one it is
@@ -234,12 +259,20 @@ export interface ModelService<TAst extends AstNode, TDiagnostic extends AstDiagn
234
259
  * held by another live session or has documents open under it as a client
235
260
  * that is not a session.
236
261
  *
262
+ * A `resumeToken` matching the one the live session under `clientId` was
263
+ * started with ends that session as lost first, so the documents it was
264
+ * last to hold keep their unsaved text for the new one. The token guards
265
+ * against taking over a session by accident, not against a peer: anyone who
266
+ * knows it can end the session.
267
+ *
237
268
  * `TOpenOptions` types the options the session's `open` takes and its
238
269
  * `openOptions` returns. The narrowing is an unchecked cast, and it holds
239
270
  * only for the caller that started the session: a holder reached through
240
271
  * {@link getSession} sees plain `OpenOptions`.
241
272
  */
242
- createSession<TOpenOptions extends OpenOptions = OpenOptions>(label?: string, clientId?: string): ClientSession<TAst, TDiagnostic, TTransfer, TOpenOptions>;
273
+ createSession<TOpenOptions extends OpenOptions = OpenOptions>(label?: string, clientId?: string, options?: {
274
+ readonly resumeToken?: string;
275
+ }): ClientSession<TAst, TDiagnostic, TTransfer, TOpenOptions>;
243
276
  /** The live session started under `clientId`, or `undefined` once it has ended or was never started. */
244
277
  getSession(clientId: string): ClientSession<TAst, TDiagnostic, TTransfer> | undefined;
245
278
  }
@@ -284,6 +317,13 @@ TTransfer extends TransferElement = TransferElement> implements ModelService<TAs
284
317
  * this service.
285
318
  */
286
319
  protected sessionCloseListener?: Disposable;
320
+ /** The token each live session was started with, by client id, for a takeover by {@link createSession}. */
321
+ protected readonly resumeTokens: Map<string, string>;
322
+ /**
323
+ * The {@link onModelUpdated} subscribers, by phase. One builder listener per
324
+ * phase serves them all, kept for the life of the service.
325
+ */
326
+ protected readonly updateSubscribers: Map<DocumentState, Set<ModelUpdateSubscriber<TAst, TDiagnostic>>>;
287
327
  /**
288
328
  * Workspace-level readiness gate. Resolves when the framework has
289
329
  * finished its first workspace build cycle and the `ModelService`
@@ -543,7 +583,9 @@ TTransfer extends TransferElement = TransferElement> implements ModelService<TAs
543
583
  * nothing logged. Use {@link snapshot} for that, or a phase read.
544
584
  */
545
585
  getDocument(uri: string): LangiumDocument | undefined;
546
- createSession<TOpenOptions extends OpenOptions = OpenOptions>(label?: string, clientId?: string): ClientSession<TAst, TDiagnostic, TTransfer, TOpenOptions>;
586
+ createSession<TOpenOptions extends OpenOptions = OpenOptions>(label?: string, clientId?: string, options?: {
587
+ readonly resumeToken?: string;
588
+ }): ClientSession<TAst, TDiagnostic, TTransfer, TOpenOptions>;
547
589
  getSession(clientId: string): ClientSession<TAst, TDiagnostic, TTransfer> | undefined;
548
590
  /**
549
591
  * Convert a structured-or-textual `model` payload to its textual form.
@@ -608,31 +650,25 @@ TTransfer extends TransferElement = TransferElement> implements ModelService<TAs
608
650
  */
609
651
  protected editLabel(): string;
610
652
  protected drainSyncQueue(uri: string): Promise<void>;
611
- /**
612
- * Subscribe to AST-snapshot updates for `uri`. Fires after each
613
- * rebuild that reaches the target phase. Delegates to the
614
- * `HydraniumTextDocuments` — single listener registration shared with
615
- * any direct `HydraniumTextDocuments.onUpdate` subscriber, so the same
616
- * underlying `DocumentBuilder.onDocumentPhase` listener serves both
617
- * call paths. The event's reason, source and cause are
618
- * {@link AstDocumentManager.attributeUpdate}'s.
619
- */
620
- onModelUpdated(uri: string, listener: (event: AstDocumentUpdatedEvent<TAst, TDiagnostic>) => void): Disposable;
621
- /**
622
- * Subscribe to save events for `uri`. Fires on every persist through
623
- * the multi-client text-document store — including saves originated
624
- * by other heads (LSP editor `Ctrl+S`, the data-server `save`, etc.)
625
- * so subscribers see one consistent stream regardless of who wrote
626
- * the file. Delegates to the manager — single listener registration
627
- * shared with any direct `HydraniumTextDocuments.onSave` subscriber.
628
- */
629
- onModelSaved(uri: string, listener: (event: AstDocumentSavedEvent<TAst, TDiagnostic>) => void): Disposable;
630
- /**
631
- * Subscribe to the `(uri, clientId)` close event. Delegates to the
632
- * manager so the listener registry is shared with any direct
633
- * `HydraniumTextDocuments.onClientClosed` subscriber.
634
- */
635
- onClientClosed(uri: string, clientId: string, listener: () => void): Disposable;
653
+ onModelUpdated(listener: (event: ModelUpdatedEvent<TAst, TDiagnostic>) => void, filter?: ModelPhaseFilter): Disposable;
654
+ onModelsBuilt(listener: (event: ModelsBuiltEvent) => void, filter?: Pick<ModelPhaseFilter, 'phase'>): Disposable;
655
+ onModelSaved(listener: (event: AstDocumentSavedEvent<TAst, TDiagnostic>) => void, filter?: ModelEventFilter): Disposable;
656
+ onModelDeleted(listener: (event: ModelDeletedEvent) => void, filter?: ModelEventFilter): Disposable;
657
+ onDirtyChanged(listener: (event: ModelDirtyChangedEvent) => void, filter?: ModelEventFilter): Disposable;
658
+ onModelReleased(listener: (event: ModelReleasedEvent) => void, filter?: ModelEventFilter): Disposable;
659
+ onClientClosed(listener: () => void, filter: {
660
+ readonly uri: string;
661
+ readonly clientId: string;
662
+ }): Disposable;
663
+ protected filterUri(filter: ModelEventFilter): CanonicalUri | undefined;
664
+ protected matches(target: CanonicalUri | undefined, uri: CanonicalUri): boolean;
665
+ /**
666
+ * Hand every subscriber of `phase` for `document` one event, built once, so
667
+ * all of them see the same attribution. Built inside the build's listener
668
+ * and handed out without an await: after one, another build can have reset
669
+ * the document.
670
+ */
671
+ protected deliverUpdate(phase: DocumentState, subscribers: ReadonlySet<ModelUpdateSubscriber<TAst, TDiagnostic>>, document: LangiumDocument, cancelToken: CancellationToken): void;
636
672
  /**
637
673
  * Serialise a transfer-model root via the language-specific
638
674
  * `Serializer` bound at `services.serializer.Serializer`,
@@ -1 +1 @@
1
- {"version":3,"file":"model-service.d.ts","sourceRoot":"","sources":["../../../src/langium/model-service/model-service.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,YAAY,EAEjB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,eAAe,EAEf,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,MAAM,EAEb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAgC,KAAK,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAC/H,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,EAAE,iBAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,KAAK,qBAAqB,EAAE,KAAK,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAEhI,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI/D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB,iEAAoE,CAAC;AAKnG;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACxD;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;CAChE;AAED,sEAAsE;AACtE,MAAM,WAAW,iBAAiB;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+GG;AACH,MAAM,WAAW,YAAY,CAC1B,IAAI,SAAS,OAAO,EACpB,WAAW,SAAS,aAAa,GAAG,aAAa,EACjD,SAAS,SAAS,eAAe,GAAG,eAAe;IAEnD;;;;;;;;OAQG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAG9B,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAClI,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACxG,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAG1F,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAClI,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IACtH;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACxF,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACxF,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACzF,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACzF,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAEjG,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC;IAClE;;;OAGG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACtG,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAAC;IAEtD,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,uBAAuB,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,IAAI,GAAG,UAAU,CAAC;IAC/G,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,qBAAqB,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,IAAI,GAAG,UAAU,CAAC;IAC3G,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,UAAU,CAAC;IAEhF;;;;;;;;;;;;;OAaG;IACH,aAAa,CAAC,YAAY,SAAS,WAAW,GAAG,WAAW,EACzD,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,GACjB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAC7D,wGAAwG;IACxG,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,GAAG,SAAS,CAAC;CACxF;AAED,qBAAa,mBAAmB,CAC7B,IAAI,SAAS,OAAO,EACpB,WAAW,SAAS,aAAa,GAAG,aAAa;AACjD;;;;;;;;GAQG;AACH,SAAS,SAAS,eAAe,GAAG,eAAe,CACpD,YAAW,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC;IAoEjD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB;IAnEpD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAClC;;;;;;;OAOG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IAChD,iFAAiF;IACjF,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IAElE;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,UAAU,6BAAoC;IACjE,SAAS,CAAC,QAAQ,CAAC,WAAW,sBAA6B;IAE3D,oFAAoF;IACpF,SAAS,CAAC,QAAQ,CAAC,QAAQ,mEAAkE;IAC7F;;;;;OAKG;IACH,SAAS,CAAC,oBAAoB,CAAC,EAAE,UAAU,CAAC;IAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9B,YACsB,QAAQ,EAAE,oBAAoB,EACjD,OAAO,GAAE,mBAAwB,EAsCnC;IAMD;;;;;;;;;;;OAWG;IACG,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAEtI;IAED;;;;;OAKG;IACG,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAI5G;IAED;;;;;;;;;;;;;;OAcG;IACH,UAAgB,6BAA6B,CAC1C,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE,aAAa,EACpB,WAAW,CAAC,EAAE,iBAAiB,EAC/B,OAAO,GAAE,iBAAsB,GAC/B,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAazC;IAED;;;;;;;;OAQG;IACH,UAAgB,eAAe,CAC5B,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,WAAW,GAAG,SAAS,EACpC,WAAW,CAAC,EAAE,iBAAiB,EAC/B,OAAO,GAAE,iBAAsB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAgBf;IAED;;;;;;OAMG;IACH,SAAS,CAAC,mBAAmB,CAC1B,GAAG,EAAE,GAAG,EACR,WAAW,GAAE,iBAA0C,EACvD,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GACxB,OAAO,CAAC,IAAI,CAAC,CAgCf;IAED;;;;;;;;OAQG;IACG,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAM9F;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAE1H;IAED;;;;;;;;OAQG;IACH,UAAgB,gBAAgB,CAC7B,GAAG,EAAE,YAAY,EACjB,KAAK,CAAC,EAAE,aAAa,EACrB,WAAW,CAAC,EAAE,iBAAiB,GAC/B,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CA4BzC;IAED,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAIhC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAE5F;IAEK,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAE5F;IAEK,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAE7F;IAEK,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAE7F;IAEK,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAErG;IAED;;;;;;;;;;OAUG;IACG,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAEtI;IAED;;;;;;;;;OASG;IACH,UAAgB,4BAA4B,CACzC,GAAG,EAAE,YAAY,EACjB,KAAK,CAAC,EAAE,aAAa,EACrB,WAAW,CAAC,EAAE,iBAAiB,GAC/B,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAMzC;IAED;;;;;;;;;;;;;OAaG;IACH,UAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBtF;IAED;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE3B;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,SAAS,CAOhE;IAED;;;;;;;;;;;;;;;OAeG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAEpD;IAMD,aAAa,CAAC,YAAY,SAAS,WAAW,GAAG,WAAW,EACzD,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,GACjB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC,CA6B3D;IAED,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,GAAG,SAAS,CAEpF;IAED;;;;;;;;;;OAUG;IACG,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmB1G;IAMD;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAe9D;IAED;;;;;;;;;;OAUG;IACH,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAE1D;IAED;;;;;;OAMG;IACH,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAsBnD;IAED;;;;;;;;OAQG;IACH,SAAS,CAAC,SAAS,IAAI,MAAM,CAE5B;IAED,UAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6CzD;IAMD;;;;;;;;OAQG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,uBAAuB,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,IAAI,GAAG,UAAU,CAE7G;IAED;;;;;;;OAOG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,qBAAqB,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,IAAI,GAAG,UAAU,CAEzG;IAED;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,UAAU,CAE9E;IAMD;;;;;;;;;;;;;;;;;;;OAmBG;IACH,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAGtE;IAMD;;;;OAIG;IACH,UAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE3F;IAED;;;;;;OAMG;IACH,UAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,CAU/G;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAKhE;IAED;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAG/F;CACH"}
1
+ {"version":3,"file":"model-service.d.ts","sourceRoot":"","sources":["../../../src/langium/model-service/model-service.ts"],"names":[],"mappings":"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"}