@dxos/client-services 0.8.3 → 0.8.4-main.03d5cd7b56

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 (261) hide show
  1. package/dist/lib/browser/{chunk-LBG3C332.mjs → chunk-LWIXGESH.mjs} +3826 -5125
  2. package/dist/lib/browser/chunk-LWIXGESH.mjs.map +7 -0
  3. package/dist/lib/browser/chunk-QCWEHHJW.mjs +24 -0
  4. package/dist/lib/browser/chunk-QCWEHHJW.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-XJRPB3GA.mjs +22 -0
  6. package/dist/lib/browser/chunk-XJRPB3GA.mjs.map +7 -0
  7. package/dist/lib/browser/index.mjs +454 -148
  8. package/dist/lib/browser/index.mjs.map +4 -4
  9. package/dist/lib/browser/meta.json +1 -1
  10. package/dist/lib/browser/packlets/diagnostics/browser-diagnostics-broadcast.mjs +88 -0
  11. package/dist/lib/browser/packlets/diagnostics/browser-diagnostics-broadcast.mjs.map +7 -0
  12. package/dist/lib/browser/packlets/diagnostics/diagnostics-broadcast.mjs +11 -0
  13. package/dist/lib/browser/packlets/diagnostics/diagnostics-broadcast.mjs.map +7 -0
  14. package/dist/lib/browser/packlets/locks/browser.mjs +86 -0
  15. package/dist/lib/browser/packlets/locks/browser.mjs.map +7 -0
  16. package/dist/lib/browser/packlets/locks/node.mjs +48 -0
  17. package/dist/lib/browser/packlets/locks/node.mjs.map +7 -0
  18. package/dist/lib/browser/testing/index.mjs +40 -41
  19. package/dist/lib/browser/testing/index.mjs.map +3 -3
  20. package/dist/lib/node-esm/chunk-2DT3MZRL.mjs +22 -0
  21. package/dist/lib/node-esm/chunk-2DT3MZRL.mjs.map +7 -0
  22. package/dist/lib/node-esm/chunk-2SZHAWBN.mjs +24 -0
  23. package/dist/lib/node-esm/chunk-2SZHAWBN.mjs.map +7 -0
  24. package/dist/lib/node-esm/{chunk-SKGQLRKS.mjs → chunk-LOVO5YB5.mjs} +3226 -4393
  25. package/dist/lib/node-esm/chunk-LOVO5YB5.mjs.map +7 -0
  26. package/dist/lib/node-esm/index.mjs +454 -148
  27. package/dist/lib/node-esm/index.mjs.map +4 -4
  28. package/dist/lib/node-esm/meta.json +1 -1
  29. package/dist/lib/node-esm/packlets/diagnostics/browser-diagnostics-broadcast.mjs +88 -0
  30. package/dist/lib/node-esm/packlets/diagnostics/browser-diagnostics-broadcast.mjs.map +7 -0
  31. package/dist/lib/node-esm/packlets/diagnostics/diagnostics-broadcast.mjs +11 -0
  32. package/dist/lib/node-esm/packlets/diagnostics/diagnostics-broadcast.mjs.map +7 -0
  33. package/dist/lib/node-esm/packlets/locks/browser.mjs +86 -0
  34. package/dist/lib/node-esm/packlets/locks/browser.mjs.map +7 -0
  35. package/dist/lib/node-esm/packlets/locks/node.mjs +48 -0
  36. package/dist/lib/node-esm/packlets/locks/node.mjs.map +7 -0
  37. package/dist/lib/node-esm/testing/index.mjs +40 -41
  38. package/dist/lib/node-esm/testing/index.mjs.map +3 -3
  39. package/dist/types/src/index.d.ts +1 -0
  40. package/dist/types/src/index.d.ts.map +1 -1
  41. package/dist/types/src/packlets/agents/edge-agent-manager.d.ts +3 -2
  42. package/dist/types/src/packlets/agents/edge-agent-manager.d.ts.map +1 -1
  43. package/dist/types/src/packlets/agents/edge-agent-service.d.ts +3 -2
  44. package/dist/types/src/packlets/agents/edge-agent-service.d.ts.map +1 -1
  45. package/dist/types/src/packlets/devices/devices-service.d.ts.map +1 -1
  46. package/dist/types/src/packlets/devtools/devtools.d.ts +20 -20
  47. package/dist/types/src/packlets/devtools/devtools.d.ts.map +1 -1
  48. package/dist/types/src/packlets/devtools/feeds.d.ts +1 -1
  49. package/dist/types/src/packlets/devtools/feeds.d.ts.map +1 -1
  50. package/dist/types/src/packlets/devtools/keys.d.ts.map +1 -1
  51. package/dist/types/src/packlets/devtools/metadata.d.ts.map +1 -1
  52. package/dist/types/src/packlets/devtools/network.d.ts +1 -1
  53. package/dist/types/src/packlets/devtools/network.d.ts.map +1 -1
  54. package/dist/types/src/packlets/devtools/spaces.d.ts.map +1 -1
  55. package/dist/types/src/packlets/diagnostics/browser-diagnostics-broadcast.d.ts +1 -1
  56. package/dist/types/src/packlets/diagnostics/browser-diagnostics-broadcast.d.ts.map +1 -1
  57. package/dist/types/src/packlets/diagnostics/diagnostics-broadcast.d.ts +1 -1
  58. package/dist/types/src/packlets/diagnostics/diagnostics-broadcast.d.ts.map +1 -1
  59. package/dist/types/src/packlets/diagnostics/diagnostics-collector.d.ts.map +1 -1
  60. package/dist/types/src/packlets/diagnostics/diagnostics.d.ts +3 -4
  61. package/dist/types/src/packlets/diagnostics/diagnostics.d.ts.map +1 -1
  62. package/dist/types/src/packlets/diagnostics/index.d.ts +1 -1
  63. package/dist/types/src/packlets/diagnostics/index.d.ts.map +1 -1
  64. package/dist/types/src/packlets/identity/authenticator.d.ts +2 -2
  65. package/dist/types/src/packlets/identity/authenticator.d.ts.map +1 -1
  66. package/dist/types/src/packlets/identity/contacts-service.d.ts +1 -1
  67. package/dist/types/src/packlets/identity/contacts-service.d.ts.map +1 -1
  68. package/dist/types/src/packlets/identity/identity-manager.d.ts +7 -7
  69. package/dist/types/src/packlets/identity/identity-manager.d.ts.map +1 -1
  70. package/dist/types/src/packlets/identity/identity-recovery-manager.d.ts +8 -7
  71. package/dist/types/src/packlets/identity/identity-recovery-manager.d.ts.map +1 -1
  72. package/dist/types/src/packlets/identity/identity-service.d.ts +6 -10
  73. package/dist/types/src/packlets/identity/identity-service.d.ts.map +1 -1
  74. package/dist/types/src/packlets/identity/identity.d.ts +9 -12
  75. package/dist/types/src/packlets/identity/identity.d.ts.map +1 -1
  76. package/dist/types/src/packlets/invitations/device-invitation-protocol.d.ts +6 -5
  77. package/dist/types/src/packlets/invitations/device-invitation-protocol.d.ts.map +1 -1
  78. package/dist/types/src/packlets/invitations/edge-invitation-handler.d.ts +2 -2
  79. package/dist/types/src/packlets/invitations/edge-invitation-handler.d.ts.map +1 -1
  80. package/dist/types/src/packlets/invitations/index.d.ts +1 -1
  81. package/dist/types/src/packlets/invitations/index.d.ts.map +1 -1
  82. package/dist/types/src/packlets/invitations/invitation-guest-extenstion.d.ts.map +1 -1
  83. package/dist/types/src/packlets/invitations/invitation-host-extension.d.ts.map +1 -1
  84. package/dist/types/src/packlets/invitations/invitation-protocol.d.ts +8 -5
  85. package/dist/types/src/packlets/invitations/invitation-protocol.d.ts.map +1 -1
  86. package/dist/types/src/packlets/invitations/invitation-state.d.ts.map +1 -1
  87. package/dist/types/src/packlets/invitations/invitation-topology.d.ts.map +1 -1
  88. package/dist/types/src/packlets/invitations/invitations-handler.d.ts +4 -4
  89. package/dist/types/src/packlets/invitations/invitations-handler.d.ts.map +1 -1
  90. package/dist/types/src/packlets/invitations/invitations-manager.d.ts +3 -3
  91. package/dist/types/src/packlets/invitations/invitations-manager.d.ts.map +1 -1
  92. package/dist/types/src/packlets/invitations/invitations-service.d.ts +4 -4
  93. package/dist/types/src/packlets/invitations/invitations-service.d.ts.map +1 -1
  94. package/dist/types/src/packlets/invitations/space-invitation-protocol.d.ts +5 -4
  95. package/dist/types/src/packlets/invitations/space-invitation-protocol.d.ts.map +1 -1
  96. package/dist/types/src/packlets/invitations/utils.d.ts.map +1 -1
  97. package/dist/types/src/packlets/locks/browser.d.ts.map +1 -1
  98. package/dist/types/src/packlets/locks/index.d.ts +2 -2
  99. package/dist/types/src/packlets/locks/index.d.ts.map +1 -1
  100. package/dist/types/src/packlets/locks/node.d.ts.map +1 -1
  101. package/dist/types/src/packlets/logging/logging-service.d.ts +5 -1
  102. package/dist/types/src/packlets/logging/logging-service.d.ts.map +1 -1
  103. package/dist/types/src/packlets/network/network-service.d.ts +7 -6
  104. package/dist/types/src/packlets/network/network-service.d.ts.map +1 -1
  105. package/dist/types/src/packlets/services/client-rpc-server.d.ts +5 -5
  106. package/dist/types/src/packlets/services/client-rpc-server.d.ts.map +1 -1
  107. package/dist/types/src/packlets/services/feed-syncer.d.ts +59 -0
  108. package/dist/types/src/packlets/services/feed-syncer.d.ts.map +1 -0
  109. package/dist/types/src/packlets/services/feed-syncer.test.d.ts +2 -0
  110. package/dist/types/src/packlets/services/feed-syncer.test.d.ts.map +1 -0
  111. package/dist/types/src/packlets/services/platform.d.ts.map +1 -1
  112. package/dist/types/src/packlets/services/service-context.d.ts +14 -10
  113. package/dist/types/src/packlets/services/service-context.d.ts.map +1 -1
  114. package/dist/types/src/packlets/services/service-host.d.ts +21 -8
  115. package/dist/types/src/packlets/services/service-host.d.ts.map +1 -1
  116. package/dist/types/src/packlets/services/service-registry.d.ts.map +1 -1
  117. package/dist/types/src/packlets/services/util.d.ts.map +1 -1
  118. package/dist/types/src/packlets/space-export/archive-format.d.ts +9 -0
  119. package/dist/types/src/packlets/space-export/archive-format.d.ts.map +1 -0
  120. package/dist/types/src/packlets/space-export/index.d.ts +4 -1
  121. package/dist/types/src/packlets/space-export/index.d.ts.map +1 -1
  122. package/dist/types/src/packlets/space-export/serialized-space-reader.d.ts +23 -0
  123. package/dist/types/src/packlets/space-export/serialized-space-reader.d.ts.map +1 -0
  124. package/dist/types/src/packlets/space-export/serialized-space-writer.d.ts +36 -0
  125. package/dist/types/src/packlets/space-export/serialized-space-writer.d.ts.map +1 -0
  126. package/dist/types/src/packlets/space-export/space-archive-reader.d.ts +9 -1
  127. package/dist/types/src/packlets/space-export/space-archive-reader.d.ts.map +1 -1
  128. package/dist/types/src/packlets/space-export/space-archive-writer.d.ts +8 -2
  129. package/dist/types/src/packlets/space-export/space-archive-writer.d.ts.map +1 -1
  130. package/dist/types/src/packlets/space-export/space-archive.test.d.ts +2 -0
  131. package/dist/types/src/packlets/space-export/space-archive.test.d.ts.map +1 -0
  132. package/dist/types/src/packlets/spaces/automerge-space-state.d.ts +1 -1
  133. package/dist/types/src/packlets/spaces/automerge-space-state.d.ts.map +1 -1
  134. package/dist/types/src/packlets/spaces/data-space-manager.d.ts +29 -18
  135. package/dist/types/src/packlets/spaces/data-space-manager.d.ts.map +1 -1
  136. package/dist/types/src/packlets/spaces/data-space.d.ts +30 -13
  137. package/dist/types/src/packlets/spaces/data-space.d.ts.map +1 -1
  138. package/dist/types/src/packlets/spaces/edge-feed-replicator.d.ts +2 -2
  139. package/dist/types/src/packlets/spaces/edge-feed-replicator.d.ts.map +1 -1
  140. package/dist/types/src/packlets/spaces/epoch-migrations.d.ts.map +1 -1
  141. package/dist/types/src/packlets/spaces/genesis.d.ts +2 -1
  142. package/dist/types/src/packlets/spaces/genesis.d.ts.map +1 -1
  143. package/dist/types/src/packlets/spaces/notarization-plugin.d.ts +6 -9
  144. package/dist/types/src/packlets/spaces/notarization-plugin.d.ts.map +1 -1
  145. package/dist/types/src/packlets/spaces/spaces-service.d.ts +11 -8
  146. package/dist/types/src/packlets/spaces/spaces-service.d.ts.map +1 -1
  147. package/dist/types/src/packlets/storage/level.d.ts.map +1 -1
  148. package/dist/types/src/packlets/storage/profile-archive.d.ts.map +1 -1
  149. package/dist/types/src/packlets/storage/storage.d.ts.map +1 -1
  150. package/dist/types/src/packlets/storage/util.d.ts.map +1 -1
  151. package/dist/types/src/packlets/system/system-service.d.ts +2 -2
  152. package/dist/types/src/packlets/system/system-service.d.ts.map +1 -1
  153. package/dist/types/src/packlets/testing/credential-utils.d.ts.map +1 -1
  154. package/dist/types/src/packlets/testing/invitation-utils.d.ts +6 -3
  155. package/dist/types/src/packlets/testing/invitation-utils.d.ts.map +1 -1
  156. package/dist/types/src/packlets/testing/test-builder.d.ts +8 -7
  157. package/dist/types/src/packlets/testing/test-builder.d.ts.map +1 -1
  158. package/dist/types/src/packlets/worker/worker-runtime.d.ts +41 -4
  159. package/dist/types/src/packlets/worker/worker-runtime.d.ts.map +1 -1
  160. package/dist/types/src/packlets/worker/worker-session.d.ts +2 -4
  161. package/dist/types/src/packlets/worker/worker-session.d.ts.map +1 -1
  162. package/dist/types/src/testing/setup.d.ts.map +1 -1
  163. package/dist/types/src/version.d.ts +1 -1
  164. package/dist/types/src/version.d.ts.map +1 -1
  165. package/dist/types/tsconfig.tsbuildinfo +1 -1
  166. package/package.json +72 -55
  167. package/src/index.ts +1 -0
  168. package/src/packlets/agents/edge-agent-manager.ts +10 -7
  169. package/src/packlets/agents/edge-agent-service.ts +17 -5
  170. package/src/packlets/devices/devices-service.test.ts +3 -3
  171. package/src/packlets/devices/devices-service.ts +2 -2
  172. package/src/packlets/devtools/devtools.ts +29 -29
  173. package/src/packlets/devtools/feeds.ts +2 -2
  174. package/src/packlets/devtools/network.ts +1 -1
  175. package/src/packlets/diagnostics/browser-diagnostics-broadcast.ts +1 -1
  176. package/src/packlets/diagnostics/diagnostics-broadcast.ts +1 -1
  177. package/src/packlets/diagnostics/diagnostics-collector.ts +1 -1
  178. package/src/packlets/diagnostics/diagnostics.ts +2 -3
  179. package/src/packlets/diagnostics/index.ts +1 -1
  180. package/src/packlets/identity/authenticator.node.test.ts +1 -1
  181. package/src/packlets/identity/authenticator.ts +3 -3
  182. package/src/packlets/identity/contacts-service.ts +2 -2
  183. package/src/packlets/identity/identity-manager.test.ts +8 -8
  184. package/src/packlets/identity/identity-manager.ts +25 -24
  185. package/src/packlets/identity/identity-recovery-manager.ts +22 -18
  186. package/src/packlets/identity/identity-service.test.ts +8 -28
  187. package/src/packlets/identity/identity-service.ts +13 -80
  188. package/src/packlets/identity/identity.test.ts +11 -11
  189. package/src/packlets/identity/identity.ts +17 -39
  190. package/src/packlets/invitations/device-invitation-protocol.test.ts +4 -4
  191. package/src/packlets/invitations/device-invitation-protocol.ts +8 -6
  192. package/src/packlets/invitations/edge-invitation-handler.ts +10 -6
  193. package/src/packlets/invitations/index.ts +1 -1
  194. package/src/packlets/invitations/invitation-guest-extenstion.ts +7 -5
  195. package/src/packlets/invitations/invitation-host-extension.ts +15 -16
  196. package/src/packlets/invitations/invitation-protocol.ts +8 -5
  197. package/src/packlets/invitations/invitation-state.ts +1 -15
  198. package/src/packlets/invitations/invitations-handler.test.ts +301 -292
  199. package/src/packlets/invitations/invitations-handler.ts +77 -25
  200. package/src/packlets/invitations/invitations-manager.ts +43 -18
  201. package/src/packlets/invitations/invitations-service.ts +10 -10
  202. package/src/packlets/invitations/space-invitation-protocol.test.ts +26 -25
  203. package/src/packlets/invitations/space-invitation-protocol.ts +13 -17
  204. package/src/packlets/invitations/utils.ts +1 -1
  205. package/src/packlets/locks/browser.ts +1 -1
  206. package/src/packlets/locks/index.ts +2 -2
  207. package/src/packlets/logging/logging-service.ts +22 -17
  208. package/src/packlets/logging/logging.test.ts +1 -1
  209. package/src/packlets/network/network-service.test.ts +3 -3
  210. package/src/packlets/network/network-service.ts +12 -10
  211. package/src/packlets/services/client-rpc-server.ts +20 -17
  212. package/src/packlets/services/feed-syncer.test.ts +340 -0
  213. package/src/packlets/services/feed-syncer.ts +377 -0
  214. package/src/packlets/services/platform.ts +7 -1
  215. package/src/packlets/services/service-context.test.ts +4 -3
  216. package/src/packlets/services/service-context.ts +148 -64
  217. package/src/packlets/services/service-host.test.ts +10 -9
  218. package/src/packlets/services/service-host.ts +88 -49
  219. package/src/packlets/services/service-registry.test.ts +1 -1
  220. package/src/packlets/space-export/archive-format.ts +42 -0
  221. package/src/packlets/space-export/index.ts +4 -1
  222. package/src/packlets/space-export/serialized-space-reader.ts +111 -0
  223. package/src/packlets/space-export/serialized-space-writer.ts +252 -0
  224. package/src/packlets/space-export/space-archive-reader.ts +65 -4
  225. package/src/packlets/space-export/space-archive-writer.ts +44 -6
  226. package/src/packlets/space-export/space-archive.test.ts +461 -0
  227. package/src/packlets/space-export/tar.test.ts +1 -1
  228. package/src/packlets/spaces/automerge-space-state.ts +1 -1
  229. package/src/packlets/spaces/data-space-manager.test.ts +79 -13
  230. package/src/packlets/spaces/data-space-manager.ts +129 -125
  231. package/src/packlets/spaces/data-space.ts +65 -40
  232. package/src/packlets/spaces/edge-feed-replicator.test.ts +4 -4
  233. package/src/packlets/spaces/edge-feed-replicator.ts +13 -11
  234. package/src/packlets/spaces/epoch-migrations.ts +5 -5
  235. package/src/packlets/spaces/genesis.ts +6 -1
  236. package/src/packlets/spaces/notarization-plugin.test.ts +3 -3
  237. package/src/packlets/spaces/notarization-plugin.ts +13 -12
  238. package/src/packlets/spaces/spaces-service.test.ts +20 -12
  239. package/src/packlets/spaces/spaces-service.ts +138 -38
  240. package/src/packlets/storage/profile-archive.ts +1 -1
  241. package/src/packlets/storage/storage.ts +7 -8
  242. package/src/packlets/system/system-service.test.ts +1 -1
  243. package/src/packlets/system/system-service.ts +4 -4
  244. package/src/packlets/testing/invitation-utils.ts +11 -7
  245. package/src/packlets/testing/test-builder.ts +39 -13
  246. package/src/packlets/worker/worker-runtime.ts +189 -17
  247. package/src/packlets/worker/worker-session.ts +15 -21
  248. package/src/version.ts +1 -5
  249. package/README.yml +0 -5
  250. package/dist/lib/browser/chunk-LBG3C332.mjs.map +0 -7
  251. package/dist/lib/node/chunk-LMGLGOUU.cjs +0 -9311
  252. package/dist/lib/node/chunk-LMGLGOUU.cjs.map +0 -7
  253. package/dist/lib/node/index.cjs +0 -437
  254. package/dist/lib/node/index.cjs.map +0 -7
  255. package/dist/lib/node/meta.json +0 -1
  256. package/dist/lib/node/testing/index.cjs +0 -452
  257. package/dist/lib/node/testing/index.cjs.map +0 -7
  258. package/dist/lib/node-esm/chunk-SKGQLRKS.mjs.map +0 -7
  259. package/dist/types/src/packlets/identity/default-space-state-machine.d.ts +0 -19
  260. package/dist/types/src/packlets/identity/default-space-state-machine.d.ts.map +0 -1
  261. package/src/packlets/identity/default-space-state-machine.ts +0 -44
