@dxos/react-client 0.8.2-staging.7ac8446 → 0.8.2

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 (308) hide show
  1. package/dist/lib/browser/echo/index.mjs +124 -62
  2. package/dist/lib/browser/echo/index.mjs.map +4 -4
  3. package/dist/lib/browser/halo/index.mjs.map +3 -3
  4. package/dist/lib/browser/meta.json +1 -1
  5. package/dist/lib/node/echo/index.cjs +121 -59
  6. package/dist/lib/node/echo/index.cjs.map +4 -4
  7. package/dist/lib/node/halo/index.cjs.map +3 -3
  8. package/dist/lib/node/meta.json +1 -1
  9. package/dist/lib/node-esm/echo/index.mjs +124 -62
  10. package/dist/lib/node-esm/echo/index.mjs.map +4 -4
  11. package/dist/lib/node-esm/halo/index.mjs.map +3 -3
  12. package/dist/lib/node-esm/meta.json +1 -1
  13. package/dist/types/src/banner.d.ts.map +1 -1
  14. package/dist/types/src/client/AgentHostingProvider.d.ts.map +1 -1
  15. package/dist/types/src/client/useClientStatus.d.ts.map +1 -1
  16. package/dist/types/src/devtools/useStream.d.ts.map +1 -1
  17. package/dist/types/src/echo/index.d.ts +2 -1
  18. package/dist/types/src/echo/index.d.ts.map +1 -1
  19. package/dist/types/src/echo/useMembers.d.ts.map +1 -1
  20. package/dist/types/src/echo/useQuery.d.ts +7 -2
  21. package/dist/types/src/echo/useQuery.d.ts.map +1 -1
  22. package/dist/types/src/echo/useQueue.d.ts +2 -2
  23. package/dist/types/src/echo/useQueue.d.ts.map +1 -1
  24. package/dist/types/src/echo/useSchema.d.ts +2 -2
  25. package/dist/types/src/echo/useSchema.d.ts.map +1 -1
  26. package/dist/types/src/echo/useSpaceInvitations.d.ts.map +1 -1
  27. package/dist/types/src/echo/useSpaces.d.ts.map +1 -1
  28. package/dist/types/src/echo/useSubscription.d.ts.map +1 -1
  29. package/dist/types/src/echo/useSyncState.d.ts +10 -0
  30. package/dist/types/src/echo/useSyncState.d.ts.map +1 -0
  31. package/dist/types/src/halo/useHaloInvitations.d.ts.map +1 -1
  32. package/dist/types/src/halo/useKeyStore.d.ts.map +1 -1
  33. package/dist/types/src/invitations/useInvitationStatus.d.ts.map +1 -1
  34. package/dist/types/src/testing/ClientRepeater.d.ts.map +1 -1
  35. package/dist/types/src/testing/util.d.ts.map +1 -1
  36. package/dist/types/src/testing/withClientProvider.d.ts.map +1 -1
  37. package/dist/types/tsconfig.tsbuildinfo +1 -1
  38. package/package.json +28 -23
  39. package/project.json +2 -1
  40. package/src/client/useConfig.test.tsx +4 -4
  41. package/src/echo/index.ts +2 -1
  42. package/src/echo/useQuery.ts +28 -29
  43. package/src/echo/useQueue.ts +3 -2
  44. package/src/echo/useSchema.ts +4 -5
  45. package/src/echo/useSyncState.ts +78 -0
  46. package/src/halo/useKeyStore.ts +3 -3
  47. package/tsconfig.json +1 -59
  48. package/typedoc/.nojekyll +1 -0
  49. package/typedoc/assets/hierarchy.js +1 -0
  50. package/typedoc/assets/highlight.css +99 -0
  51. package/typedoc/assets/icons.js +18 -0
  52. package/typedoc/assets/icons.svg +1 -0
  53. package/typedoc/assets/main.js +60 -0
  54. package/typedoc/assets/navigation.js +1 -0
  55. package/typedoc/assets/search.js +1 -0
  56. package/typedoc/assets/style.css +1640 -0
  57. package/typedoc/classes/echo.Hypergraph.html +21 -0
  58. package/typedoc/classes/echo.PropertiesType.html +19 -0
  59. package/typedoc/classes/echo.QueryResult.html +18 -0
  60. package/typedoc/classes/halo.KeyStore.html +6 -0
  61. package/typedoc/classes/index.AgentClientServiceProvider.html +10 -0
  62. package/typedoc/classes/index.AgentManagerClient.html +22 -0
  63. package/typedoc/classes/index.AlreadyJoinedError.html +15 -0
  64. package/typedoc/classes/index.ApiError.html +16 -0
  65. package/typedoc/classes/index.CancelledError.html +16 -0
  66. package/typedoc/classes/index.Client.html +51 -0
  67. package/typedoc/classes/index.ClientServicesProxy.html +12 -0
  68. package/typedoc/classes/index.Config.html +17 -0
  69. package/typedoc/classes/index.DataCorruptionError.html +16 -0
  70. package/typedoc/classes/index.DatabaseError.html +15 -0
  71. package/typedoc/classes/index.EntityNotFoundError.html +15 -0
  72. package/typedoc/classes/index.FakeAgentHostingProvider.html +7 -0
  73. package/typedoc/classes/index.IFrameManager.html +6 -0
  74. package/typedoc/classes/index.IdentityNotInitializedError.html +15 -0
  75. package/typedoc/classes/index.InvalidConfigError.html +16 -0
  76. package/typedoc/classes/index.InvalidInvitationError.html +15 -0
  77. package/typedoc/classes/index.InvalidInvitationExtensionRoleError.html +16 -0
  78. package/typedoc/classes/index.InvalidStorageVersionError.html +15 -0
  79. package/typedoc/classes/index.LocalClientServices.html +12 -0
  80. package/typedoc/classes/index.PublicKey.html +55 -0
  81. package/typedoc/classes/index.RemoteServiceConnectionError.html +15 -0
  82. package/typedoc/classes/index.RemoteServiceConnectionTimeout.html +15 -0
  83. package/typedoc/classes/index.RpcClosedError.html +15 -0
  84. package/typedoc/classes/index.RpcNotOpenError.html +15 -0
  85. package/typedoc/classes/index.SharedWorkerConnection.html +5 -0
  86. package/typedoc/classes/index.Shell.html +35 -0
  87. package/typedoc/classes/index.ShellManager.html +9 -0
  88. package/typedoc/classes/index.SystemError.html +16 -0
  89. package/typedoc/classes/index.UnknownModelError.html +15 -0
  90. package/typedoc/classes/index.WorkerClientServices.html +12 -0
  91. package/typedoc/classes/invitations.AuthenticatingInvitationObservable.html +30 -0
  92. package/typedoc/classes/invitations.CancellableInvitationObservable.html +29 -0
  93. package/typedoc/classes/invitations.InvitationEncoder.html +5 -0
  94. package/typedoc/classes/invitations.InvitationsProxy.html +12 -0
  95. package/typedoc/enums/devtools.KeyType.html +9 -0
  96. package/typedoc/enums/echo.HaloSpaceMember.Role.html +9 -0
  97. package/typedoc/enums/echo.IndexKind.Kind.html +8 -0
  98. package/typedoc/enums/echo.QueryOptions.DataLocation.html +6 -0
  99. package/typedoc/enums/echo.QueryOptions.ShowDeletedOption.html +6 -0
  100. package/typedoc/enums/echo.ResultFormat.html +10 -0
  101. package/typedoc/enums/echo.SpaceMember.PresenceState.html +5 -0
  102. package/typedoc/enums/echo.SpaceState.html +13 -0
  103. package/typedoc/enums/echo.TextKind.html +5 -0
  104. package/typedoc/enums/halo.Device.PresenceState.html +6 -0
  105. package/typedoc/enums/halo.DeviceKind.html +5 -0
  106. package/typedoc/enums/halo.DeviceType.html +9 -0
  107. package/typedoc/enums/index.ShellDisplay.html +5 -0
  108. package/typedoc/enums/index.ShellLayout.html +13 -0
  109. package/typedoc/enums/index.SystemStatus.html +5 -0
  110. package/typedoc/enums/invitations.Invitation.AuthMethod.html +6 -0
  111. package/typedoc/enums/invitations.Invitation.Kind.html +5 -0
  112. package/typedoc/enums/invitations.Invitation.State.html +13 -0
  113. package/typedoc/enums/invitations.Invitation.Type.html +6 -0
  114. package/typedoc/enums/mesh.ConnectionState.html +5 -0
  115. package/typedoc/functions/devtools.useDevtools.html +1 -0
  116. package/typedoc/functions/devtools.useStream.html +2 -0
  117. package/typedoc/functions/echo.useMembers.html +1 -0
  118. package/typedoc/functions/echo.useQueue.html +2 -0
  119. package/typedoc/functions/echo.useSchema.html +2 -0
  120. package/typedoc/functions/echo.useSpace.html +6 -0
  121. package/typedoc/functions/echo.useSpaceInvitation.html +1 -0
  122. package/typedoc/functions/echo.useSpaceInvitations.html +1 -0
  123. package/typedoc/functions/echo.useSpaceSyncState.html +2 -0
  124. package/typedoc/functions/echo.useSpaces.html +5 -0
  125. package/typedoc/functions/echo.useSubscription.html +3 -0
  126. package/typedoc/functions/echo.useSyncState.html +2 -0
  127. package/typedoc/functions/halo.useContacts.html +4 -0
  128. package/typedoc/functions/halo.useCredentials.html +1 -0
  129. package/typedoc/functions/halo.useDevices.html +1 -0
  130. package/typedoc/functions/halo.useHaloInvitation.html +1 -0
  131. package/typedoc/functions/halo.useHaloInvitations.html +1 -0
  132. package/typedoc/functions/halo.useIdentity.html +3 -0
  133. package/typedoc/functions/halo.useKeyStore.html +3 -0
  134. package/typedoc/functions/index.AgentHostingProvider.html +2 -0
  135. package/typedoc/functions/index.useAgentHostingClient.html +1 -0
  136. package/typedoc/functions/index.useClient.html +3 -0
  137. package/typedoc/functions/index.useClientStatus.html +1 -0
  138. package/typedoc/functions/index.useConfig.html +3 -0
  139. package/typedoc/functions/index.useShell.html +2 -0
  140. package/typedoc/functions/index.useShellDisplay.html +2 -0
  141. package/typedoc/functions/index.useStatus.html +1 -0
  142. package/typedoc/functions/invitations.useInvitationStatus.html +1 -0
  143. package/typedoc/functions/mesh.useNetworkStatus.html +2 -0
  144. package/typedoc/hierarchy.html +1 -0
  145. package/typedoc/index.html +23 -0
  146. package/typedoc/interfaces/devtools.DevtoolsHook.html +22 -0
  147. package/typedoc/interfaces/devtools.DevtoolsHost.html +26 -0
  148. package/typedoc/interfaces/echo.DocAccessor.html +3 -0
  149. package/typedoc/interfaces/echo.Echo.html +39 -0
  150. package/typedoc/interfaces/echo.EchoDatabase.html +25 -0
  151. package/typedoc/interfaces/echo.Expando.html +3 -0
  152. package/typedoc/interfaces/echo.Filter.html +3 -0
  153. package/typedoc/interfaces/echo.HaloSpaceMember.html +18 -0
  154. package/typedoc/interfaces/echo.IDocHandle.html +6 -0
  155. package/typedoc/interfaces/echo.IndexKind.html +9 -0
  156. package/typedoc/interfaces/echo.Query.html +34 -0
  157. package/typedoc/interfaces/echo.QueryOptions.html +39 -0
  158. package/typedoc/interfaces/echo.Queue.html +13 -0
  159. package/typedoc/interfaces/echo.Ref.html +32 -0
  160. package/typedoc/interfaces/echo.Space.html +39 -0
  161. package/typedoc/interfaces/echo.SpaceMember.html +7 -0
  162. package/typedoc/interfaces/echo.SpaceSyncState.PeerState.html +14 -0
  163. package/typedoc/interfaces/echo.SpaceSyncState.html +4 -0
  164. package/typedoc/interfaces/echo.SubscriptionHandle.html +5 -0
  165. package/typedoc/interfaces/echo.TypedObject.html +16 -0
  166. package/typedoc/interfaces/halo.Contact.html +10 -0
  167. package/typedoc/interfaces/halo.Credential.html +27 -0
  168. package/typedoc/interfaces/halo.Device.html +11 -0
  169. package/typedoc/interfaces/halo.Halo.html +16 -0
  170. package/typedoc/interfaces/halo.Identity.html +15 -0
  171. package/typedoc/interfaces/index.AgentHostingProviderClient.html +6 -0
  172. package/typedoc/interfaces/index.AppContextRequest.html +33 -0
  173. package/typedoc/interfaces/index.ClientServicesProvider.html +9 -0
  174. package/typedoc/interfaces/index.InvitationUrlRequest.html +9 -0
  175. package/typedoc/interfaces/index.LayoutRequest.html +29 -0
  176. package/typedoc/interfaces/index.ShellRuntime.html +15 -0
  177. package/typedoc/interfaces/invitations.Invitation.html +92 -0
  178. package/typedoc/interfaces/invitations.Invitations.html +5 -0
  179. package/typedoc/interfaces/mesh.GossipMessage.html +10 -0
  180. package/typedoc/interfaces/mesh.NetworkStatus.Signal.html +5 -0
  181. package/typedoc/interfaces/mesh.NetworkStatus.html +6 -0
  182. package/typedoc/media/LICENSE +8 -0
  183. package/typedoc/modules/devtools.html +1 -0
  184. package/typedoc/modules/echo.Filter.html +1 -0
  185. package/typedoc/modules/echo.HaloSpaceMember.html +1 -0
  186. package/typedoc/modules/echo.IndexKind.html +1 -0
  187. package/typedoc/modules/echo.Query.html +1 -0
  188. package/typedoc/modules/echo.QueryOptions.html +1 -0
  189. package/typedoc/modules/echo.Ref.html +2 -0
  190. package/typedoc/modules/echo.SpaceMember.html +1 -0
  191. package/typedoc/modules/echo.SpaceSyncState.html +1 -0
  192. package/typedoc/modules/echo.html +1 -0
  193. package/typedoc/modules/halo.Device.html +1 -0
  194. package/typedoc/modules/halo.html +1 -0
  195. package/typedoc/modules/index.html +1 -0
  196. package/typedoc/modules/invitations.Invitation.html +1 -0
  197. package/typedoc/modules/invitations.html +1 -0
  198. package/typedoc/modules/mesh.NetworkStatus.html +1 -0
  199. package/typedoc/modules/mesh.html +1 -0
  200. package/typedoc/modules/worker.html +1 -0
  201. package/typedoc/modules.html +1 -0
  202. package/typedoc/types/devtools.MountOptions.html +3 -0
  203. package/typedoc/types/echo.AnyLiveObject.html +2 -0
  204. package/typedoc/types/echo.Filter.And.html +1 -0
  205. package/typedoc/types/echo.Filter.Any.html +1 -0
  206. package/typedoc/types/echo.Filter.Or.html +1 -0
  207. package/typedoc/types/echo.Filter.Props.html +1 -0
  208. package/typedoc/types/echo.Filter.Type.html +1 -0
  209. package/typedoc/types/echo.Live.html +5 -0
  210. package/typedoc/types/echo.ObjectMeta.html +1 -0
  211. package/typedoc/types/echo.ObjectMigration.html +7 -0
  212. package/typedoc/types/echo.ObjectVersion.html +2 -0
  213. package/typedoc/types/echo.PeerSyncState.html +1 -0
  214. package/typedoc/types/echo.Progress.html +3 -0
  215. package/typedoc/types/echo.PropertiesTypeProps.html +1 -0
  216. package/typedoc/types/echo.Query.Any.html +1 -0
  217. package/typedoc/types/echo.Query.TextSearchOptions.html +2 -0
  218. package/typedoc/types/echo.Query.Type.html +1 -0
  219. package/typedoc/types/echo.Ref.Target.html +2 -0
  220. package/typedoc/types/echo.Selection.html +1 -0
  221. package/typedoc/types/echo.SpaceId.html +6 -0
  222. package/typedoc/types/echo.SpaceSyncStateMap.html +1 -0
  223. package/typedoc/types/echo.UseQueueOptions.html +2 -0
  224. package/typedoc/types/echo.UseSpacesParams.html +3 -0
  225. package/typedoc/types/index.AgentHostingProviderProps.html +3 -0
  226. package/typedoc/types/index.ClientContextProps.html +3 -0
  227. package/typedoc/types/index.ClientOptions.html +12 -0
  228. package/typedoc/types/index.ClientProviderProps.html +2 -0
  229. package/typedoc/types/index.ClientServices.html +15 -0
  230. package/typedoc/types/index.FromAgentOptions.html +2 -0
  231. package/typedoc/types/index.PublicKeyLike.html +2 -0
  232. package/typedoc/types/invitations.InvitationAction.html +1 -0
  233. package/typedoc/types/invitations.InvitationResult.html +5 -0
  234. package/typedoc/types/invitations.InvitationStatus.html +15 -0
  235. package/typedoc/variables/devtools.mountDevtoolsHooks.html +1 -0
  236. package/typedoc/variables/devtools.unmountDevtoolsHooks.html +1 -0
  237. package/typedoc/variables/echo.DocAccessor.html +1 -0
  238. package/typedoc/variables/echo.EchoObjectSchema.html +1 -0
  239. package/typedoc/variables/echo.Expando.html +1 -0
  240. package/typedoc/variables/echo.FQ_ID_LENGTH.html +1 -0
  241. package/typedoc/variables/echo.Filter.html +1 -0
  242. package/typedoc/variables/echo.OBJECT_ID_LENGTH.html +1 -0
  243. package/typedoc/variables/echo.ObjectVersion.html +1 -0
  244. package/typedoc/variables/echo.Query.html +1 -0
  245. package/typedoc/variables/echo.Queue.html +1 -0
  246. package/typedoc/variables/echo.ReactiveObjectSchema.html +1 -0
  247. package/typedoc/variables/echo.Ref.html +2 -0
  248. package/typedoc/variables/echo.RefArray.html +2 -0
  249. package/typedoc/variables/echo.SPACE_ID_LENGTH.html +1 -0
  250. package/typedoc/variables/echo.SpaceId.html +1 -0
  251. package/typedoc/variables/echo.SpaceSchema.html +1 -0
  252. package/typedoc/variables/echo.TypedObject.html +3 -0
  253. package/typedoc/variables/echo.compareForeignKeys.html +1 -0
  254. package/typedoc/variables/echo.createDocAccessor.html +1 -0
  255. package/typedoc/variables/echo.createEmptyEdgeSyncState.html +1 -0
  256. package/typedoc/variables/echo.createObject.html +1 -0
  257. package/typedoc/variables/echo.createQueueDxn.html +1 -0
  258. package/typedoc/variables/echo.createSubscription.html +5 -0
  259. package/typedoc/variables/echo.defineObjectMigration.html +1 -0
  260. package/typedoc/variables/echo.fromCursor.html +1 -0
  261. package/typedoc/variables/echo.fullyQualifiedId.html +4 -0
  262. package/typedoc/variables/echo.getMeta.html +1 -0
  263. package/typedoc/variables/echo.getObjectCore.html +1 -0
  264. package/typedoc/variables/echo.getRangeFromCursor.html +1 -0
  265. package/typedoc/variables/echo.getSchema.html +2 -0
  266. package/typedoc/variables/echo.getSource.html +4 -0
  267. package/typedoc/variables/echo.getSpace.html +1 -0
  268. package/typedoc/variables/echo.getSyncSummary.html +1 -0
  269. package/typedoc/variables/echo.getTarget.html +4 -0
  270. package/typedoc/variables/echo.getTextInRange.html +2 -0
  271. package/typedoc/variables/echo.getType.html +5 -0
  272. package/typedoc/variables/echo.getTypename.html +2 -0
  273. package/typedoc/variables/echo.getVersion.html +3 -0
  274. package/typedoc/variables/echo.importSpace.html +1 -0
  275. package/typedoc/variables/echo.internalDecodeReference.html +1 -0
  276. package/typedoc/variables/echo.isEchoObject.html +2 -0
  277. package/typedoc/variables/echo.isLiveObject.html +2 -0
  278. package/typedoc/variables/echo.isRelation.html +2 -0
  279. package/typedoc/variables/echo.isSpace.html +1 -0
  280. package/typedoc/variables/echo.live.html +3 -0
  281. package/typedoc/variables/echo.loadObjectReferences.html +7 -0
  282. package/typedoc/variables/echo.makeRef.html +2 -0
  283. package/typedoc/variables/echo.parseFullyQualifiedId.html +2 -0
  284. package/typedoc/variables/echo.parseId.html +1 -0
  285. package/typedoc/variables/echo.refFromDXN.html +2 -0
  286. package/typedoc/variables/echo.toCursor.html +1 -0
  287. package/typedoc/variables/echo.toCursorRange.html +1 -0
  288. package/typedoc/variables/echo.updateText.html +6 -0
  289. package/typedoc/variables/echo.useQuery.html +2 -0
  290. package/typedoc/variables/index.AgentHostingContext.html +1 -0
  291. package/typedoc/variables/index.ClientProvider.html +3 -0
  292. package/typedoc/variables/index.DXOS_VERSION.html +1 -0
  293. package/typedoc/variables/index.Defaults.html +2 -0
  294. package/typedoc/variables/index.Dynamics.html +2 -0
  295. package/typedoc/variables/index.Envs.html +2 -0
  296. package/typedoc/variables/index.Local.html +2 -0
  297. package/typedoc/variables/index.Remote.html +1 -0
  298. package/typedoc/variables/index.Storage.html +2 -0
  299. package/typedoc/variables/index.createClientServices.html +4 -0
  300. package/typedoc/variables/index.fromAgent.html +2 -0
  301. package/typedoc/variables/index.fromHost.html +2 -0
  302. package/typedoc/variables/index.fromSocket.html +2 -0
  303. package/typedoc/variables/index.fromWorker.html +2 -0
  304. package/typedoc/variables/index.getUnixSocket.html +1 -0
  305. package/typedoc/variables/index.resolveRef.html +1 -0
  306. package/typedoc/variables/index.useMulticastObservable.html +3 -0
  307. package/typedoc/variables/worker.getWorkerServiceHost.html +1 -0
  308. package/typedoc/variables/worker.onconnect.html +1 -0
