@loro-dev/streams-crdt 0.9.1 → 0.10.0

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.
@@ -395,6 +395,32 @@ interface SnapshotUploadOptions {
395
395
  /** Minimum byte delta since the last remote snapshot before uploading. */
396
396
  readonly minBytesSinceRemoteSnapshot?: number;
397
397
  }
398
+ interface StreamsCrdtShardUrlsOptions {
399
+ /**
400
+ * Origin URLs used for `GET <stream>/bootstrap`.
401
+ *
402
+ * Each entry should be an origin URL such as
403
+ * `https://control-a.streams-api-proxy.loro.dev`. The transport keeps the
404
+ * stream path and query from `streamUrl` and only replaces the request origin.
405
+ */
406
+ readonly bootstrap?: readonly string[];
407
+ /**
408
+ * Origin URLs used for non-SSE catch-up reads:
409
+ * `GET <stream>?offset=...` and long-poll fallback reads.
410
+ */
411
+ readonly catchup?: readonly string[];
412
+ /**
413
+ * Origin URLs used for large `POST <stream>` append requests.
414
+ */
415
+ readonly largePost?: readonly string[];
416
+ /**
417
+ * Minimum request body size before `largePost` routing applies.
418
+ *
419
+ * Defaults to 0, meaning every non-empty append POST can use `largePost`
420
+ * when that shard pool is configured.
421
+ */
422
+ readonly largePostMinBytes?: number;
423
+ }
398
424
  /**
399
425
  * Transforms a remote snapshot payload during upload or bootstrap.
400
426
  */
@@ -697,6 +723,8 @@ interface StreamsCrdtOptions<TVersion extends JsonObject> {
697
723
  */
698
724
  readonly payloadProtection?: PayloadProtectionOptions;
699
725
  readonly snapshotUpload?: SnapshotUploadOptions;
726
+ /** Optional origin pools for routing bootstrap/catch-up and large append requests. */
727
+ readonly shardUrls?: StreamsCrdtShardUrlsOptions;
700
728
  readonly reconnectConfig?: Partial<ReconnectConfig>;
701
729
  readonly debug?: boolean;
702
730
  }
@@ -977,5 +1005,5 @@ declare function createStreamUrl(input: {
977
1005
  baseUrl?: string;
978
1006
  }): string;
979
1007
  //#endregion
980
- export { IndexedDbRemoteCursorStoreOptions as $, PayloadProtectionReadPolicy as A, TransportCreateStreamSuccess as B, IsolatedCrdtAdapter as C, PayloadProtectionKey as D, PayloadProtectionEncryptionOptions as E, SnapshotTransformHook as F, TransportSnapshotUploadSuccess as G, TransportError as H, SnapshotUploadOptions as I, WriteOnlyAppendResult as J, TransportSubscription as K, StreamsAuthContext as L, PayloadProtectionWritePolicy as M, Result as N, PayloadProtectionKeyProvider as O, SnapshotCodec as P, IndexedDbRemoteCursorStore as Q, StreamsAuthProvider as R, EphemeralStreamSubscription as S, JsonValue as T, TransportJoinParams as U, TransportDeleteStreamSuccess as V, TransportRoomStatus as W, BeforeRemoteCursorSaveHook as X, BeforeRemoteCursorSaveContext as Y, InMemoryRemoteCursorStore as Z, E2eeScope as _, EphemeralStreamCrdt as a, EphemeralStreamCrdtOptions as b, CrdtApplyOutcome as c, CrdtUpdateBatch as d, RemoteCursor as et, E2eeEncryptionOptions as f, E2eeReadPolicy as g, E2eeOptions as h, PayloadProtectionError as i, PayloadProtectionScope as j, PayloadProtectionOptions as k, CrdtApplyReturn as l, E2eeKeyProvider as m, isValidBucketId as n, RemoteCursorStore as nt, StreamsCrdt as o, E2eeKey as p, TransportSyncSuccess as q, isValidRillId as r, createInitialRemoteCursor as rt, CrdtAdapter as s, createStreamUrl as t, RemoteCursorSaveSource as tt, CrdtUnresolvedSpan as u, E2eeWritePolicy as v, JsonObject as w, EphemeralStreamJoinParams as x, EphemeralStreamAdaptor as y, StreamsCrdtOptions as z };
981
- //# sourceMappingURL=stream-id-JuJ1JqCX.d.ts.map
1008
+ export { IndexedDbRemoteCursorStore as $, PayloadProtectionReadPolicy as A, StreamsCrdtShardUrlsOptions as B, IsolatedCrdtAdapter as C, PayloadProtectionKey as D, PayloadProtectionEncryptionOptions as E, SnapshotTransformHook as F, TransportRoomStatus as G, TransportDeleteStreamSuccess as H, SnapshotUploadOptions as I, TransportSyncSuccess as J, TransportSnapshotUploadSuccess as K, StreamsAuthContext as L, PayloadProtectionWritePolicy as M, Result as N, PayloadProtectionKeyProvider as O, SnapshotCodec as P, InMemoryRemoteCursorStore as Q, StreamsAuthProvider as R, EphemeralStreamSubscription as S, JsonValue as T, TransportError as U, TransportCreateStreamSuccess as V, TransportJoinParams as W, BeforeRemoteCursorSaveContext as X, WriteOnlyAppendResult as Y, BeforeRemoteCursorSaveHook as Z, E2eeScope as _, EphemeralStreamCrdt as a, EphemeralStreamCrdtOptions as b, CrdtApplyOutcome as c, CrdtUpdateBatch as d, IndexedDbRemoteCursorStoreOptions as et, E2eeEncryptionOptions as f, E2eeReadPolicy as g, E2eeOptions as h, PayloadProtectionError as i, createInitialRemoteCursor as it, PayloadProtectionScope as j, PayloadProtectionOptions as k, CrdtApplyReturn as l, E2eeKeyProvider as m, isValidBucketId as n, RemoteCursorSaveSource as nt, StreamsCrdt as o, E2eeKey as p, TransportSubscription as q, isValidRillId as r, RemoteCursorStore as rt, CrdtAdapter as s, createStreamUrl as t, RemoteCursor as tt, CrdtUnresolvedSpan as u, E2eeWritePolicy as v, JsonObject as w, EphemeralStreamJoinParams as x, EphemeralStreamAdaptor as y, StreamsCrdtOptions as z };
1009
+ //# sourceMappingURL=stream-id-BP6BR7jn.d.ts.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@loro-dev/streams-crdt",
3
3
  "description": "Transport/runtime layer for synchronizing CRDT state over Durable Streams.",
4
- "version": "0.9.1",
4
+ "version": "0.10.0",
5
5
  "license": "MIT",
6
6
  "author": "Loro Team",
7
7
  "homepage": "https://streams.loro.dev",