@dxos/client-services 0.1.2 → 0.1.4

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 (287) hide show
  1. package/dist/src/index.d.ts +3 -1
  2. package/dist/src/index.d.ts.map +1 -1
  3. package/dist/src/index.js +3 -1
  4. package/dist/src/index.js.map +1 -1
  5. package/dist/src/packlets/deprecated/index.d.ts +5 -0
  6. package/dist/src/packlets/deprecated/index.d.ts.map +1 -0
  7. package/dist/src/packlets/{services/impl → deprecated}/index.js +1 -3
  8. package/dist/src/packlets/deprecated/index.js.map +1 -0
  9. package/dist/src/packlets/{invitations/common.d.ts → deprecated/invitations.d.ts} +14 -2
  10. package/dist/src/packlets/deprecated/invitations.d.ts.map +1 -0
  11. package/dist/src/packlets/{invitations/common.js → deprecated/invitations.js} +1 -1
  12. package/dist/src/packlets/deprecated/invitations.js.map +1 -0
  13. package/dist/src/packlets/{services/impl → deprecated}/profile.d.ts +5 -5
  14. package/dist/src/packlets/deprecated/profile.d.ts.map +1 -0
  15. package/dist/src/packlets/{services/impl → deprecated}/profile.js +10 -10
  16. package/dist/src/packlets/deprecated/profile.js.map +1 -0
  17. package/dist/src/packlets/deprecated/space.d.ts +23 -0
  18. package/dist/src/packlets/deprecated/space.d.ts.map +1 -0
  19. package/dist/src/packlets/deprecated/space.js +206 -0
  20. package/dist/src/packlets/deprecated/space.js.map +1 -0
  21. package/dist/src/packlets/{services/impl → deprecated}/system.d.ts +2 -2
  22. package/dist/src/packlets/deprecated/system.d.ts.map +1 -0
  23. package/dist/src/packlets/{services/impl → deprecated}/system.js +3 -3
  24. package/dist/src/packlets/deprecated/system.js.map +1 -0
  25. package/dist/src/packlets/deprecated/tracing.d.ts +12 -0
  26. package/dist/src/packlets/deprecated/tracing.d.ts.map +1 -0
  27. package/dist/src/packlets/{services/impl → deprecated}/tracing.js +3 -3
  28. package/dist/src/packlets/deprecated/tracing.js.map +1 -0
  29. package/dist/src/packlets/{services/impl → devtools}/devtools.d.ts +11 -7
  30. package/dist/src/packlets/devtools/devtools.d.ts.map +1 -0
  31. package/dist/src/packlets/devtools/devtools.js +86 -0
  32. package/dist/src/packlets/devtools/devtools.js.map +1 -0
  33. package/dist/src/packlets/devtools/feeds.d.ts.map +1 -1
  34. package/dist/src/packlets/devtools/feeds.js +28 -26
  35. package/dist/src/packlets/devtools/feeds.js.map +1 -1
  36. package/dist/src/packlets/devtools/index.d.ts +1 -1
  37. package/dist/src/packlets/devtools/index.d.ts.map +1 -1
  38. package/dist/src/packlets/devtools/index.js +1 -1
  39. package/dist/src/packlets/devtools/index.js.map +1 -1
  40. package/dist/src/packlets/devtools/spaces.d.ts +2 -2
  41. package/dist/src/packlets/devtools/spaces.d.ts.map +1 -1
  42. package/dist/src/packlets/devtools/spaces.js +13 -13
  43. package/dist/src/packlets/devtools/spaces.js.map +1 -1
  44. package/dist/src/packlets/identity/devices-service-impl.d.ts +10 -0
  45. package/dist/src/packlets/identity/devices-service-impl.d.ts.map +1 -0
  46. package/dist/src/packlets/identity/devices-service-impl.js +47 -0
  47. package/dist/src/packlets/identity/devices-service-impl.js.map +1 -0
  48. package/dist/src/packlets/identity/identity-manager.test.js +7 -11
  49. package/dist/src/packlets/identity/identity-manager.test.js.map +1 -1
  50. package/dist/src/packlets/identity/identity.d.ts +2 -0
  51. package/dist/src/packlets/identity/identity.d.ts.map +1 -1
  52. package/dist/src/packlets/identity/identity.js +4 -1
  53. package/dist/src/packlets/identity/identity.js.map +1 -1
  54. package/dist/src/packlets/identity/identity.test.js +2 -3
  55. package/dist/src/packlets/identity/identity.test.js.map +1 -1
  56. package/dist/src/packlets/invitations/encoder.d.ts +9 -0
  57. package/dist/src/packlets/invitations/encoder.d.ts.map +1 -0
  58. package/dist/src/packlets/invitations/encoder.js +27 -0
  59. package/dist/src/packlets/invitations/encoder.js.map +1 -0
  60. package/dist/src/packlets/invitations/encoder.test.d.ts +2 -0
  61. package/dist/src/packlets/invitations/encoder.test.d.ts.map +1 -0
  62. package/dist/src/packlets/invitations/encoder.test.js +19 -0
  63. package/dist/src/packlets/invitations/encoder.test.js.map +1 -0
  64. package/dist/src/packlets/invitations/halo-invitations.d.ts +3 -3
  65. package/dist/src/packlets/invitations/halo-invitations.d.ts.map +1 -1
  66. package/dist/src/packlets/invitations/halo-invitations.js +14 -10
  67. package/dist/src/packlets/invitations/halo-invitations.js.map +1 -1
  68. package/dist/src/packlets/invitations/halo-invitations.test.d.ts +2 -0
  69. package/dist/src/packlets/invitations/halo-invitations.test.d.ts.map +1 -0
  70. package/dist/src/packlets/{services/testing/halo.test.js → invitations/halo-invitations.test.js} +6 -6
  71. package/dist/src/packlets/invitations/halo-invitations.test.js.map +1 -0
  72. package/dist/src/packlets/invitations/index.d.ts +6 -3
  73. package/dist/src/packlets/invitations/index.d.ts.map +1 -1
  74. package/dist/src/packlets/invitations/index.js +6 -3
  75. package/dist/src/packlets/invitations/index.js.map +1 -1
  76. package/dist/src/packlets/invitations/invitations-proxy.d.ts +14 -0
  77. package/dist/src/packlets/invitations/invitations-proxy.d.ts.map +1 -0
  78. package/dist/src/packlets/invitations/invitations-proxy.js +126 -0
  79. package/dist/src/packlets/invitations/invitations-proxy.js.map +1 -0
  80. package/dist/src/packlets/invitations/invitations.d.ts +90 -0
  81. package/dist/src/packlets/invitations/invitations.d.ts.map +1 -0
  82. package/dist/src/packlets/invitations/invitations.js +55 -0
  83. package/dist/src/packlets/invitations/invitations.js.map +1 -0
  84. package/dist/src/packlets/invitations/space-invitations-handler.d.ts +24 -0
  85. package/dist/src/packlets/invitations/space-invitations-handler.d.ts.map +1 -0
  86. package/dist/src/packlets/invitations/space-invitations-handler.js +232 -0
  87. package/dist/src/packlets/invitations/space-invitations-handler.js.map +1 -0
  88. package/dist/src/packlets/invitations/space-invitations-handler.test.d.ts +2 -0
  89. package/dist/src/packlets/invitations/space-invitations-handler.test.d.ts.map +1 -0
  90. package/dist/src/packlets/invitations/space-invitations-handler.test.js +131 -0
  91. package/dist/src/packlets/invitations/space-invitations-handler.test.js.map +1 -0
  92. package/dist/src/packlets/invitations/space-invitations-proxy.d.ts +11 -0
  93. package/dist/src/packlets/invitations/space-invitations-proxy.d.ts.map +1 -0
  94. package/dist/src/packlets/invitations/space-invitations-proxy.js +17 -0
  95. package/dist/src/packlets/invitations/space-invitations-proxy.js.map +1 -0
  96. package/dist/src/packlets/invitations/space-invitations-service.d.ts +22 -0
  97. package/dist/src/packlets/invitations/space-invitations-service.d.ts.map +1 -0
  98. package/dist/src/packlets/invitations/space-invitations-service.js +189 -0
  99. package/dist/src/packlets/invitations/space-invitations-service.js.map +1 -0
  100. package/dist/src/packlets/invitations/space-invitations-service.test.d.ts +2 -0
  101. package/dist/src/packlets/invitations/space-invitations-service.test.d.ts.map +1 -0
  102. package/dist/src/packlets/invitations/space-invitations-service.test.js +100 -0
  103. package/dist/src/packlets/invitations/space-invitations-service.test.js.map +1 -0
  104. package/dist/src/packlets/services/iframe-service-proxy.d.ts +23 -0
  105. package/dist/src/packlets/services/iframe-service-proxy.d.ts.map +1 -0
  106. package/dist/src/packlets/services/iframe-service-proxy.js +53 -0
  107. package/dist/src/packlets/services/iframe-service-proxy.js.map +1 -0
  108. package/dist/src/packlets/services/index.d.ts +3 -2
  109. package/dist/src/packlets/services/index.d.ts.map +1 -1
  110. package/dist/src/packlets/services/index.js +3 -2
  111. package/dist/src/packlets/services/index.js.map +1 -1
  112. package/dist/src/packlets/services/service-context.d.ts +4 -7
  113. package/dist/src/packlets/services/service-context.d.ts.map +1 -1
  114. package/dist/src/packlets/services/service-context.js +9 -25
  115. package/dist/src/packlets/services/service-context.js.map +1 -1
  116. package/dist/src/packlets/services/service-definitions.d.ts +30 -0
  117. package/dist/src/packlets/services/service-definitions.d.ts.map +1 -0
  118. package/dist/src/packlets/services/{services.js → service-definitions.js} +9 -5
  119. package/dist/src/packlets/services/service-definitions.js.map +1 -0
  120. package/dist/src/packlets/services/service-host.d.ts +9 -12
  121. package/dist/src/packlets/services/service-host.d.ts.map +1 -1
  122. package/dist/src/packlets/services/service-host.js +55 -54
  123. package/dist/src/packlets/services/service-host.js.map +1 -1
  124. package/dist/src/packlets/services/service-host.test.js +7 -17
  125. package/dist/src/packlets/services/service-host.test.js.map +1 -1
  126. package/dist/src/packlets/services/service-proxy.d.ts +17 -0
  127. package/dist/src/packlets/services/service-proxy.d.ts.map +1 -0
  128. package/dist/src/packlets/services/service-proxy.js +48 -0
  129. package/dist/src/packlets/services/service-proxy.js.map +1 -0
  130. package/dist/src/packlets/services/service-registry.d.ts +12 -0
  131. package/dist/src/packlets/services/service-registry.d.ts.map +1 -0
  132. package/dist/src/packlets/services/service-registry.js +24 -0
  133. package/dist/src/packlets/services/service-registry.js.map +1 -0
  134. package/dist/src/packlets/services/service-registry.test.d.ts +2 -0
  135. package/dist/src/packlets/services/service-registry.test.d.ts.map +1 -0
  136. package/dist/src/packlets/services/service-registry.test.js +75 -0
  137. package/dist/src/packlets/services/service-registry.test.js.map +1 -0
  138. package/dist/src/packlets/services/signer.d.ts +0 -3
  139. package/dist/src/packlets/services/signer.d.ts.map +1 -1
  140. package/dist/src/packlets/spaces/index.d.ts +2 -0
  141. package/dist/src/packlets/spaces/index.d.ts.map +1 -0
  142. package/dist/src/packlets/spaces/index.js +21 -0
  143. package/dist/src/packlets/spaces/index.js.map +1 -0
  144. package/dist/src/packlets/spaces/spaces-service.d.ts +11 -0
  145. package/dist/src/packlets/spaces/spaces-service.d.ts.map +1 -0
  146. package/dist/src/packlets/spaces/spaces-service.js +22 -0
  147. package/dist/src/packlets/spaces/spaces-service.js.map +1 -0
  148. package/dist/src/packlets/storage/storage.js +1 -1
  149. package/dist/src/packlets/storage/storage.js.map +1 -1
  150. package/dist/src/packlets/testing/index.d.ts +2 -0
  151. package/dist/src/packlets/testing/index.d.ts.map +1 -0
  152. package/dist/src/packlets/testing/index.js +21 -0
  153. package/dist/src/packlets/testing/index.js.map +1 -0
  154. package/dist/src/packlets/testing/test-builder.d.ts +14 -0
  155. package/dist/src/packlets/testing/test-builder.d.ts.map +1 -0
  156. package/dist/src/packlets/testing/test-builder.js +66 -0
  157. package/dist/src/packlets/testing/test-builder.js.map +1 -0
  158. package/dist/src/packlets/vault/iframe-runtime.d.ts +19 -0
  159. package/dist/src/packlets/vault/iframe-runtime.d.ts.map +1 -0
  160. package/dist/src/packlets/vault/iframe-runtime.js +54 -0
  161. package/dist/src/packlets/vault/iframe-runtime.js.map +1 -0
  162. package/dist/src/packlets/vault/index.d.ts +4 -0
  163. package/dist/src/packlets/vault/index.d.ts.map +1 -0
  164. package/dist/src/packlets/vault/index.js +23 -0
  165. package/dist/src/packlets/vault/index.js.map +1 -0
  166. package/dist/src/packlets/vault/services.d.ts +13 -0
  167. package/dist/src/packlets/vault/services.d.ts.map +1 -0
  168. package/dist/src/packlets/vault/services.js +15 -0
  169. package/dist/src/packlets/vault/services.js.map +1 -0
  170. package/dist/src/packlets/vault/worker-runtime.d.ts +32 -0
  171. package/dist/src/packlets/vault/worker-runtime.d.ts.map +1 -0
  172. package/dist/src/packlets/vault/worker-runtime.js +94 -0
  173. package/dist/src/packlets/vault/worker-runtime.js.map +1 -0
  174. package/dist/src/packlets/vault/worker-session.d.ts +29 -0
  175. package/dist/src/packlets/vault/worker-session.d.ts.map +1 -0
  176. package/dist/src/packlets/vault/worker-session.js +84 -0
  177. package/dist/src/packlets/vault/worker-session.js.map +1 -0
  178. package/package.json +26 -26
  179. package/src/index.ts +4 -2
  180. package/src/packlets/{services/impl → deprecated}/index.ts +1 -4
  181. package/src/packlets/{invitations/common.ts → deprecated/invitations.ts} +18 -3
  182. package/src/packlets/{services/impl → deprecated}/profile.ts +13 -13
  183. package/src/packlets/deprecated/space.ts +245 -0
  184. package/src/packlets/{services/impl → deprecated}/system.ts +2 -2
  185. package/src/packlets/{services/impl → deprecated}/tracing.ts +2 -2
  186. package/src/packlets/{services/impl → devtools}/devtools.ts +33 -34
  187. package/src/packlets/devtools/feeds.ts +31 -27
  188. package/src/packlets/devtools/index.ts +1 -1
  189. package/src/packlets/devtools/spaces.ts +19 -18
  190. package/src/packlets/identity/devices-service-impl.ts +54 -0
  191. package/src/packlets/identity/identity-manager.test.ts +7 -8
  192. package/src/packlets/identity/identity.test.ts +2 -3
  193. package/src/packlets/identity/identity.ts +5 -1
  194. package/src/packlets/invitations/encoder.test.ts +22 -0
  195. package/src/packlets/invitations/encoder.ts +26 -0
  196. package/src/packlets/{services/testing/halo.test.ts → invitations/halo-invitations.test.ts} +5 -5
  197. package/src/packlets/invitations/halo-invitations.ts +12 -10
  198. package/src/packlets/invitations/index.ts +6 -3
  199. package/src/packlets/invitations/invitations-proxy.ts +157 -0
  200. package/src/packlets/invitations/invitations.ts +149 -0
  201. package/src/packlets/invitations/space-invitations-handler.test.ts +154 -0
  202. package/src/packlets/invitations/space-invitations-handler.ts +266 -0
  203. package/src/packlets/invitations/space-invitations-proxy.ts +16 -0
  204. package/src/packlets/invitations/space-invitations-service.test.ts +129 -0
  205. package/src/packlets/invitations/space-invitations-service.ts +196 -0
  206. package/src/packlets/services/iframe-service-proxy.ts +71 -0
  207. package/src/packlets/services/index.ts +3 -2
  208. package/src/packlets/services/service-context.ts +9 -31
  209. package/src/packlets/services/service-definitions.ts +54 -0
  210. package/src/packlets/services/service-host.test.ts +12 -24
  211. package/src/packlets/services/service-host.ts +64 -64
  212. package/src/packlets/services/service-proxy.ts +54 -0
  213. package/src/packlets/services/service-registry.test.ts +95 -0
  214. package/src/packlets/services/service-registry.ts +24 -0
  215. package/src/packlets/services/signer.ts +1 -3
  216. package/src/packlets/spaces/index.ts +5 -0
  217. package/src/packlets/spaces/spaces-service.ts +28 -0
  218. package/src/packlets/storage/storage.ts +1 -1
  219. package/src/packlets/testing/index.ts +5 -0
  220. package/src/packlets/testing/test-builder.ts +80 -0
  221. package/src/packlets/vault/iframe-runtime.ts +68 -0
  222. package/src/packlets/vault/index.ts +7 -0
  223. package/src/packlets/vault/services.ts +26 -0
  224. package/src/packlets/vault/worker-runtime.ts +111 -0
  225. package/src/packlets/vault/worker-session.ts +113 -0
  226. package/dist/src/packlets/devtools/devtools-host-events.d.ts +0 -5
  227. package/dist/src/packlets/devtools/devtools-host-events.d.ts.map +0 -1
  228. package/dist/src/packlets/devtools/devtools-host-events.js +0 -14
  229. package/dist/src/packlets/devtools/devtools-host-events.js.map +0 -1
  230. package/dist/src/packlets/invitations/common.d.ts.map +0 -1
  231. package/dist/src/packlets/invitations/common.js.map +0 -1
  232. package/dist/src/packlets/invitations/invitation-wrapper.d.ts +0 -36
  233. package/dist/src/packlets/invitations/invitation-wrapper.d.ts.map +0 -1
  234. package/dist/src/packlets/invitations/invitation-wrapper.js +0 -104
  235. package/dist/src/packlets/invitations/invitation-wrapper.js.map +0 -1
  236. package/dist/src/packlets/invitations/space-invitations.d.ts +0 -25
  237. package/dist/src/packlets/invitations/space-invitations.d.ts.map +0 -1
  238. package/dist/src/packlets/invitations/space-invitations.js +0 -136
  239. package/dist/src/packlets/invitations/space-invitations.js.map +0 -1
  240. package/dist/src/packlets/services/impl/devtools.d.ts.map +0 -1
  241. package/dist/src/packlets/services/impl/devtools.js +0 -77
  242. package/dist/src/packlets/services/impl/devtools.js.map +0 -1
  243. package/dist/src/packlets/services/impl/halo.d.ts +0 -20
  244. package/dist/src/packlets/services/impl/halo.d.ts.map +0 -1
  245. package/dist/src/packlets/services/impl/halo.js +0 -93
  246. package/dist/src/packlets/services/impl/halo.js.map +0 -1
  247. package/dist/src/packlets/services/impl/index.d.ts +0 -6
  248. package/dist/src/packlets/services/impl/index.d.ts.map +0 -1
  249. package/dist/src/packlets/services/impl/index.js.map +0 -1
  250. package/dist/src/packlets/services/impl/party.d.ts +0 -25
  251. package/dist/src/packlets/services/impl/party.d.ts.map +0 -1
  252. package/dist/src/packlets/services/impl/party.js +0 -265
  253. package/dist/src/packlets/services/impl/party.js.map +0 -1
  254. package/dist/src/packlets/services/impl/profile.d.ts.map +0 -1
  255. package/dist/src/packlets/services/impl/profile.js.map +0 -1
  256. package/dist/src/packlets/services/impl/system.d.ts.map +0 -1
  257. package/dist/src/packlets/services/impl/system.js.map +0 -1
  258. package/dist/src/packlets/services/impl/tracing.d.ts +0 -12
  259. package/dist/src/packlets/services/impl/tracing.d.ts.map +0 -1
  260. package/dist/src/packlets/services/impl/tracing.js.map +0 -1
  261. package/dist/src/packlets/services/service-factory.d.ts +0 -15
  262. package/dist/src/packlets/services/service-factory.d.ts.map +0 -1
  263. package/dist/src/packlets/services/service-factory.js +0 -25
  264. package/dist/src/packlets/services/service-factory.js.map +0 -1
  265. package/dist/src/packlets/services/services.d.ts +0 -19
  266. package/dist/src/packlets/services/services.d.ts.map +0 -1
  267. package/dist/src/packlets/services/services.js.map +0 -1
  268. package/dist/src/packlets/services/testing/halo.test.d.ts +0 -2
  269. package/dist/src/packlets/services/testing/halo.test.d.ts.map +0 -1
  270. package/dist/src/packlets/services/testing/halo.test.js.map +0 -1
  271. package/dist/src/packlets/services/testing/spaces.test.d.ts +0 -2
  272. package/dist/src/packlets/services/testing/spaces.test.d.ts.map +0 -1
  273. package/dist/src/packlets/services/testing/spaces.test.js +0 -68
  274. package/dist/src/packlets/services/testing/spaces.test.js.map +0 -1
  275. package/dist/src/packlets/services/testing/testing.d.ts +0 -8
  276. package/dist/src/packlets/services/testing/testing.d.ts.map +0 -1
  277. package/dist/src/packlets/services/testing/testing.js +0 -23
  278. package/dist/src/packlets/services/testing/testing.js.map +0 -1
  279. package/src/packlets/devtools/devtools-host-events.ts +0 -8
  280. package/src/packlets/invitations/invitation-wrapper.ts +0 -140
  281. package/src/packlets/invitations/space-invitations.ts +0 -159
  282. package/src/packlets/services/impl/halo.ts +0 -107
  283. package/src/packlets/services/impl/party.ts +0 -305
  284. package/src/packlets/services/service-factory.ts +0 -35
  285. package/src/packlets/services/services.ts +0 -39
  286. package/src/packlets/services/testing/spaces.test.ts +0 -87
  287. package/src/packlets/services/testing/testing.ts +0 -28
