@dxos/client-services 0.1.51-main.e7215ae → 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.
Files changed (37) hide show
  1. package/dist/lib/browser/{chunk-5W2L64HI.mjs → chunk-2GQ7337P.mjs} +105 -49
  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 +122 -66
  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 +146 -84
  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 -15
  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.test.ts +64 -1
  33. package/src/packlets/spaces/data-space-manager.ts +2 -2
  34. package/src/packlets/spaces/data-space.ts +8 -3
  35. package/src/packlets/spaces/spaces-service.ts +7 -0
  36. package/src/packlets/testing/test-builder.ts +7 -0
  37. package/dist/lib/browser/chunk-5W2L64HI.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":"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,EAC3B,gBAAgB,EACjB,MAAM,0CAA0C,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAO7C,qBAAa,kBAAkB;IAC7B,QAAQ,CAAC,KAAK,mBAAoB;CACnC;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,cAAc,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,qBAAa,mBAAoB,YAAW,YAAY;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,qBAAqB;IAE1D,MAAM,CAAC,OAAO,EAAE,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC;IAQpC,SAAS,CAAC,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAI9C,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC;IAatC,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAMrC,YAAY,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAMnD,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAI3F,mBAAmB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAI5F,sBAAsB,CAAC,OAAO,EAAE,6BAA6B,GAAG,MAAM,CAAC,8BAA8B,CAAC;IAItG,6BAA6B,CAC3B,OAAO,EAAE,oCAAoC,GAC5C,MAAM,CAAC,qCAAqC,CAAC;IAIhD,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,MAAM,CAAC,yBAAyB,CAAC;IAIvF,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAAC,wBAAwB,CAAC;IAIpF,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAAC,wBAAwB,CAAC;IAIpF,qBAAqB,CAAC,OAAO,EAAE,4BAA4B,GAAG,MAAM,CAAC,6BAA6B,CAAC;IAInG,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAIrF,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAIxF,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIlF,wBAAwB,CAAC,OAAO,EAAE,IAAI,GAAG,MAAM,CAAC,gCAAgC,CAAC;IAIjF,uBAAuB,CAAC,OAAO,EAAE,IAAI,GAAG,MAAM,CAAC,+BAA+B,CAAC;IAI/E,iBAAiB,IAAI,MAAM,CAAC,cAAc,CAAC;IAI3C,oBAAoB,IAAI,MAAM,CAAC,4BAA4B,CAAC;IAI5D,mBAAmB,IAAI,MAAM,CAAC,2BAA2B,CAAC;CAG3D"}
@@ -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;IAS7B,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;CAiCxB"}
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-main.e7215ae",
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-main.e7215ae",
27
- "@dxos/client-protocol": "0.1.51-main.e7215ae",
28
- "@dxos/codec-protobuf": "0.1.51-main.e7215ae",
29
- "@dxos/config": "0.1.51-main.e7215ae",
30
- "@dxos/context": "0.1.51-main.e7215ae",
31
- "@dxos/credentials": "0.1.51-main.e7215ae",
32
- "@dxos/crypto": "0.1.51-main.e7215ae",
33
- "@dxos/debug": "0.1.51-main.e7215ae",
34
- "@dxos/document-model": "0.1.51-main.e7215ae",
35
- "@dxos/echo-db": "0.1.51-main.e7215ae",
36
- "@dxos/echo-pipeline": "0.1.51-main.e7215ae",
37
- "@dxos/errors": "0.1.51-main.e7215ae",
38
- "@dxos/feed-store": "0.1.51-main.e7215ae",
39
- "@dxos/keyring": "0.1.51-main.e7215ae",
40
- "@dxos/keys": "0.1.51-main.e7215ae",
41
- "@dxos/log": "0.1.51-main.e7215ae",
42
- "@dxos/messaging": "0.1.51-main.e7215ae",
43
- "@dxos/model-factory": "0.1.51-main.e7215ae",
44
- "@dxos/network-manager": "0.1.51-main.e7215ae",
45
- "@dxos/node-std": "0.1.51-main.e7215ae",
46
- "@dxos/protocols": "0.1.51-main.e7215ae",
47
- "@dxos/random-access-storage": "0.1.51-main.e7215ae",
48
- "@dxos/rpc": "0.1.51-main.e7215ae",
49
- "@dxos/teleport": "0.1.51-main.e7215ae",
50
- "@dxos/teleport-extension-gossip": "0.1.51-main.e7215ae",
51
- "@dxos/text-model": "0.1.51-main.e7215ae",
52
- "@dxos/timeframe": "0.1.51-main.e7215ae",
53
- "@dxos/util": "0.1.51-main.e7215ae"
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-main.e7215ae"
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(),
@@ -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,12 +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
 
