@dxos/echo-pipeline 0.6.12 → 0.6.13-main.548ca8d

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 (123) hide show
  1. package/dist/lib/browser/chunk-PESZVYAN.mjs +2050 -0
  2. package/dist/lib/browser/chunk-PESZVYAN.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +3463 -17
  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 +3 -4
  7. package/dist/lib/browser/testing/index.mjs.map +3 -3
  8. package/dist/lib/node/{chunk-7HHYCGUR.cjs → chunk-6EZVIJNE.cjs} +89 -47
  9. package/dist/lib/node/chunk-6EZVIJNE.cjs.map +7 -0
  10. package/dist/lib/node/index.cjs +3440 -35
  11. package/dist/lib/node/index.cjs.map +4 -4
  12. package/dist/lib/node/meta.json +1 -1
  13. package/dist/lib/node/testing/index.cjs +11 -12
  14. package/dist/lib/node/testing/index.cjs.map +3 -3
  15. package/dist/lib/{browser/chunk-UKXIJW43.mjs → node-esm/chunk-4LW7MDPZ.mjs} +76 -36
  16. package/dist/lib/node-esm/chunk-4LW7MDPZ.mjs.map +7 -0
  17. package/dist/lib/{browser/chunk-MPWFDDQK.mjs → node-esm/index.mjs} +1702 -335
  18. package/dist/lib/node-esm/index.mjs.map +7 -0
  19. package/dist/lib/node-esm/meta.json +1 -0
  20. package/dist/lib/node-esm/testing/index.mjs +551 -0
  21. package/dist/lib/node-esm/testing/index.mjs.map +7 -0
  22. package/dist/types/src/automerge/automerge-host.d.ts +24 -1
  23. package/dist/types/src/automerge/automerge-host.d.ts.map +1 -1
  24. package/dist/types/src/automerge/collection-synchronizer.d.ts +2 -0
  25. package/dist/types/src/automerge/collection-synchronizer.d.ts.map +1 -1
  26. package/dist/types/src/automerge/echo-network-adapter.d.ts.map +1 -1
  27. package/dist/types/src/automerge/echo-replicator.d.ts +3 -3
  28. package/dist/types/src/automerge/echo-replicator.d.ts.map +1 -1
  29. package/dist/types/src/automerge/mesh-echo-replicator-connection.d.ts +3 -3
  30. package/dist/types/src/automerge/mesh-echo-replicator-connection.d.ts.map +1 -1
  31. package/dist/types/src/automerge/mesh-echo-replicator.d.ts.map +1 -1
  32. package/dist/types/src/automerge/space-collection.d.ts +3 -2
  33. package/dist/types/src/automerge/space-collection.d.ts.map +1 -1
  34. package/dist/types/src/db-host/automerge-metrics.d.ts +11 -0
  35. package/dist/types/src/db-host/automerge-metrics.d.ts.map +1 -0
  36. package/dist/types/src/db-host/data-service.d.ts +3 -2
  37. package/dist/types/src/db-host/data-service.d.ts.map +1 -1
  38. package/dist/types/src/db-host/database-root.d.ts +20 -0
  39. package/dist/types/src/db-host/database-root.d.ts.map +1 -0
  40. package/dist/types/src/db-host/documents-iterator.d.ts +7 -0
  41. package/dist/types/src/db-host/documents-iterator.d.ts.map +1 -0
  42. package/dist/types/src/db-host/echo-host.d.ts +73 -0
  43. package/dist/types/src/db-host/echo-host.d.ts.map +1 -0
  44. package/dist/types/src/db-host/index.d.ts +5 -0
  45. package/dist/types/src/db-host/index.d.ts.map +1 -1
  46. package/dist/types/src/db-host/migration.d.ts +8 -0
  47. package/dist/types/src/db-host/migration.d.ts.map +1 -0
  48. package/dist/types/src/db-host/query-service.d.ts +25 -0
  49. package/dist/types/src/db-host/query-service.d.ts.map +1 -0
  50. package/dist/types/src/db-host/query-state.d.ts +41 -0
  51. package/dist/types/src/db-host/query-state.d.ts.map +1 -0
  52. package/dist/types/src/db-host/space-state-manager.d.ts +23 -0
  53. package/dist/types/src/db-host/space-state-manager.d.ts.map +1 -0
  54. package/dist/types/src/edge/echo-edge-replicator.d.ts +23 -0
  55. package/dist/types/src/edge/echo-edge-replicator.d.ts.map +1 -0
  56. package/dist/types/src/edge/echo-edge-replicator.test.d.ts +2 -0
  57. package/dist/types/src/edge/echo-edge-replicator.test.d.ts.map +1 -0
  58. package/dist/types/src/edge/index.d.ts +2 -0
  59. package/dist/types/src/edge/index.d.ts.map +1 -0
  60. package/dist/types/src/index.d.ts +1 -0
  61. package/dist/types/src/index.d.ts.map +1 -1
  62. package/dist/types/src/metadata/metadata-store.d.ts +4 -1
  63. package/dist/types/src/metadata/metadata-store.d.ts.map +1 -1
  64. package/dist/types/src/testing/test-agent-builder.d.ts.map +1 -1
  65. package/dist/types/src/testing/test-replicator.d.ts +4 -4
  66. package/dist/types/src/testing/test-replicator.d.ts.map +1 -1
  67. package/package.json +40 -50
  68. package/src/automerge/automerge-host.test.ts +8 -9
  69. package/src/automerge/automerge-host.ts +46 -7
  70. package/src/automerge/automerge-repo.test.ts +18 -16
  71. package/src/automerge/collection-synchronizer.test.ts +10 -5
  72. package/src/automerge/collection-synchronizer.ts +17 -6
  73. package/src/automerge/echo-data-monitor.test.ts +1 -3
  74. package/src/automerge/echo-network-adapter.test.ts +4 -3
  75. package/src/automerge/echo-network-adapter.ts +5 -4
  76. package/src/automerge/echo-replicator.ts +3 -3
  77. package/src/automerge/mesh-echo-replicator-connection.ts +10 -9
  78. package/src/automerge/mesh-echo-replicator.ts +2 -1
  79. package/src/automerge/space-collection.ts +3 -2
  80. package/src/automerge/storage-adapter.test.ts +2 -3
  81. package/src/db-host/automerge-metrics.ts +38 -0
  82. package/src/db-host/data-service.ts +29 -14
  83. package/src/db-host/database-root.ts +86 -0
  84. package/src/db-host/documents-iterator.ts +73 -0
  85. package/src/db-host/documents-synchronizer.test.ts +2 -2
  86. package/src/db-host/echo-host.ts +257 -0
  87. package/src/db-host/index.ts +6 -1
  88. package/src/db-host/migration.ts +57 -0
  89. package/src/db-host/query-service.ts +208 -0
  90. package/src/db-host/query-state.ts +200 -0
  91. package/src/db-host/space-state-manager.ts +90 -0
  92. package/src/edge/echo-edge-replicator.test.ts +96 -0
  93. package/src/edge/echo-edge-replicator.ts +337 -0
  94. package/src/edge/index.ts +5 -0
  95. package/src/index.ts +1 -0
  96. package/src/metadata/metadata-store.ts +20 -0
  97. package/src/pipeline/pipeline-stress.test.ts +44 -47
  98. package/src/pipeline/pipeline.test.ts +3 -4
  99. package/src/space/control-pipeline.test.ts +2 -3
  100. package/src/space/control-pipeline.ts +10 -1
  101. package/src/space/replication.browser.test.ts +2 -8
  102. package/src/space/space-manager.browser.test.ts +6 -5
  103. package/src/space/space-protocol.browser.test.ts +29 -34
  104. package/src/space/space-protocol.test.ts +29 -27
  105. package/src/space/space.test.ts +28 -11
  106. package/src/testing/test-agent-builder.ts +2 -2
  107. package/src/testing/test-replicator.ts +3 -3
  108. package/dist/lib/browser/chunk-MPWFDDQK.mjs.map +0 -7
  109. package/dist/lib/browser/chunk-UKXIJW43.mjs.map +0 -7
  110. package/dist/lib/browser/chunk-XPCF2V5U.mjs +0 -31
  111. package/dist/lib/browser/chunk-XPCF2V5U.mjs.map +0 -7
  112. package/dist/lib/browser/light.mjs +0 -32
  113. package/dist/lib/browser/light.mjs.map +0 -7
  114. package/dist/lib/node/chunk-5DH4KR2S.cjs +0 -2148
  115. package/dist/lib/node/chunk-5DH4KR2S.cjs.map +0 -7
  116. package/dist/lib/node/chunk-7HHYCGUR.cjs.map +0 -7
  117. package/dist/lib/node/chunk-DZVH7HDD.cjs +0 -43
  118. package/dist/lib/node/chunk-DZVH7HDD.cjs.map +0 -7
  119. package/dist/lib/node/light.cjs +0 -52
  120. package/dist/lib/node/light.cjs.map +0 -7
  121. package/dist/types/src/light.d.ts +0 -4
  122. package/dist/types/src/light.d.ts.map +0 -1
  123. package/src/light.ts +0 -7