@@ -0,0 +1,189 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2022 DXOS.org
4
+ //
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.SpaceInvitationsServiceImpl = void 0;
10
+ const assert_1 = __importDefault(require("assert"));
11
+ const codec_protobuf_1 = require("@dxos/codec-protobuf");
12
+ const log_1 = require("@dxos/log");
13
+ const services_1 = require("@dxos/protocols/proto/dxos/client/services");
14
+ /**
15
+ * Adapts invitation service observable to client/service stream.
16
+ */
17
+ class SpaceInvitationsServiceImpl {
18
+ // prettier-ignore
19
+ constructor(_identityManager, _getSpaceManager, _getSpaceInvitations) {
20
+ this._identityManager = _identityManager;
21
+ this._getSpaceManager = _getSpaceManager;
22
+ this._getSpaceInvitations = _getSpaceInvitations;
23
+ this._createInvitations = new Map();
24
+ this._acceptInvitations = new Map();
25
+ }
26
+ createInvitation(invitation) {
27
+ return new codec_protobuf_1.Stream(({ next, close }) => {
28
+ var _a;
29
+ const spaceManager = this._getSpaceManager();
30
+ const spaceInvitations = this._getSpaceInvitations();
31
+ (0, assert_1.default)(invitation.spaceKey);
32
+ (0, log_1.log)('stream opened', {
33
+ host: (_a = this._identityManager.identity) === null || _a === void 0 ? void 0 : _a.deviceKey,
34
+ spaceKey: invitation.spaceKey
35
+ }, { file: "packages/sdk/client-services/src/packlets/invitations/space-invitations-service.ts", line: 38 });
36
+ const space = spaceManager.spaces.get(invitation.spaceKey);
37
+ (0, assert_1.default)(space);
38
+ let invitationId;
39
+ const { type } = invitation;
40
+ const observable = spaceInvitations.createInvitation(space, { type });
41
+ observable.subscribe({
42
+ onConnecting: (invitation) => {
43
+ (0, assert_1.default)(invitation.invitationId);
44
+ invitationId = invitation.invitationId;
45
+ this._createInvitations.set(invitation.invitationId, observable);
46
+ invitation.state = services_1.Invitation.State.CONNECTING;
47
+ next(invitation);
48
+ },
49
+ onConnected: (invitation) => {
50
+ (0, assert_1.default)(invitation.invitationId);
51
+ invitation.state = services_1.Invitation.State.CONNECTED;
52
+ next(invitation);
53
+ },
54
+ onAuthenticating: (invitation) => {
55
+ (0, assert_1.default)(invitation.invitationId);
56
+ invitation.state = services_1.Invitation.State.AUTHENTICATING;
57
+ next(invitation);
58
+ },
59
+ onSuccess: (invitation) => {
60
+ (0, assert_1.default)(invitation.invitationId);
61
+ invitation.state = services_1.Invitation.State.SUCCESS;
62
+ next(invitation);
63
+ close();
64
+ },
65
+ onCancelled: () => {
66
+ (0, assert_1.default)(invitationId);
67
+ invitation.invitationId = invitationId;
68
+ invitation.state = services_1.Invitation.State.CANCELLED;
69
+ next(invitation);
70
+ close();
71
+ },
72
+ onTimeout: (err) => {
73
+ invitation.state = services_1.Invitation.State.TIMEOUT;
74
+ close(err);
75
+ },
76
+ onError: (err) => {
77
+ invitation.state = services_1.Invitation.State.ERROR;
78
+ close(err);
79
+ }
80
+ });
81
+ return (err) => {
82
+ var _a;
83
+ const context = {
84
+ guest: (_a = this._identityManager.identity) === null || _a === void 0 ? void 0 : _a.deviceKey,
85
+ spaceKey: invitation.spaceKey
86
+ };
87
+ if (err) {
88
+ log_1.log.warn('stream closed', { ...context, err }, { file: "packages/sdk/client-services/src/packlets/invitations/space-invitations-service.ts", line: 95 });
89
+ }
90
+ else {
91
+ (0, log_1.log)('stream closed', context, { file: "packages/sdk/client-services/src/packlets/invitations/space-invitations-service.ts", line: 97 });
92
+ }
93
+ this._createInvitations.delete(invitation.invitationId);
94
+ };
95
+ });
96
+ }
97
+ acceptInvitation(invitation) {
98
+ return new codec_protobuf_1.Stream(({ next, close }) => {
99
+ var _a;
100
+ const spaceInvitations = this._getSpaceInvitations();
101
+ (0, assert_1.default)(invitation.spaceKey);
102
+ (0, log_1.log)('stream opened', {
103
+ guest: (_a = this._identityManager.identity) === null || _a === void 0 ? void 0 : _a.deviceKey,
104
+ spaceKey: invitation.spaceKey
105
+ }, { file: "packages/sdk/client-services/src/packlets/invitations/space-invitations-service.ts", line: 110 });
106
+ let invitationId;
107
+ const observable = spaceInvitations.acceptInvitation(invitation);
108
+ observable.subscribe({
109
+ onConnecting: (invitation) => {
110
+ (0, assert_1.default)(invitation.invitationId);
111
+ invitationId = invitation.invitationId;
112
+ this._acceptInvitations.set(invitation.invitationId, observable);
113
+ invitation.state = services_1.Invitation.State.CONNECTING;
114
+ next(invitation);
115
+ },
116
+ onConnected: (invitation) => {
117
+ (0, assert_1.default)(invitation.invitationId);
118
+ invitation.state = services_1.Invitation.State.CONNECTED;
119
+ next(invitation);
120
+ },
121
+ onAuthenticating: (invitation) => {
122
+ (0, assert_1.default)(invitation.invitationId);
123
+ invitation.state = services_1.Invitation.State.AUTHENTICATING;
124
+ next(invitation);
125
+ },
126
+ onSuccess: (invitation) => {
127
+ (0, assert_1.default)(invitation.spaceKey);
128
+ invitation.state = services_1.Invitation.State.SUCCESS;
129
+ next(invitation);
130
+ close();
131
+ },
132
+ onCancelled: () => {
133
+ (0, assert_1.default)(invitationId);
134
+ invitation.invitationId = invitationId;
135
+ invitation.state = services_1.Invitation.State.CANCELLED;
136
+ next(invitation);
137
+ close();
138
+ },
139
+ onTimeout: (err) => {
140
+ invitation.state = services_1.Invitation.State.TIMEOUT;
141
+ close(err);
142
+ },
143
+ onError: (err) => {
144
+ invitation.state = services_1.Invitation.State.ERROR;
145
+ close(err);
146
+ }
147
+ });
148
+ return (err) => {
149
+ var _a;
150
+ const context = {
151
+ guest: (_a = this._identityManager.identity) === null || _a === void 0 ? void 0 : _a.deviceKey,
152
+ spaceKey: invitation.spaceKey
153
+ };
154
+ if (err) {
155
+ log_1.log.warn('stream closed', { ...context, err }, { file: "packages/sdk/client-services/src/packlets/invitations/space-invitations-service.ts", line: 164 });
156
+ }
157
+ else {
158
+ (0, log_1.log)('stream closed', context, { file: "packages/sdk/client-services/src/packlets/invitations/space-invitations-service.ts", line: 166 });
159
+ }
160
+ this._acceptInvitations.delete(invitation.invitationId);
161
+ };
162
+ });
163
+ }
164
+ async authenticate({ invitationId, authenticationCode }) {
165
+ (0, log_1.log)('authenticating...', {}, { file: "packages/sdk/client-services/src/packlets/invitations/space-invitations-service.ts", line: 175 });
166
+ (0, assert_1.default)(invitationId);
167
+ const observable = this._acceptInvitations.get(invitationId);
168
+ if (!observable) {
169
+ log_1.log.warn('invalid invitation', { invitationId }, { file: "packages/sdk/client-services/src/packlets/invitations/space-invitations-service.ts", line: 179 });
170
+ }
171
+ else {
172
+ await observable.authenticate(authenticationCode);
173
+ }
174
+ }
175
+ async cancelInvitation(invitation) {
176
+ var _a;
177
+ (0, log_1.log)('cancelling...', {}, { file: "packages/sdk/client-services/src/packlets/invitations/space-invitations-service.ts", line: 186 });
178
+ (0, assert_1.default)(invitation.invitationId);
179
+ const observable = (_a = this._createInvitations.get(invitation.invitationId)) !== null && _a !== void 0 ? _a : this._acceptInvitations.get(invitation.invitationId);
180
+ if (!observable) {
181
+ log_1.log.warn('invalid invitation', { invitationId: invitation.invitationId }, { file: "packages/sdk/client-services/src/packlets/invitations/space-invitations-service.ts", line: 191 });
182
+ }
183
+ else {
184
+ await (observable === null || observable === void 0 ? void 0 : observable.cancel());
185
+ }
186
+ }
187
+ }
188
+ exports.SpaceInvitationsServiceImpl = SpaceInvitationsServiceImpl;
189
+ //# sourceMappingURL=space-invitations-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"space-invitations-service.js","sourceRoot":"","sources":["../../../../src/packlets/invitations/space-invitations-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=space-invitations-service.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"space-invitations-service.test.d.ts","sourceRoot":"","sources":["../../../../src/packlets/invitations/space-invitations-service.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2022 DXOS.org
4
+ //
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const assert_1 = __importDefault(require("assert"));
10
+ const chai_1 = require("chai");
11
+ const async_1 = require("@dxos/async");
12
+ const debug_1 = require("@dxos/debug");
13
+ const services_1 = require("@dxos/protocols/proto/dxos/client/services");
14
+ const testutils_1 = require("@dxos/testutils");
15
+ const testing_1 = require("../testing");
16
+ const space_invitations_proxy_1 = require("./space-invitations-proxy");
17
+ const space_invitations_service_1 = require("./space-invitations-service");
18
+ const closeAfterTest = async (peer) => {
19
+ (0, testutils_1.afterTest)(() => peer.close());
20
+ return peer;
21
+ };
22
+ describe('services/space-invitation-service', function () {
23
+ it('creates space and invites peer', async function () {
24
+ const [host, guest] = await (0, async_1.asyncChain)([testing_1.createIdentity, closeAfterTest])((0, testing_1.createPeers)(2));
25
+ (0, assert_1.default)(host.spaceManager);
26
+ (0, assert_1.default)(host.spaceInvitations);
27
+ const service1 = new space_invitations_service_1.SpaceInvitationsServiceImpl(host.identityManager, () => host.spaceManager, () => host.spaceInvitations);
28
+ (0, assert_1.default)(guest.spaceManager);
29
+ (0, assert_1.default)(guest.spaceInvitations);
30
+ const service2 = new space_invitations_service_1.SpaceInvitationsServiceImpl(guest.identityManager, () => guest.spaceManager, () => guest.spaceInvitations);
31
+ const space1 = await host.spaceManager.createSpace();
32
+ const success1 = new async_1.Trigger();
33
+ const success2 = new async_1.Trigger();
34
+ const authenticationCode = new async_1.Trigger();
35
+ {
36
+ const proxy1 = new space_invitations_proxy_1.SpaceInvitationsProxy(service1);
37
+ const observable1 = proxy1.createInvitation(space1.key);
38
+ observable1.subscribe({
39
+ onConnecting: (invitation) => {
40
+ const proxy2 = new space_invitations_proxy_1.SpaceInvitationsProxy(service2);
41
+ const observable2 = proxy2.acceptInvitation(invitation);
42
+ observable2.subscribe({
43
+ onAuthenticating: async (invitation2) => {
44
+ await observable2.authenticate(await authenticationCode.wait());
45
+ },
46
+ onSuccess: (invitation) => {
47
+ success2.wake(invitation);
48
+ },
49
+ onError: (err) => (0, debug_1.raise)(new Error(err.message))
50
+ });
51
+ },
52
+ onConnected: (invitation) => {
53
+ (0, assert_1.default)(invitation.authenticationCode);
54
+ authenticationCode.wake(invitation.authenticationCode);
55
+ },
56
+ onSuccess: (invitation) => {
57
+ success1.wake(invitation);
58
+ },
59
+ onCancelled: () => (0, debug_1.raise)(new Error()),
60
+ onTimeout: (err) => (0, debug_1.raise)(new Error(err.message)),
61
+ onError: (err) => (0, debug_1.raise)(new Error(err.message))
62
+ });
63
+ }
64
+ const [invitation1, invitation2] = await Promise.all([success1.wait(), success2.wait()]);
65
+ (0, chai_1.expect)(invitation1.spaceKey).to.deep.eq(invitation2.spaceKey);
66
+ (0, chai_1.expect)(invitation1.state).to.eq(services_1.Invitation.State.SUCCESS);
67
+ });
68
+ it('creates space and cancels invitation', async function () {
69
+ const [host, guest] = await (0, async_1.asyncChain)([testing_1.createIdentity, closeAfterTest])((0, testing_1.createPeers)(2));
70
+ (0, assert_1.default)(host.spaceManager);
71
+ (0, assert_1.default)(host.spaceInvitations);
72
+ const service1 = new space_invitations_service_1.SpaceInvitationsServiceImpl(host.identityManager, () => host.spaceManager, () => host.spaceInvitations);
73
+ (0, assert_1.default)(guest.spaceManager);
74
+ (0, assert_1.default)(guest.spaceInvitations);
75
+ const service2 = new space_invitations_service_1.SpaceInvitationsServiceImpl(guest.identityManager, () => guest.spaceManager, () => guest.spaceInvitations);
76
+ const space1 = await host.spaceManager.createSpace();
77
+ const cancelled = new async_1.Trigger();
78
+ {
79
+ const proxy = new space_invitations_proxy_1.SpaceInvitationsProxy(service1);
80
+ const observable = proxy.createInvitation(space1.key);
81
+ observable.subscribe({
82
+ onConnecting: (invitation) => {
83
+ const proxy2 = new space_invitations_proxy_1.SpaceInvitationsProxy(service2);
84
+ proxy2.acceptInvitation(invitation);
85
+ },
86
+ onConnected: (invitation) => {
87
+ void observable.cancel();
88
+ },
89
+ onCancelled: () => {
90
+ cancelled.wake();
91
+ },
92
+ onSuccess: () => (0, debug_1.raise)(new Error()),
93
+ onTimeout: (err) => (0, debug_1.raise)(new Error(err.message)),
94
+ onError: (err) => (0, debug_1.raise)(new Error(err.message))
95
+ });
96
+ }
97
+ await cancelled.wait();
98
+ });
99
+ });
100
+ //# sourceMappingURL=space-invitations-service.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"space-invitations-service.test.js","sourceRoot":"","sources":["../../../../src/packlets/invitations/space-invitations-service.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { Config, ConfigProto } from '@dxos/config';
2
+ import { ClientServicesProvider } from './service-definitions';
3
+ export declare const DEFAULT_CLIENT_ORIGIN = "https://halo.dxos.org/headless.html";
4
+ export declare const DEFAULT_CONFIG_CHANNEL = "dxos:app";
5
+ export declare type ClientIFrameServiceProxyParams = {
6
+ config: Config | ConfigProto;
7
+ channel?: string;
8
+ timeout?: number;
9
+ };
10
+ /** */
11
+ export declare class ClientIFrameServiceProxy implements ClientServicesProvider {
12
+ private _iframeId?;
13
+ private _clientServicesProxy?;
14
+ private readonly params;
15
+ constructor({ config, channel, timeout }: ClientIFrameServiceProxyParams);
16
+ get proxy(): import("@dxos/rpc").ProtoRpcPeer<import("./service-definitions").ClientServices>;
17
+ get descriptors(): import("@dxos/rpc").ServiceBundle<import("./service-definitions").ClientServices>;
18
+ get services(): import("./service-definitions").ClientServices;
19
+ open(): Promise<void>;
20
+ close(): Promise<void>;
21
+ private _getIFramePort;
22
+ }
23
+ //# sourceMappingURL=iframe-service-proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iframe-service-proxy.d.ts","sourceRoot":"","sources":["../../../../src/packlets/services/iframe-service-proxy.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAc,MAAM,cAAc,CAAC;AAK/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAI/D,eAAO,MAAM,qBAAqB,wCAAwC,CAAC;AAC3E,eAAO,MAAM,sBAAsB,aAAa,CAAC;AAEjD,oBAAY,8BAA8B,GAAG;IAC3C,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM;AACN,qBAAa,wBAAyB,YAAW,sBAAsB;IACrE,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,oBAAoB,CAAC,CAAsB;IACnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAEZ,EAAE,MAAM,EAAE,OAAgC,EAAE,OAAc,EAAE,EAAE,8BAA8B;IAKxG,IAAI,KAAK,qFAER;IAED,IAAI,WAAW,sFAEd;IAED,IAAI,QAAQ,mDAEX;IAEK,IAAI;IAOJ,KAAK;IASX,OAAO,CAAC,cAAc;CASvB"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2021 DXOS.org
4
+ //
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ClientIFrameServiceProxy = exports.DEFAULT_CONFIG_CHANNEL = exports.DEFAULT_CLIENT_ORIGIN = void 0;
7
+ const config_1 = require("@dxos/config");
8
+ const keys_1 = require("@dxos/keys");
9
+ const rpc_tunnel_1 = require("@dxos/rpc-tunnel");
10
+ const service_proxy_1 = require("./service-proxy");
11
+ // TODO(mykola): Remove copy-paste from client/config.ts
12
+ exports.DEFAULT_CLIENT_ORIGIN = 'https://halo.dxos.org/headless.html';
13
+ exports.DEFAULT_CONFIG_CHANNEL = 'dxos:app';
14
+ /** */
15
+ class ClientIFrameServiceProxy {
16
+ constructor({ config, channel = exports.DEFAULT_CONFIG_CHANNEL, timeout = 1000 }) {
17
+ this.params = { config, channel, timeout };
18
+ this._clientServicesProxy = new service_proxy_1.ClientServicesProxy(this._getIFramePort());
19
+ }
20
+ get proxy() {
21
+ return this._clientServicesProxy.proxy;
22
+ }
23
+ get descriptors() {
24
+ return this._clientServicesProxy.descriptors;
25
+ }
26
+ get services() {
27
+ return this._clientServicesProxy.services;
28
+ }
29
+ async open() {
30
+ if (!this._clientServicesProxy) {
31
+ this._clientServicesProxy = new service_proxy_1.ClientServicesProxy(this._getIFramePort());
32
+ }
33
+ return this._clientServicesProxy.open();
34
+ }
35
+ async close() {
36
+ var _a, _b;
37
+ await ((_a = this._clientServicesProxy) === null || _a === void 0 ? void 0 : _a.close());
38
+ this._clientServicesProxy = undefined;
39
+ if (this._iframeId) {
40
+ (_b = document.getElementById(this._iframeId)) === null || _b === void 0 ? void 0 : _b.remove();
41
+ this._iframeId = undefined;
42
+ }
43
+ }
44
+ _getIFramePort() {
45
+ var _a;
46
+ this._iframeId = `__DXOS_CLIENT_${keys_1.PublicKey.random().toHex()}__`;
47
+ const source = new URL((_a = (0, config_1.fromConfig)(this.params.config).get('runtime.client.remoteSource')) !== null && _a !== void 0 ? _a : exports.DEFAULT_CLIENT_ORIGIN, window.location.origin);
48
+ const iframe = (0, rpc_tunnel_1.createIFrame)(source.toString(), this._iframeId);
49
+ return (0, rpc_tunnel_1.createIFramePort)({ origin: source.origin, iframe, channel: this.params.channel });
50
+ }
51
+ }
52
+ exports.ClientIFrameServiceProxy = ClientIFrameServiceProxy;
53
+ //# sourceMappingURL=iframe-service-proxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iframe-service-proxy.js","sourceRoot":"","sources":["../../../../src/packlets/services/iframe-service-proxy.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAEF,yCAA+D;AAC/D,qCAAuC;AAEvC,iDAAkE;AAGlE,mDAAsD;AAEtD,wDAAwD;AAC3C,QAAA,qBAAqB,GAAG,qCAAqC,CAAC;AAC9D,QAAA,sBAAsB,GAAG,UAAU,CAAC;AAQjD,MAAM;AACN,MAAa,wBAAwB;IAKnC,YAAY,EAAE,MAAM,EAAE,OAAO,GAAG,8BAAsB,EAAE,OAAO,GAAG,IAAI,EAAkC;QACtG,IAAI,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAC3C,IAAI,CAAC,oBAAoB,GAAG,IAAI,mCAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,oBAAqB,CAAC,KAAK,CAAC;IAC1C,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,oBAAqB,CAAC,WAAW,CAAC;IAChD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,oBAAqB,CAAC,QAAQ,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC9B,IAAI,CAAC,oBAAoB,GAAG,IAAI,mCAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;SAC5E;QACD,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,KAAK;;QACT,MAAM,CAAA,MAAA,IAAI,CAAC,oBAAoB,0CAAE,KAAK,EAAE,CAAA,CAAC;QACzC,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;QACtC,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,MAAA,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,0CAAE,MAAM,EAAE,CAAC;YAClD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;SAC5B;IACH,CAAC;IAEO,cAAc;;QACpB,IAAI,CAAC,SAAS,GAAG,iBAAiB,gBAAS,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;QACjE,MAAM,MAAM,GAAG,IAAI,GAAG,CACpB,MAAA,IAAA,mBAAU,EAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAC,mCAAI,6BAAqB,EAC1F,MAAM,CAAC,QAAQ,CAAC,MAAM,CACvB,CAAC;QACF,MAAM,MAAM,GAAG,IAAA,yBAAY,EAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/D,OAAO,IAAA,6BAAgB,EAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3F,CAAC;CACF;AA/CD,4DA+CC"}
@@ -1,6 +1,7 @@
1
1
  export * from './service-context';
