loro-repo 0.4.0 → 0.5.1

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.
package/dist/index.d.cts CHANGED
@@ -1,634 +1,10 @@
1
+ import { A as TransportSyncResult, C as StorageAdapter, D as TransportJoinParams, E as TransportAdapter, O as TransportSubscription, S as RepoWatchHandle, T as SyncScope, _ as RepoEventFilter, a as AssetUploadMetadata, b as RepoEventType, c as JsonValue, d as LoroRepoOptions, f as RepoAssetMetadata, g as RepoEventBy, h as RepoEvent, i as AssetTransportAdapter, j as UploadAssetOptions, k as TransportSyncRequest, l as LinkAssetOptions, m as RepoDocMeta, n as AssetDownload, o as GarbageCollectionOptions, p as RepoDocHandle, r as AssetId, s as JsonObject, t as AssetContent, u as ListDocQuery, v as RepoEventKind, w as StorageSavePayload, x as RepoSyncOptions, y as RepoEventListener } from "./types.cjs";
1
2
  import { Flock } from "@loro-dev/flock";
2
- import { Frontiers, LoroDoc } from "loro-crdt";
3
- import { JoinError, JoinResponseOk, RoomId, UpdateError } from "loro-protocol";
4
- import { LoroWebsocketClientOptions } from "loro-websocket";
5
- import { FlockAdaptorConfig } from "loro-adaptors/flock";
3
+ import { LoroDoc } from "loro-crdt";
6
4
 
