@hydranium/data-server 1.0.0-next.391 → 1.0.0-next.393

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.
@@ -6,8 +6,8 @@
6
6
  *
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
- import { DisposableCollection, ReferenceSource, type CloseModelArgs, type HydraniumMessageData, type HydraniumResponseError, type CanonicalUri, type Disposable, type ElementSource, type FindNextNameArgs, type LatencyCollector, type LatencyReport, type OpenModelArgs, type Project, type ReferenceCandidate, type ReferenceContext, type ReferenceRequest, type ReferenceTarget, type ModelVersion, type TextState, type Tracer, type TransferDiagnostic, TransferDocument, type TransferCreatedDocument, type TransferSavedDocument, type TransferWatchedDocument, type TransferWrittenDocument, type TransferElement } from '@hydranium/protocol';
10
- import { type DataClientProtocol, type DataServerDiagnosticsProtocol, type DataServerProtocol, type DumpServerStateArgs, type StartProfilingArgs, type StopProfilingArgs, type WriteServerHeapSnapshotArgs, type CloseSessionArgs, type CreateModelDocumentArgs, type CreateSessionArgs, type GetModelDocumentArgs, type GetProjectForUriArgs, type TransferDeleteDocumentArgs, type TransferPersistDocumentArgs, type TransferSaveDocumentArgs, type WatchModelDocumentArgs, type TransferUpdateDocumentArgs, type TransferUpdateDocumentsArgs } from '@hydranium/protocol/data';
9
+ import { DisposableCollection, type BaseVersionGate, ReferenceSource, type CloseModelArgs, type HydraniumMessageData, type HydraniumResponseError, type CanonicalUri, type Disposable, type ElementSource, type FindNextNameArgs, type LatencyCollector, type LatencyReport, type OpenModelArgs, type Project, type ReferenceCandidate, type ReferenceContext, type ReferenceRequest, type ReferenceTarget, type ModelVersion, type TextState, type Tracer, type TransferDiagnostic, TransferDocument, type TransferCreatedDocument, type TransferSavedDocument, type TransferWatchedDocument, type TransferWrittenDocument, type TransferElement, STALE_BASE_VERSION_SAVE, STALE_BASE_VERSION_UPDATE } from '@hydranium/protocol';
10
+ import { type DataClientProtocol, type DataServerDiagnosticsProtocol, type DataServerProtocol, type DumpServerStateArgs, type StartProfilingArgs, type StopProfilingArgs, type WriteServerHeapSnapshotArgs, type CloseSessionArgs, type CreatedSession, type CreateModelDocumentArgs, type CreateSessionArgs, type GetModelDocumentArgs, type GetProjectForUriArgs, type TransferDeleteDocumentArgs, type TransferPersistDocumentArgs, type TransferSaveDocumentArgs, type WatchModelDocumentArgs, type TransferUpdateDocumentArgs, type TransferUpdateDocumentsArgs } from '@hydranium/protocol/data';
11
11
  /**
12
12
  * Raised when a profiling command arrives with no capture running.
13
13
  *
@@ -359,7 +359,21 @@ export declare class DataServer<TTransfer extends TransferElement, TDiagnostic e
359
359
  * grace.
360
360
  */
361
361
  dispose(cause?: SessionEndCause): void;
362
- createSession(args: CreateSessionArgs): Promise<void>;
362
+ createSession(args: CreateSessionArgs): Promise<CreatedSession>;
363
+ /**
364
+ * The epoch this server numbers versions in, which every registration and
365
+ * document names: the text store's, so every connection to the server
366
+ * answers the same one.
367
+ */
368
+ protected get epoch(): string;
369
+ /**
370
+ * Refuse a write whose base version is numbered in another epoch, as a
371
+ * restarted server's predecessor numbered it. Versions start afresh with
372
+ * each epoch, so the session's gate would take the version for text the
373
+ * writer never saw. Checked once the session is found, before the open
374
+ * check and every other check of its documents.
375
+ */
376
+ protected assertEpoch(uri: string, gate: BaseVersionGate, message?: typeof STALE_BASE_VERSION_UPDATE | typeof STALE_BASE_VERSION_SAVE): void;
363
377
  /** End a session this connection registered. */
364
378
  closeSession(args: CloseSessionArgs): Promise<void>;
365
379
  /** End `session`, registered here under `clientId`, with `cause`, and drop its watches on this connection. */