2
- export * from './service-factory';
2
+ export * from './service-definitions';
3
3
  export * from './service-host';
4
- export * from './services';
4
+ export * from './service-proxy';
5
+ export * from './service-registry';
5
6
  export * from './signer';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/packlets/services/index.ts"],"names":[],"mappings":"AAIA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/packlets/services/index.ts"],"names":[],"mappings":"AAIA,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC"}
@@ -18,8 +18,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
20
  __exportStar(require("./service-context"), exports);
21
- __exportStar(require("./service-factory"), exports);
21
+ __exportStar(require("./service-definitions"), exports);
22
22
  __exportStar(require("./service-host"), exports);
23
- __exportStar(require("./services"), exports);
23
+ __exportStar(require("./service-proxy"), exports);
24
+ __exportStar(require("./service-registry"), exports);
24
25
  __exportStar(require("./signer"), exports);
25
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/packlets/services/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,oDAAkC;AAClC,oDAAkC;AAClC,iDAA+B;AAC/B,6CAA2B;AAC3B,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/packlets/services/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,oDAAkC;AAClC,wDAAsC;AACtC,iDAA+B;AAC/B,kDAAgC;AAChC,qDAAmC;AACnC,2CAAyB"}
@@ -1,14 +1,13 @@
1
1
  import { Trigger } from '@dxos/async';