7
- //#region src/types.d.ts
8
- type GlobalBlob = typeof globalThis extends {
9
- Blob: infer B;
10
- } ? B : {
11
- readonly size: number;
12
- readonly type: string;
13
- };
14
- /**
15
- * Binary content accepted by asset ingestion helpers.
16
- */
17
- type AssetContent = GlobalBlob | ArrayBufferView | ReadableStream<Uint8Array>;
18
- interface RepoAssetMetadata {
19
- readonly assetId: AssetId;
20
- readonly size: number;
21
- readonly createdAt: number;
22
- readonly mime?: string;
23
- readonly policy?: string;
24
- readonly tag?: string;
25
- }
26
- /**
27
- * JSON-compatible leaf value used for document metadata.
28
- */
29
- type JsonValue = string | number | boolean | null | JsonValue[] | {
30
- [key: string]: JsonValue;
31
- };
32
- /**
33
- * JSON-compatible object map used throughout metadata APIs.
34
- */
35
- type JsonObject = {
36
- [key: string]: JsonValue;
37
- };
38
- /**
39
- * Synchronisation lanes available to repo consumers.
40
- */
41
- type SyncScope = "meta" | "doc" | "full";
42
- /**
43
- * Construction options for creating a `LoroRepo` instance.
44
- */
45
- interface LoroRepoOptions<_Meta extends JsonObject = JsonObject> {
46
- /**
47
- * Transport adapter responsible for fetching and pushing CRDT bundles.
48
- * Omit when operating fully offline or within pure tests.
49
- */
50
- readonly transportAdapter?: TransportAdapter;
51
- /**
52
- * Storage adapter that hydrates snapshots and persists incremental updates.
53
- */
54
- readonly storageAdapter?: StorageAdapter;
55
- /**
56
- * Optional adapter that moves asset payloads while keeping metadata in sync.
57
- */
58
- readonly assetTransportAdapter?: AssetTransportAdapter;
59
- /**
60
- * Debounce duration in milliseconds before persisting document frontier metadata
61
- * after local edits. Defaults to 1000 ms when omitted.
62
- */
63
- readonly docFrontierDebounceMs?: number;
64
- }
65
- /**
66
- * Parameters accepted by `LoroRepo.sync`.
67
- */
68
- interface RepoSyncOptions {
69
- /**
70
- * Defines the lanes to sync: metadata only, document bodies, or both.
71
- */
72
- readonly scope?: SyncScope;
73
- /**
74
- * Explicit allow-list of document ids for partial synchronisation.
75
- */
76
- readonly docIds?: ReadonlyArray<string>;
77
- }
78
- /**
79
- * Parameters passed to transport adapters when issuing a sync request.
80
- */
81
- interface TransportSyncRequest {
82
- /**
83
- * Synchronisation scope (metadata-only, document bodies, or both).
84
- */
85
- readonly scope: SyncScope;
86
- /**
87
- * Optional document allow-list when syncing specific bodies.
88
- */
89
- readonly docIds?: ReadonlyArray<string>;
90
- }
91
- /**
92
- * Result returned by transport adapters after fetching updates.
93
- */
94
- interface TransportSyncResult {
95
- readonly ok: boolean;
96
- }
97
- /**
98
- * Parameters used when joining live collaboration rooms.
99
- */
100
- interface TransportJoinParams {
101
- readonly roomId?: RoomId;
102
- readonly auth?: Uint8Array;
103
- }
104
- /**
105
- * Subscription handle returned by transport adapters after joining a room.
106
- */
107
- interface TransportSubscription {
108
- readonly unsubscribe: () => void;
109
- readonly firstSyncedWithRemote: Promise<void>;
110
- readonly connected: boolean;
111
- }
112
- /**
113
- * Abstracts the transport channel that exchanges metadata and document bundles.
114
- */
115
- interface TransportAdapter {
116
- /**
117
- * Establishes connectivity; If failed, the adapter should throw an error.
118
- */
119
- connect(options?: {
120
- timeout?: number;
121
- }): Promise<void>;
122
- /**
123
- * Tears down network resources and stops background polling.
124
- */
125
- close(): Promise<void>;
126
- /**
127
- * Indicates whether the adapter currently has an active transport connection.
128
- */
129
- isConnected(): boolean;
130
- /**
131
- * Pulls metadata updates and merges them into the supplied Flock replica. If the sync fails, the adapter should throw an error.
132
- */
133
- syncMeta(flock: Flock, options?: {
134
- timeout?: number;
135
- }): Promise<TransportSyncResult>;
136
- /**
137
- * Joins the metadata room and returns an unsubscribe function for realtime updates.
138
- */
139
- joinMetaRoom(flock: Flock, params?: TransportJoinParams): TransportSubscription;
140
- /**
141
- * Pulls document body updates and merges them into the provided LoroDoc.
142
- */
143
- syncDoc(docId: string, loroDoc: LoroDoc, options?: {
144
- timeout?: number;
145
- }): Promise<TransportSyncResult>;
146
- /**
147
- * Subscribes to live document updates, returning a cleanup handle.
148
- */
149
- joinDocRoom(docId: string, loroDoc: LoroDoc, params?: TransportJoinParams): TransportSubscription;
150
- /**
151
- * Optional callback invoked upon successful join responses.
152
- */
153
- handleJoinResponse?(response: JoinResponseOk): void;
154
- /**
155
- * Optional callback surfaced when joining a room fails.
156
- */
157
- handleJoinError?(error: JoinError): void;
158
- /**
159
- * Optional callback for update-level failures (e.g., decoding errors).
160
- */
161
- handleUpdateError?(error: UpdateError): void;
162
- }
163
- /**
164
- * Persists metadata, documents, and asset payloads on behalf of the repo.
165
- */
166
- interface StorageAdapter {
167
- init?(): Promise<void>;
168
- close?(): void;
169
- /**
170
- * Writes document snapshots, queued updates, assets, or meta bundles to durable storage.
171
- */
172
- save(payload: StorageSavePayload): Promise<void>;
173
- /**
174
- * Optionally deletes an asset payload during garbage collection.
175
- */
176
- deleteAsset?(assetId: AssetId): Promise<void>;
177
- /**
178
- * Loads a stored document by hydrating the persisted snapshot and replaying any queued updates.
179
- */
180
- loadDoc(docId: string): Promise<LoroDoc | undefined>;
181
- /**
182
- * Loads the repository-level metadata replica, if present.
183
- */
184
- loadMeta(): Promise<Flock | undefined>;
185
- /**
186
- * Loads a cached asset payload, if present.
187
- */
188
- loadAsset(assetId: AssetId): Promise<Uint8Array | undefined>;
189
- }
190
- /**
191
- * Union describing the kinds of payloads persisted via the storage adapter.
192
- */
193
- type StorageSavePayload = {
194
- readonly type: "doc-snapshot";
195
- readonly docId: string;
196
- readonly snapshot: Uint8Array;
197
- } | {
198
- readonly type: "doc-update";
199
- readonly docId: string;
200
- readonly update: Uint8Array;
201
- } | {
202
- readonly type: "asset";
203
- readonly assetId: AssetId;
204
- readonly data: Uint8Array;
205
- } | {
206
- readonly type: "meta";
207
- readonly update: Uint8Array;
208
- };
209
- /**
210
- * Envelope supplied to asset uploads via the transport adapter.
211
- */
212
- interface AssetUploadMetadata {
213
- readonly mime?: string;
214
- readonly policy?: string;
215
- readonly tag?: string;
216
- }
217
- /**
218
- * Moves binary assets between peers or infrastructure-specific storage.
219
- */
220
- interface AssetTransportAdapter {
221
- init?(): Promise<void>;
222
- close?(): void;
223
- /**
224
- * Uploads a raw asset payload using transport-managed metadata.
225
- */
226
- upload(assetId: AssetId, data: Uint8Array, metadata: AssetUploadMetadata): Promise<void>;
227
- /**
228
- * Fetches a remote asset payload, returning metadata and a lazy content stream.
229
- */
230
- fetch(assetId: AssetId): Promise<AssetDownload | undefined>;
231
- /**
232
- * Optional optimisation that ensures the remote asset exists or is reachable.
233
- */
234
- ensure?(assetId: AssetId): Promise<boolean>;
235
- }
236
- /**
237
- * Unique identifier for an asset managed by the repo. Set to the SHA-256 digest of the payload.
238
- */
239
- type AssetId = string;
240
- /**
241
- * Asset reference augmented with a lazy content accessor.
242
- */
243
- interface AssetDownload {
244
- readonly assetId: AssetId;
245
- readonly mime?: string;
246
- readonly policy?: string;
247
- readonly tag?: string;
248
- readonly size: number;
249
- readonly createdAt: number;
250
- /**
251
- * Lazily resolves to a readable stream, used to hydrate local caches.
252
- */
253
- readonly content: () => Promise<ReadableStream<Uint8Array>>;
254
- }
255
- /**
256
- * Options supplied when linking an asset to a document.
257
- */
258
- interface LinkAssetOptions extends AssetUploadMetadata {
259
- /**
260
- * Optional pre-existing asset id. Must match the SHA-256 digest of the content when provided.
261
- */
262
- readonly assetId?: AssetId;
263
- /**
264
- * Optional creation timestamp carried into metadata.
265
- */
266
- readonly createdAt?: number;
267
- /**
268
- * Raw payload provided by the caller.
269
- */
270
- readonly content: AssetContent;
271
- }
272
- /**
273
- * Options accepted by `uploadAsset`.
274
- */
275
- interface UploadAssetOptions extends AssetUploadMetadata {
276
- /**
277
- * Optional pre-assigned asset identifier. Must match the SHA-256 digest of the content when provided.
278
- */
279
- readonly assetId?: AssetId;
280
- /**
281
- * Optional timestamp preserved in the stored metadata.
282
- */
283
- readonly createdAt?: number;
284
- /**
285
- * Raw payload that will be persisted locally and optionally uploaded.
286
- */
287
- readonly content: AssetContent;
288
- }
289
- /**
290
- * Options accepted by `gcAssets`.
291
- */
292
- interface GarbageCollectionOptions {
293
- /**
294
- * Minimum duration in milliseconds to keep unreferenced assets before purging.
295
- */
296
- readonly minKeepMs?: number;
297
- /**
298
- * Optional batch size for deleting cached assets.
299
- */
300
- readonly batchSize?: number;
301
- }
302
- /**
303
- * Metadata entry returned by `listDoc`.
304
- */
305
- interface RepoDocMeta<Meta extends JsonObject = JsonObject> {
306
- /**
307
- * Globally unique identifier for the document (e.g. `note:<uuid>`).
308
- */
309
- readonly docId: string;
310
- /**
311
- * Merged metadata snapshot respecting the `Meta` contract.
312
- */
313
- readonly meta: Meta;
314
- }
315
- /**
316
- * Range-scan parameters for `listDoc`.
317
- */
318
- interface ListDocQuery {
319
- /**
320
- * Optional partition-style prefix to scan within the metadata keyspace.
321
- */
322
- readonly prefix?: string;
323
- /**
324
- * Inclusive range start for ordered metadata iteration.
325
- */
326
- readonly start?: string;
327
- /**
328
- * Exclusive range end for ordered metadata iteration.
329
- */
330
- readonly end?: string;
331
- /**
332
- * Maximum number of documents to materialise per call.
333
- */
334
- readonly limit?: number;
335
- }
336
- /**
337
- * Handle returned by `openCollaborativeDoc` (shared/persistent) or `openDetachedDoc` (isolated snapshot).
338
- */
339
- interface RepoDocHandle {
340
- /**
341
- * Shared collaborative document handle sourced from `loro-crdt`.
342
- */
343
- readonly doc: LoroDoc;
344
- /**
345
- * Sync with the transport adaptor once.
346
- */
347
- readonly syncOnce: () => Promise<void>;
348
- /**
349
- * Join the realtime collaboration room.
350
- */
351
- readonly joinRoom: (auth?: Uint8Array) => Promise<TransportSubscription>;
352
- }
353
- /**
354
- * Provenance discriminant attached to every repo event.
355
- */
356
- type RepoEventBy = "local" | "sync" | "live";
357
- /**
358
- * Unified event envelope types emitted by `watch`.
359
- */
360
- type RepoEventType<Meta extends JsonObject = JsonObject> = {
361
- "doc-metadata": {
362
- readonly kind: "doc-metadata";
363
- readonly docId: string;
364
- readonly patch: Partial<Meta>;
365
- readonly by: RepoEventBy;
366
- };
367
- "doc-frontiers": {
368
- readonly kind: "doc-frontiers";
369
- readonly docId: string;
370
- readonly frontiers: Frontiers;
371
- readonly by: RepoEventBy;
372
- };
373
- "asset-metadata": {
374
- readonly kind: "asset-metadata";
375
- readonly asset: AssetDownload;
376
- readonly by: RepoEventBy;
377
- };
378
- "asset-link": {
379
- readonly kind: "asset-link";
380
- readonly docId: string;
381
- readonly assetId: AssetId;
382
- readonly by: RepoEventBy;
383
- };
384
- "asset-unlink": {
385
- readonly kind: "asset-unlink";
386
- readonly docId: string;
387
- readonly assetId: AssetId;
388
- readonly by: RepoEventBy;
389
- };
390
- };
391
- /**
392
- * Discriminant union of all possible repo event types.
393
- */
394
- type RepoEventKind = keyof RepoEventType;
395
- type RepoEvent<Meta extends JsonObject = JsonObject> = RepoEventType<Meta>[keyof RepoEventType<Meta>];
396
- /**
397
- * Listener signature for `watch`.
398
- */
399
- type RepoEventListener<Meta extends JsonObject = JsonObject> = (event: RepoEvent<Meta>) => void;
400
- /**
401
- * Handle returned by `watch`, allowing subscribers to unsubscribe.
402
- */
403
- interface RepoWatchHandle {
404
- /**
405
- * Stops receiving further repo events.
406
- */
407
- unsubscribe(): void;
408
- }
409
- /**
410
- * Server-side filter applied before emitting repo events.
411
- */
412
- interface RepoEventFilter<Meta extends JsonObject = JsonObject> {
413
- /**
414
- * Restrict events to the supplied set of document identifiers.
415
- */
416
- readonly docIds?: ReadonlyArray<string>;
417
- /**
418
- * Restrict events by kind (doc metadata/frontiers, asset lifecycle).
419
- */
420
- readonly kinds?: ReadonlyArray<RepoEvent<Meta>["kind"]>;
421
- /**
422
- * Emit metadata events only when the specified fields change.
423
- */
424
- readonly metadataFields?: ReadonlyArray<string>;
425
- /**
426
- * Restrict events by their provenance (local edits, explicit sync, or live collaboration).
427
- */
428
- readonly by?: ReadonlyArray<RepoEventBy>;
429
- }
430
- //#endregion
431
- //#region src/loro-adaptor.d.ts
432
- type RepoFlockAdaptorConfig = FlockAdaptorConfig;
433
- //#endregion
434
- //#region src/transport/websocket.d.ts
435
- interface WebSocketTransportOptions {
436
- /**
437
- * WebSocket endpoint provided to the loro-websocket client.
438
- */
439
- readonly url: string;
440
- /**
441
- * Optional loro-websocket client configuration.
442
- */
443
- readonly client?: Omit<LoroWebsocketClientOptions, "url">;
444
- /**
445
- * Metadata room identifier. When omitted, metadata synchronisation is disabled.
446
- */
447
- readonly metadataRoomId?: string;
448
- /**
449
- * Overrides the CRDT type advertised for the metadata room (defaults to `%FLO`).
450
- * Only `%FLO` is supported.
451
- */
452
- readonly metadataCrdtType?: string;
453
- /**
454
- * Optional adaptor configuration for metadata joins.
455
- */
456
- readonly metadataAdaptorConfig?: RepoFlockAdaptorConfig;
457
- /**
458
- * Static auth payload for metadata joins.
459
- */
460
- readonly metadataAuth?: Uint8Array;
461
- /**
462
- * Factory that maps document ids to room identifiers. Defaults to the doc id.
463
- */
464
- readonly docRoomId?: (docId: string) => string;
465
- /**
466
- * Optional auth provider for document joins.
467
- */
468
- readonly docAuth?: (docId: string) => Uint8Array | undefined;
469
- }
470
- /**
471
- * loro-websocket backed {@link TransportAdapter} implementation for LoroRepo.
472
- */
473
- declare class WebSocketTransportAdapter implements TransportAdapter {
474
- private readonly options;
475
- private client?;
476
- private metadataSession?;
477
- private readonly docSessions;
478
- constructor(options: WebSocketTransportOptions);
479
- connect(_options?: {
480
- timeout?: number;
481
- }): Promise<void>;
482
- close(): Promise<void>;
483
- isConnected(): boolean;
484
- syncMeta(flock: Flock, options?: {
485
- timeout?: number;
486
- }): Promise<TransportSyncResult>;
487
- joinMetaRoom(flock: Flock, params?: TransportJoinParams): TransportSubscription;
488
- syncDoc(docId: string, doc: LoroDoc, options?: {
489
- timeout?: number;
490
- }): Promise<TransportSyncResult>;
491
- joinDocRoom(docId: string, doc: LoroDoc, params?: TransportJoinParams): TransportSubscription;
492
- private ensureClient;
493
- private ensureMetadataSession;
494
- private teardownMetadataSession;
495
- private ensureDocSession;
496
- private leaveDocSession;
497
- }
498
- //#endregion
499
- //#region src/transport/broadcast-channel.d.ts
500
- interface BroadcastChannelTransportOptions {
501
- /**
502
- * Namespace used to derive broadcast channel names. Defaults to `loro-repo`.
503
- */
504
- readonly namespace?: string;
505
- /**
506
- * Explicit channel name for metadata broadcasts. When omitted, resolves to `${namespace}-meta`.
507
- */
508
- readonly metaChannelName?: string;
509
- }
510
- /**
511
- * TransportAdapter that relies on the BroadcastChannel API to fan out metadata
512
- * and document updates between browser tabs within the same origin.
513
- */
514
- declare class BroadcastChannelTransportAdapter implements TransportAdapter {
515
- private readonly instanceId;
516
- private readonly namespace;
517
- private readonly metaChannelName;
518
- private connected;
519
- private metaState?;
520
- private readonly docStates;
521
- constructor(options?: BroadcastChannelTransportOptions);
522
- connect(): Promise<void>;
523
- close(): Promise<void>;
524
- isConnected(): boolean;
525
- syncMeta(flock: Flock, _options?: {
526
- timeout?: number;
527
- }): Promise<TransportSyncResult>;
528
- joinMetaRoom(flock: Flock, _params?: TransportJoinParams): TransportSubscription;
529
- syncDoc(docId: string, doc: LoroDoc, _options?: {
530
- timeout?: number;
531
- }): Promise<TransportSyncResult>;
532
- joinDocRoom(docId: string, doc: LoroDoc, _params?: TransportJoinParams): TransportSubscription;
533
- private ensureMetaChannel;
534
- private ensureDocChannel;
535
- private teardownDocChannel;
536
- }
537
- //#endregion
538
- //#region src/storage/indexeddb.d.ts
539
- interface IndexedDBStorageAdaptorOptions {
540
- readonly dbName?: string;
541
- readonly version?: number;
542
- readonly docStoreName?: string;
543
- readonly docUpdateStoreName?: string;
544
- readonly metaStoreName?: string;
545
- readonly assetStoreName?: string;
546
- readonly metaKey?: string;
547
- }
548
- declare class IndexedDBStorageAdaptor implements StorageAdapter {
549
- private readonly idb;
550
- private readonly dbName;
551
- private readonly version;
552
- private readonly docStore;
553
- private readonly docUpdateStore;
554
- private readonly metaStore;
555
- private readonly assetStore;
556
- private readonly metaKey;
557
- private dbPromise?;
558
- private closed;
559
- constructor(options?: IndexedDBStorageAdaptorOptions);
560
- save(payload: StorageSavePayload): Promise<void>;
561
- deleteAsset(assetId: AssetId): Promise<void>;
562
- loadDoc(docId: string): Promise<LoroDoc | undefined>;
563
- loadMeta(): Promise<Flock | undefined>;
564
- loadAsset(assetId: AssetId): Promise<Uint8Array | undefined>;
565
- close(): Promise<void>;
566
- private ensureDb;
567
- private ensureStore;
568
- private storeExists;
569
- private storeMergedSnapshot;
570
- private mergeSnapshots;
571
- private appendDocUpdate;
572
- private getDocUpdates;
573
- private clearDocUpdates;
574
- private writeSnapshot;
575
- private getBinaryFromDb;
576
- private normalizeUpdateQueue;
577
- private putBinary;
578
- private deleteKey;
579
- private getBinary;
580
- private runInTransaction;
581
- private wrapRequest;
582
- private normalizeBinary;
583
- private createError;
584
- }
585
- //#endregion
586
- //#region src/storage/filesystem.d.ts
587
- interface FileSystemStorageAdaptorOptions {
588
- /**
589
- * Base directory where metadata, document snapshots, and assets will be stored.
590
- * Defaults to `.loro-repo` inside the current working directory.
591
- */
592
- readonly baseDir?: string;
593
- /**
594
- * Subdirectory dedicated to document persistence. Defaults to `docs`.
595
- */
596
- readonly docsDirName?: string;
597
- /**
598
- * Subdirectory dedicated to asset blobs. Defaults to `assets`.
599
- */
600
- readonly assetsDirName?: string;
601
- /**
602
- * File name for the metadata snapshot bundle. Defaults to `meta.json`.
603
- */
604
- readonly metaFileName?: string;
605
- }
606
- declare class FileSystemStorageAdaptor implements StorageAdapter {
607
- private readonly baseDir;
608
- private readonly docsDir;
609
- private readonly assetsDir;
610
- private readonly metaPath;
611
- private readonly initPromise;
612
- private updateCounter;
613
- constructor(options?: FileSystemStorageAdaptorOptions);
614
- save(payload: StorageSavePayload): Promise<void>;
615
- deleteAsset(assetId: AssetId): Promise<void>;
616
- loadDoc(docId: string): Promise<LoroDoc | undefined>;
617
- loadMeta(): Promise<Flock | undefined>;
618
- loadAsset(assetId: AssetId): Promise<Uint8Array | undefined>;
619
- private ensureLayout;
620
- private writeDocSnapshot;
621
- private enqueueDocUpdate;
622
- private writeAsset;
623
- private docDir;
624
- private docSnapshotPath;
625
- private docUpdatesDir;
626
- private assetPath;
627
- }
628
- //#endregion
629
5
  //#region src/index.d.ts