@@ -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_7HHYCGUR_exports = {};
30
- __export(chunk_7HHYCGUR_exports, {
29
+ var chunk_6EZVIJNE_exports = {};
30
+ __export(chunk_6EZVIJNE_exports, {
31
31
  AuthExtension: () => AuthExtension,
32
32
  AuthStatus: () => AuthStatus,
33
33
  CredentialRetrieverExtension: () => CredentialRetrieverExtension,
@@ -42,6 +42,7 @@ __export(chunk_7HHYCGUR_exports, {
42
42
  SpaceProtocolSession: () => SpaceProtocolSession,
43
43
  TimeframeClock: () => TimeframeClock,
44
44
  codec: () => codec,
45
+ createIdFromSpaceKey: () => createIdFromSpaceKey,
45
46
  createMappedFeedWriter: () => createMappedFeedWriter,
46
47
  hasInvitationExpired: () => hasInvitationExpired,
47
48
  mapFeedIndexesToTimeframe: () => mapFeedIndexesToTimeframe,
@@ -49,21 +50,23 @@ __export(chunk_7HHYCGUR_exports, {
49
50
  startAfter: () => startAfter,
50
51
  valueEncoding: () => valueEncoding
51
52
  });
52
- module.exports = __toCommonJS(chunk_7HHYCGUR_exports);
53
- var import_chunk_DZVH7HDD = require("./chunk-DZVH7HDD.cjs");
53
+ module.exports = __toCommonJS(chunk_6EZVIJNE_exports);
54
54
  var import_hypercore = require("@dxos/hypercore");
55
55
  var import_proto = require("@dxos/protocols/proto");
56
56
  var import_invariant = require("@dxos/invariant");
57
+ var import_crypto = require("@dxos/crypto");
58
+ var import_keys = require("@dxos/keys");
59
+ var import_util = require("@dxos/util");
57
60
  var import_crc_32 = __toESM(require("crc-32"));
58
61
  var import_async = require("@dxos/async");
59
62
  var import_context = require("@dxos/context");
60
63
  var import_invariant2 = require("@dxos/invariant");
61
- var import_keys = require("@dxos/keys");
64
+ var import_keys2 = require("@dxos/keys");
62
65
  var import_log = require("@dxos/log");
63
66
  var import_protocols = require("@dxos/protocols");
64
67
  var import_proto2 = require("@dxos/protocols/proto");
65
68
  var import_services = require("@dxos/protocols/proto/dxos/client/services");
66
- var import_util = require("@dxos/util");
69
+ var import_util2 = require("@dxos/util");
67
70
  var import_async2 = require("@dxos/async");
68
71
  var import_debug = require("@dxos/debug");
69
72
  var import_log2 = require("@dxos/log");
@@ -73,15 +76,15 @@ var import_context2 = require("@dxos/context");
73
76
  var import_debug2 = require("@dxos/debug");
74
77
  var import_feed_store = require("@dxos/feed-store");
75
78
  var import_invariant3 = require("@dxos/invariant");
76
- var import_keys2 = require("@dxos/keys");
79
+ var import_keys3 = require("@dxos/keys");
77
80
  var import_log3 = require("@dxos/log");
78
81
  var import_timeframe2 = require("@dxos/timeframe");
79
- var import_util2 = require("@dxos/util");
82
+ var import_util3 = require("@dxos/util");
80
83
  var import_invariant4 = require("@dxos/invariant");
81
84
  var import_log4 = require("@dxos/log");
82
85
  var import_async4 = require("@dxos/async");
83
86
  var import_context3 = require("@dxos/context");
84
- var import_crypto = require("@dxos/crypto");
87
+ var import_crypto2 = require("@dxos/crypto");
85
88
  var import_invariant5 = require("@dxos/invariant");
86
89
  var import_log5 = require("@dxos/log");
87
90
  var import_proto3 = require("@dxos/protocols/proto");
@@ -92,36 +95,36 @@ var import_invariant6 = require("@dxos/invariant");
92
95
  var import_log6 = require("@dxos/log");
93
96
  var import_credentials = require("@dxos/protocols/proto/dxos/halo/credentials");
94
97
  var import_tracing = require("@dxos/tracing");
95
- var import_util3 = require("@dxos/util");
98
+ var import_util4 = require("@dxos/util");
96
99
  var import_async6 = require("@dxos/async");
97
100
  var import_context5 = require("@dxos/context");
98
101
  var import_credentials2 = require("@dxos/credentials");
99
- var import_keys3 = require("@dxos/keys");
102
+ var import_keys4 = require("@dxos/keys");
100
103
  var import_log7 = require("@dxos/log");
101
104
  var import_credentials3 = require("@dxos/protocols/proto/dxos/halo/credentials");
102
105
  var import_timeframe3 = require("@dxos/timeframe");
103
106
  var import_tracing2 = require("@dxos/tracing");
104
- var import_util4 = require("@dxos/util");
107
+ var import_util5 = require("@dxos/util");
105
108
  var import_async7 = require("@dxos/async");
106
109
  var import_context6 = require("@dxos/context");
107
110
  var import_protocols2 = require("@dxos/protocols");
108
111
  var import_proto4 = require("@dxos/protocols/proto");
109
112
  var import_teleport2 = require("@dxos/teleport");
110
- var import_crypto2 = require("@dxos/crypto");
111
- var import_keys4 = require("@dxos/keys");
113
+ var import_crypto3 = require("@dxos/crypto");
114
+ var import_keys5 = require("@dxos/keys");
112
115
  var import_log8 = require("@dxos/log");
113
116
  var import_network_manager = require("@dxos/network-manager");
114
117
  var import_teleport3 = require("@dxos/teleport");
115
118
  var import_teleport_extension_object_sync = require("@dxos/teleport-extension-object-sync");
116
119
  var import_teleport_extension_replicator = require("@dxos/teleport-extension-replicator");
117
120
  var import_tracing3 = require("@dxos/tracing");
118
- var import_util5 = require("@dxos/util");
121
+ var import_util6 = require("@dxos/util");
119
122
  var import_async8 = require("@dxos/async");
120
123
  var import_debug3 = require("@dxos/debug");
121
- var import_keys5 = require("@dxos/keys");
124
+ var import_keys6 = require("@dxos/keys");
122
125
  var import_log9 = require("@dxos/log");
123
126
  var import_protocols3 = require("@dxos/protocols");
124
- var import_util6 = require("@dxos/util");
127
+ var import_util7 = require("@dxos/util");
125
128
  var codec = import_proto.schema.getCodecForType("dxos.echo.feed.FeedMessage");
126
129
  var valueEncoding = (0, import_hypercore.createCodecEncoding)(codec);
127
130
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/common/feeds.ts";
@@ -148,6 +151,18 @@ var createMappedFeedWriter = (mapper, writer) => {
148
151
  write: async (data, options) => await writer.write(await mapper(data), options)
149
152
  };
150
153
  };
154
+ var SPACE_IDS_CACHE = new import_util.ComplexMap(import_keys.PublicKey.hash);
155
+ var createIdFromSpaceKey = async (spaceKey) => {
156
+ const cachedValue = SPACE_IDS_CACHE.get(spaceKey);
157
+ if (cachedValue !== void 0) {
158
+ return cachedValue;
159
+ }
160
+ const digest = await import_crypto.subtleCrypto.digest("SHA-256", spaceKey.asUint8Array());
161
+ const bytes = new Uint8Array(digest).slice(0, import_keys.SpaceId.byteLength);
162
+ const spaceId = import_keys.SpaceId.encode(bytes);
163
+ SPACE_IDS_CACHE.set(spaceKey, spaceId);
164
+ return spaceId;
165
+ };
151
166
  function _ts_decorate(decorators, target, key, desc) {
152
167
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
153
168
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -168,12 +183,12 @@ var LargeSpaceMetadata = import_proto2.schema.getCodecForType("dxos.echo.metadat
168
183
  var MetadataStore = class {
169
184
  constructor(directory) {
170
185
  this._metadata = emptyEchoMetadata();
171
- this._spaceLargeMetadata = new import_util.ComplexMap(import_keys.PublicKey.hash);
186
+ this._spaceLargeMetadata = new import_util2.ComplexMap(import_keys2.PublicKey.hash);
172
187
  this._metadataFile = void 0;
173
188
  this.update = new import_async.Event();
174
189
  this._invitationCleanupCtx = new import_context.Context(void 0, {
175
190
  F: __dxlog_file2,
176
- L: 54
191
+ L: 55
177
192
  });
178
193
  this._directory = directory;
179
194
  }
@@ -204,7 +219,7 @@ var MetadataStore = class {
204
219
  name: file.filename
205
220
  }, {
206
221
  F: __dxlog_file2,
207
- L: 90,
222
+ L: 91,
208
223
  S: this,
209
224
  C: (f, a) => f(...a)
210
225
  });
@@ -228,7 +243,7 @@ var MetadataStore = class {
228
243
  * @internal
229
244
  */
230
245
  async _writeFile(file, codec2, data) {
231
- const encoded = (0, import_util.arrayToBuffer)(codec2.encode(data));
246
+ const encoded = (0, import_util2.arrayToBuffer)(codec2.encode(data));
232
247
  const checksum = import_crc_32.default.buf(encoded);
233
248
  const result = Buffer.alloc(8 + encoded.length);
234
249
  result.writeInt32LE(encoded.length, 0);
@@ -240,7 +255,7 @@ var MetadataStore = class {
240
255
  checksum
241
256
  }, {
242
257
  F: __dxlog_file2,
243
- L: 125,
258
+ L: 126,
244
259
  S: this,
245
260
  C: (f, a) => f(...a)
246
261
  });
@@ -273,16 +288,16 @@ var MetadataStore = class {
273
288
  err
274
289
  }, {
275
290
  F: __dxlog_file2,
276
- L: 157,
291
+ L: 158,
277
292
  S: this,
278
293
  C: (f, a) => f(...a)
279
294
  });
280
295
  this._metadata = emptyEchoMetadata();
281
296
  }
282
- await (0, import_util.forEachAsync)([
297
+ await (0, import_util2.forEachAsync)([
283
298
  this._metadata.identity?.haloSpace.key,
284
299
  ...this._metadata.spaces?.map((space) => space.key) ?? []
285
- ].filter(import_util.isNotNullOrUndefined), async (key) => {
300
+ ].filter(import_util2.isNotNullOrUndefined), async (key) => {
286
301
  try {
287
302
  await this._loadSpaceLargeMetadata(key);
288
303
  } catch (err) {
@@ -290,7 +305,7 @@ var MetadataStore = class {
290
305
  err
291
306
  }, {
292
307
  F: __dxlog_file2,
293
- L: 169,
308
+ L: 170,
294
309
  S: this,
295
310
  C: (f, a) => f(...a)
296
311
  });
@@ -327,7 +342,7 @@ var MetadataStore = class {
327
342
  err
328
343
  }, {
329
344
  F: __dxlog_file2,
330
- L: 211,
345
+ L: 212,
331
346
  S: this,
332
347
  C: (f, a) => f(...a)
333
348
  });
@@ -348,7 +363,7 @@ var MetadataStore = class {
348
363
  const space = this.spaces.find((space2) => space2.key === spaceKey);
349
364
  (0, import_invariant2.invariant)(space, "Space not found", {
350
365
  F: __dxlog_file2,
351
- L: 233,
366
+ L: 234,
352
367
  S: this,
353
368
  A: [
354
369
  "space",
@@ -357,6 +372,12 @@ var MetadataStore = class {
357
372
  });
358
373
  return space;
359
374
  }
375
+ hasSpace(spaceKey) {
376
+ if (this._metadata.identity?.haloSpace.key.equals(spaceKey)) {
377
+ return true;
378
+ }
379
+ return !!this.spaces.find((space) => space.key === spaceKey);
380
+ }
360
381
  _getLargeSpaceMetadata(key) {
361
382
  let entry = this._spaceLargeMetadata.get(key);
362
383
  if (entry) {
@@ -372,7 +393,7 @@ var MetadataStore = class {
372
393
  async clear() {
373
394
  (0, import_log.log)("clearing all metadata", void 0, {
374
395
  F: __dxlog_file2,
375
- L: 252,
396
+ L: 262,
376
397
  S: this,
377
398
  C: (f, a) => f(...a)
378
399
  });
@@ -385,7 +406,7 @@ var MetadataStore = class {
385
406
  async setIdentityRecord(record) {
386
407
  (0, import_invariant2.invariant)(!this._metadata.identity, "Cannot overwrite existing identity in metadata", {
387
408
  F: __dxlog_file2,
388
- L: 262,
409
+ L: 272,
389
410
  S: this,
390
411
  A: [
391
412
  "!this._metadata.identity",
@@ -415,7 +436,7 @@ var MetadataStore = class {
415
436
  async addSpace(record) {
416
437
  (0, import_invariant2.invariant)(!(this._metadata.spaces ?? []).find((space) => space.key === record.key), "Cannot overwrite existing space in metadata", {
417
438
  F: __dxlog_file2,
418
- L: 290,
439
+ L: 300,
419
440
  S: this,
420
441
  A: [
421
442
  "!(this._metadata.spaces ?? []).find((space) => space.key === record.key)",
@@ -459,6 +480,14 @@ var MetadataStore = class {
459
480
  await this._saveSpaceLargeMetadata(spaceKey);
460
481
  await this.flush();
461
482
  }
483
+ getSpaceEdgeReplicationSetting(spaceKey) {
484
+ return this.hasSpace(spaceKey) ? this._getSpace(spaceKey).edgeReplication : void 0;
485
+ }
486
+ async setSpaceEdgeReplicationSetting(spaceKey, setting) {
487
+ this._getSpace(spaceKey).edgeReplication = setting;
488
+ await this._save();
489
+ await this.flush();
490
+ }
462
491
  };
463
492
  _ts_decorate([
464
493
  import_async.synchronized
@@ -707,11 +736,11 @@ var PipelineState = class {
707
736
  var Pipeline = class {
708
737
  constructor() {
709
738
  this._timeframeClock = new TimeframeClock(new import_timeframe2.Timeframe());
710
- this._feeds = new import_util2.ComplexMap(import_keys2.PublicKey.hash);
739
+ this._feeds = new import_util3.ComplexMap(import_keys3.PublicKey.hash);
711
740
  this._state = new PipelineState(this._feeds, this._timeframeClock);
712
741
  this._processingTrigger = new import_async3.Trigger().wake();
713
742
  this._pauseTrigger = new import_async3.Trigger().wake();
714
- this._downloads = new import_util2.ComplexMap((value) => import_keys2.PublicKey.hash(value.key));
743
+ this._downloads = new import_util3.ComplexMap((value) => import_keys3.PublicKey.hash(value.key));
715
744
  this._isStopping = false;
716
745
  this._isStarted = false;
717
746
  this._isBeingConsumed = false;
@@ -927,7 +956,7 @@ var Pipeline = class {
927
956
  if (!done) {
928
957
  const block = value ?? (0, import_debug2.failUndefined)();
929
958
  this._processingTrigger.reset();
930
- this._timeframeClock.updatePendingTimeframe(import_keys2.PublicKey.from(block.feedKey), block.seq);
959
+ this._timeframeClock.updatePendingTimeframe(import_keys3.PublicKey.from(block.feedKey), block.seq);
931
960
  yield block;
932
961
  this._processingTrigger.wake();
933
962
  this._timeframeClock.updateTimeframe();
@@ -1060,7 +1089,7 @@ var AuthExtension = class extends import_teleport.RpcExtension {
1060
1089
  await super.onOpen(context);
1061
1090
  (0, import_async4.scheduleTask)(this._ctx, async () => {
1062
1091
  try {
1063
- const challenge = (0, import_crypto.randomBytes)(32);
1092
+ const challenge = (0, import_crypto2.randomBytes)(32);
1064
1093
  const { credential } = await this.rpc.AuthService.authenticate({
1065
1094
  challenge
1066
1095
  });
@@ -1122,7 +1151,7 @@ var ControlPipeline = class {
1122
1151
  L: 47
1123
1152
  });
1124
1153
  this._lastTimeframeSaveTime = Date.now();
1125
- this.onFeedAdmitted = new import_util4.Callback();
1154
+ this.onFeedAdmitted = new import_util5.Callback();
1126
1155
  this._usage = new import_tracing2.TimeUsageCounter();
1127
1156
  this._mutations = new import_tracing2.TimeSeriesCounter();
1128
1157
  this._snapshotTask = new import_async6.DeferredTask(this._ctx, async () => {
@@ -1243,7 +1272,7 @@ var ControlPipeline = class {
1243
1272
  await this._pipeline.unpause();
1244
1273
  (0, import_log7.log)("save snapshot", {
1245
1274
  key: this._spaceKey,
1246
- snapshot
1275
+ snapshot: getSnapshotLoggerContext(snapshot)
1247
1276
  }, {
1248
1277
  F: __dxlog_file7,
1249
1278
  L: 163,
@@ -1280,9 +1309,9 @@ var ControlPipeline = class {
1280
1309
  C: (f, a) => f(...a)
1281
1310
  });
1282
1311
  if (msg.data.payload.credential) {
1283
- const timer = import_util4.tracer.mark("dxos.echo.pipeline.control");
1312
+ const timer = import_util5.tracer.mark("dxos.echo.pipeline.control");
1284
1313
  const result = await this._spaceStateMachine.process(msg.data.payload.credential.credential, {
1285
- sourceFeed: import_keys3.PublicKey.from(msg.feedKey)
1314
+ sourceFeed: import_keys4.PublicKey.from(msg.feedKey)
1286
1315
  });
1287
1316
  timer.end();
1288
1317
  if (!result) {
@@ -1359,6 +1388,18 @@ ControlPipeline = _ts_decorate4([
1359
1388
  import_tracing2.trace.resource(),
1360
1389
  (0, import_async6.trackLeaks)("start", "stop")
1361
1390
  ], ControlPipeline);
1391
+ var getSnapshotLoggerContext = (snapshot) => {
1392
+ return snapshot.messages?.map((msg) => {
1393
+ const issuer = msg.credential.issuer;
1394
+ const subject = msg.credential.subject.id;
1395
+ const type = msg.credential.subject.assertion["@type"];
1396
+ return {
1397
+ issuer,
1398
+ subject,
1399
+ type
1400
+ };
1401
+ });
1402
+ };
1362
1403
  function _ts_decorate5(decorators, target, key, desc) {
1363
1404
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1364
1405
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -1369,7 +1410,7 @@ var __dxlog_file8 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipelin
1369
1410
  var Space = class extends import_context4.Resource {
1370
1411
  constructor(params) {
1371
1412
  super();
1372
- this.onCredentialProcessed = new import_util3.Callback();
1413
+ this.onCredentialProcessed = new import_util4.Callback();
1373
1414
  this.stateUpdate = new import_async5.Event();
1374
1415
  (0, import_invariant6.invariant)(params.spaceKey && params.feedProvider, void 0, {
1375
1416
  F: __dxlog_file8,
@@ -1640,13 +1681,13 @@ var MOCK_AUTH_VERIFIER = async (nonce, credential) => true;
1640
1681
  var SpaceProtocol = class {
1641
1682
  constructor({ topic, swarmIdentity, networkManager, onSessionAuth, onAuthFailure, blobStore, disableP2pReplication }) {
1642
1683
  this._feeds = /* @__PURE__ */ new Set();
1643
- this._sessions = new import_util5.ComplexMap(import_keys4.PublicKey.hash);
1684
+ this._sessions = new import_util6.ComplexMap(import_keys5.PublicKey.hash);
1644
1685
  this._topology = new import_network_manager.MMSTTopology({
1645
1686
  originateConnections: 4,
1646
1687
  maxPeers: 10,
1647
1688
  sampleSize: 20
1648
1689
  });
1649
- this.feedAdded = new import_util5.CallbackCollection();
1690
+ this.feedAdded = new import_util6.CallbackCollection();
1650
1691
  this._spaceKey = topic;
1651
1692
  this._networkManager = networkManager;
1652
1693
  this._swarmIdentity = swarmIdentity;
@@ -1655,7 +1696,7 @@ var SpaceProtocol = class {
1655
1696
  this.blobSync = new import_teleport_extension_object_sync.BlobSync({
1656
1697
  blobStore
1657
1698
  });
1658
- this._topic = import_crypto2.subtleCrypto.digest("SHA-256", topic.asBuffer()).then(import_crypto2.discoveryKey).then(import_keys4.PublicKey.from);
1699
+ this._topic = import_crypto3.subtleCrypto.digest("SHA-256", topic.asBuffer()).then(import_crypto3.discoveryKey).then(import_keys5.PublicKey.from);
1659
1700
  this._disableP2pReplication = disableP2pReplication ?? false;
1660
1701
  }
1661
1702
  get sessions() {
@@ -1849,8 +1890,8 @@ function _ts_decorate7(decorators, target, key, desc) {
1849
1890
  var __dxlog_file11 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/space/space-manager.ts";
1850
1891
  var SpaceManager = class {
1851
1892
  constructor({ feedStore, networkManager, metadataStore, blobStore, disableP2pReplication }) {
1852
- this._spaces = new import_util6.ComplexMap(import_keys5.PublicKey.hash);
1853
- this._instanceId = import_keys5.PublicKey.random().toHex();
1893
+ this._spaces = new import_util7.ComplexMap(import_keys6.PublicKey.hash);
1894
+ this._instanceId = import_keys6.PublicKey.random().toHex();
1854
1895
  this._feedStore = feedStore;
1855
1896
  this._networkManager = networkManager;
1856
1897
  this._metadataStore = metadataStore;
@@ -1887,7 +1928,7 @@ var SpaceManager = class {
1887
1928
  });
1888
1929
  const genesisFeed = await this._feedStore.openFeed(metadata.genesisFeedKey ?? (0, import_debug3.failUndefined)());
1889
1930
  const spaceKey = metadata.key;
1890
- const spaceId = await (0, import_chunk_DZVH7HDD.createIdFromSpaceKey)(spaceKey);
1931
+ const spaceId = await createIdFromSpaceKey(spaceKey);
1891
1932
  const protocol = new SpaceProtocol({
1892
1933
  topic: spaceKey,
1893
1934
  swarmIdentity,
@@ -2007,6 +2048,7 @@ SpaceManager = _ts_decorate7([
2007
2048
  SpaceProtocolSession,
2008
2049
  TimeframeClock,
2009
2050
  codec,
2051
+ createIdFromSpaceKey,
2010
2052
  createMappedFeedWriter,
2011
2053
  hasInvitationExpired,
2012
2054
  mapFeedIndexesToTimeframe,
@@ -2014,4 +2056,4 @@ SpaceManager = _ts_decorate7([
2014
2056
  startAfter,
2015
2057
  valueEncoding
2016
2058
  });
2017
- //# sourceMappingURL=chunk-7HHYCGUR.cjs.map
2059
+ //# sourceMappingURL=chunk-6EZVIJNE.cjs.map