2
- import { DataService, MetadataStore, SpaceManager } from '@dxos/echo-db';
2
+ import { DataServiceSubscriptions, MetadataStore, SpaceManager } from '@dxos/echo-db';
3
3
  import { FeedStore } from '@dxos/feed-store';
4
4
  import { Keyring } from '@dxos/keyring';
5
- import { PublicKey } from '@dxos/keys';
6
5
  import { ModelFactory } from '@dxos/model-factory';
7
6
  import { NetworkManager } from '@dxos/network-manager';
8
7
  import type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
9
8
  import { Storage } from '@dxos/random-access-storage';
10
9
  import { IdentityManager } from '../identity';
11
- import { HaloInvitations, InvitationWrapper, SpaceInvitations } from '../invitations';
10
+ import { HaloInvitations, SpaceInvitationsHandler } from '../invitations';
12
11
  /**
13
12
  * Shared backend for all client services.
14
13
  */
@@ -17,20 +16,18 @@ export declare class ServiceContext {
17
16
  readonly networkManager: NetworkManager;
18
17
  readonly modelFactory: ModelFactory;
19
18
  readonly initialized: Trigger<void>;
20
- readonly dataService: DataService;
19
+ readonly dataServiceSubscriptions: DataServiceSubscriptions;
21
20
  readonly metadataStore: MetadataStore;
22
21
  readonly feedStore: FeedStore<FeedMessage>;
23
22
  readonly keyring: Keyring;
24
23
  readonly identityManager: IdentityManager;
25
24
  readonly haloInvitations: HaloInvitations;
26
25
  spaceManager?: SpaceManager;
27
- spaceInvitations?: SpaceInvitations;
26
+ spaceInvitations?: SpaceInvitationsHandler;
28
27
  constructor(storage: Storage, networkManager: NetworkManager, modelFactory: ModelFactory);
29
28
  open(): Promise<void>;
30
29
  close(): Promise<void>;
31
30
  createIdentity(): Promise<import("../identity").Identity>;
32
- createInvitation(spaceKey: PublicKey, onFinish?: () => void): Promise<InvitationWrapper>;
33
- acceptInvitation(invitationDescriptor: InvitationWrapper): Promise<import("@dxos/echo-db").Space>;
34
31
  private _initialize;
35
32
  }
