@dxos/client-services 0.1.23 → 0.1.24-next.6b1f434

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 (126) hide show
  1. package/dist/lib/browser/chunk-ZPZBLOQW.mjs +4086 -0
  2. package/dist/lib/browser/chunk-ZPZBLOQW.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +66 -3066
  4. package/dist/lib/browser/index.mjs.map +4 -4
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/packlets/testing/index.mjs +198 -0
  7. package/dist/lib/browser/packlets/testing/index.mjs.map +7 -0
  8. package/dist/lib/node/index.cjs +1655 -669
  9. package/dist/lib/node/index.cjs.map +4 -4
  10. package/dist/lib/node/meta.json +1 -1
  11. package/dist/lib/node/packlets/testing/index.cjs +3806 -0
  12. package/dist/lib/node/packlets/testing/index.cjs.map +7 -0
  13. package/dist/types/src/packlets/deprecated/profile.d.ts +3 -1
  14. package/dist/types/src/packlets/deprecated/profile.d.ts.map +1 -1
  15. package/dist/types/src/packlets/deprecated/space.d.ts.map +1 -1
  16. package/dist/types/src/packlets/deprecated/system.d.ts +15 -9
  17. package/dist/types/src/packlets/deprecated/system.d.ts.map +1 -1
  18. package/dist/types/src/packlets/devtools/devtools.d.ts +2 -2
  19. package/dist/types/src/packlets/devtools/devtools.d.ts.map +1 -1
  20. package/dist/types/src/packlets/devtools/feeds.d.ts.map +1 -1
  21. package/dist/types/src/packlets/devtools/network.d.ts +3 -3
  22. package/dist/types/src/packlets/devtools/network.d.ts.map +1 -1
  23. package/dist/types/src/packlets/devtools/spaces.d.ts.map +1 -1
  24. package/dist/types/src/packlets/identity/authenticator.d.ts +2 -2
  25. package/dist/types/src/packlets/identity/authenticator.d.ts.map +1 -1
  26. package/dist/types/src/packlets/identity/identity-manager.d.ts +8 -2
  27. package/dist/types/src/packlets/identity/identity-manager.d.ts.map +1 -1
  28. package/dist/types/src/packlets/identity/identity.d.ts +3 -2
  29. package/dist/types/src/packlets/identity/identity.d.ts.map +1 -1
  30. package/dist/types/src/packlets/invitations/halo-invitations-handler.d.ts +11 -3
  31. package/dist/types/src/packlets/invitations/halo-invitations-handler.d.ts.map +1 -1
  32. package/dist/types/src/packlets/invitations/invitations.d.ts +1 -1
  33. package/dist/types/src/packlets/invitations/invitations.d.ts.map +1 -1
  34. package/dist/types/src/packlets/invitations/space-invitations-handler.d.ts +1 -1
  35. package/dist/types/src/packlets/invitations/space-invitations-handler.d.ts.map +1 -1
  36. package/dist/types/src/packlets/services/service-context.d.ts +3 -1
  37. package/dist/types/src/packlets/services/service-context.d.ts.map +1 -1
  38. package/dist/types/src/packlets/services/service-context.test.d.ts +2 -0
  39. package/dist/types/src/packlets/services/service-context.test.d.ts.map +1 -0
  40. package/dist/types/src/packlets/services/service-definitions.d.ts +1 -1
  41. package/dist/types/src/packlets/services/service-definitions.d.ts.map +1 -1
  42. package/dist/types/src/packlets/services/service-host.d.ts +9 -6
  43. package/dist/types/src/packlets/services/service-host.d.ts.map +1 -1
  44. package/dist/types/src/packlets/services/service-registry.d.ts +4 -3
  45. package/dist/types/src/packlets/services/service-registry.d.ts.map +1 -1
  46. package/dist/types/src/packlets/spaces/data-space-manager.d.ts +9 -2
  47. package/dist/types/src/packlets/spaces/data-space-manager.d.ts.map +1 -1
  48. package/dist/types/src/packlets/spaces/data-space.d.ts +18 -4
  49. package/dist/types/src/packlets/spaces/data-space.d.ts.map +1 -1
  50. package/dist/types/src/packlets/spaces/notarization-plugin.d.ts +50 -0
  51. package/dist/types/src/packlets/spaces/notarization-plugin.d.ts.map +1 -0
  52. package/dist/types/src/packlets/spaces/notarization-plugin.test.d.ts +2 -0
  53. package/dist/types/src/packlets/spaces/notarization-plugin.test.d.ts.map +1 -0
  54. package/dist/types/src/packlets/spaces/spaces-service.d.ts +3 -2
  55. package/dist/types/src/packlets/spaces/spaces-service.d.ts.map +1 -1
  56. package/dist/types/src/packlets/testing/credential-utils.d.ts +8 -0
  57. package/dist/types/src/packlets/testing/credential-utils.d.ts.map +1 -0
  58. package/dist/types/src/packlets/testing/index.d.ts +2 -0
  59. package/dist/types/src/packlets/testing/index.d.ts.map +1 -1
  60. package/dist/types/src/packlets/testing/invitation-utils.d.ts +3 -0
  61. package/dist/types/src/packlets/testing/invitation-utils.d.ts.map +1 -0
  62. package/dist/types/src/packlets/testing/test-builder.d.ts +2 -2
  63. package/dist/types/src/packlets/testing/test-builder.d.ts.map +1 -1
  64. package/dist/types/src/packlets/vault/iframe-host-runtime.d.ts +35 -0
  65. package/dist/types/src/packlets/vault/iframe-host-runtime.d.ts.map +1 -0
  66. package/dist/types/src/packlets/vault/{iframe-runtime.d.ts → iframe-proxy-runtime.d.ts} +9 -4
  67. package/dist/types/src/packlets/vault/iframe-proxy-runtime.d.ts.map +1 -0
  68. package/dist/types/src/packlets/vault/index.d.ts +6 -1
  69. package/dist/types/src/packlets/vault/index.d.ts.map +1 -1
  70. package/dist/types/src/packlets/vault/services.d.ts +9 -1
  71. package/dist/types/src/packlets/vault/services.d.ts.map +1 -1
  72. package/dist/types/src/packlets/vault/shell-controller.d.ts +24 -0
  73. package/dist/types/src/packlets/vault/shell-controller.d.ts.map +1 -0
  74. package/dist/types/src/packlets/vault/shell-runtime.d.ts +45 -0
  75. package/dist/types/src/packlets/vault/shell-runtime.d.ts.map +1 -0
  76. package/dist/types/src/packlets/vault/vault-resource-lock.d.ts +19 -0
  77. package/dist/types/src/packlets/vault/vault-resource-lock.d.ts.map +1 -0
  78. package/dist/types/src/packlets/vault/worker-runtime.d.ts +2 -1
  79. package/dist/types/src/packlets/vault/worker-runtime.d.ts.map +1 -1
  80. package/dist/types/src/packlets/vault/worker-session.d.ts +7 -4
  81. package/dist/types/src/packlets/vault/worker-session.d.ts.map +1 -1
  82. package/package.json +30 -29
  83. package/src/packlets/deprecated/profile.ts +20 -2
  84. package/src/packlets/deprecated/space.ts +41 -37
  85. package/src/packlets/deprecated/system.ts +26 -13
  86. package/src/packlets/devtools/devtools.ts +4 -4
  87. package/src/packlets/devtools/feeds.ts +11 -6
  88. package/src/packlets/devtools/network.ts +20 -9
  89. package/src/packlets/devtools/spaces.ts +8 -7
  90. package/src/packlets/identity/authenticator.ts +12 -7
  91. package/src/packlets/identity/identity-manager.test.ts +25 -16
  92. package/src/packlets/identity/identity-manager.ts +23 -9
  93. package/src/packlets/identity/identity.test.ts +22 -23
  94. package/src/packlets/identity/identity.ts +11 -6
  95. package/src/packlets/invitations/halo-invitations-handler.test.ts +4 -45
  96. package/src/packlets/invitations/halo-invitations-handler.ts +33 -17
  97. package/src/packlets/invitations/invitations.ts +2 -1
  98. package/src/packlets/invitations/space-invitations-handler.test.ts +43 -26
  99. package/src/packlets/invitations/space-invitations-handler.ts +9 -12
  100. package/src/packlets/services/service-context.test.ts +56 -0
  101. package/src/packlets/services/service-context.ts +62 -6
  102. package/src/packlets/services/service-definitions.ts +1 -1
  103. package/src/packlets/services/service-host.test.ts +74 -5
  104. package/src/packlets/services/service-host.ts +86 -24
  105. package/src/packlets/services/service-registry.test.ts +2 -1
  106. package/src/packlets/services/service-registry.ts +5 -1
  107. package/src/packlets/spaces/data-space-manager.test.ts +72 -15
  108. package/src/packlets/spaces/data-space-manager.ts +53 -12
  109. package/src/packlets/spaces/data-space.ts +113 -14
  110. package/src/packlets/spaces/notarization-plugin.test.ts +81 -0
  111. package/src/packlets/spaces/notarization-plugin.ts +211 -0
  112. package/src/packlets/spaces/spaces-service.ts +10 -2
  113. package/src/packlets/testing/credential-utils.ts +28 -0
  114. package/src/packlets/testing/index.ts +2 -0
  115. package/src/packlets/testing/invitation-utils.ts +44 -0
  116. package/src/packlets/testing/test-builder.ts +14 -18
  117. package/src/packlets/vault/iframe-host-runtime.ts +131 -0
  118. package/src/packlets/vault/{iframe-runtime.ts → iframe-proxy-runtime.ts} +18 -3
  119. package/src/packlets/vault/index.ts +6 -1
  120. package/src/packlets/vault/services.ts +17 -1
  121. package/src/packlets/vault/shell-controller.ts +77 -0
  122. package/src/packlets/vault/shell-runtime.ts +133 -0
  123. package/src/packlets/vault/vault-resource-lock.ts +76 -0
  124. package/src/packlets/vault/worker-runtime.ts +16 -4
  125. package/src/packlets/vault/worker-session.ts +36 -26
  126. package/dist/types/src/packlets/vault/iframe-runtime.d.ts.map +0 -1
