@dxos/client-services 0.1.36-next.ef27157 → 0.1.37-next.41339e7

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 (32) hide show
  1. package/dist/lib/browser/{chunk-OINEQJWM.mjs → chunk-6PNXHM7C.mjs} +232 -90
  2. package/dist/lib/browser/chunk-6PNXHM7C.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 +1 -1
  6. package/dist/lib/browser/packlets/testing/index.mjs.map +2 -2
  7. package/dist/lib/node/index.cjs +230 -88
  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 +230 -88
  11. package/dist/lib/node/packlets/testing/index.cjs.map +3 -3
  12. package/dist/types/src/packlets/identity/identity-manager.d.ts +1 -0
  13. package/dist/types/src/packlets/identity/identity-manager.d.ts.map +1 -1
  14. package/dist/types/src/packlets/invitations/invitations-handler.d.ts.map +1 -1
  15. package/dist/types/src/packlets/services/service-context.d.ts +0 -1
  16. package/dist/types/src/packlets/services/service-context.d.ts.map +1 -1
  17. package/dist/types/src/packlets/services/service-host.d.ts +1 -0
  18. package/dist/types/src/packlets/services/service-host.d.ts.map +1 -1
  19. package/dist/types/src/packlets/spaces/data-space-manager.d.ts +2 -0
  20. package/dist/types/src/packlets/spaces/data-space-manager.d.ts.map +1 -1
  21. package/dist/types/src/packlets/testing/test-builder.d.ts +3 -3
  22. package/dist/types/src/packlets/testing/test-builder.d.ts.map +1 -1
  23. package/package.json +30 -30
  24. package/src/packlets/identity/identity-manager.ts +2 -1
  25. package/src/packlets/invitations/invitations-handler.ts +50 -5
  26. package/src/packlets/services/service-context.ts +7 -9
  27. package/src/packlets/services/service-host.ts +8 -2
  28. package/src/packlets/spaces/data-space-manager.ts +5 -0
  29. package/src/packlets/storage/storage.ts +2 -0
  30. package/src/packlets/testing/test-builder.ts +3 -3
  31. package/src/packlets/tests/spaces.test.ts +24 -0
  32. package/dist/lib/browser/chunk-OINEQJWM.mjs.map +0 -7
