@dxos/client-services 0.1.51-next.57ad9f3 → 0.1.51

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 (36) hide show
  1. package/dist/lib/browser/{chunk-YPN5TDAA.mjs → chunk-2GQ7337P.mjs} +91 -44
  2. package/dist/lib/browser/chunk-2GQ7337P.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +1 -1
  4. package/dist/lib/browser/meta.json +1 -1
  5. package/dist/lib/browser/packlets/testing/index.mjs +8 -2
  6. package/dist/lib/browser/packlets/testing/index.mjs.map +3 -3
  7. package/dist/lib/node/index.cjs +108 -61
  8. package/dist/lib/node/index.cjs.map +3 -3
  9. package/dist/lib/node/meta.json +1 -1
  10. package/dist/lib/node/packlets/testing/index.cjs +132 -79
  11. package/dist/lib/node/packlets/testing/index.cjs.map +3 -3
  12. package/dist/types/src/packlets/devtools/devtools.d.ts +2 -1
  13. package/dist/types/src/packlets/devtools/devtools.d.ts.map +1 -1
  14. package/dist/types/src/packlets/devtools/feeds.d.ts.map +1 -1
  15. package/dist/types/src/packlets/identity/identity-manager.d.ts.map +1 -1
  16. package/dist/types/src/packlets/logging/logging-service.d.ts +1 -1
  17. package/dist/types/src/packlets/logging/logging-service.d.ts.map +1 -1
  18. package/dist/types/src/packlets/services/service-context.d.ts +5 -0
  19. package/dist/types/src/packlets/services/service-context.d.ts.map +1 -1
  20. package/dist/types/src/packlets/spaces/data-space.d.ts.map +1 -1
  21. package/dist/types/src/packlets/spaces/spaces-service.d.ts.map +1 -1
  22. package/dist/types/src/packlets/testing/test-builder.d.ts +3 -0
  23. package/dist/types/src/packlets/testing/test-builder.d.ts.map +1 -1
  24. package/package.json +31 -30
  25. package/src/packlets/devtools/devtools.ts +7 -0
  26. package/src/packlets/devtools/feeds.ts +1 -0
  27. package/src/packlets/identity/identity-manager.test.ts +4 -1
  28. package/src/packlets/identity/identity-manager.ts +4 -1
  29. package/src/packlets/identity/identity.test.ts +40 -21
  30. package/src/packlets/logging/logging-service.ts +58 -15
  31. package/src/packlets/services/service-context.ts +7 -0
  32. package/src/packlets/spaces/data-space-manager.ts +2 -2
  33. package/src/packlets/spaces/data-space.ts +4 -1
  34. package/src/packlets/spaces/spaces-service.ts +3 -0
  35. package/src/packlets/testing/test-builder.ts +7 -0
  36. package/dist/lib/browser/chunk-YPN5TDAA.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":"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"}
