@dxos/react-client 0.8.3 → 0.8.4-main.1da679c

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 (369) hide show
  1. package/.swc/plugins/linux_x86_64_19.0.0/727453fb3a62f7f1d952a41e051ca8a6f88cadc45cee43c6a4d1aa45f9b75665.wasmer-v7 +0 -0
  2. package/dist/lib/browser/{chunk-AL2CUQ46.mjs → chunk-BXOLJYAY.mjs} +5 -5
  3. package/dist/lib/{node-esm/chunk-UYJUBYMU.mjs.map → browser/chunk-BXOLJYAY.mjs.map} +3 -3
  4. package/dist/lib/browser/{chunk-72QD3PXL.mjs → chunk-TA2HGRAF.mjs} +76 -79
  5. package/dist/lib/browser/chunk-TA2HGRAF.mjs.map +7 -0
  6. package/dist/lib/browser/devtools/index.mjs +6 -6
  7. package/dist/lib/browser/devtools/index.mjs.map +3 -3
  8. package/dist/lib/browser/echo/index.mjs +28 -31
  9. package/dist/lib/browser/echo/index.mjs.map +3 -3
  10. package/dist/lib/browser/halo/index.mjs +28 -13
  11. package/dist/lib/browser/halo/index.mjs.map +3 -3
  12. package/dist/lib/browser/index.mjs +2 -2
  13. package/dist/lib/browser/invitations/index.mjs +1 -1
  14. package/dist/lib/browser/mesh/index.mjs +3 -3
  15. package/dist/lib/browser/meta.json +1 -1
  16. package/dist/lib/browser/testing/index.mjs +41 -43
  17. package/dist/lib/browser/testing/index.mjs.map +3 -3
  18. package/dist/lib/browser/worker.mjs +1 -1
  19. package/dist/lib/node-esm/{chunk-UYJUBYMU.mjs → chunk-256IHY6F.mjs} +5 -5
  20. package/dist/lib/{browser/chunk-AL2CUQ46.mjs.map → node-esm/chunk-256IHY6F.mjs.map} +3 -3
  21. package/dist/lib/node-esm/{chunk-NBTZZNQ5.mjs → chunk-ZJMNF7GC.mjs} +76 -79
  22. package/dist/lib/node-esm/chunk-ZJMNF7GC.mjs.map +7 -0
  23. package/dist/lib/node-esm/devtools/index.mjs +6 -6
  24. package/dist/lib/node-esm/devtools/index.mjs.map +3 -3
  25. package/dist/lib/node-esm/echo/index.mjs +28 -31
  26. package/dist/lib/node-esm/echo/index.mjs.map +3 -3
  27. package/dist/lib/node-esm/halo/index.mjs +28 -13
  28. package/dist/lib/node-esm/halo/index.mjs.map +3 -3
  29. package/dist/lib/node-esm/index.mjs +2 -2
  30. package/dist/lib/node-esm/invitations/index.mjs +1 -1
  31. package/dist/lib/node-esm/mesh/index.mjs +3 -3
  32. package/dist/lib/node-esm/meta.json +1 -1
  33. package/dist/lib/node-esm/testing/index.mjs +41 -43
  34. package/dist/lib/node-esm/testing/index.mjs.map +3 -3
  35. package/dist/lib/node-esm/worker.mjs +1 -1
  36. package/dist/types/src/client/AgentHostingProvider.d.ts.map +1 -1
  37. package/dist/types/src/client/ClientProvider.d.ts.map +1 -1
  38. package/dist/types/src/echo/useQuery.d.ts +3 -3
  39. package/dist/types/src/echo/useQuery.d.ts.map +1 -1
  40. package/dist/types/src/echo/useSpaceInvitations.d.ts.map +1 -1
  41. package/dist/types/src/echo/useSpaces.d.ts.map +1 -1
  42. package/dist/types/src/echo/useSyncState.d.ts +1 -1
  43. package/dist/types/src/echo/useSyncState.d.ts.map +1 -1
  44. package/dist/types/src/halo/Passkey.stories.d.ts +5 -5
  45. package/dist/types/src/halo/Passkey.stories.d.ts.map +1 -1
  46. package/dist/types/src/halo/useHaloInvitations.d.ts.map +1 -1
  47. package/dist/types/src/playwright/{playwright.config.d.cts → playwright.config.d.ts} +1 -1
  48. package/dist/types/src/playwright/playwright.config.d.ts.map +1 -0
  49. package/dist/types/src/testing/ClientRepeater.d.ts.map +1 -1
  50. package/dist/types/src/testing/ClientRepeater.stories.d.ts +6 -9
  51. package/dist/types/src/testing/ClientRepeater.stories.d.ts.map +1 -1
  52. package/dist/types/src/testing/withClientProvider.d.ts +1 -1
  53. package/dist/types/src/testing/withClientProvider.d.ts.map +1 -1
  54. package/dist/types/src/testing/withClientProvider.stories.d.ts +7 -9
  55. package/dist/types/src/testing/withClientProvider.stories.d.ts.map +1 -1
  56. package/dist/types/tsconfig.tsbuildinfo +1 -1
  57. package/moon.yml +19 -0
  58. package/package.json +33 -25
  59. package/src/client/AgentHostingProvider.tsx +1 -1
  60. package/src/client/ClientProvider.test.tsx +3 -2
  61. package/src/client/ClientProvider.tsx +33 -36
  62. package/src/client/useConfig.test.tsx +2 -1
  63. package/src/devtools/useStream.ts +1 -1
  64. package/src/echo/useQuery.test.tsx +2 -1
  65. package/src/echo/useQuery.ts +12 -4
  66. package/src/echo/useSpaceInvitations.ts +2 -1
  67. package/src/echo/useSpaces.test.tsx +2 -1
  68. package/src/echo/useSpaces.ts +5 -9
  69. package/src/echo/useSyncState.ts +3 -3
  70. package/src/halo/Passkey.stories.tsx +12 -6
  71. package/src/halo/useDevices.test.tsx +2 -1
  72. package/src/halo/useHaloInvitations.ts +1 -1
  73. package/src/invitations/useInvitationStatus.ts +1 -1
  74. package/src/playwright/playwright.config.ts +17 -0
  75. package/src/playwright/smoke.spec.ts +4 -6
  76. package/src/testing/ClientRepeater.stories.tsx +11 -5
  77. package/src/testing/ClientRepeater.tsx +20 -24
  78. package/src/testing/withClientProvider.stories.tsx +14 -8
  79. package/src/testing/withClientProvider.tsx +7 -6
  80. package/vitest.config.ts +1 -1
  81. package/.eslintrc.cjs +0 -12
  82. package/README.yml +0 -33
  83. package/dist/lib/browser/chunk-72QD3PXL.mjs.map +0 -7
  84. package/dist/lib/node/chunk-5RUIFUEC.cjs +0 -334
  85. package/dist/lib/node/chunk-5RUIFUEC.cjs.map +0 -7
  86. package/dist/lib/node/chunk-FYOAVV65.cjs +0 -188
  87. package/dist/lib/node/chunk-FYOAVV65.cjs.map +0 -7
  88. package/dist/lib/node/devtools/index.cjs +0 -62
  89. package/dist/lib/node/devtools/index.cjs.map +0 -7
  90. package/dist/lib/node/echo/index.cjs +0 -302
  91. package/dist/lib/node/echo/index.cjs.map +0 -7
  92. package/dist/lib/node/halo/index.cjs +0 -123
  93. package/dist/lib/node/halo/index.cjs.map +0 -7
  94. package/dist/lib/node/index.cjs +0 -55
  95. package/dist/lib/node/index.cjs.map +0 -7
  96. package/dist/lib/node/invitations/index.cjs +0 -39
  97. package/dist/lib/node/invitations/index.cjs.map +0 -7
  98. package/dist/lib/node/mesh/index.cjs +0 -37
  99. package/dist/lib/node/mesh/index.cjs.map +0 -7
  100. package/dist/lib/node/meta.json +0 -1
  101. package/dist/lib/node/testing/index.cjs +0 -278
  102. package/dist/lib/node/testing/index.cjs.map +0 -7
  103. package/dist/lib/node/worker.cjs +0 -23
  104. package/dist/lib/node/worker.cjs.map +0 -7
  105. package/dist/lib/node-esm/chunk-NBTZZNQ5.mjs.map +0 -7
  106. package/dist/types/src/playwright/playwright.config.d.cts.map +0 -1
  107. package/project.json +0 -40
  108. package/src/playwright/playwright.config.cts +0 -18
  109. package/typedoc/.nojekyll +0 -1
  110. package/typedoc/assets/hierarchy.js +0 -1
  111. package/typedoc/assets/highlight.css +0 -99
  112. package/typedoc/assets/icons.js +0 -18
  113. package/typedoc/assets/icons.svg +0 -1
  114. package/typedoc/assets/main.js +0 -60
  115. package/typedoc/assets/navigation.js +0 -1
  116. package/typedoc/assets/search.js +0 -1
  117. package/typedoc/assets/style.css +0 -1640
  118. package/typedoc/classes/echo.Hypergraph.html +0 -17
  119. package/typedoc/classes/echo.PropertiesType.html +0 -19
  120. package/typedoc/classes/echo.QueryResult.html +0 -18
  121. package/typedoc/classes/halo.KeyStore.html +0 -6
  122. package/typedoc/classes/index.AgentClientServiceProvider.html +0 -10
  123. package/typedoc/classes/index.AgentManagerClient.html +0 -22
  124. package/typedoc/classes/index.AlreadyJoinedError.html +0 -15
  125. package/typedoc/classes/index.ApiError.html +0 -16
  126. package/typedoc/classes/index.CancelledError.html +0 -16
  127. package/typedoc/classes/index.Client.html +0 -51
  128. package/typedoc/classes/index.ClientServicesProxy.html +0 -12
  129. package/typedoc/classes/index.Config.html +0 -17
  130. package/typedoc/classes/index.DataCorruptionError.html +0 -16
  131. package/typedoc/classes/index.DatabaseError.html +0 -15
  132. package/typedoc/classes/index.EntityNotFoundError.html +0 -15
  133. package/typedoc/classes/index.FakeAgentHostingProvider.html +0 -7
  134. package/typedoc/classes/index.IFrameManager.html +0 -6
  135. package/typedoc/classes/index.IdentityNotInitializedError.html +0 -15
  136. package/typedoc/classes/index.InvalidConfigError.html +0 -16
  137. package/typedoc/classes/index.InvalidInvitationError.html +0 -15
  138. package/typedoc/classes/index.InvalidInvitationExtensionRoleError.html +0 -16
  139. package/typedoc/classes/index.InvalidStorageVersionError.html +0 -15
  140. package/typedoc/classes/index.LocalClientServices.html +0 -12
  141. package/typedoc/classes/index.PublicKey.html +0 -55
  142. package/typedoc/classes/index.RemoteServiceConnectionError.html +0 -15
  143. package/typedoc/classes/index.RemoteServiceConnectionTimeout.html +0 -15
  144. package/typedoc/classes/index.RpcClosedError.html +0 -15
  145. package/typedoc/classes/index.RpcNotOpenError.html +0 -15
  146. package/typedoc/classes/index.SharedWorkerConnection.html +0 -5
  147. package/typedoc/classes/index.Shell.html +0 -35
  148. package/typedoc/classes/index.ShellManager.html +0 -9
  149. package/typedoc/classes/index.SystemError.html +0 -16
  150. package/typedoc/classes/index.UnknownModelError.html +0 -15
  151. package/typedoc/classes/index.WorkerClientServices.html +0 -12
  152. package/typedoc/classes/invitations.AuthenticatingInvitationObservable.html +0 -30
  153. package/typedoc/classes/invitations.CancellableInvitationObservable.html +0 -29
  154. package/typedoc/classes/invitations.InvitationEncoder.html +0 -5
  155. package/typedoc/classes/invitations.InvitationsProxy.html +0 -12
  156. package/typedoc/enums/devtools.KeyType.html +0 -9
  157. package/typedoc/enums/echo.HaloSpaceMember.Role.html +0 -9
  158. package/typedoc/enums/echo.IndexKind.Kind.html +0 -8
  159. package/typedoc/enums/echo.QueryOptions.DataLocation.html +0 -6
  160. package/typedoc/enums/echo.QueryOptions.ShowDeletedOption.html +0 -6
  161. package/typedoc/enums/echo.ResultFormat.html +0 -10
  162. package/typedoc/enums/echo.SpaceMember.PresenceState.html +0 -5
  163. package/typedoc/enums/echo.SpaceState.html +0 -13
  164. package/typedoc/enums/echo.TextKind.html +0 -5
  165. package/typedoc/enums/halo.Device.PresenceState.html +0 -6
  166. package/typedoc/enums/halo.DeviceKind.html +0 -5
  167. package/typedoc/enums/halo.DeviceType.html +0 -9
  168. package/typedoc/enums/index.ShellDisplay.html +0 -5
  169. package/typedoc/enums/index.ShellLayout.html +0 -13
  170. package/typedoc/enums/index.SystemStatus.html +0 -5
  171. package/typedoc/enums/invitations.Invitation.AuthMethod.html +0 -6
  172. package/typedoc/enums/invitations.Invitation.Kind.html +0 -5
  173. package/typedoc/enums/invitations.Invitation.State.html +0 -13
  174. package/typedoc/enums/invitations.Invitation.Type.html +0 -6
  175. package/typedoc/enums/mesh.ConnectionState.html +0 -5
  176. package/typedoc/functions/devtools.useDevtools.html +0 -1
  177. package/typedoc/functions/devtools.useStream.html +0 -2
  178. package/typedoc/functions/echo.useMembers.html +0 -1
  179. package/typedoc/functions/echo.useQueue.html +0 -2
  180. package/typedoc/functions/echo.useSchema.html +0 -2
  181. package/typedoc/functions/echo.useSpace.html +0 -6
  182. package/typedoc/functions/echo.useSpaceInvitation.html +0 -1
  183. package/typedoc/functions/echo.useSpaceInvitations.html +0 -1
  184. package/typedoc/functions/echo.useSpaceSyncState.html +0 -2
  185. package/typedoc/functions/echo.useSpaces.html +0 -5
  186. package/typedoc/functions/echo.useSubscription.html +0 -3
  187. package/typedoc/functions/echo.useSyncState.html +0 -2
  188. package/typedoc/functions/halo.useContacts.html +0 -4
  189. package/typedoc/functions/halo.useCredentials.html +0 -1
  190. package/typedoc/functions/halo.useDevices.html +0 -1
  191. package/typedoc/functions/halo.useHaloInvitation.html +0 -1
  192. package/typedoc/functions/halo.useHaloInvitations.html +0 -1
  193. package/typedoc/functions/halo.useIdentity.html +0 -3
  194. package/typedoc/functions/halo.useKeyStore.html +0 -3
  195. package/typedoc/functions/index.AgentHostingProvider.html +0 -2
  196. package/typedoc/functions/index.useAgentHostingClient.html +0 -1
  197. package/typedoc/functions/index.useClient.html +0 -3
  198. package/typedoc/functions/index.useClientStatus.html +0 -1
  199. package/typedoc/functions/index.useConfig.html +0 -3
  200. package/typedoc/functions/index.useShell.html +0 -2
  201. package/typedoc/functions/index.useShellDisplay.html +0 -2
  202. package/typedoc/functions/index.useStatus.html +0 -1
  203. package/typedoc/functions/invitations.useInvitationStatus.html +0 -1
  204. package/typedoc/functions/mesh.useNetworkStatus.html +0 -2
  205. package/typedoc/hierarchy.html +0 -1
  206. package/typedoc/index.html +0 -23
  207. package/typedoc/interfaces/devtools.DevtoolsHook.html +0 -22
  208. package/typedoc/interfaces/devtools.DevtoolsHost.html +0 -26
  209. package/typedoc/interfaces/echo.DocAccessor.html +0 -3
  210. package/typedoc/interfaces/echo.Echo.html +0 -39
  211. package/typedoc/interfaces/echo.EchoDatabase.html +0 -25
  212. package/typedoc/interfaces/echo.Expando.html +0 -3
  213. package/typedoc/interfaces/echo.Filter.html +0 -3
  214. package/typedoc/interfaces/echo.HaloSpaceMember.html +0 -18
  215. package/typedoc/interfaces/echo.IDocHandle.html +0 -6
  216. package/typedoc/interfaces/echo.IndexKind.html +0 -9
  217. package/typedoc/interfaces/echo.Query.html +0 -34
  218. package/typedoc/interfaces/echo.QueryOptions.html +0 -39
  219. package/typedoc/interfaces/echo.Queue.html +0 -17
  220. package/typedoc/interfaces/echo.Ref.html +0 -32
  221. package/typedoc/interfaces/echo.Space.html +0 -39
  222. package/typedoc/interfaces/echo.SpaceMember.html +0 -7
  223. package/typedoc/interfaces/echo.SpaceSyncState.PeerState.html +0 -14
  224. package/typedoc/interfaces/echo.SpaceSyncState.html +0 -4
  225. package/typedoc/interfaces/echo.SubscriptionHandle.html +0 -5
  226. package/typedoc/interfaces/echo.TypedObject.html +0 -16
  227. package/typedoc/interfaces/halo.Contact.html +0 -10
  228. package/typedoc/interfaces/halo.Credential.html +0 -27
  229. package/typedoc/interfaces/halo.Device.html +0 -11
  230. package/typedoc/interfaces/halo.Halo.html +0 -16
  231. package/typedoc/interfaces/halo.Identity.html +0 -15
  232. package/typedoc/interfaces/index.AgentHostingProviderClient.html +0 -6
  233. package/typedoc/interfaces/index.AppContextRequest.html +0 -33
  234. package/typedoc/interfaces/index.ClientServicesProvider.html +0 -9
  235. package/typedoc/interfaces/index.InvitationUrlRequest.html +0 -9
  236. package/typedoc/interfaces/index.LayoutRequest.html +0 -29
  237. package/typedoc/interfaces/index.ShellRuntime.html +0 -15
  238. package/typedoc/interfaces/invitations.Invitation.html +0 -92
  239. package/typedoc/interfaces/invitations.Invitations.html +0 -5
  240. package/typedoc/interfaces/mesh.GossipMessage.html +0 -10
  241. package/typedoc/interfaces/mesh.NetworkStatus.Signal.html +0 -5
  242. package/typedoc/interfaces/mesh.NetworkStatus.html +0 -6
  243. package/typedoc/media/LICENSE +0 -8
  244. package/typedoc/modules/devtools.html +0 -1
  245. package/typedoc/modules/echo.Filter.html +0 -1
  246. package/typedoc/modules/echo.HaloSpaceMember.html +0 -1
  247. package/typedoc/modules/echo.IndexKind.html +0 -1
  248. package/typedoc/modules/echo.Query.html +0 -1
  249. package/typedoc/modules/echo.QueryOptions.html +0 -1
  250. package/typedoc/modules/echo.Ref.html +0 -2
  251. package/typedoc/modules/echo.SpaceMember.html +0 -1
  252. package/typedoc/modules/echo.SpaceSyncState.html +0 -1
  253. package/typedoc/modules/echo.html +0 -1
  254. package/typedoc/modules/halo.Device.html +0 -1
  255. package/typedoc/modules/halo.html +0 -1
  256. package/typedoc/modules/index.html +0 -1
  257. package/typedoc/modules/invitations.Invitation.html +0 -1
  258. package/typedoc/modules/invitations.html +0 -1
  259. package/typedoc/modules/mesh.NetworkStatus.html +0 -1
  260. package/typedoc/modules/mesh.html +0 -1
  261. package/typedoc/modules/worker.html +0 -1
  262. package/typedoc/modules.html +0 -1
  263. package/typedoc/types/devtools.MountOptions.html +0 -3
  264. package/typedoc/types/echo.AnyLiveObject.html +0 -2
  265. package/typedoc/types/echo.Filter.And.html +0 -1
  266. package/typedoc/types/echo.Filter.Any.html +0 -1
  267. package/typedoc/types/echo.Filter.Or.html +0 -1
  268. package/typedoc/types/echo.Filter.Props.html +0 -1
  269. package/typedoc/types/echo.Filter.Type.html +0 -1
  270. package/typedoc/types/echo.Live.html +0 -5
  271. package/typedoc/types/echo.ObjectMeta.html +0 -1
  272. package/typedoc/types/echo.ObjectMigration.html +0 -7
  273. package/typedoc/types/echo.ObjectVersion.html +0 -2
  274. package/typedoc/types/echo.PeerSyncState.html +0 -1
  275. package/typedoc/types/echo.Progress.html +0 -3
  276. package/typedoc/types/echo.PropertiesTypeProps.html +0 -1
  277. package/typedoc/types/echo.Query.Any.html +0 -1
  278. package/typedoc/types/echo.Query.TextSearchOptions.html +0 -2
  279. package/typedoc/types/echo.Query.Type.html +0 -1
  280. package/typedoc/types/echo.Ref.Target.html +0 -2
  281. package/typedoc/types/echo.Selection.html +0 -1
  282. package/typedoc/types/echo.SpaceId.html +0 -6
  283. package/typedoc/types/echo.SpaceSyncStateMap.html +0 -1
  284. package/typedoc/types/echo.UseQueueOptions.html +0 -2
  285. package/typedoc/types/echo.UseSpacesParams.html +0 -3
  286. package/typedoc/types/index.AgentHostingProviderProps.html +0 -3
  287. package/typedoc/types/index.ClientContextProps.html +0 -3
  288. package/typedoc/types/index.ClientOptions.html +0 -12
  289. package/typedoc/types/index.ClientProviderProps.html +0 -2
  290. package/typedoc/types/index.ClientServices.html +0 -15
  291. package/typedoc/types/index.FromAgentOptions.html +0 -2
  292. package/typedoc/types/index.PublicKeyLike.html +0 -2
  293. package/typedoc/types/invitations.InvitationAction.html +0 -1
  294. package/typedoc/types/invitations.InvitationResult.html +0 -5
  295. package/typedoc/types/invitations.InvitationStatus.html +0 -15
  296. package/typedoc/variables/devtools.mountDevtoolsHooks.html +0 -1
  297. package/typedoc/variables/devtools.unmountDevtoolsHooks.html +0 -1
  298. package/typedoc/variables/echo.DocAccessor.html +0 -1
  299. package/typedoc/variables/echo.EchoObjectSchema.html +0 -1
  300. package/typedoc/variables/echo.Expando.html +0 -1
  301. package/typedoc/variables/echo.FQ_ID_LENGTH.html +0 -1
  302. package/typedoc/variables/echo.Filter.html +0 -1
  303. package/typedoc/variables/echo.OBJECT_ID_LENGTH.html +0 -1
  304. package/typedoc/variables/echo.ObjectVersion.html +0 -1
  305. package/typedoc/variables/echo.Query.html +0 -1
  306. package/typedoc/variables/echo.Queue.html +0 -1
  307. package/typedoc/variables/echo.ReactiveObjectSchema.html +0 -1
  308. package/typedoc/variables/echo.Ref.html +0 -2
  309. package/typedoc/variables/echo.RefArray.html +0 -2
  310. package/typedoc/variables/echo.SPACE_ID_LENGTH.html +0 -1
  311. package/typedoc/variables/echo.SpaceId.html +0 -1
  312. package/typedoc/variables/echo.SpaceSchema.html +0 -1
  313. package/typedoc/variables/echo.TypedObject.html +0 -3
  314. package/typedoc/variables/echo.compareForeignKeys.html +0 -1
  315. package/typedoc/variables/echo.createDocAccessor.html +0 -1
  316. package/typedoc/variables/echo.createEmptyEdgeSyncState.html +0 -1
  317. package/typedoc/variables/echo.createObject.html +0 -1
  318. package/typedoc/variables/echo.createQueueDXN.html +0 -2
  319. package/typedoc/variables/echo.createSubscription.html +0 -5
  320. package/typedoc/variables/echo.defineObjectMigration.html +0 -1
  321. package/typedoc/variables/echo.fromCursor.html +0 -1
  322. package/typedoc/variables/echo.fullyQualifiedId.html +0 -4
  323. package/typedoc/variables/echo.getMeta.html +0 -1
  324. package/typedoc/variables/echo.getObjectCore.html +0 -1
  325. package/typedoc/variables/echo.getRangeFromCursor.html +0 -1
  326. package/typedoc/variables/echo.getSchema.html +0 -2
  327. package/typedoc/variables/echo.getSource.html +0 -4
  328. package/typedoc/variables/echo.getSpace.html +0 -1
  329. package/typedoc/variables/echo.getSyncSummary.html +0 -1
  330. package/typedoc/variables/echo.getTarget.html +0 -4
  331. package/typedoc/variables/echo.getTextInRange.html +0 -2
  332. package/typedoc/variables/echo.getType.html +0 -5
  333. package/typedoc/variables/echo.getTypename.html +0 -6
  334. package/typedoc/variables/echo.getVersion.html +0 -3
  335. package/typedoc/variables/echo.importSpace.html +0 -1
  336. package/typedoc/variables/echo.internalDecodeReference.html +0 -1
  337. package/typedoc/variables/echo.isEchoObject.html +0 -2
  338. package/typedoc/variables/echo.isLiveObject.html +0 -2
  339. package/typedoc/variables/echo.isRelation.html +0 -2
  340. package/typedoc/variables/echo.isSpace.html +0 -1
  341. package/typedoc/variables/echo.live.html +0 -3
  342. package/typedoc/variables/echo.loadObjectReferences.html +0 -7
  343. package/typedoc/variables/echo.makeRef.html +0 -2
  344. package/typedoc/variables/echo.parseFullyQualifiedId.html +0 -2
  345. package/typedoc/variables/echo.parseId.html +0 -1
  346. package/typedoc/variables/echo.refFromDXN.html +0 -2
  347. package/typedoc/variables/echo.toCursor.html +0 -1
  348. package/typedoc/variables/echo.toCursorRange.html +0 -1
  349. package/typedoc/variables/echo.updateText.html +0 -6
  350. package/typedoc/variables/echo.useQuery.html +0 -2
  351. package/typedoc/variables/index.AgentHostingContext.html +0 -1
  352. package/typedoc/variables/index.ClientProvider.html +0 -3
  353. package/typedoc/variables/index.DXOS_VERSION.html +0 -1
  354. package/typedoc/variables/index.Defaults.html +0 -2
  355. package/typedoc/variables/index.Dynamics.html +0 -2
  356. package/typedoc/variables/index.Envs.html +0 -2
  357. package/typedoc/variables/index.Local.html +0 -2
  358. package/typedoc/variables/index.Remote.html +0 -1
  359. package/typedoc/variables/index.Storage.html +0 -2
  360. package/typedoc/variables/index.createClientServices.html +0 -4
  361. package/typedoc/variables/index.fromAgent.html +0 -2
  362. package/typedoc/variables/index.fromHost.html +0 -2
  363. package/typedoc/variables/index.fromSocket.html +0 -2
  364. package/typedoc/variables/index.fromWorker.html +0 -2
  365. package/typedoc/variables/index.getUnixSocket.html +0 -1
  366. package/typedoc/variables/index.resolveRef.html +0 -1
  367. package/typedoc/variables/index.useMulticastObservable.html +0 -3
  368. package/typedoc/variables/worker.getWorkerServiceHost.html +0 -1
  369. package/typedoc/variables/worker.onconnect.html +0 -1