@@ -0,0 +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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=notarization-plugin.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notarization-plugin.test.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/notarization-plugin.test.ts"],"names":[],"mappings":""}
@@ -1,6 +1,6 @@
1
1
  import { Stream } from '@dxos/codec-protobuf';
2
- import { SpaceManager } from '@dxos/echo-db';
3
- import { QueryCredentialsRequest, QueryMembersRequest, QueryMembersResponse, Space, SpacesService } from '@dxos/protocols/proto/dxos/client/services';
2
+ import { SpaceManager } from '@dxos/echo-pipeline';
3
+ import { QueryCredentialsRequest, QueryMembersRequest, QueryMembersResponse, Space, SpacesService, WriteCredentialsRequest } from '@dxos/protocols/proto/dxos/client/services';
4
4
  import { Credential } from '@dxos/protocols/proto/dxos/halo/credentials';
5
5
  /**
6
6
  *
@@ -12,5 +12,6 @@ export declare class SpacesServiceImpl implements SpacesService {
12
12
  querySpaces(): Stream<Space>;
13
13
  queryMembers(query: QueryMembersRequest): Stream<QueryMembersResponse>;
14
14
  queryCredentials({ spaceKey }: QueryCredentialsRequest): Stream<Credential>;
15
+ writeCredentials({ spaceKey, credentials }: WriteCredentialsRequest): Promise<void>;
15
16
  }
16
17
  //# sourceMappingURL=spaces-service.d.ts.map
@@ -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,YAAY,EAAsB,MAAM,eAAe,CAAC;AACjE,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,KAAK,EACL,aAAa,EACd,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;AAEzE;;GAEG;AACH,qBAAa,iBAAkB,YAAW,aAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,YAAY;IAElD,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;IAInC,WAAW,IAAI,MAAM,CAAC,KAAK,CAAC;IAI5B,YAAY,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAAC,oBAAoB,CAAC;IAItE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE,uBAAuB,GAAG,MAAM,CAAC,UAAU,CAAC;CAa5E"}
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,YAAY,EAAsB,MAAM,qBAAqB,CAAC;AACvE,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,KAAK,EACL,aAAa,EACb,uBAAuB,EACxB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;AAEzE;;GAEG;AACH,qBAAa,iBAAkB,YAAW,aAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,YAAY;IAElD,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;IAInC,WAAW,IAAI,MAAM,CAAC,KAAK,CAAC;IAI5B,YAAY,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAAC,oBAAoB,CAAC;IAItE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE,uBAAuB,GAAG,MAAM,CAAC,UAAU,CAAC;IAcrE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,uBAAuB;CAM1E"}
@@ -0,0 +1,8 @@
1
+ import { Signer } from '@dxos/crypto';
2
+ import { PublicKey } from '@dxos/keys';
3
+ import { Credential } from '@dxos/protocols/proto/dxos/halo/credentials';
4
+ export declare const createMockCredential: ({ signer, issuer }: {
5
+ signer: Signer;
6
+ issuer: PublicKey;
7
+ }) => Promise<Credential>;
8
+ //# sourceMappingURL=credential-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-utils.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/testing/credential-utils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;AAEzE,eAAO,MAAM,oBAAoB;YAIvB,MAAM;YACN,SAAS;MACf,QAAQ,UAAU,CAYlB,CAAC"}
@@ -1,2 +1,4 @@
1
+ export * from './credential-utils';
1
2
  export * from './test-builder';
3
+ export * from './invitation-utils';
2
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/testing/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/testing/index.ts"],"names":[],"mappings":"AAIA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { InvitationsHandler } from '../invitations';
2
+ export declare const performInvitation: <T>(host: InvitationsHandler<T>, guest: InvitationsHandler<T>, context: T) => Promise<void>;
3
+ //# sourceMappingURL=invitation-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invitation-utils.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/testing/invitation-utils.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,eAAO,MAAM,iBAAiB,6FA+B7B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { Config } from '@dxos/config';
2
- import { ISpace, MetadataStore, SigningContext, SnapshotStore, SpaceManager } from '@dxos/echo-db';
2
+ import { SnapshotStore, DataPipelineControllerImpl, 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 syncItems: (space1: ISpace, space2: ISpace) => Promise<void>;
16
+ export declare const syncItems: (db1: DataPipelineControllerImpl, db2: DataPipelineControllerImpl) => Promise<void>;
17
17
  export declare class TestBuilder {
18
18
  readonly signalContext: MemorySignalManagerContext;
19
19
  createPeer(): TestPeer;
@@ -1 +1 @@
1
- {"version":3,"file":"test-builder.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/testing/test-builder.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAiB,MAAM,eAAe,CAAC;AAClH,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,EAA6B,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAM5F,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,SAAS,WAAkB,MAAM,UAAU,MAAM,kBAc7D,CAAC;AAEF,qBAAa,WAAW;IACtB,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,CAenF,CAAC"}
1
+ {"version":3,"file":"test-builder.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/testing/test-builder.ts"],"names":[],"mappings":"AAIA,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,EAA6B,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAM5F,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,SAAS,QAAe,0BAA0B,OAAO,0BAA0B,kBAG/F,CAAC;AAEF,qBAAa,WAAW;IACtB,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"}
@@ -0,0 +1,35 @@
1
+ import { Config } from '@dxos/config';
2
+ import { RpcPort } from '@dxos/rpc';
3
+ import { Provider } from '@dxos/util';
4
+ import { ClientServicesHost } from '../services';
5
+ import { ShellRuntime } from './shell-runtime';
6
+ export declare type IFrameHostRuntimeParams = {
7
+ configProvider: Config | Provider<Promise<Config>>;
8
+ appPort: RpcPort;
9
+ shellPort?: RpcPort;
10
+ };
11
+ /**
12
+ * Runs the client services in the main thread.
13
+ *
14
+ * Holds a lock over the client services such that only one instance can run at a time.
15
+ * This should only be used when SharedWorker is not available.
16
+ */
17
+ export declare class IFrameHostRuntime {
18
+ private readonly _configProvider;
19
+ private readonly _transportFactory;
20
+ private readonly _ready;
21
+ private readonly _getService;
22
+ private readonly _appPort;
23
+ private readonly _shellPort?;
24
+ private _config;
25
+ private _clientServices;
26
+ private _clientRpc;
27
+ private _shellRuntime?;
28
+ origin?: string;
29
+ constructor({ configProvider, appPort, shellPort }: IFrameHostRuntimeParams);
30
+ get services(): ClientServicesHost;
31
+ get shell(): ShellRuntime | undefined;
32
+ start(): Promise<void>;
33
+ stop(): Promise<void>;
34
+ }
35
+ //# sourceMappingURL=iframe-host-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iframe-host-runtime.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/vault/iframe-host-runtime.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAItC,OAAO,EAAoC,OAAO,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,EAAiB,QAAQ,EAAE,MAAM,YAAY,CAAC;AAErD,OAAO,EAAuC,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,EAAE,YAAY,EAAoB,MAAM,iBAAiB,CAAC;AAIjE,oBAAY,uBAAuB,GAAG;IACpC,cAAc,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqC;IACrE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IACpE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAC3D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAEN;IAEtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAU;IACtC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,aAAa,CAAC,CAAmB;IAGlC,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEX,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,uBAAuB;IAwB3E,IAAI,QAAQ,uBAEX;IAED,IAAI,KAAK,IAAI,YAAY,GAAG,SAAS,CAEpC;IAEK,KAAK;IA4CL,IAAI;CAOX"}
@@ -1,20 +1,25 @@
1
1
  import { RpcPort } from '@dxos/rpc';
