@hydranium/core 1.0.0-next.187 → 1.0.0-next.189

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 (96) hide show
  1. package/lib/documents/ast-document-manager.d.ts +26 -44
  2. package/lib/documents/ast-document-manager.d.ts.map +1 -1
  3. package/lib/documents/ast-document-manager.js +20 -50
  4. package/lib/documents/ast-document-manager.js.map +1 -1
  5. package/lib/documents/hydranium-text-documents.d.ts +87 -30
  6. package/lib/documents/hydranium-text-documents.d.ts.map +1 -1
  7. package/lib/documents/hydranium-text-documents.js +201 -37
  8. package/lib/documents/hydranium-text-documents.js.map +1 -1
  9. package/lib/documents/index.d.ts +2 -0
  10. package/lib/documents/index.d.ts.map +1 -1
  11. package/lib/documents/index.js +2 -0
  12. package/lib/documents/index.js.map +1 -1
  13. package/lib/documents/model-ledger.d.ts +47 -0
  14. package/lib/documents/model-ledger.d.ts.map +1 -0
  15. package/lib/documents/model-ledger.js +30 -0
  16. package/lib/documents/model-ledger.js.map +1 -0
  17. package/lib/documents/version-sync-service.d.ts +134 -0
  18. package/lib/documents/version-sync-service.d.ts.map +1 -0
  19. package/lib/documents/version-sync-service.js +171 -0
  20. package/lib/documents/version-sync-service.js.map +1 -0
  21. package/lib/langium/bootstrap.d.ts.map +1 -1
  22. package/lib/langium/bootstrap.js +16 -0
  23. package/lib/langium/bootstrap.js.map +1 -1
  24. package/lib/langium/document-builder/document-builder.d.ts +31 -25
  25. package/lib/langium/document-builder/document-builder.d.ts.map +1 -1
  26. package/lib/langium/document-builder/document-builder.js +43 -39
  27. package/lib/langium/document-builder/document-builder.js.map +1 -1
  28. package/lib/langium/integrity/integrity-service.d.ts.map +1 -1
  29. package/lib/langium/integrity/integrity-service.js +6 -15
  30. package/lib/langium/integrity/integrity-service.js.map +1 -1
  31. package/lib/langium/model-service/client-session.d.ts +14 -10
  32. package/lib/langium/model-service/client-session.d.ts.map +1 -1
  33. package/lib/langium/model-service/client-session.js +18 -15
  34. package/lib/langium/model-service/client-session.js.map +1 -1
  35. package/lib/langium/model-service/model-service.d.ts +91 -41
  36. package/lib/langium/model-service/model-service.d.ts.map +1 -1
  37. package/lib/langium/model-service/model-service.js +127 -50
  38. package/lib/langium/model-service/model-service.js.map +1 -1
  39. package/lib/langium/module.d.ts +6 -0
  40. package/lib/langium/module.d.ts.map +1 -1
  41. package/lib/langium/module.js +5 -1
  42. package/lib/langium/module.js.map +1 -1
  43. package/lib/langium/residency/cst-residency-service.d.ts.map +1 -1
  44. package/lib/langium/residency/cst-residency-service.js +10 -1
  45. package/lib/langium/residency/cst-residency-service.js.map +1 -1
  46. package/lib/langium/shared-services.d.ts +6 -2
  47. package/lib/langium/shared-services.d.ts.map +1 -1
  48. package/lib/langium/shared-services.js.map +1 -1
  49. package/lib/langium/transfer/transfer-encoder.d.ts +19 -10
  50. package/lib/langium/transfer/transfer-encoder.d.ts.map +1 -1
  51. package/lib/langium/transfer/transfer-encoder.js +8 -7
  52. package/lib/langium/transfer/transfer-encoder.js.map +1 -1
  53. package/lib/langium/workspace/hydranium-langium-document-factory.d.ts +31 -1
  54. package/lib/langium/workspace/hydranium-langium-document-factory.d.ts.map +1 -1
  55. package/lib/langium/workspace/hydranium-langium-document-factory.js +54 -0
  56. package/lib/langium/workspace/hydranium-langium-document-factory.js.map +1 -1
  57. package/lib/langium/workspace/langium-documents.d.ts +7 -0
  58. package/lib/langium/workspace/langium-documents.d.ts.map +1 -1
  59. package/lib/langium/workspace/langium-documents.js +10 -0
  60. package/lib/langium/workspace/langium-documents.js.map +1 -1
  61. package/lib/lsp/hydranium-document-update-handler.d.ts.map +1 -1
  62. package/lib/lsp/hydranium-document-update-handler.js +1 -0
  63. package/lib/lsp/hydranium-document-update-handler.js.map +1 -1
  64. package/lib/testing/make-test-services.d.ts +7 -0
  65. package/lib/testing/make-test-services.d.ts.map +1 -1
  66. package/lib/testing/make-test-services.js +10 -2
  67. package/lib/testing/make-test-services.js.map +1 -1
  68. package/lib/testing/stub-ast-document-manager.d.ts +3 -2
  69. package/lib/testing/stub-ast-document-manager.d.ts.map +1 -1
  70. package/lib/testing/stub-ast-document-manager.js +7 -1
  71. package/lib/testing/stub-ast-document-manager.js.map +1 -1
  72. package/lib/testing/stub-hydranium-text-documents.d.ts +2 -2
  73. package/lib/testing/stub-hydranium-text-documents.d.ts.map +1 -1
  74. package/lib/testing/stub-hydranium-text-documents.js +6 -1
  75. package/lib/testing/stub-hydranium-text-documents.js.map +1 -1
  76. package/package.json +5 -5
  77. package/src/documents/ast-document-manager.ts +45 -77
  78. package/src/documents/hydranium-text-documents.ts +225 -46
  79. package/src/documents/index.ts +2 -0
  80. package/src/documents/model-ledger.ts +66 -0
  81. package/src/documents/version-sync-service.ts +267 -0
  82. package/src/langium/bootstrap.ts +16 -0
  83. package/src/langium/document-builder/document-builder.ts +76 -37
  84. package/src/langium/integrity/integrity-service.ts +6 -15
  85. package/src/langium/model-service/client-session.ts +29 -21
  86. package/src/langium/model-service/model-service.ts +182 -64
  87. package/src/langium/module.ts +9 -1
  88. package/src/langium/residency/cst-residency-service.ts +10 -1
  89. package/src/langium/shared-services.ts +6 -2
  90. package/src/langium/transfer/transfer-encoder.ts +25 -18
  91. package/src/langium/workspace/hydranium-langium-document-factory.ts +83 -0
  92. package/src/langium/workspace/langium-documents.ts +11 -0
  93. package/src/lsp/hydranium-document-update-handler.ts +3 -0
  94. package/src/testing/make-test-services.ts +15 -2
  95. package/src/testing/stub-ast-document-manager.ts +10 -2
  96. package/src/testing/stub-hydranium-text-documents.ts +8 -3
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
- import { type CanonicalUri, type CloseModelArgs, type Tracer, type TransferSavedEvent, type TransferUpdatedEvent, type OpenModelArgs, type SnapshotVersion } from '@hydranium/protocol';
9
+ import { type CanonicalUri, type CloseModelArgs, type Tracer, type TransferSavedEvent, type TransferUpdatedEvent, type OpenModelArgs, type ModelVersion, type TextVersion } from '@hydranium/protocol';
10
10
  import { type AstNode, type FileSystemProvider, type LangiumDocument, type LangiumDocuments, URI } from '@hydranium/langium';
