@liveblocks/core 1.1.0-yjs5 → 1.1.1-internal1

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.ts CHANGED
@@ -669,31 +669,6 @@ declare type Delegates<T extends BaseAuthResult> = {
669
669
  createSocket: (token: T) => IWebSocketInstance;
670
670
  };
671
671
 
672
- declare type AppOnlyAuthToken = {
673
- appId: string;
674
- roomId?: never;
675
- scopes: string[];
676
- };
677
- declare type RoomAuthToken = {
678
- appId: string;
679
- roomId: string;
680
- scopes: string[];
681
- actor: number;
682
- maxConnectionsPerRoom?: number;
683
- info?: Json;
684
- groupIds?: string[];
685
- } & ({
686
- id: string;
687
- anonymousId?: never;
688
- } | {
689
- id?: never;
690
- anonymousId: string;
691
- });
692
- declare type AuthToken = AppOnlyAuthToken | RoomAuthToken;
693
- declare function isAppOnlyAuthToken(data: JsonObject): data is AppOnlyAuthToken;
694
- declare function isRoomAuthToken(data: JsonObject): data is RoomAuthToken;
695
- declare function isAuthToken(data: JsonObject): data is AuthToken;
696
-
697
672
  declare type ReadonlyArrayWithLegacyMethods<T> = readonly T[] & {
698
673
  /**
699
674
  * @deprecated Prefer the normal .length property on arrays.
@@ -1077,17 +1052,6 @@ declare type Room<TPresence extends JsonObject, TStorage extends LsonObject, TUs
1077
1052
  */
1078
1053
  addToHistory: boolean;
1079
1054
  }): void;
1080
- /**
1081
- *
1082
- * Sends YJS document updates to liveblocks server
1083
- *
1084
- * @param {string} data the doc update to send to the server, base64 encoded uint8array
1085
- */
1086
- updateYDoc(data: string): void;
1087
- /**
1088
- * Sends a request for the current document from liveblocks server
1089
- */
1090
- getYDoc(stateVector: string): void;
1091
1055
  /**
1092
1056
  * Broadcasts an event to other users in the room. Event broadcasted to the room can be listened with {@link Room.subscribe}("event").
1093
1057
  * @param {any} event the event to broadcast. Should be serializable to JSON
@@ -1145,7 +1109,6 @@ declare type Room<TPresence extends JsonObject, TStorage extends LsonObject, TUs
1145
1109
  */
1146
1110
  readonly storageDidLoad: Observable<void>;
1147
1111
  readonly storageStatus: Observable<StorageStatus>;
1148
- readonly docUpdated: Observable<string>;
1149
1112
  };
1150
1113
  /**
1151
1114
  * Batches modifications made during the given function.
@@ -1469,7 +1432,7 @@ declare enum ClientMsgCode {
1469
1432
  BROADCAST_EVENT = 103,
1470
1433
  FETCH_STORAGE = 200,
1471
1434
  UPDATE_STORAGE = 201,
1472
- FETCH_YDOC_UPDATE = 300,
1435
+ FETCH_YDOC = 300,
1473
1436
  UPDATE_YDOC = 301
1474
1437
  }
1475
1438
  /**
@@ -1514,7 +1477,7 @@ declare type FetchStorageClientMsg = {
1514
1477
  readonly type: ClientMsgCode.FETCH_STORAGE;
1515
1478
  };
1516
1479
  declare type FetchYDocClientMsg = {
1517
- readonly type: ClientMsgCode.FETCH_YDOC_UPDATE;
1480
+ readonly type: ClientMsgCode.FETCH_YDOC;
1518
1481
  readonly vector: string;
1519
1482
  };
1520
1483
  declare type UpdateYDocClientMsg = {
@@ -1571,7 +1534,7 @@ declare enum ServerMsgCode {
1571
1534
  INITIAL_STORAGE_STATE = 200,
1572
1535
  UPDATE_STORAGE = 201,
1573
1536
  REJECT_STORAGE_OP = 299,
1574
- YDOC_UPDATE = 300
1537
+ UPDATE_YDOC = 300
1575
1538
  }
1576
1539
  /**
1577
1540
  * Messages that can be sent from the server to the client.
@@ -1659,8 +1622,12 @@ declare type UserLeftServerMsg = {
1659
1622
  readonly type: ServerMsgCode.USER_LEFT;
1660
1623
  readonly actor: number;
1661
1624
  };
1625
+ /**
1626
+ * Sent by the WebSocket server when the ydoc is updated or when requested based on stateVector passed.
1627
+ * Contains a base64 encoded update
1628
+ */
1662
1629
  declare type YDocUpdate = {
1663
- readonly type: ServerMsgCode.YDOC_UPDATE;
1630
+ readonly type: ServerMsgCode.UPDATE_YDOC;
1664
1631
  readonly update: string;
1665
1632
  };
