@dxos/client-services 0.1.31-next.ea8f0bc → 0.1.32-next.77d513e

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 (57) hide show
  1. package/dist/lib/browser/{chunk-ZIQUYEJS.mjs → chunk-E3FD43YN.mjs} +460 -213
  2. package/dist/lib/browser/chunk-E3FD43YN.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 +64 -6
  6. package/dist/lib/browser/packlets/testing/index.mjs.map +3 -3
  7. package/dist/lib/node/index.cjs +462 -215
  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 +524 -218
  11. package/dist/lib/node/packlets/testing/index.cjs.map +3 -3
  12. package/dist/types/src/packlets/identity/identity-manager.d.ts +6 -0
  13. package/dist/types/src/packlets/identity/identity-manager.d.ts.map +1 -1
  14. package/dist/types/src/packlets/invitations/device-invitations-handler.d.ts.map +1 -1
  15. package/dist/types/src/packlets/invitations/space-invitations-handler.d.ts.map +1 -1
  16. package/dist/types/src/packlets/services/service-host.d.ts +1 -0
  17. package/dist/types/src/packlets/services/service-host.d.ts.map +1 -1
  18. package/dist/types/src/packlets/spaces/data-space-manager.d.ts +19 -1
  19. package/dist/types/src/packlets/spaces/data-space-manager.d.ts.map +1 -1
  20. package/dist/types/src/packlets/spaces/data-space.d.ts +32 -5
  21. package/dist/types/src/packlets/spaces/data-space.d.ts.map +1 -1
  22. package/dist/types/src/packlets/spaces/notarization-plugin.d.ts +29 -1
  23. package/dist/types/src/packlets/spaces/notarization-plugin.d.ts.map +1 -1
  24. package/dist/types/src/packlets/spaces/spaces-service.d.ts +4 -1
  25. package/dist/types/src/packlets/spaces/spaces-service.d.ts.map +1 -1
  26. package/dist/types/src/packlets/testing/host-test-builder.d.ts +2 -2
  27. package/dist/types/src/packlets/testing/host-test-builder.d.ts.map +1 -1
  28. package/dist/types/src/packlets/testing/test-builder.d.ts +2 -0
  29. package/dist/types/src/packlets/testing/test-builder.d.ts.map +1 -1
  30. package/dist/types/src/packlets/tests/text.test.d.ts +2 -0
  31. package/dist/types/src/packlets/tests/text.test.d.ts.map +1 -0
  32. package/dist/types/src/packlets/vault/vault-resource-lock.d.ts +1 -0
  33. package/dist/types/src/packlets/vault/vault-resource-lock.d.ts.map +1 -1
  34. package/package.json +31 -30
  35. package/src/packlets/identity/identity-manager.ts +32 -17
  36. package/src/packlets/invitations/device-invitations-handler.ts +5 -3
  37. package/src/packlets/invitations/space-invitations-handler.test.ts +20 -3
  38. package/src/packlets/invitations/space-invitations-handler.ts +15 -8
  39. package/src/packlets/services/service-context.test.ts +6 -5
  40. package/src/packlets/services/service-host.ts +7 -2
  41. package/src/packlets/spaces/data-space-manager.test.ts +77 -2
  42. package/src/packlets/spaces/data-space-manager.ts +87 -37
  43. package/src/packlets/spaces/data-space.ts +103 -16
  44. package/src/packlets/spaces/notarization-plugin.test.ts +3 -1
  45. package/src/packlets/spaces/notarization-plugin.ts +67 -19
  46. package/src/packlets/spaces/spaces-service.test.ts +1 -1
  47. package/src/packlets/spaces/spaces-service.ts +53 -17
  48. package/src/packlets/testing/host-test-builder.ts +2 -2
  49. package/src/packlets/testing/test-builder.ts +45 -5
  50. package/src/packlets/tests/client-services.test.ts +24 -11
  51. package/src/packlets/tests/client.test.ts +3 -6
  52. package/src/packlets/tests/halo-profile.test.ts +5 -5
  53. package/src/packlets/tests/spaces-invitations.test.ts +47 -7
  54. package/src/packlets/tests/spaces.test.ts +86 -9
  55. package/src/packlets/tests/text.test.ts +206 -0
  56. package/src/packlets/vault/vault-resource-lock.ts +10 -1
  57. package/dist/lib/browser/chunk-ZIQUYEJS.mjs.map +0 -7
@@ -4,6 +4,7 @@ import { FeedStore } from '@dxos/feed-store';
4
4
  import { Keyring } from '@dxos/keyring';
5
5
  import { PublicKey } from '@dxos/keys';
