@dxos/react-client 0.8.3 → 0.8.4-main.1068cf700f

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 (417) hide show
  1. package/.storybook/main.mts +11 -0
  2. package/.storybook/preview.mts +8 -0
  3. package/.swc/plugins/linux_x86_64_19.0.0/727453fb3a62f7f1d952a41e051ca8a6f88cadc45cee43c6a4d1aa45f9b75665.wasmer-v7 +0 -0
  4. package/dist/lib/browser/chunk-5UKA2BMA.mjs +179 -0
  5. package/dist/lib/browser/chunk-5UKA2BMA.mjs.map +7 -0
  6. package/dist/lib/browser/{chunk-AL2CUQ46.mjs → chunk-LO3TU5CK.mjs} +8 -8
  7. package/dist/lib/browser/chunk-LO3TU5CK.mjs.map +7 -0
  8. package/dist/lib/browser/chunk-PFF63FPR.mjs +16 -0
  9. package/dist/lib/browser/chunk-PFF63FPR.mjs.map +7 -0
  10. package/dist/lib/browser/chunk-TSF6Y5VB.mjs +8 -0
  11. package/dist/lib/browser/chunk-TSF6Y5VB.mjs.map +7 -0
  12. package/dist/lib/browser/devtools/index.mjs +7 -6
  13. package/dist/lib/browser/devtools/index.mjs.map +3 -3
  14. package/dist/lib/browser/echo/index.mjs +67 -117
  15. package/dist/lib/browser/echo/index.mjs.map +4 -4
  16. package/dist/lib/browser/halo/index.mjs +12 -10
  17. package/dist/lib/browser/halo/index.mjs.map +3 -3
  18. package/dist/lib/browser/index.mjs +115 -13
  19. package/dist/lib/browser/index.mjs.map +4 -4
  20. package/dist/lib/browser/invitations/index.mjs +1 -1
  21. package/dist/lib/browser/mesh/index.mjs +4 -3
  22. package/dist/lib/browser/mesh/index.mjs.map +1 -1
  23. package/dist/lib/browser/meta.json +1 -1
  24. package/dist/lib/browser/testing/index.mjs +125 -119
  25. package/dist/lib/browser/testing/index.mjs.map +3 -3
  26. package/dist/lib/browser/worker.mjs +1 -1
  27. package/dist/lib/node-esm/chunk-373DPHEQ.mjs +10 -0
  28. package/dist/lib/node-esm/chunk-373DPHEQ.mjs.map +7 -0
  29. package/dist/lib/node-esm/{chunk-UYJUBYMU.mjs → chunk-AQJH2UNZ.mjs} +8 -8
  30. package/dist/lib/node-esm/chunk-AQJH2UNZ.mjs.map +7 -0
  31. package/dist/lib/node-esm/chunk-NETTSER2.mjs +17 -0
  32. package/dist/lib/node-esm/chunk-NETTSER2.mjs.map +7 -0
  33. package/dist/lib/node-esm/chunk-T3QTQHBD.mjs +180 -0
  34. package/dist/lib/node-esm/chunk-T3QTQHBD.mjs.map +7 -0
  35. package/dist/lib/node-esm/devtools/index.mjs +7 -6
  36. package/dist/lib/node-esm/devtools/index.mjs.map +3 -3
  37. package/dist/lib/node-esm/echo/index.mjs +67 -117
  38. package/dist/lib/node-esm/echo/index.mjs.map +4 -4
  39. package/dist/lib/node-esm/halo/index.mjs +12 -10
  40. package/dist/lib/node-esm/halo/index.mjs.map +3 -3
  41. package/dist/lib/node-esm/index.mjs +115 -13
  42. package/dist/lib/node-esm/index.mjs.map +4 -4
  43. package/dist/lib/node-esm/invitations/index.mjs +1 -1
  44. package/dist/lib/node-esm/mesh/index.mjs +4 -3
  45. package/dist/lib/node-esm/mesh/index.mjs.map +1 -1
  46. package/dist/lib/node-esm/meta.json +1 -1
  47. package/dist/lib/node-esm/testing/index.mjs +125 -119
  48. package/dist/lib/node-esm/testing/index.mjs.map +3 -3
  49. package/dist/lib/node-esm/worker.mjs +1 -1
  50. package/dist/types/src/client/AgentHostingProvider.d.ts.map +1 -1
  51. package/dist/types/src/client/ClientProvider.d.ts +0 -10
  52. package/dist/types/src/client/ClientProvider.d.ts.map +1 -1
  53. package/dist/types/src/echo/index.d.ts +2 -2
  54. package/dist/types/src/echo/index.d.ts.map +1 -1
  55. package/dist/types/src/echo/useMembers.d.ts +2 -2
  56. package/dist/types/src/echo/useMembers.d.ts.map +1 -1
  57. package/dist/types/src/echo/useQueue.d.ts +2 -2
  58. package/dist/types/src/echo/useQueue.d.ts.map +1 -1
  59. package/dist/types/src/echo/useSpaceInvitations.d.ts +3 -2
  60. package/dist/types/src/echo/useSpaceInvitations.d.ts.map +1 -1
  61. package/dist/types/src/echo/useSpaceProperties.d.ts +13 -0
  62. package/dist/types/src/echo/useSpaceProperties.d.ts.map +1 -0
  63. package/dist/types/src/echo/useSpaces.d.ts +17 -8
  64. package/dist/types/src/echo/useSpaces.d.ts.map +1 -1
  65. package/dist/types/src/echo/useSubscription.d.ts +1 -1
  66. package/dist/types/src/echo/useSubscription.d.ts.map +1 -1
  67. package/dist/types/src/echo/useSyncState.d.ts +1 -1
  68. package/dist/types/src/echo/useSyncState.d.ts.map +1 -1
  69. package/dist/types/src/halo/Passkey.stories.d.ts +5 -5
  70. package/dist/types/src/halo/Passkey.stories.d.ts.map +1 -1
  71. package/dist/types/src/halo/useHaloInvitations.d.ts.map +1 -1
  72. package/dist/types/src/invitations/useInvitationStatus.d.ts +1 -1
  73. package/dist/types/src/invitations/useInvitationStatus.d.ts.map +1 -1
  74. package/dist/types/src/testing/ClientRepeater.d.ts +6 -5
  75. package/dist/types/src/testing/ClientRepeater.d.ts.map +1 -1
  76. package/dist/types/src/testing/ClientRepeater.stories.d.ts +6 -10
  77. package/dist/types/src/testing/ClientRepeater.stories.d.ts.map +1 -1
  78. package/dist/types/src/testing/context.d.ts +4 -2
  79. package/dist/types/src/testing/context.d.ts.map +1 -1
  80. package/dist/types/src/testing/withClientProvider.d.ts +6 -10
  81. package/dist/types/src/testing/withClientProvider.d.ts.map +1 -1
  82. package/dist/types/src/testing/withClientProvider.stories.d.ts +8 -9
  83. package/dist/types/src/testing/withClientProvider.stories.d.ts.map +1 -1
  84. package/dist/types/tsconfig.tsbuildinfo +1 -1
  85. package/moon.yml +23 -0
  86. package/package.json +43 -32
  87. package/src/client/AgentHostingProvider.tsx +1 -1
  88. package/src/client/ClientProvider.test.tsx +3 -2
  89. package/src/client/ClientProvider.tsx +33 -50
  90. package/src/client/useConfig.test.tsx +2 -1
  91. package/src/devtools/useStream.ts +1 -1
  92. package/src/echo/index.ts +2 -2
  93. package/src/echo/useMembers.ts +5 -3
  94. package/src/echo/useQueue.ts +2 -2
  95. package/src/echo/useSpaceInvitations.ts +11 -5
  96. package/src/echo/useSpaceProperties.ts +28 -0
  97. package/src/echo/useSpaces.test.tsx +3 -2
  98. package/src/echo/useSpaces.ts +37 -20
  99. package/src/echo/useSubscription.ts +1 -1
  100. package/src/echo/useSyncState.ts +3 -3
  101. package/src/halo/Passkey.stories.tsx +17 -14
  102. package/src/halo/useDevices.test.tsx +2 -1
  103. package/src/halo/useHaloInvitations.ts +1 -1
  104. package/src/invitations/useInvitationStatus.ts +9 -8
  105. package/src/testing/ClientRepeater.stories.tsx +21 -12
  106. package/src/testing/ClientRepeater.tsx +29 -36
  107. package/src/testing/context.tsx +4 -3
  108. package/src/testing/withClientProvider.stories.tsx +32 -16
  109. package/src/testing/withClientProvider.tsx +81 -64
  110. package/tsconfig.json +3 -6
  111. package/vitest.config.ts +12 -16
  112. package/.eslintrc.cjs +0 -12
  113. package/README.yml +0 -33
  114. package/dist/lib/browser/chunk-72QD3PXL.mjs +0 -312
  115. package/dist/lib/browser/chunk-72QD3PXL.mjs.map +0 -7
  116. package/dist/lib/browser/chunk-AL2CUQ46.mjs.map +0 -7
  117. package/dist/lib/node/chunk-5RUIFUEC.cjs +0 -334
  118. package/dist/lib/node/chunk-5RUIFUEC.cjs.map +0 -7
  119. package/dist/lib/node/chunk-FYOAVV65.cjs +0 -188
  120. package/dist/lib/node/chunk-FYOAVV65.cjs.map +0 -7
  121. package/dist/lib/node/devtools/index.cjs +0 -62
  122. package/dist/lib/node/devtools/index.cjs.map +0 -7
  123. package/dist/lib/node/echo/index.cjs +0 -302
  124. package/dist/lib/node/echo/index.cjs.map +0 -7
  125. package/dist/lib/node/halo/index.cjs +0 -123
  126. package/dist/lib/node/halo/index.cjs.map +0 -7
  127. package/dist/lib/node/index.cjs +0 -55
  128. package/dist/lib/node/index.cjs.map +0 -7
  129. package/dist/lib/node/invitations/index.cjs +0 -39
  130. package/dist/lib/node/invitations/index.cjs.map +0 -7
  131. package/dist/lib/node/mesh/index.cjs +0 -37
  132. package/dist/lib/node/mesh/index.cjs.map +0 -7
  133. package/dist/lib/node/meta.json +0 -1
  134. package/dist/lib/node/testing/index.cjs +0 -278
  135. package/dist/lib/node/testing/index.cjs.map +0 -7
  136. package/dist/lib/node/worker.cjs +0 -23
  137. package/dist/lib/node/worker.cjs.map +0 -7
  138. package/dist/lib/node-esm/chunk-NBTZZNQ5.mjs +0 -314
  139. package/dist/lib/node-esm/chunk-NBTZZNQ5.mjs.map +0 -7
  140. package/dist/lib/node-esm/chunk-UYJUBYMU.mjs.map +0 -7
  141. package/dist/types/src/echo/useQuery.d.ts +0 -11
  142. package/dist/types/src/echo/useQuery.d.ts.map +0 -1
  143. package/dist/types/src/echo/useQuery.test.d.ts +0 -2
  144. package/dist/types/src/echo/useQuery.test.d.ts.map +0 -1
  145. package/dist/types/src/echo/useSchema.d.ts +0 -8
  146. package/dist/types/src/echo/useSchema.d.ts.map +0 -1
  147. package/dist/types/src/playwright/playwright.config.d.cts +0 -3
  148. package/dist/types/src/playwright/playwright.config.d.cts.map +0 -1
  149. package/dist/types/src/playwright/smoke.spec.d.ts +0 -2
  150. package/dist/types/src/playwright/smoke.spec.d.ts.map +0 -1
  151. package/project.json +0 -40
  152. package/src/echo/useQuery.test.tsx +0 -128
  153. package/src/echo/useQuery.ts +0 -56
  154. package/src/echo/useSchema.ts +0 -54
  155. package/src/playwright/playwright.config.cts +0 -18
  156. package/src/playwright/smoke.spec.ts +0 -26
  157. package/typedoc/.nojekyll +0 -1
  158. package/typedoc/assets/hierarchy.js +0 -1
  159. package/typedoc/assets/highlight.css +0 -99
  160. package/typedoc/assets/icons.js +0 -18
  161. package/typedoc/assets/icons.svg +0 -1
  162. package/typedoc/assets/main.js +0 -60
  163. package/typedoc/assets/navigation.js +0 -1
  164. package/typedoc/assets/search.js +0 -1
  165. package/typedoc/assets/style.css +0 -1640
  166. package/typedoc/classes/echo.Hypergraph.html +0 -17
  167. package/typedoc/classes/echo.PropertiesType.html +0 -19
  168. package/typedoc/classes/echo.QueryResult.html +0 -18
  169. package/typedoc/classes/halo.KeyStore.html +0 -6
  170. package/typedoc/classes/index.AgentClientServiceProvider.html +0 -10
  171. package/typedoc/classes/index.AgentManagerClient.html +0 -22
  172. package/typedoc/classes/index.AlreadyJoinedError.html +0 -15
  173. package/typedoc/classes/index.ApiError.html +0 -16
  174. package/typedoc/classes/index.CancelledError.html +0 -16
  175. package/typedoc/classes/index.Client.html +0 -51
  176. package/typedoc/classes/index.ClientServicesProxy.html +0 -12
  177. package/typedoc/classes/index.Config.html +0 -17
  178. package/typedoc/classes/index.DataCorruptionError.html +0 -16
  179. package/typedoc/classes/index.DatabaseError.html +0 -15
  180. package/typedoc/classes/index.EntityNotFoundError.html +0 -15
  181. package/typedoc/classes/index.FakeAgentHostingProvider.html +0 -7
  182. package/typedoc/classes/index.IFrameManager.html +0 -6
  183. package/typedoc/classes/index.IdentityNotInitializedError.html +0 -15
  184. package/typedoc/classes/index.InvalidConfigError.html +0 -16
  185. package/typedoc/classes/index.InvalidInvitationError.html +0 -15
  186. package/typedoc/classes/index.InvalidInvitationExtensionRoleError.html +0 -16
  187. package/typedoc/classes/index.InvalidStorageVersionError.html +0 -15
  188. package/typedoc/classes/index.LocalClientServices.html +0 -12
  189. package/typedoc/classes/index.PublicKey.html +0 -55
  190. package/typedoc/classes/index.RemoteServiceConnectionError.html +0 -15
  191. package/typedoc/classes/index.RemoteServiceConnectionTimeout.html +0 -15
  192. package/typedoc/classes/index.RpcClosedError.html +0 -15
  193. package/typedoc/classes/index.RpcNotOpenError.html +0 -15
  194. package/typedoc/classes/index.SharedWorkerConnection.html +0 -5
  195. package/typedoc/classes/index.Shell.html +0 -35
  196. package/typedoc/classes/index.ShellManager.html +0 -9
  197. package/typedoc/classes/index.SystemError.html +0 -16
  198. package/typedoc/classes/index.UnknownModelError.html +0 -15
  199. package/typedoc/classes/index.WorkerClientServices.html +0 -12
  200. package/typedoc/classes/invitations.AuthenticatingInvitationObservable.html +0 -30
  201. package/typedoc/classes/invitations.CancellableInvitationObservable.html +0 -29
  202. package/typedoc/classes/invitations.InvitationEncoder.html +0 -5
  203. package/typedoc/classes/invitations.InvitationsProxy.html +0 -12
  204. package/typedoc/enums/devtools.KeyType.html +0 -9
  205. package/typedoc/enums/echo.HaloSpaceMember.Role.html +0 -9
  206. package/typedoc/enums/echo.IndexKind.Kind.html +0 -8
  207. package/typedoc/enums/echo.QueryOptions.DataLocation.html +0 -6
  208. package/typedoc/enums/echo.QueryOptions.ShowDeletedOption.html +0 -6
  209. package/typedoc/enums/echo.ResultFormat.html +0 -10
  210. package/typedoc/enums/echo.SpaceMember.PresenceState.html +0 -5
  211. package/typedoc/enums/echo.SpaceState.html +0 -13
  212. package/typedoc/enums/echo.TextKind.html +0 -5
  213. package/typedoc/enums/halo.Device.PresenceState.html +0 -6
  214. package/typedoc/enums/halo.DeviceKind.html +0 -5
  215. package/typedoc/enums/halo.DeviceType.html +0 -9
  216. package/typedoc/enums/index.ShellDisplay.html +0 -5
  217. package/typedoc/enums/index.ShellLayout.html +0 -13
  218. package/typedoc/enums/index.SystemStatus.html +0 -5
  219. package/typedoc/enums/invitations.Invitation.AuthMethod.html +0 -6
  220. package/typedoc/enums/invitations.Invitation.Kind.html +0 -5
  221. package/typedoc/enums/invitations.Invitation.State.html +0 -13
  222. package/typedoc/enums/invitations.Invitation.Type.html +0 -6
  223. package/typedoc/enums/mesh.ConnectionState.html +0 -5
  224. package/typedoc/functions/devtools.useDevtools.html +0 -1
  225. package/typedoc/functions/devtools.useStream.html +0 -2
  226. package/typedoc/functions/echo.useMembers.html +0 -1
  227. package/typedoc/functions/echo.useQueue.html +0 -2
  228. package/typedoc/functions/echo.useSchema.html +0 -2
  229. package/typedoc/functions/echo.useSpace.html +0 -6
  230. package/typedoc/functions/echo.useSpaceInvitation.html +0 -1
  231. package/typedoc/functions/echo.useSpaceInvitations.html +0 -1
  232. package/typedoc/functions/echo.useSpaceSyncState.html +0 -2
  233. package/typedoc/functions/echo.useSpaces.html +0 -5
  234. package/typedoc/functions/echo.useSubscription.html +0 -3
  235. package/typedoc/functions/echo.useSyncState.html +0 -2
  236. package/typedoc/functions/halo.useContacts.html +0 -4
  237. package/typedoc/functions/halo.useCredentials.html +0 -1
  238. package/typedoc/functions/halo.useDevices.html +0 -1
  239. package/typedoc/functions/halo.useHaloInvitation.html +0 -1
  240. package/typedoc/functions/halo.useHaloInvitations.html +0 -1
  241. package/typedoc/functions/halo.useIdentity.html +0 -3
  242. package/typedoc/functions/halo.useKeyStore.html +0 -3
  243. package/typedoc/functions/index.AgentHostingProvider.html +0 -2
  244. package/typedoc/functions/index.useAgentHostingClient.html +0 -1
  245. package/typedoc/functions/index.useClient.html +0 -3
  246. package/typedoc/functions/index.useClientStatus.html +0 -1
  247. package/typedoc/functions/index.useConfig.html +0 -3
  248. package/typedoc/functions/index.useShell.html +0 -2
  249. package/typedoc/functions/index.useShellDisplay.html +0 -2
  250. package/typedoc/functions/index.useStatus.html +0 -1
  251. package/typedoc/functions/invitations.useInvitationStatus.html +0 -1
  252. package/typedoc/functions/mesh.useNetworkStatus.html +0 -2
  253. package/typedoc/hierarchy.html +0 -1
  254. package/typedoc/index.html +0 -23
  255. package/typedoc/interfaces/devtools.DevtoolsHook.html +0 -22
  256. package/typedoc/interfaces/devtools.DevtoolsHost.html +0 -26
  257. package/typedoc/interfaces/echo.DocAccessor.html +0 -3
  258. package/typedoc/interfaces/echo.Echo.html +0 -39
  259. package/typedoc/interfaces/echo.EchoDatabase.html +0 -25
  260. package/typedoc/interfaces/echo.Expando.html +0 -3
  261. package/typedoc/interfaces/echo.Filter.html +0 -3
  262. package/typedoc/interfaces/echo.HaloSpaceMember.html +0 -18
  263. package/typedoc/interfaces/echo.IDocHandle.html +0 -6
  264. package/typedoc/interfaces/echo.IndexKind.html +0 -9
  265. package/typedoc/interfaces/echo.Query.html +0 -34
  266. package/typedoc/interfaces/echo.QueryOptions.html +0 -39
  267. package/typedoc/interfaces/echo.Queue.html +0 -17
  268. package/typedoc/interfaces/echo.Ref.html +0 -32
  269. package/typedoc/interfaces/echo.Space.html +0 -39
  270. package/typedoc/interfaces/echo.SpaceMember.html +0 -7
  271. package/typedoc/interfaces/echo.SpaceSyncState.PeerState.html +0 -14
  272. package/typedoc/interfaces/echo.SpaceSyncState.html +0 -4
  273. package/typedoc/interfaces/echo.SubscriptionHandle.html +0 -5
  274. package/typedoc/interfaces/echo.TypedObject.html +0 -16
  275. package/typedoc/interfaces/halo.Contact.html +0 -10
  276. package/typedoc/interfaces/halo.Credential.html +0 -27
  277. package/typedoc/interfaces/halo.Device.html +0 -11
  278. package/typedoc/interfaces/halo.Halo.html +0 -16
  279. package/typedoc/interfaces/halo.Identity.html +0 -15
  280. package/typedoc/interfaces/index.AgentHostingProviderClient.html +0 -6
  281. package/typedoc/interfaces/index.AppContextRequest.html +0 -33
  282. package/typedoc/interfaces/index.ClientServicesProvider.html +0 -9
  283. package/typedoc/interfaces/index.InvitationUrlRequest.html +0 -9
  284. package/typedoc/interfaces/index.LayoutRequest.html +0 -29
  285. package/typedoc/interfaces/index.ShellRuntime.html +0 -15
  286. package/typedoc/interfaces/invitations.Invitation.html +0 -92
  287. package/typedoc/interfaces/invitations.Invitations.html +0 -5
  288. package/typedoc/interfaces/mesh.GossipMessage.html +0 -10
  289. package/typedoc/interfaces/mesh.NetworkStatus.Signal.html +0 -5
  290. package/typedoc/interfaces/mesh.NetworkStatus.html +0 -6
  291. package/typedoc/media/LICENSE +0 -8
  292. package/typedoc/modules/devtools.html +0 -1
  293. package/typedoc/modules/echo.Filter.html +0 -1
  294. package/typedoc/modules/echo.HaloSpaceMember.html +0 -1
  295. package/typedoc/modules/echo.IndexKind.html +0 -1
  296. package/typedoc/modules/echo.Query.html +0 -1
  297. package/typedoc/modules/echo.QueryOptions.html +0 -1
  298. package/typedoc/modules/echo.Ref.html +0 -2
  299. package/typedoc/modules/echo.SpaceMember.html +0 -1
  300. package/typedoc/modules/echo.SpaceSyncState.html +0 -1
  301. package/typedoc/modules/echo.html +0 -1
  302. package/typedoc/modules/halo.Device.html +0 -1
  303. package/typedoc/modules/halo.html +0 -1
  304. package/typedoc/modules/index.html +0 -1
  305. package/typedoc/modules/invitations.Invitation.html +0 -1
  306. package/typedoc/modules/invitations.html +0 -1
  307. package/typedoc/modules/mesh.NetworkStatus.html +0 -1
  308. package/typedoc/modules/mesh.html +0 -1
  309. package/typedoc/modules/worker.html +0 -1
  310. package/typedoc/modules.html +0 -1
  311. package/typedoc/types/devtools.MountOptions.html +0 -3
  312. package/typedoc/types/echo.AnyLiveObject.html +0 -2
  313. package/typedoc/types/echo.Filter.And.html +0 -1
  314. package/typedoc/types/echo.Filter.Any.html +0 -1
  315. package/typedoc/types/echo.Filter.Or.html +0 -1
  316. package/typedoc/types/echo.Filter.Props.html +0 -1
  317. package/typedoc/types/echo.Filter.Type.html +0 -1
  318. package/typedoc/types/echo.Live.html +0 -5
  319. package/typedoc/types/echo.ObjectMeta.html +0 -1
  320. package/typedoc/types/echo.ObjectMigration.html +0 -7
  321. package/typedoc/types/echo.ObjectVersion.html +0 -2
  322. package/typedoc/types/echo.PeerSyncState.html +0 -1
  323. package/typedoc/types/echo.Progress.html +0 -3
  324. package/typedoc/types/echo.PropertiesTypeProps.html +0 -1
  325. package/typedoc/types/echo.Query.Any.html +0 -1
  326. package/typedoc/types/echo.Query.TextSearchOptions.html +0 -2
  327. package/typedoc/types/echo.Query.Type.html +0 -1
  328. package/typedoc/types/echo.Ref.Target.html +0 -2
  329. package/typedoc/types/echo.Selection.html +0 -1
  330. package/typedoc/types/echo.SpaceId.html +0 -6
  331. package/typedoc/types/echo.SpaceSyncStateMap.html +0 -1
  332. package/typedoc/types/echo.UseQueueOptions.html +0 -2
  333. package/typedoc/types/echo.UseSpacesParams.html +0 -3
  334. package/typedoc/types/index.AgentHostingProviderProps.html +0 -3
  335. package/typedoc/types/index.ClientContextProps.html +0 -3
  336. package/typedoc/types/index.ClientOptions.html +0 -12
  337. package/typedoc/types/index.ClientProviderProps.html +0 -2
  338. package/typedoc/types/index.ClientServices.html +0 -15
  339. package/typedoc/types/index.FromAgentOptions.html +0 -2
  340. package/typedoc/types/index.PublicKeyLike.html +0 -2
  341. package/typedoc/types/invitations.InvitationAction.html +0 -1
  342. package/typedoc/types/invitations.InvitationResult.html +0 -5
  343. package/typedoc/types/invitations.InvitationStatus.html +0 -15
  344. package/typedoc/variables/devtools.mountDevtoolsHooks.html +0 -1
  345. package/typedoc/variables/devtools.unmountDevtoolsHooks.html +0 -1
  346. package/typedoc/variables/echo.DocAccessor.html +0 -1
  347. package/typedoc/variables/echo.EchoObjectSchema.html +0 -1
  348. package/typedoc/variables/echo.Expando.html +0 -1
  349. package/typedoc/variables/echo.FQ_ID_LENGTH.html +0 -1
  350. package/typedoc/variables/echo.Filter.html +0 -1
  351. package/typedoc/variables/echo.OBJECT_ID_LENGTH.html +0 -1
  352. package/typedoc/variables/echo.ObjectVersion.html +0 -1
  353. package/typedoc/variables/echo.Query.html +0 -1
  354. package/typedoc/variables/echo.Queue.html +0 -1
  355. package/typedoc/variables/echo.ReactiveObjectSchema.html +0 -1
  356. package/typedoc/variables/echo.Ref.html +0 -2
  357. package/typedoc/variables/echo.RefArray.html +0 -2
  358. package/typedoc/variables/echo.SPACE_ID_LENGTH.html +0 -1
  359. package/typedoc/variables/echo.SpaceId.html +0 -1
  360. package/typedoc/variables/echo.SpaceSchema.html +0 -1
  361. package/typedoc/variables/echo.TypedObject.html +0 -3
  362. package/typedoc/variables/echo.compareForeignKeys.html +0 -1
  363. package/typedoc/variables/echo.createDocAccessor.html +0 -1
  364. package/typedoc/variables/echo.createEmptyEdgeSyncState.html +0 -1
  365. package/typedoc/variables/echo.createObject.html +0 -1
  366. package/typedoc/variables/echo.createQueueDXN.html +0 -2
  367. package/typedoc/variables/echo.createSubscription.html +0 -5
  368. package/typedoc/variables/echo.defineObjectMigration.html +0 -1
  369. package/typedoc/variables/echo.fromCursor.html +0 -1
  370. package/typedoc/variables/echo.fullyQualifiedId.html +0 -4
  371. package/typedoc/variables/echo.getMeta.html +0 -1
  372. package/typedoc/variables/echo.getObjectCore.html +0 -1
  373. package/typedoc/variables/echo.getRangeFromCursor.html +0 -1
  374. package/typedoc/variables/echo.getSchema.html +0 -2
  375. package/typedoc/variables/echo.getSource.html +0 -4
  376. package/typedoc/variables/echo.getSpace.html +0 -1
  377. package/typedoc/variables/echo.getSyncSummary.html +0 -1
  378. package/typedoc/variables/echo.getTarget.html +0 -4
  379. package/typedoc/variables/echo.getTextInRange.html +0 -2
  380. package/typedoc/variables/echo.getType.html +0 -5
  381. package/typedoc/variables/echo.getTypename.html +0 -6
  382. package/typedoc/variables/echo.getVersion.html +0 -3
  383. package/typedoc/variables/echo.importSpace.html +0 -1
  384. package/typedoc/variables/echo.internalDecodeReference.html +0 -1
  385. package/typedoc/variables/echo.isEchoObject.html +0 -2
  386. package/typedoc/variables/echo.isLiveObject.html +0 -2
  387. package/typedoc/variables/echo.isRelation.html +0 -2
  388. package/typedoc/variables/echo.isSpace.html +0 -1
  389. package/typedoc/variables/echo.live.html +0 -3
  390. package/typedoc/variables/echo.loadObjectReferences.html +0 -7
  391. package/typedoc/variables/echo.makeRef.html +0 -2
  392. package/typedoc/variables/echo.parseFullyQualifiedId.html +0 -2
  393. package/typedoc/variables/echo.parseId.html +0 -1
  394. package/typedoc/variables/echo.refFromDXN.html +0 -2
  395. package/typedoc/variables/echo.toCursor.html +0 -1
  396. package/typedoc/variables/echo.toCursorRange.html +0 -1
  397. package/typedoc/variables/echo.updateText.html +0 -6
  398. package/typedoc/variables/echo.useQuery.html +0 -2
  399. package/typedoc/variables/index.AgentHostingContext.html +0 -1
  400. package/typedoc/variables/index.ClientProvider.html +0 -3
  401. package/typedoc/variables/index.DXOS_VERSION.html +0 -1
  402. package/typedoc/variables/index.Defaults.html +0 -2
  403. package/typedoc/variables/index.Dynamics.html +0 -2
  404. package/typedoc/variables/index.Envs.html +0 -2
  405. package/typedoc/variables/index.Local.html +0 -2
  406. package/typedoc/variables/index.Remote.html +0 -1
  407. package/typedoc/variables/index.Storage.html +0 -2
  408. package/typedoc/variables/index.createClientServices.html +0 -4
  409. package/typedoc/variables/index.fromAgent.html +0 -2
  410. package/typedoc/variables/index.fromHost.html +0 -2
  411. package/typedoc/variables/index.fromSocket.html +0 -2
  412. package/typedoc/variables/index.fromWorker.html +0 -2
  413. package/typedoc/variables/index.getUnixSocket.html +0 -1
  414. package/typedoc/variables/index.resolveRef.html +0 -1
  415. package/typedoc/variables/index.useMulticastObservable.html +0 -3
  416. package/typedoc/variables/worker.getWorkerServiceHost.html +0 -1
  417. package/typedoc/variables/worker.onconnect.html +0 -1