@@ -1,35 +1,32 @@
1
1
  import {
2
2
  useInvitationStatus
3
- } from "../chunk-AL2CUQ46.mjs";
3
+ } from "../chunk-BXOLJYAY.mjs";
4
4
  import {
5
5
  useClient
6
- } from "../chunk-72QD3PXL.mjs";
6
+ } from "../chunk-TA2HGRAF.mjs";
7
7
 
8
- // packages/sdk/react-client/src/echo/index.ts
8
+ // src/echo/index.ts
9
9
  export * from "@dxos/client/echo";
10
10
 
11
- // packages/sdk/react-client/src/echo/useMembers.ts
11
+ // src/echo/useMembers.ts
12
12
  import { MulticastObservable } from "@dxos/async";
13
13
  import { HaloSpaceMember } from "@dxos/client/echo";
14
14
  import { useMulticastObservable as useMulticastObservable2 } from "@dxos/react-hooks";
15
15
 
16
- // packages/sdk/react-client/src/echo/useSpaces.ts
17
- import { useEffect, useState } from "react";
16
+ // src/echo/useSpaces.ts
17
+ import { useState } from "react";
18
18
  import { SpaceState } from "@dxos/client/echo";
19
- import { useMulticastObservable } from "@dxos/react-hooks";
19
+ import { useAsyncEffect, useMulticastObservable } from "@dxos/react-hooks";
20
20
  var useSpace = (spaceKeyLike) => {
21
21
  const client = useClient();
22
22
  const spaces = useMulticastObservable(client.spaces);
23
23
  const [ready, setReady] = useState(false);
24
- useEffect(() => {
24
+ useAsyncEffect(async () => {
25
25
  if (spaceKeyLike) {
26
26
  return;
27
27
  }
28
- const timeout = setTimeout(async () => {
29
- await client.spaces.waitUntilReady();
30
- setReady(true);
31
- });
32
- return () => clearTimeout(timeout);
28
+ await client.spaces.waitUntilReady();
29
+ setReady(true);
33
30
  }, [
34
31
  client,
35
32
  spaceKeyLike
@@ -47,7 +44,7 @@ var useSpaces = ({ all = false } = {}) => {
47
44
  return spaces.filter((space) => all || space.state.get() === SpaceState.SPACE_READY);
48
45
  };
49
46
 
50
- // packages/sdk/react-client/src/echo/useMembers.ts
47
+ // src/echo/useMembers.ts
51
48
  var useMembers = (spaceKey) => {
52
49
  const spaces = useSpaces({
53
50
  all: true
@@ -57,7 +54,7 @@ var useMembers = (spaceKey) => {
57
54
  return members.filter((member) => member.role !== HaloSpaceMember.Role.REMOVED);
58
55
  };
59
56
 
60
- // packages/sdk/react-client/src/echo/useQuery.ts
57
+ // src/echo/useQuery.ts
61
58
  import { useMemo, useSyncExternalStore } from "react";
62
59
  import { Filter, Query, isSpace } from "@dxos/client/echo";
63
60
  var EMPTY_ARRAY = [];
@@ -88,8 +85,8 @@ var useQuery = (spaceOrEcho, queryOrFilter, deps) => {
88
85
  return objects ?? [];
89
86
  };
90
87
 
91
- // packages/sdk/react-client/src/echo/useQueue.ts
92
- import { useEffect as useEffect2, useMemo as useMemo2, useRef } from "react";
88
+ // src/echo/useQueue.ts
89
+ import { useEffect, useMemo as useMemo2, useRef } from "react";
93
90
  import { raise } from "@dxos/debug";
94
91
  var MIN_POLL_INTERVAL = 1e3;
95
92
  var useQueue = (queueDxn, options = {}) => {
@@ -105,12 +102,12 @@ var useQueue = (queueDxn, options = {}) => {
105
102
  client,
106
103
  queueDxn?.toString()
107
104
  ]);
108
- useEffect2(() => {
105
+ useEffect(() => {
109
106
  void queue?.refresh();
110
107
  }, [
111
108
  queue
112
109
  ]);
113
- useEffect2(() => {
110
+ useEffect(() => {
114
111
  let timeout;
115
112
  mountedRef.current = true;
116
113
  const poll = () => {
@@ -137,7 +134,7 @@ var useQueue = (queueDxn, options = {}) => {
137
134
  return queue;
138
135
  };
139
136
 
140
- // packages/sdk/react-client/src/echo/useSchema.ts
137
+ // src/echo/useSchema.ts
141
138
  import { useMemo as useMemo3, useSyncExternalStore as useSyncExternalStore2 } from "react";
142
139
  var useSchema = (client, space, typename) => {
143
140
  const { subscribe, getSchema } = useMemo3(() => {
@@ -178,7 +175,7 @@ var useSchema = (client, space, typename) => {
178
175
  return useSyncExternalStore2(subscribe, getSchema);
179
176
  };
180
177
 
181
- // packages/sdk/react-client/src/echo/useSpaceInvitations.ts
178
+ // src/echo/useSpaceInvitations.ts
182
179
  import { useMemo as useMemo4 } from "react";
183
180
  import { MulticastObservable as MulticastObservable2 } from "@dxos/async";
184
181
  import { useMulticastObservable as useMulticastObservable3 } from "@dxos/react-hooks";
@@ -194,14 +191,14 @@ var useSpaceInvitation = (spaceKey, invitationId) => {
194
191
  return useInvitationStatus(invitation);
195
192
  };
196
193
 
197
- // packages/sdk/react-client/src/echo/useSubscription.ts
198
- import { useEffect as useEffect3, useRef as useRef2 } from "react";
194
+ // src/echo/useSubscription.ts
195
+ import { useEffect as useEffect2, useRef as useRef2 } from "react";
199
196
  import { createSubscription } from "@dxos/client/echo";
200
197
  var useSubscription = (cb, selection) => {
201
198
  const callbackRef = useRef2(cb);
202
199
  callbackRef.current = cb;
203
200
  const subscriptionRef = useRef2();
204
- useEffect3(() => {
201
+ useEffect2(() => {
205
202
  subscriptionRef.current = createSubscription(() => {
206
203
  callbackRef.current();
207
204
  });
@@ -211,16 +208,16 @@ var useSubscription = (cb, selection) => {
211
208
  return subscriptionRef.current;
212
209
  };
213
210
 
214
- // packages/sdk/react-client/src/echo/useSyncState.ts
215
- import { useEffect as useEffect4, useState as useState2 } from "react";
211
+ // src/echo/useSyncState.ts
212
+ import { useEffect as useEffect3, useState as useState2 } from "react";
216
213
  import { Context } from "@dxos/context";
217
214
  import { EdgeService } from "@dxos/protocols";
218
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/sdk/react-client/src/echo/useSyncState.ts";
215
+ var __dxlog_file = "/__w/dxos/dxos/packages/sdk/react-client/src/echo/useSyncState.ts";
219
216
  var isEdgePeerId = (peerId, spaceId) => peerId.startsWith(`${EdgeService.AUTOMERGE_REPLICATOR}:${spaceId}`);
220
217
  var useSyncState = () => {
221
218
  const client = useClient();
222
219
  const [spaceState, setSpaceState] = useState2({});
223
- useEffect4(() => {
220
+ useEffect3(() => {
224
221
  const ctx = new Context(void 0, {
225
222
  F: __dxlog_file,
226
223
  L: 25
@@ -230,7 +227,7 @@ var useSyncState = () => {
230
227
  if (spaceState[space.id]) {
231
228
  continue;
232
229
  }
233
- ctx.onDispose(space.crud.subscribeToSyncState(ctx, ({ peers = [] }) => {
230
+ ctx.onDispose(space.db.subscribeToSyncState(ctx, ({ peers = [] }) => {
234
231
  const syncState = peers.find((state) => isEdgePeerId(state.peerId, space.id));
235
232
  if (syncState) {
236
233
  setSpaceState((spaceState2) => ({
@@ -255,12 +252,12 @@ var useSyncState = () => {
255
252
  };
256
253
  var useSpaceSyncState = (space) => {
257
254
  const [spaceState, setSpaceState] = useState2();
258
- useEffect4(() => {
255
+ useEffect3(() => {
259
256
  const ctx = new Context(void 0, {
260
257
  F: __dxlog_file,
261
258
  L: 64
262
259
  });
263
- space.crud.subscribeToSyncState(ctx, ({ peers = [] }) => {
260
+ space.db.subscribeToSyncState(ctx, ({ peers = [] }) => {
264
261
  const syncState = peers.find((state) => isEdgePeerId(state.peerId, space.id));
265
262
  if (syncState) {
266
263
  setSpaceState(syncState);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
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 Obj, type Relation } from '@dxos/echo';\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 Obj.Any | Relation.Any>(\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": ["MulticastObservable", "HaloSpaceMember", "useMulticastObservable", "useEffect", "useState", "SpaceState", "useMulticastObservable", "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", "spaces", "useSpaces", "all", "space", "find", "key", "equals", "undefined", "members", "useMulticastObservable", "MulticastObservable", "empty", "filter", "member", "role", "HaloSpaceMember", "Role", "REMOVED", "useMemo", "useSyncExternalStore", "Filter", "Query", "isSpace", "EMPTY_ARRAY", "noop", "useQuery", "spaceOrEcho", "queryOrFilter", "deps", "query", "Filter", "is", "Query", "select", "getObjects", "subscribe", "useMemo", "subscribed", "queryResult", "undefined", "isSpace", "db", "objects", "cb", "unsubscribe", "JSON", "stringify", "ast", "useSyncExternalStore", "useEffect", "useMemo", "useRef", "raise", "MIN_POLL_INTERVAL", "useQueue", "queueDxn", "options", "client", "useClient", "mountedRef", "useRef", "queue", "useMemo", "undefined", "spaceId", "asQueueDXN", "raise", "TypeError", "spaces", "get", "queues", "toString", "useEffect", "refresh", "timeout", "current", "poll", "finally", "pollInterval", "setTimeout", "Math", "max", "clearTimeout", "useMemo", "useSyncExternalStore", "useSchema", "client", "space", "typename", "subscribe", "getSchema", "useMemo", "undefined", "staticSchema", "graph", "schemaRegistry", "query", "db", "initialResult", "runSync", "currentSchema", "onStoreChange", "unsubscribe", "results", "useSyncExternalStore", "useMemo", "MulticastObservable", "useMulticastObservable", "useSpaceInvitations", "spaceKey", "space", "useSpace", "useMulticastObservable", "invitations", "MulticastObservable", "empty", "useSpaceInvitation", "invitationId", "invitation", "useMemo", "find", "get", "useInvitationStatus", "useEffect", "useRef", "createSubscription", "useSubscription", "cb", "selection", "callbackRef", "useRef", "current", "subscriptionRef", "useEffect", "createSubscription", "unsubscribe", "update", "useEffect", "useState", "Context", "EdgeService", "isEdgePeerId", "peerId", "spaceId", "startsWith", "EdgeService", "AUTOMERGE_REPLICATOR", "useSyncState", "client", "useClient", "spaceState", "setSpaceState", "useState", "useEffect", "ctx", "Context", "createSubscriptions", "spaces", "space", "id", "onDispose", "crud", "subscribeToSyncState", "peers", "syncState", "find", "state", "get", "subscribe", "dispose", "useSpaceSyncState"]
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 { useState } from 'react';\n\nimport { type PublicKeyLike } from '@dxos/client';\nimport { type Space, SpaceState } from '@dxos/client/echo';\nimport { useAsyncEffect, 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 useAsyncEffect(async () => {\n // Only wait for ready if looking for the default space.\n if (spaceKeyLike) {\n return;\n }\n\n await client.spaces.waitUntilReady();\n setReady(true);\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 Queue, 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>(\n spaceOrEcho: Space | Echo | Queue<any> | undefined,\n query: Q,\n deps?: any[],\n ): Live<Query.Type<Q>>[];\n\n <F extends Filter.Any>(\n spaceOrEcho: Space | Echo | Queue<any> | undefined,\n filter: F,\n deps?: any[],\n ): Live<Filter.Type<F>>[];\n}\n\n/**\n * Create subscription.\n */\nexport const useQuery: UseQueryFn = (\n spaceOrEcho: Space | Echo | Queue<any> | 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 Obj, type Relation } from '@dxos/echo';\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 Obj.Any | Relation.Any>(\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 { type CancellableInvitationObservable, useInvitationStatus } from '../invitations';\n\nimport { useSpace } from './useSpaces';\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 Space, type SpaceSyncStateMap } 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.db.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.db.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": ["MulticastObservable", "HaloSpaceMember", "useMulticastObservable", "useState", "SpaceState", "useAsyncEffect", "useMulticastObservable", "useSpace", "spaceKeyLike", "client", "useClient", "spaces", "useMulticastObservable", "ready", "setReady", "useState", "useAsyncEffect", "waitUntilReady", "find", "space", "key", "equals", "id", "halo", "identity", "get", "default", "useSpaces", "all", "filter", "state", "SpaceState", "SPACE_READY", "useMembers", "spaceKey", "spaces", "useSpaces", "all", "space", "find", "key", "equals", "undefined", "members", "useMulticastObservable", "MulticastObservable", "empty", "filter", "member", "role", "HaloSpaceMember", "Role", "REMOVED", "useMemo", "useSyncExternalStore", "Filter", "Query", "isSpace", "EMPTY_ARRAY", "noop", "useQuery", "spaceOrEcho", "queryOrFilter", "deps", "query", "Filter", "is", "Query", "select", "getObjects", "subscribe", "useMemo", "subscribed", "queryResult", "undefined", "isSpace", "db", "objects", "cb", "unsubscribe", "JSON", "stringify", "ast", "useSyncExternalStore", "useEffect", "useMemo", "useRef", "raise", "MIN_POLL_INTERVAL", "useQueue", "queueDxn", "options", "client", "useClient", "mountedRef", "useRef", "queue", "useMemo", "undefined", "spaceId", "asQueueDXN", "raise", "TypeError", "spaces", "get", "queues", "toString", "useEffect", "refresh", "timeout", "current", "poll", "finally", "pollInterval", "setTimeout", "Math", "max", "clearTimeout", "useMemo", "useSyncExternalStore", "useSchema", "client", "space", "typename", "subscribe", "getSchema", "useMemo", "undefined", "staticSchema", "graph", "schemaRegistry", "query", "db", "initialResult", "runSync", "currentSchema", "onStoreChange", "unsubscribe", "results", "useSyncExternalStore", "useMemo", "MulticastObservable", "useMulticastObservable", "useSpaceInvitations", "spaceKey", "space", "useSpace", "useMulticastObservable", "invitations", "MulticastObservable", "empty", "useSpaceInvitation", "invitationId", "invitation", "useMemo", "find", "get", "useInvitationStatus", "useEffect", "useRef", "createSubscription", "useSubscription", "cb", "selection", "callbackRef", "useRef", "current", "subscriptionRef", "useEffect", "createSubscription", "unsubscribe", "update", "useEffect", "useState", "Context", "EdgeService", "isEdgePeerId", "peerId", "spaceId", "startsWith", "EdgeService", "AUTOMERGE_REPLICATOR", "useSyncState", "client", "useClient", "spaceState", "setSpaceState", "useState", "useEffect", "ctx", "Context", "createSubscriptions", "spaces", "space", "id", "onDispose", "db", "subscribeToSyncState", "peers", "syncState", "find", "state", "get", "subscribe", "dispose", "useSpaceSyncState"]
7
7
  }
@@ -1,35 +1,35 @@
1
1
  import {
2
2
  useInvitationStatus
3
- } from "../chunk-AL2CUQ46.mjs";
3
+ } from "../chunk-BXOLJYAY.mjs";
4
4
  import {
5
5
  useClient
6
- } from "../chunk-72QD3PXL.mjs";
6
+ } from "../chunk-TA2HGRAF.mjs";
7
7
 
8
- // packages/sdk/react-client/src/halo/index.ts
8
+ // src/halo/index.ts
9
9
  import { Device, DeviceKind, DeviceType } from "@dxos/client/halo";
10
10
 
11
- // packages/sdk/react-client/src/halo/useContacts.ts
11
+ // src/halo/useContacts.ts
12
12
  import { useMulticastObservable } from "@dxos/react-hooks";
13
13
  var useContacts = () => {
14
14
  const client = useClient();
15
15
  return useMulticastObservable(client.halo.contacts);
16
16
  };
17
17
 
18
- // packages/sdk/react-client/src/halo/useCredentials.ts
18
+ // src/halo/useCredentials.ts
19
19
  import { useMulticastObservable as useMulticastObservable2 } from "@dxos/react-hooks";
20
20
  var useCredentials = () => {
21
21
  const client = useClient();
22
22
  return useMulticastObservable2(client.halo.credentials);
23
23
  };
24
24
 
25
- // packages/sdk/react-client/src/halo/useDevices.ts
25
+ // src/halo/useDevices.ts
26
26
  import { useMulticastObservable as useMulticastObservable3 } from "@dxos/react-hooks";
27
27
  var useDevices = () => {
28
28
  const client = useClient();
29
29
  return useMulticastObservable3(client.halo.devices);
30
30
  };
31
31
 
32
- // packages/sdk/react-client/src/halo/useHaloInvitations.ts
32
+ // src/halo/useHaloInvitations.ts
33
33
  import { useMemo } from "react";
34
34
  import { useMulticastObservable as useMulticastObservable4 } from "@dxos/react-hooks";
35
35
  var useHaloInvitations = () => {
@@ -44,20 +44,29 @@ var useHaloInvitation = (invitationId) => {
44
44
  return useInvitationStatus(invitation);
45
45
  };
46
46
 
47
- // packages/sdk/react-client/src/halo/useIdentity.ts
47
+ // src/halo/useIdentity.ts
48
48
  import { useMulticastObservable as useMulticastObservable5 } from "@dxos/react-hooks";
49
49
  var useIdentity = () => {
50
50
  const client = useClient();
51
51
  return useMulticastObservable5(client.halo.identity);
52
52
  };
53
53
 
54
- // packages/sdk/react-client/src/halo/useKeyStore.ts
54
+ // src/halo/useKeyStore.ts
55
55
  import { useMemo as useMemo2, useReducer } from "react";
56
- var KeyStore = class {
57
- constructor(_defaultKeys = []) {
58
- this._defaultKeys = _defaultKeys;
59
- this._keyMap = /* @__PURE__ */ new Map();
56
+ function _define_property(obj, key, value) {
57
+ if (key in obj) {
58
+ Object.defineProperty(obj, key, {
59
+ value,
60
+ enumerable: true,
61
+ configurable: true,
62
+ writable: true
63
+ });
64
+ } else {
65
+ obj[key] = value;
60
66
  }
67
+ return obj;
68
+ }
69
+ var KeyStore = class {
61
70
  get map() {
62
71
  return this._keyMap;
63
72
  }
@@ -76,6 +85,12 @@ var KeyStore = class {
76
85
  localStorage.setItem(key, "");
77
86
  this._keyMap.set(key, value);
78
87
  }
88
+ constructor(_defaultKeys = []) {
89
+ _define_property(this, "_defaultKeys", void 0);
90
+ _define_property(this, "_keyMap", void 0);
91
+ this._defaultKeys = _defaultKeys;
92
+ this._keyMap = /* @__PURE__ */ new Map();
93
+ }
79
94
  };
80
95
  var useKeyStore = (defaultKeys = []) => {
81
96
  const [, forceUpdate] = useReducer((x) => x + 1, 0);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/halo/index.ts", "../../../../src/halo/useContacts.ts", "../../../../src/halo/useCredentials.ts", "../../../../src/halo/useDevices.ts", "../../../../src/halo/useHaloInvitations.ts", "../../../../src/halo/useIdentity.ts", "../../../../src/halo/useKeyStore.ts"],
4
- "sourcesContent": ["//\n// Copyright 2022 DXOS.org\n//\n\n// NOTE: Export * fails here.\nexport {\n type Credential,\n type Contact,\n type Identity,\n type Halo,\n Device,\n DeviceKind,\n DeviceType,\n} from '@dxos/client/halo';\n\nexport * from './useContacts';\nexport * from './useCredentials';\nexport * from './useDevices';\nexport * from './useHaloInvitations';\nexport * from './useIdentity';\nexport * from './useKeyStore';\n", "//\n// Copyright 2020 DXOS.org\n//\n\nimport type { Contact } from '@dxos/client/halo';\nimport { useMulticastObservable } from '@dxos/react-hooks';\n\nimport { useClient } from '../client';\n\n/**\n * Returns all known Contacts across all Spaces.\n * Contacts are known members of a common Space.\n * Requires ClientContext to be set via ClientProvider.\n */\nexport const useContacts = (): Contact[] => {\n const client = useClient();\n return useMulticastObservable(client.halo.contacts);\n};\n", "//\n// Copyright 2020 DXOS.org\n//\n\nimport type { Credential } from '@dxos/client/halo';\nimport { useMulticastObservable } from '@dxos/react-hooks';\n\nimport { useClient } from '../client';\n\nexport const useCredentials = (): Credential[] => {\n const client = useClient();\n return useMulticastObservable(client.halo.credentials);\n};\n", "//\n// Copyright 2020 DXOS.org\n//\n\nimport type { Device } from '@dxos/client/halo';\nimport { useMulticastObservable } from '@dxos/react-hooks';\n\nimport { useClient } from '../client';\n\nexport const useDevices = (): Device[] => {\n const client = useClient();\n return useMulticastObservable(client.halo.devices);\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { useMulticastObservable } from '@dxos/react-hooks';\n\nimport { useClient } from '../client';\nimport { useInvitationStatus, type CancellableInvitationObservable } from '../invitations';\n\nexport const useHaloInvitations = (): CancellableInvitationObservable[] => {\n const client = useClient();\n return useMulticastObservable(client.halo.invitations);\n};\n\nexport const useHaloInvitation = (invitationId?: string) => {\n const invitations = useHaloInvitations();\n const invitation = useMemo(\n () => invitations.find((invitation) => invitation.get().invitationId === invitationId),\n [invitations],\n );\n return useInvitationStatus(invitation);\n};\n", "//\n// Copyright 2020 DXOS.org\n//\n\nimport { type Identity } from '@dxos/client/halo';\nimport { useMulticastObservable } from '@dxos/react-hooks';\n\nimport { useClient } from '../client';\n\n/**\n * Hook returning DXOS identity object.\n * Requires ClientContext to be set via ClientProvider.\n */\nexport const useIdentity = (): Identity | null => {\n const client = useClient();\n return useMulticastObservable(client.halo.identity);\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { useMemo, useReducer } from 'react';\n\n// TODO(burdon): Move to settings plugin.\nexport class KeyStore {\n private _keyMap = new Map<string, string>();\n\n constructor(private readonly _defaultKeys: string[] = []) {}\n\n get map() {\n return this._keyMap;\n }\n\n // TODO(burdon): Create subkeys.\n initialize(): this {\n this._defaultKeys.forEach((key) => {\n const value = localStorage.getItem(key);\n this.setKey(key, value ?? '');\n });\n\n return this;\n }\n\n getKey(key: string): void {\n localStorage.getItem(key);\n }\n\n setKey(key: string, value: string): void {\n localStorage.setItem(key, '');\n this._keyMap.set(key, value);\n }\n}\n\n/**\n * Settings store.\n * @deprecated Replace with HALO key store when available.\n */\nexport const useKeyStore = (\n defaultKeys: string[] = [],\n): [Map<string, string>, (key: string, value: string) => void] => {\n const [, forceUpdate] = useReducer((x) => x + 1, 0);\n const store = useMemo(() => new KeyStore(defaultKeys).initialize(), [defaultKeys]);\n const setKey = (key: string, value: string) => {\n store.setKey(key, value);\n forceUpdate();\n };\n\n return [store.map, setKey];\n};\n"],
5
- "mappings": ";;;;;;;;AAKA,SAKEA,QACAC,YACAC,kBACK;;;ACRP,SAASC,8BAA8B;AAShC,IAAMC,cAAc,MAAA;AACzB,QAAMC,SAASC,UAAAA;AACf,SAAOC,uBAAuBF,OAAOG,KAAKC,QAAQ;AACpD;;;ACZA,SAASC,0BAAAA,+BAA8B;AAIhC,IAAMC,iBAAiB,MAAA;AAC5B,QAAMC,SAASC,UAAAA;AACf,SAAOC,wBAAuBF,OAAOG,KAAKC,WAAW;AACvD;;;ACPA,SAASC,0BAAAA,+BAA8B;AAIhC,IAAMC,aAAa,MAAA;AACxB,QAAMC,SAASC,UAAAA;AACf,SAAOC,wBAAuBF,OAAOG,KAAKC,OAAO;AACnD;;;ACRA,SAASC,eAAe;AAExB,SAASC,0BAAAA,+BAA8B;AAKhC,IAAMC,qBAAqB,MAAA;AAChC,QAAMC,SAASC,UAAAA;AACf,SAAOC,wBAAuBF,OAAOG,KAAKC,WAAW;AACvD;AAEO,IAAMC,oBAAoB,CAACC,iBAAAA;AAChC,QAAMF,cAAcL,mBAAAA;AACpB,QAAMQ,aAAaC,QACjB,MAAMJ,YAAYK,KAAK,CAACF,gBAAeA,YAAWG,IAAG,EAAGJ,iBAAiBA,YAAAA,GACzE;IAACF;GAAY;AAEf,SAAOO,oBAAoBJ,UAAAA;AAC7B;;;AClBA,SAASK,0BAAAA,+BAA8B;AAQhC,IAAMC,cAAc,MAAA;AACzB,QAAMC,SAASC,UAAAA;AACf,SAAOC,wBAAuBF,OAAOG,KAAKC,QAAQ;AACpD;;;ACZA,SAASC,WAAAA,UAASC,kBAAkB;AAG7B,IAAMC,WAAN,MAAMA;EAGX,YAA6BC,eAAyB,CAAA,GAAI;SAA7BA,eAAAA;SAFrBC,UAAU,oBAAIC,IAAAA;EAEqC;EAE3D,IAAIC,MAAM;AACR,WAAO,KAAKF;EACd;;EAGAG,aAAmB;AACjB,SAAKJ,aAAaK,QAAQ,CAACC,QAAAA;AACzB,YAAMC,QAAQC,aAAaC,QAAQH,GAAAA;AACnC,WAAKI,OAAOJ,KAAKC,SAAS,EAAA;IAC5B,CAAA;AAEA,WAAO;EACT;EAEAI,OAAOL,KAAmB;AACxBE,iBAAaC,QAAQH,GAAAA;EACvB;EAEAI,OAAOJ,KAAaC,OAAqB;AACvCC,iBAAaI,QAAQN,KAAK,EAAA;AAC1B,SAAKL,QAAQY,IAAIP,KAAKC,KAAAA;EACxB;AACF;AAMO,IAAMO,cAAc,CACzBC,cAAwB,CAAA,MAAE;AAE1B,QAAM,CAAA,EAAGC,WAAAA,IAAeC,WAAW,CAACC,MAAMA,IAAI,GAAG,CAAA;AACjD,QAAMC,QAAQC,SAAQ,MAAM,IAAIrB,SAASgB,WAAAA,EAAaX,WAAU,GAAI;IAACW;GAAY;AACjF,QAAML,SAAS,CAACJ,KAAaC,UAAAA;AAC3BY,UAAMT,OAAOJ,KAAKC,KAAAA;AAClBS,gBAAAA;EACF;AAEA,SAAO;IAACG,MAAMhB;IAAKO;;AACrB;",
6
- "names": ["Device", "DeviceKind", "DeviceType", "useMulticastObservable", "useContacts", "client", "useClient", "useMulticastObservable", "halo", "contacts", "useMulticastObservable", "useCredentials", "client", "useClient", "useMulticastObservable", "halo", "credentials", "useMulticastObservable", "useDevices", "client", "useClient", "useMulticastObservable", "halo", "devices", "useMemo", "useMulticastObservable", "useHaloInvitations", "client", "useClient", "useMulticastObservable", "halo", "invitations", "useHaloInvitation", "invitationId", "invitation", "useMemo", "find", "get", "useInvitationStatus", "useMulticastObservable", "useIdentity", "client", "useClient", "useMulticastObservable", "halo", "identity", "useMemo", "useReducer", "KeyStore", "_defaultKeys", "_keyMap", "Map", "map", "initialize", "forEach", "key", "value", "localStorage", "getItem", "setKey", "getKey", "setItem", "set", "useKeyStore", "defaultKeys", "forceUpdate", "useReducer", "x", "store", "useMemo"]
4
+ "sourcesContent": ["//\n// Copyright 2022 DXOS.org\n//\n\n// NOTE: Export * fails here.\nexport {\n type Credential,\n type Contact,\n type Identity,\n type Halo,\n Device,\n DeviceKind,\n DeviceType,\n} from '@dxos/client/halo';\n\nexport * from './useContacts';\nexport * from './useCredentials';\nexport * from './useDevices';\nexport * from './useHaloInvitations';\nexport * from './useIdentity';\nexport * from './useKeyStore';\n", "//\n// Copyright 2020 DXOS.org\n//\n\nimport type { Contact } from '@dxos/client/halo';\nimport { useMulticastObservable } from '@dxos/react-hooks';\n\nimport { useClient } from '../client';\n\n/**\n * Returns all known Contacts across all Spaces.\n * Contacts are known members of a common Space.\n * Requires ClientContext to be set via ClientProvider.\n */\nexport const useContacts = (): Contact[] => {\n const client = useClient();\n return useMulticastObservable(client.halo.contacts);\n};\n", "//\n// Copyright 2020 DXOS.org\n//\n\nimport type { Credential } from '@dxos/client/halo';\nimport { useMulticastObservable } from '@dxos/react-hooks';\n\nimport { useClient } from '../client';\n\nexport const useCredentials = (): Credential[] => {\n const client = useClient();\n return useMulticastObservable(client.halo.credentials);\n};\n", "//\n// Copyright 2020 DXOS.org\n//\n\nimport type { Device } from '@dxos/client/halo';\nimport { useMulticastObservable } from '@dxos/react-hooks';\n\nimport { useClient } from '../client';\n\nexport const useDevices = (): Device[] => {\n const client = useClient();\n return useMulticastObservable(client.halo.devices);\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { useMulticastObservable } from '@dxos/react-hooks';\n\nimport { useClient } from '../client';\nimport { type CancellableInvitationObservable, useInvitationStatus } from '../invitations';\n\nexport const useHaloInvitations = (): CancellableInvitationObservable[] => {\n const client = useClient();\n return useMulticastObservable(client.halo.invitations);\n};\n\nexport const useHaloInvitation = (invitationId?: string) => {\n const invitations = useHaloInvitations();\n const invitation = useMemo(\n () => invitations.find((invitation) => invitation.get().invitationId === invitationId),\n [invitations],\n );\n return useInvitationStatus(invitation);\n};\n", "//\n// Copyright 2020 DXOS.org\n//\n\nimport { type Identity } from '@dxos/client/halo';\nimport { useMulticastObservable } from '@dxos/react-hooks';\n\nimport { useClient } from '../client';\n\n/**\n * Hook returning DXOS identity object.\n * Requires ClientContext to be set via ClientProvider.\n */\nexport const useIdentity = (): Identity | null => {\n const client = useClient();\n return useMulticastObservable(client.halo.identity);\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { useMemo, useReducer } from 'react';\n\n// TODO(burdon): Move to settings plugin.\nexport class KeyStore {\n private _keyMap = new Map<string, string>();\n\n constructor(private readonly _defaultKeys: string[] = []) {}\n\n get map() {\n return this._keyMap;\n }\n\n // TODO(burdon): Create subkeys.\n initialize(): this {\n this._defaultKeys.forEach((key) => {\n const value = localStorage.getItem(key);\n this.setKey(key, value ?? '');\n });\n\n return this;\n }\n\n getKey(key: string): void {\n localStorage.getItem(key);\n }\n\n setKey(key: string, value: string): void {\n localStorage.setItem(key, '');\n this._keyMap.set(key, value);\n }\n}\n\n/**\n * Settings store.\n * @deprecated Replace with HALO key store when available.\n */\nexport const useKeyStore = (\n defaultKeys: string[] = [],\n): [Map<string, string>, (key: string, value: string) => void] => {\n const [, forceUpdate] = useReducer((x) => x + 1, 0);\n const store = useMemo(() => new KeyStore(defaultKeys).initialize(), [defaultKeys]);\n const setKey = (key: string, value: string) => {\n store.setKey(key, value);\n forceUpdate();\n };\n\n return [store.map, setKey];\n};\n"],
5
+ "mappings": ";;;;;;;;AAKA,SAKEA,QACAC,YACAC,kBACK;;;ACRP,SAASC,8BAA8B;AAShC,IAAMC,cAAc,MAAA;AACzB,QAAMC,SAASC,UAAAA;AACf,SAAOC,uBAAuBF,OAAOG,KAAKC,QAAQ;AACpD;;;ACZA,SAASC,0BAAAA,+BAA8B;AAIhC,IAAMC,iBAAiB,MAAA;AAC5B,QAAMC,SAASC,UAAAA;AACf,SAAOC,wBAAuBF,OAAOG,KAAKC,WAAW;AACvD;;;ACPA,SAASC,0BAAAA,+BAA8B;AAIhC,IAAMC,aAAa,MAAA;AACxB,QAAMC,SAASC,UAAAA;AACf,SAAOC,wBAAuBF,OAAOG,KAAKC,OAAO;AACnD;;;ACRA,SAASC,eAAe;AAExB,SAASC,0BAAAA,+BAA8B;AAKhC,IAAMC,qBAAqB,MAAA;AAChC,QAAMC,SAASC,UAAAA;AACf,SAAOC,wBAAuBF,OAAOG,KAAKC,WAAW;AACvD;AAEO,IAAMC,oBAAoB,CAACC,iBAAAA;AAChC,QAAMF,cAAcL,mBAAAA;AACpB,QAAMQ,aAAaC,QACjB,MAAMJ,YAAYK,KAAK,CAACF,gBAAeA,YAAWG,IAAG,EAAGJ,iBAAiBA,YAAAA,GACzE;IAACF;GAAY;AAEf,SAAOO,oBAAoBJ,UAAAA;AAC7B;;;AClBA,SAASK,0BAAAA,+BAA8B;AAQhC,IAAMC,cAAc,MAAA;AACzB,QAAMC,SAASC,UAAAA;AACf,SAAOC,wBAAuBF,OAAOG,KAAKC,QAAQ;AACpD;;;ACZA,SAASC,WAAAA,UAASC,kBAAkB;;;;;;;;;;;;;;AAG7B,IAAMC,WAAN,MAAMA;EAKX,IAAIC,MAAM;AACR,WAAO,KAAKC;EACd;;EAGAC,aAAmB;AACjB,SAAKC,aAAaC,QAAQ,CAACC,QAAAA;AACzB,YAAMC,QAAQC,aAAaC,QAAQH,GAAAA;AACnC,WAAKI,OAAOJ,KAAKC,SAAS,EAAA;IAC5B,CAAA;AAEA,WAAO;EACT;EAEAI,OAAOL,KAAmB;AACxBE,iBAAaC,QAAQH,GAAAA;EACvB;EAEAI,OAAOJ,KAAaC,OAAqB;AACvCC,iBAAaI,QAAQN,KAAK,EAAA;AAC1B,SAAKJ,QAAQW,IAAIP,KAAKC,KAAAA;EACxB;EAvBA,YAA6BH,eAAyB,CAAA,GAAI;;AAF1D,qBAAA,MAAQF,WAAR,MAAA;SAE6BE,eAAAA;SAFrBF,UAAU,oBAAIY,IAAAA;EAEqC;AAwB7D;AAMO,IAAMC,cAAc,CACzBC,cAAwB,CAAA,MAAE;AAE1B,QAAM,CAAA,EAAGC,WAAAA,IAAeC,WAAW,CAACC,MAAMA,IAAI,GAAG,CAAA;AACjD,QAAMC,QAAQC,SAAQ,MAAM,IAAIrB,SAASgB,WAAAA,EAAab,WAAU,GAAI;IAACa;GAAY;AACjF,QAAMN,SAAS,CAACJ,KAAaC,UAAAA;AAC3Ba,UAAMV,OAAOJ,KAAKC,KAAAA;AAClBU,gBAAAA;EACF;AAEA,SAAO;IAACG,MAAMnB;IAAKS;;AACrB;",
6
+ "names": ["Device", "DeviceKind", "DeviceType", "useMulticastObservable", "useContacts", "client", "useClient", "useMulticastObservable", "halo", "contacts", "useMulticastObservable", "useCredentials", "client", "useClient", "useMulticastObservable", "halo", "credentials", "useMulticastObservable", "useDevices", "client", "useClient", "useMulticastObservable", "halo", "devices", "useMemo", "useMulticastObservable", "useHaloInvitations", "client", "useClient", "useMulticastObservable", "halo", "invitations", "useHaloInvitation", "invitationId", "invitation", "useMemo", "find", "get", "useInvitationStatus", "useMulticastObservable", "useIdentity", "client", "useClient", "useMulticastObservable", "halo", "identity", "useMemo", "useReducer", "KeyStore", "map", "_keyMap", "initialize", "_defaultKeys", "forEach", "key", "value", "localStorage", "getItem", "setKey", "getKey", "setItem", "set", "Map", "useKeyStore", "defaultKeys", "forceUpdate", "useReducer", "x", "store", "useMemo"]
7
7
  }
@@ -10,9 +10,9 @@ import {
10
10
  useShell,
11
11
  useShellDisplay,
12
12
  useStatus
13
- } from "./chunk-72QD3PXL.mjs";
13
+ } from "./chunk-TA2HGRAF.mjs";
14
14
 
15
- // packages/sdk/react-client/src/index.ts
15
+ // src/index.ts
16
16
  export * from "@dxos/client";
17
17
  import { useMulticastObservable } from "@dxos/react-hooks";
18
18
  export {
@@ -5,7 +5,7 @@ import {
5
5
  InvitationEncoder,
6
6
  InvitationsProxy,
7
7
  useInvitationStatus
8
- } from "../chunk-AL2CUQ46.mjs";
8
+ } from "../chunk-BXOLJYAY.mjs";
9
9
  export {
10
10
  AuthenticatingInvitationObservable,
11
11
  CancellableInvitationObservable,
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  useClient
3
- } from "../chunk-72QD3PXL.mjs";
3
+ } from "../chunk-TA2HGRAF.mjs";
4
4
 
5
- // packages/sdk/react-client/src/mesh/index.ts
5
+ // src/mesh/index.ts
6
6
  export * from "@dxos/client/mesh";
7
7
 
8
- // packages/sdk/react-client/src/mesh/useNetworkStatus.ts
8
+ // src/mesh/useNetworkStatus.ts
9
9
  import { useMulticastObservable } from "@dxos/react-hooks";
10
10
  var useNetworkStatus = () => {
11
11
  const client = useClient();