@@ -30,6 +30,7 @@ export declare class IdentityManager {
30
30
  readonly stateUpdate: Event<void>;
31
31
  private _identity?;
32
32
  private readonly _instanceId;
33
+ _traceParent?: string;
33
34
  constructor(_metadataStore: MetadataStore, _keyring: Keyring, _feedStore: FeedStore<FeedMessage>, _spaceManager: SpaceManager);
34
35
  get identity(): Identity | undefined;
35
36
  open(): Promise<void>;
@@ -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,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;IAUxB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAZhC,QAAQ,CAAC,WAAW,cAAe;IAEnC,OAAO,CAAC,SAAS,CAAC,CAAW;IAE7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;gBAKvC,cAAc,EAAE,aAAa,EAC7B,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,SAAS,CAAC,WAAW,CAAC,EAClC,aAAa,EAAE,YAAY;IAG9C,IAAI,QAAQ,yBAEX;IAEK,IAAI;IAkBJ,KAAK;IAKL,cAAc,CAAC,EAAE,WAAW,EAAE,GAAE,qBAA0B;IAmEhE;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,kBAAkB;YA+BjC,kBAAkB;YAwClB,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;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,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;IAWxB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAbhC,QAAQ,CAAC,WAAW,cAAe;IAEnC,OAAO,CAAC,SAAS,CAAC,CAAW;IAE7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;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;IAkBJ,KAAK;IAKL,cAAc,CAAC,EAAE,WAAW,EAAE,GAAE,qBAA0B;IAmEhE;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,kBAAkB;YA+BjC,kBAAkB;YAwClB,eAAe;CAU9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"invitations-handler.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/invitations-handler.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,+BAA+B,EAG/B,kCAAkC,EACnC,MAAM,cAAc,CAAC;AAKtB,OAAO,EAAiC,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAEpG,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAaxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAI3D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,cAAc;IAE5D,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,+BAA+B;IAiL9G,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,GAAG,kCAAkC;CA6I3G"}
1
+ {"version":3,"file":"invitations-handler.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/invitations/invitations-handler.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,+BAA+B,EAG/B,kCAAkC,EACnC,MAAM,cAAc,CAAC;AAKtB,OAAO,EAAiC,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAEpG,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAaxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAI3D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,kBAAkB;IAKjB,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,cAAc;IAE5D,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,+BAA+B;IAyL9G,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,GAAG,kCAAkC;CAoJ3G"}
@@ -33,7 +33,6 @@ export declare class ServiceContext {
33
33
  constructor(storage: Storage, networkManager: NetworkManager, modelFactory: ModelFactory);
34
34
  open(): Promise<void>;
35
35
  close(): Promise<void>;
36
- reset(): Promise<void>;
37
36
  createIdentity(params?: CreateIdentityOptions): Promise<import("../identity").Identity>;
38
37
  getInvitationHandler(invitation: Partial<Invitation> & Pick<Invitation, 'kind'>): InvitationProtocol;
39
38
  private _acceptIdentity;
@@ -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;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAEL,aAAa,EACb,YAAY,EAEZ,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,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,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,EAAE,MAAM,WAAW,CAAC;AAE7C;;GAEG;AAEH,qBAAa,cAAc;aAyBP,OAAO,EAAE,OAAO;aAChB,cAAc,EAAE,cAAc;aAC9B,YAAY,EAAE,YAAY;IA1B5C,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,YAAY,EAAE,YAAY;IAwCtC,IAAI;IAaJ,KAAK;IAcL,KAAK;IAOL,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;YAQf,WAAW;CA+D1B"}
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;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAEL,aAAa,EACb,YAAY,EAEZ,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,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,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,EAAE,MAAM,WAAW,CAAC;AAE7C;;GAEG;AAEH,qBAAa,cAAc;aAyBP,OAAO,EAAE,OAAO;aAChB,cAAc,EAAE,cAAc;aAC9B,YAAY,EAAE,YAAY;IA1B5C,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,YAAY,EAAE,YAAY;IA4CtC,IAAI;IAaJ,KAAK;IAcL,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;YAQf,WAAW;CAgE1B"}
@@ -46,5 +46,6 @@ export declare class ClientServicesHost {
46
46
  initialize({ config, networkManager }: InitializeOptions): void;
47
47
  open(): Promise<void>;
48
48
  close(): Promise<void>;
49
+ reset(): Promise<void>;
49
50
  }
50
51
  //# sourceMappingURL=service-host.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service-host.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-host.ts"],"names":[],"mappings":"AAOA,OAAO,EAAuB,cAAc,EAAwC,MAAM,cAAc,CAAC;AACzG,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,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;IAEtB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;gBAE9C,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;IA8DJ,KAAK;CAeZ"}
1
+ {"version":3,"file":"service-host.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-host.ts"],"names":[],"mappings":"AAOA,OAAO,EAAuB,cAAc,EAAwC,MAAM,cAAc,CAAC;AACzG,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,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;IAEtB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;gBAE9C,EACV,MAAM,EACN,YAA0C,EAE1C,cAAc,EACd,OAAO,EAEP,OAAO,EACR,GAAE,wBAA6B;IA4ChC,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;IA8DJ,KAAK;IAgBL,KAAK;CAMZ"}
@@ -35,6 +35,8 @@ export declare class DataSpaceManager {
35
35
  readonly updated: Event<void>;
36
36
  private readonly _spaces;
37
37
  private _isOpen;
38
+ private readonly _instanceId;
39
+ _traceParent?: string;
38
40
  constructor(_spaceManager: SpaceManager, _metadataStore: MetadataStore, _dataServiceSubscriptions: DataServiceSubscriptions, _keyring: Keyring, _signingContext: SigningContext, _modelFactory: ModelFactory, _feedStore: FeedStore<FeedMessage>, _snapshotStore: SnapshotStore);
39
41
  get spaces(): ComplexMap<PublicKey, DataSpace>;
40
42
  open(): Promise<void>;
@@ -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;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
+ {"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;AAEnD,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;IAYzB,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;IAlBjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IAEtC,SAAgB,OAAO,cAAe;IAEtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwD;IAEhF,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;gBAGV,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;IAiBJ,KAAK;IAUX;;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,6 +1,6 @@
1
1
  import { Client } from '@dxos/client';
2
2
  import { Config } from '@dxos/config';
3
- import { DatabaseBackendProxy } from '@dxos/echo-db';
3
+ import { DatabaseProxy } from '@dxos/echo-db';
4
4
  import { PublicKey } from '@dxos/keys';
5
5
  import { MemorySignalManagerContext } from '@dxos/messaging';
6
6
  import { NetworkManager } from '@dxos/network-manager';
@@ -35,7 +35,7 @@ export declare class TestBuilder {
35
35
  */
36
36
  createClientServer(host?: ClientServicesHost): [Client, ProtoRpcPeer<{}>];
37
37
  }
38
- export declare const testSpace: (create: DatabaseBackendProxy, check?: DatabaseBackendProxy) => Promise<import("@dxos/echo-db").MutateResult>;
39
- export declare const syncItems: (db1: DatabaseBackendProxy, db2: DatabaseBackendProxy) => Promise<void>;
38
+ export declare const testSpace: (create: DatabaseProxy, check?: DatabaseProxy) => Promise<import("@dxos/echo-db").MutateResult>;
39
+ export declare const syncItems: (db1: DatabaseProxy, db2: DatabaseProxy) => Promise<void>;
40
40
  export declare const joinCommonSpace: ([initialPeer, ...peers]: Client[], spaceKey?: PublicKey) => Promise<PublicKey>;
41
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,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,CA+ChH,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,aAAa,EAAmB,MAAM,eAAe,CAAC;AAC/D,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,aAAa,UAAS,aAAa,kDAe1E,CAAC;AAEF,eAAO,MAAM,SAAS,QAAe,aAAa,OAAO,aAAa,kBAMrE,CAAC;AAEF,eAAO,MAAM,eAAe,4BAAmC,MAAM,EAAE,aAAa,SAAS,KAAG,QAAQ,SAAS,CA+ChH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/client-services",
3
- "version": "0.1.36-next.ef27157",
3
+ "version": "0.1.37-next.41339e7",
4
4
  "description": "DXOS client services implementation",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -20,39 +20,39 @@
20
20
  "src"
21
21
  ],
22
22
  "dependencies": {
23
- "@dxos/async": "0.1.36-next.ef27157",
24
- "@dxos/client": "0.1.36-next.ef27157",
25
- "@dxos/codec-protobuf": "0.1.36-next.ef27157",
26
- "@dxos/config": "0.1.36-next.ef27157",
27
- "@dxos/context": "0.1.36-next.ef27157",
28
- "@dxos/credentials": "0.1.36-next.ef27157",
29
- "@dxos/crypto": "0.1.36-next.ef27157",
30
- "@dxos/debug": "0.1.36-next.ef27157",
31
- "@dxos/document-model": "0.1.36-next.ef27157",
32
- "@dxos/echo-db": "0.1.36-next.ef27157",
33
- "@dxos/echo-pipeline": "0.1.36-next.ef27157",
34
- "@dxos/errors": "0.1.36-next.ef27157",
35
- "@dxos/feed-store": "0.1.36-next.ef27157",
36
- "@dxos/keyring": "0.1.36-next.ef27157",
37
- "@dxos/keys": "0.1.36-next.ef27157",
38
- "@dxos/log": "0.1.36-next.ef27157",
39
- "@dxos/messaging": "0.1.36-next.ef27157",
40
- "@dxos/model-factory": "0.1.36-next.ef27157",
41
- "@dxos/network-manager": "0.1.36-next.ef27157",
42
- "@dxos/node-std": "0.1.36-next.ef27157",
43
- "@dxos/protocols": "0.1.36-next.ef27157",
44
- "@dxos/random-access-storage": "0.1.36-next.ef27157",
45
- "@dxos/rpc": "0.1.36-next.ef27157",
46
- "@dxos/teleport": "0.1.36-next.ef27157",
47
- "@dxos/teleport-extension-gossip": "0.1.36-next.ef27157",
48
- "@dxos/text-model": "0.1.36-next.ef27157",
49
- "@dxos/timeframe": "0.1.36-next.ef27157",
50
- "@dxos/util": "0.1.36-next.ef27157"
23
+ "@dxos/async": "0.1.37-next.41339e7",
24
+ "@dxos/client": "0.1.37-next.41339e7",
25
+ "@dxos/codec-protobuf": "0.1.37-next.41339e7",
26
+ "@dxos/config": "0.1.37-next.41339e7",
27
+ "@dxos/context": "0.1.37-next.41339e7",
28
+ "@dxos/credentials": "0.1.37-next.41339e7",
29
+ "@dxos/crypto": "0.1.37-next.41339e7",
30
+ "@dxos/debug": "0.1.37-next.41339e7",
31
+ "@dxos/document-model": "0.1.37-next.41339e7",
32
+ "@dxos/echo-db": "0.1.37-next.41339e7",
33
+ "@dxos/echo-pipeline": "0.1.37-next.41339e7",
34
+ "@dxos/errors": "0.1.37-next.41339e7",
35
+ "@dxos/feed-store": "0.1.37-next.41339e7",
36
+ "@dxos/keyring": "0.1.37-next.41339e7",
37
+ "@dxos/keys": "0.1.37-next.41339e7",
38
+ "@dxos/log": "0.1.37-next.41339e7",
39
+ "@dxos/messaging": "0.1.37-next.41339e7",
40
+ "@dxos/model-factory": "0.1.37-next.41339e7",
41
+ "@dxos/network-manager": "0.1.37-next.41339e7",
42
+ "@dxos/node-std": "0.1.37-next.41339e7",
43
+ "@dxos/protocols": "0.1.37-next.41339e7",
44
+ "@dxos/random-access-storage": "0.1.37-next.41339e7",
45
+ "@dxos/rpc": "0.1.37-next.41339e7",
46
+ "@dxos/teleport": "0.1.37-next.41339e7",
47
+ "@dxos/teleport-extension-gossip": "0.1.37-next.41339e7",
48
+ "@dxos/text-model": "0.1.37-next.41339e7",
49
+ "@dxos/timeframe": "0.1.37-next.41339e7",
50
+ "@dxos/util": "0.1.37-next.41339e7"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@types/readable-stream": "^2.3.9",
54
54
  "fast-check": "~3.3.0",
55
- "@dxos/signal": "0.1.36-next.ef27157"
55
+ "@dxos/signal": "0.1.37-next.41339e7"
56
56
  },
57
57
  "publishConfig": {
58
58
  "access": "public"
@@ -53,6 +53,7 @@ export class IdentityManager {
53
53
  private _identity?: Identity;
54
54
 
55
55
  private readonly _instanceId = PublicKey.random().toHex();
56
+ public _traceParent?: string;
56
57
 
57
58
  // TODO(burdon): IdentityManagerParams.
58
59
  // TODO(dmaretskyi): Perhaps this should take/generate the peerKey outside of an initialized identity.
@@ -68,7 +69,7 @@ export class IdentityManager {
68
69
  }
69
70
 
70
71
  async open() {
71
- log.trace('dxos.halo.identity-manager', trace.begin({ id: this._instanceId }));
72
+ log.trace('dxos.halo.identity-manager', trace.begin({ id: this._instanceId, parentId: this._traceParent }));
72
73
  await this._metadataStore.load();
73
74
 
74
75
  const identityRecord = this._metadataStore.getIdentityRecord();
@@ -17,7 +17,7 @@ import { generatePasscode } from '@dxos/credentials';
17
17
  import { PublicKey } from '@dxos/keys';
18
18
  import { log } from '@dxos/log';
19
19
  import { createTeleportProtocolFactory, NetworkManager, StarTopology } from '@dxos/network-manager';
20
- import { schema } from '@dxos/protocols';
20
+ import { schema, trace } from '@dxos/protocols';
21
21
  import { Invitation } from '@dxos/protocols/proto/dxos/client/services';
22
22
  import { ProfileDocument } from '@dxos/protocols/proto/dxos/halo/credentials';
23
23
  import {
@@ -63,6 +63,10 @@ const MAX_OTP_ATTEMPTS = 3;
63
63
  * ```
64
64
  */
65
65
  export class InvitationsHandler {
66
+ /**
67
+ * @internal
68
+ */
69
+ public _traceParent?: string;
66
70
  constructor(private readonly _networkManager: NetworkManager) {}
67
71
 
68
72
  createInvitation(protocol: InvitationProtocol, options?: Partial<Invitation>): CancellableInvitationObservable {
@@ -187,12 +191,18 @@ export class InvitationsHandler {
187
191
 
188
192
  onOpen: () => {
189
193
  scheduleTask(ctx, async () => {
194
+ const traceId = PublicKey.random().toHex();
190
195
  try {
196
+ log.trace(
197
+ 'dxos.sdk.invitations-handler.host.onOpen',
198
+ trace.begin({ id: traceId, parentId: this._traceParent })
199
+ );
191
200
  log('connected', { ...protocol.toJSON() });
192
201
  stream.next({ ...invitation, state: Invitation.State.CONNECTED });
193
202
  const deviceKey = await success.wait({ timeout });
194
203
  log('admitted guest', { guest: deviceKey, ...protocol.toJSON() });
195
204
  stream.next({ ...invitation, state: Invitation.State.SUCCESS });
205
+ log.trace('dxos.sdk.invitations-handler.host.onOpen', trace.end({ id: traceId }));
196
206
  } catch (err: any) {
197
207
  if (err instanceof TimeoutError) {
198
208
  log('timeout', { ...protocol.toJSON() });
@@ -201,6 +211,7 @@ export class InvitationsHandler {
201
211
  log.error('failed', err);
202
212
  stream.error(err);
203
213
  }
214
+ log.trace('dxos.sdk.invitations-handler.host.onOpen', trace.error({ id: traceId, error: err }));
204
215
  } finally {
205
216
  if (type !== Invitation.Type.MULTIUSE) {
206
217
  await sleep(ON_CLOSE_DELAY);
@@ -210,6 +221,7 @@ export class InvitationsHandler {
210
221
  });
211
222
  }
212
223
  });
224
+ extension._traceParent = this._traceParent;
213
225
 
214
226
  return extension;
215
227
  };
@@ -273,7 +285,12 @@ export class InvitationsHandler {
273
285
  const extension = new InvitationGuestExtension({
274
286
  onOpen: () => {
275
287
  scheduleTask(ctx, async () => {
288
+ const traceId = PublicKey.random().toHex();
276
289
  try {
290
+ log.trace(
291
+ 'dxos.sdk.invitations-handler.guest.onOpen',
292
+ trace.begin({ id: traceId, parentId: this._traceParent })
293
+ );
277
294
  // TODO(burdon): Bug where guest may create multiple connections.
278
295
  if (++connectionCount > 1) {
279
296
  throw new Error(`multiple connections detected: ${connectionCount}`);
@@ -334,14 +351,16 @@ export class InvitationsHandler {
334
351
  // 5. Success.
335
352
  log('admitted by host', { ...protocol.toJSON() });
336
353
  stream.next({ ...invitation, ...result, state: Invitation.State.SUCCESS });
354
+ log.trace('dxos.sdk.invitations-handler.guest.onOpen', trace.end({ id: traceId }));
337
355
  } catch (err: any) {
338
356
  if (err instanceof TimeoutError) {
339
357
  log('timeout', { ...protocol.toJSON() });
340
358
  stream.next({ ...invitation, state: Invitation.State.TIMEOUT });
341
359
  } else {
342
- log.warn('auth failed', err);
360
+ log('auth failed', err);
343
361
  stream.error(err);
344
362
  }
363
+ log.trace('dxos.sdk.invitations-handler.guest.onOpen', trace.error({ id: traceId, error: err }));
345
364
  } finally {
346
365
  await ctx.dispose();
347
366
  }
@@ -400,6 +419,11 @@ type InvitationHostExtensionCallbacks = {
400
419
  * Host's side for a connection to a concrete peer in p2p network during invitation.
401
420
  */
402
421
  class InvitationHostExtension extends RpcExtension<{}, { InvitationHostService: InvitationHostService }> {
422
+ /**
423
+ * @internal
424
+ */
425
+ public _traceParent?: string;
426
+
403
427
  constructor(private readonly _callbacks: InvitationHostExtensionCallbacks) {
404
428
  super({
405
429
  exposed: {
@@ -414,15 +438,36 @@ class InvitationHostExtension extends RpcExtension<{}, { InvitationHostService:
414
438
  // Perhaps in the future we will have more complex logic here.
415
439
  InvitationHostService: {
416
440
  introduce: async (request) => {
417
- return this._callbacks.introduce(request);
441
+ const traceId = PublicKey.random().toHex();
442
+ log.trace(
443
+ 'dxos.sdk.invitation-handler.host.introduce',
444
+ trace.begin({ id: traceId, parentId: this._traceParent })
445
+ );
446
+ const response = await this._callbacks.introduce(request);
447
+ log.trace('dxos.sdk.invitation-handler.host.introduce', trace.end({ id: traceId }));
448
+ return response;
418
449
  },
419
450
 
420
451
  authenticate: async (request) => {
421
- return this._callbacks.authenticate(request);
452
+ const traceId = PublicKey.random().toHex();
453
+ log.trace(
454
+ 'dxos.sdk.invitation-handler.host.authenticate',
455
+ trace.begin({ id: traceId, parentId: this._traceParent })
456
+ );
457
+ const response = await this._callbacks.authenticate(request);
458
+ log.trace('dxos.sdk.invitation-handler.host.authenticate', trace.end({ id: traceId, data: { ...response } }));
459
+ return response;
422
460
  },
423
461
 
424
462
  admit: async (request) => {
425
- return this._callbacks.admit(request);
463
+ const traceId = PublicKey.random().toHex();
464
+ log.trace(
465
+ 'dxos.sdk.invitation-handler.host.admit',
466
+ trace.begin({ id: traceId, parentId: this._traceParent })
467
+ );
468
+ const response = await this._callbacks.admit(request);
469
+ log.trace('dxos.sdk.invitation-handler.host.admit', trace.end({ id: traceId }));
470
+ return response;
426
471
  }
427
472
  }
428
473
  };
@@ -69,6 +69,7 @@ export class ServiceContext {
69
69
  public readonly networkManager: NetworkManager,
70
70
  public readonly modelFactory: ModelFactory
71
71
  ) {
72
+ networkManager._traceParent = this._instanceId;
72
73
  // TODO(burdon): Move strings to constants.
73
74
  this.metadataStore = new MetadataStore(storage.createDirectory('metadata'));
74
75
  this.snapshotStore = new SnapshotStore(storage.createDirectory('snapshots'));
@@ -88,6 +89,7 @@ export class ServiceContext {
88
89
  feedStore: this.feedStore,
89
90
  networkManager: this.networkManager
90
91
  });
92
+ this.spaceManager._traceParent = this._instanceId;
91
93
 
92
94
  this.identityManager = new IdentityManager(
93
95
  this.metadataStore,
@@ -95,8 +97,10 @@ export class ServiceContext {
95
97
  this.feedStore,
96
98
  this.spaceManager
97
99
  );
100
+ this.identityManager._traceParent = this._instanceId;
98
101
 
99
102
  this.invitations = new InvitationsHandler(this.networkManager);
103
+ this.invitations._traceParent = this._instanceId;
100
104
 
101
105
  // TODO(burdon): _initialize called in multiple places.
102
106
  // TODO(burdon): Call _initialize on success.
@@ -108,7 +112,7 @@ export class ServiceContext {
108
112
  }
109
113
 
110
114
  async open() {
111
- log.trace('dxos.sdk.client-services', trace.begin({ id: this._instanceId }));
115
+ log.trace('dxos.sdk.service-context', trace.begin({ id: this._instanceId }));
112
116
 
113
117
  log('opening...');
114
118
  await this.networkManager.open();
@@ -131,14 +135,7 @@ export class ServiceContext {
131
135
  this.dataServiceSubscriptions.clear();
132
136
  log('closed');
133
137
 
134
- log.trace('dxos.sdk.client-services', trace.end({ id: this._instanceId }));
135
- }
136
-
137
- async reset() {
138
- log('resetting...');
139
- await this.close();
140
- await this.storage.reset();
141
- log('reset');
138
+ log.trace('dxos.sdk.service-context', trace.end({ id: this._instanceId }));
142
139
  }
143
140
 
144
141
  async createIdentity(params: CreateIdentityOptions = {}) {
@@ -185,6 +182,7 @@ export class ServiceContext {
185
182
  this.feedStore,
186
183
  this.snapshotStore
187
184
  );
185
+ this.dataSpaceManager._traceParent = this._instanceId;
188
186
  await this.dataSpaceManager.open();
189
187
 
190
188
  this._handlerFactories.set(Invitation.Kind.SPACE, (invitation) => {
@@ -109,8 +109,7 @@ export class ClientServicesHost {
109
109
  },
110
110
 
111
111
  onReset: async () => {
112
- assert(this._serviceContext, 'service host is closed');
113
- await this._serviceContext.reset();
112
+ await this.reset();
114
113
  }
115
114
  });
116
115
 
@@ -236,4 +235,11 @@ export class ClientServicesHost {
236
235
 
237
236
  log.trace('dxos.sdk.client-services-host', trace.end({ id: this._instanceId }));
238
237
  }
238
+
239
+ async reset() {
240
+ log('resetting...');
241
+ await this._serviceContext?.close();
242
+ await this._storage!.reset();
243
+ log('reset');
244
+ }
239
245
  }
@@ -23,6 +23,7 @@ import { Keyring } from '@dxos/keyring';
23
23
  import { PublicKey } from '@dxos/keys';
24
24
  import { log } from '@dxos/log';
25
25
  import { ModelFactory } from '@dxos/model-factory';
26
+ import { trace } from '@dxos/protocols';
26
27
  import { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
27
28
  import { SpaceMetadata } from '@dxos/protocols/proto/dxos/echo/metadata';
28
29
  import { Gossip, Presence } from '@dxos/teleport-extension-gossip';
@@ -58,6 +59,8 @@ export class DataSpaceManager {
58
59
  private readonly _spaces = new ComplexMap<PublicKey, DataSpace>(PublicKey.hash);
59
60
 
60
61
  private _isOpen = false;
62
+ private readonly _instanceId = PublicKey.random().toHex();
63
+ public _traceParent?: string;
61
64
 
62
65
  constructor(
63
66
  private readonly _spaceManager: SpaceManager,
@@ -78,6 +81,7 @@ export class DataSpaceManager {
78
81
  @synchronized
79
82
  async open() {
80
83
  log('open');
84
+ log.trace('dxos.echo.data-space-manager', trace.begin({ id: this._instanceId, parentId: this._traceParent }));
81
85
  await this._metadataStore.load();
82
86
  log('metadata loaded', { spaces: this._metadataStore.spaces.length });
83
87
 
@@ -99,6 +103,7 @@ export class DataSpaceManager {
99
103
  for (const space of this._spaces.values()) {
100
104
  await space.close();
101
105
  }
106
+ log.trace('dxos.echo.data-space-manager', trace.end({ id: this._instanceId }));
102
107
  }
103
108
 
104
109
  /**
@@ -54,6 +54,8 @@ const toStorageType = (type: StorageDriver | undefined): StorageType | undefined
54
54
  return StorageType.IDB;
55
55
  case StorageDriver.NODE:
56
56
  return StorageType.NODE;
57
+ case StorageDriver.WEBFS:
58
+ return StorageType.WEBFS;
57
59
  default:
58
60
  throw new Error(`Invalid storage type: ${StorageDriver[type]}`);
59
61
  }
@@ -9,7 +9,7 @@ import { Client, ClientServices, ClientServicesProxy, createDefaultModelFactory,
9
9
  import { Config } from '@dxos/config';
10
10
  import { raise } from '@dxos/debug';
11
11
  import { DocumentModel } from '@dxos/document-model';
12
- import { DatabaseBackendProxy, genesisMutation } from '@dxos/echo-db';
12
+ import { DatabaseProxy, genesisMutation } from '@dxos/echo-db';
13
13
  import { PublicKey } from '@dxos/keys';
14
14
  import { log } from '@dxos/log';
15
15
  import { MemorySignalManager, MemorySignalManagerContext, WebsocketSignalManager } from '@dxos/messaging';
@@ -116,7 +116,7 @@ export class TestBuilder {
116
116
  }
117
117
  }
118
118
 
119
- export const testSpace = async (create: DatabaseBackendProxy, check: DatabaseBackendProxy = create) => {
119
+ export const testSpace = async (create: DatabaseProxy, check: DatabaseProxy = create) => {
120
120
  const objectId = PublicKey.random().toHex();
121
121
 
122
122
  const result = create.mutate(genesisMutation(objectId, DocumentModel.meta.type));
@@ -133,7 +133,7 @@ export const testSpace = async (create: DatabaseBackendProxy, check: DatabaseBac
133
133
  return result;
134
134
  };
135
135
 
136
- export const syncItems = async (db1: DatabaseBackendProxy, db2: DatabaseBackendProxy) => {
136
+ export const syncItems = async (db1: DatabaseProxy, db2: DatabaseProxy) => {
137
137
  // Check item replicated from 1 => 2.
138
138
  await testSpace(db1, db2);
139
139
 
@@ -16,11 +16,35 @@ import { performInvitation, TestBuilder, testSpace } from '../testing';
16
16
  describe('Spaces', () => {
17
17
  test('creates a space', async () => {
18
18
  const testBuilder = new TestBuilder();
19
+ testBuilder.storage = createStorage({ type: StorageType.RAM });
19
20
 
20
21
  const client = new Client({ services: testBuilder.createLocal() });
22
+ await client.initialize();
21
23
  afterTest(() => client.destroy());
22
24
 
25
+ await client.halo.createIdentity({ displayName: 'test-user' });
26
+
27
+ // TODO(burdon): Extend basic queries.
28
+ const space = await client.createSpace();
29
+ await testSpace(space.internal.db);
30
+
31
+ expect(space.members.get()).to.be.length(1);
32
+ });
33
+
34
+ // TODO(dmaretskyi): Test suit for different conditions/storages.
35
+ test.skip('creates a space on webfs', async () => {
36
+ const testBuilder = new TestBuilder();
37
+ // testBuilder.storage = createStorage({ type: StorageType.WEBFS });
38
+
39
+ const host = testBuilder.createClientServicesHost();
40
+ await host.open();
41
+ afterTest(() => host.close());
42
+ const [client, server] = testBuilder.createClientServer(host);
43
+ void server.open();
44
+ afterTest(() => server.close());
23
45
  await client.initialize();
46
+ afterTest(() => client.destroy());
47
+
24
48
  await client.halo.createIdentity({ displayName: 'test-user' });
25
49
 
26
50
  // TODO(burdon): Extend basic queries.