@dxos/echo-pipeline 0.8.3 → 0.8.4-main.1da679c

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 (146) hide show
  1. package/dist/lib/browser/{chunk-TQJTKNMS.mjs → chunk-KQYT6ADL.mjs} +109 -3
  2. package/dist/lib/browser/chunk-KQYT6ADL.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-35I6ERLG.mjs → chunk-XGG76KKU.mjs} +513 -350
  4. package/dist/lib/browser/chunk-XGG76KKU.mjs.map +7 -0
  5. package/dist/lib/browser/filter/index.mjs +3 -1
  6. package/dist/lib/browser/index.mjs +1371 -601
  7. package/dist/lib/browser/index.mjs.map +4 -4
  8. package/dist/lib/browser/meta.json +1 -1
  9. package/dist/lib/browser/testing/index.mjs +119 -56
  10. package/dist/lib/browser/testing/index.mjs.map +3 -3
  11. package/dist/lib/node-esm/{chunk-5BHLPT24.mjs → chunk-CHMJJ4DG.mjs} +513 -350
  12. package/dist/lib/node-esm/chunk-CHMJJ4DG.mjs.map +7 -0
  13. package/dist/lib/node-esm/{chunk-RVK35BS7.mjs → chunk-W4ACY3YC.mjs} +109 -3
  14. package/dist/lib/node-esm/chunk-W4ACY3YC.mjs.map +7 -0
  15. package/dist/lib/node-esm/filter/index.mjs +3 -1
  16. package/dist/lib/node-esm/index.mjs +1371 -601
  17. package/dist/lib/node-esm/index.mjs.map +4 -4
  18. package/dist/lib/node-esm/meta.json +1 -1
  19. package/dist/lib/node-esm/testing/index.mjs +119 -56
  20. package/dist/lib/node-esm/testing/index.mjs.map +3 -3
  21. package/dist/types/src/automerge/automerge-host.d.ts +15 -28
  22. package/dist/types/src/automerge/automerge-host.d.ts.map +1 -1
  23. package/dist/types/src/automerge/collection-synchronizer.d.ts +1 -1
  24. package/dist/types/src/automerge/collection-synchronizer.d.ts.map +1 -1
  25. package/dist/types/src/automerge/echo-network-adapter.d.ts +8 -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 +21 -2
  28. package/dist/types/src/automerge/echo-replicator.d.ts.map +1 -1
  29. package/dist/types/src/automerge/index.d.ts +1 -1
  30. package/dist/types/src/automerge/index.d.ts.map +1 -1
  31. package/dist/types/src/automerge/leveldb-storage-adapter.d.ts +1 -1
  32. package/dist/types/src/automerge/leveldb-storage-adapter.d.ts.map +1 -1
  33. package/dist/types/src/automerge/mesh-echo-replicator-connection.d.ts +1 -0
  34. package/dist/types/src/automerge/mesh-echo-replicator-connection.d.ts.map +1 -1
  35. package/dist/types/src/automerge/mesh-echo-replicator.d.ts.map +1 -1
  36. package/dist/types/src/common/codec.d.ts +1 -1
  37. package/dist/types/src/common/codec.d.ts.map +1 -1
  38. package/dist/types/src/db-host/data-service.d.ts +2 -2
  39. package/dist/types/src/db-host/data-service.d.ts.map +1 -1
  40. package/dist/types/src/db-host/database-root.d.ts.map +1 -1
  41. package/dist/types/src/db-host/documents-synchronizer.d.ts +2 -2
  42. package/dist/types/src/db-host/documents-synchronizer.d.ts.map +1 -1
  43. package/dist/types/src/db-host/echo-host.d.ts +2 -2
  44. package/dist/types/src/db-host/echo-host.d.ts.map +1 -1
  45. package/dist/types/src/db-host/query-service.d.ts +1 -1
  46. package/dist/types/src/db-host/query-service.d.ts.map +1 -1
  47. package/dist/types/src/db-host/space-state-manager.d.ts +1 -1
  48. package/dist/types/src/db-host/space-state-manager.d.ts.map +1 -1
  49. package/dist/types/src/edge/echo-edge-replicator.d.ts +4 -2
  50. package/dist/types/src/edge/echo-edge-replicator.d.ts.map +1 -1
  51. package/dist/types/src/filter/filter-match.d.ts +4 -1
  52. package/dist/types/src/filter/filter-match.d.ts.map +1 -1
  53. package/dist/types/src/metadata/metadata-store.d.ts +1 -1
  54. package/dist/types/src/metadata/metadata-store.d.ts.map +1 -1
  55. package/dist/types/src/pipeline/pipeline.d.ts +1 -1
  56. package/dist/types/src/pipeline/pipeline.d.ts.map +1 -1
  57. package/dist/types/src/query/errors.d.ts +24 -8
  58. package/dist/types/src/query/errors.d.ts.map +1 -1
  59. package/dist/types/src/query/plan.d.ts +8 -1
  60. package/dist/types/src/query/plan.d.ts.map +1 -1
  61. package/dist/types/src/query/query-executor.d.ts +4 -1
  62. package/dist/types/src/query/query-executor.d.ts.map +1 -1
  63. package/dist/types/src/query/query-planner.d.ts +2 -0
  64. package/dist/types/src/query/query-planner.d.ts.map +1 -1
  65. package/dist/types/src/space/admission-discovery-extension.d.ts.map +1 -1
  66. package/dist/types/src/space/control-pipeline.d.ts +1 -1
  67. package/dist/types/src/space/control-pipeline.d.ts.map +1 -1
  68. package/dist/types/src/space/space-manager.d.ts +1 -1
  69. package/dist/types/src/space/space-manager.d.ts.map +1 -1
  70. package/dist/types/src/space/space-protocol.d.ts +1 -1
  71. package/dist/types/src/space/space-protocol.d.ts.map +1 -1
  72. package/dist/types/src/space/space.d.ts +1 -1
  73. package/dist/types/src/space/space.d.ts.map +1 -1
  74. package/dist/types/src/testing/test-agent-builder.d.ts +2 -2
  75. package/dist/types/src/testing/test-agent-builder.d.ts.map +1 -1
  76. package/dist/types/src/testing/test-replicator.d.ts +1 -0
  77. package/dist/types/src/testing/test-replicator.d.ts.map +1 -1
  78. package/dist/types/src/util.d.ts +1 -1
  79. package/dist/types/src/util.d.ts.map +1 -1
  80. package/dist/types/tsconfig.tsbuildinfo +1 -1
  81. package/package.json +42 -38
  82. package/src/automerge/automerge-host.test.ts +18 -8
  83. package/src/automerge/automerge-host.ts +251 -65
  84. package/src/automerge/automerge-repo.test.ts +67 -16
  85. package/src/automerge/collection-synchronizer.test.ts +2 -2
  86. package/src/automerge/collection-synchronizer.ts +4 -4
  87. package/src/automerge/echo-data-monitor.ts +1 -1
  88. package/src/automerge/echo-network-adapter.test.ts +3 -3
  89. package/src/automerge/echo-network-adapter.ts +40 -7
  90. package/src/automerge/echo-replicator.ts +23 -2
  91. package/src/automerge/index.ts +1 -1
  92. package/src/automerge/leveldb-storage-adapter.ts +7 -7
  93. package/src/automerge/mesh-echo-replicator-connection.ts +4 -0
  94. package/src/automerge/mesh-echo-replicator.ts +2 -1
  95. package/src/automerge/storage-adapter.test.ts +1 -1
  96. package/src/common/space-id.ts +1 -1
  97. package/src/db-host/data-service.ts +9 -17
  98. package/src/db-host/database-root.ts +2 -2
  99. package/src/db-host/documents-synchronizer.test.ts +1 -1
  100. package/src/db-host/documents-synchronizer.ts +39 -26
  101. package/src/db-host/echo-host.ts +13 -14
  102. package/src/db-host/query-service.ts +8 -1
  103. package/src/db-host/space-state-manager.ts +2 -2
  104. package/src/edge/echo-edge-replicator.test.ts +5 -3
  105. package/src/edge/echo-edge-replicator.ts +75 -18
  106. package/src/filter/filter-match.test.ts +23 -3
  107. package/src/filter/filter-match.ts +148 -3
  108. package/src/metadata/metadata-store.ts +3 -3
  109. package/src/pipeline/pipeline-stress.test.ts +4 -2
  110. package/src/pipeline/pipeline.test.ts +3 -2
  111. package/src/pipeline/pipeline.ts +8 -5
  112. package/src/query/errors.ts +2 -0
  113. package/src/query/plan.ts +12 -1
  114. package/src/query/query-executor.ts +66 -11
  115. package/src/query/query-planner.test.ts +146 -2
  116. package/src/query/query-planner.ts +52 -8
  117. package/src/space/admission-discovery-extension.ts +2 -2
  118. package/src/space/control-pipeline.test.ts +4 -3
  119. package/src/space/control-pipeline.ts +9 -6
  120. package/src/space/space-manager.browser.test.ts +1 -1
  121. package/src/space/space-manager.ts +5 -4
  122. package/src/space/space-protocol.browser.test.ts +2 -2
  123. package/src/space/space-protocol.test.ts +3 -2
  124. package/src/space/space-protocol.ts +6 -3
  125. package/src/space/space.test.ts +1 -1
  126. package/src/space/space.ts +3 -2
  127. package/src/testing/test-agent-builder.ts +4 -3
  128. package/src/testing/test-replicator.ts +4 -0
  129. package/src/util.ts +1 -1
  130. package/dist/lib/browser/chunk-35I6ERLG.mjs.map +0 -7
  131. package/dist/lib/browser/chunk-TQJTKNMS.mjs.map +0 -7
  132. package/dist/lib/node/chunk-HOPOFWAL.cjs +0 -147
  133. package/dist/lib/node/chunk-HOPOFWAL.cjs.map +0 -7
  134. package/dist/lib/node/chunk-JXX6LF5U.cjs +0 -2084
  135. package/dist/lib/node/chunk-JXX6LF5U.cjs.map +0 -7
  136. package/dist/lib/node/chunk-Q7SFCCGT.cjs +0 -33
  137. package/dist/lib/node/chunk-Q7SFCCGT.cjs.map +0 -7
  138. package/dist/lib/node/filter/index.cjs +0 -32
  139. package/dist/lib/node/filter/index.cjs.map +0 -7
  140. package/dist/lib/node/index.cjs +0 -4699
  141. package/dist/lib/node/index.cjs.map +0 -7
  142. package/dist/lib/node/meta.json +0 -1
  143. package/dist/lib/node/testing/index.cjs +0 -753
  144. package/dist/lib/node/testing/index.cjs.map +0 -7
  145. package/dist/lib/node-esm/chunk-5BHLPT24.mjs.map +0 -7
  146. package/dist/lib/node-esm/chunk-RVK35BS7.mjs.map +0 -7
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/echo-pipeline",
3
- "version": "0.8.3",
3
+ "version": "0.8.4-main.1da679c",
4
4
  "description": "ECHO database.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -10,16 +10,19 @@