@@ -0,0 +1,180 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ ClientContext
4
+ } from "./chunk-373DPHEQ.mjs";
5
+
6
+ // src/client/ClientProvider.tsx
7
+ import React, { forwardRef, useEffect, useImperativeHandle, useState } from "react";
8
+ import { Client, SystemStatus } from "@dxos/client";
9
+ import { log } from "@dxos/log";
10
+ import { useAsyncEffect, useControlledState } from "@dxos/react-hooks";
11
+ import { getAsyncProviderValue } from "@dxos/util";
12
+
13
+ // src/banner.ts
14
+ var BANNER = (client) => {
15
+ const commitHash = client.config.get("runtime.app.build.commitHash");
16
+ const hash = commitHash ? ` App Commit ${commitHash}
17
+ ` : "";
18
+ return `
19
+ _/\\/\\/\\/\\/\\____/\\/\\____/\\/\\____/\\/\\/\\/\\______/\\/\\/\\/\\/\\_
20
+ _/\\/\\____/\\/\\____/\\/\\/\\/\\____/\\/\\____/\\/\\__/\\/\\_________
21
+ _/\\/\\____/\\/\\______/\\/\\______/\\/\\____/\\/\\____/\\/\\/\\/\\___
22
+ _/\\/\\____/\\/\\____/\\/\\/\\/\\____/\\/\\____/\\/\\__________/\\/\\_
23
+ _/\\/\\/\\/\\/\\____/\\/\\____/\\/\\____/\\/\\/\\/\\____/\\/\\/\\/\\/\\___
24
+
25
+ DXOS Client ${client.version}
26
+ ${hash}`;
27
+ };
28
+ var bannerPrinted = false;
29
+ var printBanner = (client) => {
30
+ if (bannerPrinted || window.location.hostname === "localhost") {
31
+ return;
32
+ }
33
+ bannerPrinted = true;
34
+ console.log(`%c${BANNER(client)}`, "font-family: monospace;");
35
+ };
36
+
37
+ // src/client/ClientProvider.tsx
38
+ var __dxlog_file = "/__w/dxos/dxos/packages/sdk/react-client/src/client/ClientProvider.tsx";
39
+ var ClientProvider = /* @__PURE__ */ forwardRef(({ children, config: configProp, client: clientProp, services: servicesProp, status: statusProp, fallback: Fallback = () => null, noBanner, onInitialized, ...options }, forwardedRef) => {
40
+ const [error, setError] = useState();
41
+ if (error) {
42
+ throw error;
43
+ }
44
+ const [client, setClient] = useState(clientProp instanceof Client ? clientProp : void 0);
45
+ useImperativeHandle(forwardedRef, () => client, [
46
+ client
47
+ ]);
48
+ const [status, setStatus] = useControlledState(statusProp);
49
+ useEffect(() => {
50
+ if (!client) {
51
+ return;
52
+ }
53
+ const subscription = client.status.subscribe((status2) => setStatus(status2));
54
+ return () => subscription.unsubscribe();
55
+ }, [
56
+ client
57
+ ]);
58
+ useAsyncEffect(async () => {
59
+ let disposed = false;
60
+ const initialize = async (client3) => {
61
+ if (!client3.initialized) {
62
+ await client3.initialize().catch((err) => {
63
+ if (!disposed) {
64
+ setError(err);
65
+ }
66
+ });
67
+ log("client ready", void 0, {
68
+ F: __dxlog_file,
69
+ L: 124,
70
+ S: void 0,
71
+ C: (f, a) => f(...a)
72
+ });
73
+ await onInitialized?.(client3);
74
+ log("initialization complete", void 0, {
75
+ F: __dxlog_file,
76
+ L: 126,
77
+ S: void 0,
78
+ C: (f, a) => f(...a)
79
+ });
80
+ }
81
+ setClient(client3);
82
+ if (!noBanner) {
83
+ printBanner(client3);
84
+ }
85
+ };
86
+ let client2;
87
+ try {
88
+ if (clientProp) {
89
+ client2 = await getAsyncProviderValue(clientProp);
90
+ await initialize(client2);
91
+ } else {
92
+ const config = await getAsyncProviderValue(configProp);
93
+ log("resolved config", {
94
+ config
95
+ }, {
96
+ F: __dxlog_file,
97
+ L: 144,
98
+ S: void 0,
99
+ C: (f, a) => f(...a)
100
+ });
101
+ const services = await getAsyncProviderValue(servicesProp, config);
102
+ log("created services", {
103
+ services
104
+ }, {
105
+ F: __dxlog_file,
106
+ L: 146,
107
+ S: void 0,
108
+ C: (f, a) => f(...a)
109
+ });
110
+ client2 = new Client({
111
+ config,
112
+ services,
113
+ ...options
114
+ });
115
+ log("created client", void 0, {
116
+ F: __dxlog_file,
117
+ L: 148,
118
+ S: void 0,
119
+ C: (f, a) => f(...a)
120
+ });
121
+ await initialize(client2);
122
+ }
123
+ } catch (err) {
124
+ if (!disposed) {
125
+ log.catch(err, void 0, {
126
+ F: __dxlog_file,
127
+ L: 153,
128
+ S: void 0,
129
+ C: (f, a) => f(...a)
130
+ });
131
+ }
132
+ }
133
+ return () => {
134
+ log("clean up", void 0, {
135
+ F: __dxlog_file,
136
+ L: 158,
137
+ S: void 0,
138
+ C: (f, a) => f(...a)
139
+ });
140
+ disposed = true;
141
+ if (!clientProp) {
142
+ void client2?.destroy().then(() => {
143
+ log("destroyed", void 0, {
144
+ F: __dxlog_file,
145
+ L: 165,
146
+ S: void 0,
147
+ C: (f, a) => f(...a)
148
+ });
149
+ }).catch((err) => log.catch(err, void 0, {
150
+ F: __dxlog_file,
151
+ L: 167,
152
+ S: void 0,
153
+ C: (f, a) => f(...a)
154
+ }));
155
+ }
156
+ };
157
+ }, [
158
+ configProp,
159
+ clientProp,
160
+ servicesProp,
161
+ noBanner
162
+ ]);
163
+ if (!client?.initialized || status !== SystemStatus.ACTIVE) {
164
+ return /* @__PURE__ */ React.createElement(Fallback, {
165
+ client,
166
+ status
167
+ });
168
+ }
169
+ return /* @__PURE__ */ React.createElement(ClientContext.Provider, {
170
+ value: {
171
+ client,
172
+ status
173
+ }
174
+ }, children);
175
+ });
176
+
177
+ export {
178
+ ClientProvider
179
+ };
180
+ //# sourceMappingURL=chunk-T3QTQHBD.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/client/ClientProvider.tsx", "../../../src/banner.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2020 DXOS.org\n//\n\nimport React, {\n type FunctionComponent,\n type PropsWithChildren,\n forwardRef,\n useEffect,\n useImperativeHandle,\n useState,\n} from 'react';\n\nimport { Client, type ClientOptions, type ClientServicesProvider, SystemStatus } from '@dxos/client';\nimport { type Config } from '@dxos/config';\nimport { log } from '@dxos/log';\nimport { useAsyncEffect, useControlledState } from '@dxos/react-hooks';\nimport { type MaybePromise, type Provider, getAsyncProviderValue } from '@dxos/util';\n\nimport { printBanner } from '../banner';\n\nimport { ClientContext, type ClientContextProps } from './context';\n\n/**\n * Properties for the ClientProvider.\n */\nexport type ClientProviderProps = Omit<ClientOptions, 'config' | 'services'> &\n Pick<ClientContextProps, 'status'> &\n PropsWithChildren<{\n /**\n * Client object or async provider to enable to caller to do custom initialization.\n *\n * NOTE: For advanced use cases only.\n */\n client?: Client | Provider<Promise<Client>>;\n\n /**\n * Config object or async provider.\n *\n * NOTE: If a `client` is provided then `config` is ignored.\n */\n // TODO(burdon): Reconcile with ClientOptions.\n config?: Config | Provider<Promise<Config>>;\n\n /**\n * Callback to enable the caller to create a custom ClientServicesProvider.\n *\n * NOTE: If a `client` is provided then `services` is ignored.\n */\n // TODO(burdon): Reconcile with ClientOptions.\n services?: ClientServicesProvider | ((config?: Config) => MaybePromise<ClientServicesProvider>);\n\n /**\n * ReactNode to display until the client is available.\n */\n fallback?: FunctionComponent<Partial<ClientContextProps>>;\n\n /**\n * Skip the DXOS banner.\n */\n noBanner?: boolean;\n\n /**\n * Post initialization hook to enable to caller to do custom initialization.\n */\n onInitialized?: (client: Client) => MaybePromise<void>;\n }>;\n\n/**\n * Root component that provides the DXOS client instance to child components.\n * To be used with the `useClient` hook.\n */\nexport const ClientProvider = forwardRef<Client | undefined, ClientProviderProps>(\n (\n {\n children,\n config: configProp,\n client: clientProp,\n services: servicesProp,\n status: statusProp,\n fallback: Fallback = () => null,\n noBanner,\n onInitialized,\n ...options\n },\n forwardedRef,\n ) => {\n // The client is initialized asynchronously.\n // If an error occurs during initialization, it is caught and the state is set.\n // This allows the error to be thrown in the render method.\n // The assumption is that a client initialization error is fatal to the app.\n // This error will be caught by the nearest error boundary.\n const [error, setError] = useState();\n if (error) {\n throw error;\n }\n\n const [client, setClient] = useState(clientProp instanceof Client ? clientProp : undefined);\n\n // Provide external access.\n useImperativeHandle(forwardedRef, () => client, [client]);\n\n // Client status subscription.\n const [status, setStatus] = useControlledState(statusProp);\n useEffect(() => {\n if (!client) {\n return;\n }\n\n const subscription = client.status.subscribe((status) => setStatus(status));\n return () => subscription.unsubscribe();\n }, [client]);\n\n // Create and/or initialize client.\n useAsyncEffect(async () => {\n let disposed = false;\n const initialize = async (client: Client) => {\n if (!client.initialized) {\n await client.initialize().catch((err) => {\n if (!disposed) {\n setError(err);\n }\n });\n log('client ready');\n await onInitialized?.(client);\n log('initialization complete');\n }\n\n setClient(client);\n if (!noBanner) {\n printBanner(client);\n }\n };\n\n let client: Client;\n try {\n if (clientProp) {\n // Asynchronously request client.\n client = await getAsyncProviderValue(clientProp);\n await initialize(client);\n } else {\n // Asynchronously construct client (config may be undefined).\n const config = await getAsyncProviderValue(configProp);\n log('resolved config', { config });\n const services = await getAsyncProviderValue(servicesProp, config);\n log('created services', { services });\n client = new Client({ config, services, ...options });\n log('created client');\n await initialize(client);\n }\n } catch (err) {\n if (!disposed) {\n log.catch(err);\n }\n }\n\n return () => {\n log('clean up');\n disposed = true;\n // Only destroy if the client is not provided by the parent.\n if (!clientProp) {\n void client\n ?.destroy()\n .then(() => {\n log('destroyed');\n })\n .catch((err) => log.catch(err));\n }\n };\n }, [configProp, clientProp, servicesProp, noBanner]);\n\n if (!client?.initialized || status !== SystemStatus.ACTIVE) {\n return <Fallback client={client} status={status} />;\n }\n\n return <ClientContext.Provider value={{ client, status }}>{children}</ClientContext.Provider>;\n },\n);\n", "//\n// Copyright 2021 DXOS.org\n//\n\nimport { type Client } from '@dxos/client';\n\n// http://patorjk.com/software/taag/#p=testall&f=Patorjk-HeX&t=DXOS\nconst BANNER = (client: Client) => {\n const commitHash = client.config.get('runtime.app.build.commitHash');\n const hash = commitHash ? ` App Commit ${commitHash} \\n` : '';\n\n return (\n '\\n' +\n '_/\\\\/\\\\/\\\\/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\/\\\\/\\\\______/\\\\/\\\\/\\\\/\\\\/\\\\_\\n' +\n '_/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\__/\\\\/\\\\_________\\n' +\n '_/\\\\/\\\\____/\\\\/\\\\______/\\\\/\\\\______/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\/\\\\/\\\\___\\n' +\n '_/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\__________/\\\\/\\\\_\\n' +\n '_/\\\\/\\\\/\\\\/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\/\\\\/\\\\____/\\\\/\\\\/\\\\/\\\\/\\\\___\\n' +\n `\\n DXOS Client ${client.version} \\n${hash}`\n );\n};\n\nlet bannerPrinted = false;\n\nexport const printBanner = (client: Client) => {\n if (bannerPrinted || window.location.hostname === 'localhost') {\n return;\n }\n\n bannerPrinted = true;\n // eslint-disable-next-line no-console\n console.log(`%c${BANNER(client)}`, 'font-family: monospace;');\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "forwardRef", "useEffect", "useImperativeHandle", "useState", "Client", "SystemStatus", "log", "useAsyncEffect", "useControlledState", "getAsyncProviderValue", "BANNER", "client", "commitHash", "config", "get", "hash", "version", "bannerPrinted", "printBanner", "window", "location", "hostname", "console", "log", "ClientProvider", "forwardRef", "children", "config", "configProp", "client", "clientProp", "services", "servicesProp", "status", "statusProp", "fallback", "Fallback", "noBanner", "onInitialized", "options", "forwardedRef", "error", "setError", "useState", "setClient", "Client", "undefined", "useImperativeHandle", "setStatus", "useControlledState", "useEffect", "subscription", "subscribe", "unsubscribe", "useAsyncEffect", "disposed", "initialize", "initialized", "catch", "err", "log", "printBanner", "getAsyncProviderValue", "destroy", "then", "SystemStatus", "ACTIVE", "ClientContext", "Provider", "value"]
7
+ }
@@ -1,22 +1,23 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  useClient
4
- } from "../chunk-NBTZZNQ5.mjs";
4
+ } from "../chunk-NETTSER2.mjs";
5
+ import "../chunk-373DPHEQ.mjs";
5
6
 
