@hydranium/core 1.0.0-next.160 → 1.0.0-next.168

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -61,6 +61,21 @@ export interface DocumentDirtyChangedEvent {
61
61
  /** The new answer of {@link HydraniumTextDocuments.isDirty}. */
62
62
  readonly dirty: boolean;
63
63
  }
64
+ /**
65
+ * The language client's open of a document under one URI, from its didOpen to
66
+ * its didClose. Each URI is its own editor buffer with its own version counter,
67
+ * so a file reached through a symlink and its real path has one of these each.
68
+ */
69
+ export interface LanguageClientDocumentState {
70
+ /** The version the client last declared for this URI. */
71
+ declaredVersion: number;
72
+ /**
73
+ * The version an applied versioned push moved this URI to, ahead of its
74
+ * echo. Apart from `declaredVersion`, whose staleness guard would drop that
75
+ * echo and strand its pending push.
76
+ */
77
+ pushedVersion?: number;
78
+ }
64
79
  /**
65
80
  * All per-URI client-facing tracking the manager keys by normalized URI,
66
81
  * collapsed into one record so a URI's full state lives in one place and the
@@ -85,24 +100,26 @@ export interface DocumentTrackingRecord {
85
100
  readonly versionAuthors: string[];
86
101
  /**
87
102
  * Last version id each client declared for this document (didOpen baseline,
88
- * advanced by every accepted didChange). Client version ids are CLIENT-owned
89
- * per LSP (Monaco numbers its own buffer) and are used ONLY for this
90
- * per-client staleness guard — they never leak into the shared version
91
- * sequence, which the server assigns (see {@link HydraniumTextDocuments.__versionSequences}).
103
+ * advanced by every accepted didChange), for the per-client staleness guard.
104
+ * Client version ids are CLIENT-owned per LSP (Monaco numbers its own
105
+ * buffer) — they never leak into the shared version sequence, which the
106
+ * server assigns (see {@link HydraniumTextDocuments.__versionSequences}).
107
+ * The language client's entry is the latest any of its URIs declared; the
108
+ * store checks and addresses it per URI, through
109
+ * {@link DocumentTrackingRecord.languageClientDocuments}.
92
110
  */
93
111
  readonly clientVersions: Map<string, number>;
94
112
  /** Content staged by integrity rules for a closed document. Consumed on next open. */
95
113
  pendingContent?: string;
96
114
  /**
97
- * The URI(s) the LSP textual language client opened this (canonically-keyed)
98
- * document under. Usually one; a set because the same physical file can be
99
- * opened under more than one URI (a symlink path and its real path). This is
100
- * the egress address: `applyEditToLanguageClient`
101
- * targets these, since the document is *keyed* by its canonical identity but
102
- * Monaco holds it under the URI it opened. Lifecycle-bound — cleared with the
103
- * record on last close.
115
+ * Each URI the LSP textual language client opened this (canonically-keyed)
116
+ * document under, with that open's state. Usually one; more when the same
117
+ * file is opened under a symlink path and its real path. These are the
118
+ * egress addresses: the document is *keyed* by its canonical identity, but
119
+ * Monaco holds it under the URI it opened. The language client holds the
120
+ * document while any entry remains.
104
121
  */
105
- languageClientUris?: Set<LanguageClientUri>;
122
+ languageClientDocuments?: Map<LanguageClientUri, LanguageClientDocumentState>;
106
123
  /**
107
124
  * The clients whose close of this document was caused by a lost connection
108
125
  * and that have not opened it again, each with a stopwatch started at its
@@ -465,7 +482,7 @@ export declare class HydraniumTextDocuments<T extends TextDocument = TextDocumen
465
482
  * two URIs for one physical file (a symlink path and its real path) into a
466
483
  * single registration — dedup at the editor layer, not just in
467
484
  * `LangiumDocuments`. The URI the client opened under is preserved separately
468
- * for egress addressing (see {@link DocumentTrackingRecord.languageClientUris}). The
485
+ * for egress addressing (see {@link DocumentTrackingRecord.languageClientDocuments}). The
469
486
  * policy is always bound (the framework defaults it to
470
487
  * `DefaultDocumentUriPolicy`, where canonical ≡ syntactic normalize).
471
488
  */
@@ -656,6 +673,13 @@ export declare class HydraniumTextDocuments<T extends TextDocument = TextDocumen
656
673
  * gone.
657
674
  */
658
675
  closeLanguageClientDocuments(): Promise<void>;