630
6
  declare class LoroRepo<Meta extends JsonObject = JsonObject> {
631
- readonly options: LoroRepoOptions<Meta>;
7
+ readonly options: LoroRepoOptions;
632
8
  private _destroyed;
633
9
  private readonly transport?;
634
10
  private readonly storage?;
@@ -642,7 +18,7 @@ declare class LoroRepo<Meta extends JsonObject = JsonObject> {
642
18
  private readonly state;
643
19
  private readonly syncRunner;
644
20
  private constructor();
645
- static create<Meta extends JsonObject = JsonObject>(options: LoroRepoOptions<Meta>): Promise<LoroRepo<Meta>>;
21
+ static create<Meta extends JsonObject = JsonObject>(options: LoroRepoOptions): Promise<LoroRepo<Meta>>;
646
22
  /**
647
23
  * Load meta from storage.
648
24
  *
@@ -714,5 +90,5 @@ declare class LoroRepo<Meta extends JsonObject = JsonObject> {
714
90
  destroy(): Promise<void>;
715
91
  }
716
92
  //#endregion
717
- export { AssetContent, AssetDownload, AssetId, AssetTransportAdapter, AssetUploadMetadata, BroadcastChannelTransportAdapter, type BroadcastChannelTransportOptions, FileSystemStorageAdaptor, type FileSystemStorageAdaptorOptions, GarbageCollectionOptions, IndexedDBStorageAdaptor, type IndexedDBStorageAdaptorOptions, JsonObject, JsonValue, LinkAssetOptions, ListDocQuery, LoroRepo, LoroRepoOptions, RepoAssetMetadata, RepoDocHandle, RepoDocMeta, RepoEvent, RepoEventBy, RepoEventFilter, RepoEventKind, RepoEventListener, RepoEventType, type RepoSyncOptions, RepoWatchHandle, StorageAdapter, StorageSavePayload, SyncScope, TransportAdapter, type TransportJoinParams, type TransportSubscription, TransportSyncRequest, type TransportSyncResult, UploadAssetOptions, WebSocketTransportAdapter, type WebSocketTransportOptions };
93
+ export { AssetContent, AssetDownload, AssetId, AssetTransportAdapter, AssetUploadMetadata, GarbageCollectionOptions, JsonObject, JsonValue, LinkAssetOptions, ListDocQuery, LoroRepo, LoroRepoOptions, RepoAssetMetadata, RepoDocHandle, RepoDocMeta, RepoEvent, RepoEventBy, RepoEventFilter, RepoEventKind, RepoEventListener, RepoEventType, RepoSyncOptions, RepoWatchHandle, StorageAdapter, StorageSavePayload, SyncScope, TransportAdapter, TransportJoinParams, TransportSubscription, TransportSyncRequest, TransportSyncResult, UploadAssetOptions };
718
94
  //# sourceMappingURL=index.d.cts.map