36
33
  //# sourceMappingURL=service-context.d.ts.map
@@ -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;AAEtC,OAAO,EAIL,WAAW,EACX,aAAa,EACb,YAAY,EAEb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAe,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,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,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEtF;;GAEG;AAEH,qBAAa,cAAc;aAkBP,OAAO,EAAE,OAAO;aAChB,cAAc,EAAE,cAAc;aAC9B,YAAY,EAAE,YAAY;IAnB5C,SAAgB,WAAW,gBAAiB;IAG5C,SAAgB,WAAW,cAAqB;IAEhD,SAAgB,aAAa,EAAE,aAAa,CAAC;IAC7C,SAAgB,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAClD,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,eAAe,EAAE,eAAe,CAAC;IACjD,SAAgB,eAAe,EAAE,eAAe,CAAC;IAG1C,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;gBAIzB,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY;IA6BtC,IAAI;IASJ,KAAK;IASL,cAAc;IAOd,gBAAgB,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC;IASxF,gBAAgB,CAAC,oBAAoB,EAAE,iBAAiB;YAMhD,WAAW;CA4B1B"}
1
+ {"version":3,"file":"service-context.d.ts","sourceRoot":"","sources":["../../../../src/packlets/services/service-context.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAIL,wBAAwB,EACxB,aAAa,EACb,YAAY,EAEb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAe,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAE1E;;GAEG;AAEH,qBAAa,cAAc;aAeP,OAAO,EAAE,OAAO;aAChB,cAAc,EAAE,cAAc;aAC9B,YAAY,EAAE,YAAY;IAhB5C,SAAgB,WAAW,gBAAiB;IAC5C,SAAgB,wBAAwB,2BAAkC;IAC1E,SAAgB,aAAa,EAAE,aAAa,CAAC;IAC7C,SAAgB,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAClD,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,eAAe,EAAE,eAAe,CAAC;IACjD,SAAgB,eAAe,EAAE,eAAe,CAAC;IAG1C,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,gBAAgB,CAAC,EAAE,uBAAuB,CAAC;gBAIhC,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY;IA6BtC,IAAI;IASJ,KAAK;IAUL,cAAc;YAON,WAAW;CA0B1B"}
@@ -2,12 +2,8 @@
2
2
  //
3
3
  // Copyright 2022 DXOS.org
4
4
  //
5
- var __importDefault = (this && this.__importDefault) || function (mod) {
6
- return (mod && mod.__esModule) ? mod : { "default": mod };
7
- };
8
5
  Object.defineProperty(exports, "__esModule", { value: true });
9
6
  exports.ServiceContext = void 0;
10
- const node_assert_1 = __importDefault(require("node:assert"));
11
7
  const async_1 = require("@dxos/async");
12
8
  const debug_1 = require("@dxos/debug");
13
9
  const echo_db_1 = require("@dxos/echo-db");
@@ -27,8 +23,7 @@ class ServiceContext {
27
23
  this.networkManager = networkManager;
28
24
  this.modelFactory = modelFactory;
29
25
  this.initialized = new async_1.Trigger();
30
- // TODO(burdon): Factor out with other services.
31
- this.dataService = new echo_db_1.DataService();
26
+ this.dataServiceSubscriptions = new echo_db_1.DataServiceSubscriptions();
32
27
  // TODO(burdon): Move strings to constants.
33
28
  this.metadataStore = new echo_db_1.MetadataStore(storage.createDirectory('metadata'));
34
29
  this.keyring = new keyring_1.Keyring(storage.createDirectory('keyring'));
@@ -48,40 +43,29 @@ class ServiceContext {
48
43
  });
49
44
  }
