@dxos/echo-pipeline 0.6.7 → 0.6.8-main.3be982f
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-NE5LORNQ.mjs +2028 -0
- package/dist/lib/browser/chunk-NE5LORNQ.mjs.map +7 -0
- package/dist/lib/browser/chunk-Q4B5JN6L.mjs +2150 -0
- package/dist/lib/browser/chunk-Q4B5JN6L.mjs.map +7 -0
- package/dist/lib/browser/chunk-XPCF2V5U.mjs +31 -0
- package/dist/lib/browser/chunk-XPCF2V5U.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +16 -16
- package/dist/lib/browser/light.mjs +32 -0
- package/dist/lib/browser/light.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +3 -7
- package/dist/lib/browser/testing/index.mjs.map +3 -3
- package/dist/lib/node/chunk-5KNTTBQK.cjs +2146 -0
- package/dist/lib/node/chunk-5KNTTBQK.cjs.map +7 -0
- package/dist/lib/node/chunk-DZVH7HDD.cjs +43 -0
- package/dist/lib/node/chunk-DZVH7HDD.cjs.map +7 -0
- package/dist/lib/node/chunk-IHR4UMVA.cjs +2043 -0
- package/dist/lib/node/chunk-IHR4UMVA.cjs.map +7 -0
- package/dist/lib/node/index.cjs +35 -37
- package/dist/lib/node/index.cjs.map +2 -2
- package/dist/lib/node/light.cjs +52 -0
- package/dist/lib/node/light.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/testing/index.cjs +12 -15
- package/dist/lib/node/testing/index.cjs.map +3 -3
- package/dist/types/src/automerge/automerge-host.d.ts.map +1 -1
- package/dist/types/src/automerge/network-protocol.d.ts.map +1 -1
- package/dist/types/src/common/codec.d.ts +0 -1
- package/dist/types/src/common/codec.d.ts.map +1 -1
- package/dist/types/src/common/feeds.d.ts.map +1 -1
- package/dist/types/src/common/index.d.ts +1 -0
- package/dist/types/src/common/index.d.ts.map +1 -1
- package/dist/types/src/common/space-id.d.ts +7 -0
- package/dist/types/src/common/space-id.d.ts.map +1 -0
- package/dist/types/src/db-host/index.d.ts +0 -2
- package/dist/types/src/db-host/index.d.ts.map +1 -1
- package/dist/types/src/light.d.ts +4 -0
- package/dist/types/src/light.d.ts.map +1 -0
- package/dist/types/src/pipeline/message-selector.d.ts.map +1 -1
- package/dist/types/src/space/space-manager.d.ts +1 -7
- package/dist/types/src/space/space-manager.d.ts.map +1 -1
- package/dist/types/src/space/space-protocol.d.ts +0 -1
- package/dist/types/src/space/space-protocol.d.ts.map +1 -1
- package/dist/types/src/space/space.d.ts +1 -10
- package/dist/types/src/space/space.d.ts.map +1 -1
- package/dist/types/src/testing/test-agent-builder.d.ts +0 -3
- package/dist/types/src/testing/test-agent-builder.d.ts.map +1 -1
- package/package.json +43 -33
- package/src/automerge/echo-network-adapter.ts +1 -1
- package/src/automerge/mesh-echo-replicator.ts +1 -1
- package/src/common/index.ts +1 -0
- package/src/common/space-id.ts +27 -0
- package/src/db-host/index.ts +0 -2
- package/src/light.ts +7 -0
- package/src/space/space-manager.ts +3 -19
- package/src/space/space.ts +2 -32
- package/src/testing/test-agent-builder.ts +0 -7
- package/dist/lib/browser/chunk-P6XSIJKM.mjs +0 -4281
- package/dist/lib/browser/chunk-P6XSIJKM.mjs.map +0 -7
- package/dist/lib/node/chunk-IYTGTZ7D.cjs +0 -4255
- package/dist/lib/node/chunk-IYTGTZ7D.cjs.map +0 -7
- package/dist/types/src/db-host/snapshot-manager.d.ts +0 -19
- package/dist/types/src/db-host/snapshot-manager.d.ts.map +0 -1
- package/dist/types/src/db-host/snapshot-store.d.ts +0 -16
- package/dist/types/src/db-host/snapshot-store.d.ts.map +0 -1
- package/dist/types/src/db-host/snapshot-store.test.d.ts +0 -2
- package/dist/types/src/db-host/snapshot-store.test.d.ts.map +0 -1
- package/src/db-host/snapshot-manager.ts +0 -54
- package/src/db-host/snapshot-store.test.ts +0 -31
- package/src/db-host/snapshot-store.ts +0 -61
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../../../src/common/codec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../../../src/common/codec.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,WAAW,CAAwD,CAAC;AAE9F;;GAEG;AACH,eAAO,MAAM,aAAa,wDAA6B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feeds.d.ts","sourceRoot":"","sources":["../../../../src/common/feeds.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"feeds.d.ts","sourceRoot":"","sources":["../../../../src/common/feeds.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,MAAM,SAAS,EAAE,EAAE,MAAM,SAAS,EAAE,UACjE,CAAC,GAAG,EAAE,MAAM,KAAK,YAAY,CAAC,MAAM,CAAC,UACrC,UAAU,CAAC,MAAM,CAAC,KACzB,UAAU,CAAC,MAAM,CAOnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/common/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/common/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PublicKey, SpaceId } from '@dxos/keys';
|
|
2
|
+
/**
|
|
3
|
+
* Space keys are generated by creating a keypair, and then taking the first 20 bytes of the SHA-256 hash of the public key and encoding them to multibase RFC4648 base-32 format (prefixed with B, see Multibase Table).
|
|
4
|
+
* Inspired by how ethereum addresses are derived.
|
|
5
|
+
*/
|
|
6
|
+
export declare const createIdFromSpaceKey: (spaceKey: PublicKey) => Promise<SpaceId>;
|
|
7
|
+
//# sourceMappingURL=space-id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"space-id.d.ts","sourceRoot":"","sources":["../../../../src/common/space-id.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAKhD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,aAAoB,SAAS,KAAG,OAAO,CAAC,OAAO,CAY/E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/db-host/index.ts"],"names":[],"mappings":"AAIA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/db-host/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"light.d.ts","sourceRoot":"","sources":["../../../src/light.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-selector.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/message-selector.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,mBAAoB,cAAc,KAAG,
|
|
1
|
+
{"version":3,"file":"message-selector.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/message-selector.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,mBAAoB,cAAc,KAAG,iBAAiB,CAAC,WAAW,CAiBnG,CAAC"}
|
|
@@ -10,16 +10,11 @@ import { type BlobStore } from '@dxos/teleport-extension-object-sync';
|
|
|
10
10
|
import { ComplexMap } from '@dxos/util';
|
|
11
11
|
import { Space } from './space';
|
|
12
12
|
import { type SwarmIdentity } from './space-protocol';
|
|
13
|
-
import { type SnapshotStore } from '../db-host';
|
|
14
13
|
import { type MetadataStore } from '../metadata';
|
|
15
14
|
export type SpaceManagerParams = {
|
|
16
15
|
feedStore: FeedStore<FeedMessage>;
|
|
17
16
|
networkManager: SwarmNetworkManager;
|
|
18
17
|
metadataStore: MetadataStore;
|
|
19
|
-
/**
|
|
20
|
-
* @deprecated Replaced by BlobStore.
|
|
21
|
-
*/
|
|
22
|
-
snapshotStore: SnapshotStore;
|
|
23
18
|
blobStore: BlobStore;
|
|
24
19
|
disableP2pReplication?: boolean;
|
|
25
20
|
};
|
|
@@ -49,11 +44,10 @@ export declare class SpaceManager {
|
|
|
49
44
|
private readonly _feedStore;
|
|
50
45
|
private readonly _networkManager;
|
|
51
46
|
private readonly _metadataStore;
|
|
52
|
-
private readonly _snapshotStore;
|
|
53
47
|
private readonly _blobStore;
|
|
54
48
|
private readonly _instanceId;
|
|
55
49
|
private readonly _disableP2pReplication;
|
|
56
|
-
constructor({ feedStore, networkManager, metadataStore,
|
|
50
|
+
constructor({ feedStore, networkManager, metadataStore, blobStore, disableP2pReplication }: SpaceManagerParams);
|
|
57
51
|
get spaces(): ComplexMap<PublicKey, Space>;
|
|
58
52
|
open(): Promise<void>;
|
|
59
53
|
close(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"space-manager.d.ts","sourceRoot":"","sources":["../../../../src/space/space-manager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,4BAA4B,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEvF,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGxC,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"space-manager.d.ts","sourceRoot":"","sources":["../../../../src/space/space-manager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,4BAA4B,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEvF,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGxC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAErE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAClC,cAAc,EAAE,mBAAmB,CAAC;IACpC,aAAa,EAAE,aAAa,CAAC;IAE7B,SAAS,EAAE,SAAS,CAAC;IAErB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,aAAa,CAAC;IACxB,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,sBAAsB,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC5C,iCAAiC,EAAE,CAAC,UAAU,EAAE,4BAA4B,EAAE,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClH,oBAAoB,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/D,CAAC;AAEF,MAAM,MAAM,qCAAqC,GAAG;IAClD,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,EAAE,SAAS,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,qBACa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoD;IAC5E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsB;IACtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;IAC1D,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAU;gBAErC,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,qBAAqB,EAAE,EAAE,kBAAkB;IAU9G,IAAI,MAAM,iCAET;IAGK,IAAI;IAGJ,KAAK;IAIL,cAAc,CAAC,EACnB,QAAQ,EACR,aAAa,EACb,sBAAsB,EACtB,aAAa,EACb,iCAAiC,EACjC,oBAAoB,EACpB,SAAS,GACV,EAAE,oBAAoB;IAoCV,+BAA+B,CAAC,MAAM,EAAE,qCAAqC,GAAG,OAAO,CAAC,UAAU,CAAC;CAoCjH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"space-protocol.d.ts","sourceRoot":"","sources":["../../../../src/space/space-protocol.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"space-protocol.d.ts","sourceRoot":"","sources":["../../../../src/space/space-protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,13 +2,12 @@ import { Event } from '@dxos/async';
|
|
|
2
2
|
import { type Context, Resource } from '@dxos/context';
|
|
3
3
|
import { type DelegateInvitationCredential, type FeedInfo, type MemberInfo } from '@dxos/credentials';
|
|
4
4
|
import { type FeedOptions, type FeedWrapper } from '@dxos/feed-store';
|
|
5
|
-
import { PublicKey, SpaceId } from '@dxos/keys';
|
|
5
|
+
import { type PublicKey, type SpaceId } from '@dxos/keys';
|
|
6
6
|
import type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
|
|
7
7
|
import { type Credential } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
8
8
|
import { type Timeframe } from '@dxos/timeframe';
|
|
9
9
|
import { type AsyncCallback, Callback } from '@dxos/util';
|
|
10
10
|
import { type SpaceProtocol } from './space-protocol';
|
|
11
|
-
import { type SnapshotManager } from '../db-host';
|
|
12
11
|
import { type MetadataStore } from '../metadata';
|
|
13
12
|
import { type PipelineAccessor } from '../pipeline';
|
|
14
13
|
type FeedProvider = (feedKey: PublicKey, opts?: FeedOptions) => Promise<FeedWrapper<FeedMessage>>;
|
|
@@ -19,7 +18,6 @@ export type SpaceParams = {
|
|
|
19
18
|
genesisFeed: FeedWrapper<FeedMessage>;
|
|
20
19
|
feedProvider: FeedProvider;
|
|
21
20
|
metadataStore: MetadataStore;
|
|
22
|
-
snapshotManager: SnapshotManager;
|
|
23
21
|
memberKey: PublicKey;
|
|
24
22
|
snapshotId?: string | undefined;
|
|
25
23
|
onDelegatedInvitationStatusChange: (invitation: DelegateInvitationCredential, isActive: boolean) => Promise<void>;
|
|
@@ -40,7 +38,6 @@ export declare class Space extends Resource {
|
|
|
40
38
|
private readonly _genesisFeedKey;
|
|
41
39
|
private readonly _feedProvider;
|
|
42
40
|
private readonly _controlPipeline;
|
|
43
|
-
private readonly _snapshotManager;
|
|
44
41
|
private _controlFeed?;
|
|
45
42
|
private _dataFeed?;
|
|
46
43
|
constructor(params: SpaceParams);
|
|
@@ -55,7 +52,6 @@ export declare class Space extends Resource {
|
|
|
55
52
|
* @test-only
|
|
56
53
|
*/
|
|
57
54
|
get controlPipeline(): PipelineAccessor;
|
|
58
|
-
get snapshotManager(): SnapshotManager;
|
|
59
55
|
setControlFeed(feed: FeedWrapper<FeedMessage>): Promise<this>;
|
|
60
56
|
setDataFeed(feed: FeedWrapper<FeedMessage>): Promise<this>;
|
|
61
57
|
/**
|
|
@@ -65,10 +61,5 @@ export declare class Space extends Resource {
|
|
|
65
61
|
protected _open(ctx: Context): Promise<void>;
|
|
66
62
|
protected _close(): Promise<void>;
|
|
67
63
|
}
|
|
68
|
-
/**
|
|
69
|
-
* Space keys are generated by creating a keypair, and then taking the first 20 bytes of the SHA-256 hash of the public key and encoding them to multibase RFC4648 base-32 format (prefixed with B, see Multibase Table).
|
|
70
|
-
* Inspired by how ethereum addresses are derived.
|
|
71
|
-
*/
|
|
72
|
-
export declare const createIdFromSpaceKey: (spaceKey: PublicKey) => Promise<SpaceId>;
|
|
73
64
|
export {};
|
|
74
65
|
//# sourceMappingURL=space.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../../../../src/space/space.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAA+C,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,KAAK,OAAO,EAAkB,QAAQ,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,KAAK,4BAA4B,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../../../../src/space/space.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,6 @@ import { type Storage } from '@dxos/random-access-storage';
|
|
|
8
8
|
import { Gossip, Presence } from '@dxos/teleport-extension-gossip';
|
|
9
9
|
import { BlobStore } from '@dxos/teleport-extension-object-sync';
|
|
10
10
|
import { TestFeedBuilder } from './test-feed-builder';
|
|
11
|
-
import { SnapshotStore } from '../db-host';
|
|
12
11
|
import { MetadataStore } from '../metadata';
|
|
13
12
|
import { SpaceManager, SpaceProtocol, type Space } from '../space';
|
|
14
13
|
export type NetworkManagerProvider = () => SwarmNetworkManager;
|
|
@@ -45,8 +44,6 @@ export declare class TestAgent {
|
|
|
45
44
|
readonly feedStore: FeedStore<FeedMessage>;
|
|
46
45
|
private _metadataStore?;
|
|
47
46
|
get metadataStore(): MetadataStore;
|
|
48
|
-
private _snapshotStore?;
|
|
49
|
-
get snapshotStore(): SnapshotStore;
|
|
50
47
|
private _blobStore?;
|
|
51
48
|
get blobStore(): BlobStore;
|
|
52
49
|
constructor(_networkManagerProvider: NetworkManagerProvider, _feedBuilder: TestFeedBuilder, identityKey: PublicKey, deviceKey: PublicKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-agent-builder.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-agent-builder.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAuB,0BAA0B,EAA0B,MAAM,iBAAiB,CAAC;AAC1G,OAAO,EAA0B,mBAAmB,EAAoC,MAAM,uBAAuB,CAAC;AACtH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAGxE,OAAO,EAA8B,KAAK,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAGjE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"test-agent-builder.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-agent-builder.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/echo-pipeline",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.8-main.3be982f",
|
|
4
4
|
"description": "ECHO database.",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -14,6 +14,13 @@
|
|
|
14
14
|
},
|
|
15
15
|
"types": "./dist/types/src/index.d.ts"
|
|
16
16
|
},
|
|
17
|
+
"./light": {
|
|
18
|
+
"browser": "./dist/lib/browser/light.mjs",
|
|
19
|
+
"node": {
|
|
20
|
+
"default": "./dist/lib/node/light.cjs"
|
|
21
|
+
},
|
|
22
|
+
"types": "./dist/types/src/light.d.ts"
|
|
23
|
+
},
|
|
17
24
|
"./testing": {
|
|
18
25
|
"browser": "./dist/lib/browser/testing/index.mjs",
|
|
19
26
|
"node": {
|
|
@@ -25,6 +32,9 @@
|
|
|
25
32
|
"types": "dist/types/src/index.d.ts",
|
|
26
33
|
"typesVersions": {
|
|
27
34
|
"*": {
|
|
35
|
+
"light": [
|
|
36
|
+
"dist/types/src/light.d.ts"
|
|
37
|
+
],
|
|
28
38
|
"testing": [
|
|
29
39
|
"dist/types/src/testing/index.d.ts"
|
|
30
40
|
]
|
|
@@ -41,38 +51,38 @@
|
|
|
41
51
|
"crc-32": "^1.2.2",
|
|
42
52
|
"level": "^8.0.1",
|
|
43
53
|
"level-transcoder": "^1.0.1",
|
|
44
|
-
"@dxos/async": "0.6.
|
|
45
|
-
"@dxos/
|
|
46
|
-
"@dxos/
|
|
47
|
-
"@dxos/
|
|
48
|
-
"@dxos/
|
|
49
|
-
"@dxos/
|
|
50
|
-
"@dxos/
|
|
51
|
-
"@dxos/echo-protocol": "0.6.
|
|
52
|
-
"@dxos/
|
|
53
|
-
"@dxos/
|
|
54
|
-
"@dxos/hypercore": "0.6.
|
|
55
|
-
"@dxos/indexing": "0.6.
|
|
56
|
-
"@dxos/invariant": "0.6.
|
|
57
|
-
"@dxos/keyring": "0.6.
|
|
58
|
-
"@dxos/keys": "0.6.
|
|
59
|
-
"@dxos/kv-store": "0.6.
|
|
60
|
-
"@dxos/log": "0.6.
|
|
61
|
-
"@dxos/messaging": "0.6.
|
|
62
|
-
"@dxos/network-manager": "0.6.
|
|
63
|
-
"@dxos/node-std": "0.6.
|
|
64
|
-
"@dxos/protocols": "0.6.
|
|
65
|
-
"@dxos/random-access-storage": "0.6.
|
|
66
|
-
"@dxos/rpc": "0.6.
|
|
67
|
-
"@dxos/teleport
|
|
68
|
-
"@dxos/teleport": "0.6.
|
|
69
|
-
"@dxos/teleport-extension-gossip": "0.6.
|
|
70
|
-
"@dxos/teleport-extension-object-sync": "0.6.
|
|
71
|
-
"@dxos/
|
|
72
|
-
"@dxos/
|
|
73
|
-
"@dxos/tracing": "0.6.
|
|
74
|
-
"@dxos/
|
|
75
|
-
"@dxos/
|
|
54
|
+
"@dxos/async": "0.6.8-main.3be982f",
|
|
55
|
+
"@dxos/codec-protobuf": "0.6.8-main.3be982f",
|
|
56
|
+
"@dxos/automerge": "0.6.8-main.3be982f",
|
|
57
|
+
"@dxos/context": "0.6.8-main.3be982f",
|
|
58
|
+
"@dxos/credentials": "0.6.8-main.3be982f",
|
|
59
|
+
"@dxos/crypto": "0.6.8-main.3be982f",
|
|
60
|
+
"@dxos/debug": "0.6.8-main.3be982f",
|
|
61
|
+
"@dxos/echo-protocol": "0.6.8-main.3be982f",
|
|
62
|
+
"@dxos/feed-store": "0.6.8-main.3be982f",
|
|
63
|
+
"@dxos/echo-schema": "0.6.8-main.3be982f",
|
|
64
|
+
"@dxos/hypercore": "0.6.8-main.3be982f",
|
|
65
|
+
"@dxos/indexing": "0.6.8-main.3be982f",
|
|
66
|
+
"@dxos/invariant": "0.6.8-main.3be982f",
|
|
67
|
+
"@dxos/keyring": "0.6.8-main.3be982f",
|
|
68
|
+
"@dxos/keys": "0.6.8-main.3be982f",
|
|
69
|
+
"@dxos/kv-store": "0.6.8-main.3be982f",
|
|
70
|
+
"@dxos/log": "0.6.8-main.3be982f",
|
|
71
|
+
"@dxos/messaging": "0.6.8-main.3be982f",
|
|
72
|
+
"@dxos/network-manager": "0.6.8-main.3be982f",
|
|
73
|
+
"@dxos/node-std": "0.6.8-main.3be982f",
|
|
74
|
+
"@dxos/protocols": "0.6.8-main.3be982f",
|
|
75
|
+
"@dxos/random-access-storage": "0.6.8-main.3be982f",
|
|
76
|
+
"@dxos/rpc": "0.6.8-main.3be982f",
|
|
77
|
+
"@dxos/teleport": "0.6.8-main.3be982f",
|
|
78
|
+
"@dxos/teleport-extension-automerge-replicator": "0.6.8-main.3be982f",
|
|
79
|
+
"@dxos/teleport-extension-gossip": "0.6.8-main.3be982f",
|
|
80
|
+
"@dxos/teleport-extension-object-sync": "0.6.8-main.3be982f",
|
|
81
|
+
"@dxos/timeframe": "0.6.8-main.3be982f",
|
|
82
|
+
"@dxos/teleport-extension-replicator": "0.6.8-main.3be982f",
|
|
83
|
+
"@dxos/tracing": "0.6.8-main.3be982f",
|
|
84
|
+
"@dxos/typings": "0.6.8-main.3be982f",
|
|
85
|
+
"@dxos/util": "0.6.8-main.3be982f"
|
|
76
86
|
},
|
|
77
87
|
"devDependencies": {
|
|
78
88
|
"fast-check": "^3.19.0",
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
type CollectionQueryMessage,
|
|
24
24
|
type CollectionStateMessage,
|
|
25
25
|
} from './network-protocol';
|
|
26
|
-
import { createIdFromSpaceKey } from '../space';
|
|
26
|
+
import { createIdFromSpaceKey } from '../common/space-id';
|
|
27
27
|
|
|
28
28
|
export interface NetworkDataMonitor {
|
|
29
29
|
recordPeerConnected(peerId: string): void;
|
|
@@ -14,7 +14,7 @@ import { ComplexSet, defaultMap } from '@dxos/util';
|
|
|
14
14
|
import { type EchoReplicator, type EchoReplicatorContext, type ShouldAdvertiseParams } from './echo-replicator';
|
|
15
15
|
import { MeshReplicatorConnection } from './mesh-echo-replicator-connection';
|
|
16
16
|
import { getSpaceIdFromCollectionId } from './space-collection';
|
|
17
|
-
import { createIdFromSpaceKey } from '../space';
|
|
17
|
+
import { createIdFromSpaceKey } from '../common/space-id';
|
|
18
18
|
|
|
19
19
|
// TODO(dmaretskyi): Move out of @dxos/echo-pipeline.
|
|
20
20
|
|
package/src/common/index.ts
CHANGED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2024 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { subtleCrypto } from '@dxos/crypto';
|
|
6
|
+
import { PublicKey, SpaceId } from '@dxos/keys';
|
|
7
|
+
import { ComplexMap } from '@dxos/util';
|
|
8
|
+
|
|
9
|
+
const SPACE_IDS_CACHE = new ComplexMap<PublicKey, SpaceId>(PublicKey.hash);
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Space keys are generated by creating a keypair, and then taking the first 20 bytes of the SHA-256 hash of the public key and encoding them to multibase RFC4648 base-32 format (prefixed with B, see Multibase Table).
|
|
13
|
+
* Inspired by how ethereum addresses are derived.
|
|
14
|
+
*/
|
|
15
|
+
export const createIdFromSpaceKey = async (spaceKey: PublicKey): Promise<SpaceId> => {
|
|
16
|
+
const cachedValue = SPACE_IDS_CACHE.get(spaceKey);
|
|
17
|
+
if (cachedValue !== undefined) {
|
|
18
|
+
return cachedValue;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const digest = await subtleCrypto.digest('SHA-256', spaceKey.asUint8Array());
|
|
22
|
+
|
|
23
|
+
const bytes = new Uint8Array(digest).slice(0, SpaceId.byteLength);
|
|
24
|
+
const spaceId = SpaceId.encode(bytes);
|
|
25
|
+
SPACE_IDS_CACHE.set(spaceKey, spaceId);
|
|
26
|
+
return spaceId;
|
|
27
|
+
};
|
package/src/db-host/index.ts
CHANGED
package/src/light.ts
ADDED
|
@@ -18,9 +18,9 @@ import { type BlobStore } from '@dxos/teleport-extension-object-sync';
|
|
|
18
18
|
import { ComplexMap } from '@dxos/util';
|
|
19
19
|
|
|
20
20
|
import { CredentialRetrieverExtension } from './admission-discovery-extension';
|
|
21
|
-
import { Space
|
|
21
|
+
import { Space } from './space';
|
|
22
22
|
import { SpaceProtocol, type SwarmIdentity } from './space-protocol';
|
|
23
|
-
import {
|
|
23
|
+
import { createIdFromSpaceKey } from '../common/space-id';
|
|
24
24
|
import { type MetadataStore } from '../metadata';
|
|
25
25
|
|
|
26
26
|
export type SpaceManagerParams = {
|
|
@@ -28,11 +28,6 @@ export type SpaceManagerParams = {
|
|
|
28
28
|
networkManager: SwarmNetworkManager;
|
|
29
29
|
metadataStore: MetadataStore;
|
|
30
30
|
|
|
31
|
-
/**
|
|
32
|
-
* @deprecated Replaced by BlobStore.
|
|
33
|
-
*/
|
|
34
|
-
snapshotStore: SnapshotStore;
|
|
35
|
-
|
|
36
31
|
blobStore: BlobStore;
|
|
37
32
|
|
|
38
33
|
disableP2pReplication?: boolean;
|
|
@@ -67,24 +62,15 @@ export class SpaceManager {
|
|
|
67
62
|
private readonly _feedStore: FeedStore<FeedMessage>;
|
|
68
63
|
private readonly _networkManager: SwarmNetworkManager;
|
|
69
64
|
private readonly _metadataStore: MetadataStore;
|
|
70
|
-
private readonly _snapshotStore: SnapshotStore;
|
|
71
65
|
private readonly _blobStore: BlobStore;
|
|
72
66
|
private readonly _instanceId = PublicKey.random().toHex();
|
|
73
67
|
private readonly _disableP2pReplication: boolean;
|
|
74
68
|
|
|
75
|
-
constructor({
|
|
76
|
-
feedStore,
|
|
77
|
-
networkManager,
|
|
78
|
-
metadataStore,
|
|
79
|
-
snapshotStore,
|
|
80
|
-
blobStore,
|
|
81
|
-
disableP2pReplication,
|
|
82
|
-
}: SpaceManagerParams) {
|
|
69
|
+
constructor({ feedStore, networkManager, metadataStore, blobStore, disableP2pReplication }: SpaceManagerParams) {
|
|
83
70
|
// TODO(burdon): Assert.
|
|
84
71
|
this._feedStore = feedStore;
|
|
85
72
|
this._networkManager = networkManager;
|
|
86
73
|
this._metadataStore = metadataStore;
|
|
87
|
-
this._snapshotStore = snapshotStore;
|
|
88
74
|
this._blobStore = blobStore;
|
|
89
75
|
this._disableP2pReplication = disableP2pReplication ?? false;
|
|
90
76
|
}
|
|
@@ -128,7 +114,6 @@ export class SpaceManager {
|
|
|
128
114
|
blobStore: this._blobStore,
|
|
129
115
|
disableP2pReplication: this._disableP2pReplication,
|
|
130
116
|
});
|
|
131
|
-
const snapshotManager = new SnapshotManager(this._snapshotStore, this._blobStore, protocol.blobSync);
|
|
132
117
|
|
|
133
118
|
const space = new Space({
|
|
134
119
|
id: spaceId,
|
|
@@ -137,7 +122,6 @@ export class SpaceManager {
|
|
|
137
122
|
genesisFeed,
|
|
138
123
|
feedProvider: (feedKey, opts) => this._feedStore.openFeed(feedKey, opts),
|
|
139
124
|
metadataStore: this._metadataStore,
|
|
140
|
-
snapshotManager,
|
|
141
125
|
memberKey,
|
|
142
126
|
onDelegatedInvitationStatusChange,
|
|
143
127
|
onMemberRolesChanged,
|
package/src/space/space.ts
CHANGED
|
@@ -5,20 +5,18 @@
|
|
|
5
5
|
import { Event, scheduleMicroTask, synchronized, trackLeaks } from '@dxos/async';
|
|
6
6
|
import { type Context, LifecycleState, Resource } from '@dxos/context';
|
|
7
7
|
import { type DelegateInvitationCredential, type FeedInfo, type MemberInfo } from '@dxos/credentials';
|
|
8
|
-
import { subtleCrypto } from '@dxos/crypto';
|
|
9
8
|
import { type FeedOptions, type FeedWrapper } from '@dxos/feed-store';
|
|
10
9
|
import { invariant } from '@dxos/invariant';
|
|
11
|
-
import { PublicKey, SpaceId } from '@dxos/keys';
|
|
10
|
+
import { type PublicKey, type SpaceId } from '@dxos/keys';
|
|
12
11
|
import { log, logInfo } from '@dxos/log';
|
|
13
12
|
import type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
|
|
14
13
|
import { AdmittedFeed, type Credential } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
15
14
|
import { type Timeframe } from '@dxos/timeframe';
|
|
16
15
|
import { trace } from '@dxos/tracing';
|
|
17
|
-
import { type AsyncCallback, Callback
|
|
16
|
+
import { type AsyncCallback, Callback } from '@dxos/util';
|
|
18
17
|
|
|
19
18
|
import { ControlPipeline } from './control-pipeline';
|
|
20
19
|
import { type SpaceProtocol } from './space-protocol';
|
|
21
|
-
import { type SnapshotManager } from '../db-host';
|
|
22
20
|
import { type MetadataStore } from '../metadata';
|
|
23
21
|
import { type PipelineAccessor } from '../pipeline';
|
|
24
22
|
|
|
@@ -32,7 +30,6 @@ export type SpaceParams = {
|
|
|
32
30
|
genesisFeed: FeedWrapper<FeedMessage>;
|
|
33
31
|
feedProvider: FeedProvider;
|
|
34
32
|
metadataStore: MetadataStore;
|
|
35
|
-
snapshotManager: SnapshotManager;
|
|
36
33
|
memberKey: PublicKey;
|
|
37
34
|
|
|
38
35
|
// TODO(dmaretskyi): Superseded by epochs.
|
|
@@ -66,8 +63,6 @@ export class Space extends Resource {
|
|
|
66
63
|
@trace.info()
|
|
67
64
|
private readonly _controlPipeline: ControlPipeline;
|
|
68
65
|
|
|
69
|
-
private readonly _snapshotManager: SnapshotManager;
|
|
70
|
-
|
|
71
66
|
private _controlFeed?: FeedWrapper<FeedMessage>;
|
|
72
67
|
private _dataFeed?: FeedWrapper<FeedMessage>;
|
|
73
68
|
|
|
@@ -78,7 +73,6 @@ export class Space extends Resource {
|
|
|
78
73
|
this._key = params.spaceKey;
|
|
79
74
|
this._genesisFeedKey = params.genesisFeed.key;
|
|
80
75
|
this._feedProvider = params.feedProvider;
|
|
81
|
-
this._snapshotManager = params.snapshotManager;
|
|
82
76
|
|
|
83
77
|
this._controlPipeline = new ControlPipeline({
|
|
84
78
|
spaceKey: params.spaceKey,
|
|
@@ -160,10 +154,6 @@ export class Space extends Resource {
|
|
|
160
154
|
return this._controlPipeline.pipeline;
|
|
161
155
|
}
|
|
162
156
|
|
|
163
|
-
get snapshotManager(): SnapshotManager {
|
|
164
|
-
return this._snapshotManager;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
157
|
async setControlFeed(feed: FeedWrapper<FeedMessage>) {
|
|
168
158
|
invariant(!this._controlFeed, 'Control feed already set.');
|
|
169
159
|
this._controlFeed = feed;
|
|
@@ -207,23 +197,3 @@ export class Space extends Resource {
|
|
|
207
197
|
log('closed');
|
|
208
198
|
}
|
|
209
199
|
}
|
|
210
|
-
|
|
211
|
-
const SPACE_IDS_CACHE = new ComplexMap<PublicKey, SpaceId>(PublicKey.hash);
|
|
212
|
-
|
|
213
|
-
/**
|
|
214
|
-
* Space keys are generated by creating a keypair, and then taking the first 20 bytes of the SHA-256 hash of the public key and encoding them to multibase RFC4648 base-32 format (prefixed with B, see Multibase Table).
|
|
215
|
-
* Inspired by how ethereum addresses are derived.
|
|
216
|
-
*/
|
|
217
|
-
export const createIdFromSpaceKey = async (spaceKey: PublicKey): Promise<SpaceId> => {
|
|
218
|
-
const cachedValue = SPACE_IDS_CACHE.get(spaceKey);
|
|
219
|
-
if (cachedValue !== undefined) {
|
|
220
|
-
return cachedValue;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
const digest = await subtleCrypto.digest('SHA-256', spaceKey.asUint8Array());
|
|
224
|
-
|
|
225
|
-
const bytes = new Uint8Array(digest).slice(0, SpaceId.byteLength);
|
|
226
|
-
const spaceId = SpaceId.encode(bytes);
|
|
227
|
-
SPACE_IDS_CACHE.set(spaceKey, spaceId);
|
|
228
|
-
return spaceId;
|
|
229
|
-
};
|
|
@@ -18,7 +18,6 @@ import { BlobStore } from '@dxos/teleport-extension-object-sync';
|
|
|
18
18
|
import { ComplexMap } from '@dxos/util';
|
|
19
19
|
|
|
20
20
|
import { TestFeedBuilder } from './test-feed-builder';
|
|
21
|
-
import { SnapshotStore } from '../db-host';
|
|
22
21
|
import { MetadataStore } from '../metadata';
|
|
23
22
|
import { MOCK_AUTH_PROVIDER, MOCK_AUTH_VERIFIER, SpaceManager, SpaceProtocol, type Space } from '../space';
|
|
24
23
|
|
|
@@ -100,11 +99,6 @@ export class TestAgent {
|
|
|
100
99
|
return (this._metadataStore ??= new MetadataStore(this.storage.createDirectory('metadata')));
|
|
101
100
|
}
|
|
102
101
|
|
|
103
|
-
private _snapshotStore?: SnapshotStore;
|
|
104
|
-
get snapshotStore() {
|
|
105
|
-
return (this._snapshotStore ??= new SnapshotStore(this.storage.createDirectory('snapshots')));
|
|
106
|
-
}
|
|
107
|
-
|
|
108
102
|
private _blobStore?: BlobStore;
|
|
109
103
|
get blobStore() {
|
|
110
104
|
return (this._blobStore ??= new BlobStore(this.storage.createDirectory('blobs')));
|
|
@@ -139,7 +133,6 @@ export class TestAgent {
|
|
|
139
133
|
feedStore: this.feedStore,
|
|
140
134
|
networkManager: this._networkManagerProvider(),
|
|
141
135
|
metadataStore: this.metadataStore,
|
|
142
|
-
snapshotStore: this.snapshotStore,
|
|
143
136
|
blobStore: this.blobStore,
|
|
144
137
|
}));
|
|
145
138
|
}
|