@dxos/echo-pipeline 0.4.8-main.27faba7 → 0.4.8-main.512e4c8

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.
@@ -26,8 +26,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_UKREXVZX_exports = {};
30
- __export(chunk_UKREXVZX_exports, {
29
+ var chunk_LD4R726W_exports = {};
30
+ __export(chunk_LD4R726W_exports, {
31
31
  AuthExtension: () => AuthExtension,
32
32
  AuthStatus: () => AuthStatus,
33
33
  AutomergeHost: () => AutomergeHost,
@@ -52,12 +52,13 @@ __export(chunk_UKREXVZX_exports, {
52
52
  TimeframeClock: () => TimeframeClock,
53
53
  codec: () => codec,
54
54
  createMappedFeedWriter: () => createMappedFeedWriter,
55
+ getSpaceKeyFromDoc: () => getSpaceKeyFromDoc,
55
56
  mapFeedIndexesToTimeframe: () => mapFeedIndexesToTimeframe,
56
57
  mapTimeframeToFeedIndexes: () => mapTimeframeToFeedIndexes,
57
58
  startAfter: () => startAfter,
58
59
  valueEncoding: () => valueEncoding
59
60
  });
60
- module.exports = __toCommonJS(chunk_UKREXVZX_exports);
61
+ module.exports = __toCommonJS(chunk_LD4R726W_exports);
61
62
  var import_hypercore = require("@dxos/hypercore");
62
63
  var import_protocols = require("@dxos/protocols");
63
64
  var import_invariant = require("@dxos/invariant");
@@ -152,20 +153,19 @@ var import_keys7 = require("@dxos/keys");
152
153
  var import_log12 = require("@dxos/log");
153
154
  var import_protocols7 = require("@dxos/protocols");
154
155
  var import_util9 = require("@dxos/util");
155
- var import_automerge_repo = require("@dxos/automerge/automerge-repo");
156
156
  var import_util10 = require("@dxos/util");
157
157
  var import_async10 = require("@dxos/async");
158
- var import_automerge_repo2 = require("@dxos/automerge/automerge-repo");
158
+ var import_automerge_repo = require("@dxos/automerge/automerge-repo");
159
159
  var import_codec_protobuf2 = require("@dxos/codec-protobuf");
160
160
  var import_invariant10 = require("@dxos/invariant");
161
161
  var import_log13 = require("@dxos/log");
162
162
  var import_async11 = require("@dxos/async");
163
- var import_automerge_repo3 = require("@dxos/automerge/automerge-repo");
163
+ var import_automerge_repo2 = require("@dxos/automerge/automerge-repo");
164
164
  var import_invariant11 = require("@dxos/invariant");
165
165
  var import_log14 = require("@dxos/log");
166
166
  var import_teleport_extension_automerge_replicator = require("@dxos/teleport-extension-automerge-replicator");
167
167
  var import_automerge = require("@dxos/automerge/automerge");
168
- var import_automerge_repo4 = require("@dxos/automerge/automerge-repo");
168
+ var import_automerge_repo3 = require("@dxos/automerge/automerge-repo");
169
169
  var import_automerge_repo_storage_indexeddb = require("@dxos/automerge/automerge-repo-storage-indexeddb");
170
170
  var import_context8 = require("@dxos/context");
171
171
  var import_keys8 = require("@dxos/keys");
@@ -2823,9 +2823,8 @@ _ts_decorate8([
2823
2823
  SpaceManager = _ts_decorate8([
2824
2824
  (0, import_async9.trackLeaks)("open", "close")
2825
2825
  ], SpaceManager);
2826
- var AutomergeStorageAdapter = class extends import_automerge_repo.StorageAdapter {
2826
+ var AutomergeStorageAdapter = class {
2827
2827
  constructor(_directory) {
2828
- super();
2829
2828
  this._directory = _directory;
2830
2829
  this._state = "opened";
2831
2830
  }
@@ -2898,7 +2897,7 @@ var AutomergeStorageAdapter = class extends import_automerge_repo.StorageAdapter
2898
2897
  }
2899
2898
  };
2900
2899
  var __dxlog_file14 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/automerge/local-host-network-adapter.ts";
2901
- var LocalHostNetworkAdapter = class extends import_automerge_repo2.NetworkAdapter {
2900
+ var LocalHostNetworkAdapter = class extends import_automerge_repo.NetworkAdapter {
2902
2901
  constructor() {
2903
2902
  super(...arguments);
2904
2903
  this._peers = /* @__PURE__ */ new Map();
@@ -2951,7 +2950,7 @@ var LocalHostNetworkAdapter = class extends import_automerge_repo2.NetworkAdapte
2951
2950
  connected: true,
2952
2951
  send: (message) => {
2953
2952
  next({
2954
- syncMessage: import_automerge_repo2.cbor.encode(message)
2953
+ syncMessage: import_automerge_repo.cbor.encode(message)
2955
2954
  });
2956
2955
  },
2957
2956
  disconnect: () => {
@@ -2981,7 +2980,7 @@ var LocalHostNetworkAdapter = class extends import_automerge_repo2.NetworkAdapte
2981
2980
  await this._connected.wait({
2982
2981
  timeout: 1e3
2983
2982
  });
2984
- const message = import_automerge_repo2.cbor.decode(syncMessage);
2983
+ const message = import_automerge_repo.cbor.decode(syncMessage);
2985
2984
  this.emit("message", message);
2986
2985
  }
2987
2986
  async getHostInfo() {
@@ -3006,7 +3005,7 @@ var LocalHostNetworkAdapter = class extends import_automerge_repo2.NetworkAdapte
3006
3005
  }
3007
3006
  };
3008
3007
  var __dxlog_file15 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/automerge/mesh-network-adapter.ts";
3009
- var MeshNetworkAdapter = class extends import_automerge_repo3.NetworkAdapter {
3008
+ var MeshNetworkAdapter = class extends import_automerge_repo2.NetworkAdapter {
3010
3009
  constructor() {
3011
3010
  super(...arguments);
3012
3011
  this._extensions = /* @__PURE__ */ new Map();
@@ -3037,7 +3036,7 @@ var MeshNetworkAdapter = class extends import_automerge_repo3.NetworkAdapter {
3037
3036
  ]
3038
3037
  });
3039
3038
  extension.sendSyncMessage({
3040
- payload: import_automerge_repo3.cbor.encode(message)
3039
+ payload: import_automerge_repo2.cbor.encode(message)
3041
3040
  }).catch((err) => import_log14.log.catch(err, void 0, {
3042
3041
  F: __dxlog_file15,
3043
3042
  L: 39,
@@ -3099,7 +3098,7 @@ var MeshNetworkAdapter = class extends import_automerge_repo3.NetworkAdapter {
3099
3098
  if (!peerInfo) {
3100
3099
  return;
3101
3100
  }
3102
- const message = import_automerge_repo3.cbor.decode(payload);
3101
+ const message = import_automerge_repo2.cbor.decode(payload);
3103
3102
  this.emit("message", message);
3104
3103
  },
3105
3104
  onClose: async () => {
@@ -3173,7 +3172,7 @@ var AutomergeHost = class {
3173
3172
  }
3174
3173
  });
3175
3174
  this._peerId = `host-${import_keys8.PublicKey.random().toHex()}`;
3176
- this._repo = new import_automerge_repo4.Repo({
3175
+ this._repo = new import_automerge_repo3.Repo({
3177
3176
  peerId: this._peerId,
3178
3177
  network: [
3179
3178
  this._clientNetwork,
@@ -3205,21 +3204,20 @@ var AutomergeHost = class {
3205
3204
  return isRequested;
3206
3205
  }
3207
3206
  try {
3208
- const rawSpaceKey = doc.access?.spaceKey ?? doc.experimental_spaceKey;
3209
- if (!rawSpaceKey) {
3207
+ const spaceKey = getSpaceKeyFromDoc(doc);
3208
+ if (!spaceKey) {
3210
3209
  (0, import_log15.log)("space key not found for share policy check", {
3211
3210
  peerId,
3212
3211
  documentId
3213
3212
  }, {
3214
3213
  F: __dxlog_file16,
3215
- L: 104,
3214
+ L: 103,
3216
3215
  S: this,
3217
3216
  C: (f, a) => f(...a)
3218
3217
  });
3219
3218
  return false;
3220
3219
  }
3221
- const spaceKey = import_keys8.PublicKey.from(rawSpaceKey);
3222
- const authorizedDevices = this._authorizedDevices.get(spaceKey);
3220
+ const authorizedDevices = this._authorizedDevices.get(import_keys8.PublicKey.from(spaceKey));
3223
3221
  const deviceKeyHex = this.repo.peerMetadataByPeerId[peerId]?.dxos_deviceKey;
3224
3222
  if (!deviceKeyHex) {
3225
3223
  (0, import_log15.log)("device key not found for share policy check", {
@@ -3227,7 +3225,7 @@ var AutomergeHost = class {
3227
3225
  documentId
3228
3226
  }, {
3229
3227
  F: __dxlog_file16,
3230
- L: 114,
3228
+ L: 112,
3231
3229
  S: this,
3232
3230
  C: (f, a) => f(...a)
3233
3231
  });
@@ -3244,7 +3242,7 @@ var AutomergeHost = class {
3244
3242
  isAuthorized
3245
3243
  }, {
3246
3244
  F: __dxlog_file16,
3247
- L: 120,
3245
+ L: 118,
3248
3246
  S: this,
3249
3247
  C: (f, a) => f(...a)
3250
3248
  });
@@ -3252,7 +3250,7 @@ var AutomergeHost = class {
3252
3250
  } catch (err) {
3253
3251
  import_log15.log.catch(err, void 0, {
3254
3252
  F: __dxlog_file16,
3255
- L: 130,
3253
+ L: 128,
3256
3254
  S: this,
3257
3255
  C: (f, a) => f(...a)
3258
3256
  });
@@ -3287,8 +3285,8 @@ var AutomergeHost = class {
3287
3285
  });
3288
3286
  }
3289
3287
  _onUpdate(event) {
3290
- const spaceKey = event.doc.access?.spaceKey;
3291
- if (!spaceKey) {
3288
+ const spaceKey = getSpaceKeyFromDoc(event.doc);
3289
+ if (!spaceKey || this._metadata == null) {
3292
3290
  return;
3293
3291
  }
3294
3292
  const objectIds = getInlineChanges(event);
@@ -3300,17 +3298,21 @@ var AutomergeHost = class {
3300
3298
  if (!lastAvailableHash) {
3301
3299
  return;
3302
3300
  }
3303
- const markingDirtyPromise = Promise.all(objectIds.map(async (objectId) => {
3304
- await (0, import_context8.cancelWithContext)(this._ctx, this._metadata.markDirty(import_protocols8.idCodec.encode({
3305
- documentId: event.handle.documentId,
3306
- objectId
3307
- }), lastAvailableHash));
3308
- })).then(() => {
3301
+ const encodedIds = objectIds.map((objectId) => import_protocols8.idCodec.encode({
3302
+ documentId: event.handle.documentId,
3303
+ objectId,
3304
+ spaceKey
3305
+ }));
3306
+ const idToLastHash = new Map(encodedIds.map((id) => [
3307
+ id,
3308
+ lastAvailableHash
3309
+ ]));
3310
+ const markingDirtyPromise = this._metadata.markDirty(idToLastHash).then(() => {
3309
3311
  this._updatingMetadata.delete(event.handle.documentId);
3310
3312
  }).catch((err) => {
3311
- !this._ctx.disposed && import_log15.log.catch(err, void 0, {
3313
+ this._ctx.disposed && import_log15.log.catch(err, void 0, {
3312
3314
  F: __dxlog_file16,
3313
- L: 198,
3315
+ L: 191,
3314
3316
  S: this,
3315
3317
  C: (f, a) => f(...a)
3316
3318
  });
@@ -3371,7 +3373,7 @@ var AutomergeHost = class {
3371
3373
  deviceKey
3372
3374
  }, {
3373
3375
  F: __dxlog_file16,
3374
- L: 266,
3376
+ L: 258,
3375
3377
  S: this,
3376
3378
  C: (f, a) => f(...a)
3377
3379
  });
@@ -3412,6 +3414,13 @@ var getInlineChanges = (event) => {
3412
3414
  ...inlineChangedObjectIds
3413
3415
  ];
3414
3416
  };
3417
+ var getSpaceKeyFromDoc = (doc) => {
3418
+ const rawSpaceKey = doc.access?.spaceKey ?? doc.experimental_spaceKey;
3419
+ if (rawSpaceKey == null) {
3420
+ return null;
3421
+ }
3422
+ return String(rawSpaceKey);
3423
+ };
3415
3424
  // Annotate the CommonJS export names for ESM import in node:
3416
3425
  0 && (module.exports = {
3417
3426
  AuthExtension,
@@ -3438,9 +3447,10 @@ var getInlineChanges = (event) => {
3438
3447
  TimeframeClock,
3439
3448
  codec,
3440
3449
  createMappedFeedWriter,
3450
+ getSpaceKeyFromDoc,
3441
3451
  mapFeedIndexesToTimeframe,
3442
3452
  mapTimeframeToFeedIndexes,
3443
3453
  startAfter,
3444
3454
  valueEncoding
3445
3455
  });
3446
- //# sourceMappingURL=chunk-UKREXVZX.cjs.map
3456
+ //# sourceMappingURL=chunk-LD4R726W.cjs.map