@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.
- package/dist/lib/browser/{chunk-TQJTKNMS.mjs → chunk-KQYT6ADL.mjs} +109 -3
- package/dist/lib/browser/chunk-KQYT6ADL.mjs.map +7 -0
- package/dist/lib/browser/{chunk-35I6ERLG.mjs → chunk-XGG76KKU.mjs} +513 -350
- package/dist/lib/browser/chunk-XGG76KKU.mjs.map +7 -0
- package/dist/lib/browser/filter/index.mjs +3 -1
- package/dist/lib/browser/index.mjs +1371 -601
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +119 -56
- package/dist/lib/browser/testing/index.mjs.map +3 -3
- package/dist/lib/node-esm/{chunk-5BHLPT24.mjs → chunk-CHMJJ4DG.mjs} +513 -350
- package/dist/lib/node-esm/chunk-CHMJJ4DG.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-RVK35BS7.mjs → chunk-W4ACY3YC.mjs} +109 -3
- package/dist/lib/node-esm/chunk-W4ACY3YC.mjs.map +7 -0
- package/dist/lib/node-esm/filter/index.mjs +3 -1
- package/dist/lib/node-esm/index.mjs +1371 -601
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/testing/index.mjs +119 -56
- package/dist/lib/node-esm/testing/index.mjs.map +3 -3
- package/dist/types/src/automerge/automerge-host.d.ts +15 -28
- package/dist/types/src/automerge/automerge-host.d.ts.map +1 -1
- package/dist/types/src/automerge/collection-synchronizer.d.ts +1 -1
- package/dist/types/src/automerge/collection-synchronizer.d.ts.map +1 -1
- package/dist/types/src/automerge/echo-network-adapter.d.ts +8 -1
- package/dist/types/src/automerge/echo-network-adapter.d.ts.map +1 -1
- package/dist/types/src/automerge/echo-replicator.d.ts +21 -2
- package/dist/types/src/automerge/echo-replicator.d.ts.map +1 -1
- package/dist/types/src/automerge/index.d.ts +1 -1
- package/dist/types/src/automerge/index.d.ts.map +1 -1
- package/dist/types/src/automerge/leveldb-storage-adapter.d.ts +1 -1
- package/dist/types/src/automerge/leveldb-storage-adapter.d.ts.map +1 -1
- package/dist/types/src/automerge/mesh-echo-replicator-connection.d.ts +1 -0
- package/dist/types/src/automerge/mesh-echo-replicator-connection.d.ts.map +1 -1
- package/dist/types/src/automerge/mesh-echo-replicator.d.ts.map +1 -1
- package/dist/types/src/common/codec.d.ts +1 -1
- package/dist/types/src/common/codec.d.ts.map +1 -1
- package/dist/types/src/db-host/data-service.d.ts +2 -2
- package/dist/types/src/db-host/data-service.d.ts.map +1 -1
- package/dist/types/src/db-host/database-root.d.ts.map +1 -1
- package/dist/types/src/db-host/documents-synchronizer.d.ts +2 -2
- package/dist/types/src/db-host/documents-synchronizer.d.ts.map +1 -1
- package/dist/types/src/db-host/echo-host.d.ts +2 -2
- package/dist/types/src/db-host/echo-host.d.ts.map +1 -1
- package/dist/types/src/db-host/query-service.d.ts +1 -1
- package/dist/types/src/db-host/query-service.d.ts.map +1 -1
- package/dist/types/src/db-host/space-state-manager.d.ts +1 -1
- package/dist/types/src/db-host/space-state-manager.d.ts.map +1 -1
- package/dist/types/src/edge/echo-edge-replicator.d.ts +4 -2
- package/dist/types/src/edge/echo-edge-replicator.d.ts.map +1 -1
- package/dist/types/src/filter/filter-match.d.ts +4 -1
- package/dist/types/src/filter/filter-match.d.ts.map +1 -1
- package/dist/types/src/metadata/metadata-store.d.ts +1 -1
- package/dist/types/src/metadata/metadata-store.d.ts.map +1 -1
- package/dist/types/src/pipeline/pipeline.d.ts +1 -1
- package/dist/types/src/pipeline/pipeline.d.ts.map +1 -1
- package/dist/types/src/query/errors.d.ts +24 -8
- package/dist/types/src/query/errors.d.ts.map +1 -1
- package/dist/types/src/query/plan.d.ts +8 -1
- package/dist/types/src/query/plan.d.ts.map +1 -1
- package/dist/types/src/query/query-executor.d.ts +4 -1
- package/dist/types/src/query/query-executor.d.ts.map +1 -1
- package/dist/types/src/query/query-planner.d.ts +2 -0
- package/dist/types/src/query/query-planner.d.ts.map +1 -1
- package/dist/types/src/space/admission-discovery-extension.d.ts.map +1 -1
- package/dist/types/src/space/control-pipeline.d.ts +1 -1
- package/dist/types/src/space/control-pipeline.d.ts.map +1 -1
- package/dist/types/src/space/space-manager.d.ts +1 -1
- package/dist/types/src/space/space-manager.d.ts.map +1 -1
- package/dist/types/src/space/space-protocol.d.ts +1 -1
- package/dist/types/src/space/space-protocol.d.ts.map +1 -1
- package/dist/types/src/space/space.d.ts +1 -1
- package/dist/types/src/space/space.d.ts.map +1 -1
- package/dist/types/src/testing/test-agent-builder.d.ts +2 -2
- package/dist/types/src/testing/test-agent-builder.d.ts.map +1 -1
- package/dist/types/src/testing/test-replicator.d.ts +1 -0
- package/dist/types/src/testing/test-replicator.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +1 -1
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +42 -38
- package/src/automerge/automerge-host.test.ts +18 -8
- package/src/automerge/automerge-host.ts +251 -65
- package/src/automerge/automerge-repo.test.ts +67 -16
- package/src/automerge/collection-synchronizer.test.ts +2 -2
- package/src/automerge/collection-synchronizer.ts +4 -4
- package/src/automerge/echo-data-monitor.ts +1 -1
- package/src/automerge/echo-network-adapter.test.ts +3 -3
- package/src/automerge/echo-network-adapter.ts +40 -7
- package/src/automerge/echo-replicator.ts +23 -2
- package/src/automerge/index.ts +1 -1
- package/src/automerge/leveldb-storage-adapter.ts +7 -7
- package/src/automerge/mesh-echo-replicator-connection.ts +4 -0
- package/src/automerge/mesh-echo-replicator.ts +2 -1
- package/src/automerge/storage-adapter.test.ts +1 -1
- package/src/common/space-id.ts +1 -1
- package/src/db-host/data-service.ts +9 -17
- package/src/db-host/database-root.ts +2 -2
- package/src/db-host/documents-synchronizer.test.ts +1 -1
- package/src/db-host/documents-synchronizer.ts +39 -26
- package/src/db-host/echo-host.ts +13 -14
- package/src/db-host/query-service.ts +8 -1
- package/src/db-host/space-state-manager.ts +2 -2
- package/src/edge/echo-edge-replicator.test.ts +5 -3
- package/src/edge/echo-edge-replicator.ts +75 -18
- package/src/filter/filter-match.test.ts +23 -3
- package/src/filter/filter-match.ts +148 -3
- package/src/metadata/metadata-store.ts +3 -3
- package/src/pipeline/pipeline-stress.test.ts +4 -2
- package/src/pipeline/pipeline.test.ts +3 -2
- package/src/pipeline/pipeline.ts +8 -5
- package/src/query/errors.ts +2 -0
- package/src/query/plan.ts +12 -1
- package/src/query/query-executor.ts +66 -11
- package/src/query/query-planner.test.ts +146 -2
- package/src/query/query-planner.ts +52 -8
- package/src/space/admission-discovery-extension.ts +2 -2
- package/src/space/control-pipeline.test.ts +4 -3
- package/src/space/control-pipeline.ts +9 -6
- package/src/space/space-manager.browser.test.ts +1 -1
- package/src/space/space-manager.ts +5 -4
- package/src/space/space-protocol.browser.test.ts +2 -2
- package/src/space/space-protocol.test.ts +3 -2
- package/src/space/space-protocol.ts +6 -3
- package/src/space/space.test.ts +1 -1
- package/src/space/space.ts +3 -2
- package/src/testing/test-agent-builder.ts +4 -3
- package/src/testing/test-replicator.ts +4 -0
- package/src/util.ts +1 -1
- package/dist/lib/browser/chunk-35I6ERLG.mjs.map +0 -7
- package/dist/lib/browser/chunk-TQJTKNMS.mjs.map +0 -7
- package/dist/lib/node/chunk-HOPOFWAL.cjs +0 -147
- package/dist/lib/node/chunk-HOPOFWAL.cjs.map +0 -7
- package/dist/lib/node/chunk-JXX6LF5U.cjs +0 -2084
- package/dist/lib/node/chunk-JXX6LF5U.cjs.map +0 -7
- package/dist/lib/node/chunk-Q7SFCCGT.cjs +0 -33
- package/dist/lib/node/chunk-Q7SFCCGT.cjs.map +0 -7
- package/dist/lib/node/filter/index.cjs +0 -32
- package/dist/lib/node/filter/index.cjs.map +0 -7
- package/dist/lib/node/index.cjs +0 -4699
- package/dist/lib/node/index.cjs.map +0 -7
- package/dist/lib/node/meta.json +0 -1
- package/dist/lib/node/testing/index.cjs +0 -753
- package/dist/lib/node/testing/index.cjs.map +0 -7
- package/dist/lib/node-esm/chunk-5BHLPT24.mjs.map +0 -7
- 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
|
+
"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.
|
|
44
|
-
"@automerge/automerge-repo": "2.0.
|
|
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.
|
|
50
|
+
"effect": "3.17.7",
|
|
47
51
|
"level-transcoder": "^1.0.1",
|
|
48
52
|
"lodash.isequal": "^4.5.0",
|
|
49
|
-
"@dxos/
|
|
50
|
-
"@dxos/
|
|
51
|
-
"@dxos/
|
|
52
|
-
"@dxos/
|
|
53
|
-
"@dxos/
|
|
54
|
-
"@dxos/
|
|
55
|
-
"@dxos/echo": "0.8.
|
|
56
|
-
"@dxos/echo-
|
|
57
|
-
"@dxos/
|
|
58
|
-
"@dxos/
|
|
59
|
-
"@dxos/
|
|
60
|
-
"@dxos/
|
|
61
|
-
"@dxos/indexing": "0.8.
|
|
62
|
-
"@dxos/
|
|
63
|
-
"@dxos/
|
|
64
|
-
"@dxos/
|
|
65
|
-
"@dxos/
|
|
66
|
-
"@dxos/kv-store": "0.8.
|
|
67
|
-
"@dxos/log": "0.8.
|
|
68
|
-
"@dxos/messaging": "0.8.
|
|
69
|
-
"@dxos/network-manager": "0.8.
|
|
70
|
-
"@dxos/node-std": "0.8.
|
|
71
|
-
"@dxos/
|
|
72
|
-
"@dxos/
|
|
73
|
-
"@dxos/random-access-storage": "0.8.
|
|
74
|
-
"@dxos/teleport-extension-
|
|
75
|
-
"@dxos/teleport-extension-
|
|
76
|
-
"@dxos/teleport
|
|
77
|
-
"@dxos/
|
|
78
|
-
"@dxos/
|
|
79
|
-
"@dxos/tracing": "0.8.
|
|
80
|
-
"@dxos/
|
|
81
|
-
"@dxos/
|
|
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.
|
|
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 {
|
|
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
|
|
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
|
|
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
|
};
|