11
11
  import { type LogNameOptions } from '../langium/diagnostics/logger.js';
12
12
  import { type AstDiagnostic } from '../langium/validation/document-validator.js';
@@ -77,54 +77,27 @@ export interface UpdateInfo {
77
77
  * {@link AstDocumentManager.onUpdate} / {@link AstDocumentManager.onSave}
78
78
  * for in-process subscribers (`ModelService`, integrity service, etc.).
79
79
  *
80
- * Carries an AST-typed root (`TAst extends AstNode`) — distinct from
81
- * `TransferDocument<TTransfer extends TransferElement, …>` in
82
- * `@hydranium/protocol`, which carries the wire-transfer shape (no
83
- * `$container` cycles, references as strings). The two are structural
84
- * twins; the type-system distinction is the generic constraint, and the
85
- * conversion seam between them is the framework `TransferEncoder`.
80
+ * `root` is the live AST the build holds, not an encoded copy like
81
+ * `TransferDocument.model`, so mutating it changes the model every reader sees.
86
82
  */
87
83
  export interface AstDocument<TAst extends AstNode, TDiagnostic extends AstDiagnostic = AstDiagnostic> {
88
84
  root: TAst;
89
- diagnostics: TDiagnostic[];
85
+ /** Absent until the document is validated, and on any `ModelService` read below `Validated`; `[]` means validated and clean. */
86
+ diagnostics?: TDiagnostic[];
90
87
  uri: string;
91
88
  /**
92
- * Text-document version this snapshot was taken at — read from
93
- * `LangiumDocument.textDocument.version`. Symmetric with
94
- * `TransferDocument.version` on the wire side: an in-process caller that
95
- * holds an `AstDocument` and mutates it sends this straight back as the
96
- * `basedOn` of its session's write, and the conflict gate arms on it.
89
+ * The version of the text `root` was parsed from (`ModelLedger.versionOf`).
90
+ * A caller that mutates the document sends it back as the `baseVersion` of
91
+ * its session's write, and the conflict gate arms on it.
97
92
  */
98
- version: SnapshotVersion;
93
+ version: ModelVersion;
99
94
  }
100
95
  export declare namespace AstDocument {
101
96
  /**
102
- * Construct an {@link AstDocument} envelope. `diagnostics` defaults
103
- * to `[]` so test fixtures and the in-process pre-validated paths
104
- * don't need to repeat the empty array at every call site. Mirrors
105
- * `TransferDocument.create` on the wire side.
97
+ * Construct an {@link AstDocument} envelope, its version marked as coming
98
+ * from a read. `diagnostics` absent means not validated.
106
99
  */
107
100
  function create<TAst extends AstNode, TDiagnostic extends AstDiagnostic = AstDiagnostic>(uri: string, version: number, root: TAst, diagnostics?: TDiagnostic[]): AstDocument<TAst, TDiagnostic>;
108
- /**
109
- * Project a {@link LangiumDocument} into its {@link AstDocument}
110
- * envelope — the single place that reads `root` / `diagnostics` /
111
- * `version` / `uri` off a built document. Both the event path
112
- * ({@link AstDocumentManager.onUpdate} / `onSave`) and the read path
113
- * (`ModelService`'s snapshot accessors) go through here so the
114
- * field mapping lives once.
115
- *
116
- * The emitted `uri` is always the document's own `textDocument.uri` — the
117
- * canonical document-identity form (see {@link DocumentUriPolicy}). Events
118
- * carry that identity, not the subscriber's (possibly non-canonical) URI:
119
- * a subscriber already knows the URI it subscribed with, so the useful
120
- * thing to surface is the canonical one every other layer keys by.
121
- *
122
- * Narrowing `TDiagnostic` below the constraint asserts that the validators
123
- * in play produce that shape, and nothing here checks it: the build fills the
124
- * array, so a document carrying a diagnostic from elsewhere — a lexer error,
125
- * another validator — satisfies the declared type and not the narrowed one.
126
- */
127
- function from<TAst extends AstNode, TDiagnostic extends AstDiagnostic = AstDiagnostic>(document: LangiumDocument): AstDocument<TAst, TDiagnostic>;
128
101
  }
129
102
  /** Update event delivered by {@link AstDocumentManager.onUpdate} — typed alias over the generic event wrapper. */
130
103
  export type AstDocumentUpdatedEvent<TAst extends AstNode, TDiagnostic extends AstDiagnostic = AstDiagnostic> = TransferUpdatedEvent<AstDocument<TAst, TDiagnostic>>;
@@ -172,7 +145,7 @@ export interface AstDocumentManager<TAst extends AstNode, TDiagnostic extends As
172
145
  close(args: CloseModelArgs): Promise<void>;
173
146
  isOpen(uri: string): boolean;
174
147
  /** Apply `text` as `clientId`'s edit. Resolves to the resulting text-document version. */
175
- update(uri: string, text: string, clientId: string): Promise<number>;
148
+ update(uri: string, text: string, clientId: string): Promise<TextVersion>;
176
149
  /**
177
150
  * Write the document's current text to disk through `FileSystemTaskQueue`.
178
151
  * The text is taken when this is called, so saves of one file land in the
@@ -183,6 +156,16 @@ export interface AstDocumentManager<TAst extends AstNode, TDiagnostic extends As
183
156
  onSave(uri: string, listener: (event: AstDocumentSavedEvent<TAst, TDiagnostic>) => void | Promise<void>): Disposable;
184
157
  onClientClosed(uri: string, clientId: string, listener: () => void): Disposable;
185
158
  getDocument(uri: string): LangiumDocument | undefined;
159
+ /**
160
+ * `document` as the envelope every event and snapshot read hands out, its
161
+ * `version` the one `ModelLedger` recorded for its root.
162
+ *
163
+ * The `uri` is the document's own canonical one, not a subscriber's
164
+ * spelling, so it matches the key every other layer uses. The diagnostics
165
+ * are asserted to be `TDiagnostic` unchecked: a lexer error or another
166
+ * validator's diagnostic satisfies the declared type and not a narrower one.
167
+ */
168
+ toAstDocument(document: LangiumDocument): AstDocument<TAst, TDiagnostic>;
186
169
  /** Client id that authored the document's current version, or `undefined` for a framework-internal build. */
187
170
  getAuthor(document: LangiumDocument): string | undefined;
188
171
  /**
@@ -348,7 +331,7 @@ export declare class DefaultAstDocumentManager<TAst extends AstNode, TDiagnostic
348
331
  * correlate the change against subsequent build events can. Throws if the
349
332
  * document isn't open.
350
333
  */
351
- update(uri: string, text: string, clientId: string): Promise<number>;
334
+ update(uri: string, text: string, clientId: string): Promise<TextVersion>;
352
335
  /**
353
336
  * Persist the current text-document content for `uri` to disk and emit
354
337
  * the `didSaveTextDocument` notification. The text is read from the
@@ -394,10 +377,9 @@ export declare class DefaultAstDocumentManager<TAst extends AstNode, TDiagnostic
394
377
  getDocument(uri: string): LangiumDocument | undefined;
395
378
  protected createDocumentFromTextOrFileSystem(uri: string, languageId?: string, version?: number, text?: string): Promise<TextDocumentItem>;
396
379
  /**
397
- * Hook for subclasses that want to re-shape the emitted document (e.g. inject
398
- * a custom-typed `diagnostics` field). The default delegates to
399
- * {@link AstDocument.from}, the shared LangiumDocument→envelope projection.
380
+ * Events and the model service's snapshot reads both come through here, so
381
+ * an override that re-shapes the document re-shapes both.
400
382
  */
401
- protected toAstDocument(document: LangiumDocument): AstDocument<TAst, TDiagnostic>;
383
+ toAstDocument(document: LangiumDocument): AstDocument<TAst, TDiagnostic>;
402
384
  }