50
45
  async open() {
51
- (0, log_1.log)('opening...', {}, { file: "packages/sdk/client-services/src/packlets/services/service-context.ts", line: 84 });
46
+ (0, log_1.log)('opening...', {}, { file: "packages/sdk/client-services/src/packlets/services/service-context.ts", line: 78 });
52
47
  await this.identityManager.open();
53
48
  if (this.identityManager.identity) {
54
49
  await this._initialize();
55
50
  }
56
- (0, log_1.log)('opened', {}, { file: "packages/sdk/client-services/src/packlets/services/service-context.ts", line: 89 });
51
+ (0, log_1.log)('opened', {}, { file: "packages/sdk/client-services/src/packlets/services/service-context.ts", line: 83 });
57
52
  }
58
53
  async close() {
59
54
  var _a;
60
- (0, log_1.log)('closing...', {}, { file: "packages/sdk/client-services/src/packlets/services/service-context.ts", line: 93 });
55
+ (0, log_1.log)('closing...', {}, { file: "packages/sdk/client-services/src/packlets/services/service-context.ts", line: 87 });
61
56
  await this.identityManager.close();
62
57
  await ((_a = this.spaceManager) === null || _a === void 0 ? void 0 : _a.close());
63
58
  await this.feedStore.close();
64
59
  await this.networkManager.destroy(); // TODO(burdon): Close.
65
- (0, log_1.log)('closed', {}, { file: "packages/sdk/client-services/src/packlets/services/service-context.ts", line: 98 });
60
+ this.dataServiceSubscriptions.clear();
61
+ (0, log_1.log)('closed', {}, { file: "packages/sdk/client-services/src/packlets/services/service-context.ts", line: 93 });
66
62
  }