10
10
  "type": "module",
11
11
  "exports": {
12
12
  ".": {
13
+ "source": "./src/index.ts",
13
14
  "types": "./dist/types/src/index.d.ts",
14
15
  "browser": "./dist/lib/browser/index.mjs",
15
16
  "node": "./dist/lib/node-esm/index.mjs"
16
17
  },
17
18
  "./testing": {
19
+ "source": "./src/testing/index.ts",
18
20
  "types": "./dist/types/src/testing/index.d.ts",
19
21
  "browser": "./dist/lib/browser/testing/index.mjs",
20
22
  "node": "./dist/lib/node-esm/testing/index.mjs"
21
23
  },
22
24
  "./filter": {
25
+ "source": "./src/filter/index.ts",
23
26
  "types": "./dist/types/src/filter/index.d.ts",
24
27
  "browser": "./dist/lib/browser/filter/index.mjs",
25
28
  "node": "./dist/lib/node-esm/filter/index.mjs"
@@ -40,51 +43,52 @@
40
43
  "src"
41
44
  ],
42
45
  "dependencies": {
43
- "@automerge/automerge": "3.0.0-beta.4",
44
- "@automerge/automerge-repo": "2.0.1",
46
+ "@automerge/automerge": "3.1.1",
47
+ "@automerge/automerge-repo": "2.3.0-alpha.0",
48
+ "@automerge/automerge-repo-bundles": "2.3.0-alpha.0",
45
49
  "crc-32": "^1.2.2",
46
- "effect": "3.14.21",
50
+ "effect": "3.17.7",
47
51
  "level-transcoder": "^1.0.1",
48
52
  "lodash.isequal": "^4.5.0",
49
- "@dxos/codec-protobuf": "0.8.3",
50
- "@dxos/credentials": "0.8.3",
51
- "@dxos/context": "0.8.3",
52
- "@dxos/async": "0.8.3",
53
- "@dxos/crypto": "0.8.3",
54
- "@dxos/debug": "0.8.3",
55
- "@dxos/echo": "0.8.3",
56
- "@dxos/echo-protocol": "0.8.3",
57
- "@dxos/edge-client": "0.8.3",
58
- "@dxos/echo-schema": "0.8.3",
59
- "@dxos/feed-store": "0.8.3",
60
- "@dxos/errors": "0.8.3",
61
- "@dxos/indexing": "0.8.3",
62
- "@dxos/hypercore": "0.8.3",
63
- "@dxos/invariant": "0.8.3",
64
- "@dxos/keyring": "0.8.3",
65
- "@dxos/keys": "0.8.3",
66
- "@dxos/kv-store": "0.8.3",
67
- "@dxos/log": "0.8.3",
68
- "@dxos/messaging": "0.8.3",
69
- "@dxos/network-manager": "0.8.3",
70
- "@dxos/node-std": "0.8.3",
71
- "@dxos/teleport": "0.8.3",
72
- "@dxos/protocols": "0.8.3",
73
- "@dxos/random-access-storage": "0.8.3",
74
- "@dxos/teleport-extension-automerge-replicator": "0.8.3",
75
- "@dxos/teleport-extension-gossip": "0.8.3",
76
- "@dxos/teleport-extension-object-sync": "0.8.3",
77
- "@dxos/teleport-extension-replicator": "0.8.3",
78
- "@dxos/timeframe": "0.8.3",
79
- "@dxos/tracing": "0.8.3",
80
- "@dxos/util": "0.8.3",
81
- "@dxos/typings": "0.8.3"
53
+ "@dxos/async": "0.8.4-main.1da679c",
54
+ "@dxos/codec-protobuf": "0.8.4-main.1da679c",
55
+ "@dxos/credentials": "0.8.4-main.1da679c",
56
+ "@dxos/context": "0.8.4-main.1da679c",
57
+ "@dxos/debug": "0.8.4-main.1da679c",
58
+ "@dxos/crypto": "0.8.4-main.1da679c",
59
+ "@dxos/echo": "0.8.4-main.1da679c",
60
+ "@dxos/echo-schema": "0.8.4-main.1da679c",
61
+ "@dxos/echo-protocol": "0.8.4-main.1da679c",
62
+ "@dxos/errors": "0.8.4-main.1da679c",
63
+ "@dxos/edge-client": "0.8.4-main.1da679c",
64
+ "@dxos/feed-store": "0.8.4-main.1da679c",
65
+ "@dxos/indexing": "0.8.4-main.1da679c",
66
+ "@dxos/invariant": "0.8.4-main.1da679c",
67
+ "@dxos/keyring": "0.8.4-main.1da679c",
68
+ "@dxos/keys": "0.8.4-main.1da679c",
69
+ "@dxos/hypercore": "0.8.4-main.1da679c",
70
+ "@dxos/kv-store": "0.8.4-main.1da679c",
71
+ "@dxos/log": "0.8.4-main.1da679c",
72
+ "@dxos/messaging": "0.8.4-main.1da679c",
73
+ "@dxos/network-manager": "0.8.4-main.1da679c",
74
+ "@dxos/node-std": "0.8.4-main.1da679c",
75
+ "@dxos/protocols": "0.8.4-main.1da679c",
76
+ "@dxos/teleport-extension-automerge-replicator": "0.8.4-main.1da679c",
77
+ "@dxos/random-access-storage": "0.8.4-main.1da679c",
78
+ "@dxos/teleport-extension-gossip": "0.8.4-main.1da679c",
79
+ "@dxos/teleport-extension-object-sync": "0.8.4-main.1da679c",
80
+ "@dxos/teleport": "0.8.4-main.1da679c",
81
+ "@dxos/timeframe": "0.8.4-main.1da679c",
82
+ "@dxos/teleport-extension-replicator": "0.8.4-main.1da679c",
83
+ "@dxos/tracing": "0.8.4-main.1da679c",
84
+ "@dxos/typings": "0.8.4-main.1da679c",
85
+ "@dxos/util": "0.8.4-main.1da679c"
82
86
  },
83
87
  "devDependencies": {
84
88
  "@types/lodash.isequal": "^4.5.0",
85
89
  "fast-check": "^3.19.0",
86
90
  "get-port-please": "^3.1.1",
87
- "@dxos/test-utils": "0.8.3"
91
+ "@dxos/test-utils": "0.8.4-main.1da679c"
88
92
  },
89
93
  "publishConfig": {
90
94
  "access": "public"
@@ -4,17 +4,19 @@
4
4
 
5
5
  import { getHeads } from '@automerge/automerge';
6
6
  import type { DocumentId, Heads } from '@automerge/automerge-repo';
7
- import { onTestFinished, describe, expect, test } from 'vitest';
7
+ import { describe, expect, onTestFinished, test } from 'vitest';
8
8
 
9
9
  import { IndexMetadataStore } from '@dxos/indexing';
10
+ import { PublicKey } from '@dxos/keys';
10
11
  import type { LevelDB } from '@dxos/kv-store';
11
12
  import { createTestLevel } from '@dxos/kv-store/testing';
12
13
  import { openAndClose } from '@dxos/test-utils';
13
14
  import { range } from '@dxos/util';
14
15
 
15
- import { AutomergeHost } from './automerge-host';
16
16
  import { TestReplicationNetwork } from '../testing';
17
17
 
18
+ import { AutomergeHost } from './automerge-host';
19
+
18
20
  describe('AutomergeHost', () => {
19
21
  test('can create documents', async () => {
20
22
  const level = await createLevel();
@@ -29,7 +31,6 @@ describe('AutomergeHost', () => {
29
31
 
30
32
  test('changes are preserved in storage', async () => {
31
33
  const level = await createLevel();
32
-
33
34
  const host = await setupAutomergeHost({ level });
34
35
  const handle = host.repo.create();
35
36
  handle.change((doc: any) => {
@@ -48,25 +49,29 @@ describe('AutomergeHost', () => {
48
49
  });
49
50
 
50
51
  test('query single document heads', async () => {
51
- const level = await createLevel();
52
+ const tmpPath = `/tmp/dxos-${PublicKey.random().toHex()}`;
52
53
 
54
+ const level = await createLevel(tmpPath);
53
55
  const host = await setupAutomergeHost({ level });
54
56
  const handle = host.createDoc({ text: 'Hello world' });
55
57
  const expectedHeads = getHeads(handle.doc()!);
56
58
  await host.flush();
57
59
 
58
60
  expect(await host.getHeads([handle.documentId])).toEqual([expectedHeads]);
61
+ await host.close();
62
+ await level.close();
59
63
 
60
64
  // Simulate a restart.
61
65
  {
62
- const host = await setupAutomergeHost({ level });
66
+ const host = await setupAutomergeHost({ level: await createLevel(tmpPath) });
63
67
  expect(await host.getHeads([handle.documentId])).toEqual([expectedHeads]);
64
68
  }
65
69
  });
66
70
 
67
71
  test('query multiple document heads', async () => {
68
- const level = await createLevel();
72
+ const tmpPath = `/tmp/dxos-${PublicKey.random().toHex()}`;
69
73
 
74
+ const level = await createLevel(tmpPath);
70
75
  const host = await setupAutomergeHost({ level });
71
76
  const handles = range(2, () => host.createDoc({ text: 'Hello world' }));
72
77
  const expectedHeads: (Heads | undefined)[] = handles.map((handle) => getHeads(handle.doc()!));
@@ -77,11 +82,16 @@ describe('AutomergeHost', () => {
77
82
  expectedHeads.splice(1, 0, undefined);
78
83
 
79
84
  expect(await host.getHeads(ids)).toEqual(expectedHeads);
85
+ await host.close();
86
+ await level.close();
80
87
 
81
88
  // Simulate a restart.
82
89
  {
90
+ const level = await createLevel(tmpPath);
83
91
  const host = await setupAutomergeHost({ level });
84
92
  expect(await host.getHeads(ids)).toEqual(expectedHeads);
93
+ await host.close();
94
+ await level.close();
85
95
  }
86
96
  });
87
97
 
@@ -121,8 +131,8 @@ describe('AutomergeHost', () => {
121
131
  await host2.close();
122
132
  });
123
133
 
124
- const createLevel = async () => {
125
- const level = createTestLevel();
134
+ const createLevel = async (tmpPath?: string) => {
135
+ const level = createTestLevel(tmpPath);
126
136
  await openAndClose(level);
127
137
  return level;
128
138
  };