@@ -1 +1 @@
1
- {"version":3,"file":"data-server.d.ts","sourceRoot":"","sources":["../src/data-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-server.d.ts","sourceRoot":"","sources":["../src/data-server.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
- import { asModelVersion, createRpcProxy, defineMessage, describeErrorWithStack, DisposableCollection, HYDRANIUM_ERROR_CODES, isDocumentSource, isElementSource, isResponseError, isSyntheticSource, messageData, messageError, ReferenceSource, SessionClosedError, TIMED_OUT, TransferDocument, UNKNOWN_CLIENT_ID, textHash } from '@hydranium/protocol';
9
+ import { asModelVersion, createRpcProxy, defineMessage, describeErrorWithStack, DisposableCollection, HYDRANIUM_ERROR_CODES, isDocumentSource, isElementSource, isResponseError, ConflictError, isModelVersion, isSyntheticSource, messageData, messageError, ReferenceSource, SessionClosedError, TIMED_OUT, TransferDocument, UNKNOWN_CLIENT_ID, STALE_BASE_VERSION_SAVE, STALE_BASE_VERSION_UPDATE, textHash } from '@hydranium/protocol';
10
10
  import { DATA_SERVER_DIAGNOSTICS_METHODS, DATA_SERVER_PROTOCOL_METHODS, DATA_SERVER_WIRE_PREFIX } from '@hydranium/protocol/data';
11
11
  import { DOCUMENT_RELEASE_CLIENT_ID } from '@hydranium/core';
12
12
  import { defaultDataServerDiagnostics } from './default-diagnostics.js';
@@ -306,6 +306,28 @@ export class DataServer {
306
306
  this.clientSessions.delete(args.clientId);
307
307
  this.tracer.debug(`Forget session ${args.clientId}: it ended as ${cause}`);
308
308
  });
309
+ return { epoch: this.epoch };
310
+ }
311
+ /**
312
+ * The epoch this server numbers versions in, which every registration and
313
+ * document names: the text store's, so every connection to the server
314
+ * answers the same one.
315
+ */
316
+ get epoch() {
317
+ return this.services.workspace.TextDocuments.epoch;
318
+ }
319
+ /**
320
+ * Refuse a write whose base version is numbered in another epoch, as a
321
+ * restarted server's predecessor numbered it. Versions start afresh with
322
+ * each epoch, so the session's gate would take the version for text the
323
+ * writer never saw. Checked once the session is found, before the open
324
+ * check and every other check of its documents.
325
+ */
326
+ assertEpoch(uri, gate, message = STALE_BASE_VERSION_UPDATE) {
327
+ if (isModelVersion(gate.baseVersion) && gate.baseEpoch !== this.epoch) {
328
+ this.tracer.withUri(uri).debug(`Conflict: base v${gate.baseVersion} is numbered in epoch ${gate.baseEpoch}, not ${this.epoch}`);
329
+ throw new ConflictError(uri, gate.baseVersion, this.services.workspace.TextDocuments.version(uri), message);
330
+ }
309
331
  }
310
332
  /** End a session this connection registered. */
311
333
  async closeSession(args) {
@@ -334,7 +356,10 @@ export class DataServer {
334
356
  return { ...snapshot, created: { version: asModelVersion(version) } };
335
357
  }
336
358
  async updateModelDocuments(args) {
337
- const astDocuments = await this.requireSession(args.clientId).updateAll({
359
+ const session = this.requireSession(args.clientId);
360
+ // Every one before any applies, so a set stays all or none.
361
+ args.updates.forEach(update => this.assertEpoch(update.uri, update));
362
+ const astDocuments = await session.updateAll({
338
363
  updates: args.updates.map(update => this.toSessionWrite(update))
339
364
  });
340
365
  // A page that reads unsaved work from its editor sees the writes only once their text reaches it.
@@ -420,18 +445,24 @@ export class DataServer {
420
445
  }
421
446
  }
422
447
  async updateModelDocument(args) {
423
- const astDocument = await this.requireSession(args.clientId).update(this.toSessionWrite(args));
448
+ const session = this.requireSession(args.clientId);
449
+ this.assertEpoch(args.uri, args);
450
+ const astDocument = await session.update(this.toSessionWrite(args));
424
451
  // A page that reads unsaved work from its editor sees the write only once the text reaches it.
425
452
  await this.modelService.settleLanguageClient(args.uri);
426
453
  return { ...this.encodeDocument(astDocument), written: astDocument.written };
427
454
  }
428
455
  async saveModelDocument(args) {
429
- const astDocument = await this.requireSession(args.clientId).save(this.toSessionWrite(args));
456
+ const session = this.requireSession(args.clientId);
457
+ this.assertEpoch(args.uri, args, STALE_BASE_VERSION_SAVE);
458
+ const astDocument = await session.save(this.toSessionWrite(args));
430
459
  await this.modelService.settleLanguageClient(args.uri);
431
460
  return { ...this.encodeDocument(astDocument), persisted: astDocument.persisted };
432
461
  }
433
462
  async persistModelDocument(args) {
434
- const version = await this.requireSession(args.clientId).persist({ uri: args.uri, baseVersion: args.baseVersion });
463
+ const session = this.requireSession(args.clientId);
464
+ this.assertEpoch(args.uri, args, STALE_BASE_VERSION_SAVE);
465
+ const version = await session.persist({ uri: args.uri, baseVersion: args.baseVersion });
435
466
  await this.modelService.settleLanguageClient(args.uri);
436
467
  const astDocument = await this.modelService.ensureDocumentState(args.uri, this.services.workspace.DocumentBuilder.finalBuildState());
437
468
  return { ...this.encodeDocument(astDocument), persisted: { version } };
@@ -444,6 +475,7 @@ export class DataServer {
444
475
  */
445
476
  async deleteModelDocument(args) {
446
477
  const session = this.requireSession(args.clientId);
478
+ this.assertEpoch(args.uri, args);
447
479
  // Keyed before the delete: once the file is gone, a symlink to it no
448
480
  // longer resolves to the key the watch is under.
449
481
  const uri = this.canonicalKey(args.uri);
@@ -489,7 +521,7 @@ export class DataServer {
489
521
  // the position and moves the text past the state answered.
490
522
  const answer = (exists) => {
491
523
  const text = exists ? this.serverTextState(args.uri) : undefined;
492
- return { uri, exists, sequence: this.eventSequence, ...(text ? { text } : {}) };
524
+ return { uri, epoch: this.epoch, exists, sequence: this.eventSequence, ...(text ? { text } : {}) };
493
525
  };
494
526
  return this.modelService.ensureDocumentState(args.uri).then(() => answer(this.modelService.getDocument(args.uri) !== undefined), (error) => answer(!this.isMissingDocument(error, args.uri)));
495
527
  }
@@ -801,7 +833,7 @@ export class DataServer {
801
833
  // so the compiler forces that decision. Adopters preferring to throw
802
834
  // override `envelope`. The builder's unparsed placeholder is no
803
835
  // document either: its root parses no text.
804
- return TransferDocument.absent(uri.toString());
836
+ return TransferDocument.absent(uri.toString(), this.epoch);
805
837
  }
806
838
  const encoded = this.encoder.toTransferDocument(document);
807
839
  return this.withServerState(encoded, fingerprint ?? this.computeDocumentFingerprint(document.parseResult.value, encoded));
@@ -840,6 +872,7 @@ export class DataServer {
840
872
  }
841
873
  return {
842
874
  uri: encoded.uri,
875
+ epoch: this.epoch,
843
876
  // The encoder returns the structural base; `TTransfer` is the adopter's
844
877
  // declaration of the roots its languages produce, and nothing checks it.
845
878
  model: { ...encoded.model, hash },
@@ -1 +1 @@
1
- {"version":3,"file":"data-server.js","sourceRoot":"","sources":["../src/data-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-server.js","sourceRoot":"","sources":["../src/data-server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hydranium/data-server",
3
- "version": "1.0.0-next.391",
3
+ "version": "1.0.0-next.393",
4
4
  "description": "Typed-RPC protocol head for the hydranium framework. Peer of @hydranium/core/lsp and @hydranium/glsp-server; built on @hydranium/core.",
5
5
  "keywords": [
6
6
  "data-server",
@@ -70,18 +70,18 @@
70
70
  "watch": "tsc -b -w --preserveWatchOutput"
71
71
  },
72
72
  "devDependencies": {
73
- "@hydranium/core": "1.0.0-next.391",
74
- "@hydranium/langium": "1.0.0-next.391",
75
- "@hydranium/protocol": "1.0.0-next.391",
73
+ "@hydranium/core": "1.0.0-next.393",
74
+ "@hydranium/langium": "1.0.0-next.393",
75
+ "@hydranium/protocol": "1.0.0-next.393",
76
76
  "rimraf": "^5.0.0",
77
77
  "typescript": "^7.0.2",
78
78
  "vscode-jsonrpc": "9.0.0",
79
79
  "vscode-languageserver-textdocument": "^1.0.12"
80
80
  },
81
81
  "peerDependencies": {
82
- "@hydranium/core": "1.0.0-next.391",
83
- "@hydranium/langium": "1.0.0-next.391",
84
- "@hydranium/protocol": "1.0.0-next.391",
82
+ "@hydranium/core": "1.0.0-next.393",
83
+ "@hydranium/langium": "1.0.0-next.393",
84
+ "@hydranium/protocol": "1.0.0-next.393",
85
85
  "vscode-jsonrpc": "^9.0.0",
86
86
  "vscode-languageserver-textdocument": "^1.0.12"
87
87
  },
@@ -17,6 +17,9 @@ import {
17
17
  isDocumentSource,
18
18
  isElementSource,
19
19
  isResponseError,
20
+ type BaseVersionGate,
21
+ ConflictError,
22
+ isModelVersion,
20
23
  isSyntheticSource,
21
24
  messageData,
22
25
  messageError,
@@ -50,6 +53,8 @@ import {
50
53
  type TransferWrittenDocument,
51
54
  type TransferElement,
52
55
  UNKNOWN_CLIENT_ID,
56
+ STALE_BASE_VERSION_SAVE,
57
+ STALE_BASE_VERSION_UPDATE,
53
58
  textHash
54
59
  } from '@hydranium/protocol';
55
60
  import {
@@ -64,6 +69,7 @@ import {
64
69
  type StopProfilingArgs,
65
70
  type WriteServerHeapSnapshotArgs,
66
71
  type CloseSessionArgs,
72
+ type CreatedSession,
67
73
  type CreateModelDocumentArgs,
68
74
  type CreateSessionArgs,
69
75
  type GetModelDocumentArgs,
@@ -612,7 +618,7 @@ export class DataServer<
612
618
  // read, override on the ModelService subclass; to change how they are
613
619
  // written, on the session class the bound `ClientSessionFactory` builds.
614
620
 
615
- async createSession(args: CreateSessionArgs): Promise<void> {
621
+ async createSession(args: CreateSessionArgs): Promise<CreatedSession> {
616
622
  // After teardown nothing would ever end a session registered now, and its
617
623
  // id would stay taken for the life of the process.
618
624
  if (this.disposed) {
@@ -633,6 +639,34 @@ export class DataServer<
633
639
  this.clientSessions.delete(args.clientId);
634
640
  this.tracer.debug(`Forget session ${args.clientId}: it ended as ${cause}`);
635
641
  });
642
+ return { epoch: this.epoch };
643
+ }
644
+
645
+ /**
646
+ * The epoch this server numbers versions in, which every registration and
647
+ * document names: the text store's, so every connection to the server
648
+ * answers the same one.
649
+ */
650
+ protected get epoch(): string {
651
+ return this.services.workspace.TextDocuments.epoch;
652
+ }
653
+
654
+ /**
655
+ * Refuse a write whose base version is numbered in another epoch, as a
656
+ * restarted server's predecessor numbered it. Versions start afresh with
657
+ * each epoch, so the session's gate would take the version for text the
658
+ * writer never saw. Checked once the session is found, before the open
659
+ * check and every other check of its documents.
660
+ */
661
+ protected assertEpoch(
662
+ uri: string,
663
+ gate: BaseVersionGate,
664
+ message: typeof STALE_BASE_VERSION_UPDATE | typeof STALE_BASE_VERSION_SAVE = STALE_BASE_VERSION_UPDATE
665
+ ): void {
666
+ if (isModelVersion(gate.baseVersion) && gate.baseEpoch !== this.epoch) {
667
+ this.tracer.withUri(uri).debug(`Conflict: base v${gate.baseVersion} is numbered in epoch ${gate.baseEpoch}, not ${this.epoch}`);
668
+ throw new ConflictError(uri, gate.baseVersion, this.services.workspace.TextDocuments.version(uri), message);
669
+ }
636
670
  }
637
671
 
638
672
  /** End a session this connection registered. */
@@ -670,7 +704,10 @@ export class DataServer<
670
704
  }
671
705
 
672
706
  async updateModelDocuments(args: TransferUpdateDocumentsArgs<TTransfer>): Promise<TransferWrittenDocument<TTransfer, TDiagnostic>[]> {
673
- const astDocuments = await this.requireSession(args.clientId).updateAll({
707
+ const session = this.requireSession(args.clientId);
708
+ // Every one before any applies, so a set stays all or none.
709
+ args.updates.forEach(update => this.assertEpoch(update.uri, update));
710
+ const astDocuments = await session.updateAll({
674
711
  updates: args.updates.map(update => this.toSessionWrite(update))
675
712
  });
676
713
  // A page that reads unsaved work from its editor sees the writes only once their text reaches it.
@@ -761,20 +798,26 @@ export class DataServer<
761
798
  }
762
799
 
763
800
  async updateModelDocument(args: TransferUpdateDocumentArgs<TTransfer>): Promise<TransferWrittenDocument<TTransfer, TDiagnostic>> {
764
- const astDocument = await this.requireSession(args.clientId).update(this.toSessionWrite(args));
801
+ const session = this.requireSession(args.clientId);
802
+ this.assertEpoch(args.uri, args);
803
+ const astDocument = await session.update(this.toSessionWrite(args));
765
804
  // A page that reads unsaved work from its editor sees the write only once the text reaches it.
766
805
  await this.modelService.settleLanguageClient(args.uri);
767
806
  return { ...this.encodeDocument(astDocument), written: astDocument.written };
768
807
  }
769
808
 
770
809
  async saveModelDocument(args: TransferSaveDocumentArgs<TTransfer>): Promise<TransferSavedDocument<TTransfer, TDiagnostic>> {
771
- const astDocument = await this.requireSession(args.clientId).save(this.toSessionWrite(args));
810
+ const session = this.requireSession(args.clientId);
811
+ this.assertEpoch(args.uri, args, STALE_BASE_VERSION_SAVE);
812
+ const astDocument = await session.save(this.toSessionWrite(args));
772
813
  await this.modelService.settleLanguageClient(args.uri);
773
814
  return { ...this.encodeDocument(astDocument), persisted: astDocument.persisted };
774
815
  }
775
816
 
776
817
  async persistModelDocument(args: TransferPersistDocumentArgs): Promise<TransferSavedDocument<TTransfer, TDiagnostic>> {
777
- const version = await this.requireSession(args.clientId).persist({ uri: args.uri, baseVersion: args.baseVersion });
818
+ const session = this.requireSession(args.clientId);
819
+ this.assertEpoch(args.uri, args, STALE_BASE_VERSION_SAVE);
820
+ const version = await session.persist({ uri: args.uri, baseVersion: args.baseVersion });
778
821
  await this.modelService.settleLanguageClient(args.uri);
779
822
  const astDocument = await this.modelService.ensureDocumentState(args.uri, this.services.workspace.DocumentBuilder.finalBuildState());
780
823
  return { ...this.encodeDocument(astDocument), persisted: { version } };
@@ -788,6 +831,7 @@ export class DataServer<
788
831
  */
789
832
  async deleteModelDocument(args: TransferDeleteDocumentArgs): Promise<void> {
790
833
  const session = this.requireSession(args.clientId);
834
+ this.assertEpoch(args.uri, args);
791
835
  // Keyed before the delete: once the file is gone, a symlink to it no
792
836
  // longer resolves to the key the watch is under.
793
837
  const uri = this.canonicalKey(args.uri);
@@ -834,7 +878,7 @@ export class DataServer<
834
878
  // the position and moves the text past the state answered.
835
879
  const answer = (exists: boolean): TransferWatchedDocument => {
836
880
  const text = exists ? this.serverTextState(args.uri) : undefined;
837
- return { uri, exists, sequence: this.eventSequence, ...(text ? { text } : {}) };
881
+ return { uri, epoch: this.epoch, exists, sequence: this.eventSequence, ...(text ? { text } : {}) };
838
882
  };
839
883
  return this.modelService.ensureDocumentState(args.uri).then(
840
884
  () => answer(this.modelService.getDocument(args.uri) !== undefined),
@@ -1171,7 +1215,7 @@ export class DataServer<
1171
1215
  // so the compiler forces that decision. Adopters preferring to throw
1172
1216
  // override `envelope`. The builder's unparsed placeholder is no
1173
1217
  // document either: its root parses no text.
1174
- return TransferDocument.absent<TTransfer, TDiagnostic>(uri.toString());
1218
+ return TransferDocument.absent<TTransfer, TDiagnostic>(uri.toString(), this.epoch);
1175
1219
  }
1176
1220
  const encoded = this.encoder.toTransferDocument(document);
1177
1221
  return this.withServerState(encoded, fingerprint ?? this.computeDocumentFingerprint(document.parseResult.value, encoded));
@@ -1216,6 +1260,7 @@ export class DataServer<
1216
1260
  }
1217
1261
  return {
1218
1262
  uri: encoded.uri,
1263
+ epoch: this.epoch,
1219
1264
  // The encoder returns the structural base; `TTransfer` is the adopter's
1220
1265
  // declaration of the roots its languages produce, and nothing checks it.
1221
1266
  model: { ...encoded.model, hash } as TransferModelSnapshot<TTransfer, TDiagnostic>,