403
385
  //# sourceMappingURL=ast-document-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ast-document-manager.d.ts","sourceRoot":"","sources":["../../src/documents/ast-document-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,MAAM,EACX,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAElB,KAAK,eAAe,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACJ,KAAK,OAAO,EAEZ,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,GAAG,EAEL,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAEjF;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACnE,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD;;;;;;;;OAQG;IACH,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAChD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,QAAQ,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC;IACrC,uHAAuH;IACvH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CAC/C;AACD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAC/F,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,KAAK,wBAAwB,EAAsB,MAAM,sCAAsC,CAAC;AAEzG,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAErF,MAAM,WAAW,UAAU;IACxB,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,OAAO,EAAE,GAAG,EAAE,CAAC;CACjB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,WAAW,CAAC,IAAI,SAAS,OAAO,EAAE,WAAW,SAAS,aAAa,GAAG,aAAa;IACjG,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;;OAMG;IACH,OAAO,EAAE,eAAe,CAAC;CAC3B;AAED,yBAAiB,WAAW,CAAC;IAC1B;;;;;OAKG;IACH,SAAgB,MAAM,CAAC,IAAI,SAAS,OAAO,EAAE,WAAW,SAAS,aAAa,GAAG,aAAa,EAC3F,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,EACV,WAAW,GAAE,WAAW,EAAO,GAC/B,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAEhC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAgB,IAAI,CAAC,IAAI,SAAS,OAAO,EAAE,WAAW,SAAS,aAAa,GAAG,aAAa,EACzF,QAAQ,EAAE,eAAe,GACzB,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAOhC;CACH;AAED,kHAAkH;AAClH,MAAM,MAAM,uBAAuB,CAAC,IAAI,SAAS,OAAO,EAAE,WAAW,SAAS,aAAa,GAAG,aAAa,IAAI,oBAAoB,CAChI,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAChC,CAAC;AAEF,8GAA8G;AAC9G,MAAM,MAAM,qBAAqB,CAAC,IAAI,SAAS,OAAO,EAAE,WAAW,SAAS,aAAa,GAAG,aAAa,IAAI,kBAAkB,CAC5H,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAChC,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAC/B,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CACnB;AAED,2DAA2D;AAC3D,MAAM,WAAW,yBAA0B,SAAQ,cAAc;IAC9D;;;;;;;;OAQG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CACnC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,kBAAkB,CAAC,IAAI,SAAS,OAAO,EAAE,WAAW,SAAS,aAAa,GAAG,aAAa;IACxG,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/C,KAAK,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAE7B,0FAA0F;IAC1F,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACrE;;;;OAIG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,uBAAuB,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,IAAI,GAAG,UAAU,CAAC;IACzG,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,qBAAqB,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;IACrH,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,UAAU,CAAC;IAEhF,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAAC;IAEtD,6GAA6G;IAC7G,SAAS,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAAC;IAEzD;;;;;;;;OAQG;IACH,eAAe,CAAC,QAAQ,EAAE,eAAe,GAAG,iBAAiB,CAAC;CAChE;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,yBAAyB,CACnC,IAAI,SAAS,OAAO,EACpB,WAAW,SAAS,aAAa,GAAG,aAAa,CAClD,YAAW,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC;IAgD5C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB;IA/CpD,oGAAoG;IACpG,SAAS,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IAClC;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,CAAC,WAAW,oBAA2B;IACzD;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,iBAAiB,4BAAmC;IACvE;;;;;;;;;;;;;;;;OAgBG;IACH,SAAS,CAAC,QAAQ,CAAC,WAAW,cAAqB;IAEnD,sHAAsH;IACtH,SAAS,CAAC,QAAQ,CAAC,WAAW,mCAA0C;IACxE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAE1C,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,sBAAsB,CAAC,YAAY,CAAC,CAAC;IACvE,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,0BAA0B,CAAC;IAClE,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,wBAAwB,CAAC;IAC7D,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IAChD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAElC,YACsB,QAAQ,EAAE,oBAAoB,EACjD,OAAO,GAAE,yBAA8B,EA8DzC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO/C;IAED;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAmB7H;IAED,6FAA6F;IAC7F,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,UAAU,CAO9E;IAED,+EAA+E;IAC/E,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,KAAK,IAAI,GAAG,UAAU,CAoBjH;IAED;;;;;;;;OAQG;IACH,SAAS,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAEvD;IAED;;;;;;;;;;OAUG;IACH,eAAe,CAAC,QAAQ,EAAE,eAAe,GAAG,iBAAiB,CAc5D;IAED;;;;;OAKG;IACH,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAE9C;IAED;;;;OAIG;IACH,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAEjD;IAED;;;;;OAKG;IACH,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAKxE;IAED,gDAAgD;IAChD,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAE3D;IAEK,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CAyCnD;IAEK,KAAK,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;IAED;;;;;;;;;;OAUG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMzE;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BvD;IAED,yHAAyH;IACzH,UAAgB,SAAS,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAU1F;IAED;;;;;;;;OAQG;IACH,UAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAKvE;IAED,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE3B;IAED;;;;;;OAMG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAEpD;IAED,UAAgB,kCAAkC,CAC/C,GAAG,EAAE,MAAM,EACX,UAAU,GAAE,MAAoC,EAChD,OAAO,SAAI,EACX,IAAI,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,CAAC,CAW3B;IAED;;;;OAIG;IACH,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,eAAe,GAAG,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAEjF;CACH"}
