@dxos/echo-pipeline 0.7.2 → 0.7.3-staging.0905f03

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 (41) hide show
  1. package/dist/lib/browser/{chunk-RRKGEIVZ.mjs → chunk-LZK5YFYE.mjs} +13 -13
  2. package/dist/lib/browser/{chunk-RRKGEIVZ.mjs.map → chunk-LZK5YFYE.mjs.map} +2 -2
  3. package/dist/lib/browser/index.mjs +56 -62
  4. package/dist/lib/browser/index.mjs.map +4 -4
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/testing/index.mjs +1 -1
  7. package/dist/lib/node/{chunk-6KAVD3GU.cjs → chunk-MACQJ2EP.cjs} +16 -16
  8. package/dist/lib/node/{chunk-6KAVD3GU.cjs.map → chunk-MACQJ2EP.cjs.map} +2 -2
  9. package/dist/lib/node/index.cjs +80 -88
  10. package/dist/lib/node/index.cjs.map +4 -4
  11. package/dist/lib/node/meta.json +1 -1
  12. package/dist/lib/node/testing/index.cjs +10 -10
  13. package/dist/lib/node-esm/{chunk-4QES5F4H.mjs → chunk-JIZPSASG.mjs} +13 -13
  14. package/dist/lib/node-esm/{chunk-4QES5F4H.mjs.map → chunk-JIZPSASG.mjs.map} +2 -2
  15. package/dist/lib/node-esm/index.mjs +56 -62
  16. package/dist/lib/node-esm/index.mjs.map +4 -4
  17. package/dist/lib/node-esm/meta.json +1 -1
  18. package/dist/lib/node-esm/testing/index.mjs +1 -1
  19. package/dist/types/src/automerge/automerge-host.d.ts +7 -1
  20. package/dist/types/src/automerge/automerge-host.d.ts.map +1 -1
  21. package/dist/types/src/db-host/echo-host.d.ts +3 -2
  22. package/dist/types/src/db-host/echo-host.d.ts.map +1 -1
  23. package/dist/types/src/db-host/index.d.ts +0 -1
  24. package/dist/types/src/db-host/index.d.ts.map +1 -1
  25. package/dist/types/src/edge/echo-edge-replicator.d.ts.map +1 -1
  26. package/dist/types/src/index.d.ts +1 -0
  27. package/dist/types/src/index.d.ts.map +1 -1
  28. package/dist/types/src/space/space.d.ts.map +1 -1
  29. package/dist/types/src/{db-host/migration.d.ts → util.d.ts} +1 -3
  30. package/dist/types/src/util.d.ts.map +1 -0
  31. package/package.json +35 -34
  32. package/src/automerge/automerge-host.ts +12 -3
  33. package/src/db-host/echo-host.ts +4 -1
  34. package/src/db-host/index.ts +0 -1
  35. package/src/edge/echo-edge-replicator.test.ts +74 -31
  36. package/src/edge/echo-edge-replicator.ts +17 -3
  37. package/src/index.ts +1 -0
  38. package/src/space/space.ts +1 -0
  39. package/src/util.ts +19 -0
  40. package/dist/types/src/db-host/migration.d.ts.map +0 -1
  41. package/src/db-host/migration.ts +0 -57
@@ -28,11 +28,11 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
  var node_exports = {};