1666
1633
  /**
@@ -1911,4 +1878,4 @@ declare type EnsureJson<T> = [
1911
1878
  [K in keyof T]: EnsureJson<T[K]>;
1912
1879
  };
1913
1880
 
1914
- export { AckOp, AppOnlyAuthToken, AuthToken, BaseAuthResult, BaseUserMeta, BroadcastEventClientMsg, BroadcastOptions, BroadcastedEventServerMsg, Client, ClientMsg, ClientMsgCode, CrdtType, CreateChildOp, CreateListOp, CreateMapOp, CreateObjectOp, CreateOp, CreateRegisterOp, CreateRootObjectOp, Delegates, DeleteCrdtOp, DeleteObjectKeyOp, DevToolsTreeNode as DevTools, protocol as DevToolsMsg, EnsureJson, FetchStorageClientMsg, FetchYDocClientMsg, History, IWebSocket, IWebSocketCloseEvent, IWebSocketEvent, IWebSocketInstance, IWebSocketMessageEvent, IdTuple, Immutable, InitialDocumentStateServerMsg, Json, JsonArray, JsonObject, JsonScalar, LegacyConnectionStatus, LiveList, LiveListUpdate, LiveMap, LiveMapUpdate, LiveNode, LiveObject, LiveObjectUpdate, LiveStructure, LostConnectionEvent, Lson, LsonObject, NodeMap, Op, OpCode, Others, ParentToChildNodeMap, PlainLson, PlainLsonFields, PlainLsonList, PlainLsonMap, PlainLsonObject, RejectedStorageOpServerMsg, Resolve, Room, RoomAuthToken, RoomInitializers, RoomStateServerMsg, SerializedChild, SerializedCrdt, SerializedList, SerializedMap, SerializedObject, SerializedRegister, SerializedRootObject, ServerMsg, ServerMsgCode, SetParentKeyOp, Status, StorageStatus, StorageUpdate, ToImmutable, ToJson, UpdateObjectOp, UpdatePresenceClientMsg, UpdatePresenceServerMsg, UpdateStorageClientMsg, UpdateStorageServerMsg, UpdateYDocClientMsg, User, UserJoinServerMsg, UserLeftServerMsg, WebsocketCloseCodes, asArrayWithLegacyMethods, asPos, assert, assertNever, b64decode, createClient, deprecate, deprecateIf, errorIf, freeze, isAppOnlyAuthToken, isAuthToken, isChildCrdt, isJsonArray, isJsonObject, isJsonScalar, isPlainObject, isRoomAuthToken, isRootCrdt, legacy_patchImmutableObject, lsonToJson, makePosition, nn, patchLiveObjectKey, shallow, throwUsageError, toPlainLson, tryParseJson, withTimeout };
1881
+ export { AckOp, BaseAuthResult, BaseUserMeta, BroadcastEventClientMsg, BroadcastOptions, BroadcastedEventServerMsg, Client, ClientMsg, ClientMsgCode, CrdtType, CreateChildOp, CreateListOp, CreateMapOp, CreateObjectOp, CreateOp, CreateRegisterOp, CreateRootObjectOp, Delegates, DeleteCrdtOp, DeleteObjectKeyOp, DevToolsTreeNode as DevTools, protocol as DevToolsMsg, EnsureJson, FetchStorageClientMsg, FetchYDocClientMsg, History, IWebSocket, IWebSocketCloseEvent, IWebSocketEvent, IWebSocketInstance, IWebSocketMessageEvent, IdTuple, Immutable, InitialDocumentStateServerMsg, Json, JsonArray, JsonObject, JsonScalar, LegacyConnectionStatus, LiveList, LiveListUpdate, LiveMap, LiveMapUpdate, LiveNode, LiveObject, LiveObjectUpdate, LiveStructure, LostConnectionEvent, Lson, LsonObject, NodeMap, Op, OpCode, Others, ParentToChildNodeMap, PlainLson, PlainLsonFields, PlainLsonList, PlainLsonMap, PlainLsonObject, RejectedStorageOpServerMsg, Resolve, Room, RoomInitializers, RoomStateServerMsg, SerializedChild, SerializedCrdt, SerializedList, SerializedMap, SerializedObject, SerializedRegister, SerializedRootObject, ServerMsg, ServerMsgCode, SetParentKeyOp, Status, StorageStatus, StorageUpdate, ToImmutable, ToJson, UpdateObjectOp, UpdatePresenceClientMsg, UpdatePresenceServerMsg, UpdateStorageClientMsg, UpdateStorageServerMsg, UpdateYDocClientMsg, User, UserJoinServerMsg, UserLeftServerMsg, WebsocketCloseCodes, asArrayWithLegacyMethods, asPos, assert, assertNever, b64decode, createClient, deprecate, deprecateIf, errorIf, freeze, isChildCrdt, isJsonArray, isJsonObject, isJsonScalar, isPlainObject, isRootCrdt, legacy_patchImmutableObject, lsonToJson, makePosition, nn, patchLiveObjectKey, shallow, throwUsageError, toPlainLson, tryParseJson, withTimeout };
package/dist/index.js CHANGED
@@ -17,18 +17,6 @@ var __spreadValues = (a, b) => {
17
17
  return a;
18
18
  };
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- var __objRest = (source, exclude) => {
21
- var target = {};
22
- for (var prop in source)
23
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
24
- target[prop] = source[prop];
25
- if (source != null && __getOwnPropSymbols)
26
- for (var prop of __getOwnPropSymbols(source)) {
27
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
28
- target[prop] = source[prop];
29
- }
30
- return target;
31
- };
32
20
  var __async = (__this, __arguments, generator) => {
33
21
  return new Promise((resolve, reject) => {
34
22
  var fulfilled = (value) => {
@@ -157,7 +145,7 @@ var onMessageFromPanel = eventSource.observable;
157
145
  // src/devtools/index.ts
158
146
  var VERSION = true ? (
159
147
  /* istanbul ignore next */