1
+ {"version":3,"file":"ast-document-manager.d.ts","sourceRoot":"","sources":["../../src/documents/ast-document-manager.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
- import { asSnapshotVersion } from '@hydranium/protocol';
9
+ import { asModelVersion, UNRECORDED_VERSION } from '@hydranium/protocol';
10
10
  import { DocumentState, URI, UriUtils } from '@hydranium/langium';
11
11
  import { Disposable } from 'vscode-languageserver';
12
12
  import { TextDocumentIdentifier } from 'vscode-languageserver-protocol';
@@ -15,38 +15,13 @@ import { UNKNOWN_CLIENT_ID } from './client-ids.js';
15
15
  export var AstDocument;
16
16
  (function (AstDocument) {
17
17
  /**
18
- * Construct an {@link AstDocument} envelope. `diagnostics` defaults
19
- * to `[]` so test fixtures and the in-process pre-validated paths
20
- * don't need to repeat the empty array at every call site. Mirrors
21
- * `TransferDocument.create` on the wire side.
18
+ * Construct an {@link AstDocument} envelope, its version marked as coming
19
+ * from a read. `diagnostics` absent means not validated.
22
20
  */
23
- function create(uri, version, root, diagnostics = []) {
24
- return { uri, version: asSnapshotVersion(version), root, diagnostics };
21
+ function create(uri, version, root, diagnostics) {
22
+ return { uri, version: asModelVersion(version), root, ...(diagnostics === undefined ? {} : { diagnostics }) };
25
23
  }
26
24
  AstDocument.create = create;
27
- /**
28
- * Project a {@link LangiumDocument} into its {@link AstDocument}
29
- * envelope — the single place that reads `root` / `diagnostics` /
30
- * `version` / `uri` off a built document. Both the event path
31
- * ({@link AstDocumentManager.onUpdate} / `onSave`) and the read path
32
- * (`ModelService`'s snapshot accessors) go through here so the
33
- * field mapping lives once.
34
- *
35
- * The emitted `uri` is always the document's own `textDocument.uri` — the
36
- * canonical document-identity form (see {@link DocumentUriPolicy}). Events
37
- * carry that identity, not the subscriber's (possibly non-canonical) URI:
38
- * a subscriber already knows the URI it subscribed with, so the useful
39
- * thing to surface is the canonical one every other layer keys by.
40
- *
41
- * Narrowing `TDiagnostic` below the constraint asserts that the validators
42
- * in play produce that shape, and nothing here checks it: the build fills the
43
- * array, so a document carrying a diagnostic from elsewhere — a lexer error,
44
- * another validator — satisfies the declared type and not the narrowed one.
45
- */
46
- function from(document) {
47
- return create(document.textDocument.uri, document.textDocument.version, document.parseResult.value, (document.diagnostics ?? []));
48
- }
49
- AstDocument.from = from;
50
25
  })(AstDocument || (AstDocument = {}));
51
26
  /**
52
27
  * Higher-level facade over {@link HydraniumTextDocuments} that speaks the
@@ -156,22 +131,6 @@ export class DefaultAstDocumentManager {
156
131
  // it could still be skipped by a cancel, and the next build would then
157
132
  // report as rebuilt a version they never delivered.
158
133
  this.documentBuilder.onDocumentPhaseDelivered(DocumentState.Validated, (document, version) => this.markDelivered(document, version));
159
- // Content transitions for CLOSED documents bypass the text store: the
160
- // last-close revert and watched-file changes rebuild from disk into a
161
- // factory-fresh text document carrying the factory's own version. At the
162
- // Parsed transition (the earliest phase with text, and one only re-read
163
- // documents pass through — cascade relinks re-enter later), reconcile the
164
- // store's persisted version sequence with the rebuilt content and
165
- // re-stamp the document so every downstream envelope (revert broadcast,
166
- // snapshot reads) carries the continued sequence. An empty-changes
167
- // update only re-stamps the version. Previously-untracked URIs exit on a
168
- // map lookup, so workspace-wide builds don't hash untouched documents.
169
- this.documentBuilder.onDocumentPhase(DocumentState.Parsed, labelPhaseListener(document => {
170
- const sequenceVersion = this.textDocuments.reconcileExternalContent(document.textDocument.uri, document.textDocument.getText());
171
- if (sequenceVersion !== undefined && document.textDocument.version !== sequenceVersion) {
172
- this.textDocuments.update(document.textDocument, [], sequenceVersion);
173
- }
174
- }, 'AstDocumentManager.reconcileExternalContent'));
175
134
  }
176
135
  /**
177
136
  * Resolve a `languageId` for a URI by delegating to the
@@ -365,6 +324,11 @@ export class DefaultAstDocumentManager {
365
324
  // the file holds.
366
325
  this.textDocuments.updateDiskBaseline(args.uri, undefined);
367
326
  }
327
+ const built = this.getDocument(args.uri);
328
+ if (creates && built) {
329
+ // Without an LSP head nothing else builds the opened text.
330
+ void this.services.workspace.VersionSyncService.syncTo(built.uri, this.textDocuments.version(args.uri));
331
+ }
368
332
  }
369
333
  return Disposable.create(() => this.close(args));
370
334
  }
@@ -487,12 +451,18 @@ export class DefaultAstDocumentManager {
487
451
  };
488
452
  }
489
453
  /**
490
- * Hook for subclasses that want to re-shape the emitted document (e.g. inject
491
- * a custom-typed `diagnostics` field). The default delegates to
492
- * {@link AstDocument.from}, the shared LangiumDocument→envelope projection.
454
+ * Events and the model service's snapshot reads both come through here, so
455
+ * an override that re-shapes the document re-shapes both.
493
456
  */
494
457
  toAstDocument(document) {
495
- return AstDocument.from(document);
458
+ const uri = document.textDocument.uri;
459
+ const root = document.parseResult.value;
460
+ const ledger = this.services.workspace.ModelLedger;
461
+ const version = ledger.versionOf(root);
462
+ if (version === UNRECORDED_VERSION && !ledger.isPlaceholder(root)) {
463
+ this.tracer.with(uri).warn('No model version recorded for the root: it was built outside the document factory');
464
+ }
465
+ return AstDocument.create(uri, version, root, document.diagnostics);
496
466
  }
497
467
  }
498
468
  //# sourceMappingURL=ast-document-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ast-document-manager.js","sourceRoot":"","sources":["../../src/documents/ast-document-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast-document-manager.js","sourceRoot":"","sources":["../../src/documents/ast-document-manager.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ import { type URI } from '@hydranium/langium';
12
12
  import { type ServerSharedServices } from '../langium/module.js';
13
13
  import { type ApplyWorkspaceEditResult, type CancellationToken, type Connection, type DidChangeTextDocumentParams, type DidCloseTextDocumentParams, type DidOpenTextDocumentParams, type DidSaveTextDocumentParams, type Disposable, Emitter, type Event, type HandlerResult, type RequestHandler, type TextDocumentChangeEvent, type TextDocumentWillSaveEvent, type TextDocumentsConfiguration, type TextEdit, type WillSaveTextDocumentParams } from 'vscode-languageserver';
14
14
  import { type DocumentUri, TextDocument, type TextDocumentContentChangeEvent } from 'vscode-languageserver-textdocument';
15
- import { type CanonicalUri, type LanguageClientUri, type Stopwatch, type Tracer } from '@hydranium/protocol';
15
+ import { type CanonicalUri, type LanguageClientUri, type Stopwatch, type TextState, type TextVersion, type Tracer } from '@hydranium/protocol';
16
16
  import { type LogNameOptions } from '../langium/diagnostics/logger.js';
17
17
  import { type ClientSessionClosedEvent, ClientSessionRegistry, type SessionEndCause } from './client-session-registry.js';
18
18
  import { LanguageClientTextShadow } from './language-client-text-shadow.js';
@@ -58,8 +58,13 @@ export interface LastOpenClosedEvent {
58
58
  /** Delivered by {@link HydraniumTextDocuments.onDidChangeDirty}. */
59
59
  export interface DocumentDirtyChangedEvent {
60
60
  readonly uri: CanonicalUri;
61
- /** The new answer of {@link HydraniumTextDocuments.isDirty}. */
62
- readonly dirty: boolean;
61
+ /**
62
+ * The text the new answer of {@link HydraniumTextDocuments.isDirty} was
63
+ * decided on. The answer changes with the text, before any build, so it can
64
+ * name text whose model has not been sent yet. Absent when the document no
65
+ * longer exists, or when the build that follows its release failed.
66
+ */
67
+ readonly text?: TextState;
63
68
  }
64
69
  /**
65
70
  * The language client's open of a document under one URI, from its didOpen to
@@ -174,16 +179,17 @@ export type RepairCommit<T extends TextDocument> = {
174
179
  readonly status: 'not-open';
175
180
  };
176
181
  /**
177
- * Where a URI's shared version sequence left off — written once at last-client
178
- * close, consulted at the next open so the sequence CONTINUES instead of
179
- * restarting at whatever version id the reopening client declares. One entry
182
+ * Where a URI's shared version sequence left off while no client holds it —
183
+ * started by its first build, stepped by builds of changed text, written at
184
+ * last-client close, and consulted at the next open so the sequence CONTINUES
185
+ * instead of restarting at whatever version id the opening client declares. One entry
180
186
  * of {@link HydraniumTextDocuments.__versionSequences} — a `protected` field, so
181
187
  * a subclass reading the map has to name what it holds.
182
188
  */
183
189
  export interface VersionSequence {
184
- /** The shared version at last-client close. */
190
+ /** The shared version of the text last closed or built. */
185
191
  readonly version: number;
186
- /** {@link textHash} of the synced text at last-client close. */
192
+ /** {@link textHash} of that text. */
187
193
  readonly contentHash: string;
188
194
  }
189
195
  /**
@@ -246,10 +252,12 @@ export type LanguageClientChangeOrigin =
246
252
  * - A SERVER-OWNED shared version sequence: per-URI, monotonic across
247
253
  * close/reopen cycles, advancing exactly when the synced content changes.
248
254
  * Client-declared version ids (Monaco's buffer numbering) feed only a
249
- * per-client staleness guard and never leak into the shared sequence —
255
+ * per-client staleness guard and never leak into a running sequence —
250
256
  * the two are different things (an editor's edit-operation counter vs the
251
257
  * document's content-revision number), and splicing them lets versions drift
252
- * silently past based-on gate holders.
258
+ * silently past base-version gate holders. A URI with no sequence, and no
259
+ * root that records a version, starts at its opener's declared id: no version
260
+ * was handed out for it.
253
261
  * - Version-author history so each edit is attributable to its originating client.
254
262
  * - The revert to disk once no client has a document open, for every head
255
263
  * ({@link revertToDisk}), deferred by
@@ -280,20 +288,36 @@ export declare class HydraniumTextDocuments<T extends TextDocument = TextDocumen
280
288
  protected readonly __sessions: ClientSessionRegistry;
281
289
  /**
282
290
  * Per-URI shared-version continuity across close/reopen cycles
283
- * ({@link VersionSequence}), written at last-client close and consulted by
284
- * the next first-client open. DELIBERATELY outside {@link DocumentTrackingRecord}:
285
- * that record is deleted on last close, while the version sequence must
291
+ * ({@link VersionSequence}), kept for every document a build or a client
292
+ * gave the store, and consulted by the next first-client open. A URI
293
+ * with none, and no root that records a version, starts at its opener's
294
+ * declared version.
295
+ * DELIBERATELY outside {@link DocumentTrackingRecord}: that record is deleted on last close, while the version sequence must
286
296
  * survive it — the shared version is a server-owned, monotonic,
287
297
  * advances-iff-content-changes counter that never resets while the server
288
- * lives. That invariant is what makes an optimistic based-on gate
298
+ * lives. That invariant is what makes an optimistic base-version gate
289
299
  * sound: "version unchanged ⇔ content unchanged", with no false conflicts
290
300
  * from close/reopen version resets and no false passes from a reopened
291
301
  * sequence coincidentally landing on a stale writer's number.
292
302
  *
293
- * Never pruned: two small values per URI ever touched — bounded by
294
- * workspace size, not by activity.
303
+ * Never pruned, not even when the file is deleted: a recreated file
304
+ * restarting at `0` would let a write based on the deleted text pass. Two
305
+ * small values per URI ever built, however often it changes.
295
306
  */
296
307
  protected readonly __versionSequences: Map<CanonicalUri, VersionSequence>;
308
+ /**
309
+ * Released documents last announced dirty. Their clean flip waits for the
310
+ * revert, so it carries the reverted text's version; a first open before the
311
+ * revert takes the entry over, and its own dirty answer decides the flip.
312
+ * Each release enters a token of its own, so the revert of an earlier
313
+ * release cannot announce a later one clean before that one's revert.
314
+ */
315
+ protected readonly __releasedDirty: Map<CanonicalUri, object>;
316
+ /** Per held document, the {@link textHash} of its text at the version it was taken. */
317
+ protected readonly __textHashes: WeakMap<TextDocument, {
318
+ readonly version: number;
319
+ readonly hash: string;
320
+ }>;
297
321
  /**
298
322
  * Texts pushed to the LSP textual language client via
299
323
  * {@link applyEditToLanguageClient} whose echoes have not come back yet
@@ -375,12 +399,12 @@ export declare class HydraniumTextDocuments<T extends TextDocument = TextDocumen
375
399
  * A content-identical write still fires the change event (rebuild): the
376
400
  * authored write's server-side rebuild is correctness-bearing, it just
377
401
  * mints no new version — nothing observable changed, so watchers'
378
- * based-on versions stay valid.
402
+ * base versions stay valid.
379
403
  *
380
404
  * Returns the resulting shared version. Throws when the document is not
381
405
  * open — callers (`AstDocumentManager.update`) open first.
382
406
  */
383
- applyContentChange(uri: DocumentUri, text: string, clientId: string): number;
407
+ applyContentChange(uri: DocumentUri, text: string, clientId: string): TextVersion;
384
408
  /**
385
409
  * Close `clientId`'s open of the document. When it was the last open, the
386
410
  * document is released and reverts to disk, at once or, for a `'lost'`
@@ -432,6 +456,13 @@ export declare class HydraniumTextDocuments<T extends TextDocument = TextDocumen
432
456
  * document meanwhile would have its text rebuilt over, or the document
433
457
  * removed. A document some client has open again, or that waits out a new
434
458
  * grace, is left to that client.
459
+ *
460
+ * A document released dirty is announced clean, so a watcher is never left
461
+ * holding it dirty: once the revert has parsed the file, even if it is then
462
+ * cancelled, or else once the build it requests in its place has parsed it,
463
+ * as the announcement names the store's text. One the revert or that build
464
+ * removed, or that build failed, is announced without text. A reopen before
465
+ * that takes the announcement over.
435
466
  */
436
467
  protected revertToDisk(uri: CanonicalUri): Promise<void>;
437
468
  notifyWillSaveTextDocument(event: WillSaveTextDocumentParams): void;
@@ -473,6 +504,13 @@ export declare class HydraniumTextDocuments<T extends TextDocument = TextDocumen
473
504
  * {@link resolvePendingRevert}); the caller then opens it anew.
474
505
  */
475
506
  attachClient(uri: DocumentUri, clientId: string): boolean;
507
+ /**
508
+ * The built root's recorded version, one on when `text` differs from the root's;
509
+ * `declared` when the root records no store version. Seeded from `declared`, a write based
510
+ * on the root passes the gate over other text, and the same text looks newer than its model.
511
+ * A built root has no sequence only under a `LangiumDocuments` that does not reconcile at registration.
512
+ */
513
+ protected firstOpenVersion(uri: CanonicalUri, text: string, declared: number): number;
476
514
  protected logClientJoined(uri: DocumentUri, clientId: string, version: number, existingClients: readonly string[]): void;
477
515
  refreshContent(uri: DocumentUri, clientId: string): void;
478
516
  /**
@@ -518,29 +556,43 @@ export declare class HydraniumTextDocuments<T extends TextDocument = TextDocumen
518
556
  get(uri: DocumentUri): T | undefined;
519
557
  /**
520
558
  * Current SHARED version of the document at `uri`: the open document's
521
- * version, else where the persisted sequence left off at last close, else
522
- * `0` for a URI this store has never seen. The shared sequence is
559
+ * version, else where its persisted sequence left off, else `0` for a URI
560
+ * this store has never seen. The shared sequence is
523
561
  * server-owned and monotonic across close/reopen cycles, and advances
524
562
  * exactly when the synced content changes — which is what makes it a sound
525
- * optimistic-concurrency token (based-on gates): version unchanged ⇔
563
+ * optimistic-concurrency token (base-version gates): version unchanged ⇔
526
564
  * content unchanged.
527
565
  */
528
- version(uri: DocumentUri): number;
566
+ version(uri: DocumentUri): TextVersion;
567
+ /**
568
+ * The text the store holds for `uri`: an open document's, or for a closed
569
+ * one, the clean text its version sequence left off at, which for a deleted
570
+ * document is its last text. `undefined` for a URI no build and no client
571
+ * gave the store.
572
+ */
573
+ textState(uri: DocumentUri): TextState | undefined;
574
+ /**
575
+ * {@link textHash} of `document`'s text, taken once per version: the store
576
+ * moves a document's version with every change of its text.
577
+ */
578
+ protected heldTextHash(document: T): string;
529
579
  /**
530
580
  * Reconcile the persisted version sequence with content that reached the
531
581
  * build OUTSIDE the store's write paths — a closed document rebuilt from
532
582
  * disk (last-close revert) or replaced by a watched-file change. Steps the
533
583
  * sequence iff `text` differs from the sequence's last-known content and
534
584
  * returns the resulting sequence version so the caller can re-stamp the
535
- * rebuilt document (see the `AstDocumentManager` Parsed-phase listener) —
585
+ * rebuilt document (`VersionSyncService.modelProduced`) —
536
586
  * keeping the "version advances iff content changes" invariant for
537
587
  * documents no client currently holds.
538
588
  *
539
- * Returns `undefined` — and does nothing — when the document is open (the
540
- * store's own content is authoritative; external transitions never reach
541
- * the Langium factory for open documents) or was never tracked (no gate
542
- * holder can hold a version pointer for it, and the early exit keeps
543
- * workspace-wide builds from hashing every untouched document).
589
+ * For an open document, its version when it holds `text`, since a build
590
+ * that read the file while the document was closed can finish after an
591
+ * open; else `undefined`, and the caller has to build the document again.
592
+ *
593
+ * A document without a sequence starts one at `0` with `text`: snapshots
594
+ * hand out versions for documents no client opened, so an uncounted change
595
+ * would let a write based on the old text pass the gate.
544
596
  */
545
597
  reconcileExternalContent(uri: DocumentUri, text: string): number | undefined;
546
598
  /**
@@ -567,7 +619,7 @@ export declare class HydraniumTextDocuments<T extends TextDocument = TextDocumen
567
619
  *
568
620
  * A changed text is a new version authored by {@link INTEGRITY_CLIENT_ID}.
569
621
  * Kept at the old version, the repair is invisible to every reader keyed on
570
- * versions: a write based on the unrepaired version passes the based-on gate
622
+ * versions: a write based on the unrepaired version passes the base-version gate
571
623
  * and replaces the repair, and an echo filter credits the repair to the
572
624
  * client whose edit it corrected. No change event is fired: the repair
573
625
  * rides the build already under way, and an event would re-enter it.
@@ -633,7 +685,12 @@ export declare class HydraniumTextDocuments<T extends TextDocument = TextDocumen
633
685
  * must know the file reads it instead.
634
686
  */
635
687
  isDirty(uri: DocumentUri): boolean;
636
- /** Fires each time the answer of {@link isDirty} changes, the release of a dirty document included. */
688
+ /**
689
+ * Fires each time the answer of {@link isDirty} changes. A dirty document's
690
+ * release fires once a parse of the file reaches the store, at that text's
691
+ * version, or without text once its revert removed the document or could
692
+ * not rebuild it, though {@link isDirty} answers clean from the release on.
693
+ */
637
694
  get onDidChangeDirty(): Event<DocumentDirtyChangedEvent>;
638
695
  /**
639
696
  * Record that the file behind `uri` holds `text`, or no file at all for
@@ -1 +1 @@
1
- {"version":3,"file":"hydranium-text-documents.d.ts","sourceRoot":"","sources":["../../src/documents/hydranium-text-documents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hydranium-text-documents.d.ts","sourceRoot":"","sources":["../../src/documents/hydranium-text-documents.ts"],"names":[],"mappings":"AAAA;;;;;;;;kFAQkF;AAalF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,KAAK,GAAG,EAAY,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EACJ,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,UAAU,EACf,OAAO,EACP,KAAK,KAAK,EACV,KAAK,aAAa,EAElB,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAI5B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,QAAQ,EACb,KAAK,0BAA0B,EACjC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,KAAK,WAAW,EAAE,YAAY,EAAE,KAAK,8BAA8B,EAAE,MAAM,oCAAoC,CAAC;AACzH,OAAO,EACJ,KAAK,YAAY,EACjB,KAAK,iBAAiB,EAGtB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,WAAW,EAEhB,KAAK,MAAM,EAGb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAKvE,OAAO,EAAE,KAAK,wBAAwB,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1H,OAAO,EAAiB,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAW3F,MAAM,WAAW,6BAA6B,CAAC,CAAC,CAAE,SAAQ,uBAAuB,CAAC,CAAC,CAAC;IACjF,QAAQ,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,6BAA6B,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,CAAE,SAAQ,cAAc;IACzG;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAC;IACvD;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CAClC;AASD,6EAA6E;AAC7E,MAAM,WAAW,wBAAwB;IACtC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACvB;AAED,sEAAsE;AACtE,MAAM,WAAW,mBAAmB;IACjC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC;CAC7B;AAED,oEAAoE;AACpE,MAAM,WAAW,yBAAyB;IACvC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IACzC,yDAAyD;IACzD,eAAe,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,sBAAsB;IACpC,6FAA6F;IAC7F,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;IAClC;;;;;;;;;OASG;IACH,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,sFAAsF;IACtF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;OAOG;IACH,uBAAuB,CAAC,EAAE,GAAG,CAAC,iBAAiB,EAAE,2BAA2B,CAAC,CAAC;IAC9E;;;;;;;;;;;;;;OAcG;IACH,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACrC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iFAAiF;IACjF,KAAK,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC1B,yDAAyD;IACzD,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC;IAC3B,oEAAoE;IACpE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,YAAY,IAC1C;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;CAAE,GACtD;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAErC;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC7B,2DAA2D;IAC3D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,qCAAqC;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC/B;AAmBD;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACvC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,kEAAkE;IAClE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;GAKG;AACH,MAAM,MAAM,0BAA0B;AACnC,yFAAyF;AACvF;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAC3B;;;;GAIG;GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AACvD;;;;;GAKG;GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAc5C;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,sBAAsB,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,CAAE,SAAQ,uBAAuB,CAAC,CAAC,CAAC;IAyGvG,SAAS,CAAC,QAAQ,EAAE,oBAAoB;IAxG3C;;;;;OAKG;IACH,SAAS,CAAC,WAAW,4CAAmD;IAExE;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,UAAU,wBAA+B;IAE5D;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,CAAC,QAAQ,CAAC,kBAAkB,qCAA4C;IAEjF;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,CAAC,eAAe,4BAAmC;IAErE,uFAAuF;IACvF,SAAS,CAAC,QAAQ,CAAC,YAAY;0BAAiD,MAAM;uBAAiB,MAAM;OAAM;IAEnH;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,SAAS,CAAC,QAAQ,CAAC,eAAe,sDAA6D;IAE/F;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC;IAEtD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAC;IAChE,+DAA+D;IAC/D,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IACzC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,+BAAsC;IAC9E,SAAS,CAAC,QAAQ,CAAC,0BAA0B,oCAA2C;IACxF,SAAS,CAAC,QAAQ,CAAC,mBAAmB,qCAA4C;IAElF,YACa,QAAQ,EAAE,oBAAoB,EACxC,OAAO,GAAE,6BAA6B,CAAC,CAAC,CAAM,EAYhD;IAOM,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CAElF;IAEM,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,8BAA8B,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CAExF;IAED,SAAS,KAAK,iBAAiB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAEhD;IAED,SAAS,KAAK,oBAAoB,IAAI,OAAO,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAE9E;IAED,IAAa,kBAAkB,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAEzE;IAED,SAAS,KAAK,WAAW,IAAI,OAAO,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAErE;IAED,IAAa,SAAS,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAEhE;IAED,SAAS,KAAK,YAAY,IAAI,OAAO,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAEtE;IAED,IAAa,UAAU,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAEjE;IAED,SAAS,KAAK,WAAW,IAAI,OAAO,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAErE;IAED,IAAa,SAAS,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAEhE;IAED,SAAS,KAAK,YAAY,IAAI,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAElE;IAED,SAAS,KAAK,mBAAmB,IAAI,cAAc,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,GAAG,SAAS,CAE9G;IAEe,MAAM,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CA6CzD;IAEM,2BAA2B,CAAC,KAAK,EAAE,2BAA2B,EAAE,QAAQ,SAAqB,GAAG,IAAI,CA8G1G;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAmBhF;IAED;;;;OAIG;IACI,0BAA0B,CAC9B,KAAK,EAAE,0BAA0B,EACjC,QAAQ,SAAqB,EAC7B,KAAK,GAAE,eAA0B,GACjC,IAAI,CAyCN;IAED;;;;;;OAMG;IACH,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAS9C;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,oBAAoB,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAaxE;IAED,8FAA8F;IAC9F,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAM/D;IAED;;;OAGG;IACH,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAsBjD;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,UAAgB,YAAY,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAuH7D;IAEM,0BAA0B,CAAC,KAAK,EAAE,0BAA0B,GAAG,IAAI,CAKzE;IAEM,mCAAmC,CACvC,KAAK,EAAE,0BAA0B,EACjC,KAAK,EAAE,iBAAiB,GACxB,aAAa,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAOjC;IAED;;;;OAIG;IACH,UAAgB,wBAAwB,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuCxF;IAED;;;;;OAKG;IACI,yBAAyB,CAAC,KAAK,EAAE,yBAAyB,EAAE,QAAQ,SAAqB,GAAG,IAAI,CAQtG;IAED,gFAAgF;IAChF,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAG1D;IAEM,yBAAyB,CAAC,KAAK,EAAE,yBAAyB,EAAE,QAAQ,SAAqB,GAAG,IAAI,CAoGtG;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAgBxD;IAED;;;;;OAKG;IACH,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAYpF;IAED,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAMvH;IAED,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAWvD;IAED;;;;;;;;;;OAUG;IACH,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAE/C;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAE5D;IAED,8FAA8F;IAC9F,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,sBAAsB,CAO/D;IAED,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAEjE;IAED;;;;;;;;;;;;;;;OAeG;IACM,GAAG,CAAC,GAAG,EAAE,WAAW,GAAG,CAAC,GAAG,SAAS,CAE5C;IAED;;;;;;;;OAQG;IACH,OAAO,CAAC,GAAG,EAAE,WAAW,GAAG,WAAW,CAErC;IAED;;;;;OAKG;IACH,SAAS,CAAC,GAAG,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,CAOjD;IAED;;;OAGG;IACH,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,GAAG,MAAM,CAQ1C;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,wBAAwB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAmB3E;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAsBpF;IAED,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAUhE;IAED,MAAM,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAEhC;IAED;;;;;;;;OAQG;IACH,iBAAiB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAE3C;IAED,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAExD;IAED,sBAAsB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAKhD;IAED,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAG5D;IAED;;;;;;;;;OASG;IACH,aAAa,IAAI,YAAY,EAAE,CAE9B;IAED,0FAA0F;IAC1F,IAAI,iBAAiB,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAEvD;IAED;;;;;OAKG;IACH,IAAI,kBAAkB,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAEnD;IAED;;;;OAIG;IACH,IAAI,yBAAyB,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAE/D;IAED;;;;;OAKG;IACH,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAEzC;IAED;;;;;;;;;;OAUG;IACH,OAAO,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAEjC;IAED;;;;;OAKG;IACH,IAAI,gBAAgB,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAEvD;IAED;;;;OAIG;IACH,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAQnE;IAED;;;;OAIG;IACG,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAcxD;IAED,uFAAuF;IACvF,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAa9C;IAED;;;OAGG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAItC;IAED;;;;;OAKG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,eAA0B,GAAG,IAAI,CAatE;IAED;;;;;;;;;;OAUG;IACG,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC,CAMlD;IAED;;;;;;OAMG;IACH,UAAgB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEpD;IAED;;;;;OAKG;IACH,SAAS,CAAC,8BAA8B,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAOhE;IAED;;;;;;;;OAQG;IACH,qBAAqB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAO5C;IAED;;;;;;;;OAQG;IACM,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,CAa3C;IAED;;;;;;OAMG;IACH,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGjD;IAED;;;;;;;;;;;;;;;OAeG;IACH,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAExD;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,yBAAyB,CAC5B,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5B,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC,CA8E/C;IAED;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,qBAAqB,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,GAAE,iBAAiD,GAAG,MAAM,CAMtH;IAED;;;;;;OAMG;IACH,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAW3G;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACH,SAAS,CAAC,4BAA4B,CACnC,YAAY,EAAE,iBAAiB,EAC/B,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,8BAA8B,EAAE,GACzC,0BAA0B,GAAG,SAAS,CAoCxC;IAED;;;;;OAKG;IACH,qBAAqB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAK1D;IAED,mGAAmG;IACnG,4BAA4B,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAInD;IAED,SAAS,CAAC,qBAAqB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,CAOpE;IAED,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAErD;IAED,mFAAmF;IACnF,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,GAAG,OAAgB,GAAG,IAAI,CAE1F;IAED,wDAAwD;IACxD,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG;QAAE,OAAO,IAAI,IAAI,CAAA;KAAE,CAEjF;CACH"}