@@ -1 +1 @@
1
- {"inputs":{"packages/sdk/react-client/src/client/AgentHostingProvider.tsx":{"bytes":7240,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/client/context.ts":{"bytes":1328,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/banner.ts":{"bytes":3898,"imports":[],"format":"esm"},"packages/sdk/react-client/src/client/ClientProvider.tsx":{"bytes":19123,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/context.ts","kind":"import-statement","original":"./context"},{"path":"packages/sdk/react-client/src/banner.ts","kind":"import-statement","original":"../banner"}],"format":"esm"},"packages/sdk/react-client/src/client/useClient.ts":{"bytes":1700,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/context.ts","kind":"import-statement","original":"../client/context"}],"format":"esm"},"packages/sdk/react-client/src/client/useClientStatus.ts":{"bytes":2030,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/client/useConfig.ts":{"bytes":1801,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/context.ts","kind":"import-statement","original":"./context"}],"format":"esm"},"packages/sdk/react-client/src/client/useShell.ts":{"bytes":2397,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/useClient.ts","kind":"import-statement","original":"./useClient"}],"format":"esm"},"packages/sdk/react-client/src/client/useStatus.ts":{"bytes":1517,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/context.ts","kind":"import-statement","original":"./context"}],"format":"esm"},"packages/sdk/react-client/src/client/index.ts":{"bytes":1203,"imports":[{"path":"packages/sdk/react-client/src/client/AgentHostingProvider.tsx","kind":"import-statement","original":"./AgentHostingProvider"},{"path":"packages/sdk/react-client/src/client/ClientProvider.tsx","kind":"import-statement","original":"./ClientProvider"},{"path":"packages/sdk/react-client/src/client/context.ts","kind":"import-statement","original":"./context"},{"path":"packages/sdk/react-client/src/client/useClient.ts","kind":"import-statement","original":"./useClient"},{"path":"packages/sdk/react-client/src/client/useClientStatus.ts","kind":"import-statement","original":"./useClientStatus"},{"path":"packages/sdk/react-client/src/client/useConfig.ts","kind":"import-statement","original":"./useConfig"},{"path":"packages/sdk/react-client/src/client/useShell.ts","kind":"import-statement","original":"./useShell"},{"path":"packages/sdk/react-client/src/client/useStatus.ts","kind":"import-statement","original":"./useStatus"}],"format":"esm"},"packages/sdk/react-client/src/devtools/useDevtools.ts":{"bytes":1449,"imports":[{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/devtools/useStream.ts":{"bytes":2868,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/devtools/index.ts":{"bytes":729,"imports":[{"path":"@dxos/client/devtools","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/devtools/useDevtools.ts","kind":"import-statement","original":"./useDevtools"},{"path":"packages/sdk/react-client/src/devtools/useStream.ts","kind":"import-statement","original":"./useStream"}],"format":"esm"},"packages/sdk/react-client/src/echo/useSpaces.ts":{"bytes":6422,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/echo/useMembers.ts":{"bytes":3205,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/echo/useSpaces.ts","kind":"import-statement","original":"./useSpaces"}],"format":"esm"},"packages/sdk/react-client/src/echo/useQuery.ts":{"bytes":5420,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/echo/useSchema.ts":{"bytes":5408,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/invitations/useInvitationStatus.ts":{"bytes":20659,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/invitations/index.ts":{"bytes":1335,"imports":[{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/invitations/useInvitationStatus.ts","kind":"import-statement","original":"./useInvitationStatus"}],"format":"esm"},"packages/sdk/react-client/src/echo/useSpaceInvitations.ts":{"bytes":3301,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/echo/useSpaces.ts","kind":"import-statement","original":"./useSpaces"},{"path":"packages/sdk/react-client/src/invitations/index.ts","kind":"import-statement","original":"../invitations"}],"format":"esm"},"packages/sdk/react-client/src/echo/useSubscription.ts":{"bytes":3588,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/echo/useQueue.ts":{"bytes":6475,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/echo/index.ts":{"bytes":1207,"imports":[{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/echo/useMembers.ts","kind":"import-statement","original":"./useMembers"},{"path":"packages/sdk/react-client/src/echo/useQuery.ts","kind":"import-statement","original":"./useQuery"},{"path":"packages/sdk/react-client/src/echo/useSchema.ts","kind":"import-statement","original":"./useSchema"},{"path":"packages/sdk/react-client/src/echo/useSpaces.ts","kind":"import-statement","original":"./useSpaces"},{"path":"packages/sdk/react-client/src/echo/useSpaceInvitations.ts","kind":"import-statement","original":"./useSpaceInvitations"},{"path":"packages/sdk/react-client/src/echo/useSubscription.ts","kind":"import-statement","original":"./useSubscription"},{"path":"packages/sdk/react-client/src/echo/useQueue.ts","kind":"import-statement","original":"./useQueue"}],"format":"esm"},"packages/sdk/react-client/src/halo/useContacts.ts":{"bytes":1762,"imports":[{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/halo/useCredentials.ts":{"bytes":1393,"imports":[{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/halo/useDevices.ts":{"bytes":1341,"imports":[{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/halo/useHaloInvitations.ts":{"bytes":2785,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"},{"path":"packages/sdk/react-client/src/invitations/index.ts","kind":"import-statement","original":"../invitations"}],"format":"esm"},"packages/sdk/react-client/src/halo/useIdentity.ts":{"bytes":1632,"imports":[{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/halo/useKeyStore.ts":{"bytes":4664,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/halo/index.ts":{"bytes":1499,"imports":[{"path":"@dxos/client/halo","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/halo/useContacts.ts","kind":"import-statement","original":"./useContacts"},{"path":"packages/sdk/react-client/src/halo/useCredentials.ts","kind":"import-statement","original":"./useCredentials"},{"path":"packages/sdk/react-client/src/halo/useDevices.ts","kind":"import-statement","original":"./useDevices"},{"path":"packages/sdk/react-client/src/halo/useHaloInvitations.ts","kind":"import-statement","original":"./useHaloInvitations"},{"path":"packages/sdk/react-client/src/halo/useIdentity.ts","kind":"import-statement","original":"./useIdentity"},{"path":"packages/sdk/react-client/src/halo/useKeyStore.ts","kind":"import-statement","original":"./useKeyStore"}],"format":"esm"},"packages/sdk/react-client/src/index.ts":{"bytes":805,"imports":[{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"./client"}],"format":"esm"},"packages/sdk/react-client/src/mesh/useNetworkStatus.ts":{"bytes":1557,"imports":[{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/mesh/index.ts":{"bytes":633,"imports":[{"path":"@dxos/client/mesh","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/mesh/useNetworkStatus.ts","kind":"import-statement","original":"./useNetworkStatus"}],"format":"esm"},"packages/sdk/react-client/src/testing/context.tsx":{"bytes":1754,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/testing/ClientRepeater.tsx":{"bytes":11451,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/testing/withClientProvider.tsx":{"bytes":21637,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-error-boundary","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/testing/context.tsx","kind":"import-statement","original":"./context"},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/testing/index.ts":{"bytes":842,"imports":[{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/testing/context.tsx","kind":"import-statement","original":"./context"},{"path":"packages/sdk/react-client/src/testing/ClientRepeater.tsx","kind":"import-statement","original":"./ClientRepeater"},{"path":"packages/sdk/react-client/src/testing/withClientProvider.tsx","kind":"import-statement","original":"./withClientProvider"}],"format":"esm"},"packages/sdk/react-client/src/worker.ts":{"bytes":523,"imports":[{"path":"@dxos/client/worker","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"packages/sdk/react-client/dist/lib/browser/devtools/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2291},"packages/sdk/react-client/dist/lib/browser/devtools/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-72QD3PXL.mjs","kind":"import-statement"},{"path":"@dxos/client/devtools","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["useDevtools","useStream"],"entryPoint":"packages/sdk/react-client/src/devtools/index.ts","inputs":{"packages/sdk/react-client/src/devtools/index.ts":{"bytesInOutput":39},"packages/sdk/react-client/src/devtools/useDevtools.ts":{"bytesInOutput":195},"packages/sdk/react-client/src/devtools/useStream.ts":{"bytesInOutput":690}},"bytes":1217},"packages/sdk/react-client/dist/lib/browser/echo/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":17454},"packages/sdk/react-client/dist/lib/browser/echo/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-AL2CUQ46.mjs","kind":"import-statement"},{"path":"packages/sdk/react-client/dist/lib/browser/chunk-72QD3PXL.mjs","kind":"import-statement"},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"exports":["useMembers","useQuery","useQueue","useSchema","useSpace","useSpaceInvitation","useSpaceInvitations","useSpaces","useSubscription"],"entryPoint":"packages/sdk/react-client/src/echo/index.ts","inputs":{"packages/sdk/react-client/src/echo/index.ts":{"bytesInOutput":35},"packages/sdk/react-client/src/echo/useMembers.ts":{"bytesInOutput":545},"packages/sdk/react-client/src/echo/useSpaces.ts":{"bytesInOutput":1013},"packages/sdk/react-client/src/echo/useQuery.ts":{"bytesInOutput":974},"packages/sdk/react-client/src/echo/useSchema.ts":{"bytesInOutput":1178},"packages/sdk/react-client/src/echo/useSpaceInvitations.ts":{"bytesInOutput":677},"packages/sdk/react-client/src/echo/useSubscription.ts":{"bytesInOutput":519},"packages/sdk/react-client/src/echo/useQueue.ts":{"bytesInOutput":1204}},"bytes":6927},"packages/sdk/react-client/dist/lib/browser/halo/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6981},"packages/sdk/react-client/dist/lib/browser/halo/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-AL2CUQ46.mjs","kind":"import-statement"},{"path":"packages/sdk/react-client/dist/lib/browser/chunk-72QD3PXL.mjs","kind":"import-statement"},{"path":"@dxos/client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"exports":["Device","DeviceKind","DeviceType","KeyStore","useContacts","useCredentials","useDevices","useHaloInvitation","useHaloInvitations","useIdentity","useKeyStore"],"entryPoint":"packages/sdk/react-client/src/halo/index.ts","inputs":{"packages/sdk/react-client/src/halo/index.ts":{"bytesInOutput":68},"packages/sdk/react-client/src/halo/useContacts.ts":{"bytesInOutput":174},"packages/sdk/react-client/src/halo/useCredentials.ts":{"bytesInOutput":208},"packages/sdk/react-client/src/halo/useDevices.ts":{"bytesInOutput":200},"packages/sdk/react-client/src/halo/useHaloInvitations.ts":{"bytesInOutput":521},"packages/sdk/react-client/src/halo/useIdentity.ts":{"bytesInOutput":202},"packages/sdk/react-client/src/halo/useKeyStore.ts":{"bytesInOutput":928}},"bytes":3014},"packages/sdk/react-client/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":344},"packages/sdk/react-client/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-72QD3PXL.mjs","kind":"import-statement"},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true}],"exports":["AgentHostingContext","AgentHostingProvider","ClientContext","ClientProvider","useAgentHostingClient","useClient","useClientStatus","useConfig","useMulticastObservable","useShell","useShellDisplay","useStatus"],"entryPoint":"packages/sdk/react-client/src/index.ts","inputs":{"packages/sdk/react-client/src/index.ts":{"bytesInOutput":90}},"bytes":636},"packages/sdk/react-client/dist/lib/browser/invitations/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/react-client/dist/lib/browser/invitations/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-AL2CUQ46.mjs","kind":"import-statement"}],"exports":["AuthenticatingInvitationObservable","CancellableInvitationObservable","Invitation","InvitationEncoder","InvitationsProxy","useInvitationStatus"],"entryPoint":"packages/sdk/react-client/src/invitations/index.ts","inputs":{},"bytes":388},"packages/sdk/react-client/dist/lib/browser/chunk-AL2CUQ46.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":11017},"packages/sdk/react-client/dist/lib/browser/chunk-AL2CUQ46.mjs":{"imports":[{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["AuthenticatingInvitationObservable","CancellableInvitationObservable","Invitation","InvitationEncoder","InvitationsProxy","useInvitationStatus"],"inputs":{"packages/sdk/react-client/src/invitations/index.ts":{"bytesInOutput":198},"packages/sdk/react-client/src/invitations/useInvitationStatus.ts":{"bytesInOutput":4678}},"bytes":5243},"packages/sdk/react-client/dist/lib/browser/mesh/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":935},"packages/sdk/react-client/dist/lib/browser/mesh/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-72QD3PXL.mjs","kind":"import-statement"},{"path":"@dxos/client/mesh","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true}],"exports":["useNetworkStatus"],"entryPoint":"packages/sdk/react-client/src/mesh/index.ts","inputs":{"packages/sdk/react-client/src/mesh/index.ts":{"bytesInOutput":35},"packages/sdk/react-client/src/mesh/useNetworkStatus.ts":{"bytesInOutput":184}},"bytes":445},"packages/sdk/react-client/dist/lib/browser/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":18308},"packages/sdk/react-client/dist/lib/browser/testing/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-72QD3PXL.mjs","kind":"import-statement"},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-error-boundary","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["ClientRepeater","ClientStory","useClientProvider","useMultiClient","withClientProvider","withMultiClientProvider"],"entryPoint":"packages/sdk/react-client/src/testing/index.ts","inputs":{"packages/sdk/react-client/src/testing/index.ts":{"bytesInOutput":38},"packages/sdk/react-client/src/testing/context.tsx":{"bytesInOutput":257},"packages/sdk/react-client/src/testing/ClientRepeater.tsx":{"bytesInOutput":2076},"packages/sdk/react-client/src/testing/withClientProvider.tsx":{"bytesInOutput":5441}},"bytes":8268},"packages/sdk/react-client/dist/lib/browser/chunk-72QD3PXL.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":19669},"packages/sdk/react-client/dist/lib/browser/chunk-72QD3PXL.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"exports":["AgentHostingContext","AgentHostingProvider","ClientContext","ClientProvider","useAgentHostingClient","useClient","useClientStatus","useConfig","useShell","useShellDisplay","useStatus"],"inputs":{"packages/sdk/react-client/src/client/AgentHostingProvider.tsx":{"bytesInOutput":1877},"packages/sdk/react-client/src/client/index.ts":{"bytesInOutput":0},"packages/sdk/react-client/src/client/ClientProvider.tsx":{"bytesInOutput":4316},"packages/sdk/react-client/src/client/context.ts":{"bytesInOutput":82},"packages/sdk/react-client/src/banner.ts":{"bytesInOutput":817},"packages/sdk/react-client/src/client/useClient.ts":{"bytesInOutput":211},"packages/sdk/react-client/src/client/useClientStatus.ts":{"bytesInOutput":398},"packages/sdk/react-client/src/client/useConfig.ts":{"bytesInOutput":245},"packages/sdk/react-client/src/client/useShell.ts":{"bytesInOutput":377},"packages/sdk/react-client/src/client/useStatus.ts":{"bytesInOutput":238}},"bytes":9435},"packages/sdk/react-client/dist/lib/browser/worker.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":206},"packages/sdk/react-client/dist/lib/browser/worker.mjs":{"imports":[{"path":"@dxos/client/worker","kind":"import-statement","external":true}],"exports":[],"entryPoint":"packages/sdk/react-client/src/worker.ts","inputs":{"packages/sdk/react-client/src/worker.ts":{"bytesInOutput":37}},"bytes":116}}}
1
+ {"inputs":{"packages/sdk/react-client/src/client/AgentHostingProvider.tsx":{"bytes":7120,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/client/context.ts":{"bytes":1292,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/banner.ts":{"bytes":3838,"imports":[],"format":"esm"},"packages/sdk/react-client/src/client/ClientProvider.tsx":{"bytes":18871,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/context.ts","kind":"import-statement","original":"./context"},{"path":"packages/sdk/react-client/src/banner.ts","kind":"import-statement","original":"../banner"}],"format":"esm"},"packages/sdk/react-client/src/client/useClient.ts":{"bytes":1656,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/context.ts","kind":"import-statement","original":"../client/context"}],"format":"esm"},"packages/sdk/react-client/src/client/useClientStatus.ts":{"bytes":1982,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/client/useConfig.ts":{"bytes":1761,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/context.ts","kind":"import-statement","original":"./context"}],"format":"esm"},"packages/sdk/react-client/src/client/useShell.ts":{"bytes":2345,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/useClient.ts","kind":"import-statement","original":"./useClient"}],"format":"esm"},"packages/sdk/react-client/src/client/useStatus.ts":{"bytes":1477,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/context.ts","kind":"import-statement","original":"./context"}],"format":"esm"},"packages/sdk/react-client/src/client/index.ts":{"bytes":1163,"imports":[{"path":"packages/sdk/react-client/src/client/AgentHostingProvider.tsx","kind":"import-statement","original":"./AgentHostingProvider"},{"path":"packages/sdk/react-client/src/client/ClientProvider.tsx","kind":"import-statement","original":"./ClientProvider"},{"path":"packages/sdk/react-client/src/client/context.ts","kind":"import-statement","original":"./context"},{"path":"packages/sdk/react-client/src/client/useClient.ts","kind":"import-statement","original":"./useClient"},{"path":"packages/sdk/react-client/src/client/useClientStatus.ts","kind":"import-statement","original":"./useClientStatus"},{"path":"packages/sdk/react-client/src/client/useConfig.ts","kind":"import-statement","original":"./useConfig"},{"path":"packages/sdk/react-client/src/client/useShell.ts","kind":"import-statement","original":"./useShell"},{"path":"packages/sdk/react-client/src/client/useStatus.ts","kind":"import-statement","original":"./useStatus"}],"format":"esm"},"packages/sdk/react-client/src/devtools/useDevtools.ts":{"bytes":1413,"imports":[{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/devtools/useStream.ts":{"bytes":2808,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/devtools/index.ts":{"bytes":693,"imports":[{"path":"@dxos/client/devtools","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/devtools/useDevtools.ts","kind":"import-statement","original":"./useDevtools"},{"path":"packages/sdk/react-client/src/devtools/useStream.ts","kind":"import-statement","original":"./useStream"}],"format":"esm"},"packages/sdk/react-client/src/echo/useSpaces.ts":{"bytes":6330,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/echo/useMembers.ts":{"bytes":3157,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/echo/useSpaces.ts","kind":"import-statement","original":"./useSpaces"}],"format":"esm"},"packages/sdk/react-client/src/echo/useQuery.ts":{"bytes":5602,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/echo/useQueue.ts":{"bytes":6379,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/echo/useSchema.ts":{"bytes":4852,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/invitations/useInvitationStatus.ts":{"bytes":20423,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/invitations/index.ts":{"bytes":1299,"imports":[{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/invitations/useInvitationStatus.ts","kind":"import-statement","original":"./useInvitationStatus"}],"format":"esm"},"packages/sdk/react-client/src/echo/useSpaceInvitations.ts":{"bytes":3253,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/echo/useSpaces.ts","kind":"import-statement","original":"./useSpaces"},{"path":"packages/sdk/react-client/src/invitations/index.ts","kind":"import-statement","original":"../invitations"}],"format":"esm"},"packages/sdk/react-client/src/echo/useSubscription.ts":{"bytes":3528,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/echo/useSyncState.ts":{"bytes":7714,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/echo/index.ts":{"bytes":1267,"imports":[{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/echo/useMembers.ts","kind":"import-statement","original":"./useMembers"},{"path":"packages/sdk/react-client/src/echo/useQuery.ts","kind":"import-statement","original":"./useQuery"},{"path":"packages/sdk/react-client/src/echo/useQueue.ts","kind":"import-statement","original":"./useQueue"},{"path":"packages/sdk/react-client/src/echo/useSchema.ts","kind":"import-statement","original":"./useSchema"},{"path":"packages/sdk/react-client/src/echo/useSpaces.ts","kind":"import-statement","original":"./useSpaces"},{"path":"packages/sdk/react-client/src/echo/useSpaceInvitations.ts","kind":"import-statement","original":"./useSpaceInvitations"},{"path":"packages/sdk/react-client/src/echo/useSubscription.ts","kind":"import-statement","original":"./useSubscription"},{"path":"packages/sdk/react-client/src/echo/useSyncState.ts","kind":"import-statement","original":"./useSyncState"}],"format":"esm"},"packages/sdk/react-client/src/halo/useContacts.ts":{"bytes":1718,"imports":[{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/halo/useCredentials.ts":{"bytes":1357,"imports":[{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/halo/useDevices.ts":{"bytes":1305,"imports":[{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/halo/useHaloInvitations.ts":{"bytes":2737,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"},{"path":"packages/sdk/react-client/src/invitations/index.ts","kind":"import-statement","original":"../invitations"}],"format":"esm"},"packages/sdk/react-client/src/halo/useIdentity.ts":{"bytes":1588,"imports":[{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/halo/useKeyStore.ts":{"bytes":4580,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/halo/index.ts":{"bytes":1459,"imports":[{"path":"@dxos/client/halo","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/halo/useContacts.ts","kind":"import-statement","original":"./useContacts"},{"path":"packages/sdk/react-client/src/halo/useCredentials.ts","kind":"import-statement","original":"./useCredentials"},{"path":"packages/sdk/react-client/src/halo/useDevices.ts","kind":"import-statement","original":"./useDevices"},{"path":"packages/sdk/react-client/src/halo/useHaloInvitations.ts","kind":"import-statement","original":"./useHaloInvitations"},{"path":"packages/sdk/react-client/src/halo/useIdentity.ts","kind":"import-statement","original":"./useIdentity"},{"path":"packages/sdk/react-client/src/halo/useKeyStore.ts","kind":"import-statement","original":"./useKeyStore"}],"format":"esm"},"packages/sdk/react-client/src/index.ts":{"bytes":773,"imports":[{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"./client"}],"format":"esm"},"packages/sdk/react-client/src/mesh/useNetworkStatus.ts":{"bytes":1517,"imports":[{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/mesh/index.ts":{"bytes":601,"imports":[{"path":"@dxos/client/mesh","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/mesh/useNetworkStatus.ts","kind":"import-statement","original":"./useNetworkStatus"}],"format":"esm"},"packages/sdk/react-client/src/testing/context.tsx":{"bytes":1714,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/testing/ClientRepeater.tsx":{"bytes":11327,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/testing/withClientProvider.tsx":{"bytes":21377,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-error-boundary","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/testing/context.tsx","kind":"import-statement","original":"./context"},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/testing/index.ts":{"bytes":806,"imports":[{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/testing/context.tsx","kind":"import-statement","original":"./context"},{"path":"packages/sdk/react-client/src/testing/ClientRepeater.tsx","kind":"import-statement","original":"./ClientRepeater"},{"path":"packages/sdk/react-client/src/testing/withClientProvider.tsx","kind":"import-statement","original":"./withClientProvider"}],"format":"esm"},"packages/sdk/react-client/src/worker.ts":{"bytes":491,"imports":[{"path":"@dxos/client/worker","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"packages/sdk/react-client/dist/lib/browser/devtools/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2291},"packages/sdk/react-client/dist/lib/browser/devtools/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-72QD3PXL.mjs","kind":"import-statement"},{"path":"@dxos/client/devtools","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["useDevtools","useStream"],"entryPoint":"packages/sdk/react-client/src/devtools/index.ts","inputs":{"packages/sdk/react-client/src/devtools/index.ts":{"bytesInOutput":39},"packages/sdk/react-client/src/devtools/useDevtools.ts":{"bytesInOutput":195},"packages/sdk/react-client/src/devtools/useStream.ts":{"bytesInOutput":690}},"bytes":1217},"packages/sdk/react-client/dist/lib/browser/echo/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":21461},"packages/sdk/react-client/dist/lib/browser/echo/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-AL2CUQ46.mjs","kind":"import-statement"},{"path":"packages/sdk/react-client/dist/lib/browser/chunk-72QD3PXL.mjs","kind":"import-statement"},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true}],"exports":["useMembers","useQuery","useQueue","useSchema","useSpace","useSpaceInvitation","useSpaceInvitations","useSpaceSyncState","useSpaces","useSubscription","useSyncState"],"entryPoint":"packages/sdk/react-client/src/echo/index.ts","inputs":{"packages/sdk/react-client/src/echo/index.ts":{"bytesInOutput":35},"packages/sdk/react-client/src/echo/useMembers.ts":{"bytesInOutput":545},"packages/sdk/react-client/src/echo/useSpaces.ts":{"bytesInOutput":1013},"packages/sdk/react-client/src/echo/useQuery.ts":{"bytesInOutput":1012},"packages/sdk/react-client/src/echo/useQueue.ts":{"bytesInOutput":1192},"packages/sdk/react-client/src/echo/useSchema.ts":{"bytesInOutput":1057},"packages/sdk/react-client/src/echo/useSpaceInvitations.ts":{"bytesInOutput":677},"packages/sdk/react-client/src/echo/useSubscription.ts":{"bytesInOutput":532},"packages/sdk/react-client/src/echo/useSyncState.ts":{"bytesInOutput":1837}},"bytes":8774},"packages/sdk/react-client/dist/lib/browser/halo/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6987},"packages/sdk/react-client/dist/lib/browser/halo/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-AL2CUQ46.mjs","kind":"import-statement"},{"path":"packages/sdk/react-client/dist/lib/browser/chunk-72QD3PXL.mjs","kind":"import-statement"},{"path":"@dxos/client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"exports":["Device","DeviceKind","DeviceType","KeyStore","useContacts","useCredentials","useDevices","useHaloInvitation","useHaloInvitations","useIdentity","useKeyStore"],"entryPoint":"packages/sdk/react-client/src/halo/index.ts","inputs":{"packages/sdk/react-client/src/halo/index.ts":{"bytesInOutput":68},"packages/sdk/react-client/src/halo/useContacts.ts":{"bytesInOutput":174},"packages/sdk/react-client/src/halo/useCredentials.ts":{"bytesInOutput":208},"packages/sdk/react-client/src/halo/useDevices.ts":{"bytesInOutput":200},"packages/sdk/react-client/src/halo/useHaloInvitations.ts":{"bytesInOutput":521},"packages/sdk/react-client/src/halo/useIdentity.ts":{"bytesInOutput":202},"packages/sdk/react-client/src/halo/useKeyStore.ts":{"bytesInOutput":928}},"bytes":3014},"packages/sdk/react-client/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":344},"packages/sdk/react-client/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-72QD3PXL.mjs","kind":"import-statement"},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true}],"exports":["AgentHostingContext","AgentHostingProvider","ClientContext","ClientProvider","useAgentHostingClient","useClient","useClientStatus","useConfig","useMulticastObservable","useShell","useShellDisplay","useStatus"],"entryPoint":"packages/sdk/react-client/src/index.ts","inputs":{"packages/sdk/react-client/src/index.ts":{"bytesInOutput":90}},"bytes":636},"packages/sdk/react-client/dist/lib/browser/invitations/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/react-client/dist/lib/browser/invitations/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-AL2CUQ46.mjs","kind":"import-statement"}],"exports":["AuthenticatingInvitationObservable","CancellableInvitationObservable","Invitation","InvitationEncoder","InvitationsProxy","useInvitationStatus"],"entryPoint":"packages/sdk/react-client/src/invitations/index.ts","inputs":{},"bytes":388},"packages/sdk/react-client/dist/lib/browser/chunk-AL2CUQ46.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":11017},"packages/sdk/react-client/dist/lib/browser/chunk-AL2CUQ46.mjs":{"imports":[{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["AuthenticatingInvitationObservable","CancellableInvitationObservable","Invitation","InvitationEncoder","InvitationsProxy","useInvitationStatus"],"inputs":{"packages/sdk/react-client/src/invitations/index.ts":{"bytesInOutput":198},"packages/sdk/react-client/src/invitations/useInvitationStatus.ts":{"bytesInOutput":4678}},"bytes":5243},"packages/sdk/react-client/dist/lib/browser/mesh/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":935},"packages/sdk/react-client/dist/lib/browser/mesh/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-72QD3PXL.mjs","kind":"import-statement"},{"path":"@dxos/client/mesh","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true}],"exports":["useNetworkStatus"],"entryPoint":"packages/sdk/react-client/src/mesh/index.ts","inputs":{"packages/sdk/react-client/src/mesh/index.ts":{"bytesInOutput":35},"packages/sdk/react-client/src/mesh/useNetworkStatus.ts":{"bytesInOutput":184}},"bytes":445},"packages/sdk/react-client/dist/lib/browser/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":18308},"packages/sdk/react-client/dist/lib/browser/testing/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-72QD3PXL.mjs","kind":"import-statement"},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-error-boundary","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["ClientRepeater","ClientStory","useClientProvider","useMultiClient","withClientProvider","withMultiClientProvider"],"entryPoint":"packages/sdk/react-client/src/testing/index.ts","inputs":{"packages/sdk/react-client/src/testing/index.ts":{"bytesInOutput":38},"packages/sdk/react-client/src/testing/context.tsx":{"bytesInOutput":257},"packages/sdk/react-client/src/testing/ClientRepeater.tsx":{"bytesInOutput":2076},"packages/sdk/react-client/src/testing/withClientProvider.tsx":{"bytesInOutput":5441}},"bytes":8268},"packages/sdk/react-client/dist/lib/browser/chunk-72QD3PXL.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":19669},"packages/sdk/react-client/dist/lib/browser/chunk-72QD3PXL.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"exports":["AgentHostingContext","AgentHostingProvider","ClientContext","ClientProvider","useAgentHostingClient","useClient","useClientStatus","useConfig","useShell","useShellDisplay","useStatus"],"inputs":{"packages/sdk/react-client/src/client/AgentHostingProvider.tsx":{"bytesInOutput":1877},"packages/sdk/react-client/src/client/index.ts":{"bytesInOutput":0},"packages/sdk/react-client/src/client/ClientProvider.tsx":{"bytesInOutput":4316},"packages/sdk/react-client/src/client/context.ts":{"bytesInOutput":82},"packages/sdk/react-client/src/banner.ts":{"bytesInOutput":817},"packages/sdk/react-client/src/client/useClient.ts":{"bytesInOutput":211},"packages/sdk/react-client/src/client/useClientStatus.ts":{"bytesInOutput":398},"packages/sdk/react-client/src/client/useConfig.ts":{"bytesInOutput":245},"packages/sdk/react-client/src/client/useShell.ts":{"bytesInOutput":377},"packages/sdk/react-client/src/client/useStatus.ts":{"bytesInOutput":238}},"bytes":9435},"packages/sdk/react-client/dist/lib/browser/worker.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":206},"packages/sdk/react-client/dist/lib/browser/worker.mjs":{"imports":[{"path":"@dxos/client/worker","kind":"import-statement","external":true}],"exports":[],"entryPoint":"packages/sdk/react-client/src/worker.ts","inputs":{"packages/sdk/react-client/src/worker.ts":{"bytesInOutput":37}},"bytes":116}}}
@@ -26,8 +26,10 @@ __export(echo_exports, {
26
26
  useSpace: () => useSpace,
27
27
  useSpaceInvitation: () => useSpaceInvitation,
28
28
  useSpaceInvitations: () => useSpaceInvitations,
29
+ useSpaceSyncState: () => useSpaceSyncState,
29
30
  useSpaces: () => useSpaces,
30
- useSubscription: () => useSubscription
31
+ useSubscription: () => useSubscription,
32
+ useSyncState: () => useSyncState
31
33
  });