30
30
  __export(node_exports, {
31
- AuthExtension: () => import_chunk_6KAVD3GU.AuthExtension,
32
- AuthStatus: () => import_chunk_6KAVD3GU.AuthStatus,
31
+ AuthExtension: () => import_chunk_MACQJ2EP.AuthExtension,
32
+ AuthStatus: () => import_chunk_MACQJ2EP.AuthStatus,
33
33
  AutomergeHost: () => AutomergeHost,
34
- CredentialRetrieverExtension: () => import_chunk_6KAVD3GU.CredentialRetrieverExtension,
35
- CredentialServerExtension: () => import_chunk_6KAVD3GU.CredentialServerExtension,
34
+ CredentialRetrieverExtension: () => import_chunk_MACQJ2EP.CredentialRetrieverExtension,
35
+ CredentialServerExtension: () => import_chunk_MACQJ2EP.CredentialServerExtension,
36
36
  DataServiceImpl: () => DataServiceImpl,
37
37
  DatabaseRoot: () => DatabaseRoot,
38
38
  DocumentsSynchronizer: () => DocumentsSynchronizer,
@@ -40,37 +40,35 @@ __export(node_exports, {
40
40
  EchoEdgeReplicator: () => EchoEdgeReplicator,
41
41
  EchoHost: () => EchoHost,
42
42
  LevelDBStorageAdapter: () => LevelDBStorageAdapter,
43
- MOCK_AUTH_PROVIDER: () => import_chunk_6KAVD3GU.MOCK_AUTH_PROVIDER,
44
- MOCK_AUTH_VERIFIER: () => import_chunk_6KAVD3GU.MOCK_AUTH_VERIFIER,
43
+ MOCK_AUTH_PROVIDER: () => import_chunk_MACQJ2EP.MOCK_AUTH_PROVIDER,
44
+ MOCK_AUTH_VERIFIER: () => import_chunk_MACQJ2EP.MOCK_AUTH_VERIFIER,
45
45
  MeshEchoReplicator: () => MeshEchoReplicator,
46
- MetadataStore: () => import_chunk_6KAVD3GU.MetadataStore,
47
- Pipeline: () => import_chunk_6KAVD3GU.Pipeline,
46
+ MetadataStore: () => import_chunk_MACQJ2EP.MetadataStore,
47
+ Pipeline: () => import_chunk_MACQJ2EP.Pipeline,
48
48
  QueryServiceImpl: () => QueryServiceImpl,
49
49
  QueryState: () => QueryState,
50
- Space: () => import_chunk_6KAVD3GU.Space,
51
- SpaceManager: () => import_chunk_6KAVD3GU.SpaceManager,
52
- SpaceProtocol: () => import_chunk_6KAVD3GU.SpaceProtocol,
53
- SpaceProtocolSession: () => import_chunk_6KAVD3GU.SpaceProtocolSession,
54
- TimeframeClock: () => import_chunk_6KAVD3GU.TimeframeClock,
55
- codec: () => import_chunk_6KAVD3GU.codec,
56
- convertLegacyReferences: () => convertLegacyReferences,
57
- convertLegacySpaceRootDoc: () => convertLegacySpaceRootDoc,
58
- createIdFromSpaceKey: () => import_chunk_6KAVD3GU.createIdFromSpaceKey,
59
- createMappedFeedWriter: () => import_chunk_6KAVD3GU.createMappedFeedWriter,
50
+ Space: () => import_chunk_MACQJ2EP.Space,
51
+ SpaceManager: () => import_chunk_MACQJ2EP.SpaceManager,
52
+ SpaceProtocol: () => import_chunk_MACQJ2EP.SpaceProtocol,
53
+ SpaceProtocolSession: () => import_chunk_MACQJ2EP.SpaceProtocolSession,
54
+ TimeframeClock: () => import_chunk_MACQJ2EP.TimeframeClock,
55
+ codec: () => import_chunk_MACQJ2EP.codec,
56
+ createIdFromSpaceKey: () => import_chunk_MACQJ2EP.createIdFromSpaceKey,
57
+ createMappedFeedWriter: () => import_chunk_MACQJ2EP.createMappedFeedWriter,
60
58
  deriveCollectionIdFromSpaceId: () => deriveCollectionIdFromSpaceId,
61
59
  diffCollectionState: () => diffCollectionState,
62
60
  encodingOptions: () => encodingOptions,
63
61
  findInlineObjectOfType: () => findInlineObjectOfType,
64
62
  getSpaceIdFromCollectionId: () => getSpaceIdFromCollectionId,
65
63
  getSpaceKeyFromDoc: () => getSpaceKeyFromDoc,
66
- hasInvitationExpired: () => import_chunk_6KAVD3GU.hasInvitationExpired,
67
- mapFeedIndexesToTimeframe: () => import_chunk_6KAVD3GU.mapFeedIndexesToTimeframe,
68
- mapTimeframeToFeedIndexes: () => import_chunk_6KAVD3GU.mapTimeframeToFeedIndexes,
69
- startAfter: () => import_chunk_6KAVD3GU.startAfter,
70
- valueEncoding: () => import_chunk_6KAVD3GU.valueEncoding
64
+ hasInvitationExpired: () => import_chunk_MACQJ2EP.hasInvitationExpired,
65
+ mapFeedIndexesToTimeframe: () => import_chunk_MACQJ2EP.mapFeedIndexesToTimeframe,
66
+ mapTimeframeToFeedIndexes: () => import_chunk_MACQJ2EP.mapTimeframeToFeedIndexes,
67
+ startAfter: () => import_chunk_MACQJ2EP.startAfter,
68
+ valueEncoding: () => import_chunk_MACQJ2EP.valueEncoding
71
69
  });
72
70
  module.exports = __toCommonJS(node_exports);
73
- var import_chunk_6KAVD3GU = require("./chunk-6KAVD3GU.cjs");
71
+ var import_chunk_MACQJ2EP = require("./chunk-MACQJ2EP.cjs");
74
72
  var import_async = require("@dxos/async");
75
73
  var import_stream = require("@dxos/codec-protobuf/stream");
76
74
  var import_invariant = require("@dxos/invariant");
@@ -153,10 +151,6 @@ var import_echo_protocol4 = require("@dxos/echo-protocol");
153
151
  var import_invariant11 = require("@dxos/invariant");
154
152
  var A4 = __toESM(require("@dxos/automerge/automerge"));
155
153
  var import_log10 = require("@dxos/log");
156
- var import_echo_protocol5 = require("@dxos/echo-protocol");
157
- var import_echo_protocol6 = require("@dxos/echo-protocol");
158
- var import_echo_schema = require("@dxos/echo-schema");
159
- var import_util6 = require("@dxos/util");
160
154
  var import_async8 = require("@dxos/async");
161
155
  var A5 = __toESM(require("@dxos/automerge/automerge"));
162
156
  var import_automerge_repo5 = require("@dxos/automerge/automerge-repo");
@@ -167,7 +161,8 @@ var import_log11 = require("@dxos/log");
167
161
  var import_protocols6 = require("@dxos/protocols");
168
162
  var import_buf = require("@dxos/protocols/buf");
169
163
  var import_messenger_pb = require("@dxos/protocols/buf/dxos/edge/messenger_pb");
170
- var import_util7 = require("@dxos/util");
164
+ var import_util6 = require("@dxos/util");
165
+ var import_echo_protocol5 = require("@dxos/echo-protocol");
171
166
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/db-host/documents-synchronizer.ts";
172
167
  var MAX_UPDATE_FREQ = 10;
173
168
  var DocumentsSynchronizer = class extends import_context.Resource {
@@ -603,7 +598,7 @@ var EchoNetworkAdapter = class extends import_automerge_repo2.NetworkAdapter {
603
598
  getContainingSpaceForDocument: this._params.getContainingSpaceForDocument,
604
599
  getContainingSpaceIdForDocument: async (documentId) => {
605
600
  const key = await this._params.getContainingSpaceForDocument(documentId);
606
- return key ? (0, import_chunk_6KAVD3GU.createIdFromSpaceKey)(key) : null;
601
+ return key ? (0, import_chunk_MACQJ2EP.createIdFromSpaceKey)(key) : null;
607
602
  }
608
603
  });
609
604
  }
@@ -979,7 +974,7 @@ function _ts_decorate2(decorators, target, key, desc) {
979
974
  }
980
975
  var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/automerge/automerge-host.ts";
981
976
  var AutomergeHost = class extends import_context2.Resource {
982
- constructor({ db, indexMetadataStore, dataMonitor }) {
977
+ constructor({ db, indexMetadataStore, dataMonitor, peerIdProvider }) {
983
978
  super();
984
979
  this._collectionSynchronizer = new CollectionSynchronizer({
985
980
  queryCollectionState: this._queryCollectionState.bind(this),
@@ -1007,9 +1002,10 @@ var AutomergeHost = class extends import_context2.Resource {
1007
1002
  db: db.sublevel("heads")
1008
1003
  });
1009
1004
  this._indexMetadataStore = indexMetadataStore;
1005
+ this._peerIdProvider = peerIdProvider;
1010
1006
  }
1011
1007
  async _open() {
1012
- this._peerId = `host-${import_keys2.PublicKey.random().toHex()}`;
1008
+ this._peerId = `host-${this._peerIdProvider?.() ?? import_keys2.PublicKey.random().toHex()}`;
1013
1009
  await this._storage.open?.();
1014
1010
  this._repo = new import_automerge_repo.Repo({
1015
1011
  peerId: this._peerId,
@@ -1109,7 +1105,7 @@ var AutomergeHost = class extends import_context2.Resource {
1109
1105
  await Promise.all(headsToWait.map(async (entry, index) => {
1110
1106
  const handle = await this.loadDoc(import_context2.Context.default(void 0, {
1111
1107
  F: __dxlog_file4,
1112
- L: 230
1108
+ L: 239
1113
1109
  }), entry.documentId);
1114
1110
  await waitForHeads(handle, entry.heads);
1115
1111
  }));
@@ -1122,7 +1118,7 @@ var AutomergeHost = class extends import_context2.Resource {
1122
1118
  documentId
1123
1119
  }, {
1124
1120
  F: __dxlog_file4,
1125
- L: 242,
1121
+ L: 251,
1126
1122
  S: this,
1127
1123
  C: (f, a) => f(...a)
1128
1124
  });
@@ -1138,7 +1134,7 @@ var AutomergeHost = class extends import_context2.Resource {
1138
1134
  documentId
1139
1135
  }, {
1140
1136
  F: __dxlog_file4,
1141
- L: 246,
1137
+ L: 255,
1142
1138
  S: this,
1143
1139
  C: (f, a) => f(...a)
1144
1140
  });
@@ -1147,7 +1143,7 @@ var AutomergeHost = class extends import_context2.Resource {
1147
1143
  const doc = handle.docSync();
1148
1144
  (0, import_invariant3.invariant)(doc, void 0, {
1149
1145
  F: __dxlog_file4,
1150
- L: 251,
1146
+ L: 260,
1151
1147
  S: this,
1152
1148
  A: [
1153
1149
  "doc",
@@ -1161,7 +1157,7 @@ var AutomergeHost = class extends import_context2.Resource {
1161
1157
  }
1162
1158
  import_log3.log.info("done re-indexing heads", void 0, {
1163
1159
  F: __dxlog_file4,
1164
- L: 258,
1160
+ L: 267,
1165
1161
  S: this,
1166
1162
  C: (f, a) => f(...a)
1167
1163
  });
@@ -1367,7 +1363,7 @@ var AutomergeHost = class extends import_context2.Resource {
1367
1363
  count: toReplicate.length
1368
1364
  }, {
1369
1365
  F: __dxlog_file4,
1370
- L: 486,
1366
+ L: 495,
1371
1367
  S: this,
1372
1368
  C: (f, a) => f(...a)
1373
1369
  });
@@ -1434,7 +1430,7 @@ var changeIsPresentInDoc = (doc, changeHash) => {
1434
1430
  var decodeCollectionState = (state) => {
1435
1431
  (0, import_invariant3.invariant)(typeof state === "object" && state !== null, "Invalid state", {
1436
1432
  F: __dxlog_file4,
1437
- L: 544,
1433
+ L: 553,
1438
1434
  S: void 0,
1439
1435
  A: [
1440
1436
  "typeof state === 'object' && state !== null",
@@ -1712,7 +1708,7 @@ var MeshEchoReplicator = class {
1712
1708
  });
1713
1709
  return remoteDocumentExists;
1714
1710
  }
1715
- const spaceId = await (0, import_chunk_6KAVD3GU.createIdFromSpaceKey)(spaceKey);
1711
+ const spaceId = await (0, import_chunk_MACQJ2EP.createIdFromSpaceKey)(spaceKey);
1716
1712
  const authorizedDevices = this._authorizedDevices.get(spaceId);
1717
1713
  if (!connection.remoteDeviceKey) {
1718
1714
  (0, import_log6.log)("device key not found for share policy check", {
@@ -1783,7 +1779,7 @@ var MeshEchoReplicator = class {
1783
1779
  S: this,
1784
1780
  C: (f, a) => f(...a)
1785
1781
  });
1786
- const spaceId = await (0, import_chunk_6KAVD3GU.createIdFromSpaceKey)(spaceKey);
1782
+ const spaceId = await (0, import_chunk_MACQJ2EP.createIdFromSpaceKey)(spaceKey);
1787
1783
  (0, import_util3.defaultMap)(this._authorizedDevices, spaceId, () => new import_util3.ComplexSet(import_keys3.PublicKey.hash)).add(deviceKey);
1788
1784
  for (const connection of this._connections) {
1789
1785
  if (connection.remoteDeviceKey && connection.remoteDeviceKey.equals(deviceKey)) {
@@ -2883,7 +2879,7 @@ var INDEXER_CONFIG = {
2883
2879
  ]
2884
2880
  };
2885
2881
  var EchoHost = class extends import_context7.Resource {
2886
- constructor({ kv }) {
2882
+ constructor({ kv, peerIdProvider }) {
2887
2883
  super();
2888
2884
  this._spaceStateManager = new SpaceStateManager();
2889
2885
  this._indexMetadataStore = new import_indexing2.IndexMetadataStore({
@@ -2893,7 +2889,8 @@ var EchoHost = class extends import_context7.Resource {
2893
2889
  this._automergeHost = new AutomergeHost({
2894
2890
  db: kv,
2895
2891
  dataMonitor: this._echoDataMonitor,
2896
- indexMetadataStore: this._indexMetadataStore
2892
+ indexMetadataStore: this._indexMetadataStore,
2893
+ peerIdProvider
2897
2894
  });
2898
2895
  this._indexer = new import_indexing2.Indexer({
2899
2896
  db: kv,
@@ -3013,7 +3010,7 @@ var EchoHost = class extends import_context7.Resource {
3013
3010
  async createSpaceRoot(spaceKey) {
3014
3011
  (0, import_invariant8.invariant)(this._lifecycleState === import_context7.LifecycleState.OPEN, void 0, {
3015
3012
  F: __dxlog_file15,
3016
- L: 206,
3013
+ L: 209,
3017
3014
  S: this,
3018
3015
  A: [
3019
3016
  "this._lifecycleState === LifecycleState.OPEN",
@@ -3041,7 +3038,7 @@ var EchoHost = class extends import_context7.Resource {
3041
3038
  async openSpaceRoot(spaceId, automergeUrl) {
3042
3039
  (0, import_invariant8.invariant)(this._lifecycleState === import_context7.LifecycleState.OPEN, void 0, {
3043
3040
  F: __dxlog_file15,
3044
- L: 225,
3041
+ L: 228,
3045
3042
  S: this,
3046
3043
  A: [
3047
3044
  "this._lifecycleState === LifecycleState.OPEN",
@@ -3072,37 +3069,6 @@ var EchoHost = class extends import_context7.Resource {
3072
3069
  return this._automergeHost.getCollectionSyncState(collectionId);
3073
3070
  }
3074
3071
  };
3075
- var convertLegacyReferences = async (doc) => {
3076
- const newDoc = await (0, import_util6.deepMapValuesAsync)(doc, async (value, recurse) => {
3077
- if ((0, import_echo_protocol6.isLegacyReference)(value)) {
3078
- return (0, import_echo_protocol5.convertLegacyReference)(value);
3079
- }
3080
- return recurse(value);
3081
- });
3082
- newDoc.version = import_echo_protocol6.SpaceDocVersion.CURRENT;
3083
- return newDoc;
3084
- };
3085
- var convertLegacySpaceRootDoc = async (root) => {
3086
- const newDoc = await convertLegacyReferences(root);
3087
- const properties = findInlineObjectOfType(newDoc, import_echo_protocol6.LEGACY_TYPE_PROPERTIES);
3088
- if (properties) {
3089
- const [_, obj] = properties;
3090
- obj.system.type = (0, import_echo_protocol6.encodeReference)(import_echo_protocol6.Reference.fromLegacyTypename(import_echo_schema.TYPE_PROPERTIES));
3091
- }
3092
- return newDoc;
3093
- };
3094
- var findInlineObjectOfType = (spaceDoc, typename) => {
3095
- for (const id in spaceDoc.objects ?? {}) {
3096
- const obj = spaceDoc.objects[id];
3097
- if (obj.system.type && (0, import_echo_protocol6.decodeReference)(obj.system.type).objectId === typename) {
3098
- return [
3099
- id,
3100
- obj
3101
- ];
3102
- }
3103
- }
3104
- return void 0;
3105
- };
3106
3072
  function _using_ctx() {
3107
3073
  var _disposeSuppressedError = typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed) {
3108
3074
  var err = new Error();
@@ -3240,6 +3206,9 @@ var EchoEdgeReplicator = class {
3240
3206
  try {
3241
3207
  var _usingCtx = _using_ctx();
3242
3208
  const _guard = _usingCtx.u(await this._mutex.acquire());
3209
+ if (this._connectedSpaces.has(spaceId)) {
3210
+ return;
3211
+ }
3243
3212
  this._connectedSpaces.add(spaceId);
3244
3213
  if (this._context !== null) {
3245
3214
  await this._openConnection(spaceId);
@@ -3269,7 +3238,7 @@ var EchoEdgeReplicator = class {
3269
3238
  async _openConnection(spaceId, reconnects = 0) {
3270
3239
  (0, import_invariant12.invariant)(this._context, void 0, {
3271
3240
  F: __dxlog_file16,
3272
- L: 121,
3241
+ L: 124,
3273
3242
  S: this,
3274
3243
  A: [
3275
3244
  "this._context",
@@ -3278,7 +3247,7 @@ var EchoEdgeReplicator = class {
3278
3247
  });
3279
3248
  (0, import_invariant12.invariant)(!this._connections.has(spaceId), void 0, {
3280
3249
  F: __dxlog_file16,
3281
- L: 122,
3250
+ L: 125,
3282
3251
  S: this,
3283
3252
  A: [
3284
3253
  "!this._connections.has(spaceId)",
@@ -3308,7 +3277,7 @@ var EchoEdgeReplicator = class {
3308
3277
  restartDelay
3309
3278
  }, {
3310
3279
  F: __dxlog_file16,
3311
- L: 145,
3280
+ L: 148,
3312
3281
  S: this,
3313
3282
  C: (f, a) => f(...a)
3314
3283
  });
@@ -3366,7 +3335,7 @@ var EdgeReplicatorConnection = class extends import_context12.Resource {
3366
3335
  async _open(ctx) {
3367
3336
  (0, import_log11.log)("open", void 0, {
3368
3337
  F: __dxlog_file16,
3369
- L: 239,
3338
+ L: 242,
3370
3339
  S: this,
3371
3340
  C: (f, a) => f(...a)
3372
3341
  });
@@ -3378,7 +3347,7 @@ var EdgeReplicatorConnection = class extends import_context12.Resource {
3378
3347
  async _close() {
3379
3348
  (0, import_log11.log)("close", void 0, {
3380
3349
  F: __dxlog_file16,
3381
- L: 251,
3350
+ L: 254,
3382
3351
  S: this,
3383
3352
  C: (f, a) => f(...a)
3384
3353
  });
@@ -3388,7 +3357,7 @@ var EdgeReplicatorConnection = class extends import_context12.Resource {
3388
3357
  get peerId() {
3389
3358
  (0, import_invariant12.invariant)(this._remotePeerId, "Not connected", {
3390
3359
  F: __dxlog_file16,
3391
- L: 257,
3360
+ L: 260,
3392
3361
  S: this,
3393
3362
  A: [
3394
3363
  "this._remotePeerId",
@@ -3403,7 +3372,20 @@ var EdgeReplicatorConnection = class extends import_context12.Resource {
3403
3372
  }
3404
3373
  const spaceId = await this._context.getContainingSpaceIdForDocument(params.documentId);
3405
3374
  if (!spaceId) {
3406
- return true;
3375
+ const remoteDocumentExists = await this._context.isDocumentInRemoteCollection({
3376
+ documentId: params.documentId,
3377
+ peerId: this._remotePeerId
3378
+ });
3379
+ import_log11.log.info("document not found locally for share policy check, accepting the remote document", {
3380
+ documentId: params.documentId,
3381
+ remoteDocumentExists
3382
+ }, {
3383
+ F: __dxlog_file16,
3384
+ L: 275,
3385
+ S: this,
3386
+ C: (f, a) => f(...a)
3387
+ });
3388
+ return remoteDocumentExists;
3407
3389
  }
3408
3390
  return spaceId === this._spaceId;
3409
3391
  }
@@ -3428,7 +3410,7 @@ var EdgeReplicatorConnection = class extends import_context12.Resource {
3428
3410
  };
3429
3411
  }, {
3430
3412
  F: __dxlog_file16,
3431
- L: 288,
3413
+ L: 302,
3432
3414
  S: this,
3433
3415
  C: (f, a) => f(...a)
3434
3416
  });
@@ -3451,7 +3433,7 @@ var EdgeReplicatorConnection = class extends import_context12.Resource {
3451
3433
  documentId: message.documentId
3452
3434
  }, {
3453
3435
  F: __dxlog_file16,
3454
- L: 318,
3436
+ L: 332,
3455
3437
  S: this,
3456
3438
  C: (f, a) => f(...a)
3457
3439
  });
@@ -3463,12 +3445,24 @@ var EdgeReplicatorConnection = class extends import_context12.Resource {
3463
3445
  peerKey: this._edgeConnection.peerKey
3464
3446
  },
3465
3447
  payload: {
3466
- value: (0, import_util7.bufferToArray)(encoded)
3448
+ value: (0, import_util6.bufferToArray)(encoded)
3467
3449
  }
3468
3450
  }));
3469
3451
  }
3470
3452
  };
3471
3453
  var isForbiddenErrorMessage = (message) => message.type === "error" && message.message === "Forbidden";
3454
+ var findInlineObjectOfType = (spaceDoc, typename) => {
3455
+ for (const id in spaceDoc.objects ?? {}) {
3456
+ const obj = spaceDoc.objects[id];
3457
+ if (obj.system.type && (0, import_echo_protocol5.decodeReference)(obj.system.type).objectId === typename) {
3458
+ return [
3459
+ id,
3460
+ obj
3461
+ ];
3462
+ }
3463
+ }
3464
+ return void 0;
3465
+ };
3472
3466
  // Annotate the CommonJS export names for ESM import in node:
3473
3467
  0 && (module.exports = {
3474
3468
  AuthExtension,
@@ -3496,8 +3490,6 @@ var isForbiddenErrorMessage = (message) => message.type === "error" && message.m
3496
3490
  SpaceProtocolSession,
3497
3491
  TimeframeClock,
3498
3492
  codec,
3499
- convertLegacyReferences,
3500
- convertLegacySpaceRootDoc,
3501
3493
  createIdFromSpaceKey,
3502
3494
  createMappedFeedWriter,
3503
3495
  deriveCollectionIdFromSpaceId,