160
- "1.1.0-yjs5"
148
+ "1.1.1-internal1"
161
149
  ) : "dev";
162
150
  var _devtoolsSetupHasRun = false;
163
151
  function setupDevTools(getAllRooms) {
@@ -3924,13 +3912,6 @@ function isJsonObject(data) {
3924
3912
  }
3925
3913
 
3926
3914
  // src/protocol/AuthToken.ts
3927
- function hasJwtMeta(data) {
3928
- if (!isPlainObject(data)) {
3929
- return false;
3930
- }
3931
- const { iat, exp } = data;
3932
- return typeof iat === "number" && typeof exp === "number";
3933
- }
3934
3915
  function isTokenExpired(token) {
3935
3916
  const now = Date.now() / 1e3;
3936
3917
  const valid = now <= token.exp - 300 && now >= token.iat - 300;
@@ -3939,44 +3920,23 @@ function isTokenExpired(token) {
3939
3920
  function isStringList(value) {
3940
3921
  return Array.isArray(value) && value.every((i) => typeof i === "string");
3941
3922
  }
3942
- function isAppOnlyAuthToken(data) {
3943
- return typeof data.appId === "string" && data.roomId === void 0 && isStringList(data.scopes);
3923
+ function isMinimalTokenPayload(data) {
3924
+ return isPlainObject(data) && typeof data.iat === "number" && typeof data.exp === "number" && typeof data.actor === "number" && (data.id === void 0 || typeof data.id === "string") && isStringList(data.scopes);
3944
3925
  }
3945
- function isRoomAuthToken(data) {
3946
- return typeof data.appId === "string" && typeof data.roomId === "string" && typeof data.actor === "number" && (data.id === void 0 || typeof data.id === "string") && isStringList(data.scopes) && (data.maxConnectionsPerRoom === void 0 || typeof data.maxConnectionsPerRoom === "number");
3947
- }
3948
- function isAuthToken(data) {
3949
- return isAppOnlyAuthToken(data) || isRoomAuthToken(data);
3950
- }
3951
- function parseJwtToken(token) {
3952
- const tokenParts = token.split(".");
3926
+ function parseAuthToken(rawTokenString) {
3927
+ const tokenParts = rawTokenString.split(".");
3953
3928
  if (tokenParts.length !== 3) {
3954
3929
  throw new Error("Authentication error: invalid JWT token");
3955
3930
  }
3956
- const data = tryParseJson(b64decode(tokenParts[1]));
3957
- if (data && hasJwtMeta(data)) {
3958
- return data;
3959
- } else {
3960
- throw new Error("Authentication error: missing JWT metadata");
3961
- }
3962
- }
3963
- function parseRoomAuthToken(tokenString) {
3964
- const data = parseJwtToken(tokenString);
3965
- if (!(data && isRoomAuthToken(data))) {
3931
+ const payload = tryParseJson(b64decode(tokenParts[1]));
3932
+ if (!(payload && isMinimalTokenPayload(payload))) {
3966
3933
  throw new Error(
3967
3934
  "Authentication error: we expected a room token but did not get one. Hint: if you are using a callback, ensure the room is passed when creating the token. For more information: https://liveblocks.io/docs/api-reference/liveblocks-client#createClientCallback"
3968
3935
  );
3969
3936
  }
3970
- const _a = data, {
3971
- maxConnections: _legacyField
3972
- } = _a, parsedToken = __objRest(_a, [
3973
- // If this legacy field is found on the token, pretend it wasn't there,
3974
- // to make all internally used token payloads uniform
3975
- "maxConnections"
3976
- ]);
3977
3937
  return {
3978
- raw: tokenString,
3979
- parsed: parsedToken
3938
+ raw: rawTokenString,
3939
+ parsed: payload
3980
3940
  };
3981
3941
  }
3982
3942
 
@@ -3986,7 +3946,7 @@ var ClientMsgCode = /* @__PURE__ */ ((ClientMsgCode2) => {
3986
3946
  ClientMsgCode2[ClientMsgCode2["BROADCAST_EVENT"] = 103] = "BROADCAST_EVENT";
3987
3947
  ClientMsgCode2[ClientMsgCode2["FETCH_STORAGE"] = 200] = "FETCH_STORAGE";
3988
3948
  ClientMsgCode2[ClientMsgCode2["UPDATE_STORAGE"] = 201] = "UPDATE_STORAGE";
3989
- ClientMsgCode2[ClientMsgCode2["FETCH_YDOC_UPDATE"] = 300] = "FETCH_YDOC_UPDATE";
3949
+ ClientMsgCode2[ClientMsgCode2["FETCH_YDOC"] = 300] = "FETCH_YDOC";
3990
3950
  ClientMsgCode2[ClientMsgCode2["UPDATE_YDOC"] = 301] = "UPDATE_YDOC";
3991
3951
  return ClientMsgCode2;
3992
3952
  })(ClientMsgCode || {});
@@ -4001,7 +3961,7 @@ var ServerMsgCode = /* @__PURE__ */ ((ServerMsgCode2) => {
4001
3961
  ServerMsgCode2[ServerMsgCode2["INITIAL_STORAGE_STATE"] = 200] = "INITIAL_STORAGE_STATE";
4002
3962
  ServerMsgCode2[ServerMsgCode2["UPDATE_STORAGE"] = 201] = "UPDATE_STORAGE";
4003
3963
  ServerMsgCode2[ServerMsgCode2["REJECT_STORAGE_OP"] = 299] = "REJECT_STORAGE_OP";
4004
- ServerMsgCode2[ServerMsgCode2["YDOC_UPDATE"] = 300] = "YDOC_UPDATE";
3964
+ ServerMsgCode2[ServerMsgCode2["UPDATE_YDOC"] = 300] = "UPDATE_YDOC";
4005
3965
  return ServerMsgCode2;
4006
3966
  })(ServerMsgCode || {});
4007
3967
 
@@ -4434,8 +4394,7 @@ function createRoom(options, config) {
4434
4394
  storage: makeEventSource(),
4435
4395
  history: makeEventSource(),
4436
4396
  storageDidLoad: makeEventSource(),
4437
- storageStatus: makeEventSource(),
4438
- docUpdated: makeEventSource()
4397
+ storageStatus: makeEventSource()
4439
4398
  };
4440
4399
  function sendMessages(messageOrMessages) {
4441
4400
  var _a2, _b2;
@@ -4856,10 +4815,6 @@ function createRoom(options, config) {
4856
4815
  }
4857
4816
  break;
4858
4817
  }
4859
- case 300 /* YDOC_UPDATE */: {
4860
- eventHub.docUpdated.notify(message.update);
4861
- break;
4862
- }
4863
4818
  case 104 /* ROOM_STATE */: {
4864
4819
  updates.others.push(onRoomStateMessage(message));
4865
4820
  break;
@@ -4978,13 +4933,6 @@ ${Array.from(traces).join("\n\n")}`
4978
4933
  }
4979
4934
  return messages;
4980
4935
  }
4981
- function updateYDoc(update) {
4982
- context.buffer.messages.push({
4983
- type: 301 /* UPDATE_YDOC */,
4984
- update
4985
- });
4986
- flushNowOrSoon();
4987
- }
4988
4936
  function broadcastEvent(event, options2 = {
4989
4937
  shouldQueueEventIfNotReady: false
4990
4938
  }) {
@@ -5044,13 +4992,6 @@ ${Array.from(traces).join("\n\n")}`
5044
4992
  };
5045
4993
  });
5046
4994
  }
5047
- function getYDoc(vector) {
5048
- context.buffer.messages.push({
5049
- type: 300 /* FETCH_YDOC_UPDATE */,
5050
- vector
5051
- });
5052
- flushNowOrSoon();
5053
- }
5054
4995
  function undo() {
5055
4996
  if (context.activeBatch) {
5056
4997
  throw new Error("undo is not allowed during a batch");
@@ -5172,8 +5113,7 @@ ${Array.from(traces).join("\n\n")}`
5172
5113
  storage: eventHub.storage.observable,
5173
5114
  history: eventHub.history.observable,
5174
5115
  storageDidLoad: eventHub.storageDidLoad.observable,
5175
- storageStatus: eventHub.storageStatus.observable,
5176
- docUpdated: eventHub.docUpdated.observable
5116
+ storageStatus: eventHub.storageStatus.observable
5177
5117
  };
5178
5118
  return {
5179
5119
  /* NOTE: Exposing __internal here only to allow testing implementation details in unit tests */
@@ -5208,7 +5148,6 @@ ${Array.from(traces).join("\n\n")}`
5208
5148
  destroy: () => managedSocket.destroy(),
5209
5149
  // Presence
5210
5150
  updatePresence,
5211
- updateYDoc,
5212
5151
  broadcastEvent,
5213
5152
  // Storage
5214
5153
  batch,
@@ -5220,7 +5159,6 @@ ${Array.from(traces).join("\n\n")}`
5220
5159
  pause: pauseHistory,
5221
5160
  resume: resumeHistory
5222
5161
  },
5223
- getYDoc,
5224
5162
  getStorage,
5225
5163
  getStorageSnapshot,
5226
5164
  getStorageStatus,
@@ -5336,7 +5274,7 @@ function makeCreateSocketDelegateForRoom(liveblocksServer, WebSocketPolyfill) {
5336
5274
  // @ts-ignore (__PACKAGE_VERSION__ will be injected by the build script)
5337
5275
  true ? (
5338
5276
  /* istanbul ignore next */
5339
- "1.1.0-yjs5"
5277
+ "1.1.1-internal1"
5340
5278
  ) : "dev"}`
5341
5279
  );
5342
5280
  };
@@ -5367,7 +5305,7 @@ function makeAuthDelegateForRoom(roomId, authentication, fetchPolyfill) {
5367
5305
  return fetchAuthEndpoint(fetcher, authentication.url, {
5368
5306
  room: roomId,
5369
5307
  publicApiKey: authentication.publicApiKey
5370
- }).then(({ token }) => parseRoomAuthToken(token));
5308
+ }).then(({ token }) => parseAuthToken(token));
5371
5309
  });