6
6
  import { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
7
+ import { Timeframe } from '@dxos/timeframe';
7
8
  import { Identity } from './identity';
8
9
  export declare type JoinIdentityParams = {
9
10
  identityKey: PublicKey;
@@ -12,6 +13,11 @@ export declare type JoinIdentityParams = {
12
13
  haloGenesisFeedKey: PublicKey;
13
14
  controlFeedKey: PublicKey;
14
15
  dataFeedKey: PublicKey;
16
+ /**
17
+ * Latest known timeframe for the control pipeline.
18
+ * We will try to catch up to this timeframe before starting the data pipeline.
19
+ */
20
+ controlTimeframe?: Timeframe;
15
21
  };
16
22
  export declare type CreateIdentityOptions = {
17
23
  displayName?: string;
@@ -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;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAKnE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC,oBAAY,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;CACxB,CAAC;AAEF,oBAAY,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;IAaJ,KAAK;IAIL,cAAc,CAAC,EAAE,WAAW,EAAE,GAAE,qBAA0B;IAgEhE;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,kBAAkB;YAyBjC,kBAAkB;YAiClB,eAAe;CAU9B"}
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;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAGnE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC,oBAAY,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,oBAAY,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;IAaJ,KAAK;IAIL,cAAc,CAAC,EAAE,WAAW,EAAE,GAAE,qBAA0B;IA+DhE;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,kBAAkB;YA0BjC,kBAAkB;YAwClB,eAAe;CAU9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"device-invitations-handler.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/device-invitations-handler.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,EAEhC,+BAA+B,EAE/B,kBAAkB,EAGnB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAiC,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAEpG,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAUxE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE3D,aAAK,8BAA8B,GAAG;IACpC,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IAEjB,WAAW,EAAE,MAAM,QAAQ,CAAC;IAC5B,cAAc,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;CACrE,CAAC;AAEF;;GAEG;AAEH,qBAAa,wBAAyB,SAAQ,0BAA0B;IAGpE,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,8BAA8B;IAK1D;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,+BAA+B;IAmH9F;;;;OAIG;IACH,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,gCAAgC;CAkHzG"}
1
+ {"version":3,"file":"device-invitations-handler.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/device-invitations-handler.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,EAEhC,+BAA+B,EAE/B,kBAAkB,EAGnB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAiC,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAEpG,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAUxE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE3D,aAAK,8BAA8B,GAAG;IACpC,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IAEjB,WAAW,EAAE,MAAM,QAAQ,CAAC;IAC5B,cAAc,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;CACrE,CAAC;AAEF;;GAEG;AAEH,qBAAa,wBAAyB,SAAQ,0BAA0B;IAGpE,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,8BAA8B;IAK1D;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,+BAA+B;IAoH9F;;;;OAIG;IACH,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,gCAAgC;CAmHzG"}
@@ -1 +1 @@
1
- {"version":3,"file":"space-invitations-handler.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/space-invitations-handler.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,gCAAgC,EAEhC,+BAA+B,EAI/B,0BAA0B,EAC1B,kBAAkB,EACnB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAiC,cAAc,EAAiC,MAAM,uBAAuB,CAAC;AAErH,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAexE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAIxD;;GAEG;AAEH,qBAAa,uBAAwB,SAAQ,0BAA0B,CAAC,SAAS,CAAC;IAG9E,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAHzB,cAAc,EAAE,cAAc,EACb,aAAa,EAAE,gBAAgB,EAC/B,eAAe,EAAE,cAAc,EAC/B,QAAQ,EAAE,OAAO;IAKpC;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,+BAA+B;IAwKjG;;;;OAIG;IACH,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,gCAAgC;CA6IzG"}
1
+ {"version":3,"file":"space-invitations-handler.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/space-invitations-handler.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,gCAAgC,EAEhC,+BAA+B,EAI/B,0BAA0B,EAC1B,kBAAkB,EACnB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAiC,cAAc,EAAiC,MAAM,uBAAuB,CAAC;AAErH,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAexE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAIxD;;GAEG;AAEH,qBAAa,uBAAwB,SAAQ,0BAA0B,CAAC,SAAS,CAAC;IAG9E,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAHzB,cAAc,EAAE,cAAc,EACb,aAAa,EAAE,gBAAgB,EAC/B,eAAe,EAAE,cAAc,EAC/B,QAAQ,EAAE,OAAO;IAKpC;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,+BAA+B;IA4KjG;;;;OAIG;IACH,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,gCAAgC;CAgJzG"}
@@ -30,6 +30,7 @@ export declare class ClientServicesHost {
30
30
  private readonly _modelFactory;
31
31
  private _networkManager?;
32
32
  private _storage?;
33
+ private _opening;
33
34
  private _open;
34
35
  constructor({ config, modelFactory, networkManager, storage, lockKey }?: ClientServicesHostParams);
35
36
  get isOpen(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"service-host.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-host.ts"],"names":[],"mappings":"AAOA,OAAO,EAAuB,cAAc,EAA6B,MAAM,cAAc,CAAC;AAC9F,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAItC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAatD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,oBAAY,wBAAwB,GAAG;IACrC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,oBAAY,iBAAiB,GAAG;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAoB;IACnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkC;IACnE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAoB;IAEnD,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,CAAU;IAM3B,OAAO,CAAC,KAAK,CAAS;gBAEV,EACV,MAAM,EACN,YAA0C,EAE1C,cAAc,EACd,OAAO,EAEP,OAAO,EACR,GAAE,wBAA6B;IA2ChC,IAAI,MAAM,YAET;IAED,IAAI,eAAe,oCAElB;IAED,IAAI,WAAW,sDAEd;IAED,IAAI,QAAQ,4BAEX;IAED;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,iBAAiB;IAkBlD,IAAI;IAiEJ,KAAK;CAaZ"}
1
+ {"version":3,"file":"service-host.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-host.ts"],"names":[],"mappings":"AAOA,OAAO,EAAuB,cAAc,EAA6B,MAAM,cAAc,CAAC;AAC9F,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAItC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAatD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,oBAAY,wBAAwB,GAAG;IACrC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,oBAAY,iBAAiB,GAAG;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAoB;IACnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkC;IACnE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAoB;IAEnD,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,CAAU;IAM3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,KAAK,CAAS;gBAEV,EACV,MAAM,EACN,YAA0C,EAE1C,cAAc,EACd,OAAO,EAEP,OAAO,EACR,GAAE,wBAA6B;IA6ChC,IAAI,MAAM,YAET;IAED,IAAI,eAAe,oCAElB;IAED,IAAI,WAAW,sDAEd;IAED,IAAI,QAAQ,4BAEX;IAED;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,iBAAiB;IAkBlD,IAAI;IAmEJ,KAAK;CAaZ"}
@@ -1,15 +1,26 @@
1
1
  import { Event } from '@dxos/async';
2
- import { MetadataStore, SigningContext, SpaceManager, DataServiceSubscriptions, SnapshotStore } from '@dxos/echo-pipeline';
2
+ import { DataServiceSubscriptions, MetadataStore, SigningContext, SnapshotStore, SpaceManager } from '@dxos/echo-pipeline';
3
3
  import { FeedStore } from '@dxos/feed-store';
4
4
  import { Keyring } from '@dxos/keyring';
5
5
  import { PublicKey } from '@dxos/keys';
6
6
  import { ModelFactory } from '@dxos/model-factory';
7
7
  import { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
8
+ import { Timeframe } from '@dxos/timeframe';
8
9
  import { ComplexMap } from '@dxos/util';
9
10
  import { DataSpace } from './data-space';
10
11
  export declare type AcceptSpaceOptions = {
11
12
  spaceKey: PublicKey;
12
13
  genesisFeedKey: PublicKey;
14
+ /**
15
+ * Latest known timeframe for the control pipeline.
16
+ * We will try to catch up to this timeframe before starting the data pipeline.
17
+ */
18
+ controlTimeframe?: Timeframe;
19
+ /**
20
+ * Latest known timeframe for the data pipeline.
21
+ * We will try to catch up to this timeframe before initializing the database.
22
+ */
23
+ dataTimeframe?: Timeframe;
13
24
  };
14
25
  export declare class DataSpaceManager {
15
26
  private readonly _spaceManager;
@@ -23,6 +34,7 @@ export declare class DataSpaceManager {
23
34
  private readonly _ctx;
24
35
  readonly updated: Event<void>;
25
36
  private readonly _spaces;
37
+ private _isOpen;
26
38
  constructor(_spaceManager: SpaceManager, _metadataStore: MetadataStore, _dataServiceSubscriptions: DataServiceSubscriptions, _keyring: Keyring, _signingContext: SigningContext, _modelFactory: ModelFactory, _feedStore: FeedStore<FeedMessage>, _snapshotStore: SnapshotStore);
27
39
  get spaces(): ComplexMap<PublicKey, DataSpace>;
28
40
  open(): Promise<void>;
@@ -32,6 +44,12 @@ export declare class DataSpaceManager {
32
44
  */
33
45
  createSpace(): Promise<DataSpace>;
34
46
  acceptSpace(opts: AcceptSpaceOptions): Promise<DataSpace>;
47
+ /**
48
+ * Wait until the space data pipeline is fully initialized.
49
+ * Used by invitation handler.
50
+ * TODO(dmaretskyi): Consider removing.
51
+ */
52
+ waitUntilSpaceReady(spaceKey: PublicKey): Promise<void>;
35
53
  private _constructSpace;
36
54
  }
37
55
  //# sourceMappingURL=data-space-manager.d.ts.map
@@ -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;AAG9D,OAAO,EACL,aAAa,EACb,cAAc,EAGd,YAAY,EACZ,wBAAwB,EAExB,aAAa,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAGnE,OAAO,EAAE,UAAU,EAAiB,MAAM,YAAY,CAAC;AAGvD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC,oBAAY,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,cAAc,EAAE,SAAS,CAAC;CAC3B,CAAC;AAEF,qBACa,gBAAgB;IAQzB,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,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAdjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IAEtC,SAAgB,OAAO,cAAe;IAEtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwD;gBAG7D,aAAa,EAAE,YAAY,EAC3B,cAAc,EAAE,aAAa,EAC7B,yBAAyB,EAAE,wBAAwB,EACnD,QAAQ,EAAE,OAAO,EACjB,eAAe,EAAE,cAAc,EAC/B,aAAa,EAAE,YAAY,EAC3B,UAAU,EAAE,SAAS,CAAC,WAAW,CAAC,EAClC,cAAc,EAAE,aAAa;IAIhD,IAAI,MAAM,qCAET;IAGK,IAAI;IAuBJ,KAAK;IAOX;;OAEG;IAEG,WAAW;IAiCX,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;YAoBjD,eAAe;CAiD9B"}
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;AAI9D,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,cAAc,EAEd,aAAa,EAGb,YAAY,EACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAGnE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAiB,MAAM,YAAY,CAAC;AAGvD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,oBAAY,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;IAUzB,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,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAhBjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IAEtC,SAAgB,OAAO,cAAe;IAEtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwD;IAEhF,OAAO,CAAC,OAAO,CAAS;gBAGL,aAAa,EAAE,YAAY,EAC3B,cAAc,EAAE,aAAa,EAC7B,yBAAyB,EAAE,wBAAwB,EACnD,QAAQ,EAAE,OAAO,EACjB,eAAe,EAAE,cAAc,EAC/B,aAAa,EAAE,YAAY,EAC3B,UAAU,EAAE,SAAS,CAAC,WAAW,CAAC,EAClC,cAAc,EAAE,aAAa;IAIhD,IAAI,MAAM,qCAET;IAGK,IAAI;IAgBJ,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"}
@@ -1,45 +1,72 @@
1
- import { DataPipelineControllerImpl, MetadataStore, Space, SigningContext, SnapshotManager } from '@dxos/echo-pipeline';
1
+ import { Event } from '@dxos/async';
2
+ import { SpaceState } from '@dxos/client';
3
+ import { MetadataStore, Space, SigningContext, SnapshotManager, DataPipeline } from '@dxos/echo-pipeline';
2
4
  import { FeedStore } from '@dxos/feed-store';
3
5
  import { Keyring } from '@dxos/keyring';
4
6
  import { PublicKey } from '@dxos/keys';
5
7
  import { ModelFactory } from '@dxos/model-factory';
6
8
  import { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
7
- import { Presence } from '@dxos/teleport-extension-presence';
9
+ import { GossipMessage } from '@dxos/protocols/proto/dxos/mesh/teleport/gossip';
10
+ import { Gossip, Presence } from '@dxos/teleport-extension-gossip';
8
11
  import { TrustedKeySetAuthVerifier } from '../identity';
9
12
  import { NotarizationPlugin } from './notarization-plugin';
13
+ export declare type DataSpaceCallbacks = {
14
+ /**
15
+ * Called before transitioning to the ready state.
16
+ */
17
+ beforeReady?: () => Promise<void>;
18
+ /**
19
+ * Called after transitioning to the ready state.
20
+ */
21
+ afterReady?: () => Promise<void>;
22
+ };
10
23
  export declare type DataSpaceParams = {
11
24
  inner: Space;
12
25
  modelFactory: ModelFactory;
13
26
  metadataStore: MetadataStore;
14
27
  snapshotManager: SnapshotManager;
28
+ gossip: Gossip;
15
29
  presence: Presence;
16
30
  keyring: Keyring;
17
31
  feedStore: FeedStore<FeedMessage>;
18
32
  signingContext: SigningContext;
19
33
  memberKey: PublicKey;
20
34
  snapshotId?: string | undefined;
35
+ callbacks?: DataSpaceCallbacks;
21
36
  };
22
37
  export declare class DataSpace {
23
38
  private readonly _ctx;
24
- private readonly _dataPipelineController;
39
+ private readonly _dataPipeline;
25
40
  private readonly _inner;
41
+ private readonly _gossip;
26
42
  private readonly _presence;
27
43
  private readonly _keyring;
28
44
  private readonly _feedStore;
29
45
  private readonly _metadataStore;
30
46
  private readonly _signingContext;
31
47
  private readonly _notarizationPluginConsumer;
48
+ private readonly _callbacks;
49
+ private _state;
32
50
  readonly authVerifier: TrustedKeySetAuthVerifier;
51
+ readonly stateUpdate: Event<void>;
33
52
  constructor(params: DataSpaceParams);
34
53
  get key(): PublicKey;
35
54
  get isOpen(): boolean;
55
+ get state(): SpaceState;
36
56
  get inner(): Space;
37
- get dataPipelineController(): DataPipelineControllerImpl;
38
- get stateUpdate(): import("@dxos/async").Event<void>;
57
+ get dataPipeline(): DataPipeline;
39
58
  get presence(): Presence;
40
59
  get notarizationPlugin(): NotarizationPlugin;
41
60
  open(): Promise<void>;
42
61
  close(): Promise<void>;
62
+ postMessage(channel: string, message: any): Promise<void[]>;
63
+ listen(channel: string, callback: (message: GossipMessage) => void): {
64
+ unsubscribe: () => void;
65
+ };
66
+ /**
67
+ * Initialize the data pipeline in a separate task.
68
+ */
69
+ initializeDataPipelineAsync(): void;
43
70
  initializeDataPipeline(): Promise<void>;
44
71
  private _createWritableFeeds;
45
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"data-space.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/data-space.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,0BAA0B,EAC1B,aAAa,EACb,KAAK,EACL,cAAc,EAEd,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEnE,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAG7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAI3D,oBAAY,eAAe,GAAG;IAC5B,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,eAAe,EAAE,eAAe,CAAC;IACjC,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAClC,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC,CAAC;AAGF,qBACa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IACtC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA6B;IACrE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAyC;IAErF,SAAgB,YAAY,EAAE,yBAAyB,CAAC;gBAE5C,MAAM,EAAE,eAAe;IA0BnC,IAAI,GAAG,cAEN;IAED,IAAI,MAAM,YAET;IAGD,IAAI,KAAK,UAER;IAED,IAAI,sBAAsB,IAAI,0BAA0B,CAEvD;IAED,IAAI,WAAW,sCAEd;IAED,IAAI,QAAQ,aAEX;IAED,IAAI,kBAAkB,uBAErB;IAEK,IAAI;IAMJ,KAAK;IAYL,sBAAsB;YAmBd,oBAAoB;CA4CnC"}
1
+ {"version":3,"file":"data-space.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/data-space.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAA4B,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C,OAAO,EACL,aAAa,EACb,KAAK,EACL,cAAc,EAEd,eAAe,EACf,YAAY,EACb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAGnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAI3D,oBAAY,kBAAkB,GAAG;IAC/B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAClC,CAAC;AAEF,oBAAY,eAAe,GAAG;IAC5B,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,eAAe,EAAE,eAAe,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAClC,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAChC,CAAC;AAEF,qBACa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAyC;IACrF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAEhD,OAAO,CAAC,MAAM,CAAqB;IAEnC,SAAgB,YAAY,EAAE,yBAAyB,CAAC;IACxD,SAAgB,WAAW,cAAe;gBAE9B,MAAM,EAAE,eAAe;IA8BnC,IAAI,GAAG,cAEN;IAED,IAAI,MAAM,YAET;IAED,IAAI,KAAK,IAAI,UAAU,CAEtB;IAGD,IAAI,KAAK,UAER;IAED,IAAI,YAAY,IAAI,YAAY,CAE/B;IAED,IAAI,QAAQ,aAEX;IAED,IAAI,kBAAkB,uBAErB;IAEK,IAAI;IAOJ,KAAK;IAcL,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAI/C,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI;;;IAIlE;;OAEG;IACH,2BAA2B;IAerB,sBAAsB;YAkDd,oBAAoB;CA6CnC"}
@@ -1,8 +1,36 @@
1
+ import { Context } from '@dxos/context';
1
2
  import { CredentialProcessor } from '@dxos/credentials';
2
3
  import { FeedWriter } from '@dxos/feed-store';
3
4
  import { Credential } from '@dxos/protocols/proto/dxos/halo/credentials';
4
5
  import { NotarizationService, NotarizeRequest } from '@dxos/protocols/proto/dxos/mesh/teleport/notarization';
5
6
  import { ExtensionContext, RpcExtension } from '@dxos/teleport';
7
+ export declare type NotarizeParams = {
8
+ /**
9
+ * For cancellation.
10
+ */
11
+ ctx?: Context;
12
+ /**
13
+ * Credentials to notarize.
14
+ */
15
+ credentials: Credential[];
16
+ /**
17
+ * Timeout for the whole notarization process.
18
+ * Set to 0 to disable.
19
+ * @default {@link DEFAULT_NOTARIZE_TIMEOUT}
20
+ */
21
+ timeout?: number;
22
+ /**
23
+ * Retry timeout.
24
+ * @default {@link DEFAULT_RETRY_TIMEOUT}
25
+ */
26
+ retryTimeout?: number;
27
+ /**
28
+ * Minimum wait time after a peer confirms successful notarization before attempting with a new peer.
29
+ * This is to avoid spamming peers with notarization requests.
30
+ * @default {@link DEFAULT_SUCCESS_DELAY}
31
+ */
32
+ successDelay?: number;
33
+ };
6
34
  /**
7
35
  * See NotarizationService proto.
8
36
  */
@@ -18,7 +46,7 @@ export declare class NotarizationPlugin implements CredentialProcessor {
18
46
  /**
19
47
  * Request credentials to be notarized.
20
48
  */
21
- notarize(credentials: Credential[]): Promise<void>;
49
+ notarize({ ctx: opCtx, credentials, timeout, retryTimeout, successDelay }: NotarizeParams): Promise<void>;
22
50
  /**
23
51
  * Called with credentials arriving from the control pipeline.
24
52
  */
@@ -1 +1 @@
1
- {"version":3,"file":"notarization-plugin.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/notarization-plugin.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C,OAAO,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,uDAAuD,CAAC;AAC7G,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAMhE;;GAEG;AACH,qBAAa,kBAAmB,YAAW,mBAAmB;IAC5D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IACtC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAe;IAEhD,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4C;IACxE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA6C;IACnF,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAsD;IAE5F,IAAI;IAEJ,KAAK;IAIX;;OAEG;IACG,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE;IAsExC;;OAEG;IACG,OAAO,CAAC,UAAU,EAAE,UAAU;IASpC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC;YAK1B,mBAAmB;IAOjC;;OAEG;YACW,WAAW;IAazB,eAAe;CAehB;AAED,oBAAY,mCAAmC,GAAG;IAChD,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD,CAAC;AAEF,qBAAa,6BAA8B,SAAQ,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACrE,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,mCAAmC;cAWzD,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;IAUjC,MAAM,CAAC,GAAG,EAAE,gBAAgB;IAK5B,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS;CAI/C;AAED,aAAK,QAAQ,GAAG;IACd,mBAAmB,EAAE,mBAAmB,CAAC;CAC1C,CAAC"}
1
+ {"version":3,"file":"notarization-plugin.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/notarization-plugin.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAmB,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C,OAAO,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,uDAAuD,CAAC;AAC7G,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAShE,oBAAY,cAAc,GAAG;IAC3B;;OAEG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd;;OAEG;IACH,WAAW,EAAE,UAAU,EAAE,CAAC;IAE1B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,qBAAa,kBAAmB,YAAW,mBAAmB;IAC5D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IACtC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAe;IAEhD,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4C;IACxE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA6C;IACnF,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAsD;IAE5F,IAAI;IAEJ,KAAK;IAIX;;OAEG;IACG,QAAQ,CAAC,EACb,GAAG,EAAE,KAAK,EACV,WAAW,EACX,OAAkC,EAClC,YAAoC,EACpC,YAAoC,EACrC,EAAE,cAAc;IA6EjB;;OAEG;IACG,OAAO,CAAC,UAAU,EAAE,UAAU;IASpC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC;YAK1B,mBAAmB;IAOjC;;OAEG;YACW,WAAW;IAazB,eAAe;CAehB;AAED,oBAAY,mCAAmC,GAAG;IAChD,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD,CAAC;AAEF,qBAAa,6BAA8B,SAAQ,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACrE,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,mCAAmC;cAWzD,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;IAUjC,MAAM,CAAC,GAAG,EAAE,gBAAgB;IAK5B,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS;CAI/C;AAED,aAAK,QAAQ,GAAG;IACd,mBAAmB,EAAE,mBAAmB,CAAC;CAC1C,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { Stream } from '@dxos/codec-protobuf';
2
2
  import { DataServiceSubscriptions, SpaceManager } from '@dxos/echo-pipeline';
3
- import { QueryCredentialsRequest, QuerySpacesResponse, Space, SpacesService, UpdateSpaceRequest, WriteCredentialsRequest } from '@dxos/protocols/proto/dxos/client/services';
3
+ import { PostMessageRequest, QueryCredentialsRequest, QuerySpacesResponse, Space, SpacesService, SubscribeMessagesRequest, UpdateSpaceRequest, WriteCredentialsRequest } from '@dxos/protocols/proto/dxos/client/services';
4
4
  import { Credential } from '@dxos/protocols/proto/dxos/halo/credentials';
5
+ import { GossipMessage } from '@dxos/protocols/proto/dxos/mesh/teleport/gossip';
5
6
  import { Provider } from '@dxos/util';
6
7
  import { IdentityManager } from '../identity';
7
8
  import { DataSpaceManager } from './data-space-manager';
@@ -17,6 +18,8 @@ export declare class SpacesServiceImpl implements SpacesService {
17
18
  createSpace(): Promise<Space>;
18
19
  updateSpace(request: UpdateSpaceRequest): Promise<void>;
19
20
  querySpaces(): Stream<QuerySpacesResponse>;
21
+ postMessage({ spaceKey, channel, message }: PostMessageRequest): Promise<void>;
22
+ subscribeMessages({ spaceKey, channel }: SubscribeMessagesRequest): Stream<GossipMessage>;
20
23
  queryCredentials({ spaceKey }: QueryCredentialsRequest): Stream<Credential>;
21
24
  writeCredentials({ spaceKey, credentials }: WriteCredentialsRequest): Promise<void>;
22
25
  private _transformSpace;
@@ -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;AAEjG,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,KAAK,EAEL,aAAa,EAEb,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;AACzE,OAAO,EAAY,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD;;GAEG;AACH,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;IAgD1C,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE,uBAAuB,GAAG,MAAM,CAAC,UAAU,CAAC;IAcrE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,uBAAuB;IAOzE,OAAO,CAAC,eAAe;CAmBxB"}
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;AAEjG,OAAO,EACL,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,EAAY,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAIxD;;GAEG;AACH,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;IAOzE,OAAO,CAAC,eAAe;CAyBxB"}
@@ -1,5 +1,5 @@
1
1
  import { Config } from '@dxos/config';
2
- import { SnapshotStore, DataPipelineControllerImpl, MetadataStore, SigningContext, SpaceManager } from '@dxos/echo-pipeline';
2
+ import { SnapshotStore, DataPipeline, MetadataStore, SigningContext, SpaceManager } from '@dxos/echo-pipeline';
3
3
  import { FeedStore } from '@dxos/feed-store';
4
4
  import { Keyring } from '@dxos/keyring';
5
5
  import { MemorySignalManagerContext } from '@dxos/messaging';
@@ -13,7 +13,7 @@ export declare const createServiceContext: ({ signalContext, storage }?: {
13
13
  }) => ServiceContext;
14
14
  export declare const createPeers: (numPeers: number) => Promise<ServiceContext[]>;
15
15
  export declare const createIdentity: (peer: ServiceContext) => Promise<ServiceContext>;
16
- export declare const syncItemsLocal: (db1: DataPipelineControllerImpl, db2: DataPipelineControllerImpl) => Promise<void>;
16
+ export declare const syncItemsLocal: (db1: DataPipeline, db2: DataPipeline) => Promise<void>;
17
17
  export declare class HostTestBuilder {
18
18
  readonly signalContext: MemorySignalManagerContext;
19
19
  createPeer(): TestPeer;
@@ -1 +1 @@
1
- {"version":3,"file":"host-test-builder.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/testing/host-test-builder.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,aAAa,EACb,cAAc,EACd,YAAY,EAEb,MAAM,qBAAqB,CAAC;AAE7B,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,MAAM,6BAA6B,CAAC;AAElF,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAMjE,eAAO,MAAM,iBAAiB,WAAY,MAAM,wBAAwB,0BAA0B,uBAUjG,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;oBAchC,CAAC;AAEF,eAAO,MAAM,WAAW,aAAoB,MAAM,8BAUjD,CAAC;AAEF,eAAO,MAAM,cAAc,SAAgB,cAAc,4BAGxD,CAAC;AAIF,eAAO,MAAM,cAAc,QAAe,0BAA0B,OAAO,0BAA0B,kBAGpG,CAAC;AAEF,qBAAa,eAAe;IAC1B,SAAgB,aAAa,6BAAoC;IAEjE,UAAU,IAAI,QAAQ;CAGvB;AAED,oBAAY,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;IAGP,OAAO,CAAC,QAAQ,CAAC,aAAa;IAF1C,OAAO,CAAC,MAAM,CAAqB;gBAEN,aAAa,EAAE,0BAA0B;IAEtE,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,iBAKf;CACF;AAED,eAAO,MAAM,oBAAoB,YAAmB,OAAO,KAAG,QAAQ,cAAc,CAgBnF,CAAC"}
1
+ {"version":3,"file":"host-test-builder.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/testing/host-test-builder.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EACL,aAAa,EACb,YAAY,EACZ,aAAa,EACb,cAAc,EACd,YAAY,EAEb,MAAM,qBAAqB,CAAC;AAE7B,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,MAAM,6BAA6B,CAAC;AAElF,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAMjE,eAAO,MAAM,iBAAiB,WAAY,MAAM,wBAAwB,0BAA0B,uBAUjG,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;oBAchC,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,eAAe;IAC1B,SAAgB,aAAa,6BAAoC;IAEjE,UAAU,IAAI,QAAQ;CAGvB;AAED,oBAAY,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;IAGP,OAAO,CAAC,QAAQ,CAAC,aAAa;IAF1C,OAAO,CAAC,MAAM,CAAqB;gBAEN,aAAa,EAAE,0BAA0B;IAEtE,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,iBAKf;CACF;AAED,eAAO,MAAM,oBAAoB,YAAmB,OAAO,KAAG,QAAQ,cAAc,CAgBnF,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { Client } from '@dxos/client';
2
2
  import { Config } from '@dxos/config';
3
3
  import { DatabaseBackendProxy } from '@dxos/echo-db';
4
+ import { PublicKey } from '@dxos/keys';
4
5
  import { MemorySignalManagerContext } from '@dxos/messaging';
5
6
  import { NetworkManager } from '@dxos/network-manager';
6
7
  import { Storage } from '@dxos/random-access-storage';
@@ -36,4 +37,5 @@ export declare class TestBuilder {
36
37
  }
37
38
  export declare const testSpace: (create: DatabaseBackendProxy, check?: DatabaseBackendProxy) => Promise<import("@dxos/echo-db").MutateResult>;
38
39
  export declare const syncItems: (db1: DatabaseBackendProxy, db2: DatabaseBackendProxy) => Promise<void>;
40
+ export declare const joinCommonSpace: ([initialPeer, ...peers]: Client[], spaceKey?: PublicKey) => Promise<PublicKey>;
39
41
  //# sourceMappingURL=test-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-builder.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/testing/test-builder.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAAkE,MAAM,cAAc,CAAC;AACtG,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,oBAAoB,EAAmB,MAAM,eAAe,CAAC;AAEtE,OAAO,EAAuB,0BAA0B,EAA0B,MAAM,iBAAiB,CAAC;AAC1G,OAAO,EAAwD,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC7G,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAyC,YAAY,EAAE,MAAM,WAAW,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEtE,eAAO,MAAM,yBAAyB,QAUpC,CAAC;AAEH;;GAEG;AACH,qBAAa,WAAW;IAQpB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IARxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAE1B,OAAO,CAAC,EAAE,OAAO,CAAC;gBAIvB,MAAM,CAAC,EAAE,MAAM,EACE,aAAa,6CAA8B,EAC3C,qBAAqB,6BAAmC;IAK3E,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;OAEG;IACH,IAAI,cAAc,mBAkBjB;IAED;;OAEG;IACH,wBAAwB;IASxB;;OAEG;IACH,WAAW;IASX;;OAEG;IACH,kBAAkB,CAAC,IAAI,GAAE,kBAAoD,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;CAY3G;AAED,eAAO,MAAM,SAAS,WAAkB,oBAAoB,UAAS,oBAAoB,kDAexF,CAAC;AAEF,eAAO,MAAM,SAAS,QAAe,oBAAoB,OAAO,oBAAoB,kBAMnF,CAAC"}
1
+ {"version":3,"file":"test-builder.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/testing/test-builder.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAA8E,MAAM,cAAc,CAAC;AAClH,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,oBAAoB,EAAmB,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAuB,0BAA0B,EAA0B,MAAM,iBAAiB,CAAC;AAC1G,OAAO,EAAwD,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC7G,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAyC,YAAY,EAAE,MAAM,WAAW,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEtE,eAAO,MAAM,yBAAyB,QAUpC,CAAC;AAEH;;GAEG;AACH,qBAAa,WAAW;IAQpB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IARxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAE1B,OAAO,CAAC,EAAE,OAAO,CAAC;gBAIvB,MAAM,CAAC,EAAE,MAAM,EACE,aAAa,6CAA8B,EAC3C,qBAAqB,6BAAmC;IAK3E,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;OAEG;IACH,IAAI,cAAc,mBAkBjB;IAED;;OAEG;IACH,wBAAwB;IASxB;;OAEG;IACH,WAAW;IASX;;OAEG;IACH,kBAAkB,CAAC,IAAI,GAAE,kBAAoD,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;CAY3G;AAED,eAAO,MAAM,SAAS,WAAkB,oBAAoB,UAAS,oBAAoB,kDAexF,CAAC;AAEF,eAAO,MAAM,SAAS,QAAe,oBAAoB,OAAO,oBAAoB,kBAMnF,CAAC;AAEF,eAAO,MAAM,eAAe,4BAAmC,MAAM,EAAE,aAAa,SAAS,KAAG,QAAQ,SAAS,CAoChH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=text.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.test.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/tests/text.test.ts"],"names":[],"mappings":""}
@@ -11,6 +11,7 @@ export declare class VaultResourceLock {
11
11
  private readonly _onRelease;
12
12
  private _releaseTrigger;
13
13
  constructor({ lockKey, onAcquire, onRelease }: VaultResourceLockOptions);
14
+ get lockKey(): string;
14
15
  acquire(): Promise<void>;
15
16
  release(): Promise<void>;
16
17
  private _onMessage;
@@ -1 +1 @@
1
- {"version":3,"file":"vault-resource-lock.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/vault/vault-resource-lock.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM1C,oBAAY,wBAAwB,GAAG;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;CACtC,CAAC;AAEF,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA+C;IACjF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwC;IACnE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwC;IACnE,OAAO,CAAC,eAAe,CAAiB;gBAE5B,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,wBAAwB;IAOjE,OAAO;IAYP,OAAO;IAIb,OAAO,CAAC,UAAU;YAMJ,YAAY;CAqB3B"}
1
+ {"version":3,"file":"vault-resource-lock.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/vault/vault-resource-lock.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM1C,oBAAY,wBAAwB,GAAG;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;CACtC,CAAC;AAEF,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA+C;IACjF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwC;IACnE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwC;IACnE,OAAO,CAAC,eAAe,CAAiB;gBAE5B,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,wBAAwB;IAOvE,IACI,OAAO,WAEV;IAEK,OAAO;IAgBP,OAAO;IAIb,OAAO,CAAC,UAAU;YAMJ,YAAY;CAqB3B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/client-services",
3
- "version": "0.1.31-next.ea8f0bc",
3
+ "version": "0.1.32-next.77d513e",
4
4
  "description": "DXOS client services implementation",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -20,38 +20,39 @@
20
20
  "src"
21
21
  ],
22
22
  "dependencies": {
23
- "@dxos/async": "0.1.31-next.ea8f0bc",
24
- "@dxos/client": "0.1.31-next.ea8f0bc",
25
- "@dxos/codec-protobuf": "0.1.31-next.ea8f0bc",
26
- "@dxos/config": "0.1.31-next.ea8f0bc",
27
- "@dxos/context": "0.1.31-next.ea8f0bc",
28
- "@dxos/credentials": "0.1.31-next.ea8f0bc",
29
- "@dxos/crypto": "0.1.31-next.ea8f0bc",
30
- "@dxos/debug": "0.1.31-next.ea8f0bc",
31
- "@dxos/document-model": "0.1.31-next.ea8f0bc",
32
- "@dxos/echo-db": "0.1.31-next.ea8f0bc",
33
- "@dxos/echo-pipeline": "0.1.31-next.ea8f0bc",
34
- "@dxos/errors": "0.1.31-next.ea8f0bc",
35
- "@dxos/feed-store": "0.1.31-next.ea8f0bc",
36
- "@dxos/keyring": "0.1.31-next.ea8f0bc",
37
- "@dxos/keys": "0.1.31-next.ea8f0bc",
38
- "@dxos/log": "0.1.31-next.ea8f0bc",
39
- "@dxos/messaging": "0.1.31-next.ea8f0bc",
40
- "@dxos/model-factory": "0.1.31-next.ea8f0bc",
41
- "@dxos/network-manager": "0.1.31-next.ea8f0bc",
42
- "@dxos/node-std": "0.1.31-next.ea8f0bc",
43
- "@dxos/protocols": "0.1.31-next.ea8f0bc",
44
- "@dxos/random-access-storage": "0.1.31-next.ea8f0bc",
45
- "@dxos/rpc": "0.1.31-next.ea8f0bc",
46
- "@dxos/teleport": "0.1.31-next.ea8f0bc",
47
- "@dxos/teleport-extension-presence": "0.1.31-next.ea8f0bc",
48
- "@dxos/text-model": "0.1.31-next.ea8f0bc",
49
- "@dxos/timeframe": "0.1.31-next.ea8f0bc",
50
- "@dxos/util": "0.1.31-next.ea8f0bc"
23
+ "@dxos/async": "0.1.32-next.77d513e",
24
+ "@dxos/client": "0.1.32-next.77d513e",
25
+ "@dxos/codec-protobuf": "0.1.32-next.77d513e",
26
+ "@dxos/config": "0.1.32-next.77d513e",
27
+ "@dxos/context": "0.1.32-next.77d513e",
28
+ "@dxos/credentials": "0.1.32-next.77d513e",
29
+ "@dxos/crypto": "0.1.32-next.77d513e",
30
+ "@dxos/debug": "0.1.32-next.77d513e",
31
+ "@dxos/document-model": "0.1.32-next.77d513e",
32
+ "@dxos/echo-db": "0.1.32-next.77d513e",
33
+ "@dxos/echo-pipeline": "0.1.32-next.77d513e",
34
+ "@dxos/errors": "0.1.32-next.77d513e",
35
+ "@dxos/feed-store": "0.1.32-next.77d513e",
36
+ "@dxos/keyring": "0.1.32-next.77d513e",
37
+ "@dxos/keys": "0.1.32-next.77d513e",
38
+ "@dxos/log": "0.1.32-next.77d513e",
39
+ "@dxos/messaging": "0.1.32-next.77d513e",
40
+ "@dxos/model-factory": "0.1.32-next.77d513e",
41
+ "@dxos/network-manager": "0.1.32-next.77d513e",
42
+ "@dxos/node-std": "0.1.32-next.77d513e",
43
+ "@dxos/protocols": "0.1.32-next.77d513e",
44
+ "@dxos/random-access-storage": "0.1.32-next.77d513e",
45
+ "@dxos/rpc": "0.1.32-next.77d513e",
46
+ "@dxos/teleport": "0.1.32-next.77d513e",
47
+ "@dxos/teleport-extension-gossip": "0.1.32-next.77d513e",
48
+ "@dxos/text-model": "0.1.32-next.77d513e",
49
+ "@dxos/timeframe": "0.1.32-next.77d513e",
50
+ "@dxos/util": "0.1.32-next.77d513e"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@types/readable-stream": "^2.3.9",
54
- "@dxos/signal": "0.1.31-next.ea8f0bc"
54
+ "fast-check": "~3.3.0",
55
+ "@dxos/signal": "0.1.32-next.77d513e"
55
56
  },
56
57
  "publishConfig": {
57
58
  "access": "public"
@@ -12,14 +12,16 @@ import { Keyring } from '@dxos/keyring';
12
12
  import { PublicKey } from '@dxos/keys';
13
13
  import { log } from '@dxos/log';
14
14
  import { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
15
- import { AdmittedFeed, IdentityRecord, SpaceRecord } from '@dxos/protocols/proto/dxos/halo/credentials';
15
+ import { IdentityRecord, SpaceMetadata } from '@dxos/protocols/proto/dxos/echo/metadata';
16
+ import { AdmittedFeed } from '@dxos/protocols/proto/dxos/halo/credentials';
17
+ import { Timeframe } from '@dxos/timeframe';
16
18
  import { deferFunction } from '@dxos/util';
17
19
 
18
20
  import { createAuthProvider } from './authenticator';
19
21
  import { Identity } from './identity';
20
22
 
21
23
  interface ConstructSpaceParams {
22
- spaceRecord: SpaceRecord;
24
+ spaceRecord: SpaceMetadata;
23
25
  swarmIdentity: SwarmIdentity;
24
26
  identityKey: PublicKey;
25
27
  }
@@ -31,6 +33,12 @@ export type JoinIdentityParams = {
31
33
  haloGenesisFeedKey: PublicKey;
32
34
  controlFeedKey: PublicKey;
33
35
  dataFeedKey: PublicKey;
36
+
37
+ /**
38
+ * Latest known timeframe for the control pipeline.
39
+ * We will try to catch up to this timeframe before starting the data pipeline.
40
+ */
41
+ controlTimeframe?: Timeframe;
34
42
  };
35
43
 
36
44
  export type CreateIdentityOptions = {
@@ -82,10 +90,10 @@ export class IdentityManager {
82
90
  identityKey: await this._keyring.createKey(),
83
91
  deviceKey: await this._keyring.createKey(),
84
92
  haloSpace: {
85
- spaceKey: await this._keyring.createKey(),
93
+ key: await this._keyring.createKey(),
86
94
  genesisFeedKey: controlFeedKey,
87
- writeControlFeedKey: controlFeedKey,
88
- writeDataFeedKey: await this._keyring.createKey()
95
+ controlFeedKey,
96
+ dataFeedKey: await this._keyring.createKey()
89
97
  }
90
98
  };
91
99
 
@@ -94,17 +102,16 @@ export class IdentityManager {
94
102
 
95
103
  {
96
104
  const generator = new CredentialGenerator(this._keyring, identityRecord.identityKey, identityRecord.deviceKey);
105
+ assert(identityRecord.haloSpace.genesisFeedKey, 'Genesis feed key is required.');
106
+ assert(identityRecord.haloSpace.dataFeedKey, 'Data feed key is required.');
97
107
  const credentials = [
98
108
  // Space genesis.
99
- ...(await generator.createSpaceGenesis(
100
- identityRecord.haloSpace.spaceKey,
101
- identityRecord.haloSpace.genesisFeedKey
102
- )),
109
+ ...(await generator.createSpaceGenesis(identityRecord.haloSpace.key, identityRecord.haloSpace.genesisFeedKey)),
103
110
 
104
111
  // Feed admission.
105
112
  await generator.createFeedAdmission(
106
- identityRecord.haloSpace.spaceKey,
107
- identityRecord.haloSpace.writeDataFeedKey,
113
+ identityRecord.haloSpace.key,
114
+ identityRecord.haloSpace.dataFeedKey,
108
115
  AdmittedFeed.Designation.DATA
109
116
  )
110
117
  ];
@@ -148,10 +155,11 @@ export class IdentityManager {
148
155
  identityKey: params.identityKey,
149
156
  deviceKey: params.deviceKey,
150
157
  haloSpace: {
151
- spaceKey: params.haloSpaceKey,
158
+ key: params.haloSpaceKey,
152
159
  genesisFeedKey: params.haloGenesisFeedKey,
153
- writeControlFeedKey: params.controlFeedKey,
154
- writeDataFeedKey: params.dataFeedKey
160
+ controlFeedKey: params.controlFeedKey,
161
+ dataFeedKey: params.dataFeedKey,
162
+ controlTimeframe: params.controlTimeframe
155
163
  }
156
164
  };
157
165
  const identity = await this._constructIdentity(identityRecord);
@@ -170,10 +178,12 @@ export class IdentityManager {
170
178
  log('constructing identity', { identityRecord });
171
179
 
172
180
  // Must be created before the space so the feeds are writable.
173
- const controlFeed = await this._feedStore.openFeed(identityRecord.haloSpace.writeControlFeedKey, {
181
+ assert(identityRecord.haloSpace.controlFeedKey);
182
+ const controlFeed = await this._feedStore.openFeed(identityRecord.haloSpace.controlFeedKey, {
174
183
  writable: true
175
184
  });
176
- const dataFeed = await this._feedStore.openFeed(identityRecord.haloSpace.writeDataFeedKey, { writable: true });
185
+ assert(identityRecord.haloSpace.dataFeedKey);
186
+ const dataFeed = await this._feedStore.openFeed(identityRecord.haloSpace.dataFeedKey, { writable: true });
177
187
 
178
188
  const space = await this._constructSpace({
179
189
  spaceRecord: identityRecord.haloSpace,
@@ -195,13 +205,18 @@ export class IdentityManager {
195
205
  });
196
206
  log('done', { identityKey: identityRecord.identityKey });
197
207
 
208
+ // TODO(mykola): Set new timeframe on a write to a feed.
209
+ if (identityRecord.haloSpace.controlTimeframe) {
210
+ identity.controlPipeline.state.setTargetTimeframe(identityRecord.haloSpace.controlTimeframe);
211
+ }
212
+
198
213
  return identity;
199
214
  }
200
215
 
201
216
  private async _constructSpace({ spaceRecord, swarmIdentity, identityKey }: ConstructSpaceParams) {
202
217
  return this._spaceManager.constructSpace({
203
218
  metadata: {
204
- key: spaceRecord.spaceKey,
219
+ key: spaceRecord.key,
205
220
  genesisFeedKey: spaceRecord.genesisFeedKey
206
221
  },
207
222
  swarmIdentity,
@@ -98,7 +98,8 @@ export class DeviceInvitationsHandler extends AbstractInvitationsHandler {
98
98
  return {
99
99
  identityKey: identity.identityKey,
100
100
  haloSpaceKey: identity.haloSpaceKey,
101
- genesisFeedKey: identity.haloGenesisFeedKey
101
+ genesisFeedKey: identity.haloGenesisFeedKey,
102
+ controlTimeframe: identity.controlPipeline.state.timeframe
102
103
  };
103
104
  },
104
105
 
@@ -217,7 +218,7 @@ export class DeviceInvitationsHandler extends AbstractInvitationsHandler {
217
218
 
218
219
  // 1. Send request.
219
220
  log('sending admission request');
220
- const { identityKey, haloSpaceKey, genesisFeedKey } =
221
+ const { identityKey, haloSpaceKey, genesisFeedKey, controlTimeframe } =
221
222
  await extension.rpc.HaloHostService.requestAdmission();
222
223
 
223
224
  // 2. Get authentication code.
@@ -250,7 +251,8 @@ export class DeviceInvitationsHandler extends AbstractInvitationsHandler {
250
251
  haloSpaceKey,
251
252
  haloGenesisFeedKey: genesisFeedKey,
252
253
  controlFeedKey,
253
- dataFeedKey
254
+ dataFeedKey,
255
+ controlTimeframe
254
256
  });
255
257
 
256
258
  // 5. Success.