@@ -1,437 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var node_exports = {};
20
- __export(node_exports, {
21
- ClientRpcServer: () => import_chunk_LMGLGOUU.ClientRpcServer,
22
- ClientServicesHost: () => import_chunk_LMGLGOUU.ClientServicesHost,
23
- DataSpace: () => import_chunk_LMGLGOUU.DataSpace,
24
- DataSpaceManager: () => import_chunk_LMGLGOUU.DataSpaceManager,
25
- DeviceInvitationProtocol: () => import_chunk_LMGLGOUU.DeviceInvitationProtocol,
26
- DevtoolsHostEvents: () => import_chunk_LMGLGOUU.DevtoolsHostEvents,
27
- DevtoolsServiceImpl: () => import_chunk_LMGLGOUU.DevtoolsServiceImpl,
28
- DiagnosticsCollector: () => import_chunk_LMGLGOUU.DiagnosticsCollector,
29
- EdgeAgentManager: () => import_chunk_LMGLGOUU.EdgeAgentManager,
30
- EdgeAgentServiceImpl: () => import_chunk_LMGLGOUU.EdgeAgentServiceImpl,
31
- EdgeFeedReplicator: () => import_chunk_LMGLGOUU.EdgeFeedReplicator,
32
- Identity: () => import_chunk_LMGLGOUU.Identity,
33
- IdentityManager: () => import_chunk_LMGLGOUU.IdentityManager,
34
- IdentityServiceImpl: () => import_chunk_LMGLGOUU.IdentityServiceImpl,
35
- InvitationsHandler: () => import_chunk_LMGLGOUU.InvitationsHandler,
36
- InvitationsManager: () => import_chunk_LMGLGOUU.InvitationsManager,
37
- InvitationsServiceImpl: () => import_chunk_LMGLGOUU.InvitationsServiceImpl,
38
- Lock: () => import_chunk_LMGLGOUU.Lock,
39
- ServiceContext: () => import_chunk_LMGLGOUU.ServiceContext,
40
- ServiceRegistry: () => import_chunk_LMGLGOUU.ServiceRegistry,
41
- SpaceInvitationProtocol: () => import_chunk_LMGLGOUU.SpaceInvitationProtocol,
42
- SpacesServiceImpl: () => import_chunk_LMGLGOUU.SpacesServiceImpl,
43
- TrustedKeySetAuthVerifier: () => import_chunk_LMGLGOUU.TrustedKeySetAuthVerifier,
44
- WorkerRuntime: () => WorkerRuntime,
45
- WorkerSession: () => WorkerSession,
46
- createAdmissionKeypair: () => import_chunk_LMGLGOUU.createAdmissionKeypair,
47
- createAuthProvider: () => import_chunk_LMGLGOUU.createAuthProvider,
48
- createCollectDiagnosticsBroadcastHandler: () => import_chunk_LMGLGOUU.createCollectDiagnosticsBroadcastHandler,
49
- createCollectDiagnosticsBroadcastSender: () => import_chunk_LMGLGOUU.createCollectDiagnosticsBroadcastSender,
50
- createDiagnostics: () => import_chunk_LMGLGOUU.createDiagnostics,
51
- createLevel: () => import_chunk_LMGLGOUU.createLevel,
52
- createStorageObjects: () => import_chunk_LMGLGOUU.createStorageObjects,
53
- decodeProfileArchive: () => import_chunk_LMGLGOUU.decodeProfileArchive,
54
- encodeProfileArchive: () => import_chunk_LMGLGOUU.encodeProfileArchive,
55
- exportProfileData: () => import_chunk_LMGLGOUU.exportProfileData,
56
- getNetworkPeers: () => import_chunk_LMGLGOUU.getNetworkPeers,
57
- importProfileData: () => import_chunk_LMGLGOUU.importProfileData,
58
- isLocked: () => import_chunk_LMGLGOUU.isLocked,
59
- subscribeToFeedBlocks: () => import_chunk_LMGLGOUU.subscribeToFeedBlocks,
60
- subscribeToFeeds: () => import_chunk_LMGLGOUU.subscribeToFeeds,
61
- subscribeToNetworkStatus: () => import_chunk_LMGLGOUU.subscribeToNetworkStatus,
62
- subscribeToNetworkTopics: () => import_chunk_LMGLGOUU.subscribeToNetworkTopics,
63
- subscribeToSignal: () => import_chunk_LMGLGOUU.subscribeToSignal,
64
- subscribeToSpaces: () => import_chunk_LMGLGOUU.subscribeToSpaces,
65
- subscribeToSwarmInfo: () => import_chunk_LMGLGOUU.subscribeToSwarmInfo
66
- });
67
- module.exports = __toCommonJS(node_exports);
68
- var import_chunk_LMGLGOUU = require("./chunk-LMGLGOUU.cjs");
69
- var import_async = require("@dxos/async");
70
- var import_client_protocol = require("@dxos/client-protocol");
71
- var import_context = require("@dxos/context");
72
- var import_invariant = require("@dxos/invariant");
73
- var import_log = require("@dxos/log");
74
- var import_messaging = require("@dxos/messaging");
75
- var import_network_manager = require("@dxos/network-manager");
76
- var import_async2 = require("@dxos/async");
77
- var import_client_protocol2 = require("@dxos/client-protocol");
78
- var import_invariant2 = require("@dxos/invariant");
79
- var import_log2 = require("@dxos/log");
80
- var import_rpc = require("@dxos/rpc");
81
- var import_util = require("@dxos/util");
82
- function _ts_decorate(decorators, target, key, desc) {
83
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
84
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
85
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
86
- return c > 3 && r && Object.defineProperty(target, key, r), r;
87
- }
88
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/worker/worker-session.ts";
89
- var WorkerSession = class {
90
- constructor({ serviceHost, systemPort, appPort, shellPort, readySignal }) {
91
- this._startTrigger = new import_async2.Trigger();
92
- this.onClose = new import_util.Callback();
93
- (0, import_invariant2.invariant)(serviceHost, void 0, {
94
- F: __dxlog_file,
95
- L: 54,
96
- S: this,
97
- A: [
98
- "serviceHost",
99
- ""
100
- ]
101
- });
102
- this._serviceHost = serviceHost;
103
- const middleware = {
104
- handleCall: async (method, params, handler) => {
105
- const error = await readySignal.wait({
106
- timeout: import_client_protocol2.PROXY_CONNECTION_TIMEOUT
107
- });
108
- if (error) {
109
- throw error;
110
- }
111
- return handler(method, params);
112
- },
113
- handleStream: async (method, params, handler) => {
114
- const error = await readySignal.wait({
115
- timeout: import_client_protocol2.PROXY_CONNECTION_TIMEOUT
116
- });
117
- if (error) {
118
- throw error;
119
- }
120
- return handler(method, params);
121
- }
122
- };
123
- this._clientRpc = new import_chunk_LMGLGOUU.ClientRpcServer({
124
- serviceRegistry: this._serviceHost.serviceRegistry,
125
- port: appPort,
126
- ...middleware
127
- });
128
- this._shellClientRpc = shellPort ? new import_chunk_LMGLGOUU.ClientRpcServer({
129
- serviceRegistry: this._serviceHost.serviceRegistry,
130
- port: shellPort,
131
- ...middleware
132
- }) : void 0;
133
- this._iframeRpc = (0, import_rpc.createProtoRpcPeer)({
134
- requested: import_client_protocol2.iframeServiceBundle,
135
- exposed: import_client_protocol2.workerServiceBundle,
136
- handlers: {
137
- WorkerService: {
138
- start: async (request) => {
139
- this.origin = request.origin;
140
- this.lockKey = request.lockKey;
141
- this.observabilityGroup = request.observabilityGroup;
142
- this.signalTelemetryEnabled = request.signalTelemetryEnabled;
143
- this._startTrigger.wake();
144
- },
145
- stop: async () => {
146
- setTimeout(async () => {
147
- try {
148
- await this.close();
149
- } catch (err) {
150
- import_log2.log.catch(err, void 0, {
151
- F: __dxlog_file,
152
- L: 108,
153
- S: this,
154
- C: (f, a) => f(...a)
155
- });
156
- }
157
- });
158
- }
159
- }
160
- },
161
- port: systemPort,
162
- timeout: 1e3
163
- });
164
- this.bridgeService = this._iframeRpc.rpc.BridgeService;
165
- }
166
- async open() {
167
- import_log2.log.info("opening...", void 0, {
168
- F: __dxlog_file,
169
- L: 122,
170
- S: this,
171
- C: (f, a) => f(...a)
172
- });
173
- await Promise.all([
174
- this._clientRpc.open(),
175
- this._iframeRpc.open(),
176
- this._maybeOpenShell()
177
- ]);
178
- await this._startTrigger.wait({
179
- timeout: import_client_protocol2.PROXY_CONNECTION_TIMEOUT
180
- });
181
- if (this.lockKey) {
182
- void this._afterLockReleases(this.lockKey, () => this.close());
183
- }
184
- import_log2.log.info("opened", void 0, {
185
- F: __dxlog_file,
186
- L: 133,
187
- S: this,
188
- C: (f, a) => f(...a)
189
- });
190
- }
191
- async close() {
192
- import_log2.log.info("closing...", void 0, {
193
- F: __dxlog_file,
194
- L: 137,
195
- S: this,
196
- C: (f, a) => f(...a)
197
- });
198
- try {
199
- await this.onClose.callIfSet();
200
- } catch (err) {
201
- import_log2.log.catch(err, void 0, {
202
- F: __dxlog_file,
203
- L: 141,
204
- S: this,
205
- C: (f, a) => f(...a)
206
- });
207
- }
208
- await Promise.all([
209
- this._clientRpc.close(),
210
- this._iframeRpc.close()
211
- ]);
212
- import_log2.log.info("closed", void 0, {
213
- F: __dxlog_file,
214
- L: 145,
215
- S: this,
216
- C: (f, a) => f(...a)
217
- });
218
- }
219
- async _maybeOpenShell() {
220
- try {
221
- this._shellClientRpc && await (0, import_async2.asyncTimeout)(this._shellClientRpc.open(), 1e3);
222
- } catch {
223
- import_log2.log.info("No shell connected.", void 0, {
224
- F: __dxlog_file,
225
- L: 152,
226
- S: this,
227
- C: (f, a) => f(...a)
228
- });
229
- }
230
- }
231
- _afterLockReleases(lockKey, callback) {
232
- return navigator.locks.request(lockKey, () => {
233
- }).then(callback);
234
- }
235
- };
236
- _ts_decorate([
237
- import_log2.logInfo
238
- ], WorkerSession.prototype, "origin", void 0);
239
- _ts_decorate([
240
- import_log2.logInfo
241
- ], WorkerSession.prototype, "lockKey", void 0);
242
- var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/worker/worker-runtime.ts";
243
- var WorkerRuntime = class {
244
- constructor({ channel = import_client_protocol.DEFAULT_WORKER_BROADCAST_CHANNEL, configProvider, acquireLock, releaseLock, onStop }) {
245
- this._transportFactory = new import_network_manager.RtcTransportProxyFactory();
246
- this._ready = new import_async.Trigger();
247
- this._sessions = /* @__PURE__ */ new Set();
248
- this._signalMetadataTags = {
249
- runtime: "worker-runtime"
250
- };
251
- this._signalTelemetryEnabled = false;
252
- this._configProvider = configProvider;
253
- this._acquireLock = acquireLock;
254
- this._releaseLock = releaseLock;
255
- this._onStop = onStop;
256
- this._channel = channel;
257
- this._clientServices = new import_chunk_LMGLGOUU.ClientServicesHost({
258
- callbacks: {
259
- onReset: async () => this.stop()
260
- }
261
- });
262
- }
263
- get host() {
264
- return this._clientServices;
265
- }
266
- async start() {
267
- (0, import_log.log)("starting...", void 0, {
268
- F: __dxlog_file2,
269
- L: 84,
270
- S: this,
271
- C: (f, a) => f(...a)
272
- });
273
- try {
274
- this._broadcastChannel = new BroadcastChannel(this._channel);
275
- this._broadcastChannel.postMessage({
276
- action: "stop"
277
- });
278
- this._broadcastChannel.onmessage = async (event) => {
279
- if (event.data?.action === "stop") {
280
- await this.stop();
281
- }
282
- };
283
- await this._acquireLock();
284
- this._config = await this._configProvider();
285
- const signals = this._config.get("runtime.services.signaling");
286
- this._clientServices.initialize({
287
- config: this._config,
288
- signalManager: this._config.get("runtime.client.edgeFeatures")?.signaling ? void 0 : signals ? new import_messaging.WebsocketSignalManager(signals, () => this._signalTelemetryEnabled ? this._signalMetadataTags : {}) : new import_messaging.MemorySignalManager(new import_messaging.MemorySignalManagerContext()),
289
- transportFactory: this._transportFactory
290
- });
291
- await this._clientServices.open(new import_context.Context(void 0, {
292
- F: __dxlog_file2,
293
- L: 107
294
- }));
295
- this._ready.wake(void 0);
296
- (0, import_log.log)("started", void 0, {
297
- F: __dxlog_file2,
298
- L: 109,
299
- S: this,
300
- C: (f, a) => f(...a)
301
- });
302
- (0, import_messaging.setIdentityTags)({
303
- identityService: this._clientServices.services.IdentityService,
304
- devicesService: this._clientServices.services.DevicesService,
305
- setTag: (k, v) => {
306
- this._signalMetadataTags[k] = v;
307
- }
308
- });
309
- } catch (err) {
310
- this._ready.wake(err);
311
- import_log.log.error("starting", err, {
312
- F: __dxlog_file2,
313
- L: 119,
314
- S: this,
315
- C: (f, a) => f(...a)
316
- });
317
- }
318
- }
319
- async stop() {
320
- this._releaseLock();
321
- this._broadcastChannel?.close();
322
- this._broadcastChannel = void 0;
323
- await this._clientServices.close();
324
- await this._onStop?.();
325
- }
326
- /**
327
- * Create a new session.
328
- */
329
- async createSession({ appPort, systemPort, shellPort }) {
330
- const session = new WorkerSession({
331
- serviceHost: this._clientServices,
332
- appPort,
333
- systemPort,
334
- shellPort,
335
- readySignal: this._ready
336
- });
337
- session.onClose.set(async () => {
338
- this._sessions.delete(session);
339
- if (this._sessions.size === 0) {
340
- await this.stop();
341
- } else {
342
- this._reconnectWebrtc();
343
- }
344
- });
345
- await session.open();
346
- (0, import_invariant.invariant)(!this._signalMetadataTags.origin || this._signalMetadataTags.origin === session.origin, `worker origin changed from ${this._signalMetadataTags.origin} to ${session.origin}?`, {
347
- F: __dxlog_file2,
348
- L: 157,
349
- S: this,
350
- A: [
351
- "!this._signalMetadataTags.origin || this._signalMetadataTags.origin === session.origin",
352
- "`worker origin changed from ${this._signalMetadataTags.origin} to ${session.origin}?`"
353
- ]
354
- });
355
- if (session.observabilityGroup) {
356
- this._signalMetadataTags.group = session.observabilityGroup;
357
- }
358
- this._signalTelemetryEnabled = session.signalTelemetryEnabled ?? false;
359
- this._signalMetadataTags.origin = session.origin;
360
- this._sessions.add(session);
361
- this._reconnectWebrtc();
362
- }
363
- /**
364
- * Selects one of the existing session for WebRTC networking.
365
- */
366
- _reconnectWebrtc() {
367
- (0, import_log.log)("reconnecting webrtc...", void 0, {
368
- F: __dxlog_file2,
369
- L: 175,
370
- S: this,
371
- C: (f, a) => f(...a)
372
- });
373
- if (this._sessionForNetworking) {
374
- if (!this._sessions.has(this._sessionForNetworking)) {
375
- this._sessionForNetworking = void 0;
376
- }
377
- }
378
- if (!this._sessionForNetworking) {
379
- const selected = Array.from(this._sessions).find((session) => session.bridgeService);
380
- if (selected) {
381
- this._sessionForNetworking = selected;
382
- this._transportFactory.setBridgeService(selected.bridgeService);
383
- } else {
384
- this._transportFactory.setBridgeService(void 0);
385
- }
386
- }
387
- }
388
- };
389
- // Annotate the CommonJS export names for ESM import in node:
390
- 0 && (module.exports = {
391
- ClientRpcServer,
392
- ClientServicesHost,
393
- DataSpace,
394
- DataSpaceManager,
395
- DeviceInvitationProtocol,
396
- DevtoolsHostEvents,
397
- DevtoolsServiceImpl,
398
- DiagnosticsCollector,
399
- EdgeAgentManager,
400
- EdgeAgentServiceImpl,
401
- EdgeFeedReplicator,
402
- Identity,
403
- IdentityManager,
404
- IdentityServiceImpl,
405
- InvitationsHandler,
406
- InvitationsManager,
407
- InvitationsServiceImpl,
408
- Lock,
409
- ServiceContext,
410
- ServiceRegistry,
411
- SpaceInvitationProtocol,
412
- SpacesServiceImpl,
413
- TrustedKeySetAuthVerifier,
414
- WorkerRuntime,
415
- WorkerSession,
416
- createAdmissionKeypair,
417
- createAuthProvider,
418
- createCollectDiagnosticsBroadcastHandler,
419
- createCollectDiagnosticsBroadcastSender,
420
- createDiagnostics,
421
- createLevel,
422
- createStorageObjects,
423
- decodeProfileArchive,
424
- encodeProfileArchive,
425
- exportProfileData,
426
- getNetworkPeers,
427
- importProfileData,
428
- isLocked,
429
- subscribeToFeedBlocks,
430
- subscribeToFeeds,
431
- subscribeToNetworkStatus,
432
- subscribeToNetworkTopics,
433
- subscribeToSignal,
434
- subscribeToSpaces,
435
- subscribeToSwarmInfo
436
- });
437
- //# sourceMappingURL=index.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/packlets/worker/worker-runtime.ts", "../../../src/packlets/worker/worker-session.ts"],
4
- "sourcesContent": ["//\n// Copyright 2022 DXOS.org\n//\n\nimport { Trigger } from '@dxos/async';\nimport { DEFAULT_WORKER_BROADCAST_CHANNEL } from '@dxos/client-protocol';\nimport { type Config } from '@dxos/config';\nimport { Context } from '@dxos/context';\nimport { invariant } from '@dxos/invariant';\nimport { log } from '@dxos/log';\nimport {\n MemorySignalManager,\n MemorySignalManagerContext,\n WebsocketSignalManager,\n setIdentityTags,\n} from '@dxos/messaging';\nimport { RtcTransportProxyFactory } from '@dxos/network-manager';\nimport { type RpcPort } from '@dxos/rpc';\nimport { type MaybePromise } from '@dxos/util';\n\nimport { WorkerSession } from './worker-session';\nimport { ClientServicesHost } from '../services';\n\n// NOTE: Keep as RpcPorts to avoid dependency on @dxos/rpc-tunnel so we don't depend on browser-specific apis.\nexport type CreateSessionParams = {\n appPort: RpcPort;\n systemPort: RpcPort;\n shellPort?: RpcPort;\n};\n\nexport type WorkerRuntimeOptions = {\n channel?: string;\n configProvider: () => MaybePromise<Config>;\n acquireLock: () => Promise<void>;\n releaseLock: () => void;\n onStop?: () => Promise<void>;\n};\n\n/**\n * Runtime for the shared worker.\n * Manages connections from proxies (in tabs).\n * Tabs make requests to the `ClientServicesHost`, and provide a WebRTC gateway.\n */\nexport class WorkerRuntime {\n private readonly _configProvider: () => MaybePromise<Config>;\n private readonly _acquireLock: () => Promise<void>;\n private readonly _releaseLock: () => void;\n private readonly _onStop?: () => Promise<void>;\n private readonly _transportFactory = new RtcTransportProxyFactory();\n private readonly _ready = new Trigger<Error | undefined>();\n private readonly _sessions = new Set<WorkerSession>();\n private readonly _clientServices!: ClientServicesHost;\n private readonly _channel: string;\n private _broadcastChannel?: BroadcastChannel;\n private _sessionForNetworking?: WorkerSession; // TODO(burdon): Expose to client QueryStatusResponse.\n private _config!: Config;\n private _signalMetadataTags: any = { runtime: 'worker-runtime' };\n private _signalTelemetryEnabled: boolean = false;\n\n constructor({\n channel = DEFAULT_WORKER_BROADCAST_CHANNEL,\n configProvider,\n acquireLock,\n releaseLock,\n onStop,\n }: WorkerRuntimeOptions) {\n this._configProvider = configProvider;\n this._acquireLock = acquireLock;\n this._releaseLock = releaseLock;\n this._onStop = onStop;\n this._channel = channel;\n this._clientServices = new ClientServicesHost({\n callbacks: {\n onReset: async () => this.stop(),\n },\n });\n }\n\n get host() {\n return this._clientServices;\n }\n\n async start(): Promise<void> {\n log('starting...');\n try {\n this._broadcastChannel = new BroadcastChannel(this._channel);\n this._broadcastChannel.postMessage({ action: 'stop' });\n this._broadcastChannel.onmessage = async (event) => {\n if (event.data?.action === 'stop') {\n await this.stop();\n }\n };\n\n await this._acquireLock();\n this._config = await this._configProvider();\n const signals = this._config.get('runtime.services.signaling');\n this._clientServices.initialize({\n config: this._config,\n signalManager: this._config.get('runtime.client.edgeFeatures')?.signaling\n ? undefined\n : signals\n ? new WebsocketSignalManager(signals, () => (this._signalTelemetryEnabled ? this._signalMetadataTags : {}))\n : new MemorySignalManager(new MemorySignalManagerContext()), // TODO(dmaretskyi): Inject this context.\n transportFactory: this._transportFactory,\n });\n\n await this._clientServices.open(new Context());\n this._ready.wake(undefined);\n log('started');\n setIdentityTags({\n identityService: this._clientServices.services.IdentityService!,\n devicesService: this._clientServices.services.DevicesService!,\n setTag: (k: string, v: string) => {\n this._signalMetadataTags[k] = v;\n },\n });\n } catch (err: any) {\n this._ready.wake(err);\n log.error('starting', err);\n }\n }\n\n async stop(): Promise<void> {\n // Release the lock to notify remote clients that the worker is terminating.\n this._releaseLock();\n this._broadcastChannel?.close();\n this._broadcastChannel = undefined;\n await this._clientServices.close();\n await this._onStop?.();\n }\n\n /**\n * Create a new session.\n */\n async createSession({ appPort, systemPort, shellPort }: CreateSessionParams): Promise<void> {\n const session = new WorkerSession({\n serviceHost: this._clientServices,\n appPort,\n systemPort,\n shellPort,\n readySignal: this._ready,\n });\n\n // When tab is closed or client is destroyed.\n session.onClose.set(async () => {\n this._sessions.delete(session);\n if (this._sessions.size === 0) {\n // Terminate the worker when all sessions are closed.\n await this.stop();\n } else {\n this._reconnectWebrtc();\n }\n });\n\n await session.open();\n // A worker can only service one origin currently\n invariant(\n !this._signalMetadataTags.origin || this._signalMetadataTags.origin === session.origin,\n `worker origin changed from ${this._signalMetadataTags.origin} to ${session.origin}?`,\n );\n if (session.observabilityGroup) {\n this._signalMetadataTags.group = session.observabilityGroup;\n }\n this._signalTelemetryEnabled = session.signalTelemetryEnabled ?? false;\n this._signalMetadataTags.origin = session.origin;\n this._sessions.add(session);\n\n this._reconnectWebrtc();\n }\n\n /**\n * Selects one of the existing session for WebRTC networking.\n */\n private _reconnectWebrtc(): void {\n log('reconnecting webrtc...');\n // Check if current session is already closed.\n if (this._sessionForNetworking) {\n if (!this._sessions.has(this._sessionForNetworking)) {\n this._sessionForNetworking = undefined;\n }\n }\n\n // Select existing session.\n if (!this._sessionForNetworking) {\n const selected = Array.from(this._sessions).find((session) => session.bridgeService);\n if (selected) {\n this._sessionForNetworking = selected;\n this._transportFactory.setBridgeService(selected.bridgeService);\n } else {\n this._transportFactory.setBridgeService(undefined);\n }\n }\n }\n}\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { asyncTimeout, Trigger } from '@dxos/async';\nimport {\n iframeServiceBundle,\n type IframeServiceBundle,\n PROXY_CONNECTION_TIMEOUT,\n workerServiceBundle,\n} from '@dxos/client-protocol';\nimport { invariant } from '@dxos/invariant';\nimport { log, logInfo } from '@dxos/log';\nimport { type BridgeService } from '@dxos/protocols/proto/dxos/mesh/bridge';\nimport { createProtoRpcPeer, type ProtoRpcPeer, type RpcPort } from '@dxos/rpc';\nimport { Callback, type MaybePromise } from '@dxos/util';\n\nimport { type ClientServicesHost, ClientRpcServer, type ClientRpcServerParams } from '../services';\n\nexport type WorkerSessionParams = {\n serviceHost: ClientServicesHost;\n systemPort: RpcPort;\n appPort: RpcPort;\n // TODO(wittjosiah): Remove shellPort.\n shellPort?: RpcPort;\n readySignal: Trigger<Error | undefined>;\n};\n\n/**\n * Represents a tab connection within the worker.\n */\nexport class WorkerSession {\n private readonly _clientRpc: ClientRpcServer;\n private readonly _shellClientRpc?: ClientRpcServer;\n private readonly _iframeRpc: ProtoRpcPeer<IframeServiceBundle>;\n private readonly _startTrigger = new Trigger();\n private readonly _serviceHost: ClientServicesHost;\n\n public readonly onClose = new Callback<() => Promise<void>>();\n\n @logInfo\n public origin?: string;\n\n // TODO(nf): factor out?\n public observabilityGroup?: string;\n public signalTelemetryEnabled?: boolean;\n\n @logInfo\n public lockKey?: string;\n\n public bridgeService?: BridgeService;\n\n constructor({ serviceHost, systemPort, appPort, shellPort, readySignal }: WorkerSessionParams) {\n invariant(serviceHost);\n this._serviceHost = serviceHost;\n\n const middleware: Pick<ClientRpcServerParams, 'handleCall' | 'handleStream'> = {\n handleCall: async (method, params, handler) => {\n const error = await readySignal.wait({ timeout: PROXY_CONNECTION_TIMEOUT });\n if (error) {\n throw error;\n }\n\n return handler(method, params);\n },\n handleStream: async (method, params, handler) => {\n const error = await readySignal.wait({ timeout: PROXY_CONNECTION_TIMEOUT });\n if (error) {\n throw error;\n }\n\n return handler(method, params);\n },\n };\n\n this._clientRpc = new ClientRpcServer({\n serviceRegistry: this._serviceHost.serviceRegistry,\n port: appPort,\n ...middleware,\n });\n\n this._shellClientRpc = shellPort\n ? new ClientRpcServer({\n serviceRegistry: this._serviceHost.serviceRegistry,\n port: shellPort,\n ...middleware,\n })\n : undefined;\n\n this._iframeRpc = createProtoRpcPeer({\n requested: iframeServiceBundle,\n exposed: workerServiceBundle,\n handlers: {\n WorkerService: {\n start: async (request) => {\n this.origin = request.origin;\n this.lockKey = request.lockKey;\n this.observabilityGroup = request.observabilityGroup;\n this.signalTelemetryEnabled = request.signalTelemetryEnabled;\n this._startTrigger.wake();\n },\n\n stop: async () => {\n setTimeout(async () => {\n try {\n await this.close();\n } catch (err: any) {\n log.catch(err);\n }\n });\n },\n },\n },\n port: systemPort,\n timeout: 1_000, // With low timeout heartbeat may fail if the tab's thread is saturated.\n });\n\n this.bridgeService = this._iframeRpc.rpc.BridgeService;\n }\n\n async open(): Promise<void> {\n log.info('opening...');\n await Promise.all([this._clientRpc.open(), this._iframeRpc.open(), this._maybeOpenShell()]);\n\n // Wait until the worker's RPC service has started.\n await this._startTrigger.wait({ timeout: PROXY_CONNECTION_TIMEOUT });\n\n // TODO(burdon): Comment required.\n if (this.lockKey) {\n void this._afterLockReleases(this.lockKey, () => this.close());\n }\n\n log.info('opened');\n }\n\n async close(): Promise<void> {\n log.info('closing...');\n try {\n await this.onClose.callIfSet();\n } catch (err: any) {\n log.catch(err);\n }\n\n await Promise.all([this._clientRpc.close(), this._iframeRpc.close()]);\n log.info('closed');\n }\n\n private async _maybeOpenShell(): Promise<void> {\n try {\n this._shellClientRpc && (await asyncTimeout(this._shellClientRpc.open(), 1_000));\n } catch {\n log.info('No shell connected.');\n }\n }\n\n private _afterLockReleases(lockKey: string, callback: () => MaybePromise<void>): Promise<void> {\n return navigator.locks\n .request(lockKey, () => {\n // No-op.\n })\n .then(callback);\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["import_async", "import_client_protocol", "import_invariant", "import_log", "WorkerSession", "serviceHost", "systemPort", "appPort", "shellPort", "readySignal", "_startTrigger", "Trigger", "onClose", "Callback", "invariant", "_serviceHost", "middleware", "handleCall", "method", "params", "handler", "error", "wait", "timeout", "PROXY_CONNECTION_TIMEOUT", "handleStream", "_clientRpc", "ClientRpcServer", "serviceRegistry", "port", "_shellClientRpc", "undefined", "_iframeRpc", "createProtoRpcPeer", "requested", "iframeServiceBundle", "exposed", "workerServiceBundle", "handlers", "WorkerService", "start", "request", "origin", "lockKey", "observabilityGroup", "signalTelemetryEnabled", "wake", "stop", "setTimeout", "close", "err", "log", "catch", "bridgeService", "rpc", "BridgeService", "open", "info", "Promise", "all", "_maybeOpenShell", "_afterLockReleases", "callIfSet", "asyncTimeout", "callback", "navigator", "locks", "then", "WorkerRuntime", "channel", "DEFAULT_WORKER_BROADCAST_CHANNEL", "configProvider", "acquireLock", "releaseLock", "onStop", "_transportFactory", "RtcTransportProxyFactory", "_ready", "_sessions", "Set", "_signalMetadataTags", "runtime", "_signalTelemetryEnabled", "_configProvider", "_acquireLock", "_releaseLock", "_onStop", "_channel", "_clientServices", "ClientServicesHost", "callbacks", "onReset", "host", "_broadcastChannel", "BroadcastChannel", "postMessage", "action", "onmessage", "event", "data", "_config", "signals", "get", "initialize", "config", "signalManager", "signaling", "WebsocketSignalManager", "MemorySignalManager", "MemorySignalManagerContext", "transportFactory", "Context", "setIdentityTags", "identityService", "services", "IdentityService", "devicesService", "DevicesService", "setTag", "k", "v", "createSession", "session", "set", "delete", "size", "_reconnectWebrtc", "group", "add", "_sessionForNetworking", "has", "selected", "Array", "from", "find", "setBridgeService"]
7
- }