676
+ /**
677
+ * Stop tracking every URI the language client holds the document `key`
678
+ * under, with its shadow and pending pushes. Call before a close by
679
+ * canonical key that means all of them: a close for one URI while others
680
+ * remain drops only that URI's and keeps the client's hold.
681
+ */
682
+ protected untrackLanguageClientDocuments(key: CanonicalUri): void;
659
683
  /**
660
684
  * The file behind `uri` was deleted: close every open of it except the
661
685
  * language client's.
@@ -728,8 +752,9 @@ export declare class HydraniumTextDocuments<T extends TextDocument = TextDocumen
728
752
  * and the client applying, the ranges address the wrong lines and splice the
729
753
  * buffer (observed as a duplicated declaration, which the integrity tier then
730
754
  * "repairs" into a suffixed name and persists). The edit is therefore
731
- * addressed at the language client's LAST DECLARED VERSION rather than at
732
- * `null` ("version intentionally unknown"), which is what lets the client
755
+ * addressed at the language client's last known version for that URI (see
756
+ * {@link languageClientVersion}) rather than at `null` ("version
757
+ * intentionally unknown"), which is what lets the client
733
758
  * reject a push its buffer has outrun. On rejection the shadow is invalidated,
734
759
  * so the caller's retry is a full-range replace — position-independent, and
735
760
  * safe to apply to whatever the client now holds.
@@ -738,20 +763,22 @@ export declare class HydraniumTextDocuments<T extends TextDocument = TextDocumen
738
763
  label?: string;
739
764
  }): Promise<ApplyWorkspaceEditResult | undefined>;
740
765
  /**
741
- * The version the LSP textual language client last declared for `uri`, for
742
- * addressing an outgoing `workspace/applyEdit`.
766
+ * The version the LSP textual language client holds `uri` at under
767
+ * `targetUri`, for addressing an outgoing `workspace/applyEdit`.
743
768
  *
744
769
  * Client version ids are CLIENT-owned per LSP, so this is the id the client
745
- * itself stamped on its last `didOpen` / `didChange` — never the shared
746
- * server version, which advances on authored writes the client knows nothing
747
- * about and would therefore reject every push.
748
- *
749
- * Falls back to {@link UNKNOWN_CLIENT_VERSION} when the client has never
750
- * declared one, which is the honest answer for a document it has not opened.
751
- * That is also the case in which there is no shadow, so the push is already a
770
+ * itself stamped on its last `didOpen` / `didChange` for `targetUri`, or the
771
+ * one an applied push moved it to ahead of the push's echo
772
+ * ({@link LanguageClientDocumentState}) — never the shared server version,
773
+ * which advances on authored writes the client knows nothing about and would
774
+ * therefore reject every push.
775
+ *
776
+ * Falls back to {@link UNKNOWN_CLIENT_VERSION} when the client has not opened
777
+ * the document under `targetUri`, which is the honest answer. That is also
778
+ * the case in which there is no shadow, so the push is already a
752
779
  * position-independent full replace and has nothing to gain from a gate.
753
780
  */
754
- protected languageClientVersion(uri: DocumentUri): number;
781
+ protected languageClientVersion(uri: DocumentUri, targetUri?: LanguageClientUri): number;
755
782
  /**
756
783
  * Append a push to the in-flight queue for `targetUri`
757
784
  * (see {@link __pendingPushes}). Bounded: beyond
@@ -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":"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"}
@@ -276,9 +276,11 @@ export class HydraniumTextDocuments extends NormalizedTextDocuments {
276
276
  // client knowing). Gating on the shared version drops real edits in
277
277
  // exactly that lag window. A client with no baseline (never opened —
278
278
  // a protocol anomaly) falls back to the shared-version compare, the
279
- // conservative answer.
279
+ // conservative answer. The language client is checked per URI: each is
280
+ // its own buffer, and one URI's higher id would drop the other's edits.
280
281
  const record = this.trackingFor(uri);
281
- const lastSeen = record.clientVersions.get(clientId) ?? document.version;
282
+ const languageClientDocument = clientId === LANGUAGE_CLIENT_ID ? record.languageClientDocuments?.get(this.toLanguageClientUri(td.uri)) : undefined;
283
+ const lastSeen = languageClientDocument?.declaredVersion ?? record.clientVersions.get(clientId) ?? document.version;
282
284
  if (lastSeen >= td.version) {
283
285
  // Distinguish "already at this version" (common: an echo from the client that triggered
284
286
  // the update) from "incoming version older than ours" (stale race).
@@ -287,6 +289,9 @@ export class HydraniumTextDocuments extends NormalizedTextDocuments {
287
289
  return;
288
290
  }
289
291
  record.clientVersions.set(clientId, td.version);
292
+ if (languageClientDocument) {
293
+ languageClientDocument.declaredVersion = td.version;
294
+ }
290
295
  // A language-client change is keyed to the buffer that client holds,
291
296
  // which is the synced text only while the two agree — an authored
292
297
  // write advances the synced text without the client knowing, and a
@@ -392,6 +397,16 @@ export class HydraniumTextDocuments extends NormalizedTextDocuments {
392
397
  */
