@dxos/echo-pipeline 0.8.3 → 0.8.4-main.2e9d522

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 (49) hide show
  1. package/dist/lib/browser/{chunk-TQJTKNMS.mjs → chunk-ANZAS5CC.mjs} +2 -2
  2. package/dist/lib/browser/{chunk-35I6ERLG.mjs → chunk-GBFX5J5B.mjs} +27 -27
  3. package/dist/lib/browser/filter/index.mjs +1 -1
  4. package/dist/lib/browser/index.mjs +162 -93
  5. package/dist/lib/browser/index.mjs.map +3 -3
  6. package/dist/lib/browser/meta.json +1 -1
  7. package/dist/lib/browser/testing/index.mjs +13 -13
  8. package/dist/lib/node-esm/{chunk-RVK35BS7.mjs → chunk-2SAZ7CCF.mjs} +2 -2
  9. package/dist/lib/node-esm/{chunk-5BHLPT24.mjs → chunk-FQFKWA3X.mjs} +27 -27
  10. package/dist/lib/node-esm/filter/index.mjs +1 -1
  11. package/dist/lib/node-esm/index.mjs +162 -93
  12. package/dist/lib/node-esm/index.mjs.map +3 -3
  13. package/dist/lib/node-esm/meta.json +1 -1
  14. package/dist/lib/node-esm/testing/index.mjs +13 -13
  15. package/dist/types/src/automerge/echo-network-adapter.d.ts.map +1 -1
  16. package/dist/types/src/automerge/echo-replicator.d.ts +1 -1
  17. package/dist/types/src/automerge/echo-replicator.d.ts.map +1 -1
  18. package/dist/types/src/automerge/index.d.ts +1 -1
  19. package/dist/types/src/automerge/index.d.ts.map +1 -1
  20. package/dist/types/src/db-host/documents-synchronizer.d.ts.map +1 -1
  21. package/dist/types/src/db-host/query-service.d.ts.map +1 -1
  22. package/dist/types/src/edge/echo-edge-replicator.d.ts.map +1 -1
  23. package/dist/types/src/query/errors.d.ts +17 -5
  24. package/dist/types/src/query/errors.d.ts.map +1 -1
  25. package/dist/types/tsconfig.tsbuildinfo +1 -1
  26. package/package.json +38 -38
  27. package/src/automerge/echo-network-adapter.ts +2 -1
  28. package/src/automerge/echo-replicator.ts +2 -1
  29. package/src/automerge/index.ts +1 -1
  30. package/src/db-host/documents-synchronizer.ts +4 -1
  31. package/src/db-host/query-service.ts +6 -0
  32. package/src/edge/echo-edge-replicator.ts +31 -11
  33. package/dist/lib/node/chunk-HOPOFWAL.cjs +0 -147
  34. package/dist/lib/node/chunk-HOPOFWAL.cjs.map +0 -7
  35. package/dist/lib/node/chunk-JXX6LF5U.cjs +0 -2084
  36. package/dist/lib/node/chunk-JXX6LF5U.cjs.map +0 -7
  37. package/dist/lib/node/chunk-Q7SFCCGT.cjs +0 -33
  38. package/dist/lib/node/chunk-Q7SFCCGT.cjs.map +0 -7
  39. package/dist/lib/node/filter/index.cjs +0 -32
  40. package/dist/lib/node/filter/index.cjs.map +0 -7
  41. package/dist/lib/node/index.cjs +0 -4699
  42. package/dist/lib/node/index.cjs.map +0 -7
  43. package/dist/lib/node/meta.json +0 -1
  44. package/dist/lib/node/testing/index.cjs +0 -753
  45. package/dist/lib/node/testing/index.cjs.map +0 -7
  46. /package/dist/lib/browser/{chunk-TQJTKNMS.mjs.map → chunk-ANZAS5CC.mjs.map} +0 -0
  47. /package/dist/lib/browser/{chunk-35I6ERLG.mjs.map → chunk-GBFX5J5B.mjs.map} +0 -0
  48. /package/dist/lib/node-esm/{chunk-RVK35BS7.mjs.map → chunk-2SAZ7CCF.mjs.map} +0 -0
  49. /package/dist/lib/node-esm/{chunk-5BHLPT24.mjs.map → chunk-FQFKWA3X.mjs.map} +0 -0
@@ -2,7 +2,7 @@ import "@dxos/node-std/globals";
2
2
  import {
3
3
  filterMatchObject,
4
4
  filterMatchValue
5
- } from "./chunk-TQJTKNMS.mjs";
5
+ } from "./chunk-ANZAS5CC.mjs";
6
6
  import {
7
7
  AuthExtension,
8
8
  AuthStatus,
@@ -25,24 +25,24 @@ import {
25
25
  mapTimeframeToFeedIndexes,
26
26
  startAfter,
27
27
  valueEncoding
28
- } from "./chunk-35I6ERLG.mjs";
28
+ } from "./chunk-GBFX5J5B.mjs";
29
29
  import "./chunk-CGS2ULMK.mjs";
30
30
 
31
- // packages/core/echo/echo-pipeline/src/db-host/data-service.ts
31
+ // src/db-host/data-service.ts
32
32
  import { UpdateScheduler as UpdateScheduler2 } from "@dxos/async";
33
33
  import { Stream } from "@dxos/codec-protobuf/stream";
34
34
  import { invariant as invariant7 } from "@dxos/invariant";
35
35
  import { SpaceId as SpaceId2 } from "@dxos/keys";
36
36
  import { log as log7 } from "@dxos/log";
37
37
 
38
- // packages/core/echo/echo-pipeline/src/db-host/documents-synchronizer.ts
38
+ // src/db-host/documents-synchronizer.ts
39
39
  import { next as A2 } from "@automerge/automerge";