67
63
  async createIdentity() {
68
64
  const identity = await this.identityManager.createIdentity();
69
- this.dataService.trackParty(identity.haloSpaceKey, identity.haloDatabase.createDataServiceHost());
65
+ this.dataServiceSubscriptions.registerSpace(identity.haloSpaceKey, identity.haloDatabase.createDataServiceHost());
70
66
  await this._initialize();
71
67
  return identity;
72
68
  }
73
- async createInvitation(spaceKey, onFinish) {
74
- var _a;
75
- (0, node_assert_1.default)(this.spaceManager);
76
- (0, node_assert_1.default)(this.spaceInvitations);
77
- const space = (_a = this.spaceManager.spaces.get(spaceKey)) !== null && _a !== void 0 ? _a : (0, debug_1.raise)(new Error('Space not found.'));
78
- const invitation = await this.spaceInvitations.createInvitation(space, { onFinish });
79
- return invitations_1.InvitationWrapper.fromProto(invitation);
80
- }
81
- async acceptInvitation(invitationDescriptor) {
82
- (0, node_assert_1.default)(this.spaceInvitations);
83
- return this.spaceInvitations.acceptInvitation(invitationDescriptor.toProto());
84
- }
85
69
  async _initialize() {
86
70
  var _a;
87
71
  const identity = (_a = this.identityManager.identity) !== null && _a !== void 0 ? _a : (0, debug_1.failUndefined)();
@@ -98,13 +82,13 @@ class ServiceContext {
98
82
  feedStore: this.feedStore,
99
83
  networkManager: this.networkManager,
100
84
  keyring: this.keyring,
101
- dataService: this.dataService,
85
+ dataServiceSubscriptions: this.dataServiceSubscriptions,
102
86
  modelFactory: this.modelFactory,
103
87
  signingContext
104
88
  });