1
+ {"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/devtools/devtools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"feeds.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/devtools/feeds.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAgB,SAAS,EAAe,MAAM,kBAAkB,CAAC;AAExE,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,EAC9B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAGnE,eAAO,MAAM,gBAAgB;eACC,UAAU,WAAW,CAAC;iBACpC,uBAAuB,qCAkCtC,CAAC;AAEF,eAAO,MAAM,qBAAqB;eACJ,UAAU,WAAW,CAAC;2BACrB,4BAA4B,0CA6C1D,CAAC"}
1
+ {"version":3,"file":"feeds.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/devtools/feeds.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAgB,SAAS,EAAe,MAAM,kBAAkB,CAAC;AAExE,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,EAC9B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAGnE,eAAO,MAAM,gBAAgB;eACC,UAAU,WAAW,CAAC;iBACpC,uBAAuB,qCAmCtC,CAAC;AAEF,eAAO,MAAM,qBAAqB;eACJ,UAAU,WAAW,CAAC;2BACrB,4BAA4B,0CA6C1D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"identity-manager.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/identity/identity-manager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAiB,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAGnE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,EAAE,SAAS,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,SAAS,CAAC;IACxB,kBAAkB,EAAE,SAAS,CAAC;IAC9B,cAAc,EAAE,SAAS,CAAC;IAC1B,WAAW,EAAE,SAAS,CAAC;IAEvB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAGF,qBAAa,eAAe;IAQxB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAVhC,QAAQ,CAAC,WAAW,cAAe;IAEnC,OAAO,CAAC,SAAS,CAAC,CAAW;gBAKV,cAAc,EAAE,aAAa,EAC7B,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,SAAS,CAAC,WAAW,CAAC,EAClC,aAAa,EAAE,YAAY;IAG9C,IAAI,QAAQ,yBAEX;IAEK,IAAI;IAoBJ,KAAK;IAIL,cAAc,CAAC,EAAE,WAAW,EAAE,GAAE,qBAA0B;IAmEhE;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,kBAAkB;YA+BjC,kBAAkB;YAwClB,eAAe;CAc9B"}
1
+ {"version":3,"file":"identity-manager.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/identity/identity-manager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAiB,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAGnE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,EAAE,SAAS,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,SAAS,CAAC;IACxB,kBAAkB,EAAE,SAAS,CAAC;IAC9B,cAAc,EAAE,SAAS,CAAC;IAC1B,WAAW,EAAE,SAAS,CAAC;IAEvB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAGF,qBAAa,eAAe;IAQxB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAVhC,QAAQ,CAAC,WAAW,cAAe;IAEnC,OAAO,CAAC,SAAS,CAAC,CAAW;gBAKV,cAAc,EAAE,aAAa,EAC7B,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,SAAS,CAAC,WAAW,CAAC,EAClC,aAAa,EAAE,YAAY;IAG9C,IAAI,QAAQ,yBAEX;IAEK,IAAI;IAoBJ,KAAK;IAIL,cAAc,CAAC,EAAE,WAAW,EAAE,GAAE,qBAA0B;IAmEhE;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,kBAAkB;YA+BjC,kBAAkB;YA2ClB,eAAe;CAc9B"}
@@ -1,5 +1,5 @@
1
1
  import { Stream } from '@dxos/codec-protobuf';
2
- import { LoggingService, LogEntry, QueryLogsRequest } from '@dxos/protocols/proto/dxos/client/services';
2
+ import { LogEntry, LoggingService, QueryLogsRequest } from '@dxos/protocols/proto/dxos/client/services';
3
3
  /**
4
4
  * Logging service used to spy on logs of the host.
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"logging-service.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/logging/logging-service.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAGxG;;GAEG;AACH,qBAAa,kBAAmB,YAAW,cAAc;IACvD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IAEhD,IAAI;IAIJ,KAAK;IAKX,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC;IAgCtD,OAAO,CAAC,aAAa,CAEnB;CACH"}
1
+ {"version":3,"file":"logging-service.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/logging/logging-service.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAGxG;;GAEG;AACH,qBAAa,kBAAmB,YAAW,cAAc;IACvD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IAEhD,IAAI;IAIJ,KAAK;IAKX,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC;IA4CtD,OAAO,CAAC,aAAa,CAEnB;CACH"}
@@ -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;AAEtD,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;aAyBP,OAAO,EAAE,OAAO;aAChB,cAAc,EAAE,cAAc;aAC9B,aAAa,EAAE,aAAa;aAC5B,YAAY,EAAE,YAAY;IA3B5C,SAAgB,WAAW,gBAAiB;IAC5C,SAAgB,wBAAwB,2BAAkC;IAC1E,SAAgB,aAAa,EAAE,aAAa,CAAC;IAC7C,SAAgB,aAAa,EAAE,aAAa,CAAC;IAC7C,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;IA+CtC,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
+ {"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.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/data-space.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-space.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/data-space.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"spaces-service.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/spaces-service.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAsB,MAAM,qBAAqB,CAAC;AAGjG,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,KAAK,EAEL,aAAa,EACb,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAY,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAIxD,qBAAa,iBAAkB,YAAW,aAAa;IAEnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAHpB,gBAAgB,EAAE,eAAe,EACjC,aAAa,EAAE,YAAY,EAC3B,yBAAyB,EAAE,wBAAwB,EACnD,oBAAoB,EAAE,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAGtE,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;IAU7B,WAAW,CAAC,OAAO,EAAE,kBAAkB;IAI7C,WAAW,IAAI,MAAM,CAAC,mBAAmB,CAAC;IAoDpC,WAAW,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,kBAAkB;IAMpE,iBAAiB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,wBAAwB;IAajE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE,uBAAuB,GAAG,MAAM,CAAC,UAAU,CAAC;IAcrE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,uBAAuB;IAOnE,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE,kBAAkB;IAMlD,OAAO,CAAC,eAAe;CAoCxB"}
1
+ {"version":3,"file":"spaces-service.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/spaces-service.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAsB,MAAM,qBAAqB,CAAC;AAGjG,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,KAAK,EAEL,aAAa,EACb,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAY,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAIxD,qBAAa,iBAAkB,YAAW,aAAa;IAEnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAHpB,gBAAgB,EAAE,eAAe,EACjC,aAAa,EAAE,YAAY,EAC3B,yBAAyB,EAAE,wBAAwB,EACnD,oBAAoB,EAAE,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAGtE,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;IAU7B,WAAW,CAAC,OAAO,EAAE,kBAAkB;IAI7C,WAAW,IAAI,MAAM,CAAC,mBAAmB,CAAC;IAqDpC,WAAW,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,kBAAkB;IAMpE,iBAAiB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,wBAAwB;IAajE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE,uBAAuB,GAAG,MAAM,CAAC,UAAU,CAAC;IAcrE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,uBAAuB;IAOnE,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE,kBAAkB;IAMlD,OAAO,CAAC,eAAe;CAsCxB"}
@@ -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;AAElF,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;CAC/B,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,aAAa,kBAEhB;IAED,IAAI,cAAc,mBAKjB;IAED,IAAI,YAAY,iBAQf;IAEK,OAAO;CAGd;AAED,eAAO,MAAM,oBAAoB,YAAmB,OAAO,KAAG,QAAQ,cAAc,CAgBnF,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.57ad9f3",
3
+ "version": "0.1.51",
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.57ad9f3",
27
- "@dxos/client-protocol": "0.1.51-next.57ad9f3",
28
- "@dxos/codec-protobuf": "0.1.51-next.57ad9f3",
29
- "@dxos/config": "0.1.51-next.57ad9f3",
30
- "@dxos/context": "0.1.51-next.57ad9f3",
31
- "@dxos/credentials": "0.1.51-next.57ad9f3",
32
- "@dxos/crypto": "0.1.51-next.57ad9f3",
33
- "@dxos/debug": "0.1.51-next.57ad9f3",
34
- "@dxos/document-model": "0.1.51-next.57ad9f3",
35
- "@dxos/echo-db": "0.1.51-next.57ad9f3",
36
- "@dxos/echo-pipeline": "0.1.51-next.57ad9f3",
37
- "@dxos/errors": "0.1.51-next.57ad9f3",
38
- "@dxos/feed-store": "0.1.51-next.57ad9f3",
39
- "@dxos/keyring": "0.1.51-next.57ad9f3",
40
- "@dxos/keys": "0.1.51-next.57ad9f3",
41
- "@dxos/log": "0.1.51-next.57ad9f3",
42
- "@dxos/messaging": "0.1.51-next.57ad9f3",
43
- "@dxos/model-factory": "0.1.51-next.57ad9f3",
44
- "@dxos/network-manager": "0.1.51-next.57ad9f3",
45
- "@dxos/node-std": "0.1.51-next.57ad9f3",
46
- "@dxos/protocols": "0.1.51-next.57ad9f3",
47
- "@dxos/random-access-storage": "0.1.51-next.57ad9f3",
48
- "@dxos/rpc": "0.1.51-next.57ad9f3",
49
- "@dxos/teleport": "0.1.51-next.57ad9f3",
50
- "@dxos/teleport-extension-gossip": "0.1.51-next.57ad9f3",
51
- "@dxos/text-model": "0.1.51-next.57ad9f3",
52
- "@dxos/timeframe": "0.1.51-next.57ad9f3",
53
- "@dxos/util": "0.1.51-next.57ad9f3"
26
+ "@dxos/async": "0.1.51",
27
+ "@dxos/client-protocol": "0.1.51",
28
+ "@dxos/codec-protobuf": "0.1.51",
29
+ "@dxos/config": "0.1.51",
30
+ "@dxos/context": "0.1.51",
31
+ "@dxos/credentials": "0.1.51",
32
+ "@dxos/crypto": "0.1.51",
33
+ "@dxos/debug": "0.1.51",
34
+ "@dxos/document-model": "0.1.51",
35
+ "@dxos/echo-db": "0.1.51",
36
+ "@dxos/echo-pipeline": "0.1.51",
37
+ "@dxos/errors": "0.1.51",
38
+ "@dxos/feed-store": "0.1.51",
39
+ "@dxos/keyring": "0.1.51",
40
+ "@dxos/keys": "0.1.51",
41
+ "@dxos/log": "0.1.51",
42
+ "@dxos/messaging": "0.1.51",
43
+ "@dxos/model-factory": "0.1.51",
44
+ "@dxos/network-manager": "0.1.51",
45
+ "@dxos/node-std": "0.1.51",
46
+ "@dxos/protocols": "0.1.51",
47
+ "@dxos/random-access-storage": "0.1.51",
48
+ "@dxos/rpc": "0.1.51",
49
+ "@dxos/teleport": "0.1.51",
50
+ "@dxos/teleport-extension-gossip": "0.1.51",
51
+ "@dxos/teleport-extension-object-sync": "0.1.51",
52
+ "@dxos/text-model": "0.1.51",
53
+ "@dxos/timeframe": "0.1.51",
54
+ "@dxos/util": "0.1.51"
54
55
  },
55
56
  "devDependencies": {
56
57
  "@types/readable-stream": "^2.3.9",
57
- "@dxos/signal": "0.1.51-next.57ad9f3"
58
+ "@dxos/signal": "0.1.51"
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(),
@@ -40,6 +40,7 @@ export const subscribeToFeeds = (
40
40
  feedKey: feed.key,
41
41
  length: feed.properties.length,
42
42
  bytes: feed.core.byteLength,
43
+ downloaded: feed.core.bitfield?.data.toBuffer() ?? new Uint8Array(),
43
44
  })),
44
45
  });
45
46
  };
@@ -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: new MetadataStore(storage.createDirectory('metadata')),
53
+ metadataStore,
51
54
  snapshotStore: new SnapshotStore(storage.createDirectory('snapshots')),
52
55
  });
53
56
  const identityManager = new IdentityManager(metadataStore, keyring, feedStore, spaceManager);
@@ -200,7 +200,10 @@ export class IdentityManager {
200
200
  writable: true,
201
201
  });
202
202
  assert(identityRecord.haloSpace.dataFeedKey);
203
- const dataFeed = await this._feedStore.openFeed(identityRecord.haloSpace.dataFeedKey, { writable: true });
203
+ const dataFeed = await this._feedStore.openFeed(identityRecord.haloSpace.dataFeedKey, {
204
+ writable: true,
205
+ sparse: true,
206
+ });
204
207
 
205
208
  const space = await this._constructSpace({
206
209
  spaceRecord: identityRecord.haloSpace,
@@ -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: createStorage({ type: StorageType.RAM }).createDirectory(),
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
- const metadata = new MetadataStore(createStorage({ type: StorageType.RAM }).createDirectory());
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: metadata,
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: createStorage({ type: StorageType.RAM }).createDirectory(),
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
- const metadata = new MetadataStore(createStorage({ type: StorageType.RAM }).createDirectory());
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: metadata,
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: createStorage({ type: StorageType.RAM }).createDirectory(),
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
- const metadata = new MetadataStore(createStorage({ type: StorageType.RAM }).createDirectory());
271
- await metadata.setIdentityRecord({ haloSpace: { key: spaceKey }, identityKey: identity1.identityKey, deviceKey });
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: metadata,
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);
@@ -4,8 +4,8 @@
4
4
 
5
5
  import { Event } from '@dxos/async';
6
6
  import { Stream } from '@dxos/codec-protobuf';
7
- import { log, LogEntry as NaturalLogEntry, LogProcessor, shouldLog, getContextFromEntry } from '@dxos/log';
8
- import { LoggingService, LogEntry, QueryLogsRequest } from '@dxos/protocols/proto/dxos/client/services';
7
+ import { LogLevel, LogProcessor, LogEntry as NaturalLogEntry, getContextFromEntry, log } from '@dxos/log';
8
+ import { LogEntry, LoggingService, QueryLogsRequest } from '@dxos/protocols/proto/dxos/client/services';
9
9
  import { jsonify } from '@dxos/util';
10
10
 
11
11
  /**
@@ -24,9 +24,13 @@ export class LoggingServiceImpl implements LoggingService {
24
24
  }
25
25
 
26
26
  queryLogs(request: QueryLogsRequest): Stream<LogEntry> {
27
- const filters = request.filters?.length ? request.filters : undefined;
28
27
  return new Stream<LogEntry>(({ ctx, next }) => {
29
28
  const handler = (entry: NaturalLogEntry) => {
29
+ // This call was caused by the logging service itself.
30
+ if (LOG_PROCESSING > 0) {
31
+ return;
32
+ }
33
+
30
34
  // Prevent logging feedback loop from logging service.
31
35
  if (
32
36
  entry.meta?.file.includes('logging-service') ||
@@ -36,22 +40,30 @@ export class LoggingServiceImpl implements LoggingService {
36
40
  return;
37
41
  }
38
42
 
39
- if (shouldLog(entry, filters)) {
40
- const record = {
41
- ...entry,
42
- context: jsonify(getContextFromEntry(entry)),
43
- } satisfies NaturalLogEntry;
44
- delete record.meta?.bugcheck;
45
- delete record.meta?.scope;
43
+ if (!shouldLog(entry, request)) {
44
+ return;
45
+ }
46
+
47
+ const record: LogEntry = {
48
+ ...entry,
49
+ context: jsonify(getContextFromEntry(entry)),
50
+ timestamp: new Date(),
51
+ meta: {
52
+ // TODO(dmaretskyi): Fix proto.
53
+ file: entry.meta?.file ?? '',
54
+ line: entry.meta?.line ?? 0,
55
+ },
56
+ };
57
+
58
+ try {
59
+ LOG_PROCESSING++;
46
60
  next(record);
61
+ } finally {
62
+ LOG_PROCESSING--;
47
63
  }
48
64
  };
49
65
 
50
- ctx.onDispose(() => {
51
- this._logs.off(handler);
52
- });
53
-
54
- this._logs.on(handler);
66
+ this._logs.on(ctx, handler);
55
67
  });
56
68
  }
57
69
 
@@ -59,3 +71,34 @@ export class LoggingServiceImpl implements LoggingService {
59
71
  this._logs.emit(entry);
60
72
  };
61
73
  }
74
+
75
+ const matchFilter = (
76
+ filter: QueryLogsRequest.Filter,
77
+ level: LogLevel,
78
+ path: string,
79
+ options: QueryLogsRequest.MatchingOptions,
80
+ ) => {
81
+ switch (options) {
82
+ case QueryLogsRequest.MatchingOptions.INCLUSIVE:
83
+ return level >= filter.level && (!filter.pattern || path.includes(filter.pattern));
84
+ case QueryLogsRequest.MatchingOptions.EXPLICIT:
85
+ return level === filter.level && (!filter.pattern || path.includes(filter.pattern));
86
+ }
87
+ };
88
+
89
+ /**
90
+ * Determines if the current line should be logged (called by the processor).
91
+ */
92
+ const shouldLog = (entry: NaturalLogEntry, request: QueryLogsRequest): boolean => {
93
+ const options = request.options ?? QueryLogsRequest.MatchingOptions.INCLUSIVE;
94
+ if (request.filters === undefined) {
95
+ return options === QueryLogsRequest.MatchingOptions.INCLUSIVE;
96
+ } else {
97
+ return request.filters.some((filter) => matchFilter(filter, entry.level, entry.meta?.file ?? '', options));
98
+ }
99
+ };
100
+
101
+ /**
102
+ * Counter that is used to track whether we are processing a log entry.
103
+ */
104
+ let LOG_PROCESSING = 0;
@@ -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,
@@ -191,7 +191,8 @@ export class DataSpaceManager {
191
191
 
192
192
  const controlFeed =
193
193
  metadata.controlFeedKey && (await this._feedStore.openFeed(metadata.controlFeedKey, { writable: true }));
194
- const dataFeed = metadata.dataFeedKey && (await this._feedStore.openFeed(metadata.dataFeedKey, { writable: true }));
194
+ const dataFeed =
195
+ metadata.dataFeedKey && (await this._feedStore.openFeed(metadata.dataFeedKey, { writable: true, sparse: true }));
195
196
 
196
197
  const space: Space = await this._spaceManager.constructSpace({
197
198
  metadata,
@@ -205,7 +206,6 @@ export class DataSpaceManager {
205
206
  'dxos.mesh.teleport.gossip',
206
207
  gossip.createExtension({ remotePeerId: session.remotePeerId }),
207
208
  );
208
- session.addExtension('dxos.mesh.teleport.objectsync', space.snapshotManager.objectSync.createExtension());
209
209
  session.addExtension('dxos.mesh.teleport.notarization', dataSpace.notarizationPlugin.createExtension());
210
210
  },
211
211
  onAuthFailure: () => {
@@ -256,7 +256,10 @@ export class DataSpace {
256
256
  );
257
257
  }
258
258
  if (!this.inner.dataFeedKey) {
259
- const dataFeed = await this._feedStore.openFeed(await this._keyring.createKey(), { writable: true });
259
+ const dataFeed = await this._feedStore.openFeed(await this._keyring.createKey(), {
260
+ writable: true,
261
+ sparse: true,
262
+ });
260
263
  this.inner.setDataFeed(dataFeed);
261
264
 
262
265
  credentials.push(