@hydranium/protocol 1.0.0-next.381 → 1.0.0-next.384

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 (35) hide show
  1. package/README.md +11 -9
  2. package/lib/client/data-session.d.ts +77 -9
  3. package/lib/client/data-session.d.ts.map +1 -1
  4. package/lib/client/data-session.js +112 -17
  5. package/lib/client/data-session.js.map +1 -1
  6. package/lib/client/index.d.ts +1 -0
  7. package/lib/client/index.d.ts.map +1 -1
  8. package/lib/client/index.js +1 -0
  9. package/lib/client/index.js.map +1 -1
  10. package/lib/client/working-copy.d.ts +417 -0
  11. package/lib/client/working-copy.d.ts.map +1 -0
  12. package/lib/client/working-copy.js +943 -0
  13. package/lib/client/working-copy.js.map +1 -0
  14. package/lib/pending-work-tracker.d.ts +4 -1
  15. package/lib/pending-work-tracker.d.ts.map +1 -1
  16. package/lib/pending-work-tracker.js +6 -5
  17. package/lib/pending-work-tracker.js.map +1 -1
  18. package/lib/testing/harness.d.ts +9 -0
  19. package/lib/testing/harness.d.ts.map +1 -1
  20. package/lib/testing/node/index.d.ts +1 -0
  21. package/lib/testing/node/index.d.ts.map +1 -1
  22. package/lib/testing/node/index.js +2 -1
  23. package/lib/testing/node/index.js.map +1 -1
  24. package/lib/testing/node/unhandled-rejections.d.ts +20 -0
  25. package/lib/testing/node/unhandled-rejections.d.ts.map +1 -0
  26. package/lib/testing/node/unhandled-rejections.js +35 -0
  27. package/lib/testing/node/unhandled-rejections.js.map +1 -0
  28. package/package.json +1 -1
  29. package/src/client/data-session.ts +138 -17
  30. package/src/client/index.ts +1 -0
  31. package/src/client/working-copy.ts +1100 -0
  32. package/src/pending-work-tracker.ts +6 -5
  33. package/src/testing/harness.ts +10 -0
  34. package/src/testing/node/index.ts +2 -1
  35. package/src/testing/node/unhandled-rejections.ts +31 -0