393
398
  notifyDidCloseTextDocument(event, clientId = LANGUAGE_CLIENT_ID, cause = 'closed') {
394
399
  const uri = this.documentKey(event.textDocument.uri);
400
+ if (clientId === LANGUAGE_CLIENT_ID) {
401
+ const clientFacing = this.toLanguageClientUri(event.textDocument.uri);
402
+ const languageClientDocuments = this.__documents.get(uri)?.languageClientDocuments;
403
+ if (languageClientDocuments?.delete(clientFacing) && languageClientDocuments.size > 0) {
404
+ // Another URI still holds the document, so only this one's buffer goes.
405
+ this.__shadow.invalidate(clientFacing);
406
+ this.__pendingPushes.delete(clientFacing);
407
+ return;
408
+ }
409
+ }
395
410
  if (!this.__sessions.removeOpen(uri, clientId)) {
396
411
  return;
397
412
  }
@@ -405,11 +420,10 @@ export class HydraniumTextDocuments extends NormalizedTextDocuments {
405
420
  this.log(syncedDocument.uri, `Closed synced document: ${syncedDocument.version} by ${this.formatClientId(clientId)}`);
406
421
  this.__onDidClose.fire(Object.freeze({ document: syncedDocument, clientId }));
407
422
  if (clientId === LANGUAGE_CLIENT_ID) {
408
- // Monaco closed the document; drop the URI it held and the shadow
409
- // baselined under it. (If this was the last URI/client the whole record
410
- // is deleted on release, clearing the set anyway.)
423
+ // Monaco closed the document; drop the shadow baselined under the URI
424
+ // it held. (If this was the last client the whole record is deleted on
425
+ // release.)
411
426
  const droppedUri = this.toLanguageClientUri(event.textDocument.uri);
412
- this.__documents.get(uri)?.languageClientUris?.delete(droppedUri);
413
427
  this.__shadow.invalidate(droppedUri);
414
428
  this.__pendingPushes.delete(droppedUri);
415
429
  }
@@ -654,8 +668,8 @@ export class HydraniumTextDocuments extends NormalizedTextDocuments {
654
668
  if (clientId === LANGUAGE_CLIENT_ID) {
655
669
  const clientFacing = this.toLanguageClientUri(td.uri);
656
670
  const record = this.__documents.get(uri);
657
- if (record && !record.languageClientUris?.has(clientFacing)) {
658
- (record.languageClientUris ??= new Set()).add(clientFacing);
671
+ if (record && !record.languageClientDocuments?.has(clientFacing)) {
672
+ (record.languageClientDocuments ??= new Map()).set(clientFacing, { declaredVersion: td.version });
659
673
  // This tab's own buffer, NOT the synced text: a second tab is a second
660
674
  // client model, read from disk, so a server-authored write already
661
675
  // applied to the first tab leaves it BEHIND the synced document. Keying
@@ -676,7 +690,8 @@ export class HydraniumTextDocuments extends NormalizedTextDocuments {
676
690
  if (clientId === LANGUAGE_CLIENT_ID) {
677
691
  // Remember the URI Monaco opened under (may differ from the canonical key)
678
692
  // so outbound applyEditToLanguageClient can address the URI it actually holds.
679
- (record.languageClientUris ??= new Set()).add(this.toLanguageClientUri(td.uri));
693
+ // A fresh state, since a reopened buffer numbers its versions afresh.
694
+ (record.languageClientDocuments ??= new Map()).set(this.toLanguageClientUri(td.uri), { declaredVersion: td.version });
680
695
  }
681
696
  if (!document) {
682
697
  // Use integrity-staged content if available, otherwise the client-provided (disk) text.
@@ -792,7 +807,7 @@ export class HydraniumTextDocuments extends NormalizedTextDocuments {
792
807
  * two URIs for one physical file (a symlink path and its real path) into a
793
808
  * single registration — dedup at the editor layer, not just in
794
809
  * `LangiumDocuments`. The URI the client opened under is preserved separately
795
- * for egress addressing (see {@link DocumentTrackingRecord.languageClientUris}). The
810
+ * for egress addressing (see {@link DocumentTrackingRecord.languageClientDocuments}). The
796
811
  * policy is always bound (the framework defaults it to
797
812
  * `DefaultDocumentUriPolicy`, where canonical ≡ syntactic normalize).
798
813
  */
@@ -1129,16 +1144,24 @@ export class HydraniumTextDocuments extends NormalizedTextDocuments {
1129
1144
  async closeLanguageClientDocuments() {
1130
1145
  await this.services.workspace.WorkspaceManager.workspaceInitialized;
1131
1146
  for (const uri of this.__sessions.opensOf(LANGUAGE_CLIENT_ID)) {
1132
- // Every spelling the client opened the file under, since the close
1133
- // below drops only the canonical one's.
1134
- const clientUris = this.__documents.get(uri)?.languageClientUris;
1135
- for (const clientUri of clientUris ?? []) {
1136
- this.invalidateLanguageClientText(clientUri);
1137
- }
1138
- clientUris?.clear();
1147
+ this.untrackLanguageClientDocuments(uri);
1139
1148
  this.notifyDidCloseTextDocument({ textDocument: { uri } });
1140
1149
  }
1141
1150
  }
1151
+ /**
1152
+ * Stop tracking every URI the language client holds the document `key`
1153
+ * under, with its shadow and pending pushes. Call before a close by
1154
+ * canonical key that means all of them: a close for one URI while others
1155
+ * remain drops only that URI's and keeps the client's hold.
1156
+ */
1157
+ untrackLanguageClientDocuments(key) {
1158
+ const languageClientDocuments = this.__documents.get(key)?.languageClientDocuments;
1159
+ for (const clientUri of languageClientDocuments?.keys() ?? []) {
1160
+ this.__shadow.invalidate(clientUri);
1161
+ this.__pendingPushes.delete(clientUri);
1162
+ }
1163
+ languageClientDocuments?.clear();
1164
+ }
1142
1165
  /**
1143
1166
  * The file behind `uri` was deleted: close every open of it except the
1144
1167
  * language client's.
@@ -1167,6 +1190,7 @@ export class HydraniumTextDocuments extends NormalizedTextDocuments {
1167
1190
  */
1168
1191
  delete(uri) {
1169
1192
  const key = this.documentKey((typeof uri === 'object' && 'uri' in uri ? uri.uri : uri).toString());
1193
+ this.untrackLanguageClientDocuments(key);
1170
1194
  for (const clientId of this.__sessions.clientsOf(key)) {
1171
1195
  this.notifyDidCloseTextDocument({ textDocument: { uri: key } }, clientId);
1172
1196
  }
@@ -1235,8 +1259,9 @@ export class HydraniumTextDocuments extends NormalizedTextDocuments {
1235
1259
  * and the client applying, the ranges address the wrong lines and splice the
1236
1260
  * buffer (observed as a duplicated declaration, which the integrity tier then
1237
1261
  * "repairs" into a suffixed name and persists). The edit is therefore
1238
- * addressed at the language client's LAST DECLARED VERSION rather than at
1239
- * `null` ("version intentionally unknown"), which is what lets the client
1262
+ * addressed at the language client's last known version for that URI (see
1263
+ * {@link languageClientVersion}) rather than at `null` ("version
1264
+ * intentionally unknown"), which is what lets the client
1240
1265
  * reject a push its buffer has outrun. On rejection the shadow is invalidated,
1241
1266
  * so the caller's retry is a full-range replace — position-independent, and
1242
1267
  * safe to apply to whatever the client now holds.
@@ -1252,8 +1277,8 @@ export class HydraniumTextDocuments extends NormalizedTextDocuments {
1252
1277
  // when the same file was opened under a symlink and its real path. Falls back
1253
1278
  // to the normalized URI when nothing is tracked. The shadow is keyed by each
1254
1279
  // URI, so every diff is against the right baseline.
1255
- const recorded = this.__documents.get(this.documentKey(uri))?.languageClientUris;
1256
- const targets = recorded && recorded.size > 0 ? recorded : [this.toLanguageClientUri(uri)];
1280
+ const recorded = this.__documents.get(this.documentKey(uri))?.languageClientDocuments;
1281
+ const targets = recorded && recorded.size > 0 ? [...recorded.keys()] : [this.toLanguageClientUri(uri)];
1257
1282
  let lastResult;
1258
1283
  for (const targetUri of targets) {
1259
1284
  // Read BEFORE computeEdits, which overwrites the baseline and drops
@@ -1274,7 +1299,10 @@ export class HydraniumTextDocuments extends NormalizedTextDocuments {
1274
1299
  // stale-by-one version into a refused update for no safety gain — and
1275
1300
  // it is exactly what the caller retries with after a rejection, so
1276
1301
  // gating it there would refuse the recovery too.
1277
- const version = isFullReplace(edits) ? UNKNOWN_CLIENT_VERSION : this.languageClientVersion(uri);
1302
+ const version = isFullReplace(edits) ? UNKNOWN_CLIENT_VERSION : this.languageClientVersion(uri, targetUri);
1303
+ // Captured before the await: a reopen replaces the state, so a late
1304
+ // reply then writes to the old one instead of the new buffer's.
1305
+ const languageClientDocument = recorded?.get(targetUri);
1278
1306
  // A full `ApplyWorkspaceEditParams`, `edit` and all — NOT a bare
1279
1307
  // `WorkspaceEdit` with a `label` beside it. `applyEdit` takes
1280
1308
  // `ApplyWorkspaceEditParams | WorkspaceEdit` and discriminates on
@@ -1293,6 +1321,19 @@ export class HydraniumTextDocuments extends NormalizedTextDocuments {
1293
1321
  if (result && result.applied === false) {
1294
1322
  this.__shadow.invalidate(targetUri);
1295
1323
  this.__pendingPushes.delete(targetUri);
1324
+ if (version !== UNKNOWN_CLIENT_VERSION) {
1325
+ this.tracer
1326
+ .with(uri)
1327
+ .warn(`Language client refused applyEdit addressed at version ${version} (it last declared version ${languageClientDocument?.declaredVersion})`);
1328
+ }
1329
+ }
1330
+ else if (result?.applied && version !== UNKNOWN_CLIENT_VERSION && languageClientDocument) {
1331
+ // A client steps once per applied edit that changes its buffer. A
1332
+ // line edit does while the shadow is right; a full replace may be a
1333
+ // no-op the client drops. Left to the echo, a push sent first is
1334
+ // refused; advanced after a no-op, one could pass at a version a
1335
+ // keystroke reached.
1336
+ languageClientDocument.pushedVersion = version + 1;
1296
1337
  }
1297
1338
  lastResult = result;
1298
1339
  }
@@ -1305,21 +1346,27 @@ export class HydraniumTextDocuments extends NormalizedTextDocuments {
1305
1346
  return lastResult;
1306
1347
  }
1307
1348
  /**
1308
- * The version the LSP textual language client last declared for `uri`, for
1309
- * addressing an outgoing `workspace/applyEdit`.
1349
+ * The version the LSP textual language client holds `uri` at under
1350
+ * `targetUri`, for addressing an outgoing `workspace/applyEdit`.
1310
1351
  *
1311
1352
  * Client version ids are CLIENT-owned per LSP, so this is the id the client
1312
- * itself stamped on its last `didOpen` / `didChange` — never the shared
1313
- * server version, which advances on authored writes the client knows nothing
1314
- * about and would therefore reject every push.
1353
+ * itself stamped on its last `didOpen` / `didChange` for `targetUri`, or the
1354
+ * one an applied push moved it to ahead of the push's echo
1355
+ * ({@link LanguageClientDocumentState}) — never the shared server version,
1356
+ * which advances on authored writes the client knows nothing about and would
1357
+ * therefore reject every push.
1315
1358
  *
1316
- * Falls back to {@link UNKNOWN_CLIENT_VERSION} when the client has never
1317
- * declared one, which is the honest answer for a document it has not opened.
1318
- * That is also the case in which there is no shadow, so the push is already a
1359
+ * Falls back to {@link UNKNOWN_CLIENT_VERSION} when the client has not opened
1360
+ * the document under `targetUri`, which is the honest answer. That is also
1361
+ * the case in which there is no shadow, so the push is already a
1319
1362
  * position-independent full replace and has nothing to gain from a gate.
1320
1363
  */
1321
- languageClientVersion(uri) {
1322
- return this.__documents.get(this.documentKey(uri))?.clientVersions.get(LANGUAGE_CLIENT_ID) ?? UNKNOWN_CLIENT_VERSION;
1364
+ languageClientVersion(uri, targetUri = this.toLanguageClientUri(uri)) {
1365
+ const state = this.__documents.get(this.documentKey(uri))?.languageClientDocuments?.get(targetUri);
1366
+ if (state === undefined) {
1367
+ return UNKNOWN_CLIENT_VERSION;
1368
+ }
1369
+ return Math.max(state.declaredVersion, state.pushedVersion ?? state.declaredVersion);
1323
1370
  }
1324
1371
  /**
1325
1372
  * Append a push to the in-flight queue for `targetUri`
@@ -1 +1 @@
1
- {"version":3,"file":"hydranium-text-documents.js","sourceRoot":"","sources":["../../src/documents/hydranium-text-documents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hydranium-text-documents.js","sourceRoot":"","sources":["../../src/documents/hydranium-text-documents.ts"],"names":[],"mappings":"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"}
@@ -612,7 +612,7 @@ export class DefaultModelService {
612
612
  try {
613
613
  let result = await this.services.workspace.TextDocuments.applyEditToLanguageClient(uri, text, { label: this.editLabel() });
614
614
  if (result?.applied === false && !this.pendingSync.has(uri)) {
615
- // The push is addressed at the client's LAST DECLARED VERSION, so a
615
+ // The push is addressed at the client's last known version, so a
616
616
  // rejection normally means the client's buffer moved while the
617
617
  // line-keyed diff was in flight — exactly the case where applying it
618
618
  // would splice the file. Dropping the push there would leave the
@@ -630,7 +630,7 @@ export class DefaultModelService {
630
630
  // `pendingSync` check skips the retry when a newer settle has already
631
631
  // queued — best-effort, since a settle arriving later simply pushes
632
632
  // after this and still wins.
633
- uriLogger.warn(`Language client rejected applyEdit at its declared version — re-pushing a full replace`);
633
+ uriLogger.debug(`Re-pushing a full replace after the language client refused applyEdit`);
634
634
  result = await this.services.workspace.TextDocuments.applyEditToLanguageClient(uri, text, { label: this.editLabel() });
635
635
  if (result?.applied === false) {
636
636
  uriLogger.warn(`Language client rejected the full-replace retry too — client content is stale`);
@@ -1 +1 @@
1
- {"version":3,"file":"model-service.js","sourceRoot":"","sources":["../../../src/langium/model-service/model-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-service.js","sourceRoot":"","sources":["../../../src/langium/model-service/model-service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hydranium/core",
3
- "version": "1.0.0-next.160",
3
+ "version": "1.0.0-next.168",
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.160",
108
- "@hydranium/protocol": "1.0.0-next.160",
107
+ "@hydranium/langium": "1.0.0-next.168",
108
+ "@hydranium/protocol": "1.0.0-next.168",
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.160",
121
- "@hydranium/protocol": "1.0.0-next.160",
120
+ "@hydranium/langium": "1.0.0-next.168",
121
+ "@hydranium/protocol": "1.0.0-next.168",
122
122
  "@playwright/test": "^1.40.0",
123
123
  "vscode-jsonrpc": "9.0.1",
124
124
  "vscode-languageserver": "~10.0.1",
@@ -129,6 +129,22 @@ export interface DocumentDirtyChangedEvent {
129
129
  readonly dirty: boolean;
130
130
  }
131
131
 
132
+ /**
133
+ * The language client's open of a document under one URI, from its didOpen to
134
+ * its didClose. Each URI is its own editor buffer with its own version counter,
135
+ * so a file reached through a symlink and its real path has one of these each.
136
+ */
137
+ export interface LanguageClientDocumentState {
138
+ /** The version the client last declared for this URI. */
139
+ declaredVersion: number;
140
+ /**
141
+ * The version an applied versioned push moved this URI to, ahead of its
142
+ * echo. Apart from `declaredVersion`, whose staleness guard would drop that
143
+ * echo and strand its pending push.
144
+ */
145
+ pushedVersion?: number;
146
+ }
147
+
132
148
  /**
133
149
  * All per-URI client-facing tracking the manager keys by normalized URI,
134
150
  * collapsed into one record so a URI's full state lives in one place and the
@@ -153,24 +169,26 @@ export interface DocumentTrackingRecord {
153
169
  readonly versionAuthors: string[];
154
170
  /**
155
171
  * Last version id each client declared for this document (didOpen baseline,
156
- * advanced by every accepted didChange). Client version ids are CLIENT-owned
157
- * per LSP (Monaco numbers its own buffer) and are used ONLY for this
158
- * per-client staleness guard — they never leak into the shared version
159
- * sequence, which the server assigns (see {@link HydraniumTextDocuments.__versionSequences}).
172
+ * advanced by every accepted didChange), for the per-client staleness guard.
173
+ * Client version ids are CLIENT-owned per LSP (Monaco numbers its own
174
+ * buffer) — they never leak into the shared version sequence, which the
175
+ * server assigns (see {@link HydraniumTextDocuments.__versionSequences}).
176
+ * The language client's entry is the latest any of its URIs declared; the
177
+ * store checks and addresses it per URI, through
178
+ * {@link DocumentTrackingRecord.languageClientDocuments}.
160
179
  */
161
180
  readonly clientVersions: Map<string, number>;
162
181
  /** Content staged by integrity rules for a closed document. Consumed on next open. */
163
182
  pendingContent?: string;
164
183
  /**
165
- * The URI(s) the LSP textual language client opened this (canonically-keyed)
166
- * document under. Usually one; a set because the same physical file can be
167
- * opened under more than one URI (a symlink path and its real path). This is
168
- * the egress address: `applyEditToLanguageClient`
169
- * targets these, since the document is *keyed* by its canonical identity but
170
- * Monaco holds it under the URI it opened. Lifecycle-bound — cleared with the
171
- * record on last close.
184
+ * Each URI the LSP textual language client opened this (canonically-keyed)
185
+ * document under, with that open's state. Usually one; more when the same
186
+ * file is opened under a symlink path and its real path. These are the
187
+ * egress addresses: the document is *keyed* by its canonical identity, but
188
+ * Monaco holds it under the URI it opened. The language client holds the
189
+ * document while any entry remains.
172
190
  */
173
- languageClientUris?: Set<LanguageClientUri>;
191
+ languageClientDocuments?: Map<LanguageClientUri, LanguageClientDocumentState>;
174
192
  /**
175
193
  * The clients whose close of this document was caused by a lost connection
176
194
  * and that have not opened it again, each with a stopwatch started at its
@@ -568,9 +586,12 @@ export class HydraniumTextDocuments<T extends TextDocument = TextDocument> exten
568
586
  // client knowing). Gating on the shared version drops real edits in
569
587
  // exactly that lag window. A client with no baseline (never opened —
570
588
  // a protocol anomaly) falls back to the shared-version compare, the
571
- // conservative answer.
589
+ // conservative answer. The language client is checked per URI: each is
590
+ // its own buffer, and one URI's higher id would drop the other's edits.
572
591
  const record = this.trackingFor(uri);
573
- const lastSeen = record.clientVersions.get(clientId) ?? document.version;
592
+ const languageClientDocument =
593
+ clientId === LANGUAGE_CLIENT_ID ? record.languageClientDocuments?.get(this.toLanguageClientUri(td.uri)) : undefined;
594
+ const lastSeen = languageClientDocument?.declaredVersion ?? record.clientVersions.get(clientId) ?? document.version;
574
595
  if (lastSeen >= td.version) {
575
596
  // Distinguish "already at this version" (common: an echo from the client that triggered
576
597
  // the update) from "incoming version older than ours" (stale race).
@@ -580,6 +601,9 @@ export class HydraniumTextDocuments<T extends TextDocument = TextDocument> exten
580
601
  return;
581
602
  }
582
603
  record.clientVersions.set(clientId, td.version);
604
+ if (languageClientDocument) {
605
+ languageClientDocument.declaredVersion = td.version;
606
+ }
583
607
 
584
608
  // A language-client change is keyed to the buffer that client holds,
585
609
  // which is the synced text only while the two agree — an authored
@@ -700,6 +724,16 @@ export class HydraniumTextDocuments<T extends TextDocument = TextDocument> exten
700
724
  cause: SessionEndCause = 'closed'
701
725
  ): void {
702
726
  const uri = this.documentKey(event.textDocument.uri);
727
+ if (clientId === LANGUAGE_CLIENT_ID) {
728
+ const clientFacing = this.toLanguageClientUri(event.textDocument.uri);
729
+ const languageClientDocuments = this.__documents.get(uri)?.languageClientDocuments;
730
+ if (languageClientDocuments?.delete(clientFacing) && languageClientDocuments.size > 0) {
731
+ // Another URI still holds the document, so only this one's buffer goes.
732
+ this.__shadow.invalidate(clientFacing);
733
+ this.__pendingPushes.delete(clientFacing);
734
+ return;
735
+ }
736
+ }
703
737
  if (!this.__sessions.removeOpen(uri, clientId)) {
704
738
  return;
705
739
  }
@@ -714,11 +748,10 @@ export class HydraniumTextDocuments<T extends TextDocument = TextDocument> exten
714
748
  this.__onDidClose.fire(Object.freeze({ document: syncedDocument, clientId }));
715
749
 
716
750
  if (clientId === LANGUAGE_CLIENT_ID) {
717
- // Monaco closed the document; drop the URI it held and the shadow
718
- // baselined under it. (If this was the last URI/client the whole record
719
- // is deleted on release, clearing the set anyway.)
751
+ // Monaco closed the document; drop the shadow baselined under the URI
752
+ // it held. (If this was the last client the whole record is deleted on
753
+ // release.)
720
754
  const droppedUri = this.toLanguageClientUri(event.textDocument.uri);
721
- this.__documents.get(uri)?.languageClientUris?.delete(droppedUri);
722
755
  this.__shadow.invalidate(droppedUri);
723
756
  this.__pendingPushes.delete(droppedUri);
724
757
  }
@@ -974,8 +1007,8 @@ export class HydraniumTextDocuments<T extends TextDocument = TextDocument> exten
974
1007
  if (clientId === LANGUAGE_CLIENT_ID) {
975
1008
  const clientFacing = this.toLanguageClientUri(td.uri);
976
1009
  const record = this.__documents.get(uri);
977
- if (record && !record.languageClientUris?.has(clientFacing)) {
978
- (record.languageClientUris ??= new Set<LanguageClientUri>()).add(clientFacing);
1010
+ if (record && !record.languageClientDocuments?.has(clientFacing)) {
1011
+ (record.languageClientDocuments ??= new Map()).set(clientFacing, { declaredVersion: td.version });
979
1012
  // This tab's own buffer, NOT the synced text: a second tab is a second
980
1013
  // client model, read from disk, so a server-authored write already
981
1014
  // applied to the first tab leaves it BEHIND the synced document. Keying
@@ -996,7 +1029,8 @@ export class HydraniumTextDocuments<T extends TextDocument = TextDocument> exten
996
1029
  if (clientId === LANGUAGE_CLIENT_ID) {
997
1030
  // Remember the URI Monaco opened under (may differ from the canonical key)
998
1031
  // so outbound applyEditToLanguageClient can address the URI it actually holds.
999
- (record.languageClientUris ??= new Set<LanguageClientUri>()).add(this.toLanguageClientUri(td.uri));
1032
+ // A fresh state, since a reopened buffer numbers its versions afresh.
1033
+ (record.languageClientDocuments ??= new Map()).set(this.toLanguageClientUri(td.uri), { declaredVersion: td.version });
1000
1034
  }
1001
1035
  if (!document) {
1002
1036
  // Use integrity-staged content if available, otherwise the client-provided (disk) text.
@@ -1122,7 +1156,7 @@ export class HydraniumTextDocuments<T extends TextDocument = TextDocument> exten
1122
1156
  * two URIs for one physical file (a symlink path and its real path) into a
1123
1157
  * single registration — dedup at the editor layer, not just in
1124
1158
  * `LangiumDocuments`. The URI the client opened under is preserved separately
1125
- * for egress addressing (see {@link DocumentTrackingRecord.languageClientUris}). The
1159
+ * for egress addressing (see {@link DocumentTrackingRecord.languageClientDocuments}). The
1126
1160
  * policy is always bound (the framework defaults it to
1127
1161
  * `DefaultDocumentUriPolicy`, where canonical ≡ syntactic normalize).
1128
1162
  */
@@ -1485,17 +1519,26 @@ export class HydraniumTextDocuments<T extends TextDocument = TextDocument> exten
1485
1519
  async closeLanguageClientDocuments(): Promise<void> {
1486
1520
  await this.services.workspace.WorkspaceManager.workspaceInitialized;
1487
1521
  for (const uri of this.__sessions.opensOf(LANGUAGE_CLIENT_ID)) {
1488
- // Every spelling the client opened the file under, since the close
1489
- // below drops only the canonical one's.
1490
- const clientUris = this.__documents.get(uri)?.languageClientUris;
1491
- for (const clientUri of clientUris ?? []) {
1492
- this.invalidateLanguageClientText(clientUri);
1493
- }
1494
- clientUris?.clear();
1522
+ this.untrackLanguageClientDocuments(uri);
1495
1523
  this.notifyDidCloseTextDocument({ textDocument: { uri } });
1496
1524
  }
1497
1525
  }
1498
1526
 
1527
+ /**
1528
+ * Stop tracking every URI the language client holds the document `key`
1529
+ * under, with its shadow and pending pushes. Call before a close by
1530
+ * canonical key that means all of them: a close for one URI while others
1531
+ * remain drops only that URI's and keeps the client's hold.
1532
+ */
1533
+ protected untrackLanguageClientDocuments(key: CanonicalUri): void {
1534
+ const languageClientDocuments = this.__documents.get(key)?.languageClientDocuments;
1535
+ for (const clientUri of languageClientDocuments?.keys() ?? []) {
1536
+ this.__shadow.invalidate(clientUri);
1537
+ this.__pendingPushes.delete(clientUri);
1538
+ }
1539
+ languageClientDocuments?.clear();
1540
+ }
1541
+
1499
1542
  /**
1500
1543
  * The file behind `uri` was deleted: close every open of it except the
1501
1544
  * language client's.
@@ -1525,6 +1568,7 @@ export class HydraniumTextDocuments<T extends TextDocument = TextDocument> exten
1525
1568
  */
1526
1569
  override delete(uri: string | URI | T): void {
1527
1570
  const key = this.documentKey((typeof uri === 'object' && 'uri' in uri ? uri.uri : uri).toString());
1571
+ this.untrackLanguageClientDocuments(key);
1528
1572
  for (const clientId of this.__sessions.clientsOf(key)) {
1529
1573
  this.notifyDidCloseTextDocument({ textDocument: { uri: key } }, clientId);
1530
1574
  }
@@ -1596,8 +1640,9 @@ export class HydraniumTextDocuments<T extends TextDocument = TextDocument> exten
1596
1640
  * and the client applying, the ranges address the wrong lines and splice the
1597
1641
  * buffer (observed as a duplicated declaration, which the integrity tier then
1598
1642
  * "repairs" into a suffixed name and persists). The edit is therefore
1599
- * addressed at the language client's LAST DECLARED VERSION rather than at
1600
- * `null` ("version intentionally unknown"), which is what lets the client
1643
+ * addressed at the language client's last known version for that URI (see
1644
+ * {@link languageClientVersion}) rather than at `null` ("version
1645
+ * intentionally unknown"), which is what lets the client
1601
1646
  * reject a push its buffer has outrun. On rejection the shadow is invalidated,
1602
1647
  * so the caller's retry is a full-range replace — position-independent, and
1603
1648
  * safe to apply to whatever the client now holds.
@@ -1617,8 +1662,8 @@ export class HydraniumTextDocuments<T extends TextDocument = TextDocument> exten
1617
1662
  // when the same file was opened under a symlink and its real path. Falls back
1618
1663
  // to the normalized URI when nothing is tracked. The shadow is keyed by each
1619
1664
  // URI, so every diff is against the right baseline.
1620
- const recorded = this.__documents.get(this.documentKey(uri))?.languageClientUris;
1621
- const targets: Iterable<LanguageClientUri> = recorded && recorded.size > 0 ? recorded : [this.toLanguageClientUri(uri)];
1665
+ const recorded = this.__documents.get(this.documentKey(uri))?.languageClientDocuments;
1666
+ const targets: Iterable<LanguageClientUri> = recorded && recorded.size > 0 ? [...recorded.keys()] : [this.toLanguageClientUri(uri)];
1622
1667
  let lastResult: ApplyWorkspaceEditResult | undefined;
1623
1668
  for (const targetUri of targets) {
1624
1669
  // Read BEFORE computeEdits, which overwrites the baseline and drops
@@ -1639,7 +1684,10 @@ export class HydraniumTextDocuments<T extends TextDocument = TextDocument> exten
1639
1684
  // stale-by-one version into a refused update for no safety gain — and
1640
1685
  // it is exactly what the caller retries with after a rejection, so
1641
1686
  // gating it there would refuse the recovery too.
1642
- const version = isFullReplace(edits) ? UNKNOWN_CLIENT_VERSION : this.languageClientVersion(uri);
1687
+ const version = isFullReplace(edits) ? UNKNOWN_CLIENT_VERSION : this.languageClientVersion(uri, targetUri);
1688
+ // Captured before the await: a reopen replaces the state, so a late
1689
+ // reply then writes to the old one instead of the new buffer's.
1690
+ const languageClientDocument = recorded?.get(targetUri);
1643
1691
  // A full `ApplyWorkspaceEditParams`, `edit` and all — NOT a bare
1644
1692
  // `WorkspaceEdit` with a `label` beside it. `applyEdit` takes
1645
1693
  // `ApplyWorkspaceEditParams | WorkspaceEdit` and discriminates on
@@ -1658,6 +1706,20 @@ export class HydraniumTextDocuments<T extends TextDocument = TextDocument> exten
1658
1706
  if (result && result.applied === false) {
1659
1707
  this.__shadow.invalidate(targetUri);
1660
1708
  this.__pendingPushes.delete(targetUri);
1709
+ if (version !== UNKNOWN_CLIENT_VERSION) {
1710
+ this.tracer
1711
+ .with(uri)
1712
+ .warn(
1713
+ `Language client refused applyEdit addressed at version ${version} (it last declared version ${languageClientDocument?.declaredVersion})`
1714
+ );
1715
+ }
1716
+ } else if (result?.applied && version !== UNKNOWN_CLIENT_VERSION && languageClientDocument) {
1717
+ // A client steps once per applied edit that changes its buffer. A
1718
+ // line edit does while the shadow is right; a full replace may be a
1719
+ // no-op the client drops. Left to the echo, a push sent first is
1720
+ // refused; advanced after a no-op, one could pass at a version a
1721
+ // keystroke reached.
1722
+ languageClientDocument.pushedVersion = version + 1;
1661
1723
  }
1662
1724
  lastResult = result;
1663
1725
  } catch (err) {
@@ -1670,21 +1732,27 @@ export class HydraniumTextDocuments<T extends TextDocument = TextDocument> exten
1670
1732
  }
1671
1733
 
1672
1734
  /**
1673
- * The version the LSP textual language client last declared for `uri`, for
1674
- * addressing an outgoing `workspace/applyEdit`.
1735
+ * The version the LSP textual language client holds `uri` at under
1736
+ * `targetUri`, for addressing an outgoing `workspace/applyEdit`.
1675
1737
  *
1676
1738
  * Client version ids are CLIENT-owned per LSP, so this is the id the client
1677
- * itself stamped on its last `didOpen` / `didChange` — never the shared
1678
- * server version, which advances on authored writes the client knows nothing
1679
- * about and would therefore reject every push.
1739
+ * itself stamped on its last `didOpen` / `didChange` for `targetUri`, or the
1740
+ * one an applied push moved it to ahead of the push's echo
1741
+ * ({@link LanguageClientDocumentState}) — never the shared server version,
1742
+ * which advances on authored writes the client knows nothing about and would
1743
+ * therefore reject every push.
1680
1744
  *
1681
- * Falls back to {@link UNKNOWN_CLIENT_VERSION} when the client has never
1682
- * declared one, which is the honest answer for a document it has not opened.
1683
- * That is also the case in which there is no shadow, so the push is already a
1745
+ * Falls back to {@link UNKNOWN_CLIENT_VERSION} when the client has not opened
1746
+ * the document under `targetUri`, which is the honest answer. That is also
1747
+ * the case in which there is no shadow, so the push is already a
1684
1748
  * position-independent full replace and has nothing to gain from a gate.
1685
1749
  */
1686
- protected languageClientVersion(uri: DocumentUri): number {
1687
- return this.__documents.get(this.documentKey(uri))?.clientVersions.get(LANGUAGE_CLIENT_ID) ?? UNKNOWN_CLIENT_VERSION;
1750
+ protected languageClientVersion(uri: DocumentUri, targetUri: LanguageClientUri = this.toLanguageClientUri(uri)): number {
1751
+ const state = this.__documents.get(this.documentKey(uri))?.languageClientDocuments?.get(targetUri);
1752
+ if (state === undefined) {
1753
+ return UNKNOWN_CLIENT_VERSION;
1754
+ }
1755
+ return Math.max(state.declaredVersion, state.pushedVersion ?? state.declaredVersion);
1688
1756
  }
1689
1757
 
1690
1758
  /**
@@ -922,7 +922,7 @@ export class DefaultModelService<
922
922
  try {
923
923
  let result = await this.services.workspace.TextDocuments.applyEditToLanguageClient(uri, text, { label: this.editLabel() });
924
924
  if (result?.applied === false && !this.pendingSync.has(uri)) {
925
- // The push is addressed at the client's LAST DECLARED VERSION, so a
925
+ // The push is addressed at the client's last known version, so a
926
926
  // rejection normally means the client's buffer moved while the
927
927
  // line-keyed diff was in flight — exactly the case where applying it
928
928
  // would splice the file. Dropping the push there would leave the
@@ -940,7 +940,7 @@ export class DefaultModelService<
940
940
  // `pendingSync` check skips the retry when a newer settle has already
941
941
  // queued — best-effort, since a settle arriving later simply pushes
942
942
  // after this and still wins.
943
- uriLogger.warn(`Language client rejected applyEdit at its declared version — re-pushing a full replace`);
943
+ uriLogger.debug(`Re-pushing a full replace after the language client refused applyEdit`);
944
944
  result = await this.services.workspace.TextDocuments.applyEditToLanguageClient(uri, text, { label: this.editLabel() });
945
945
  if (result?.applied === false) {
946
946
  uriLogger.warn(`Language client rejected the full-replace retry too — client content is stale`);