105
89
  await spaceManager.open();
106
90
  this.spaceManager = spaceManager;
107
- this.spaceInvitations = new invitations_1.SpaceInvitations(this.spaceManager, this.networkManager, signingContext);
91
+ this.spaceInvitations = new invitations_1.SpaceInvitationsHandler(this.spaceManager, this.networkManager, signingContext);
108
92
  this.initialized.wake();
109
93
  }
110
94
  }
@@ -1 +1 @@
1
- {"version":3,"file":"service-context.js","sourceRoot":"","sources":["../../../../src/packlets/services/service-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service-context.js","sourceRoot":"","sources":["../../../../src/packlets/services/service-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { ProfileService, SystemService, SpaceService } from '@dxos/protocols/proto/dxos/client';
2
+ import { SpacesService, InvitationsService, DevicesService } from '@dxos/protocols/proto/dxos/client/services';
3
+ import { DevtoolsHost, TracingService } from '@dxos/protocols/proto/dxos/devtools/host';
4
+ import { DataService } from '@dxos/protocols/proto/dxos/echo/service';
5
+ import { ServiceBundle } from '@dxos/rpc';
6
+ export declare type ClientServices = {
7
+ SpaceService: SpaceService;
8
+ DataService: DataService;
9
+ ProfileService: ProfileService;
10
+ SystemService: SystemService;
11
+ DevtoolsHost: DevtoolsHost;
12
+ TracingService: TracingService;
13
+ SpacesService: SpacesService;
14
+ SpaceInvitationsService: InvitationsService;
15
+ DevicesService: DevicesService;
16
+ };
17
+ /**
18
+ * Provide access to client services definitions and service handler.
19
+ */
20
+ export interface ClientServicesProvider {
21
+ descriptors: ServiceBundle<ClientServices>;
22
+ services: ClientServices;
23
+ open(): Promise<void>;
24
+ close(): Promise<void>;
25
+ }
26
+ /**
27
+ * Services supported by host.
28
+ */
29
+ export declare const clientServiceBundle: ServiceBundle<ClientServices>;
30
+ //# sourceMappingURL=service-definitions.d.ts.map