@dxos/client-services 0.1.51-next.03aa1a8 → 0.1.51-next.5787f10
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-ARBZHWMK.mjs → chunk-2GQ7337P.mjs} +23 -16
- package/dist/lib/browser/chunk-2GQ7337P.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/packlets/testing/index.mjs +8 -2
- package/dist/lib/browser/packlets/testing/index.mjs.map +3 -3
- package/dist/lib/node/index.cjs +22 -15
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/packlets/testing/index.cjs +29 -16
- package/dist/lib/node/packlets/testing/index.cjs.map +3 -3
- package/dist/types/src/packlets/devtools/devtools.d.ts +2 -1
- package/dist/types/src/packlets/devtools/devtools.d.ts.map +1 -1
- package/dist/types/src/packlets/services/service-context.d.ts +5 -0
- package/dist/types/src/packlets/services/service-context.d.ts.map +1 -1
- package/dist/types/src/packlets/spaces/data-space-manager.d.ts.map +1 -1
- package/dist/types/src/packlets/testing/test-builder.d.ts +3 -0
- package/dist/types/src/packlets/testing/test-builder.d.ts.map +1 -1
- package/package.json +31 -30
- package/src/packlets/devtools/devtools.ts +7 -0
- package/src/packlets/identity/identity-manager.test.ts +4 -1
- package/src/packlets/identity/identity.test.ts +40 -21
- package/src/packlets/services/service-context.ts +7 -0
- package/src/packlets/spaces/data-space-manager.ts +0 -1
- package/src/packlets/testing/test-builder.ts +7 -0
- package/dist/lib/browser/chunk-ARBZHWMK.mjs.map +0 -7
|
@@ -2,7 +2,7 @@ import { Event as AsyncEvent } from '@dxos/async';
|
|
|
2
2
|
import { Stream } from '@dxos/codec-protobuf';
|
|
3
3
|
import { Config } from '@dxos/config';
|
|
4
4
|
import { ClearSnapshotsRequest, DevtoolsHost, // TODO(burdon): Rename DevtoolsService
|
|
5
|
-
EnableDebugLoggingRequest, EnableDebugLoggingResponse, Event, GetConfigResponse, GetNetworkPeersRequest, GetNetworkPeersResponse, GetSpaceSnapshotRequest, GetSpaceSnapshotResponse, ResetStorageRequest, SaveSpaceSnapshotRequest, SaveSpaceSnapshotResponse, SubscribeToCredentialMessagesRequest, SubscribeToCredentialMessagesResponse, SubscribeToFeedBlocksRequest, SubscribeToFeedBlocksResponse, SubscribeToFeedsRequest, SubscribeToFeedsResponse, SubscribeToItemsRequest, SubscribeToItemsResponse, SubscribeToKeyringKeysRequest, SubscribeToKeyringKeysResponse, SubscribeToNetworkTopicsResponse, SubscribeToSpacesRequest, SubscribeToSpacesResponse, SubscribeToSignalStatusResponse, SignalResponse, SubscribeToSwarmInfoResponse, StorageInfo, GetSnapshotsResponse, SubscribeToMetadataResponse } from '@dxos/protocols/proto/dxos/devtools/host';
|
|
5
|
+
EnableDebugLoggingRequest, EnableDebugLoggingResponse, Event, GetConfigResponse, GetNetworkPeersRequest, GetNetworkPeersResponse, GetSpaceSnapshotRequest, GetSpaceSnapshotResponse, ResetStorageRequest, SaveSpaceSnapshotRequest, SaveSpaceSnapshotResponse, SubscribeToCredentialMessagesRequest, SubscribeToCredentialMessagesResponse, SubscribeToFeedBlocksRequest, SubscribeToFeedBlocksResponse, SubscribeToFeedsRequest, SubscribeToFeedsResponse, SubscribeToItemsRequest, SubscribeToItemsResponse, SubscribeToKeyringKeysRequest, SubscribeToKeyringKeysResponse, SubscribeToNetworkTopicsResponse, SubscribeToSpacesRequest, SubscribeToSpacesResponse, SubscribeToSignalStatusResponse, SignalResponse, SubscribeToSwarmInfoResponse, StorageInfo, GetSnapshotsResponse, SubscribeToMetadataResponse, GetBlobsResponse } from '@dxos/protocols/proto/dxos/devtools/host';
|
|
6
6
|
import { ServiceContext } from '../services';
|
|
7
7
|
export declare class DevtoolsHostEvents {
|
|
8
8
|
readonly ready: AsyncEvent<void>;
|
|
@@ -21,6 +21,7 @@ export declare class DevtoolsServiceImpl implements DevtoolsHost {
|
|
|
21
21
|
events(request: void): Stream<Event>;
|
|
22
22
|
getConfig(request: void): Promise<GetConfigResponse>;
|
|
23
23
|
getStorageInfo(): Promise<StorageInfo>;
|
|
24
|
+
getBlobs(): Promise<GetBlobsResponse>;
|
|
24
25
|
getSnapshots(): Promise<GetSnapshotsResponse>;
|
|
25
26
|
resetStorage(request: ResetStorageRequest): Promise<void>;
|
|
26
27
|
enableDebugLogging(request: EnableDebugLoggingRequest): Promise<EnableDebugLoggingResponse>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/devtools/devtools.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EACL,qBAAqB,EACrB,YAAY,EAAE,uCAAuC;AACrD,yBAAyB,EACzB,0BAA0B,EAC1B,KAAK,EACL,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,oCAAoC,EACpC,qCAAqC,EACrC,4BAA4B,EAC5B,6BAA6B,EAC7B,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,EAC7B,8BAA8B,EAC9B,gCAAgC,EAChC,wBAAwB,EACxB,yBAAyB,EACzB,+BAA+B,EAC/B,cAAc,EACd,4BAA4B,EAC5B,WAAW,EACX,oBAAoB,EACpB,2BAA2B,
|
|
1
|
+
{"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/devtools/devtools.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ import { NetworkManager } from '@dxos/network-manager';
|
|
|
8
8
|
import { Invitation } from '@dxos/protocols/proto/dxos/client/services';
|
|
9
9
|
import type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
|
|
10
10
|
import { Storage } from '@dxos/random-access-storage';
|
|
11
|
+
import { BlobStore } from '@dxos/teleport-extension-object-sync';
|
|
11
12
|
import { CreateIdentityOptions, IdentityManager } from '../identity';
|
|
12
13
|
import { InvitationsHandler, InvitationProtocol } from '../invitations';
|
|
13
14
|
import { DataSpaceManager } from '../spaces';
|
|
@@ -22,7 +23,11 @@ export declare class ServiceContext {
|
|
|
22
23
|
readonly initialized: Trigger<void>;
|
|
23
24
|
readonly dataServiceSubscriptions: DataServiceSubscriptions;
|
|
24
25
|
readonly metadataStore: MetadataStore;
|
|
26
|
+
/**
|
|
27
|
+
* @deprecated
|
|
28
|
+
*/
|
|
25
29
|
readonly snapshotStore: SnapshotStore;
|
|
30
|
+
readonly blobStore: BlobStore;
|
|
26
31
|
readonly feedStore: FeedStore<FeedMessage>;
|
|
27
32
|
readonly keyring: Keyring;
|
|
28
33
|
readonly spaceManager: SpaceManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-context.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-context.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,wBAAwB,EACxB,aAAa,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAe,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"service-context.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-context.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,wBAAwB,EACxB,aAAa,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAe,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAEjE,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAsB,MAAM,aAAa,CAAC;AACzF,OAAO,EAEL,kBAAkB,EAClB,kBAAkB,EAEnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAkB,MAAM,WAAW,CAAC;AAE7D;;GAEG;AAEH,qBAAa,cAAc;aA6BP,OAAO,EAAE,OAAO;aAChB,cAAc,EAAE,cAAc;aAC9B,aAAa,EAAE,aAAa;aAC5B,YAAY,EAAE,YAAY;IA/B5C,SAAgB,WAAW,gBAAiB;IAC5C,SAAgB,wBAAwB,2BAAkC;IAC1E,SAAgB,aAAa,EAAE,aAAa,CAAC;IAC7C;;OAEG;IACH,SAAgB,aAAa,EAAE,aAAa,CAAC;IAC7C,SAAgB,SAAS,EAAE,SAAS,CAAC;IACrC,SAAgB,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAClD,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,YAAY,EAAE,YAAY,CAAC;IAC3C,SAAgB,eAAe,EAAE,eAAe,CAAC;IACjD,SAAgB,WAAW,EAAE,kBAAkB,CAAC;IAGzC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAE3C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAG9B;IAEJ,OAAO,CAAC,gBAAgB,CAAC,CAA0B;IAEnD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;gBAIxC,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY;IAiDtC,IAAI;IAiBJ,KAAK;IAaL,cAAc,CAAC,MAAM,GAAE,qBAA0B;IAOvD,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,kBAAkB;YAMtF,eAAe;YAOf,oBAAoB;YASpB,WAAW;CA6D1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-space-manager.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/data-space-manager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAA4B,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAA0B,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAS,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAIvC,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAE1F,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAiB,MAAM,YAAY,CAAC;AAGvD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,SAAS,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gBAAgB,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,cAAc,EAAE,SAAS,CAAC;IAE1B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAE7B;;;OAGG;IACH,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B,CAAC;AAEF,qBACa,gBAAgB;IAWzB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAf7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IAEtC,SAAgB,OAAO,cAAe;IAEtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwD;IAEhF,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;gBAGvC,aAAa,EAAE,YAAY,EAC3B,cAAc,EAAE,aAAa,EAC7B,yBAAyB,EAAE,wBAAwB,EACnD,QAAQ,EAAE,OAAO,EACjB,eAAe,EAAE,cAAc,EAC/B,UAAU,EAAE,SAAS,CAAC,WAAW,CAAC;IAIrD,IAAI,MAAM,qCAET;IAGK,IAAI;IAsBJ,KAAK;IASX;;OAEG;IAEG,WAAW;IA8BX,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IAqB/D;;;;OAIG;IACG,mBAAmB,CAAC,QAAQ,EAAE,SAAS;YAU/B,eAAe;
|
|
1
|
+
{"version":3,"file":"data-space-manager.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/data-space-manager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAA4B,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAA0B,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAS,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAIvC,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAE1F,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAiB,MAAM,YAAY,CAAC;AAGvD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,SAAS,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gBAAgB,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,cAAc,EAAE,SAAS,CAAC;IAE1B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAE7B;;;OAGG;IACH,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B,CAAC;AAEF,qBACa,gBAAgB;IAWzB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAf7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IAEtC,SAAgB,OAAO,cAAe;IAEtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwD;IAEhF,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;gBAGvC,aAAa,EAAE,YAAY,EAC3B,cAAc,EAAE,aAAa,EAC7B,yBAAyB,EAAE,wBAAwB,EACnD,QAAQ,EAAE,OAAO,EACjB,eAAe,EAAE,cAAc,EAC/B,UAAU,EAAE,SAAS,CAAC,WAAW,CAAC;IAIrD,IAAI,MAAM,qCAET;IAGK,IAAI;IAsBJ,KAAK;IASX;;OAEG;IAEG,WAAW;IA8BX,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IAqB/D;;;;OAIG;IACG,mBAAmB,CAAC,QAAQ,EAAE,SAAS;YAU/B,eAAe;CA6E9B"}
|
|
@@ -5,6 +5,7 @@ import { Keyring } from '@dxos/keyring';
|
|
|
5
5
|
import { MemorySignalManagerContext } from '@dxos/messaging';
|
|
6
6
|
import { NetworkManager } from '@dxos/network-manager';
|
|
7
7
|
import { Storage, StorageType } from '@dxos/random-access-storage';
|
|
8
|
+
import { BlobStore } from '@dxos/teleport-extension-object-sync';
|
|
8
9
|
import { ClientServicesHost, ServiceContext } from '../services';
|
|
9
10
|
import { SigningContext } from '../spaces';
|
|
10
11
|
export declare const createServiceHost: (config: Config, signalManagerContext: MemorySignalManagerContext) => ClientServicesHost;
|
|
@@ -32,6 +33,7 @@ export type TestPeerProps = {
|
|
|
32
33
|
networkManager?: NetworkManager;
|
|
33
34
|
spaceManager?: SpaceManager;
|
|
34
35
|
snapshotStore?: SnapshotStore;
|
|
36
|
+
blobStore?: BlobStore;
|
|
35
37
|
};
|
|
36
38
|
export declare class TestPeer {
|
|
37
39
|
private readonly signalContext;
|
|
@@ -42,6 +44,7 @@ export declare class TestPeer {
|
|
|
42
44
|
get keyring(): Keyring;
|
|
43
45
|
get feedStore(): FeedStore<any>;
|
|
44
46
|
get metadataStore(): MetadataStore;
|
|
47
|
+
get blobStore(): BlobStore;
|
|
45
48
|
get snapshotStore(): SnapshotStore;
|
|
46
49
|
get networkManager(): NetworkManager;
|
|
47
50
|
get spaceManager(): SpaceManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-builder.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/testing/test-builder.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAiB,MAAM,qBAAqB,CAAC;AAE9G,OAAO,EAAe,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAuB,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAA0B,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAiB,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"test-builder.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/testing/test-builder.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAiB,MAAM,qBAAqB,CAAC;AAE9G,OAAO,EAAe,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAuB,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAA0B,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAiB,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAEjE,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAM3C,eAAO,MAAM,iBAAiB,WAAY,MAAM,wBAAwB,0BAA0B,uBAMjG,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;oBAehC,CAAC;AAEF,eAAO,MAAM,WAAW,aAAoB,MAAM,8BAUjD,CAAC;AAEF,eAAO,MAAM,cAAc,SAAgB,cAAc,4BAGxD,CAAC;AAIF,eAAO,MAAM,cAAc,QAAe,YAAY,OAAO,YAAY,kBAGxE,CAAC;AAEF,qBAAa,WAAW;IACtB,SAAgB,aAAa,6BAAoC;IACjE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IAEtC,UAAU,CAAC,WAAW,CAAC,EAAE,YAAY,GAAG,QAAQ;IAM1C,OAAO;CAGd;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,qBAAa,QAAQ;IAIjB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJvB,OAAO,CAAC,MAAM,CAAqB;gBAGhB,aAAa,EAAE,0BAA0B,EACzC,IAAI,GAAE,YAA+C;IAGxE,IAAI,OAAO,YAEV;IAED,IAAI,OAAO,YAEV;IAED,IAAI,SAAS,mBAUZ;IAED,IAAI,aAAa,kBAEhB;IAED,IAAI,SAAS,cAEZ;IAED,IAAI,aAAa,kBAEhB;IAED,IAAI,cAAc,mBAKjB;IAED,IAAI,YAAY,iBASf;IAEK,OAAO;CAGd;AAED,eAAO,MAAM,oBAAoB,YAAmB,OAAO,KAAG,QAAQ,cAAc,CAgBnF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/client-services",
|
|
3
|
-
"version": "0.1.51-next.
|
|
3
|
+
"version": "0.1.51-next.5787f10",
|
|
4
4
|
"description": "DXOS client services implementation",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -23,38 +23,39 @@
|
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@types/lockfile": "^1.0.2",
|
|
25
25
|
"lockfile": "^1.0.4",
|
|
26
|
-
"@dxos/async": "0.1.51-next.
|
|
27
|
-
"@dxos/client-protocol": "0.1.51-next.
|
|
28
|
-
"@dxos/codec-protobuf": "0.1.51-next.
|
|
29
|
-
"@dxos/config": "0.1.51-next.
|
|
30
|
-
"@dxos/context": "0.1.51-next.
|
|
31
|
-
"@dxos/credentials": "0.1.51-next.
|
|
32
|
-
"@dxos/crypto": "0.1.51-next.
|
|
33
|
-
"@dxos/debug": "0.1.51-next.
|
|
34
|
-
"@dxos/document-model": "0.1.51-next.
|
|
35
|
-
"@dxos/echo-db": "0.1.51-next.
|
|
36
|
-
"@dxos/echo-pipeline": "0.1.51-next.
|
|
37
|
-
"@dxos/errors": "0.1.51-next.
|
|
38
|
-
"@dxos/feed-store": "0.1.51-next.
|
|
39
|
-
"@dxos/keyring": "0.1.51-next.
|
|
40
|
-
"@dxos/keys": "0.1.51-next.
|
|
41
|
-
"@dxos/log": "0.1.51-next.
|
|
42
|
-
"@dxos/messaging": "0.1.51-next.
|
|
43
|
-
"@dxos/model-factory": "0.1.51-next.
|
|
44
|
-
"@dxos/network-manager": "0.1.51-next.
|
|
45
|
-
"@dxos/node-std": "0.1.51-next.
|
|
46
|
-
"@dxos/protocols": "0.1.51-next.
|
|
47
|
-
"@dxos/random-access-storage": "0.1.51-next.
|
|
48
|
-
"@dxos/rpc": "0.1.51-next.
|
|
49
|
-
"@dxos/teleport": "0.1.51-next.
|
|
50
|
-
"@dxos/teleport-extension-gossip": "0.1.51-next.
|
|
51
|
-
"@dxos/
|
|
52
|
-
"@dxos/
|
|
53
|
-
"@dxos/
|
|
26
|
+
"@dxos/async": "0.1.51-next.5787f10",
|
|
27
|
+
"@dxos/client-protocol": "0.1.51-next.5787f10",
|
|
28
|
+
"@dxos/codec-protobuf": "0.1.51-next.5787f10",
|
|
29
|
+
"@dxos/config": "0.1.51-next.5787f10",
|
|
30
|
+
"@dxos/context": "0.1.51-next.5787f10",
|
|
31
|
+
"@dxos/credentials": "0.1.51-next.5787f10",
|
|
32
|
+
"@dxos/crypto": "0.1.51-next.5787f10",
|
|
33
|
+
"@dxos/debug": "0.1.51-next.5787f10",
|
|
34
|
+
"@dxos/document-model": "0.1.51-next.5787f10",
|
|
35
|
+
"@dxos/echo-db": "0.1.51-next.5787f10",
|
|
36
|
+
"@dxos/echo-pipeline": "0.1.51-next.5787f10",
|
|
37
|
+
"@dxos/errors": "0.1.51-next.5787f10",
|
|
38
|
+
"@dxos/feed-store": "0.1.51-next.5787f10",
|
|
39
|
+
"@dxos/keyring": "0.1.51-next.5787f10",
|
|
40
|
+
"@dxos/keys": "0.1.51-next.5787f10",
|
|
41
|
+
"@dxos/log": "0.1.51-next.5787f10",
|
|
42
|
+
"@dxos/messaging": "0.1.51-next.5787f10",
|
|
43
|
+
"@dxos/model-factory": "0.1.51-next.5787f10",
|
|
44
|
+
"@dxos/network-manager": "0.1.51-next.5787f10",
|
|
45
|
+
"@dxos/node-std": "0.1.51-next.5787f10",
|
|
46
|
+
"@dxos/protocols": "0.1.51-next.5787f10",
|
|
47
|
+
"@dxos/random-access-storage": "0.1.51-next.5787f10",
|
|
48
|
+
"@dxos/rpc": "0.1.51-next.5787f10",
|
|
49
|
+
"@dxos/teleport": "0.1.51-next.5787f10",
|
|
50
|
+
"@dxos/teleport-extension-gossip": "0.1.51-next.5787f10",
|
|
51
|
+
"@dxos/teleport-extension-object-sync": "0.1.51-next.5787f10",
|
|
52
|
+
"@dxos/text-model": "0.1.51-next.5787f10",
|
|
53
|
+
"@dxos/timeframe": "0.1.51-next.5787f10",
|
|
54
|
+
"@dxos/util": "0.1.51-next.5787f10"
|
|
54
55
|
},
|
|
55
56
|
"devDependencies": {
|
|
56
57
|
"@types/readable-stream": "^2.3.9",
|
|
57
|
-
"@dxos/signal": "0.1.51-next.
|
|
58
|
+
"@dxos/signal": "0.1.51-next.5787f10"
|
|
58
59
|
},
|
|
59
60
|
"publishConfig": {
|
|
60
61
|
"access": "public"
|
|
@@ -38,6 +38,7 @@ import {
|
|
|
38
38
|
StorageInfo,
|
|
39
39
|
GetSnapshotsResponse,
|
|
40
40
|
SubscribeToMetadataResponse,
|
|
41
|
+
GetBlobsResponse,
|
|
41
42
|
} from '@dxos/protocols/proto/dxos/devtools/host';
|
|
42
43
|
|
|
43
44
|
import { ServiceContext } from '../services';
|
|
@@ -88,6 +89,12 @@ export class DevtoolsServiceImpl implements DevtoolsHost {
|
|
|
88
89
|
};
|
|
89
90
|
}
|
|
90
91
|
|
|
92
|
+
async getBlobs(): Promise<GetBlobsResponse> {
|
|
93
|
+
return {
|
|
94
|
+
blobs: await this.params.context.blobStore.list(),
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
|
|
91
98
|
async getSnapshots(): Promise<GetSnapshotsResponse> {
|
|
92
99
|
return {
|
|
93
100
|
snapshots: await this.params.context.snapshotStore.listSnapshots(),
|
|
@@ -12,6 +12,7 @@ import { MemorySignalManager, MemorySignalManagerContext } from '@dxos/messaging
|
|
|
12
12
|
import { MemoryTransportFactory, NetworkManager } from '@dxos/network-manager';
|
|
13
13
|
import type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
|
|
14
14
|
import { createStorage, Storage, StorageType } from '@dxos/random-access-storage';
|
|
15
|
+
import { BlobStore } from '@dxos/teleport-extension-object-sync';
|
|
15
16
|
import { describe, test, afterTest } from '@dxos/test';
|
|
16
17
|
|
|
17
18
|
import { IdentityManager } from './identity-manager';
|
|
@@ -25,6 +26,7 @@ describe('identity/identity-manager', () => {
|
|
|
25
26
|
storage?: Storage;
|
|
26
27
|
} = {}) => {
|
|
27
28
|
const metadataStore = new MetadataStore(storage.createDirectory('metadata'));
|
|
29
|
+
const blobStore = new BlobStore(storage.createDirectory('blobs'));
|
|
28
30
|
|
|
29
31
|
const keyring = new Keyring(storage.createDirectory('keyring'));
|
|
30
32
|
const feedStore = new FeedStore<FeedMessage>({
|
|
@@ -46,8 +48,9 @@ describe('identity/identity-manager', () => {
|
|
|
46
48
|
const spaceManager = new SpaceManager({
|
|
47
49
|
feedStore,
|
|
48
50
|
networkManager,
|
|
51
|
+
blobStore,
|
|
49
52
|
modelFactory: createDefaultModelFactory(),
|
|
50
|
-
metadataStore
|
|
53
|
+
metadataStore,
|
|
51
54
|
snapshotStore: new SnapshotStore(storage.createDirectory('snapshots')),
|
|
52
55
|
});
|
|
53
56
|
const identityManager = new IdentityManager(metadataStore, keyring, feedStore, spaceManager);
|
|
@@ -24,12 +24,29 @@ import { MemoryTransportFactory, NetworkManager } from '@dxos/network-manager';
|
|
|
24
24
|
import { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
|
|
25
25
|
import { AdmittedFeed } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
26
26
|
import { createStorage, StorageType } from '@dxos/random-access-storage';
|
|
27
|
+
import { BlobStore } from '@dxos/teleport-extension-object-sync';
|
|
27
28
|
import { afterTest, describe, test } from '@dxos/test';
|
|
28
29
|
|
|
29
30
|
import { Identity } from './identity';
|
|
30
31
|
|
|
32
|
+
const createStores = () => {
|
|
33
|
+
const storage = createStorage({ type: StorageType.RAM });
|
|
34
|
+
const metadataStore = new MetadataStore(storage.createDirectory('metadata'));
|
|
35
|
+
const blobStore = new BlobStore(storage.createDirectory('blobs'));
|
|
36
|
+
const snapshotStore = new SnapshotStore(storage.createDirectory('snapshots'));
|
|
37
|
+
|
|
38
|
+
return {
|
|
39
|
+
storage,
|
|
40
|
+
metadataStore,
|
|
41
|
+
blobStore,
|
|
42
|
+
snapshotStore,
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
|
|
31
46
|
describe('identity/identity', () => {
|
|
32
47
|
test('create', async () => {
|
|
48
|
+
const { storage, metadataStore, blobStore, snapshotStore } = createStores();
|
|
49
|
+
|
|
33
50
|
const keyring = new Keyring();
|
|
34
51
|
const identityKey = await keyring.createKey();
|
|
35
52
|
const deviceKey = await keyring.createKey();
|
|
@@ -37,7 +54,7 @@ describe('identity/identity', () => {
|
|
|
37
54
|
|
|
38
55
|
const feedStore = new FeedStore<FeedMessage>({
|
|
39
56
|
factory: new FeedFactory<FeedMessage>({
|
|
40
|
-
root:
|
|
57
|
+
root: storage.createDirectory('feeds'),
|
|
41
58
|
signer: keyring,
|
|
42
59
|
hypercore: {
|
|
43
60
|
valueEncoding,
|
|
@@ -60,14 +77,14 @@ describe('identity/identity', () => {
|
|
|
60
77
|
credentialProvider: MOCK_AUTH_PROVIDER,
|
|
61
78
|
credentialAuthenticator: MOCK_AUTH_VERIFIER,
|
|
62
79
|
},
|
|
80
|
+
blobStore,
|
|
63
81
|
networkManager: new NetworkManager({
|
|
64
82
|
signalManager: new MemorySignalManager(new MemorySignalManagerContext()),
|
|
65
83
|
transportFactory: MemoryTransportFactory,
|
|
66
84
|
}),
|
|
67
85
|
});
|
|
68
86
|
|
|
69
|
-
|
|
70
|
-
await metadata.setIdentityRecord({ haloSpace: { key: spaceKey }, identityKey, deviceKey });
|
|
87
|
+
await metadataStore.setIdentityRecord({ haloSpace: { key: spaceKey }, identityKey, deviceKey });
|
|
71
88
|
const space: Space = new Space({
|
|
72
89
|
spaceKey,
|
|
73
90
|
protocol,
|
|
@@ -75,10 +92,8 @@ describe('identity/identity', () => {
|
|
|
75
92
|
feedProvider: (feedKey) => feedStore.openFeed(feedKey),
|
|
76
93
|
memberKey: identityKey,
|
|
77
94
|
modelFactory: createDefaultModelFactory(),
|
|
78
|
-
metadataStore
|
|
79
|
-
snapshotManager: new SnapshotManager(
|
|
80
|
-
new SnapshotStore(createStorage({ type: StorageType.RAM }).createDirectory()),
|
|
81
|
-
),
|
|
95
|
+
metadataStore,
|
|
96
|
+
snapshotManager: new SnapshotManager(snapshotStore, blobStore, protocol.blobSync),
|
|
82
97
|
snapshotId: undefined,
|
|
83
98
|
})
|
|
84
99
|
.setControlFeed(controlFeed)
|
|
@@ -142,6 +157,8 @@ describe('identity/identity', () => {
|
|
|
142
157
|
// First device
|
|
143
158
|
//
|
|
144
159
|
{
|
|
160
|
+
const { storage, metadataStore, blobStore, snapshotStore } = createStores();
|
|
161
|
+
|
|
145
162
|
const keyring = new Keyring();
|
|
146
163
|
identityKey = await keyring.createKey();
|
|
147
164
|
const deviceKey = await keyring.createKey();
|
|
@@ -149,7 +166,7 @@ describe('identity/identity', () => {
|
|
|
149
166
|
|
|
150
167
|
const feedStore = new FeedStore<FeedMessage>({
|
|
151
168
|
factory: new FeedFactory<FeedMessage>({
|
|
152
|
-
root:
|
|
169
|
+
root: storage.createDirectory(),
|
|
153
170
|
signer: keyring,
|
|
154
171
|
hypercore: {
|
|
155
172
|
valueEncoding,
|
|
@@ -174,14 +191,14 @@ describe('identity/identity', () => {
|
|
|
174
191
|
credentialProvider: MOCK_AUTH_PROVIDER, // createHaloAuthProvider(createCredentialSignerWithKey(keyring, device_key)),
|
|
175
192
|
credentialAuthenticator: MOCK_AUTH_VERIFIER, // createHaloAuthVerifier(() => identity.authorizedDeviceKeys),
|
|
176
193
|
},
|
|
194
|
+
blobStore,
|
|
177
195
|
networkManager: new NetworkManager({
|
|
178
196
|
signalManager: new MemorySignalManager(signalContext),
|
|
179
197
|
transportFactory: MemoryTransportFactory,
|
|
180
198
|
}),
|
|
181
199
|
});
|
|
182
200
|
|
|
183
|
-
|
|
184
|
-
await metadata.setIdentityRecord({ haloSpace: { key: spaceKey }, identityKey, deviceKey });
|
|
201
|
+
await metadataStore.setIdentityRecord({ haloSpace: { key: spaceKey }, identityKey, deviceKey });
|
|
185
202
|
const space = new Space({
|
|
186
203
|
spaceKey,
|
|
187
204
|
protocol,
|
|
@@ -189,10 +206,8 @@ describe('identity/identity', () => {
|
|
|
189
206
|
feedProvider: (feedKey) => feedStore.openFeed(feedKey),
|
|
190
207
|
memberKey: identityKey,
|
|
191
208
|
modelFactory: createDefaultModelFactory(),
|
|
192
|
-
metadataStore
|
|
193
|
-
snapshotManager: new SnapshotManager(
|
|
194
|
-
new SnapshotStore(createStorage({ type: StorageType.RAM }).createDirectory()),
|
|
195
|
-
),
|
|
209
|
+
metadataStore,
|
|
210
|
+
snapshotManager: new SnapshotManager(snapshotStore, blobStore, protocol.blobSync),
|
|
196
211
|
})
|
|
197
212
|
.setControlFeed(controlFeed)
|
|
198
213
|
.setDataFeed(dataFeed);
|
|
@@ -233,12 +248,14 @@ describe('identity/identity', () => {
|
|
|
233
248
|
// Second device
|
|
234
249
|
//
|
|
235
250
|
{
|
|
251
|
+
const { storage, metadataStore, blobStore, snapshotStore } = createStores();
|
|
252
|
+
|
|
236
253
|
const keyring = new Keyring();
|
|
237
254
|
const deviceKey = await keyring.createKey();
|
|
238
255
|
|
|
239
256
|
const feedStore = new FeedStore<FeedMessage>({
|
|
240
257
|
factory: new FeedFactory<FeedMessage>({
|
|
241
|
-
root:
|
|
258
|
+
root: storage.createDirectory(),
|
|
242
259
|
signer: keyring,
|
|
243
260
|
hypercore: {
|
|
244
261
|
valueEncoding,
|
|
@@ -261,14 +278,18 @@ describe('identity/identity', () => {
|
|
|
261
278
|
credentialProvider: MOCK_AUTH_PROVIDER, // createHaloAuthProvider(createCredentialSignerWithKey(keyring, device_key)),
|
|
262
279
|
credentialAuthenticator: MOCK_AUTH_VERIFIER, // createHaloAuthVerifier(() => identity.authorizedDeviceKeys),
|
|
263
280
|
},
|
|
281
|
+
blobStore,
|
|
264
282
|
networkManager: new NetworkManager({
|
|
265
283
|
signalManager: new MemorySignalManager(signalContext),
|
|
266
284
|
transportFactory: MemoryTransportFactory,
|
|
267
285
|
}),
|
|
268
286
|
});
|
|
269
287
|
|
|
270
|
-
|
|
271
|
-
|
|
288
|
+
await metadataStore.setIdentityRecord({
|
|
289
|
+
haloSpace: { key: spaceKey },
|
|
290
|
+
identityKey: identity1.identityKey,
|
|
291
|
+
deviceKey,
|
|
292
|
+
});
|
|
272
293
|
const space = new Space({
|
|
273
294
|
spaceKey,
|
|
274
295
|
protocol,
|
|
@@ -276,10 +297,8 @@ describe('identity/identity', () => {
|
|
|
276
297
|
feedProvider: (feedKey) => feedStore.openFeed(feedKey),
|
|
277
298
|
memberKey: identityKey,
|
|
278
299
|
modelFactory: createDefaultModelFactory(),
|
|
279
|
-
metadataStore
|
|
280
|
-
snapshotManager: new SnapshotManager(
|
|
281
|
-
new SnapshotStore(createStorage({ type: StorageType.RAM }).createDirectory()),
|
|
282
|
-
),
|
|
300
|
+
metadataStore,
|
|
301
|
+
snapshotManager: new SnapshotManager(snapshotStore, blobStore, protocol.blobSync),
|
|
283
302
|
})
|
|
284
303
|
.setControlFeed(controlFeed)
|
|
285
304
|
.setDataFeed(dataFeed);
|
|
@@ -26,6 +26,7 @@ import { Invitation } from '@dxos/protocols/proto/dxos/client/services';
|
|
|
26
26
|
import type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
|
|
27
27
|
import { Credential } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
28
28
|
import { Storage } from '@dxos/random-access-storage';
|
|
29
|
+
import { BlobStore } from '@dxos/teleport-extension-object-sync';
|
|
29
30
|
|
|
30
31
|
import { CreateIdentityOptions, IdentityManager, JoinIdentityParams } from '../identity';
|
|
31
32
|
import {
|
|
@@ -44,7 +45,11 @@ export class ServiceContext {
|
|
|
44
45
|
public readonly initialized = new Trigger();
|
|
45
46
|
public readonly dataServiceSubscriptions = new DataServiceSubscriptions();
|
|
46
47
|
public readonly metadataStore: MetadataStore;
|
|
48
|
+
/**
|
|
49
|
+
* @deprecated
|
|
50
|
+
*/
|
|
47
51
|
public readonly snapshotStore: SnapshotStore;
|
|
52
|
+
public readonly blobStore: BlobStore;
|
|
48
53
|
public readonly feedStore: FeedStore<FeedMessage>;
|
|
49
54
|
public readonly keyring: Keyring;
|
|
50
55
|
public readonly spaceManager: SpaceManager;
|
|
@@ -73,6 +78,7 @@ export class ServiceContext {
|
|
|
73
78
|
// TODO(burdon): Move strings to constants.
|
|
74
79
|
this.metadataStore = new MetadataStore(storage.createDirectory('metadata'));
|
|
75
80
|
this.snapshotStore = new SnapshotStore(storage.createDirectory('snapshots'));
|
|
81
|
+
this.blobStore = new BlobStore(storage.createDirectory('blobs'));
|
|
76
82
|
|
|
77
83
|
this.keyring = new Keyring(storage.createDirectory('keyring'));
|
|
78
84
|
this.feedStore = new FeedStore<FeedMessage>({
|
|
@@ -88,6 +94,7 @@ export class ServiceContext {
|
|
|
88
94
|
this.spaceManager = new SpaceManager({
|
|
89
95
|
feedStore: this.feedStore,
|
|
90
96
|
networkManager: this.networkManager,
|
|
97
|
+
blobStore: this.blobStore,
|
|
91
98
|
metadataStore: this.metadataStore,
|
|
92
99
|
modelFactory: this.modelFactory,
|
|
93
100
|
snapshotStore: this.snapshotStore,
|
|
@@ -206,7 +206,6 @@ export class DataSpaceManager {
|
|
|
206
206
|
'dxos.mesh.teleport.gossip',
|
|
207
207
|
gossip.createExtension({ remotePeerId: session.remotePeerId }),
|
|
208
208
|
);
|
|
209
|
-
session.addExtension('dxos.mesh.teleport.objectsync', space.snapshotManager.objectSync.createExtension());
|
|
210
209
|
session.addExtension('dxos.mesh.teleport.notarization', dataSpace.notarizationPlugin.createExtension());
|
|
211
210
|
},
|
|
212
211
|
onAuthFailure: () => {
|
|
@@ -13,6 +13,7 @@ import { Keyring } from '@dxos/keyring';
|
|
|
13
13
|
import { MemorySignalManager, MemorySignalManagerContext } from '@dxos/messaging';
|
|
14
14
|
import { MemoryTransportFactory, NetworkManager } from '@dxos/network-manager';
|
|
15
15
|
import { createStorage, Storage, StorageType } from '@dxos/random-access-storage';
|
|
16
|
+
import { BlobStore } from '@dxos/teleport-extension-object-sync';
|
|
16
17
|
|
|
17
18
|
import { ClientServicesHost, ServiceContext } from '../services';
|
|
18
19
|
import { SigningContext } from '../spaces';
|
|
@@ -97,6 +98,7 @@ export type TestPeerProps = {
|
|
|
97
98
|
networkManager?: NetworkManager;
|
|
98
99
|
spaceManager?: SpaceManager;
|
|
99
100
|
snapshotStore?: SnapshotStore;
|
|
101
|
+
blobStore?: BlobStore;
|
|
100
102
|
};
|
|
101
103
|
|
|
102
104
|
export class TestPeer {
|
|
@@ -131,6 +133,10 @@ export class TestPeer {
|
|
|
131
133
|
return (this._props.metadataStore ??= new MetadataStore(this.storage.createDirectory('metadata')));
|
|
132
134
|
}
|
|
133
135
|
|
|
136
|
+
get blobStore() {
|
|
137
|
+
return (this._props.blobStore ??= new BlobStore(this.storage.createDirectory('blobs')));
|
|
138
|
+
}
|
|
139
|
+
|
|
134
140
|
get snapshotStore() {
|
|
135
141
|
return (this._props.snapshotStore ??= new SnapshotStore(this.storage.createDirectory('snapshots')));
|
|
136
142
|
}
|
|
@@ -149,6 +155,7 @@ export class TestPeer {
|
|
|
149
155
|
metadataStore: this.metadataStore,
|
|
150
156
|
modelFactory: createDefaultModelFactory(),
|
|
151
157
|
snapshotStore: this.snapshotStore,
|
|
158
|
+
blobStore: this.blobStore,
|
|
152
159
|
}));
|
|
153
160
|
}
|
|
154
161
|
|