87
+ await metadataStore.setIdentityRecord({ haloSpace: { key: spaceKey }, identityKey, deviceKey });
69
88
  const space: Space = new Space({
70
89
  spaceKey,
71
90
  protocol,
@@ -73,10 +92,8 @@ describe('identity/identity', () => {
73
92
  feedProvider: (feedKey) => feedStore.openFeed(feedKey),
74
93
  memberKey: identityKey,
75
94
  modelFactory: createDefaultModelFactory(),
76
- metadataStore: new MetadataStore(createStorage({ type: StorageType.RAM }).createDirectory()),
77
- snapshotManager: new SnapshotManager(
78
- new SnapshotStore(createStorage({ type: StorageType.RAM }).createDirectory()),
79
- ),
95
+ metadataStore,
96
+ snapshotManager: new SnapshotManager(snapshotStore, blobStore, protocol.blobSync),
80
97
  snapshotId: undefined,
81
98
  })
82
99
  .setControlFeed(controlFeed)
@@ -140,6 +157,8 @@ describe('identity/identity', () => {
140
157
  // First device
141
158
  //
142
159
  {
160
+ const { storage, metadataStore, blobStore, snapshotStore } = createStores();
161
+
143
162
  const keyring = new Keyring();
144
163
  identityKey = await keyring.createKey();
145
164
  const deviceKey = await keyring.createKey();
@@ -147,7 +166,7 @@ describe('identity/identity', () => {
147
166
 
148
167
  const feedStore = new FeedStore<FeedMessage>({
149
168
  factory: new FeedFactory<FeedMessage>({
150
- root: createStorage({ type: StorageType.RAM }).createDirectory(),
169
+ root: storage.createDirectory(),
151
170
  signer: keyring,
152
171
  hypercore: {
153
172
  valueEncoding,
@@ -172,12 +191,14 @@ describe('identity/identity', () => {
172
191
  credentialProvider: MOCK_AUTH_PROVIDER, // createHaloAuthProvider(createCredentialSignerWithKey(keyring, device_key)),
173
192
  credentialAuthenticator: MOCK_AUTH_VERIFIER, // createHaloAuthVerifier(() => identity.authorizedDeviceKeys),
174
193
  },
194
+ blobStore,
175
195
  networkManager: new NetworkManager({
176
196
  signalManager: new MemorySignalManager(signalContext),
177
197
  transportFactory: MemoryTransportFactory,
178
198
  }),
179
199
  });
180
200
 
201
+ await metadataStore.setIdentityRecord({ haloSpace: { key: spaceKey }, identityKey, deviceKey });
181
202
  const space = new Space({
182
203
  spaceKey,
183
204
  protocol,
@@ -185,10 +206,8 @@ describe('identity/identity', () => {
185
206
  feedProvider: (feedKey) => feedStore.openFeed(feedKey),
186
207
  memberKey: identityKey,
187
208
  modelFactory: createDefaultModelFactory(),
188
- metadataStore: new MetadataStore(createStorage({ type: StorageType.RAM }).createDirectory()),
189
- snapshotManager: new SnapshotManager(
190
- new SnapshotStore(createStorage({ type: StorageType.RAM }).createDirectory()),
191
- ),
209
+ metadataStore,
210
+ snapshotManager: new SnapshotManager(snapshotStore, blobStore, protocol.blobSync),
192
211
  })
193
212
  .setControlFeed(controlFeed)
194
213
  .setDataFeed(dataFeed);
@@ -229,12 +248,14 @@ describe('identity/identity', () => {
229
248
  // Second device
230
249
  //
231
250
  {
251
+ const { storage, metadataStore, blobStore, snapshotStore } = createStores();
252
+
232
253
  const keyring = new Keyring();
233
254
  const deviceKey = await keyring.createKey();
234
255
 
235
256
  const feedStore = new FeedStore<FeedMessage>({
236
257
  factory: new FeedFactory<FeedMessage>({
237
- root: createStorage({ type: StorageType.RAM }).createDirectory(),
258
+ root: storage.createDirectory(),
238
259
  signer: keyring,
239
260
  hypercore: {
240
261
  valueEncoding,
@@ -257,12 +278,18 @@ describe('identity/identity', () => {
257
278
  credentialProvider: MOCK_AUTH_PROVIDER, // createHaloAuthProvider(createCredentialSignerWithKey(keyring, device_key)),
258
279
  credentialAuthenticator: MOCK_AUTH_VERIFIER, // createHaloAuthVerifier(() => identity.authorizedDeviceKeys),
259
280
  },
281
+ blobStore,
260
282
  networkManager: new NetworkManager({
261
283
  signalManager: new MemorySignalManager(signalContext),
262
284
  transportFactory: MemoryTransportFactory,
263
285
  }),
264
286
  });
265
287
 
288
+ await metadataStore.setIdentityRecord({
289
+ haloSpace: { key: spaceKey },
290
+ identityKey: identity1.identityKey,
291
+ deviceKey,
292
+ });
266
293
  const space = new Space({
267
294
  spaceKey,
268
295
  protocol,
@@ -270,10 +297,8 @@ describe('identity/identity', () => {
270
297
  feedProvider: (feedKey) => feedStore.openFeed(feedKey),
271
298
  memberKey: identityKey,
272
299
  modelFactory: createDefaultModelFactory(),
273
- metadataStore: new MetadataStore(createStorage({ type: StorageType.RAM }).createDirectory()),
274
- snapshotManager: new SnapshotManager(
275
- new SnapshotStore(createStorage({ type: StorageType.RAM }).createDirectory()),
276
- ),
300
+ metadataStore,
301
+ snapshotManager: new SnapshotManager(snapshotStore, blobStore, protocol.blobSync),
277
302
  })
278
303
  .setControlFeed(controlFeed)
279
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,