40
40
  import { UpdateScheduler } from "@dxos/async";
41
- import { Resource as Resource5 } from "@dxos/context";
41
+ import { LifecycleState as LifecycleState3, Resource as Resource5 } from "@dxos/context";
42
42
  import { invariant as invariant6 } from "@dxos/invariant";
43
43
  import { log as log6 } from "@dxos/log";
44
44
 
45
- // packages/core/echo/echo-pipeline/src/automerge/automerge-host.ts
45
+ // src/automerge/automerge-host.ts
46
46
  import { getBackend, getHeads, isAutomerge, equals as headsEquals, save } from "@automerge/automerge";
47
47
  import { Repo, interpretAsDocumentId } from "@automerge/automerge-repo";
48
48
  import { Event as Event2, asyncTimeout } from "@dxos/async";
@@ -55,7 +55,7 @@ import { objectPointerCodec } from "@dxos/protocols";
55
55
  import { trace as trace2 } from "@dxos/tracing";
56
56
  import { bufferToArray } from "@dxos/util";
57
57
 
58
- // packages/core/echo/echo-pipeline/src/automerge/collection-synchronizer.ts
58
+ // src/automerge/collection-synchronizer.ts
59
59
  import { next as am } from "@automerge/automerge";
60
60
  import { asyncReturn, Event, scheduleTask, scheduleTaskInterval } from "@dxos/async";
61
61
  import { Resource } from "@dxos/context";
@@ -68,7 +68,7 @@ function _ts_decorate(decorators, target, key, desc) {
68
68
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
69
69
  return c > 3 && r && Object.defineProperty(target, key, r), r;
70
70
  }
71
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/automerge/collection-synchronizer.ts";
71
+ var __dxlog_file = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/automerge/collection-synchronizer.ts";
72
72
  var MIN_QUERY_INTERVAL = 5e3;
73
73
  var POLL_INTERVAL = 3e4;