2
- export declare type IframeRuntimeParams = {
2
+ import { ShellRuntime } from './shell-runtime';
3
+ export declare type IFrameProxyRuntimeParams = {
3
4
  systemPort: RpcPort;
4
5
  workerAppPort: RpcPort;
5
6
  windowAppPort: RpcPort;
7
+ shellPort?: RpcPort;
6
8
  };
7
9
  /**
8
10
  * Manages the client connection to the shared worker.
9
11
  */
10
- export declare class IFrameRuntime {
12
+ export declare class IFrameProxyRuntime {
11
13
  private readonly _systemPort;
12
14
  private readonly _windowAppPort;
13
15
  private readonly _workerAppPort;
16
+ private readonly _shellPort?;
14
17
  private readonly _systemRpc;
18
+ private readonly _shellRuntime?;
15
19
  private readonly _transportService;
16
- constructor({ systemPort, workerAppPort, windowAppPort }: IframeRuntimeParams);
20
+ constructor({ systemPort, workerAppPort, windowAppPort, shellPort }: IFrameProxyRuntimeParams);
21
+ get shell(): ShellRuntime | undefined;
17
22
  open(origin: string): Promise<void>;
18
23
  close(): Promise<void>;
19
24
  }
20
- //# sourceMappingURL=iframe-runtime.d.ts.map
25
+ //# sourceMappingURL=iframe-proxy-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iframe-proxy-runtime.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/vault/iframe-proxy-runtime.ts"],"names":[],"mappings":"AAMA,OAAO,EAAoC,OAAO,EAAE,MAAM,WAAW,CAAC;AAGtE,OAAO,EAAE,YAAY,EAAoB,MAAM,iBAAiB,CAAC;AAGjE,oBAAY,wBAAwB,GAAG;IACrC,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAU;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAC/D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAmB;IAClD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAgC;gBAEtD,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,wBAAwB;IA6B7F,IAAI,KAAK,IAAI,YAAY,GAAG,SAAS,CAEpC;IAEK,IAAI,CAAC,MAAM,EAAE,MAAM;IAMnB,KAAK;CAKZ"}
@@ -1,4 +1,9 @@
1
- export * from './iframe-runtime';
1
+ export * from './iframe-host-runtime';
2
+ export * from './iframe-proxy-runtime';
3
+ export * from './services';
4
+ export * from './shell-controller';
5
+ export * from './shell-runtime';
6
+ export * from './vault-resource-lock';
2
7
  export * from './worker-runtime';
3
8
  export * from './worker-session';
4
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/vault/index.ts"],"names":[],"mappings":"AAIA,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/vault/index.ts"],"names":[],"mappings":"AAIA,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { IframeService, WorkerService } from '@dxos/protocols/proto/dxos/iframe';
1
+ import type { IframeService, AppService, ShellService, WorkerService } from '@dxos/protocols/proto/dxos/iframe';
2
2
  import type { BridgeService } from '@dxos/protocols/proto/dxos/mesh/bridge';
3
3
  import { ServiceBundle } from '@dxos/rpc';
4
4
  export declare type IframeServiceBundle = {
@@ -10,4 +10,12 @@ export declare type WorkerServiceBundle = {
10
10
  WorkerService: WorkerService;
11
11
  };
12
12
  export declare const workerServiceBundle: ServiceBundle<WorkerServiceBundle>;
13
+ export declare type AppServiceBundle = {
14
+ AppService: AppService;
15
+ };
16
+ export declare const appServiceBundle: ServiceBundle<AppServiceBundle>;
17
+ export declare type ShellServiceBundle = {
18
+ ShellService: ShellService;
19
+ };
20
+ export declare const shellServiceBundle: ServiceBundle<ShellServiceBundle>;
13
21
  //# sourceMappingURL=services.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/vault/services.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACtF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,oBAAY,mBAAmB,GAAG;IAChC,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,mBAAmB,CAGlE,CAAC;AAEF,oBAAY,mBAAmB,GAAG;IAChC,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,mBAAmB,CAElE,CAAC"}
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/vault/services.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAChH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,oBAAY,mBAAmB,GAAG;IAChC,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,mBAAmB,CAGlE,CAAC;AAEF,oBAAY,mBAAmB,GAAG;IAChC,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,mBAAmB,CAElE,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC7B,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,gBAAgB,CAE5D,CAAC;AAEF,oBAAY,kBAAkB,GAAG;IAC/B,YAAY,EAAE,YAAY,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,kBAAkB,CAEhE,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { Event } from '@dxos/async';
2
+ import { PublicKey } from '@dxos/keys';
3
+ import { AppContextRequest, LayoutRequest, ShellDisplay, ShellLayout } from '@dxos/protocols/proto/dxos/iframe';
4
+ import { RpcPort } from '@dxos/rpc';
5
+ /**
6
+ * Provide access to the shell via RPC connection.
7
+ */
8
+ export declare class ShellController {
9
+ private readonly _port;
10
+ readonly contextUpdate: Event<AppContextRequest>;
11
+ private _shellRpc?;
12
+ private _display;
13
+ private _spaceKey?;
14
+ private _invitationCode?;
15
+ constructor(_port: RpcPort);
16
+ get display(): ShellDisplay;
17
+ get spaceKey(): PublicKey | undefined;
18
+ setSpace(key?: PublicKey): void;
19
+ setLayout(layout: ShellLayout, options?: Omit<LayoutRequest, 'layout'>): Promise<void>;
20
+ open(): Promise<void>;
21
+ close(): Promise<void>;
22
+ private _emitUpdate;
23
+ }
24
+ //# sourceMappingURL=shell-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-controller.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/vault/shell-controller.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChH,OAAO,EAAoC,OAAO,EAAE,MAAM,WAAW,CAAC;AAItE;;GAEG;AACH,qBAAa,eAAe;IAOd,OAAO,CAAC,QAAQ,CAAC,KAAK;IANlC,QAAQ,CAAC,aAAa,2BAAkC;IACxD,OAAO,CAAC,SAAS,CAAC,CAAmC;IACrD,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,eAAe,CAAC,CAAS;gBAEJ,KAAK,EAAE,OAAO;IAE3C,IAAI,OAAO,iBAEV;IAED,IAAI,QAAQ,0BAEX;IAED,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS;IAKlB,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,GAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAM;IAM1E,IAAI;IAqBJ,KAAK;IAKX,OAAO,CAAC,WAAW;CAOpB"}
@@ -0,0 +1,45 @@
1
+ import { Event } from '@dxos/async';
2
+ import { PublicKey } from '@dxos/keys';
3
+ import { AppContextRequest, LayoutRequest, ShellLayout } from '@dxos/protocols/proto/dxos/iframe';
4
+ import { RpcPort } from '@dxos/rpc';
5
+ export interface ShellRuntime {
6
+ layoutUpdate: Event<LayoutRequest>;
7
+ layout: ShellLayout;
8
+ invitationCode?: string;
9
+ spaceKey?: PublicKey;
10
+ setLayout: (layout: ShellLayout, options?: Omit<LayoutRequest, 'layout'>) => void;
11
+ setAppContext: (context: AppContextRequest) => Promise<void>;
12
+ }
13
+ /**
14
+ * Endpoint that handles shell services.
15
+ */
16
+ export declare class ShellRuntimeImpl implements ShellRuntime {
17
+ private readonly _port;
18
+ readonly layoutUpdate: Event<LayoutRequest>;
19
+ private _appRpc?;
20
+ private _layout;
21
+ private _invitationCode?;
22
+ private _spaceKey?;
23
+ constructor(_port: RpcPort);
24
+ get layout(): ShellLayout;
25
+ get invitationCode(): string | undefined;
26
+ get spaceKey(): PublicKey | undefined;
27
+ setLayout(layout: ShellLayout, options?: Omit<LayoutRequest, 'layout'>): void;
28
+ setAppContext(context: AppContextRequest): Promise<void>;
29
+ open(): Promise<void>;
30
+ close(): Promise<void>;
31
+ }
32
+ export declare class MemoryShellRuntime implements ShellRuntime {
33
+ readonly layoutUpdate: Event<LayoutRequest>;
34
+ readonly contextUpdate: Event<AppContextRequest>;
35
+ private _layout;
36
+ private _invitationCode?;
37
+ private _spaceKey?;
38
+ constructor({ layout, invitationCode, spaceKey }?: Partial<LayoutRequest> & Partial<AppContextRequest>);
39
+ get layout(): ShellLayout;
40
+ get invitationCode(): string | undefined;
41
+ get spaceKey(): PublicKey | undefined;
42
+ setLayout(layout: ShellLayout, options?: Omit<LayoutRequest, 'layout'>): void;
43
+ setAppContext(context: AppContextRequest): Promise<void>;
44
+ }
45
+ //# sourceMappingURL=shell-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-runtime.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/vault/shell-runtime.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAClG,OAAO,EAAoC,OAAO,EAAE,MAAM,WAAW,CAAC;AAItE,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IACnC,MAAM,EAAE,WAAW,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,KAAK,IAAI,CAAC;IAClF,aAAa,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D;AAED;;GAEG;AACH,qBAAa,gBAAiB,YAAW,YAAY;IAOvC,OAAO,CAAC,QAAQ,CAAC,KAAK;IANlC,QAAQ,CAAC,YAAY,uBAA8B;IACnD,OAAO,CAAC,OAAO,CAAC,CAAiC;IACjD,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,SAAS,CAAC,CAAY;gBAED,KAAK,EAAE,OAAO;IAE3C,IAAI,MAAM,gBAET;IAED,IAAI,cAAc,uBAEjB;IAED,IAAI,QAAQ,0BAEX;IAED,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,GAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAM;IAOpE,aAAa,CAAC,OAAO,EAAE,iBAAiB;IAkBxC,IAAI;IAoBJ,KAAK;CAIZ;AAED,qBAAa,kBAAmB,YAAW,YAAY;IACrD,QAAQ,CAAC,YAAY,uBAA8B;IACnD,QAAQ,CAAC,aAAa,2BAAkC;IACxD,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,SAAS,CAAC,CAAY;gBAElB,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAM;IAM1G,IAAI,MAAM,gBAET;IAED,IAAI,cAAc,uBAEjB;IAED,IAAI,QAAQ,0BAEX;IAED,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,GAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAM;IAOpE,aAAa,CAAC,OAAO,EAAE,iBAAiB;CAG/C"}
@@ -0,0 +1,19 @@
1
+ import { MaybePromise } from '@dxos/util';
2
+ export declare type VaultResourceLockOptions = {
3
+ lockKey: string;
4
+ onAcquire?: () => MaybePromise<void>;
5
+ onRelease?: () => MaybePromise<void>;
6
+ };
7
+ export declare class VaultResourceLock {
8
+ private readonly _broadcastChannel;
9
+ private readonly _lockKey;
10
+ private readonly _onAcquire;
11
+ private readonly _onRelease;
12
+ private _releaseTrigger;
13
+ constructor({ lockKey, onAcquire, onRelease }: VaultResourceLockOptions);
14
+ acquire(): Promise<void>;
15
+ release(): Promise<void>;
16
+ private _onMessage;
17
+ private _requestLock;
18
+ }
19
+ //# sourceMappingURL=vault-resource-lock.d.ts.map
@@ -0,0 +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"}
@@ -4,6 +4,7 @@ import { MaybePromise } from '@dxos/util';
4
4
  export declare type CreateSessionParams = {
5
5
  appPort: RpcPort;
6
6
  systemPort: RpcPort;
7
+ shellPort: RpcPort;
7
8
  };
8
9
  /**
9
10
  * Runtime for the shared worker.
@@ -24,7 +25,7 @@ export declare class WorkerRuntime {
24
25
  /**
25
26
  * Create a new session.
26
27
  */
27
- createSession({ appPort, systemPort }: CreateSessionParams): Promise<void>;
28
+ createSession({ appPort, systemPort, shellPort }: CreateSessionParams): Promise<void>;
28
29
  /**
29
30
  * Selects one of the existing session fro WebRTC networking.
30
31
  */
@@ -1 +1 @@
1
- {"version":3,"file":"worker-runtime.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/vault/worker-runtime.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM1C,oBAAY,mBAAmB,GAAG;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;;GAIG;AACH,qBAAa,aAAa;IAUtB,OAAO,CAAC,QAAQ,CAAC,eAAe;IATlC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqC;IACvE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,qBAAqB,CAAC,CAAgB;IAC9C,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,OAAO,CAAU;gBAIN,eAAe,EAAE,MAAM,YAAY,CAAC,MAAM,CAAC;IAGxD,KAAK;IAsBL,IAAI;IAKV;;OAEG;IACG,aAAa,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,mBAAmB;IA0BhE;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAmBzB"}
1
+ {"version":3,"file":"worker-runtime.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/vault/worker-runtime.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAItC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM1C,oBAAY,mBAAmB,GAAG;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;;GAIG;AACH,qBAAa,aAAa;IAUtB,OAAO,CAAC,QAAQ,CAAC,eAAe;IATlC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqC;IACvE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,qBAAqB,CAAC,CAAgB;IAC9C,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,OAAO,CAAU;gBAIN,eAAe,EAAE,MAAM,YAAY,CAAC,MAAM,CAAC;IAGxD,KAAK;IAyBL,IAAI;IAKV;;OAEG;IACG,aAAa,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,mBAAmB;IAiC3E;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAmBzB"}
@@ -2,11 +2,12 @@ import { Trigger } from '@dxos/async';
2
2
  import { BridgeService } from '@dxos/protocols/proto/dxos/mesh/bridge';
3
3
  import { RpcPort } from '@dxos/rpc';
4
4
  import { Callback } from '@dxos/util';
5
- import { ClientServicesHost } from '../services';
5
+ import { ClientServices } from '../services';
6
6
  export declare type WorkerSessionParams = {
7
- getServices: () => Promise<ClientServicesHost>;
7
+ getService: <Service>(find: (services: Partial<ClientServices>) => Service | undefined) => Promise<Service>;
8
8
  systemPort: RpcPort;
9
9
  appPort: RpcPort;
10
+ shellPort: RpcPort;
10
11
  readySignal: Trigger<Error | undefined>;
11
12
  options?: {
12
13
  heartbeatInterval: number;
@@ -17,16 +18,18 @@ export declare type WorkerSessionParams = {
17
18
  */
18
19
  export declare class WorkerSession {
19
20
  private readonly _clientRpc;
21
+ private readonly _shellClientRpc;
20
22
  private readonly _iframeRpc;
21
23
  private readonly _startTrigger;
22
- private readonly _getServices;
24
+ private readonly _getService;
23
25
  private readonly _options;
24
26
  private _heartbeatTimer?;
25
27
  readonly onClose: Callback<() => Promise<void>>;
26
28
  origin?: string;
27
29
  bridgeService?: BridgeService;
28
- constructor({ getServices, systemPort, appPort, options }: WorkerSessionParams);
30
+ constructor({ getService, systemPort, appPort, shellPort, options }: WorkerSessionParams);
29
31
  open(): Promise<void>;
30
32
  close(): Promise<void>;
33
+ private _maybeOpenShell;
31
34
  }
32
35
  //# sourceMappingURL=worker-session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker-session.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/vault/worker-session.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAoC,OAAO,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAuC,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtF,oBAAY,mBAAmB,GAAG;IAChC,WAAW,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC/C,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE;QACR,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAC1D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAC/D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAC/C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoC;IACjE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8C;IACvE,OAAO,CAAC,eAAe,CAAC,CAAiB;IAEzC,SAAgB,OAAO,iBAAsB,QAAQ,IAAI,CAAC,EAAI;IAGvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,aAAa,CAAC,EAAE,aAAa,CAAC;gBAEzB,EACV,WAAW,EACX,UAAU,EACV,OAAO,EACP,OAEC,EACF,EAAE,mBAAmB;IAoDhB,IAAI;IAuBJ,KAAK;CAcZ"}
1
+ {"version":3,"file":"worker-session.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/vault/worker-session.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgB,OAAO,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAoC,OAAO,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAuB,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlE,oBAAY,mBAAmB,GAAG;IAChC,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,KAAK,OAAO,GAAG,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5G,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE;QACR,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAC1D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA+B;IAC/D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAC/D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAC/C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoC;IAChE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8C;IACvE,OAAO,CAAC,eAAe,CAAC,CAAiB;IAEzC,SAAgB,OAAO,iBAAsB,QAAQ,IAAI,CAAC,EAAI;IAGvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,aAAa,CAAC,EAAE,aAAa,CAAC;gBAEzB,EACV,UAAU,EACV,UAAU,EACV,OAAO,EACP,SAAS,EACT,OAEC,EACF,EAAE,mBAAmB;IAmDhB,IAAI;IAuBJ,KAAK;YAeG,eAAe;CAO9B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/client-services",
3
- "version": "0.1.23",
3
+ "version": "0.1.24-next.6b1f434",
4
4
  "description": "DXOS client services implementation",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -10,7 +10,7 @@
10
10
  "browser": {
11
11
  "jsondown": false,
12
12
  "./dist/lib/node/index.cjs": "./dist/lib/browser/index.mjs",
13
- "./dist/lib/node/packlets/testing/index.cjs": "./dist/lib/browser/packlets/testing/index.mjs"
13
+ "./testing.js": "./dist/lib/browser/packlets/testing/index.mjs"
14
14
  },
15
15
  "types": "dist/types/src/index.d.ts",
16
16
  "files": [
@@ -21,36 +21,37 @@
21
21
  ],
22
22
  "dependencies": {
23
23
  "base-x": "~3.0.9",
24
- "@dxos/async": "0.1.23",
25
- "@dxos/codec-protobuf": "0.1.23",
26
- "@dxos/config": "0.1.23",
27
- "@dxos/context": "0.1.23",
28
- "@dxos/credentials": "0.1.23",
29
- "@dxos/crypto": "0.1.23",
30
- "@dxos/debug": "0.1.23",
31
- "@dxos/echo-db": "0.1.23",
32
- "@dxos/errors": "0.1.23",
33
- "@dxos/feed-store": "0.1.23",
34
- "@dxos/keyring": "0.1.23",
35
- "@dxos/keys": "0.1.23",
36
- "@dxos/log": "0.1.23",
37
- "@dxos/messaging": "0.1.23",
38
- "@dxos/model-factory": "0.1.23",
39
- "@dxos/network-manager": "0.1.23",
40
- "@dxos/node-std": "0.1.23",
41
- "@dxos/object-model": "0.1.23",
42
- "@dxos/protocols": "0.1.23",
43
- "@dxos/random-access-storage": "0.1.23",
44
- "@dxos/rpc": "0.1.23",
45
- "@dxos/teleport": "0.1.23",
46
- "@dxos/teleport-extension-presence": "0.1.23",
47
- "@dxos/text-model": "0.1.23",
48
- "@dxos/timeframe": "0.1.23",
49
- "@dxos/util": "0.1.23"
24
+ "@dxos/async": "0.1.24-next.6b1f434",
25
+ "@dxos/codec-protobuf": "0.1.24-next.6b1f434",
26
+ "@dxos/config": "0.1.24-next.6b1f434",
27
+ "@dxos/context": "0.1.24-next.6b1f434",
28
+ "@dxos/credentials": "0.1.24-next.6b1f434",
29
+ "@dxos/crypto": "0.1.24-next.6b1f434",
30
+ "@dxos/debug": "0.1.24-next.6b1f434",
31
+ "@dxos/document-model": "0.1.24-next.6b1f434",
32
+ "@dxos/echo-db": "0.1.24-next.6b1f434",
33
+ "@dxos/echo-pipeline": "0.1.24-next.6b1f434",
34
+ "@dxos/errors": "0.1.24-next.6b1f434",
35
+ "@dxos/feed-store": "0.1.24-next.6b1f434",
36
+ "@dxos/keyring": "0.1.24-next.6b1f434",
37
+ "@dxos/keys": "0.1.24-next.6b1f434",
38
+ "@dxos/log": "0.1.24-next.6b1f434",
39
+ "@dxos/messaging": "0.1.24-next.6b1f434",
40
+ "@dxos/model-factory": "0.1.24-next.6b1f434",
41
+ "@dxos/network-manager": "0.1.24-next.6b1f434",
42
+ "@dxos/node-std": "0.1.24-next.6b1f434",
43
+ "@dxos/protocols": "0.1.24-next.6b1f434",
44
+ "@dxos/random-access-storage": "0.1.24-next.6b1f434",
45
+ "@dxos/rpc": "0.1.24-next.6b1f434",
46
+ "@dxos/teleport": "0.1.24-next.6b1f434",
47
+ "@dxos/teleport-extension-presence": "0.1.24-next.6b1f434",
48
+ "@dxos/text-model": "0.1.24-next.6b1f434",
49
+ "@dxos/timeframe": "0.1.24-next.6b1f434",
50
+ "@dxos/util": "0.1.24-next.6b1f434"
50
51
  },
51
52
  "devDependencies": {
52
53
  "@types/readable-stream": "^2.3.9",
53
- "@dxos/signal": "0.1.23"
54
+ "@dxos/signal": "0.1.24-next.6b1f434"
54
55
  },
55
56
  "publishConfig": {
56
57
  "access": "public"
@@ -2,15 +2,20 @@
2
2
  // Copyright 2022 DXOS.org
3
3
  //
4
4
 
5
+ import assert from 'node:assert';
6
+
5
7
  import { Stream } from '@dxos/codec-protobuf';
8
+ import { signPresentation } from '@dxos/credentials';
6
9
  import { todo } from '@dxos/debug';
7
10
  import {
8
11
  CreateProfileRequest,
9
12
  Profile,
10
13
  ProfileService,
11
14
  RecoverProfileRequest,
15
+ SignPresentationRequest,
12
16
  SubscribeProfileResponse
13
17
  } from '@dxos/protocols/proto/dxos/client';
18
+ import { Presentation } from '@dxos/protocols/proto/dxos/halo/credentials';
14
19
 
15
20
  import { ServiceContext } from '../services';
16
21
  import { InviteeInvitations } from './invitations';
@@ -32,7 +37,8 @@ export class ProfileServiceImpl implements ProfileService {
32
37
  ? {
33
38
  identityKey: this.context.identityManager.identity.identityKey,
34
39
  deviceKey: this.context.identityManager.identity.deviceKey,
35
- displayName: this.context.identityManager.identity.profileDocument?.displayName
40
+ displayName: this.context.identityManager.identity.profileDocument?.displayName,
41
+ haloSpace: this.context.identityManager.identity.space.key
36
42
  }
37
43
  : undefined
38
44
  });
@@ -49,7 +55,8 @@ export class ProfileServiceImpl implements ProfileService {
49
55
  return {
50
56
  identityKey: this.context.identityManager.identity!.identityKey,
51
57
  deviceKey: this.context.identityManager.identity!.deviceKey,
52
- displayName: this.context.identityManager.identity!.profileDocument?.displayName
58
+ displayName: this.context.identityManager.identity!.profileDocument?.displayName,
59
+ haloSpace: this.context.identityManager.identity!.space.key
53
60
  };
54
61
  }
55
62
 
@@ -64,4 +71,15 @@ export class ProfileServiceImpl implements ProfileService {
64
71
  // assert(profile, 'Recovering profile failed.');
65
72
  // return profile;
66
73
  }
74
+
75
+ async signPresentation({ presentation, nonce }: SignPresentationRequest): Promise<Presentation> {
76
+ assert(this.context.identityManager.identity, 'Identity not initialized.');
77
+ return await signPresentation({
78
+ presentation,
79
+ signer: this.context.keyring,
80
+ signerKey: this.context.identityManager.identity.deviceKey,
81
+ chain: this.context.identityManager.identity.deviceCredentialChain,
82
+ nonce
83
+ });
84
+ }
67
85
  }