5372
5310
  } else if (authentication.type === "private") {
5373
5311
  return () => __async(this, null, function* () {
@@ -5378,7 +5316,7 @@ function makeAuthDelegateForRoom(roomId, authentication, fetchPolyfill) {
5378
5316
  }
5379
5317
  return fetchAuthEndpoint(fetcher, authentication.url, {
5380
5318
  room: roomId
5381
- }).then(({ token }) => parseRoomAuthToken(token));
5319
+ }).then(({ token }) => parseAuthToken(token));
5382
5320
  });
5383
5321
  } else if (authentication.type === "custom") {
5384
5322
  return () => __async(this, null, function* () {
@@ -5388,7 +5326,7 @@ function makeAuthDelegateForRoom(roomId, authentication, fetchPolyfill) {
5388
5326
  'We expect the authentication callback to return a token, but it does not. Hint: the return value should look like: { token: "..." }'
5389
5327
  );
5390
5328
  }
5391
- return parseRoomAuthToken(response.token);
5329
+ return parseAuthToken(response.token);
5392
5330
  });
5393
5331
  } else {
5394
5332
  throw new Error("Internal error. Unexpected authentication type");
@@ -5989,7 +5927,4 @@ var WebsocketCloseCodes = /* @__PURE__ */ ((WebsocketCloseCodes2) => {
5989
5927
 
5990
5928
 
5991
5929
 
5992
-
5993
-
5994
-
5995
- exports.ClientMsgCode = ClientMsgCode; exports.CrdtType = CrdtType; exports.LiveList = LiveList; exports.LiveMap = LiveMap; exports.LiveObject = LiveObject; exports.OpCode = OpCode; exports.ServerMsgCode = ServerMsgCode; exports.WebsocketCloseCodes = WebsocketCloseCodes; exports.asArrayWithLegacyMethods = asArrayWithLegacyMethods; exports.asPos = asPos; exports.assert = assert; exports.assertNever = assertNever; exports.b64decode = b64decode; exports.createClient = createClient; exports.deprecate = deprecate; exports.deprecateIf = deprecateIf; exports.errorIf = errorIf; exports.freeze = freeze; exports.isAppOnlyAuthToken = isAppOnlyAuthToken; exports.isAuthToken = isAuthToken; exports.isChildCrdt = isChildCrdt; exports.isJsonArray = isJsonArray; exports.isJsonObject = isJsonObject; exports.isJsonScalar = isJsonScalar; exports.isPlainObject = isPlainObject; exports.isRoomAuthToken = isRoomAuthToken; exports.isRootCrdt = isRootCrdt; exports.legacy_patchImmutableObject = legacy_patchImmutableObject; exports.lsonToJson = lsonToJson; exports.makePosition = makePosition; exports.nn = nn; exports.patchLiveObjectKey = patchLiveObjectKey; exports.shallow = shallow; exports.throwUsageError = throwUsageError; exports.tryParseJson = tryParseJson; exports.withTimeout = withTimeout;
5930
+ exports.ClientMsgCode = ClientMsgCode; exports.CrdtType = CrdtType; exports.LiveList = LiveList; exports.LiveMap = LiveMap; exports.LiveObject = LiveObject; exports.OpCode = OpCode; exports.ServerMsgCode = ServerMsgCode; exports.WebsocketCloseCodes = WebsocketCloseCodes; exports.asArrayWithLegacyMethods = asArrayWithLegacyMethods; exports.asPos = asPos; exports.assert = assert; exports.assertNever = assertNever; exports.b64decode = b64decode; exports.createClient = createClient; exports.deprecate = deprecate; exports.deprecateIf = deprecateIf; exports.errorIf = errorIf; exports.freeze = freeze; exports.isChildCrdt = isChildCrdt; exports.isJsonArray = isJsonArray; exports.isJsonObject = isJsonObject; exports.isJsonScalar = isJsonScalar; exports.isPlainObject = isPlainObject; exports.isRootCrdt = isRootCrdt; exports.legacy_patchImmutableObject = legacy_patchImmutableObject; exports.lsonToJson = lsonToJson; exports.makePosition = makePosition; exports.nn = nn; exports.patchLiveObjectKey = patchLiveObjectKey; exports.shallow = shallow; exports.throwUsageError = throwUsageError; exports.tryParseJson = tryParseJson; exports.withTimeout = withTimeout;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@liveblocks/core",
3
- "version": "1.1.0-yjs5",
3
+ "version": "1.1.1-internal1",
4
4
  "description": "Shared code and foundational internals for Liveblocks",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",