32
34
  module.exports = __toCommonJS(echo_exports);
33
35
  var import_chunk_FYOAVV65 = require("../chunk-FYOAVV65.cjs");
@@ -42,14 +44,16 @@ var import_react_hooks2 = require("@dxos/react-hooks");
42
44
  var import_react2 = require("react");
43
45
  var import_echo3 = require("@dxos/client/echo");
44
46
  var import_react3 = require("react");
45
- var import_echo_schema = require("@dxos/echo-schema");
47
+ var import_debug = require("@dxos/debug");
46
48
  var import_react4 = require("react");
49
+ var import_react5 = require("react");
47
50
  var import_async2 = require("@dxos/async");
48
51
  var import_react_hooks3 = require("@dxos/react-hooks");
49
- var import_react5 = require("react");
50
- var import_echo4 = require("@dxos/client/echo");
51
52
  var import_react6 = require("react");
52
- var import_debug = require("@dxos/debug");
53
+ var import_echo4 = require("@dxos/client/echo");
54
+ var import_react7 = require("react");
55
+ var import_context = require("@dxos/context");
56
+ var import_protocols = require("@dxos/protocols");
53
57
  var useSpace = (spaceKeyLike) => {
54
58
  const client = (0, import_chunk_5RUIFUEC.useClient)();
55
59
  const spaces = (0, import_react_hooks2.useMulticastObservable)(client.spaces);
@@ -87,15 +91,19 @@ var useMembers = (spaceKey) => {
87
91
  const members = (0, import_react_hooks.useMulticastObservable)(space?.members ?? import_async.MulticastObservable.empty()) ?? [];
88
92
  return members.filter((member) => member.role !== import_echo.HaloSpaceMember.Role.REMOVED);
89
93
  };
90
- var useQuery = (spaceOrEcho, filter, options, deps) => {
94
+ var EMPTY_ARRAY = [];
95
+ var noop = () => {
96
+ };
97
+ var useQuery = (spaceOrEcho, queryOrFilter, deps) => {
98
+ const query = import_echo3.Filter.is(queryOrFilter) ? import_echo3.Query.select(queryOrFilter) : queryOrFilter;
91
99
  const { getObjects, subscribe } = (0, import_react2.useMemo)(() => {
92
100
  let subscribed = false;
93
- const query = (0, import_echo3.isSpace)(spaceOrEcho) ? spaceOrEcho.db.query(filter, options) : spaceOrEcho?.query(filter, options);
101
+ const queryResult = spaceOrEcho === void 0 ? void 0 : (0, import_echo3.isSpace)(spaceOrEcho) ? spaceOrEcho.db.query(query) : spaceOrEcho.query(query);
94
102
  return {
95
- getObjects: () => subscribed && query ? query.objects : EMPTY_ARRAY,
103
+ getObjects: () => subscribed && queryResult ? queryResult.objects : EMPTY_ARRAY,
96
104
  subscribe: (cb) => {
97
105
  subscribed = true;
98
- const unsubscribe = query?.subscribe(cb) ?? noop;
106
+ const unsubscribe = queryResult?.subscribe(cb) ?? noop;
99
107
  return () => {
100
108
  unsubscribe?.();
101
109
  subscribed = false;
@@ -104,20 +112,59 @@ var useQuery = (spaceOrEcho, filter, options, deps) => {
104
112
  };
105
113
  }, [
106
114
  spaceOrEcho,
107
- ...filterToDepsArray(filter),
115
+ JSON.stringify(query.ast),
108
116
  ...deps ?? []
109
117
  ]);
110
118
  const objects = (0, import_react2.useSyncExternalStore)(subscribe, getObjects);
111
119
  return objects ?? [];
112
120
  };
113
- var filterToDepsArray = (filter) => [
114
- JSON.stringify(import_echo3.Filter.from(filter).toProto())
115
- ];
116
- var noop = () => {
121
+ var MIN_POLL_INTERVAL = 1e3;
122
+ var useQueue = (queueDxn, options = {}) => {
123
+ const client = (0, import_chunk_5RUIFUEC.useClient)();
124
+ const mountedRef = (0, import_react3.useRef)(true);
125
+ const queue = (0, import_react3.useMemo)(() => {
126
+ if (!queueDxn) {
127
+ return void 0;
128
+ }
129
+ const { spaceId } = queueDxn.asQueueDXN() ?? (0, import_debug.raise)(new TypeError("Invalid queue DXN"));
130
+ return client.spaces.get(spaceId)?.queues.get(queueDxn);
131
+ }, [
132
+ client,
133
+ queueDxn?.toString()
134
+ ]);
135
+ (0, import_react3.useEffect)(() => {
136
+ void queue?.refresh();
137
+ }, [
138
+ queue
139
+ ]);
140
+ (0, import_react3.useEffect)(() => {
141
+ let timeout;
142
+ mountedRef.current = true;
143
+ const poll = () => {
144
+ if (!mountedRef.current) {
145
+ return;
146
+ }
147
+ void queue?.refresh().finally(() => {
148
+ if (mountedRef.current && options.pollInterval) {
149
+ timeout = setTimeout(poll, Math.max(options.pollInterval ?? 0, MIN_POLL_INTERVAL));
150
+ }
151
+ });
152
+ };
153
+ if (options.pollInterval) {
154
+ poll();
155
+ }
156
+ return () => {
157
+ mountedRef.current = false;
158
+ clearTimeout(timeout);
159
+ };
160
+ }, [
161
+ queue,
162
+ options.pollInterval
163
+ ]);
164
+ return queue;
117
165
  };
118
- var EMPTY_ARRAY = [];
119
166
  var useSchema = (client, space, typename) => {
120
- const { subscribe, getSchema } = (0, import_react3.useMemo)(() => {
167
+ const { subscribe, getSchema } = (0, import_react4.useMemo)(() => {
121
168
  if (!typename || !space) {
122
169
  return {
123
170
  subscribe: () => () => {
@@ -127,11 +174,10 @@ var useSchema = (client, space, typename) => {
127
174
  }
128
175
  const staticSchema = client.graph.schemaRegistry.getSchema(typename);
129
176
  if (staticSchema) {
130
- const immutableSchema = new import_echo_schema.ImmutableSchema(staticSchema);
131
177
  return {
132
178
  subscribe: () => () => {
133
179
  },
134
- getSchema: () => immutableSchema
180
+ getSchema: () => staticSchema
135
181
  };
136
182
  }
137
183
  const query = space.db.schemaRegistry.query({
@@ -153,7 +199,7 @@ var useSchema = (client, space, typename) => {
153
199
  typename,
154
200
  space
155
201
  ]);
156
- return (0, import_react3.useSyncExternalStore)(subscribe, getSchema);
202
+ return (0, import_react4.useSyncExternalStore)(subscribe, getSchema);
157
203
  };
158
204
  var useSpaceInvitations = (spaceKey) => {
159
205
  const space = useSpace(spaceKey);
@@ -161,16 +207,16 @@ var useSpaceInvitations = (spaceKey) => {
161
207
  };
162
208
  var useSpaceInvitation = (spaceKey, invitationId) => {
163
209
  const invitations = useSpaceInvitations(spaceKey);
164
- const invitation = (0, import_react4.useMemo)(() => invitations.find((invitation2) => invitation2.get().invitationId === invitationId), [
210
+ const invitation = (0, import_react5.useMemo)(() => invitations.find((invitation2) => invitation2.get().invitationId === invitationId), [
165
211
  invitations
166
212
  ]);
167
213
  return (0, import_chunk_FYOAVV65.useInvitationStatus)(invitation);
168
214
  };
169
215
  var useSubscription = (cb, selection) => {
170
- const callbackRef = (0, import_react5.useRef)(cb);
216
+ const callbackRef = (0, import_react6.useRef)(cb);
171
217
  callbackRef.current = cb;
172
- const subscriptionRef = (0, import_react5.useRef)();
173
- (0, import_react5.useEffect)(() => {
218
+ const subscriptionRef = (0, import_react6.useRef)();
219
+ (0, import_react6.useEffect)(() => {
174
220
  subscriptionRef.current = (0, import_echo4.createSubscription)(() => {
175
221
  callbackRef.current();
176
222
  });
@@ -179,50 +225,64 @@ var useSubscription = (cb, selection) => {
179
225
  subscriptionRef.current?.update(selection);
180
226
  return subscriptionRef.current;
181
227
  };
182
- var MIN_POLL_INTERVAL = 1e3;
183
- var useQueue = (queueDxn, options = {}) => {
228
+ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/sdk/react-client/src/echo/useSyncState.ts";
229
+ var isEdgePeerId = (peerId, spaceId) => peerId.startsWith(`${import_protocols.EdgeService.AUTOMERGE_REPLICATOR}:${spaceId}`);
230
+ var useSyncState = () => {
184
231
  const client = (0, import_chunk_5RUIFUEC.useClient)();
185
- const mountedRef = (0, import_react6.useRef)(true);
186
- const queue = (0, import_react6.useMemo)(() => {
187
- if (!queueDxn) {
188
- return void 0;
189
- }
190
- const { spaceId } = queueDxn.asQueueDXN() ?? (0, import_debug.raise)(new TypeError("Invalid queue DXN"));
191
- return client.spaces.get(spaceId)?.queues.get(queueDxn);
192
- }, [
193
- client,
194
- queueDxn?.toString()
195
- ]);
196
- (0, import_react6.useEffect)(() => {
197
- void queue?.refresh();
232
+ const [spaceState, setSpaceState] = (0, import_react7.useState)({});
233
+ (0, import_react7.useEffect)(() => {
234
+ const ctx = new import_context.Context(void 0, {
235
+ F: __dxlog_file,
236
+ L: 25
237
+ });
238
+ const createSubscriptions = (spaces) => {
239
+ for (const space of spaces) {
240
+ if (spaceState[space.id]) {
241
+ continue;
242
+ }
243
+ ctx.onDispose(space.crud.subscribeToSyncState(ctx, ({ peers = [] }) => {
244
+ const syncState = peers.find((state) => isEdgePeerId(state.peerId, space.id));
245
+ if (syncState) {
246
+ setSpaceState((spaceState2) => ({
247
+ ...spaceState2,
248
+ [space.id]: syncState
249
+ }));
250
+ }
251
+ }));
252
+ }
253
+ };
254
+ createSubscriptions(client.spaces.get());
255
+ client.spaces.subscribe((spaces) => {
256
+ createSubscriptions(spaces);
257
+ });
258
+ return () => {
259
+ void ctx.dispose();
260
+ };
198
261
  }, [
199
- queue
262
+ client
200
263
  ]);
201
- (0, import_react6.useEffect)(() => {
202
- let timeout;
203
- mountedRef.current = true;
204
- const poll = () => {
205
- if (!mountedRef.current) {
206
- return;
264
+ return spaceState;
265
+ };
266
+ var useSpaceSyncState = (space) => {
267
+ const [spaceState, setSpaceState] = (0, import_react7.useState)();
268
+ (0, import_react7.useEffect)(() => {
269
+ const ctx = new import_context.Context(void 0, {
270
+ F: __dxlog_file,
271
+ L: 64
272
+ });
273
+ space.crud.subscribeToSyncState(ctx, ({ peers = [] }) => {
274
+ const syncState = peers.find((state) => isEdgePeerId(state.peerId, space.id));
275
+ if (syncState) {
276
+ setSpaceState(syncState);
207
277
  }
208
- void queue?.refresh().finally(() => {
209
- if (mountedRef.current && options.pollInterval) {
210
- timeout = setTimeout(poll, Math.max(options.pollInterval ?? 0, MIN_POLL_INTERVAL));
211
- }
212
- });
213
- };
214
- if (options.pollInterval) {
215
- poll();
216
- }
278
+ });
217
279
  return () => {
218
- mountedRef.current = false;
219
- clearTimeout(timeout);
280
+ void ctx.dispose();
220
281
  };
221
282
  }, [
222
- queue,
223
- options.pollInterval
283
+ space
224
284
  ]);
225
- return queue;
285
+ return spaceState;
226
286
  };
227
287
  // Annotate the CommonJS export names for ESM import in node:
228
288
  0 && (module.exports = {
@@ -233,8 +293,10 @@ var useQueue = (queueDxn, options = {}) => {
233
293
  useSpace,
234
294
  useSpaceInvitation,
235
295
  useSpaceInvitations,
296
+ useSpaceSyncState,
236
297
  useSpaces,
237
298
  useSubscription,
299
+ useSyncState,
238
300
  ...require("@dxos/client/echo")
239
301
  });
240
302
  //# sourceMappingURL=index.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/echo/index.ts", "../../../../src/echo/useMembers.ts", "../../../../src/echo/useSpaces.ts", "../../../../src/echo/useQuery.ts", "../../../../src/echo/useSchema.ts", "../../../../src/echo/useSpaceInvitations.ts", "../../../../src/echo/useSubscription.ts", "../../../../src/echo/useQueue.ts"],
4
- "sourcesContent": ["//\n// Copyright 2020 DXOS.org\n//\n\nexport * from '@dxos/client/echo';\n\nexport * from './useMembers';\nexport * from './useQuery';\nexport * from './useSchema';\nexport * from './useSpaces';\nexport * from './useSpaceInvitations';\nexport * from './useSubscription';\nexport * from './useQueue';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { MulticastObservable } from '@dxos/async';\nimport { type PublicKey } from '@dxos/client';\nimport { HaloSpaceMember, type SpaceMember } from '@dxos/client/echo';\nimport { useMulticastObservable } from '@dxos/react-hooks';\n\nimport { useSpaces } from './useSpaces';\n\nexport const useMembers = (spaceKey: PublicKey | undefined): SpaceMember[] => {\n // TODO(dmaretskyi): useSpace hook for spaces that are not ready.\n const spaces = useSpaces({ all: true });\n const space = spaceKey ? spaces.find((space) => space.key.equals(spaceKey)) : undefined;\n\n // EMPTY_OBSERVABLE needs to be a stable reference to avoid re-subscribing on every render.\n const members = useMulticastObservable(space?.members ?? MulticastObservable.empty()) ?? [];\n return members.filter((member) => member.role !== HaloSpaceMember.Role.REMOVED);\n};\n", "//\n// Copyright 2020 DXOS.org\n//\n\nimport { useEffect, useState } from 'react';\n\nimport { type PublicKeyLike } from '@dxos/client';\nimport { type Space, SpaceState } from '@dxos/client/echo';\nimport { useMulticastObservable } from '@dxos/react-hooks';\n\nimport { useClient } from '../client';\n\n/**\n * Get a specific Space using its key.\n * The space is not guaranteed to be in the ready state.\n * Returns the default space if no key is provided.\n * Requires a ClientProvider somewhere in the parent tree.\n *\n * @param spaceKeyLike the key of the space to look for\n */\nexport const useSpace = (spaceKeyLike?: PublicKeyLike): Space | undefined => {\n const client = useClient();\n const spaces = useMulticastObservable<Space[]>(client.spaces);\n const [ready, setReady] = useState(false);\n\n useEffect(() => {\n // Only wait for ready if looking for the default space.\n if (spaceKeyLike) {\n return;\n }\n\n const timeout = setTimeout(async () => {\n await client.spaces.waitUntilReady();\n setReady(true);\n });\n\n return () => clearTimeout(timeout);\n }, [client, spaceKeyLike]);\n\n if (spaceKeyLike) {\n return spaces.find((space) => space.key.equals(spaceKeyLike) || space.id === spaceKeyLike);\n }\n\n if (ready && client.halo.identity.get()) {\n return client.spaces.default;\n }\n};\n\nexport type UseSpacesParams = {\n /**\n * Return uninitialized spaces as well.\n */\n all?: boolean;\n};\n\n/**\n * Get all Spaces available to current user.\n * Requires a ClientProvider somewhere in the parent tree.\n * By default, only ready spaces are returned.\n * @returns an array of Spaces\n */\nexport const useSpaces = ({ all = false }: UseSpacesParams = {}): Space[] => {\n const client = useClient();\n const spaces = useMulticastObservable<Space[]>(client.spaces);\n\n // TODO(dmaretskyi): Array reference equality.\n return spaces.filter((space) => all || space.state.get() === SpaceState.SPACE_READY);\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { useMemo, useSyncExternalStore } from 'react';\n\nimport {\n isSpace,\n type Echo,\n type FilterSource,\n Filter,\n type Query,\n type QueryOptions,\n type ReactiveEchoObject,\n type Space,\n} from '@dxos/client/echo';\n\n/**\n * Create subscription.\n */\n// TODO(burdon): Support typed operator filters (e.g., Note.filter(note => ...)).\nexport const useQuery = <T extends ReactiveEchoObject<any>>(\n spaceOrEcho?: Space | Echo,\n filter?: FilterSource<T>,\n options?: QueryOptions,\n deps?: any[],\n): T[] => {\n const { getObjects, subscribe } = useMemo(() => {\n let subscribed = false;\n const query = isSpace(spaceOrEcho)\n ? spaceOrEcho.db.query(filter, options)\n : (spaceOrEcho?.query(filter, options) as Query<T> | undefined);\n\n return {\n getObjects: () => (subscribed && query ? query.objects : EMPTY_ARRAY),\n subscribe: (cb: () => void) => {\n subscribed = true;\n const unsubscribe = query?.subscribe(cb) ?? noop;\n return () => {\n unsubscribe?.();\n subscribed = false;\n };\n },\n };\n }, [spaceOrEcho, ...filterToDepsArray(filter), ...(deps ?? [])]);\n\n // https://beta.reactjs.org/reference/react/useSyncExternalStore\n // NOTE: This hook will resubscribe whenever the callback passed to the first argument changes; make sure it is stable.\n const objects = useSyncExternalStore<T[] | undefined>(subscribe, getObjects);\n return objects ?? [];\n};\n\nconst filterToDepsArray = (filter?: FilterSource<any>) => [JSON.stringify(Filter.from(filter).toProto())];\n\nconst noop = () => {};\n\nconst EMPTY_ARRAY: never[] = [];\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useMemo, useSyncExternalStore } from 'react';\n\nimport { type Client } from '@dxos/client';\nimport { type Space } from '@dxos/client/echo';\nimport { ImmutableSchema, type BaseSchema } from '@dxos/echo-schema';\n\n/**\n * Subscribe to and retrieve schema changes from a space's schema registry.\n */\nexport const useSchema = (\n client: Client,\n space: Space | undefined,\n typename: string | undefined,\n): BaseSchema | undefined => {\n const { subscribe, getSchema } = useMemo(() => {\n if (!typename || !space) {\n return {\n subscribe: () => () => {},\n getSchema: () => undefined,\n };\n }\n\n const staticSchema = client.graph.schemaRegistry.getSchema(typename);\n if (staticSchema) {\n // Don't inline into getSchema, need a stable reference.\n const immutableSchema = new ImmutableSchema(staticSchema);\n return {\n subscribe: () => () => {},\n getSchema: () => immutableSchema,\n };\n }\n\n const query = space.db.schemaRegistry.query({ typename });\n const initialResult: BaseSchema = query.runSync()[0];\n let currentSchema = initialResult;\n\n return {\n subscribe: (onStoreChange: () => void) => {\n const unsubscribe = query.subscribe(() => {\n currentSchema = query.results[0];\n onStoreChange();\n });\n\n return unsubscribe;\n },\n getSchema: () => currentSchema,\n };\n }, [typename, space]);\n\n return useSyncExternalStore(subscribe, getSchema);\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { MulticastObservable } from '@dxos/async';\nimport { type PublicKey } from '@dxos/client';\nimport { useMulticastObservable } from '@dxos/react-hooks';\n\nimport { useSpace } from './useSpaces';\nimport { type CancellableInvitationObservable, useInvitationStatus } from '../invitations';\n\nexport const useSpaceInvitations = (spaceKey?: PublicKey): CancellableInvitationObservable[] => {\n const space = useSpace(spaceKey);\n return useMulticastObservable(space?.invitations ?? MulticastObservable.empty()) ?? [];\n};\n\nexport const useSpaceInvitation = (spaceKey?: PublicKey, invitationId?: string) => {\n const invitations = useSpaceInvitations(spaceKey);\n const invitation = useMemo(\n () => invitations.find((invitation) => invitation.get().invitationId === invitationId),\n [invitations],\n );\n return useInvitationStatus(invitation);\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { useEffect, useRef } from 'react';\n\nimport { type Selection, type SubscriptionHandle, createSubscription } from '@dxos/client/echo';\n\n/**\n * Create reactive selection.\n * Calls the callback when the selection changes and during the first render.\n */\n// TODO(wittjosiah): Is this still needed with signals reactivity? If not, remove or update jsdoc with usage info.\nexport const useSubscription = (cb: () => void, selection: Selection) => {\n // Make sure that the callback is always the one from the latest render.\n // Without this, we would always call the callback from the initial render,\n // which might contain stale data.\n const callbackRef = useRef(cb);\n callbackRef.current = cb;\n\n const subscriptionRef = useRef<SubscriptionHandle>();\n\n useEffect(() => {\n subscriptionRef.current = createSubscription(() => {\n callbackRef.current();\n });\n\n return () => subscriptionRef.current?.unsubscribe();\n }, []);\n\n subscriptionRef.current?.update(selection);\n return subscriptionRef.current;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useEffect, useMemo, useRef } from 'react';\n\nimport type { Queue } from '@dxos/client/echo';\nimport { raise } from '@dxos/debug';\nimport type { BaseEchoObject } from '@dxos/echo-schema';\nimport { type DXN } from '@dxos/keys';\n\nimport { useClient } from '../client';\n\nconst MIN_POLL_INTERVAL = 1_000;\n\nexport type UseQueueOptions = {\n pollInterval?: number;\n};\n\n/**\n * Polls the given Edge queue.\n */\n// TODO(burdon): Replace polling with socket?\n// TODO(dmaretskyi): Move into client package.\n// TODO(dmaretskyi): Consider passing the space into the hook to support queue DXNs without space id.\n// TODO(ZaymonFC): If queue is unchanged returned object should be refferentially stable on poll.\nexport const useQueue = <T extends BaseEchoObject>(\n queueDxn?: DXN,\n options: UseQueueOptions = {},\n): Queue<T> | undefined => {\n const client = useClient();\n const mountedRef = useRef(true);\n\n const queue = useMemo<Queue<T> | undefined>(() => {\n if (!queueDxn) {\n return undefined;\n }\n const { spaceId } = queueDxn.asQueueDXN() ?? raise(new TypeError('Invalid queue DXN'));\n return client.spaces.get(spaceId)?.queues.get<T>(queueDxn);\n }, [client, queueDxn?.toString()]);\n\n useEffect(() => {\n void queue?.refresh();\n }, [queue]);\n\n useEffect(() => {\n let timeout: NodeJS.Timeout;\n mountedRef.current = true;\n\n const poll = () => {\n if (!mountedRef.current) {\n return;\n }\n\n void queue?.refresh().finally(() => {\n if (mountedRef.current && options.pollInterval) {\n timeout = setTimeout(poll, Math.max(options.pollInterval ?? 0, MIN_POLL_INTERVAL));\n }\n });\n };\n\n if (options.pollInterval) {\n poll();\n }\n\n return () => {\n mountedRef.current = false;\n clearTimeout(timeout);\n };\n }, [queue, options.pollInterval]);\n\n return queue;\n};\n"],
5
- "mappings": "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",
6
- "names": ["import_echo", "import_react_hooks", "import_react", "import_async", "useSpace", "spaceKeyLike", "client", "useClient", "spaces", "useMulticastObservable", "ready", "setReady", "useState", "useEffect", "timeout", "setTimeout", "waitUntilReady", "clearTimeout", "find", "space", "key", "equals", "id", "halo", "identity", "get", "default", "useSpaces", "all", "filter", "state", "SpaceState", "SPACE_READY", "useMembers", "spaceKey", "undefined", "members", "MulticastObservable", "empty", "member", "role", "HaloSpaceMember", "Role", "REMOVED", "useQuery", "spaceOrEcho", "options", "deps", "getObjects", "subscribe", "useMemo", "subscribed", "query", "isSpace", "db", "objects", "EMPTY_ARRAY", "cb", "unsubscribe", "noop", "filterToDepsArray", "useSyncExternalStore", "JSON", "stringify", "Filter", "from", "toProto", "useSchema", "typename", "getSchema", "staticSchema", "graph", "schemaRegistry", "immutableSchema", "ImmutableSchema", "initialResult", "runSync", "currentSchema", "onStoreChange", "results", "useSpaceInvitations", "invitations", "useSpaceInvitation", "invitationId", "invitation", "useInvitationStatus", "useSubscription", "selection", "callbackRef", "useRef", "current", "subscriptionRef", "createSubscription", "update", "MIN_POLL_INTERVAL", "useQueue", "queueDxn", "mountedRef", "queue", "spaceId", "asQueueDXN", "raise", "TypeError", "queues", "toString", "refresh", "poll", "finally", "pollInterval", "Math", "max"]
3
+ "sources": ["../../../../src/echo/index.ts", "../../../../src/echo/useMembers.ts", "../../../../src/echo/useSpaces.ts", "../../../../src/echo/useQuery.ts", "../../../../src/echo/useQueue.ts", "../../../../src/echo/useSchema.ts", "../../../../src/echo/useSpaceInvitations.ts", "../../../../src/echo/useSubscription.ts", "../../../../src/echo/useSyncState.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2020 DXOS.org\n//\n\nexport * from '@dxos/client/echo';\n\nexport * from './useMembers';\nexport * from './useQuery';\nexport * from './useQueue';\nexport * from './useSchema';\nexport * from './useSpaces';\nexport * from './useSpaceInvitations';\nexport * from './useSubscription';\nexport * from './useSyncState';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { MulticastObservable } from '@dxos/async';\nimport { type PublicKey } from '@dxos/client';\nimport { HaloSpaceMember, type SpaceMember } from '@dxos/client/echo';\nimport { useMulticastObservable } from '@dxos/react-hooks';\n\nimport { useSpaces } from './useSpaces';\n\nexport const useMembers = (spaceKey: PublicKey | undefined): SpaceMember[] => {\n // TODO(dmaretskyi): useSpace hook for spaces that are not ready.\n const spaces = useSpaces({ all: true });\n const space = spaceKey ? spaces.find((space) => space.key.equals(spaceKey)) : undefined;\n\n // EMPTY_OBSERVABLE needs to be a stable reference to avoid re-subscribing on every render.\n const members = useMulticastObservable(space?.members ?? MulticastObservable.empty()) ?? [];\n return members.filter((member) => member.role !== HaloSpaceMember.Role.REMOVED);\n};\n", "//\n// Copyright 2020 DXOS.org\n//\n\nimport { useEffect, useState } from 'react';\n\nimport { type PublicKeyLike } from '@dxos/client';\nimport { type Space, SpaceState } from '@dxos/client/echo';\nimport { useMulticastObservable } from '@dxos/react-hooks';\n\nimport { useClient } from '../client';\n\n/**\n * Get a specific Space using its key.\n * The space is not guaranteed to be in the ready state.\n * Returns the default space if no key is provided.\n * Requires a ClientProvider somewhere in the parent tree.\n *\n * @param spaceKeyLike the key of the space to look for\n */\nexport const useSpace = (spaceKeyLike?: PublicKeyLike): Space | undefined => {\n const client = useClient();\n const spaces = useMulticastObservable<Space[]>(client.spaces);\n const [ready, setReady] = useState(false);\n\n useEffect(() => {\n // Only wait for ready if looking for the default space.\n if (spaceKeyLike) {\n return;\n }\n\n const timeout = setTimeout(async () => {\n await client.spaces.waitUntilReady();\n setReady(true);\n });\n\n return () => clearTimeout(timeout);\n }, [client, spaceKeyLike]);\n\n if (spaceKeyLike) {\n return spaces.find((space) => space.key.equals(spaceKeyLike) || space.id === spaceKeyLike);\n }\n\n if (ready && client.halo.identity.get()) {\n return client.spaces.default;\n }\n};\n\nexport type UseSpacesParams = {\n /**\n * Return uninitialized spaces as well.\n */\n all?: boolean;\n};\n\n/**\n * Get all Spaces available to current user.\n * Requires a ClientProvider somewhere in the parent tree.\n * By default, only ready spaces are returned.\n * @returns an array of Spaces\n */\nexport const useSpaces = ({ all = false }: UseSpacesParams = {}): Space[] => {\n const client = useClient();\n const spaces = useMulticastObservable<Space[]>(client.spaces);\n\n // TODO(dmaretskyi): Array reference equality.\n return spaces.filter((space) => all || space.state.get() === SpaceState.SPACE_READY);\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { useMemo, useSyncExternalStore } from 'react';\n\nimport { type Echo, Filter, type Live, Query, type Space, isSpace } from '@dxos/client/echo';\n\nconst EMPTY_ARRAY: never[] = [];\n\nconst noop = () => {};\n\n// TODO(dmaretskyi): Queries are fully serializable, so we can remove `deps` argument.\ninterface UseQueryFn {\n <Q extends Query.Any>(spaceOrEcho: Space | Echo | undefined, query: Q, deps?: any[]): Live<Query.Type<Q>>[];\n\n <F extends Filter.Any>(spaceOrEcho: Space | Echo | undefined, filter: F, deps?: any[]): Live<Filter.Type<F>>[];\n}\n\n/**\n * Create subscription.\n */\nexport const useQuery: UseQueryFn = (\n spaceOrEcho: Space | Echo | undefined,\n queryOrFilter: Query.Any | Filter.Any,\n deps?: any[],\n): Live<unknown>[] => {\n const query = Filter.is(queryOrFilter) ? Query.select(queryOrFilter) : queryOrFilter;\n\n const { getObjects, subscribe } = useMemo(() => {\n let subscribed = false;\n const queryResult =\n spaceOrEcho === undefined\n ? undefined\n : isSpace(spaceOrEcho)\n ? spaceOrEcho.db.query(query)\n : spaceOrEcho.query(query);\n\n return {\n getObjects: () => (subscribed && queryResult ? queryResult.objects : EMPTY_ARRAY),\n subscribe: (cb: () => void) => {\n subscribed = true;\n const unsubscribe = queryResult?.subscribe(cb) ?? noop;\n return () => {\n unsubscribe?.();\n subscribed = false;\n };\n },\n };\n }, [spaceOrEcho, JSON.stringify(query.ast), ...(deps ?? [])]);\n\n // https://beta.reactjs.org/reference/react/useSyncExternalStore\n // NOTE: This hook will resubscribe whenever the callback passed to the first argument changes; make sure it is stable.\n const objects = useSyncExternalStore<Live<unknown>[] | undefined>(subscribe, getObjects);\n return objects ?? [];\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useEffect, useMemo, useRef } from 'react';\n\nimport { type Queue } from '@dxos/client/echo';\nimport { raise } from '@dxos/debug';\nimport { type BaseEchoObject } from '@dxos/echo-schema';\nimport { type DXN } from '@dxos/keys';\n\nimport { useClient } from '../client';\n\nconst MIN_POLL_INTERVAL = 1_000;\n\nexport type UseQueueOptions = {\n pollInterval?: number;\n};\n\n/**\n * Polls the given Edge queue.\n */\n// TODO(burdon): Replace polling with socket?\n// TODO(dmaretskyi): Move into client package.\n// TODO(dmaretskyi): Consider passing the space into the hook to support queue DXNs without space id.\n// TODO(ZaymonFC): If queue is unchanged returned object should be refferentially stable on poll.\nexport const useQueue = <T extends BaseEchoObject>(\n queueDxn?: DXN,\n options: UseQueueOptions = {},\n): Queue<T> | undefined => {\n const client = useClient();\n const mountedRef = useRef(true);\n\n const queue = useMemo<Queue<T> | undefined>(() => {\n if (!queueDxn) {\n return undefined;\n }\n\n const { spaceId } = queueDxn.asQueueDXN() ?? raise(new TypeError('Invalid queue DXN'));\n return client.spaces.get(spaceId)?.queues.get<T>(queueDxn);\n }, [client, queueDxn?.toString()]);\n\n useEffect(() => {\n void queue?.refresh();\n }, [queue]);\n\n useEffect(() => {\n let timeout: NodeJS.Timeout;\n mountedRef.current = true;\n\n const poll = () => {\n if (!mountedRef.current) {\n return;\n }\n\n void queue?.refresh().finally(() => {\n if (mountedRef.current && options.pollInterval) {\n timeout = setTimeout(poll, Math.max(options.pollInterval ?? 0, MIN_POLL_INTERVAL));\n }\n });\n };\n\n if (options.pollInterval) {\n poll();\n }\n\n return () => {\n mountedRef.current = false;\n clearTimeout(timeout);\n };\n }, [queue, options.pollInterval]);\n\n return queue;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Schema } from 'effect';\nimport { useMemo, useSyncExternalStore } from 'react';\n\nimport { type Client } from '@dxos/client';\nimport { type Space } from '@dxos/client/echo';\nimport { type BaseSchema } from '@dxos/echo-schema';\n\n/**\n * Subscribe to and retrieve schema changes from a space's schema registry.\n */\nexport const useSchema = (\n client: Client,\n space: Space | undefined,\n typename: string | undefined,\n): Schema.Schema.AnyNoContext | undefined => {\n const { subscribe, getSchema } = useMemo(() => {\n if (!typename || !space) {\n return {\n subscribe: () => () => {},\n getSchema: () => undefined,\n };\n }\n\n const staticSchema = client.graph.schemaRegistry.getSchema(typename);\n if (staticSchema) {\n return {\n subscribe: () => () => {},\n getSchema: () => staticSchema,\n };\n }\n\n const query = space.db.schemaRegistry.query({ typename });\n const initialResult: BaseSchema = query.runSync()[0];\n let currentSchema = initialResult;\n\n return {\n subscribe: (onStoreChange: () => void) => {\n const unsubscribe = query.subscribe(() => {\n currentSchema = query.results[0];\n onStoreChange();\n });\n\n return unsubscribe;\n },\n getSchema: () => currentSchema,\n };\n }, [typename, space]);\n\n return useSyncExternalStore(subscribe, getSchema);\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { MulticastObservable } from '@dxos/async';\nimport { type PublicKey } from '@dxos/client';\nimport { useMulticastObservable } from '@dxos/react-hooks';\n\nimport { useSpace } from './useSpaces';\nimport { type CancellableInvitationObservable, useInvitationStatus } from '../invitations';\n\nexport const useSpaceInvitations = (spaceKey?: PublicKey): CancellableInvitationObservable[] => {\n const space = useSpace(spaceKey);\n return useMulticastObservable(space?.invitations ?? MulticastObservable.empty()) ?? [];\n};\n\nexport const useSpaceInvitation = (spaceKey?: PublicKey, invitationId?: string) => {\n const invitations = useSpaceInvitations(spaceKey);\n const invitation = useMemo(\n () => invitations.find((invitation) => invitation.get().invitationId === invitationId),\n [invitations],\n );\n return useInvitationStatus(invitation);\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { useEffect, useRef } from 'react';\n\nimport { type Selection, type SubscriptionHandle, createSubscription } from '@dxos/client/echo';\n\n/**\n * Create reactive selection.\n * Calls the callback when the selection changes and during the first render.\n */\n// TODO(wittjosiah): Is this still needed with signals reactivity? If not, remove or update jsdoc with usage info.\nexport const useSubscription = (cb: () => void, selection: Selection) => {\n // Make sure that the callback is always the one from the latest render.\n // Without this, we would always call the callback from the initial render,\n // which might contain stale data.\n const callbackRef = useRef(cb);\n callbackRef.current = cb;\n\n const subscriptionRef = useRef<SubscriptionHandle>();\n\n useEffect(() => {\n subscriptionRef.current = createSubscription(() => {\n callbackRef.current();\n });\n\n return () => subscriptionRef.current?.unsubscribe();\n }, []);\n\n subscriptionRef.current?.update(selection);\n return subscriptionRef.current;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useEffect, useState } from 'react';\n\nimport { type PeerSyncState, type SpaceSyncStateMap, type Space } from '@dxos/client/echo';\nimport { Context } from '@dxos/context';\nimport { type SpaceId } from '@dxos/keys';\nimport { EdgeService } from '@dxos/protocols';\n\nimport { useClient } from '../client';\n\nconst isEdgePeerId = (peerId: string, spaceId: SpaceId) =>\n peerId.startsWith(`${EdgeService.AUTOMERGE_REPLICATOR}:${spaceId}`);\n\n/**\n * Hook Subscribes to sync state for each space.\n */\nexport const useSyncState = (): SpaceSyncStateMap => {\n const client = useClient();\n const [spaceState, setSpaceState] = useState<SpaceSyncStateMap>({});\n\n useEffect(() => {\n const ctx = new Context();\n const createSubscriptions = (spaces: Space[]) => {\n for (const space of spaces) {\n if (spaceState[space.id]) {\n continue;\n }\n\n ctx.onDispose(\n space.crud.subscribeToSyncState(ctx, ({ peers = [] }) => {\n const syncState = peers.find((state) => isEdgePeerId(state.peerId, space.id));\n if (syncState) {\n setSpaceState((spaceState) => ({ ...spaceState, [space.id]: syncState }));\n }\n }),\n );\n }\n };\n\n createSubscriptions(client.spaces.get());\n client.spaces.subscribe((spaces) => {\n createSubscriptions(spaces);\n });\n\n return () => {\n void ctx.dispose();\n };\n }, [client]);\n\n return spaceState;\n};\n\n/**\n * Hook Subscribes to sync state for a single space.\n */\n// TODO(wittjosiah): Reconcile w/ useSyncState.\nexport const useSpaceSyncState = (space: Space): PeerSyncState | undefined => {\n const [spaceState, setSpaceState] = useState<PeerSyncState>();\n\n useEffect(() => {\n const ctx = new Context();\n space.crud.subscribeToSyncState(ctx, ({ peers = [] }) => {\n const syncState = peers.find((state) => isEdgePeerId(state.peerId, space.id));\n if (syncState) {\n setSpaceState(syncState);\n }\n });\n\n return () => {\n void ctx.dispose();\n };\n }, [space]);\n\n return spaceState;\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["import_echo", "import_react_hooks", "import_react", "import_async", "useSpace", "spaceKeyLike", "client", "useClient", "spaces", "useMulticastObservable", "ready", "setReady", "useState", "useEffect", "timeout", "setTimeout", "waitUntilReady", "clearTimeout", "find", "space", "key", "equals", "id", "halo", "identity", "get", "default", "useSpaces", "all", "filter", "state", "SpaceState", "SPACE_READY", "useMembers", "spaceKey", "undefined", "members", "MulticastObservable", "empty", "member", "role", "HaloSpaceMember", "Role", "REMOVED", "EMPTY_ARRAY", "noop", "useQuery", "spaceOrEcho", "queryOrFilter", "deps", "query", "Filter", "is", "Query", "select", "getObjects", "subscribe", "useMemo", "subscribed", "queryResult", "isSpace", "db", "objects", "cb", "unsubscribe", "JSON", "stringify", "ast", "useSyncExternalStore", "MIN_POLL_INTERVAL", "useQueue", "queueDxn", "options", "mountedRef", "useRef", "queue", "spaceId", "asQueueDXN", "raise", "TypeError", "queues", "toString", "refresh", "current", "poll", "finally", "pollInterval", "Math", "max", "useSchema", "typename", "getSchema", "staticSchema", "graph", "schemaRegistry", "initialResult", "runSync", "currentSchema", "onStoreChange", "results", "useSpaceInvitations", "invitations", "useSpaceInvitation", "invitationId", "invitation", "useInvitationStatus", "useSubscription", "selection", "callbackRef", "subscriptionRef", "createSubscription", "update", "isEdgePeerId", "peerId", "startsWith", "EdgeService", "AUTOMERGE_REPLICATOR", "useSyncState", "spaceState", "setSpaceState", "ctx", "Context", "createSubscriptions", "onDispose", "crud", "subscribeToSyncState", "peers", "syncState", "dispose", "useSpaceSyncState"]
7
7
  }