6
- // packages/sdk/react-client/src/devtools/index.ts
7
+ // src/devtools/index.ts
7
8
  export * from "@dxos/client/devtools";
8
9
 
9
- // packages/sdk/react-client/src/devtools/useDevtools.ts
10
+ // src/devtools/useDevtools.ts
10
11
  import { raise } from "@dxos/debug";
11
12
  var useDevtools = () => {
12
13
  const client = useClient();
13
14
  return client.services.services.DevtoolsHost ?? raise(new Error("DevtoolsHost not available."));
14
15
  };
15
16
 
16
- // packages/sdk/react-client/src/devtools/useStream.ts
17
- import { useState, useEffect } from "react";
17
+ // src/devtools/useStream.ts
18
+ import { useEffect, useState } from "react";
18
19
  import { log } from "@dxos/log";
19
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/sdk/react-client/src/devtools/useStream.ts";
20
+ var __dxlog_file = "/__w/dxos/dxos/packages/sdk/react-client/src/devtools/useStream.ts";
20
21
  var useStream = (streamFactory, defaultValue, deps = []) => {
21
22
  const [value, setValue] = useState(defaultValue);
22
23
  useEffect(() => {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/devtools/index.ts", "../../../../src/devtools/useDevtools.ts", "../../../../src/devtools/useStream.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nexport * from '@dxos/client/devtools';\n\nexport * from './useDevtools';\nexport * from './useStream';\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { type DevtoolsHost } from '@dxos/client/devtools';\nimport { raise } from '@dxos/debug';\n\nimport { useClient } from '../client';\n\nexport const useDevtools = (): DevtoolsHost => {\n const client = useClient();\n return client.services.services.DevtoolsHost ?? raise(new Error('DevtoolsHost not available.'));\n};\n", "//\n// Copyright 2021 DXOS.org\n//\n\nimport { type DependencyList, useState, useEffect } from 'react';\n\nimport { type Stream } from '@dxos/codec-protobuf/stream';\nimport { log } from '@dxos/log';\n\n/**\n * Subscribe to service API streams.\n */\nexport const useStream = <T>(streamFactory: () => Stream<T>, defaultValue: T, deps: DependencyList = []): T => {\n const [value, setValue] = useState<T | undefined>(defaultValue);\n useEffect(() => {\n const stream = streamFactory();\n stream.subscribe(\n (response: T) => setValue(response),\n (err) => {\n if (err) {\n log.catch(err);\n }\n },\n );\n\n return () => {\n void stream.close();\n };\n }, deps);\n\n return value ?? defaultValue;\n};\n"],
5
- "mappings": ";;;;;;AAIA,cAAc;;;ACCd,SAASA,aAAa;AAIf,IAAMC,cAAc,MAAA;AACzB,QAAMC,SAASC,UAAAA;AACf,SAAOD,OAAOE,SAASA,SAASC,gBAAgBC,MAAM,IAAIC,MAAM,6BAAA,CAAA;AAClE;;;ACRA,SAA8BC,UAAUC,iBAAiB;AAGzD,SAASC,WAAW;;AAKb,IAAMC,YAAY,CAAIC,eAAgCC,cAAiBC,OAAuB,CAAA,MAAE;AACrG,QAAM,CAACC,OAAOC,QAAAA,IAAYR,SAAwBK,YAAAA;AAClDJ,YAAU,MAAA;AACR,UAAMQ,SAASL,cAAAA;AACfK,WAAOC,UACL,CAACC,aAAgBH,SAASG,QAAAA,GAC1B,CAACC,QAAAA;AACC,UAAIA,KAAK;AACPV,YAAIW,MAAMD,KAAAA,QAAAA;;;;;;MACZ;IACF,CAAA;AAGF,WAAO,MAAA;AACL,WAAKH,OAAOK,MAAK;IACnB;EACF,GAAGR,IAAAA;AAEH,SAAOC,SAASF;AAClB;",
6
- "names": ["raise", "useDevtools", "client", "useClient", "services", "DevtoolsHost", "raise", "Error", "useState", "useEffect", "log", "useStream", "streamFactory", "defaultValue", "deps", "value", "setValue", "stream", "subscribe", "response", "err", "catch", "close"]
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nexport * from '@dxos/client/devtools';\n\nexport * from './useDevtools';\nexport * from './useStream';\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { type DevtoolsHost } from '@dxos/client/devtools';\nimport { raise } from '@dxos/debug';\n\nimport { useClient } from '../client';\n\nexport const useDevtools = (): DevtoolsHost => {\n const client = useClient();\n return client.services.services.DevtoolsHost ?? raise(new Error('DevtoolsHost not available.'));\n};\n", "//\n// Copyright 2021 DXOS.org\n//\n\nimport { type DependencyList, useEffect, useState } from 'react';\n\nimport { type Stream } from '@dxos/codec-protobuf/stream';\nimport { log } from '@dxos/log';\n\n/**\n * Subscribe to service API streams.\n */\nexport const useStream = <T>(streamFactory: () => Stream<T>, defaultValue: T, deps: DependencyList = []): T => {\n const [value, setValue] = useState<T | undefined>(defaultValue);\n useEffect(() => {\n const stream = streamFactory();\n stream.subscribe(\n (response: T) => setValue(response),\n (err) => {\n if (err) {\n log.catch(err);\n }\n },\n );\n\n return () => {\n void stream.close();\n };\n }, deps);\n\n return value ?? defaultValue;\n};\n"],
5
+ "mappings": ";;;;;;;AAIA,cAAc;;;ACCd,SAASA,aAAa;AAIf,IAAMC,cAAc,MAAA;AACzB,QAAMC,SAASC,UAAAA;AACf,SAAOD,OAAOE,SAASA,SAASC,gBAAgBC,MAAM,IAAIC,MAAM,6BAAA,CAAA;AAClE;;;ACRA,SAA8BC,WAAWC,gBAAgB;AAGzD,SAASC,WAAW;;AAKb,IAAMC,YAAY,CAAIC,eAAgCC,cAAiBC,OAAuB,CAAA,MAAE;AACrG,QAAM,CAACC,OAAOC,QAAAA,IAAYP,SAAwBI,YAAAA;AAClDL,YAAU,MAAA;AACR,UAAMS,SAASL,cAAAA;AACfK,WAAOC,UACL,CAACC,aAAgBH,SAASG,QAAAA,GAC1B,CAACC,QAAAA;AACC,UAAIA,KAAK;AACPV,YAAIW,MAAMD,KAAAA,QAAAA;;;;;;MACZ;IACF,CAAA;AAGF,WAAO,MAAA;AACL,WAAKH,OAAOK,MAAK;IACnB;EACF,GAAGR,IAAAA;AAEH,SAAOC,SAASF;AAClB;",
6
+ "names": ["raise", "useDevtools", "client", "useClient", "services", "DevtoolsHost", "raise", "Error", "useEffect", "useState", "log", "useStream", "streamFactory", "defaultValue", "deps", "value", "setValue", "stream", "subscribe", "response", "err", "catch", "close"]
7
7
  }
@@ -1,102 +1,81 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  useInvitationStatus
4
- } from "../chunk-UYJUBYMU.mjs";
4
+ } from "../chunk-AQJH2UNZ.mjs";
5
5
  import {
6
6
  useClient
7
- } from "../chunk-NBTZZNQ5.mjs";
7
+ } from "../chunk-NETTSER2.mjs";
8
+ import "../chunk-373DPHEQ.mjs";
8
9
 