@@ -1 +1 @@
1
- {"version":3,"file":"data-session.js","sourceRoot":"","sources":["../../src/client/data-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-session.js","sourceRoot":"","sources":["../../src/client/data-session.ts"],"names":[],"mappings":"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"}
@@ -42,4 +42,5 @@ export * from './message-relay';
42
42
  export * from './post-message-transport';
43
43
  export * from './rpc-connection';
44
44
  export * from './worker-handshake';
45
+ export * from './working-copy';
45
46
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC"}
@@ -58,4 +58,5 @@ __exportStar(require("./message-relay"), exports);
58
58
  __exportStar(require("./post-message-transport"), exports);
59
59
  __exportStar(require("./rpc-connection"), exports);
60
60
  __exportStar(require("./worker-handshake"), exports);
61
+ __exportStar(require("./working-copy"), exports);
61
62
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":";AAAA;;;;;;;kFAOkF;;;;;;;;;;;;;;;;AAElF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,oDAAkC;AAClC,gDAA8B;AAC9B,8CAA4B;AAC5B,iDAA+B;AAC/B,kDAAgC;AAChC,2DAAyC;AACzC,mDAAiC;AACjC,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":";AAAA;;;;;;;kFAOkF;;;;;;;;;;;;;;;;AAElF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,oDAAkC;AAClC,gDAA8B;AAC9B,8CAA4B;AAC5B,iDAA+B;AAC/B,kDAAgC;AAChC,2DAAyC;AACzC,mDAAiC;AACjC,qDAAmC;AACnC,iDAA+B"}
@@ -0,0 +1,417 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2026 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the MIT License which is available in the project root.
6
+ *
7
+ * SPDX-License-Identifier: MIT
8
+ ********************************************************************************/
9
+ import { type Disposable, Emitter, type Event } from 'vscode-jsonrpc';
10
+ import { type Clock } from '../clock';
11
+ import { type ModelVersion } from '../model-service/base-version';
12
+ import { type ConflictResolver } from '../patch-merge';
13
+ import { PendingWorkTracker } from '../pending-work-tracker';
14
+ import { type ReconcileWriteOutcome, type VersionedModel } from '../reconcile-write';
15
+ import type { TransferDiagnostic } from '../transfer-diagnostic';
16
+ import { type LoadedTransferDocument, type TextState, TransferDocument, type TransferSavedDocument } from '../transfer-document';
17
+ import type { TransferElement } from '../transfer-element';
18
+ import { Deferred } from '../util';
19
+ import type { DataEvents } from './data-events';
20
+ import type { DataSession, DataSessionRestoreEvent } from './data-session';
21
+ /** What the write that carried an {@link WorkingCopy.edit} did. */
22
+ export type WorkingCopyEditOutcome =
23
+ /** The write landed against an unchanged document. */
24
+ {
25
+ readonly status: 'applied';
26
+ }
27
+ /** The write raced a foreign edit to other paths, and both landed. */
28
+ | {
29
+ readonly status: 'merged';
30
+ }
31
+ /**
32
+ * The edit raced a foreign edit of the same path, or kept racing foreign
33
+ * edits, and was dropped, or wrote a path an edit before it lost that way.
34
+ * A server that normalizes the copy's own write, as a name it trims, also
35
+ * yields it for an edit of that path made while the write was out. The
36
+ * copy shows the server's value, unless the read after the last race
37
+ * failed.
38
+ */
39
+ | {
40
+ readonly status: 'conflict';
41
+ }
42
+ /** Nothing was written: the server already held the edit, or it changed nothing. */
43
+ | {
44
+ readonly status: 'unchanged';
45
+ }
46
+ /**
47
+ * Nothing was written, because the copy was closed, its file deleted, a
48
+ * restore could not open it again or its open's second read failed, before
49
+ * a write carried the edit.
50
+ */
51
+ | {
52
+ readonly status: 'unavailable';
53
+ };
54
+ /**
55
+ * One open of a {@link WorkingCopy}, from the answer to its first read until a
56
+ * close, a deletion or a failure ends it. A request records its answer only
57
+ * while the open it was sent under is still the copy's, so nothing of an
58
+ * ended open reaches the next.
59
+ */
60
+ export interface WorkingCopyOpen<TTransfer extends TransferElement> {
61
+ /** The last document the server sent. */
62
+ snapshot: TransferDocument<TTransfer>;
63
+ /** The copy's restores heard when {@link snapshot} was taken. */
64
+ snapshotRestores: number;
65
+ /**
66
+ * Whether {@link snapshot} was taken while a write was out, so it may hold
67
+ * the edits {@link sending} applies again. A base made on it then is
68
+ * unconfirmed, so its first write is reconciled, not sent.
69
+ */
70
+ snapshotUnderWrite?: boolean;
71
+ /** Edits not yet written, in edit order, each until the write that carries it answers. */
72
+ queued: {
73
+ readonly change: (root: TTransfer) => TTransfer;
74
+ readonly outcome: Deferred<WorkingCopyEditOutcome>;
75
+ }[];
76
+ /**
77
+ * The root the first queued edit was made on, the write in flight
78
+ * included, and the snapshot version their write is gated on. A foreign
79
+ * update that lands while they wait then conflicts and is reconciled,
80
+ * instead of being written over, and the copy's own write does not.
81
+ * `restores` is the copy's restores heard when that root was taken. A base
82
+ * from before a restore conflicts on its first write. `unconfirmed` marks
83
+ * a base whose write before a conflict dropped edits from. The root is then
84
+ * the one that write was made on with only the edits it kept, so an edit
85
+ * restating a dropped value conflicts, and its first write conflicts too.
86
+ * It also marks a base made on a {@link snapshotUnderWrite}. `dropped`
87
+ * makes any edit of a path a dropped edit wrote conflict, a revert to the
88
+ * value before it included.
89
+ */
90
+ base?: VersionedModel<TTransfer> & {
91
+ readonly restores: number;
92
+ readonly unconfirmed?: boolean;
93
+ /** The root the user saw before a conflict dropped edits, and the paths those edits wrote. */
94
+ readonly dropped?: {
95
+ readonly seen: TTransfer;
96
+ readonly paths: readonly string[];
97
+ };
98
+ };
99
+ /** Edits of the write in flight, in edit order. */
100
+ sending: WorkingCopyOpen<TTransfer>['queued'];
101
+ /** Whether a write loop runs. */
102
+ writing: boolean;
103
+ /** The server's dirty flag, as last sent. */
104
+ serverDirty: boolean;
105
+ /** Requests out whose answer replaces the snapshot. */
106
+ snapshotRequests: number;
107
+ /**
108
+ * The newest document the server sent while a request is out, held until a
109
+ * request answers with no write out, or for
110
+ * {@link WorkingCopy.settleWritesMs} at most.
111
+ */
112
+ held?: TransferDocument<TTransfer>;
113
+ /** Takes {@link held} once it has waited {@link WorkingCopy.settleWritesMs}. */
114
+ holdTimer?: Disposable;
115
+ /** The text version of the dirty flag last taken, so an answer built earlier does not undo a later save. */
116
+ dirtyVersion?: number;
117
+ /** Whether that flag came as a dirty event, which a document at its version does not undo. */
118
+ dirtyFromEvent: boolean;
119
+ }
120
+ /**
121
+ * The client's working copy of one data-server document: the server's latest
122
+ * snapshot of it, plus the edits the server has not confirmed yet.
123
+ *
124
+ * - **Follows the server.** Another client's update replaces the snapshot and
125
+ * fires {@link onDidChange}. This session's own echoes are skipped while a
126
+ * write is out, since the write's answer carries them. A document the
127
+ * server sends while a write, a save, a reread or the open's second read is
128
+ * out waits. The newest is taken when one of them answers and no write is
129
+ * out, or once the first of them has waited {@link settleWritesMs}. A write
130
+ * still out then has its edits applied to a document that may hold them
131
+ * already, so an edit that does not give the same root twice may show twice
132
+ * until its write answers. A batch made on that document has its first
133
+ * write reconciled, so the edit is not written twice.
134
+ * - **Batches edits behind a write.** An edit goes out at once when no write
135
+ * is out. The edits made while one is out go out after it, as one write of
136
+ * the whole root, gated on the version of the snapshot the first of them
137
+ * was made on, or of the answer to the copy's write before when that landed
138
+ * unchanged. Each edit resolves to a {@link WorkingCopyEditOutcome}, its
139
+ * batch's unless the batch splits on a conflict.
140
+ * - **Reconciles.** A write that meets a newer version goes through
141
+ * `reconcileWrite`: the edits are replayed onto the refetched root, and a
142
+ * same-path collision drops the edit that made it in favour of the
143
+ * server's value. The other edits of its batch are still written.
144
+ * - **Counts its own edits as dirty.** {@link dirty} is the server's flag, or
145
+ * true while an edit is unanswered, so a host never shows clean text with
146
+ * an edit still on its way.
147
+ *
148
+ * Its session's own writes of the document are taken as echoes while a
149
+ * write is out, so the copy is the only writer of the document on its
150
+ * session. One heard with none out is taken, as a late write of a copy
151
+ * before it may be.
152
+ *
153
+ * One URI per copy, for its whole life. Opening another document is a new
154
+ * copy, so no queued edit can land on a document it was not made for. Open a
155
+ * new copy of the same document on the same session only once the last one's
156
+ * {@link close} has settled, since the copy does not check it. The session
157
+ * holds one open per document, so a close sent later would end the new copy's
158
+ * open too.
159
+ *
160
+ * An edit is a function of the root and runs again on every newer snapshot
161
+ * until its write answers, so it must be pure. Running it once and keeping the
162
+ * result would hide a foreign update behind the edit's stale copy of the root.
163
+ * One that throws on a newer root makes {@link root} throw too, until its
164
+ * write answers.
165
+ */
166
+ export declare class WorkingCopy<TTransfer extends TransferElement> {
167
+ protected readonly session: DataSession<TTransfer>;
168
+ protected readonly events: DataEvents<TTransfer>;
169
+ /** The document followed, as the caller spells it, which the session keys its open by. */
170
+ readonly uri: string;
171
+ protected readonly changeEmitter: Emitter<void>;
172
+ /** Fires whenever {@link root} or {@link diagnostics} may have changed. */
173
+ readonly onDidChange: Event<void>;
174
+ protected readonly dirtyEmitter: Emitter<void>;
175
+ /** Fires whenever {@link dirty} changes. Apart from {@link onDidChange}, since a save changes no content. */
176
+ readonly onDidChangeDirty: Event<void>;
177
+ /** Asked for each conflicting write, see {@link reconcile}. */
178
+ protected readonly conflictResolver: ConflictResolver;
179
+ /**
180
+ * Writes of one reconcile, the first included, before a still-conflicting
181
+ * one is dropped. A first write the copy refuses unsent, on a base from
182
+ * before a restore or one a conflict dropped edits from, counts too. A
183
+ * split batch reconciles twice, so one batch makes at most twice the cap
184
+ * less one writes. Absent, `reconcileWrite`'s default applies.
185
+ */
186
+ protected readonly maxWrites?: number;
187
+ /**
188
+ * How long {@link save}, {@link close} and {@link whenWritesSettled} wait
189
+ * for the copy's edits before going on anyway, and how long a document the
190
+ * server sends is held for a request at most.
191
+ */
192
+ protected readonly settleWritesMs: number;
193
+ /** The clock of {@link settleWritesMs}. */
194
+ protected readonly clock: Clock;
195
+ /**
196
+ * The open the copy follows. A close, a deletion or a failure ends it, and a
197
+ * request sent under an earlier one neither counts nor answers.
198
+ */
199
+ protected current?: WorkingCopyOpen<TTransfer>;
200
+ /** Restores heard that may have renumbered the versions, see {@link handleDocumentRestored}. */
201
+ protected restores: number;
202
+ /** Every edit until its write answers, so a settle waits on rereads after a conflict too. */
203
+ protected readonly editsInFlight: PendingWorkTracker;
204
+ /** {@link dirty} as last announced. */
205
+ protected announcedDirty: boolean;
206
+ /** Requests being settled, during which {@link onDidChangeDirty} waits, since their answer is not taken yet. */
207
+ protected settling: number;
208
+ /** The open, under way or done, which a later call shares until a deletion or a failure clears it. */
209
+ protected opening?: Promise<void>;
210
+ /** The close, once called. The copy does not open again after it. */
211
+ protected closing?: Promise<void>;
212
+ /** The listeners on the session and its events, ended once {@link dispose} ran and the edits have answered. */
213
+ protected readonly subscriptions: Disposable[];
214
+ /** Set by {@link dispose}, after which nothing is announced. */
215
+ protected disposed: boolean;
216
+ /** Set once {@link close} stopped waiting for the open, which then ends when it answers. */
217
+ protected openAbandoned: boolean;
218
+ constructor(session: DataSession<TTransfer>, events: DataEvents<TTransfer>,
219
+ /** The document followed, as the caller spells it, which the session keys its open by. */
220
+ uri: string);
221
+ /** The last document the server sent, without the edits it has not confirmed. `undefined` before {@link open}. */
222
+ get snapshot(): TransferDocument<TTransfer> | undefined;
223
+ /** The version of {@link snapshot}. A write is gated on the version its batch was made on, see the class doc. */
224
+ get version(): ModelVersion | undefined;
225
+ /** The server's root with every unconfirmed edit applied. `undefined` when no document is loaded. */
226
+ get root(): TTransfer | undefined;
227
+ /**
228
+ * Diagnostics as of the last snapshot. A write answers once its document is
229
+ * validated, so they hold for the copy's own edits without an update push.
230
+ * After a reconnect the ones from before stay until the copy's reread
231
+ * answers, or the next update when it fails.
232
+ */
233
+ get diagnostics(): readonly TransferDiagnostic[];
234
+ /** Whether the server's text differs from the file, or an edit has not been confirmed. */
235
+ get dirty(): boolean;
236
+ /** Whether an edit has not answered yet. Synchronous, for an unload guard. */
237
+ get hasWritesInFlight(): boolean;
238
+ /**
239
+ * Open and watch the document, then read it again with diagnostics. The
240
+ * open settles before validation, so without the second read a document
241
+ * that was never edited reports no problems. Fires a change once both reads
242
+ * have answered and the open stands, and before that only for a document a
243
+ * restore hands over meanwhile. Repeated calls share the first one, and a
244
+ * failed open may be retried. Rejects once {@link close} was called, and
245
+ * with a `DocumentNotOpenError` when the file is gone by the second read. A
246
+ * failed second read rejects once the session is connected, so after a
247
+ * dropped connection it waits for the reconnect, and resolves when the
248
+ * restore took the document over.
249
+ */
250
+ open(): Promise<void>;
251
+ /**
252
+ * Queue `change` for the next write. The edit shows in {@link root} at once.
253
+ * Resolves to the outcome of the write that carried it, and rejects when
254
+ * that write fails for another reason than a conflict, as with a
255
+ * `DocumentSyntaxError` while the document does not parse. Rejects with a
256
+ * `DocumentNotOpenError` when the copy follows no document, and with what
257
+ * `change` throws on {@link root}, queueing nothing. A change that throws
258
+ * only on a later root rejects every edit of the write that carries it.
259
+ */
260
+ edit(change: (root: TTransfer) => TTransfer): Promise<WorkingCopyEditOutcome>;
261
+ /**
262
+ * Wait for every edit to answer, those made during the wait included, and
263
+ * persist the server's text when it differs from the file, whoever wrote
264
+ * it. Resolves to what the persist answered, or `undefined` when nothing
265
+ * needed saving. Rejects with a `DocumentNotOpenError` when the copy
266
+ * follows no document, at the call or once the edits have answered, or
267
+ * follows one opened again meanwhile. Rejects with a `ConflictError` when
268
+ * the text moved past the copy's version or the copy's document is from
269
+ * before the latest restore, and with a `SaveFailedError` when an edit has
270
+ * not answered within {@link settleWritesMs}.
271
+ */
272
+ save(): Promise<TransferSavedDocument<TTransfer> | undefined>;
273
+ /**
274
+ * Resolve to `true` once no edit is pending, those made during the wait
275
+ * included, or to `false` once {@link settleWritesMs} has passed first.
276
+ * Never rejects.
277
+ */
278
+ whenWritesSettled(): Promise<boolean>;
279
+ /**
280
+ * Resolve to `true` once `opening` has settled and no edit is pending, those
281
+ * made during the wait included, or to `false` once {@link settleWritesMs}
282
+ * has passed first.
283
+ */
284
+ protected whenEditsIdle(opening?: Promise<void>): Promise<boolean>;
285
+ /**
286
+ * Wait for an open under way and the edits, those made during the wait
287
+ * included, up to {@link settleWritesMs}, and close the document. Final:
288
+ * the copy does not open again, and a later call shares this one.
289
+ */
290
+ close(): Promise<void>;
291
+ /** The work of {@link close}, after the open it ends and the edits, within one bound. */
292
+ protected closeAfter(opening: Promise<void> | undefined): Promise<void>;
293
+ /**
294
+ * Announce nothing more. Unanswered edits are still written while the
295
+ * session lives, since dropping them would lose what the user typed, and
296
+ * the copy follows the document until they have answered, so their writes
297
+ * still heed a restore or a deletion. A host that ends the session as well
298
+ * waits for {@link whenWritesSettled} first.
299
+ */
300
+ dispose(): void;
301
+ /** Both reads of {@link open}. */
302
+ protected load(): Promise<void>;
303
+ /** Write the batches of `open` until none is left, one at a time, so each can be based on the answer to the last. */
304
+ protected writeQueued(open: WorkingCopyOpen<TTransfer>): Promise<void>;
305
+ /**
306
+ * Write one batch, made on `base`, and settle its edits. The batch leaves
307
+ * {@link root} before the server's answer is taken and the one change is
308
+ * fired for it, since a reader would otherwise apply it again over an
309
+ * answer that holds or refused it.
310
+ */
311
+ protected writeBatch(open: WorkingCopyOpen<TTransfer>, batch: WorkingCopyOpen<TTransfer>['queued'], base: WorkingCopyOpen<TTransfer>['base']): Promise<void>;
312
+ /**
313
+ * Replay a conflicting batch onto `theirs` one edit at a time, each as the
314
+ * change from the root before it, and write the edits that do not collide.
315
+ * One edit's collision then drops only that edit.
316
+ */
317
+ protected splitConflict(open: WorkingCopyOpen<TTransfer>, roots: readonly TTransfer[], theirs: LoadedTransferDocument<TTransfer>, restores: number): Promise<{
318
+ answer?: TransferDocument<TTransfer>;
319
+ outcomes: (WorkingCopyEditOutcome | Promise<never>)[];
320
+ }>;
321
+ /**
322
+ * Write `ours`, based on `base`, and reconcile a conflict. Resolves to the
323
+ * last document the write and its rereads answered, which {@link writeBatch}
324
+ * takes, so the copy shows the server's value for an edit the reconcile
325
+ * dropped. `restores` is {@link restores} when its last reread was taken.
326
+ *
327
+ * A base from before a restore is not sent but refused as a conflict, so
328
+ * the write is reconciled against the restarted server's document. Its
329
+ * version could match that server's by chance and the write would land.
330
+ * An unconfirmed base is refused the same way. Only a batch's own write,
331
+ * `whole`, can move the base of the edits queued meanwhile.
332
+ */
333
+ protected reconcile(open: WorkingCopyOpen<TTransfer>, base: NonNullable<WorkingCopyOpen<TTransfer>['base']>, ours: TTransfer, whole: boolean): Promise<{
334
+ readonly outcome: ReconcileWriteOutcome;
335
+ readonly answer?: TransferDocument<TTransfer>;
336
+ readonly restores: number;
337
+ }>;
338
+ /** The outcome an edit reports for what {@link reconcile} did. */
339
+ protected toEditOutcome(outcome: ReconcileWriteOutcome): WorkingCopyEditOutcome;
340
+ /** Drop the snapshot when the document's file is removed, so no edit is based on a document the server no longer has. */
341
+ protected handleDocumentDeleted(event: {
342
+ uri: string;
343
+ }): void;
344
+ /** End the open as a deletion does, and settle the edits not yet written as `unavailable`. */
345
+ protected dropDocument(): void;
346
+ /**
347
+ * Drop the document and every edit not yet written, and return those edits
348
+ * for the caller to settle. Made on the document that went, they never
349
+ * reach one opened again. Requests still out answer to nothing, since a
350
+ * late answer would bring the document back.
351
+ */
352
+ protected unload(): WorkingCopyOpen<TTransfer>['queued'];
353
+ /**
354
+ * Follow the document again after a reconnect. A restarted server numbers
355
+ * versions afresh, so the versions held from before compare with nothing,
356
+ * and a change made while the connection was down sent no event. Queued
357
+ * edits keep their base, so their write is reconciled against what the
358
+ * restarted server holds and a field changed meanwhile conflicts. A restore
359
+ * that finds the snapshot's text at its version is not counted, as in the
360
+ * session, so a brief drop costs no conflict.
361
+ */
362
+ protected handleDocumentRestored(event: DataSessionRestoreEvent<TTransfer>): void;
363
+ /** Read the document of `open` again with diagnostics, and take the answer. */
364
+ protected reread(open: WorkingCopyOpen<TTransfer>): Promise<void>;
365
+ /** Follow a server push for the document. */
366
+ protected handleDocumentUpdated(event: {
367
+ document: TransferDocument<TTransfer>;
368
+ sourceClientId: string;
369
+ }): void;
370
+ /**
371
+ * Take the dirty flag of a document the server sent, and the document itself
372
+ * unless a request is out. A document older than the snapshot is skipped.
373
+ */
374
+ protected offer(open: WorkingCopyOpen<TTransfer>, document: TransferDocument<TTransfer>, announce: boolean): void;
375
+ /**
376
+ * Hold `document` until a request answers. A document first held
377
+ * {@link settleWritesMs} ago is taken then, so a request that hangs does
378
+ * not hide other clients' changes for longer.
379
+ */
380
+ protected hold(open: WorkingCopyOpen<TTransfer>, document: TransferDocument<TTransfer>): void;
381
+ /** Stop holding a document for `open`, and return the one it held. */
382
+ protected unhold(open: WorkingCopyOpen<TTransfer>): TransferDocument<TTransfer> | undefined;
383
+ /**
384
+ * Take `document` as the new snapshot. Fires a change unless the model's
385
+ * hash is the one held, which also means equally validated, or `announce`
386
+ * is false, as for a write's answers, which {@link writeBatch} announces
387
+ * once the write's edits are off {@link root}.
388
+ */
389
+ protected adopt(open: WorkingCopyOpen<TTransfer>, document: TransferDocument<TTransfer>, announce?: boolean): void;
390
+ /**
391
+ * End a request, and take the newest document the server sent while
392
+ * requests were out, its answer included. None is taken while a write is
393
+ * out, since it may already hold that write's edits, which {@link root}
394
+ * would then apply again. Versions are compared only within that window,
395
+ * and a restore clears what it held, since a restarted server numbers
396
+ * afresh. {@link dirty} is announced once the answer is taken.
397
+ */
398
+ protected settleRequest(open: WorkingCopyOpen<TTransfer>, answer: TransferDocument<TTransfer> | undefined, announce?: boolean): void;
399
+ /** {@link settleRequest} past its check that `open` is followed, without announcing {@link dirty}. */
400
+ protected settleAnswer(open: WorkingCopyOpen<TTransfer>, answer: TransferDocument<TTransfer> | undefined, announce: boolean): void;
401
+ /**
402
+ * Take a dirty flag the server sent, `announced` when it came as a dirty
403
+ * event. While a request is out, one decided on older text than the last
404
+ * is skipped, and so is a document's at the version of the last event,
405
+ * since a save changes the flag but not the version, and that document may
406
+ * have been built before it. Outside that window any is taken, as after a
407
+ * restart that numbers versions afresh.
408
+ */
409
+ protected takeDirty(open: WorkingCopyOpen<TTransfer>, text: (Pick<TextState, 'dirty'> & Partial<Pick<TextState, 'version'>>) | undefined, announced?: boolean): void;
410
+ /** Fire {@link onDidChangeDirty} when {@link dirty} differs from what was last announced, unless a request is being settled. */
411
+ protected announceDirty(): void;
412
+ /** The open the copy follows, or a throw when it follows none. */
413
+ protected requireOpen(): WorkingCopyOpen<TTransfer>;
414
+ /** Throw once {@link dispose} ran. */
415
+ protected assertLive(): void;
416
+ }
417
+ //# sourceMappingURL=working-copy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"working-copy.d.ts","sourceRoot":"","sources":["../../src/client/working-copy.ts"],"names":[],"mappings":"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"}