74
74
  var CollectionSynchronizer = class extends Resource {
@@ -307,7 +307,7 @@ var getSpanName = (peerId) => {
307
307
  return `collection-sync-${peerId}`;
308
308
  };
309
309
 
310
- // packages/core/echo/echo-pipeline/src/automerge/echo-network-adapter.ts
310
+ // src/automerge/echo-network-adapter.ts
311
311
  import { NetworkAdapter } from "@automerge/automerge-repo";
312
312
  import { synchronized, Trigger } from "@dxos/async";
313
313
  import { LifecycleState } from "@dxos/context";
@@ -315,19 +315,19 @@ import { invariant } from "@dxos/invariant";
315
315
  import { log as log2 } from "@dxos/log";
316
316
  import { isNonNullable } from "@dxos/util";
317
317
 
318
- // packages/core/echo/echo-pipeline/src/automerge/network-protocol.ts
318
+ // src/automerge/network-protocol.ts
319
319
  import { MESSAGE_TYPE_COLLECTION_QUERY, MESSAGE_TYPE_COLLECTION_STATE } from "@dxos/protocols";
320
320
  var isCollectionQueryMessage = (message) => message.type === MESSAGE_TYPE_COLLECTION_QUERY;
321
321
  var isCollectionStateMessage = (message) => message.type === MESSAGE_TYPE_COLLECTION_STATE;
322
322
 
323
- // packages/core/echo/echo-pipeline/src/automerge/echo-network-adapter.ts
323
+ // src/automerge/echo-network-adapter.ts
324
324
  function _ts_decorate2(decorators, target, key, desc) {
325
325
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
326
326
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
327
327
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
328
328
  return c > 3 && r && Object.defineProperty(target, key, r), r;
329
329
  }
330
- var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/automerge/echo-network-adapter.ts";
330
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/automerge/echo-network-adapter.ts";
331
331
  var EchoNetworkAdapter = class extends NetworkAdapter {
332
332
  constructor(_params) {
333
333
  super(), this._params = _params, this._replicators = /* @__PURE__ */ new Set(), this._connections = /* @__PURE__ */ new Map(), this._lifecycleState = LifecycleState.CLOSED, this._connected = new Trigger(), this._ready = new Trigger();
@@ -592,13 +592,13 @@ var EchoNetworkAdapter = class extends NetworkAdapter {
592
592
  peerId: connection.peerId
593
593
  });
594
594
  this._params.monitor?.recordPeerDisconnected(connection.peerId);
595
- void entry.reader.cancel().catch((err) => log2.catch(err, void 0, {
595
+ void entry.writer.abort().catch((err) => log2.catch(err, void 0, {
596
596
  F: __dxlog_file2,
597
597
  L: 284,
598
598
  S: this,
599
599
  C: (f, a) => f(...a)
600
600
  }));
601
- void entry.writer.abort().catch((err) => log2.catch(err, void 0, {
601
+ void entry.reader.cancel().catch((err) => log2.catch(err, void 0, {
602
602
  F: __dxlog_file2,
603
603
  L: 285,
604
604
  S: this,
@@ -615,14 +615,14 @@ var EchoNetworkAdapter = class extends NetworkAdapter {
615
615
  peerId: connection.peerId
616
616
  }, {
617
617
  F: __dxlog_file2,
618
- L: 294,
618
+ L: 295,
619
619
  S: this,
620
620
  C: (f, a) => f(...a)
621
621
  });
622
622
  const entry = this._connections.get(connection.peerId);
623
623
  invariant(entry, void 0, {
624
624
  F: __dxlog_file2,
625
- L: 296,
625
+ L: 297,
626
626
  S: this,
627
627
  A: [
628
628
  "entry",
@@ -659,7 +659,7 @@ var createEchoPeerMetadata = () => ({
659
659
  });
660
660
  var isEchoPeerMetadata = (metadata) => metadata?.dxos_peerSource === "EchoNetworkAdapter";
661
661
 
662
- // packages/core/echo/echo-pipeline/src/automerge/heads-store.ts
662
+ // src/automerge/heads-store.ts
663
663
  import { headsEncoding } from "@dxos/indexing";
664
664
  var HeadsStore = class {
665
665
  constructor({ db }) {
@@ -681,7 +681,7 @@ var HeadsStore = class {
681
681
  }
682
682
  };
683
683
 
684
- // packages/core/echo/echo-pipeline/src/automerge/leveldb-storage-adapter.ts
684
+ // src/automerge/leveldb-storage-adapter.ts
685
685
  import { LifecycleState as LifecycleState2, Resource as Resource2 } from "@dxos/context";
686
686
  var LevelDBStorageAdapter = class extends Resource2 {
687
687
  constructor(_params) {
@@ -786,14 +786,14 @@ var encodingOptions = {
786
786
  };
787
787
  var isLevelDbNotFoundError = (err) => err.code === "LEVEL_NOT_FOUND";
788
788
 
789
- // packages/core/echo/echo-pipeline/src/automerge/automerge-host.ts
789
+ // src/automerge/automerge-host.ts
790
790
  function _ts_decorate3(decorators, target, key, desc) {
791
791
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
792
792
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
793
793
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
794
794
  return c > 3 && r && Object.defineProperty(target, key, r), r;
795
795
  }
796
- var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/automerge/automerge-host.ts";
796
+ var __dxlog_file3 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/automerge/automerge-host.ts";
797
797
  var FIND_PARAMS = {
798
798
  allowableStates: [
799
799
  "ready",
@@ -1290,20 +1290,20 @@ var encodeCollectionState = (state) => {
1290
1290
  return state;
1291
1291
  };
1292
1292
 
1293
- // packages/core/echo/echo-pipeline/src/automerge/mesh-echo-replicator.ts
1293
+ // src/automerge/mesh-echo-replicator.ts
1294
1294
  import { invariant as invariant5 } from "@dxos/invariant";
1295
1295
  import { PublicKey as PublicKey2 } from "@dxos/keys";
1296
1296
  import { log as log5 } from "@dxos/log";
1297
1297
  import { ComplexSet, defaultMap as defaultMap2 } from "@dxos/util";
1298
1298
 
1299
- // packages/core/echo/echo-pipeline/src/automerge/mesh-echo-replicator-connection.ts
1299
+ // src/automerge/mesh-echo-replicator-connection.ts
1300
1300
  import * as A from "@automerge/automerge";
1301
1301
  import { cbor } from "@automerge/automerge-repo";
1302
1302
  import { Resource as Resource4 } from "@dxos/context";
1303
1303
  import { invariant as invariant3 } from "@dxos/invariant";
1304
1304
  import { log as log4 } from "@dxos/log";
1305
1305
  import { AutomergeReplicator } from "@dxos/teleport-extension-automerge-replicator";
1306
- var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/automerge/mesh-echo-replicator-connection.ts";
1306
+ var __dxlog_file4 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/automerge/mesh-echo-replicator-connection.ts";
1307
1307
  var DEFAULT_FACTORY = (params) => new AutomergeReplicator(...params);
1308
1308
  var MeshReplicatorConnection = class extends Resource4 {
1309
1309
  constructor(_params) {
@@ -1441,10 +1441,10 @@ var logSendSync = (message) => {
1441
1441
  });
1442
1442
  };
1443
1443
 
1444
- // packages/core/echo/echo-pipeline/src/automerge/space-collection.ts
1444
+ // src/automerge/space-collection.ts
1445
1445
  import { invariant as invariant4 } from "@dxos/invariant";
1446
1446
  import { SpaceId } from "@dxos/keys";
1447
- var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/automerge/space-collection.ts";
1447
+ var __dxlog_file5 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/automerge/space-collection.ts";
1448
1448
  var deriveCollectionIdFromSpaceId = (spaceId, rootDocumentId) => rootDocumentId ? `space:${spaceId}:${rootDocumentId}` : `space:${spaceId}`;
1449
1449
  var getSpaceIdFromCollectionId = (collectionId) => {
1450
1450
  const spaceId = collectionId.split(":")[1];
@@ -1460,8 +1460,8 @@ var getSpaceIdFromCollectionId = (collectionId) => {
1460
1460
  return spaceId;
1461
1461
  };
1462
1462
 
1463
- // packages/core/echo/echo-pipeline/src/automerge/mesh-echo-replicator.ts
1464
- var __dxlog_file6 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/automerge/mesh-echo-replicator.ts";
1463
+ // src/automerge/mesh-echo-replicator.ts
1464
+ var __dxlog_file6 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/automerge/mesh-echo-replicator.ts";
1465
1465
  var MeshEchoReplicator = class {
1466
1466
  constructor() {
1467
1467
  /**
@@ -1695,7 +1695,7 @@ var MeshEchoReplicator = class {
1695
1695
  }
1696
1696
  };
1697
1697
 
1698
- // packages/core/echo/echo-pipeline/src/automerge/echo-data-monitor.ts
1698
+ // src/automerge/echo-data-monitor.ts
1699
1699
  import { trace as trace3 } from "@dxos/tracing";
1700
1700
  import { CircularBuffer, mapValues, SlidingWindowSummary } from "@dxos/util";
1701
1701
  function _ts_decorate4(decorators, target, key, desc) {
@@ -2056,8 +2056,8 @@ var getByteCount = (message) => {
2056
2056
  return message.type.length + message.senderId.length + message.targetId.length + (message.data?.byteLength ?? 0) + (message.documentId?.length ?? 0);
2057
2057
  };
2058
2058
 
2059
- // packages/core/echo/echo-pipeline/src/db-host/documents-synchronizer.ts
2060
- var __dxlog_file7 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/db-host/documents-synchronizer.ts";
2059
+ // src/db-host/documents-synchronizer.ts
2060
+ var __dxlog_file7 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/db-host/documents-synchronizer.ts";
2061
2061
  var MAX_UPDATE_FREQ = 10;
2062
2062
  var DocumentsSynchronizer = class extends Resource5 {
2063
2063
  constructor(_params) {
@@ -2193,10 +2193,13 @@ var DocumentsSynchronizer = class extends Resource5 {
2193
2193
  return mutation;
2194
2194
  }
2195
2195
  _writeMutation(documentId, mutation) {
2196
+ if (this._lifecycleState === LifecycleState3.CLOSED) {
2197
+ return;
2198
+ }
2196
2199
  const syncState = this._syncStates.get(documentId);
2197
2200
  invariant6(syncState, "Sync state for document not found", {
2198
2201
  F: __dxlog_file7,
2199
- L: 162,
2202
+ L: 165,
2200
2203
  S: this,
2201
2204
  A: [
2202
2205
  "syncState",
@@ -2214,8 +2217,8 @@ var DocumentsSynchronizer = class extends Resource5 {
2214
2217
  }
2215
2218
  };
2216
2219
 
2217
- // packages/core/echo/echo-pipeline/src/db-host/data-service.ts
2218
- var __dxlog_file8 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/db-host/data-service.ts";
2220
+ // src/db-host/data-service.ts
2221
+ var __dxlog_file8 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/db-host/data-service.ts";
2219
2222
  var DataServiceImpl = class {
2220
2223
  constructor(params) {
2221
2224
  /**
@@ -2356,8 +2359,8 @@ var DataServiceImpl = class {
2356
2359
  }
2357
2360
  };
2358
2361
 
2359
- // packages/core/echo/echo-pipeline/src/db-host/echo-host.ts
2360
- import { LifecycleState as LifecycleState5, Resource as Resource9 } from "@dxos/context";
2362
+ // src/db-host/echo-host.ts
2363
+ import { LifecycleState as LifecycleState6, Resource as Resource9 } from "@dxos/context";
2361
2364
  import { todo } from "@dxos/debug";
2362
2365
  import { createIdFromSpaceKey as createIdFromSpaceKey2, SpaceDocVersion as SpaceDocVersion3 } from "@dxos/echo-protocol";
2363
2366
  import { IndexMetadataStore, IndexStore, Indexer } from "@dxos/indexing";
@@ -2365,14 +2368,14 @@ import { invariant as invariant13 } from "@dxos/invariant";
2365
2368
  import { IndexKind } from "@dxos/protocols/proto/dxos/echo/indexing";
2366
2369
  import { trace as trace5 } from "@dxos/tracing";
2367
2370
 
2368
- // packages/core/echo/echo-pipeline/src/db-host/documents-iterator.ts
2371
+ // src/db-host/documents-iterator.ts
2369
2372
  import * as A3 from "@automerge/automerge";
2370
2373
  import { Context as Context2 } from "@dxos/context";
2371
2374
  import { DatabaseDirectory as DatabaseDirectory2, SpaceDocVersion } from "@dxos/echo-protocol";
2372
2375
  import { invariant as invariant8 } from "@dxos/invariant";
2373
2376
  import { log as log8 } from "@dxos/log";
2374
2377
  import { ObjectPointerVersion, objectPointerCodec as objectPointerCodec2 } from "@dxos/protocols";
2375
- var __dxlog_file9 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/db-host/documents-iterator.ts";
2378
+ var __dxlog_file9 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/db-host/documents-iterator.ts";
2376
2379
  var LOG_VIEW_OPERATION_THRESHOLD = 300;
2377
2380
  var createSelectedDocumentsIterator = (automergeHost) => (
2378
2381
  /**
@@ -2453,7 +2456,7 @@ var createSelectedDocumentsIterator = (automergeHost) => (
2453
2456
  }
2454
2457
  );
2455
2458
 
2456
- // packages/core/echo/echo-pipeline/src/db-host/query-service.ts
2459
+ // src/db-host/query-service.ts
2457
2460
  import { getHeads as getHeads3 } from "@automerge/automerge";
2458
2461
  import { Schema } from "effect";
2459
2462
  import { DeferredTask, scheduleMicroTask, synchronized as synchronized2 } from "@dxos/async";
@@ -2465,9 +2468,9 @@ import { log as log10 } from "@dxos/log";
2465
2468
  import { objectPointerCodec as objectPointerCodec4 } from "@dxos/protocols";
2466
2469
  import { trace as trace4 } from "@dxos/tracing";
2467
2470
 
2468
- // packages/core/echo/echo-pipeline/src/query/query-executor.ts
2471
+ // src/query/query-executor.ts
2469
2472
  import { Match } from "effect";
2470
- import { Context as Context3, ContextDisposedError, LifecycleState as LifecycleState3, Resource as Resource6 } from "@dxos/context";
2473
+ import { Context as Context3, ContextDisposedError, LifecycleState as LifecycleState4, Resource as Resource6 } from "@dxos/context";
2471
2474
  import { DatabaseDirectory as DatabaseDirectory3, isEncodedReference, ObjectStructure } from "@dxos/echo-protocol";
2472
2475
  import { EscapedPropPath } from "@dxos/indexing";
2473
2476
  import { invariant as invariant10 } from "@dxos/invariant";
@@ -2476,15 +2479,15 @@ import { log as log9 } from "@dxos/log";
2476
2479
  import { objectPointerCodec as objectPointerCodec3 } from "@dxos/protocols";
2477
2480
  import { getDeep, isNonNullable as isNonNullable2 } from "@dxos/util";
2478
2481
 
2479
- // packages/core/echo/echo-pipeline/src/query/query-planner.ts
2482
+ // src/query/query-planner.ts
2480
2483
  import { invariant as invariant9 } from "@dxos/invariant";
2481
2484
 
2482
- // packages/core/echo/echo-pipeline/src/query/errors.ts
2485
+ // src/query/errors.ts
2483
2486
  import { BaseError } from "@dxos/errors";
2484
2487
  var QueryError = class extends BaseError.extend("QUERY_ERROR") {
2485
2488
  };
2486
2489
 
2487
- // packages/core/echo/echo-pipeline/src/query/plan.ts
2490
+ // src/query/plan.ts
2488
2491
  (function(QueryPlan2) {
2489
2492
  QueryPlan2.Plan = Object.freeze({
2490
2493
  make: (steps) => ({
@@ -2505,8 +2508,8 @@ var QueryError = class extends BaseError.extend("QUERY_ERROR") {
2505
2508
  })(QueryPlan || (QueryPlan = {}));
2506
2509
  var QueryPlan;
2507
2510
 
2508
- // packages/core/echo/echo-pipeline/src/query/query-planner.ts
2509
- var __dxlog_file10 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/query/query-planner.ts";
2511
+ // src/query/query-planner.ts
2512
+ var __dxlog_file10 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/query/query-planner.ts";
2510
2513
  var DEFAULT_OPTIONS = {
2511
2514
  defaultTextSearchKind: "full-text"
2512
2515
  };
@@ -2950,8 +2953,8 @@ var isTrivialTypenameFilter = (filter) => {
2950
2953
  return filter.type === "object" && filter.typename !== null && Object.keys(filter.props).length === 0 && (filter.id === void 0 || filter.id.length === 0) && (filter.foreignKeys === void 0 || filter.foreignKeys.length === 0);
2951
2954
  };
2952
2955
 
2953
- // packages/core/echo/echo-pipeline/src/query/query-executor.ts
2954
- var __dxlog_file11 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/query/query-executor.ts";
2956
+ // src/query/query-executor.ts
2957
+ var __dxlog_file11 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/query/query-executor.ts";
2955
2958
  var ExecutionTrace = Object.freeze({
2956
2959
  makeEmpty: () => ({
2957
2960
  name: "Empty",
@@ -3014,7 +3017,7 @@ var QueryExecutor = class extends Resource6 {
3014
3017
  }));
3015
3018
  }
3016
3019
  async execQuery() {
3017
- invariant10(this._lifecycleState === LifecycleState3.OPEN, void 0, {
3020
+ invariant10(this._lifecycleState === LifecycleState4.OPEN, void 0, {
3018
3021
  F: __dxlog_file11,
3019
3022
  L: 173,
3020
3023
  S: this,
@@ -3513,14 +3516,14 @@ var QueryExecutor = class extends Resource6 {
3513
3516
  }
3514
3517
  };
3515
3518
 
3516
- // packages/core/echo/echo-pipeline/src/db-host/query-service.ts
3519
+ // src/db-host/query-service.ts
3517
3520
  function _ts_decorate5(decorators, target, key, desc) {
3518
3521
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3519
3522
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3520
3523
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3521
3524
  return c > 3 && r && Object.defineProperty(target, key, r), r;
3522
3525
  }
3523
- var __dxlog_file12 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/db-host/query-service.ts";
3526
+ var __dxlog_file12 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/db-host/query-service.ts";
3524
3527
  var QueryServiceImpl = class extends Resource7 {
3525
3528
  // TODO(burdon): OK for options, but not params. Pass separately and type readonly here.
3526
3529
  constructor(_params) {
@@ -3552,6 +3555,18 @@ var QueryServiceImpl = class extends Resource7 {
3552
3555
  }
3553
3556
  execQuery(request) {
3554
3557
  return new Stream2(({ next, close, ctx }) => {
3558
+ if (this._params.indexer.config?.enabled !== true) {
3559
+ log10.error("indexer is disabled", {
3560
+ config: this._params.indexer.config
3561
+ }, {
3562
+ F: __dxlog_file12,
3563
+ L: 100,
3564
+ S: this,
3565
+ C: (f, a) => f(...a)
3566
+ });
3567
+ close();
3568
+ return;
3569
+ }
3555
3570
  const queryEntry = this._createQuery(ctx, request, next, close, close);
3556
3571
  scheduleMicroTask(ctx, async () => {
3557
3572
  await queryEntry.executor.open();
@@ -3567,7 +3582,7 @@ var QueryServiceImpl = class extends Resource7 {
3567
3582
  async reindex() {
3568
3583
  log10("Reindexing all documents...", void 0, {
3569
3584
  F: __dxlog_file12,
3570
- L: 113,
3585
+ L: 119,
3571
3586
  S: this,
3572
3587
  C: (f, a) => f(...a)
3573
3588
  });
@@ -3582,7 +3597,7 @@ var QueryServiceImpl = class extends Resource7 {
3582
3597
  count: ids.size
3583
3598
  }, {
3584
3599
  F: __dxlog_file12,
3585
- L: 121,
3600
+ L: 127,
3586
3601
  S: this,
3587
3602
  C: (f, a) => f(...a)
3588
3603
  });
@@ -3592,7 +3607,7 @@ var QueryServiceImpl = class extends Resource7 {
3592
3607
  count: ids.size
3593
3608
  }, {
3594
3609
  F: __dxlog_file12,
3595
- L: 125,
3610
+ L: 131,
3596
3611
  S: this,
3597
3612
  C: (f, a) => f(...a)
3598
3613
  });
@@ -3658,7 +3673,7 @@ var QueryServiceImpl = class extends Resource7 {
3658
3673
  } catch (err) {
3659
3674
  log10.catch(err, void 0, {
3660
3675
  F: __dxlog_file12,
3661
- L: 196,
3676
+ L: 202,
3662
3677
  S: this,
3663
3678
  C: (f, a) => f(...a)
3664
3679
  });
@@ -3669,7 +3684,7 @@ var QueryServiceImpl = class extends Resource7 {
3669
3684
  duration: performance.now() - begin
3670
3685
  }, {
3671
3686
  F: __dxlog_file12,
3672
- L: 200,
3687
+ L: 206,
3673
3688
  S: this,
3674
3689
  C: (f, a) => f(...a)
3675
3690
  });
@@ -3720,7 +3735,7 @@ var createDocumentsIterator = (automergeHost) => (
3720
3735
  }
3721
3736
  const linkHandle = await automergeHost.loadDoc(Context4.default(void 0, {
3722
3737
  F: __dxlog_file12,
3723
- L: 240
3738
+ L: 246
3724
3739
  }), urlString);
3725
3740
  for await (const result of getObjectsFromHandle(linkHandle)) {
3726
3741
  yield result;
@@ -3741,22 +3756,22 @@ var createDocumentsIterator = (automergeHost) => (
3741
3756
  }
3742
3757
  );
3743
3758
 
3744
- // packages/core/echo/echo-pipeline/src/db-host/space-state-manager.ts
3759
+ // src/db-host/space-state-manager.ts
3745
3760
  import { interpretAsDocumentId as interpretAsDocumentId3 } from "@automerge/automerge-repo";
3746
3761
  import isEqual from "lodash.isequal";
3747
3762
  import { Event as Event3, UpdateScheduler as UpdateScheduler3 } from "@dxos/async";
3748
- import { Resource as Resource8, Context as Context5, LifecycleState as LifecycleState4 } from "@dxos/context";
3763
+ import { Resource as Resource8, Context as Context5, LifecycleState as LifecycleState5 } from "@dxos/context";
3749
3764
  import { invariant as invariant12 } from "@dxos/invariant";
3750
3765
 
3751
- // packages/core/echo/echo-pipeline/src/db-host/database-root.ts
3766
+ // src/db-host/database-root.ts
3752
3767
  import { interpretAsDocumentId as interpretAsDocumentId2 } from "@automerge/automerge-repo";
3753
3768
  import { DatabaseDirectory as DatabaseDirectory5, SpaceDocVersion as SpaceDocVersion2 } from "@dxos/echo-protocol";
3754
3769
  import { invariant as invariant11 } from "@dxos/invariant";
3755
3770
 
3756
- // packages/core/echo/echo-pipeline/src/db-host/automerge-metrics.ts
3771
+ // src/db-host/automerge-metrics.ts
3757
3772
  import * as A4 from "@automerge/automerge";
3758
3773
  import { log as log11 } from "@dxos/log";
3759
- var __dxlog_file13 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/db-host/automerge-metrics.ts";
3774
+ var __dxlog_file13 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/db-host/automerge-metrics.ts";
3760
3775
  var measureDocMetrics = (doc) => {
3761
3776
  const snapshot = A4.save(doc);
3762
3777
  const start = Date.now();
@@ -3783,8 +3798,8 @@ var measureDocMetrics = (doc) => {
3783
3798
  };
3784
3799
  };
3785
3800
 
3786
- // packages/core/echo/echo-pipeline/src/db-host/database-root.ts
3787
- var __dxlog_file14 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/db-host/database-root.ts";
3801
+ // src/db-host/database-root.ts
3802
+ var __dxlog_file14 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/db-host/database-root.ts";
3788
3803
  var DatabaseRoot = class {
3789
3804
  static mapLinks(doc, mapping) {
3790
3805
  doc.change((d) => {
@@ -3867,8 +3882,8 @@ var DatabaseRoot = class {
3867
3882
  }
3868
3883
  };
3869
3884
 
3870
- // packages/core/echo/echo-pipeline/src/db-host/space-state-manager.ts
3871
- var __dxlog_file15 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/db-host/space-state-manager.ts";
3885
+ // src/db-host/space-state-manager.ts
3886
+ var __dxlog_file15 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/db-host/space-state-manager.ts";
3872
3887
  var SpaceStateManager = class extends Resource8 {
3873
3888
  constructor() {
3874
3889
  super(...arguments);
@@ -3894,7 +3909,7 @@ var SpaceStateManager = class extends Resource8 {
3894
3909
  return this._rootBySpace.get(spaceId);
3895
3910
  }
3896
3911
  getRootBySpaceId(spaceId) {
3897
- invariant12(this._lifecycleState === LifecycleState4.OPEN, void 0, {
3912
+ invariant12(this._lifecycleState === LifecycleState5.OPEN, void 0, {
3898
3913
  F: __dxlog_file15,
3899
3914
  L: 44,
3900
3915
  S: this,
@@ -3960,8 +3975,8 @@ var SpaceDocumentListUpdatedEvent = class {
3960
3975
  }
3961
3976
  };
3962
3977
 
3963
- // packages/core/echo/echo-pipeline/src/db-host/echo-host.ts
3964
- var __dxlog_file16 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/db-host/echo-host.ts";
3978
+ // src/db-host/echo-host.ts
3979
+ var __dxlog_file16 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/db-host/echo-host.ts";
3965
3980
  var DEFAULT_INDEXING_CONFIG = {
3966
3981
  // TODO(dmaretskyi): Disabled by default since embedding generation is expensive.
3967
3982
  fullText: false,
@@ -4135,7 +4150,7 @@ var EchoHost = class extends Resource9 {
4135
4150
  * Create new space root.
4136
4151
  */
4137
4152
  async createSpaceRoot(spaceKey) {
4138
- invariant13(this._lifecycleState === LifecycleState5.OPEN, void 0, {
4153
+ invariant13(this._lifecycleState === LifecycleState6.OPEN, void 0, {
4139
4154
  F: __dxlog_file16,
4140
4155
  L: 255,
4141
4156
  S: this,
@@ -4163,7 +4178,7 @@ var EchoHost = class extends Resource9 {
4163
4178
  }
4164
4179
  // TODO(dmaretskyi): Change to document id.
4165
4180
  async openSpaceRoot(spaceId, automergeUrl) {
4166
- invariant13(this._lifecycleState === LifecycleState5.OPEN, void 0, {
4181
+ invariant13(this._lifecycleState === LifecycleState6.OPEN, void 0, {
4167
4182
  F: __dxlog_file16,
4168
4183
  L: 274,
4169
4184
  S: this,
@@ -4194,7 +4209,7 @@ var EchoHost = class extends Resource9 {
4194
4209
  }
4195
4210
  };
4196
4211
 
4197
- // packages/core/echo/echo-pipeline/src/edge/echo-edge-replicator.ts
4212
+ // src/edge/echo-edge-replicator.ts
4198
4213
  import { cbor as cbor2 } from "@automerge/automerge-repo";
4199
4214
  import { Mutex, scheduleTask as scheduleTask2, scheduleMicroTask as scheduleMicroTask2 } from "@dxos/async";
4200
4215
  import { Context as Context6, Resource as Resource11 } from "@dxos/context";
@@ -4206,11 +4221,11 @@ import { buf } from "@dxos/protocols/buf";
4206
4221
  import { MessageSchema as RouterMessageSchema } from "@dxos/protocols/buf/dxos/edge/messenger_pb";
4207
4222
  import { bufferToArray as bufferToArray2 } from "@dxos/util";
4208
4223
 
4209
- // packages/core/echo/echo-pipeline/src/edge/inflight-request-limiter.ts
4224
+ // src/edge/inflight-request-limiter.ts
4210
4225
  import { Trigger as Trigger2 } from "@dxos/async";
4211
4226
  import { Resource as Resource10 } from "@dxos/context";
4212
4227
  import { log as log12 } from "@dxos/log";
4213
- var __dxlog_file17 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/edge/inflight-request-limiter.ts";
4228
+ var __dxlog_file17 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/edge/inflight-request-limiter.ts";
4214
4229
  var InflightRequestLimiter = class extends Resource10 {
4215
4230
  constructor(_config) {
4216
4231
  super(), this._config = _config, this._inflightRequestBalance = 0, this._requestBarrier = new Trigger2();
@@ -4259,7 +4274,7 @@ var InflightRequestLimiter = class extends Resource10 {
4259
4274
  }
4260
4275
  };
4261
4276
 
4262
- // packages/core/echo/echo-pipeline/src/edge/echo-edge-replicator.ts
4277
+ // src/edge/echo-edge-replicator.ts
4263
4278
  function _ts_add_disposable_resource(env, value, async) {
4264
4279
  if (value !== null && value !== void 0) {
4265
4280
  if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
@@ -4325,7 +4340,7 @@ function _ts_dispose_resources(env) {
4325
4340
  return next();
4326
4341
  })(env);
4327
4342
  }
4328
- var __dxlog_file18 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/edge/echo-edge-replicator.ts";
4343
+ var __dxlog_file18 = "/__w/dxos/dxos/packages/core/echo/echo-pipeline/src/edge/echo-edge-replicator.ts";
4329
4344
  var INITIAL_RESTART_DELAY = 500;
4330
4345
  var RESTART_DELAY_JITTER = 250;
4331
4346
  var MAX_RESTART_DELAY = 5e3;
@@ -4475,9 +4490,25 @@ var EchoEdgeReplicator = class {
4475
4490
  context: this._context,
4476
4491
  sharedPolicyEnabled: this._sharePolicyEnabled,
4477
4492
  onRemoteConnected: async () => {
4493
+ log13.trace("dxos.echo.edge.replicator.onRemoteConnected", {
4494
+ spaceId
4495
+ }, {
4496
+ F: __dxlog_file18,
4497
+ L: 135,
4498
+ S: this,
4499
+ C: (f, a) => f(...a)
4500
+ });
4478
4501
  this._context?.onConnectionOpen(connection);
4479
4502
  },
4480
4503
  onRemoteDisconnected: async () => {
4504
+ log13.trace("dxos.echo.edge.replicator.onRemoteDisconnected", {
4505
+ spaceId
4506
+ }, {
4507
+ F: __dxlog_file18,
4508
+ L: 139,
4509
+ S: this,
4510
+ C: (f, a) => f(...a)
4511
+ });
4481
4512
  this._context?.onConnectionClosed(connection);
4482
4513
  },
4483
4514
  onRestartRequested: async () => {
@@ -4491,7 +4522,7 @@ var EchoEdgeReplicator = class {
4491
4522
  restartDelay
4492
4523
  }, {
4493
4524
  F: __dxlog_file18,
4494
- L: 148,
4525
+ L: 150,
4495
4526
  S: this,
4496
4527
  C: (f, a) => f(...a)
4497
4528
  });
@@ -4513,6 +4544,16 @@ var EchoEdgeReplicator = class {
4513
4544
  if (ctx?.disposed) {
4514
4545
  return;
4515
4546
  }
4547
+ log13.trace("dxos.echo.edge.replicator.restart", {
4548
+ spaceId,
4549
+ reconnects,
4550
+ restartDelay
4551
+ }, {
4552
+ F: __dxlog_file18,
4553
+ L: 167,
4554
+ S: this,
4555
+ C: (f, a) => f(...a)
4556
+ });
4516
4557
  await this._openConnection(spaceId, reconnects + 1);
4517
4558
  } catch (e) {
4518
4559
  env.error = e;
@@ -4561,7 +4602,7 @@ var EdgeReplicatorConnection = class extends Resource11 {
4561
4602
  async _open(ctx) {
4562
4603
  log13("opening...", void 0, {
4563
4604
  F: __dxlog_file18,
4564
- L: 251,
4605
+ L: 254,
4565
4606
  S: this,
4566
4607
  C: (f, a) => f(...a)
4567
4608
  });
@@ -4569,12 +4610,29 @@ var EdgeReplicatorConnection = class extends Resource11 {
4569
4610
  this._ctx.onDispose(this._edgeConnection.onMessage((msg) => {
4570
4611
  this._onMessage(msg);
4571
4612
  }));
4613
+ let firstReconnect = true;
4614
+ this._ctx.onDispose(
4615
+ // NOTE: This will fire immediately if the connection is already open.
4616
+ this._edgeConnection.onReconnected(async () => {
4617
+ if (firstReconnect) {
4618
+ log13.verbose("first reconnect skipped", void 0, {
4619
+ F: __dxlog_file18,
4620
+ L: 269,
4621
+ S: this,
4622
+ C: (f, a) => f(...a)
4623
+ });
4624
+ firstReconnect = false;
4625
+ return;
4626
+ }
4627
+ this._onRestartRequested();
4628
+ })
4629
+ );
4572
4630
  await this._onRemoteConnected();
4573
4631
  }
4574
4632
  async _close() {
4575
4633
  log13("closing...", void 0, {
4576
4634
  F: __dxlog_file18,
4577
- L: 266,
4635
+ L: 282,
4578
4636
  S: this,
4579
4637
  C: (f, a) => f(...a)
4580
4638
  });
@@ -4585,7 +4643,7 @@ var EdgeReplicatorConnection = class extends Resource11 {
4585
4643
  get peerId() {
4586
4644
  invariant14(this._remotePeerId, "Not connected", {
4587
4645
  F: __dxlog_file18,
4588
- L: 275,
4646
+ L: 291,
4589
4647
  S: this,
4590
4648
  A: [
4591
4649
  "this._remotePeerId",
@@ -4610,7 +4668,7 @@ var EdgeReplicatorConnection = class extends Resource11 {
4610
4668
  remoteId: this._remotePeerId
4611
4669
  }, {
4612
4670
  F: __dxlog_file18,
4613
- L: 290,
4671
+ L: 306,
4614
4672
  S: this,
4615
4673
  C: (f, a) => f(...a)
4616
4674
  });
@@ -4636,7 +4694,7 @@ var EdgeReplicatorConnection = class extends Resource11 {
4636
4694
  remoteId: this._remotePeerId
4637
4695
  }, {
4638
4696
  F: __dxlog_file18,
4639
- L: 319,
4697
+ L: 335,
4640
4698
  S: this,
4641
4699
  C: (f, a) => f(...a)
4642
4700
  });
@@ -4659,26 +4717,37 @@ var EdgeReplicatorConnection = class extends Resource11 {
4659
4717
  remoteId: this._remotePeerId
4660
4718
  }, {
4661
4719
  F: __dxlog_file18,
4662
- L: 348,
4720
+ L: 364,
4663
4721
  S: this,
4664
4722
  C: (f, a) => f(...a)
4665
4723
  });
4666
4724
  const encoded = cbor2.encode(message);
4667
- await this._edgeConnection.send(buf.create(RouterMessageSchema, {
4668
- serviceId: this._targetServiceId,
4669
- source: {
4670
- identityKey: this._edgeConnection.identityKey,
4671
- peerKey: this._edgeConnection.peerKey
4672
- },
4673
- payload: {
4674
- value: bufferToArray2(encoded)
4675
- }
4676
- }));
4725
+ try {
4726
+ await this._edgeConnection.send(buf.create(RouterMessageSchema, {
4727
+ serviceId: this._targetServiceId,
4728
+ source: {
4729
+ identityKey: this._edgeConnection.identityKey,
4730
+ peerKey: this._edgeConnection.peerKey
4731
+ },
4732
+ payload: {
4733
+ value: bufferToArray2(encoded)
4734
+ }
4735
+ }));
4736
+ } catch (err) {
4737
+ log13.error("failed to send message", {
4738
+ err
4739
+ }, {
4740
+ F: __dxlog_file18,
4741
+ L: 384,
4742
+ S: this,
4743
+ C: (f, a) => f(...a)
4744
+ });
4745
+ }
4677
4746
  }
4678
4747
  };
4679
4748
  var isForbiddenErrorMessage = (message) => message.type === "error" && message.message === "Forbidden";
4680
4749
 
4681
- // packages/core/echo/echo-pipeline/src/util.ts
4750
+ // src/util.ts
4682
4751
  import { decodeReference, ObjectStructure as ObjectStructure2 } from "@dxos/echo-protocol";
4683
4752
  var findInlineObjectOfType = (spaceDoc, typename) => {
4684
4753
  for (const id in spaceDoc.objects ?? {}) {