9
- // packages/sdk/react-client/src/echo/index.ts
10
+ // src/echo/index.ts
10
11
  export * from "@dxos/client/echo";
12
+ export * from "@dxos/echo-react";
11
13
 
12
- // packages/sdk/react-client/src/echo/useMembers.ts
14
+ // src/echo/useMembers.ts
13
15
  import { MulticastObservable } from "@dxos/async";
16
+ import { PublicKey as PublicKey2 } from "@dxos/client";
14
17
  import { HaloSpaceMember } from "@dxos/client/echo";
15
18
  import { useMulticastObservable as useMulticastObservable2 } from "@dxos/react-hooks";
16
19
 
17
- // packages/sdk/react-client/src/echo/useSpaces.ts
18
- import { useEffect, useState } from "react";
20
+ // src/echo/useSpaces.ts
21
+ import { useState } from "react";
22
+ import { PublicKey } from "@dxos/client";
19
23
  import { SpaceState } from "@dxos/client/echo";
20
- import { useMulticastObservable } from "@dxos/react-hooks";
21
- var useSpace = (spaceKeyLike) => {
24
+ import { useAsyncEffect, useMulticastObservable } from "@dxos/react-hooks";
25
+ var useSpace = (spaceId) => {
22
26
  const client = useClient();
23
27
  const spaces = useMulticastObservable(client.spaces);
24
28
  const [ready, setReady] = useState(false);
25
- useEffect(() => {
26
- if (spaceKeyLike) {
29
+ useAsyncEffect(async () => {
30
+ if (spaceId) {
27
31
  return;
28
32
  }
29
- const timeout = setTimeout(async () => {
30
- await client.spaces.waitUntilReady();
31
- setReady(true);
32
- });
33
- return () => clearTimeout(timeout);
33
+ await client.spaces.waitUntilReady();
34
+ setReady(true);
34
35
  }, [
35
36
  client,
36
- spaceKeyLike
37
+ spaceId
37
38
  ]);
38
- if (spaceKeyLike) {
39
- return spaces.find((space) => space.key.equals(spaceKeyLike) || space.id === spaceKeyLike);
39
+ if (spaceId) {
40
+ return spaces.find((space) => {
41
+ if (spaceId instanceof PublicKey) {
42
+ return space.key.equals(spaceId);
43
+ }
44
+ return space.id === spaceId;
45
+ });
40
46
  }
41
47
  if (ready && client.halo.identity.get()) {
42
48
  return client.spaces.default;
43
49
  }
44
50
  };
51
+ var useDatabase = (spaceId) => {
52
+ const space = useSpace(spaceId);
53
+ return space?.db;
54
+ };
45
55
  var useSpaces = ({ all = false } = {}) => {
46
56
  const client = useClient();
47
57
  const spaces = useMulticastObservable(client.spaces);
48
58
  return spaces.filter((space) => all || space.state.get() === SpaceState.SPACE_READY);
49
59
  };
50
60
 
51
- // packages/sdk/react-client/src/echo/useMembers.ts
61
+ // src/echo/useMembers.ts
52
62
  var useMembers = (spaceKey) => {
53
63
  const spaces = useSpaces({
54
64
  all: true
55
65
  });
56
- const space = spaceKey ? spaces.find((space2) => space2.key.equals(spaceKey)) : void 0;
66
+ const space = spaceKey ? spaces.find((space2) => spaceKey instanceof PublicKey2 ? space2.key.equals(spaceKey) : space2.id === spaceKey) : void 0;
57
67
  const members = useMulticastObservable2(space?.members ?? MulticastObservable.empty()) ?? [];
58
68
  return members.filter((member) => member.role !== HaloSpaceMember.Role.REMOVED);
59
69
  };
60
70
 
61
- // packages/sdk/react-client/src/echo/useQuery.ts
62
- import { useMemo, useSyncExternalStore } from "react";
63
- import { Filter, Query, isSpace } from "@dxos/client/echo";
64
- var EMPTY_ARRAY = [];
65
- var noop = () => {
66
- };
67
- var useQuery = (spaceOrEcho, queryOrFilter, deps) => {
68
- const query = Filter.is(queryOrFilter) ? Query.select(queryOrFilter) : queryOrFilter;
69
- const { getObjects, subscribe } = useMemo(() => {
70
- let subscribed = false;
71
- const queryResult = spaceOrEcho === void 0 ? void 0 : isSpace(spaceOrEcho) ? spaceOrEcho.db.query(query) : spaceOrEcho.query(query);
72
- return {
73
- getObjects: () => subscribed && queryResult ? queryResult.objects : EMPTY_ARRAY,
74
- subscribe: (cb) => {
75
- subscribed = true;
76
- const unsubscribe = queryResult?.subscribe(cb) ?? noop;
77
- return () => {
78
- unsubscribe?.();
79
- subscribed = false;
80
- };
81
- }
82
- };
83
- }, [
84
- spaceOrEcho,
85
- JSON.stringify(query.ast),
86
- ...deps ?? []
87
- ]);
88
- const objects = useSyncExternalStore(subscribe, getObjects);
89
- return objects ?? [];
90
- };
91
-
92
- // packages/sdk/react-client/src/echo/useQueue.ts
93
- import { useEffect as useEffect2, useMemo as useMemo2, useRef } from "react";
71
+ // src/echo/useQueue.ts
72
+ import { useEffect, useMemo, useRef } from "react";
94
73
  import { raise } from "@dxos/debug";
95
74
  var MIN_POLL_INTERVAL = 1e3;
96
75
  var useQueue = (queueDxn, options = {}) => {
97
76
  const client = useClient();
98
77
  const mountedRef = useRef(true);
99
- const queue = useMemo2(() => {
78
+ const queue = useMemo(() => {
100
79
  if (!queueDxn) {
101
80
  return void 0;
102
81
  }
@@ -106,12 +85,12 @@ var useQueue = (queueDxn, options = {}) => {
106
85
  client,
107
86
  queueDxn?.toString()
108
87
  ]);
109
- useEffect2(() => {
88
+ useEffect(() => {
110
89
  void queue?.refresh();
111
90
  }, [
112
91
  queue
113
92
  ]);
114
- useEffect2(() => {
93
+ useEffect(() => {
115
94
  let timeout;
116
95
  mountedRef.current = true;
117
96
  const poll = () => {
@@ -138,71 +117,42 @@ var useQueue = (queueDxn, options = {}) => {
138
117
  return queue;
139
118
  };
140
119
 
141
- // packages/sdk/react-client/src/echo/useSchema.ts
142
- import { useMemo as useMemo3, useSyncExternalStore as useSyncExternalStore2 } from "react";
143
- var useSchema = (client, space, typename) => {
144
- const { subscribe, getSchema } = useMemo3(() => {
145
- if (!typename || !space) {
146
- return {
147
- subscribe: () => () => {
148
- },
149
- getSchema: () => void 0
150
- };
151
- }
152
- const staticSchema = client.graph.schemaRegistry.getSchema(typename);
153
- if (staticSchema) {
154
- return {
155
- subscribe: () => () => {
156
- },
157
- getSchema: () => staticSchema
158
- };
159
- }
160
- const query = space.db.schemaRegistry.query({
161
- typename
162
- });
163
- const initialResult = query.runSync()[0];
164
- let currentSchema = initialResult;
165
- return {
166
- subscribe: (onStoreChange) => {
167
- const unsubscribe = query.subscribe(() => {
168
- currentSchema = query.results[0];
169
- onStoreChange();
170
- });
171
- return unsubscribe;
172
- },
173
- getSchema: () => currentSchema
174
- };
175
- }, [
176
- typename,
177
- space
178
- ]);
179
- return useSyncExternalStore2(subscribe, getSchema);
180
- };
181
-
182
- // packages/sdk/react-client/src/echo/useSpaceInvitations.ts
183
- import { useMemo as useMemo4 } from "react";
120
+ // src/echo/useSpaceInvitations.ts
121
+ import { useMemo as useMemo2 } from "react";
184
122
  import { MulticastObservable as MulticastObservable2 } from "@dxos/async";
185
123
  import { useMulticastObservable as useMulticastObservable3 } from "@dxos/react-hooks";
186
- var useSpaceInvitations = (spaceKey) => {
187
- const space = useSpace(spaceKey);
124
+ var useSpaceInvitations = (spaceId) => {
125
+ const space = useSpace(spaceId);
188
126
  return useMulticastObservable3(space?.invitations ?? MulticastObservable2.empty()) ?? [];
189
127
  };
190
- var useSpaceInvitation = (spaceKey, invitationId) => {
191
- const invitations = useSpaceInvitations(spaceKey);
192
- const invitation = useMemo4(() => invitations.find((invitation2) => invitation2.get().invitationId === invitationId), [
128
+ var useSpaceInvitation = (spaceId, invitationId) => {
129
+ const invitations = useSpaceInvitations(spaceId);
130
+ const invitation = useMemo2(() => invitations.find((invitation2) => invitation2.get().invitationId === invitationId), [
193
131
  invitations
194
132
  ]);
195
133
  return useInvitationStatus(invitation);
196
134
  };
197
135
 
198
- // packages/sdk/react-client/src/echo/useSubscription.ts
199
- import { useEffect as useEffect3, useRef as useRef2 } from "react";
136
+ // src/echo/useSpaceProperties.ts
137
+ import { MulticastObservable as MulticastObservable3 } from "@dxos/async";
138
+ import { SpaceState as SpaceState2 } from "@dxos/client/echo";
139
+ import { useObject } from "@dxos/echo-react";
140
+ import { useMulticastObservable as useMulticastObservable4 } from "@dxos/react-hooks";
141
+ var useSpaceProperties = (spaceId) => {
142
+ const space = useSpace(spaceId);
143
+ const spaceState = useMulticastObservable4(space?.state ?? MulticastObservable3.empty());
144
+ const properties = spaceState === SpaceState2.SPACE_READY ? space?.properties : void 0;
145
+ return useObject(properties);
146
+ };
147
+
148
+ // src/echo/useSubscription.ts
149
+ import { useEffect as useEffect2, useRef as useRef2 } from "react";
200
150
  import { createSubscription } from "@dxos/client/echo";
201
151
  var useSubscription = (cb, selection) => {
202
152
  const callbackRef = useRef2(cb);
203
153
  callbackRef.current = cb;
204
- const subscriptionRef = useRef2();
205
- useEffect3(() => {
154
+ const subscriptionRef = useRef2(null);
155
+ useEffect2(() => {
206
156
  subscriptionRef.current = createSubscription(() => {
207
157
  callbackRef.current();
208
158
  });
@@ -212,16 +162,16 @@ var useSubscription = (cb, selection) => {
212
162
  return subscriptionRef.current;
213
163
  };
214
164
 
215
- // packages/sdk/react-client/src/echo/useSyncState.ts
216
- import { useEffect as useEffect4, useState as useState2 } from "react";
165
+ // src/echo/useSyncState.ts
166
+ import { useEffect as useEffect3, useState as useState2 } from "react";
217
167
  import { Context } from "@dxos/context";
218
168
  import { EdgeService } from "@dxos/protocols";
219
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/sdk/react-client/src/echo/useSyncState.ts";
169
+ var __dxlog_file = "/__w/dxos/dxos/packages/sdk/react-client/src/echo/useSyncState.ts";
220
170
  var isEdgePeerId = (peerId, spaceId) => peerId.startsWith(`${EdgeService.AUTOMERGE_REPLICATOR}:${spaceId}`);
221
171
  var useSyncState = () => {
222
172
  const client = useClient();
223
173
  const [spaceState, setSpaceState] = useState2({});
224
- useEffect4(() => {
174
+ useEffect3(() => {
225
175
  const ctx = new Context(void 0, {
226
176
  F: __dxlog_file,
227
177
  L: 25
@@ -231,7 +181,7 @@ var useSyncState = () => {
231
181
  if (spaceState[space.id]) {
232
182
  continue;
233
183
  }
234
- ctx.onDispose(space.crud.subscribeToSyncState(ctx, ({ peers = [] }) => {
184
+ ctx.onDispose(space.internal.db.subscribeToSyncState(ctx, ({ peers = [] }) => {
235
185
  const syncState = peers.find((state) => isEdgePeerId(state.peerId, space.id));
236
186
  if (syncState) {
237
187
  setSpaceState((spaceState2) => ({
@@ -256,12 +206,12 @@ var useSyncState = () => {
256
206
  };
257
207
  var useSpaceSyncState = (space) => {
258
208
  const [spaceState, setSpaceState] = useState2();
259
- useEffect4(() => {
209
+ useEffect3(() => {
260
210
  const ctx = new Context(void 0, {
261
211
  F: __dxlog_file,
262
212
  L: 64
263
213
  });
264
- space.crud.subscribeToSyncState(ctx, ({ peers = [] }) => {
214
+ space.internal.db.subscribeToSyncState(ctx, ({ peers = [] }) => {
265
215
  const syncState = peers.find((state) => isEdgePeerId(state.peerId, space.id));
266
216
  if (syncState) {
267
217
  setSpaceState(syncState);
@@ -276,13 +226,13 @@ var useSpaceSyncState = (space) => {
276
226
  return spaceState;
277
227
  };
278
228
  export {
229
+ useDatabase,
279
230
  useMembers,
280
- useQuery,
281
231
  useQueue,
282
- useSchema,
283
232
  useSpace,
284
233
  useSpaceInvitation,
285
234
  useSpaceInvitations,
235
+ useSpaceProperties,
286
236
  useSpaceSyncState,
287
237
  useSpaces,
288
238
  useSubscription,