@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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/testing/index.ts", "../../../../src/testing/context.tsx", "../../../../src/testing/ClientRepeater.tsx", "../../../../src/testing/withClientProvider.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2020 DXOS.org\n//\n\nexport * from '@dxos/client/testing';\n\nexport * from './context';\nexport * from './ClientRepeater';\nexport * from './withClientProvider';\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { createContext, useContext } from 'react';\n\nimport { type Space } from '@dxos/client/echo';\nimport { raise } from '@dxos/debug';\n\nexport type ClientStory = {\n space?: Space;\n};\n\n// TODO(wittjosiah): Add to multi-client as well.\nexport const ClientStory = createContext<ClientStory | undefined>(undefined);\n\nexport const useClientProvider = (): ClientStory => {\n return useContext(ClientStory) ?? raise(new Error('Missing ClientStory'));\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport React, { useState, type FC, useEffect, useRef } from 'react';\n\nimport { Client, type PublicKey } from '@dxos/client';\nimport { TestBuilder, performInvitation } from '@dxos/client/testing';\nimport { type TypedObject } from '@dxos/echo-schema';\nimport { registerSignalsRuntime } from '@dxos/echo-signals/react';\nimport { faker } from '@dxos/random';\n\nimport { type WithClientProviderProps } from './withClientProvider';\nimport { ClientProvider } from '../client';\n\nexport type ClientRepeatedComponentProps = { id: number; count: number; spaceKey?: PublicKey };\n\nexport type ClientRepeaterControlsProps = { clients: Client[] };\n\n// TODO(burdon): Reconcile with ClientProviderProps.\nexport type ClientRepeaterProps<P extends ClientRepeatedComponentProps> = {\n className?: string;\n component: FC<ClientRepeatedComponentProps>;\n controls?: FC<ClientRepeaterControlsProps>;\n count?: number;\n clients?: Client[];\n types?: TypedObject[];\n args?: Omit<P, 'id' | 'count'>;\n} & Pick<WithClientProviderProps, 'createIdentity' | 'createSpace' | 'onSpaceCreated'>;\n\n/**\n * Utility component for Storybook stories which sets up clients for n peers.\n * The `Component` property is rendered n times, once for each peer.\n * @deprecated use `withClientProvider`.\n */\n// TODO(burdon): To discuss: evolve ClientRepeater with optional decorator that uses it.\n// NOTE: This is specifically not a storybook decorator because it broke stories as a decorator.\n// This seems primarily due to the fact that it required top-level await for the clients to initialize.\n// Storybook seemed to handle it alright, but Chromatic had a lot of trouble with it.\n// There was also a question of whether or not calling the story function multiple times was a good idea.\nexport const ClientRepeater = <P extends ClientRepeatedComponentProps>(props: ClientRepeaterProps<P>) => {\n const {\n component: Component,\n controls: Controls,\n count = 1,\n types,\n createIdentity,\n createSpace,\n onSpaceCreated,\n } = props;\n useEffect(() => {\n registerSignalsRuntime();\n }, []);\n\n const [clients, setClients] = useState(props.clients ?? []);\n const [spaceKey, setSpaceKey] = useState<PublicKey>();\n\n const testBuilder = useRef(new TestBuilder());\n useEffect(() => {\n const timeout = setTimeout(async () => {\n const clients = [...Array(count)].map(\n (_) => new Client({ services: testBuilder.current.createLocalClientServices(), types }),\n );\n\n await Promise.all(clients.map((client) => client.initialize()));\n if (createIdentity || createSpace) {\n await Promise.all(clients.map((client) => client.halo.createIdentity()));\n }\n\n if (createSpace) {\n const client = clients[0];\n const space = await client.spaces.create({ name: faker.commerce.productName() });\n setSpaceKey(space.key);\n await onSpaceCreated?.({ client, space }, {});\n await Promise.all(\n clients.slice(1).flatMap((client) => performInvitation({ host: space, guest: client.spaces })),\n );\n }\n\n setClients(clients);\n });\n\n return () => clearTimeout(timeout);\n }, []);\n\n if (clients.length === 0) {\n return null;\n }\n\n return (\n <>\n {Controls && <Controls clients={clients} />}\n {clients.map((client, index) => (\n <ClientProvider key={index} client={client}>\n <Component id={index} count={clients.length} spaceKey={spaceKey} {...{ ...props.args }} />\n </ClientProvider>\n ))}\n </>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type StoryContext, type Decorator } from '@storybook/react';\nimport React, { createContext, type PropsWithChildren, useContext, useEffect, useRef, useState } from 'react';\nimport { type FallbackProps, ErrorBoundary as NativeErrorBoundary } from 'react-error-boundary';\n\nimport { Trigger } from '@dxos/async';\nimport { type Client } from '@dxos/client';\nimport { type Space } from '@dxos/client/echo';\nimport { performInvitation, TestBuilder } from '@dxos/client/testing';\nimport { log } from '@dxos/log';\nimport { type MaybePromise } from '@dxos/util';\n\nimport { ClientStory } from './context';\nimport { ClientProvider, type ClientProviderProps } from '../client';\n\ntype InitializeProps = {\n createIdentity?: boolean;\n createSpace?: boolean;\n onInitialized?: (client: Client) => MaybePromise<void>;\n onIdentityCreated?: (props: { client: Client }) => MaybePromise<void>;\n // NOTE: context must be untyped until ClientRepeater is removed.\n onSpaceCreated?: (props: { client: Client; space: Space }, context: StoryContext | any) => MaybePromise<void>;\n};\n\n/**\n * Initialize client, identity and first space.\n */\nconst initializeClient = async (\n client: Client,\n { createIdentity, createSpace, onSpaceCreated, onIdentityCreated, onInitialized }: InitializeProps,\n context: StoryContext,\n): Promise<ClientStory> => {\n await onInitialized?.(client);\n\n if (createIdentity || createSpace) {\n if (!client.halo.identity.get()) {\n await client.halo.createIdentity();\n await onIdentityCreated?.({ client });\n }\n }\n\n let space: Space | undefined;\n if (createSpace) {\n space = await client.spaces.create({ name: 'Test Space' });\n await onSpaceCreated?.({ client, space }, context);\n }\n\n return { space };\n};\n\nexport type WithClientProviderProps = InitializeProps & Omit<ClientProviderProps, 'onInitialized'>;\n\n/**\n * Decorator that provides the client context.\n */\nexport const withClientProvider = ({\n createIdentity,\n createSpace,\n onSpaceCreated,\n onIdentityCreated,\n onInitialized,\n ...props\n}: WithClientProviderProps = {}): Decorator => {\n return (Story, context) => {\n const [data, setData] = useState<ClientStory>({});\n const handleInitialized = async (client: Client) => {\n const data = await initializeClient(\n client,\n {\n createIdentity,\n createSpace,\n onSpaceCreated,\n onIdentityCreated,\n onInitialized,\n },\n context,\n );\n\n setData(data);\n };\n\n return (\n <ErrorBoundary>\n <ClientProvider onInitialized={handleInitialized} {...props}>\n <ClientStory.Provider value={data}>\n <Story />\n </ClientStory.Provider>\n </ClientProvider>\n </ErrorBoundary>\n );\n };\n};\n\n// TODO(burdon): Implement context per client for context.\n// TODO(burdon): Callback once all invitations have completed.\n// TODO(burdon): Delay/jitter for creation of other clients.\nexport type WithMultiClientProviderProps = InitializeProps &\n Omit<ClientProviderProps, 'onInitialized'> & { numClients?: number };\n\nconst MultiClientContext = createContext<{ id: number }>({ id: 0 });\n\nexport const useMultiClient = () => useContext(MultiClientContext);\n\n/**\n * Decorator that creates a scaffold for multiple clients.\n * Orchestrates invitations between a randomly selected host and the remaining clients.\n * NOTE: Should come before withLayout.\n */\nexport const withMultiClientProvider = ({\n numClients = 2,\n createIdentity,\n createSpace,\n onSpaceCreated,\n onIdentityCreated,\n onInitialized,\n ...props\n}: WithMultiClientProviderProps): Decorator => {\n return (Story, context) => {\n const builder = useRef(new TestBuilder());\n const hostRef = useRef<Client>();\n const spaceReady = useRef(new Trigger<Space | undefined>());\n\n // Handle invitations.\n // NOTE: The zeroth client isn't necessarily the first to be initialized.\n const handleInitialized = async (client: Client, index: number) => {\n log.info('initialized', { index });\n if (createSpace) {\n if (!hostRef.current) {\n hostRef.current = client;\n const { space } = await initializeClient(\n client,\n {\n createIdentity,\n createSpace,\n onSpaceCreated,\n onIdentityCreated,\n onInitialized,\n },\n context,\n );\n\n spaceReady.current.wake(space);\n log.info('inviting', { index });\n } else {\n await initializeClient(client, { createIdentity, onInitialized }, context);\n const space = await spaceReady.current.wait();\n if (space) {\n log.info('joining', { index });\n await Promise.all(performInvitation({ host: space, guest: client.spaces }));\n }\n }\n }\n };\n\n return (\n <ErrorBoundary>\n {Array.from({ length: numClients }).map((_, index) => (\n <MultiClientContext.Provider key={index} value={{ id: index }}>\n <ClientProvider\n services={builder.current.createLocalClientServices()}\n onInitialized={(client) => handleInitialized(client, index)}\n {...props}\n >\n <Story />\n </ClientProvider>\n </MultiClientContext.Provider>\n ))}\n </ErrorBoundary>\n );\n };\n};\n\nconst ErrorBoundary = ({ children }: PropsWithChildren) => {\n const [error, setError] = useState<Error>();\n useEffect(() => {\n const handleError = (event: PromiseRejectionEvent) => {\n setError(event.reason);\n };\n\n window.addEventListener('unhandledrejection', handleError);\n return () => window.removeEventListener('unhandledrejection', handleError);\n }, []);\n\n if (error) {\n return <ErrorFallback error={error} resetErrorBoundary={() => setError(undefined)} />;\n }\n\n return <NativeErrorBoundary FallbackComponent={ErrorFallback}>{children}</NativeErrorBoundary>;\n};\n\nconst ErrorFallback = ({ error }: FallbackProps) => {\n const { name, message, stack } =\n error instanceof Error ? error : { name: 'Error', message: String(error), stack: undefined };\n return (\n <div role='alert' className='flex flex-col p-4 gap-4 overflow-auto'>\n <h1 className='text-xl text-red-500'>{name}</h1>\n <div className='text-lg'>{message}</div>\n {stack && <pre className='whitespace-pre-wrap text-sm text-subdued'>{stack}</pre>}\n </div>\n );\n};\n"],
5
- "mappings": "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",
6
- "names": ["createContext", "useContext", "raise", "ClientStory", "createContext", "undefined", "useClientProvider", "useContext", "raise", "Error", "React", "useState", "useEffect", "useRef", "Client", "TestBuilder", "performInvitation", "registerSignalsRuntime", "faker", "ClientRepeater", "props", "component", "Component", "controls", "Controls", "count", "types", "createIdentity", "createSpace", "onSpaceCreated", "useEffect", "registerSignalsRuntime", "clients", "setClients", "useState", "spaceKey", "setSpaceKey", "testBuilder", "useRef", "TestBuilder", "timeout", "setTimeout", "Array", "map", "_", "Client", "services", "current", "createLocalClientServices", "Promise", "all", "client", "initialize", "halo", "space", "spaces", "create", "name", "faker", "commerce", "productName", "key", "slice", "flatMap", "performInvitation", "host", "guest", "clearTimeout", "length", "index", "ClientProvider", "id", "args", "React", "createContext", "useContext", "useEffect", "useRef", "useState", "ErrorBoundary", "NativeErrorBoundary", "Trigger", "performInvitation", "TestBuilder", "log", "initializeClient", "client", "createIdentity", "createSpace", "onSpaceCreated", "onIdentityCreated", "onInitialized", "context", "halo", "identity", "get", "space", "spaces", "create", "name", "withClientProvider", "props", "Story", "data", "setData", "useState", "handleInitialized", "React", "ErrorBoundary", "ClientProvider", "ClientStory", "Provider", "value", "MultiClientContext", "createContext", "id", "useMultiClient", "useContext", "withMultiClientProvider", "numClients", "builder", "useRef", "TestBuilder", "hostRef", "spaceReady", "Trigger", "index", "log", "info", "current", "wake", "wait", "Promise", "all", "performInvitation", "host", "guest", "Array", "from", "length", "map", "_", "key", "services", "createLocalClientServices", "children", "error", "setError", "useEffect", "handleError", "event", "reason", "window", "addEventListener", "removeEventListener", "ErrorFallback", "resetErrorBoundary", "undefined", "NativeErrorBoundary", "FallbackComponent", "message", "stack", "Error", "String", "div", "role", "className", "h1", "pre"]
4
+ "sourcesContent": ["//\n// Copyright 2020 DXOS.org\n//\n\nexport * from '@dxos/client/testing';\n\nexport * from './context';\nexport * from './ClientRepeater';\nexport * from './withClientProvider';\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { createContext, useContext } from 'react';\n\nimport { type Space, type SpaceId } from '@dxos/client/echo';\nimport { raise } from '@dxos/debug';\n\nexport type ClientStory = {\n index?: number;\n spaceId?: SpaceId;\n space?: Space;\n};\n\nexport const ClientStory = createContext<ClientStory | undefined>(undefined);\n\nexport const useClientStory = (): ClientStory => {\n return useContext(ClientStory) ?? raise(new Error('Missing ClientStory'));\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport React, { type FC, useRef, useState } from 'react';\n\nimport { Client } from '@dxos/client';\nimport { TestBuilder, performInvitation } from '@dxos/client/testing';\nimport { type Type } from '@dxos/echo';\nimport { faker } from '@dxos/random';\nimport { useAsyncEffect } from '@dxos/react-hooks';\n\nimport { ClientProvider } from '../client';\nimport { type SpaceId } from '../echo';\n\nimport { type WithClientProviderProps } from './withClientProvider';\n\nexport type ClientRepeatedComponentProps = { id: number; count: number; spaceId?: SpaceId };\n\nexport type ClientRepeaterControlsProps = { clients: Client[] };\n\n// TODO(burdon): Reconcile with ClientProviderProps.\nexport type ClientRepeaterProps<P extends ClientRepeatedComponentProps> = {\n className?: string;\n component: FC<ClientRepeatedComponentProps>;\n controls?: FC<ClientRepeaterControlsProps>;\n count?: number;\n clients?: Client[];\n types?: Type.Obj.Any[];\n args?: Omit<P, 'id' | 'count'>;\n} & Pick<WithClientProviderProps, 'createIdentity' | 'createSpace' | 'onCreateSpace'>;\n\n/**\n * Utility component for Storybook stories which sets up clients for n peers.\n * The `Component` property is rendered n times, once for each peer.\n * @deprecated use `withClientProvider`.\n */\n// TODO(burdon): To discuss: evolve ClientRepeater with optional decorator that uses it.\n// NOTE: This is specifically not a storybook decorator because it broke stories as a decorator.\n// This seems primarily due to the fact that it required top-level await for the clients to initialize.\n// Storybook seemed to handle it alright, but Chromatic had a lot of trouble with it.\n// There was also a question of whether or not calling the story function multiple times was a good idea.\nexport const ClientRepeater = <P extends ClientRepeatedComponentProps>(props: ClientRepeaterProps<P>) => {\n const {\n component: Component,\n controls: Controls,\n count = 1,\n types,\n createIdentity,\n createSpace,\n onCreateSpace,\n } = props;\n\n const [clients, setClients] = useState(props.clients ?? []);\n const [spaceId, setSpaceId] = useState<SpaceId>();\n\n const testBuilder = useRef(new TestBuilder());\n useAsyncEffect(async () => {\n const clients = [...Array(count)].map(\n (_) => new Client({ services: testBuilder.current.createLocalClientServices(), types }),\n );\n\n await Promise.all(clients.map((client) => client.initialize()));\n if (createIdentity || createSpace) {\n await Promise.all(clients.map((client) => client.halo.createIdentity()));\n }\n\n if (createSpace) {\n const client = clients[0];\n const space = await client.spaces.create({ name: faker.commerce.productName() });\n setSpaceId(space.id);\n await onCreateSpace?.({ client, space }, {});\n await Promise.all(clients.slice(1).flatMap((client) => performInvitation({ host: space, guest: client.spaces })));\n }\n\n setClients(clients);\n }, []);\n\n if (clients.length === 0) {\n return null;\n }\n\n return (\n <>\n {Controls && <Controls clients={clients} />}\n {clients.map((client, index) => (\n <ClientProvider key={index} client={client}>\n <Component id={index} count={clients.length} spaceId={spaceId} {...{ ...props.args }} />\n </ClientProvider>\n ))}\n </>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type Decorator, type StoryContext } from '@storybook/react';\nimport React, { type PropsWithChildren, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { type FallbackProps, ErrorBoundary as NaturalErrorBoundary } from 'react-error-boundary';\n\nimport { Trigger } from '@dxos/async';\nimport { type Client } from '@dxos/client';\nimport { type Space, type SpaceId } from '@dxos/client/echo';\nimport { TestBuilder, performInvitation } from '@dxos/client/testing';\nimport { log } from '@dxos/log';\nimport { type MaybePromise } from '@dxos/util';\n\nimport { ClientProvider, type ClientProviderProps } from '../client';\n\nimport { ClientStory } from './context';\n\ntype InitializeProps = {\n createIdentity?: boolean;\n createSpace?: boolean;\n onInitialized?: (client: Client) => MaybePromise<void>;\n onCreateIdentity?: (props: { client: Client }, context: StoryContext | any) => MaybePromise<void>;\n // NOTE: context must be untyped until ClientRepeater is removed.\n onCreateSpace?: (props: { client: Client; space: Space }, context: StoryContext | any) => MaybePromise<void>;\n};\n\n/**\n * Initialize client, identity and first space.\n */\nconst initializeClient = async (\n client: Client,\n { createIdentity, createSpace, onCreateIdentity, onCreateSpace, onInitialized }: InitializeProps,\n context: StoryContext,\n): Promise<ClientStory> => {\n await onInitialized?.(client);\n\n if (createIdentity || createSpace) {\n if (!client.halo.identity.get()) {\n await client.halo.createIdentity();\n await client.spaces.waitUntilReady();\n await client.spaces.default.waitUntilReady();\n await onCreateIdentity?.({ client }, context);\n }\n }\n\n let space: Space | undefined;\n if (createSpace) {\n space = await client.spaces.create({ name: 'Test Space' });\n await space.waitUntilReady(); // Is this required?\n await onCreateSpace?.({ client, space }, context);\n }\n\n return { space, spaceId: space?.id };\n};\n\nexport type WithClientProviderProps = InitializeProps & Omit<ClientProviderProps, 'onInitialized'>;\n\n/**\n * Decorator that provides the client context.\n */\nexport const withClientProvider = ({\n createIdentity,\n createSpace,\n onCreateSpace,\n onCreateIdentity,\n onInitialized,\n ...props\n}: WithClientProviderProps = {}): Decorator => {\n return (Story, context) => {\n const [data, setData] = useState<ClientStory>({});\n const handleInitialized = async (client: Client) => {\n const data = await initializeClient(\n client,\n {\n createIdentity,\n createSpace,\n onCreateSpace,\n onCreateIdentity,\n onInitialized,\n },\n context,\n );\n\n setData(data);\n };\n\n return (\n <ErrorBoundary>\n <ClientProvider onInitialized={handleInitialized} {...props}>\n <ClientStory.Provider value={data}>\n <Story />\n </ClientStory.Provider>\n </ClientProvider>\n </ErrorBoundary>\n );\n };\n};\n\n// TODO(burdon): Implement context per client for context.\n// TODO(burdon): Callback once all invitations have completed.\n// TODO(burdon): Delay/jitter for creation of other clients.\nexport type WithMultiClientProviderProps = InitializeProps &\n Omit<ClientProviderProps, 'onInitialized'> & { numClients?: number };\n\n/**\n * Decorator that creates a scaffold for multiple clients.\n * Orchestrates invitations between a randomly selected host and the remaining clients.\n */\nexport const withMultiClientProvider = ({\n numClients = 2,\n createIdentity,\n createSpace,\n onCreateSpace,\n onCreateIdentity,\n onInitialized,\n ...props\n}: WithMultiClientProviderProps): Decorator => {\n return (Story, context) => {\n const spaceReady = useRef(new Trigger<Space | undefined>());\n const [spaceId, setSpaceId] = useState<SpaceId>();\n\n const clients = useMemo(() => {\n const buidler = new TestBuilder();\n return Array.from({ length: numClients }).map(() => {\n return {\n services: buidler.createLocalClientServices(),\n };\n });\n }, [numClients]);\n\n // Handle invitations.\n // NOTE: The zeroth client isn't necessarily the first to be initialized.\n const handleInitialized = useCallback(async (client: Client, index: number) => {\n if (index === 0) {\n // Initialize host.\n const { space } = await initializeClient(\n client,\n {\n createIdentity,\n createSpace,\n onCreateSpace,\n onCreateIdentity,\n onInitialized,\n },\n context,\n );\n\n log.info('inviting', { index, spaceId: space?.id });\n setSpaceId(space?.id);\n spaceReady.current.wake(space);\n } else {\n // Initialize guest.\n await initializeClient(client, { createIdentity, onInitialized }, context);\n\n log.info('waiting', { index });\n const space = await spaceReady.current.wait();\n if (space) {\n log.info('joining', { index, spaceId: space.id });\n await Promise.all(\n performInvitation({\n host: space,\n guest: client.spaces,\n }),\n );\n }\n }\n }, []);\n\n return (\n <div className='absolute inset-0 grid grid-flow-col auto-cols-fr gap-4 overflow-hidden'>\n {clients.map((client, index) => (\n <ClientProvider\n key={index}\n services={client.services}\n onInitialized={(client) => handleInitialized(client, index)}\n {...props}\n >\n <ClientStory.Provider value={{ index, spaceId }}>\n <ErrorBoundary>\n <Story />\n </ErrorBoundary>\n </ClientStory.Provider>\n </ClientProvider>\n ))}\n </div>\n );\n };\n};\n\nconst ErrorBoundary = ({ children }: PropsWithChildren) => {\n const [error, setError] = useState<Error>();\n useEffect(() => {\n const handleError = (event: PromiseRejectionEvent) => {\n setError(event.reason);\n };\n\n window.addEventListener('unhandledrejection', handleError);\n return () => window.removeEventListener('unhandledrejection', handleError);\n }, []);\n\n if (error) {\n return <ErrorFallback error={error} resetErrorBoundary={() => setError(undefined)} />;\n }\n\n return <NaturalErrorBoundary FallbackComponent={ErrorFallback}>{children}</NaturalErrorBoundary>;\n};\n\nconst ErrorFallback = ({ error }: FallbackProps) => {\n const { name, message, stack } =\n error instanceof Error ? error : { name: 'Error', message: String(error), stack: undefined };\n\n return (\n <div role='alert' className='flex flex-col p-4 gap-4 overflow-auto'>\n <h1 className='text-xl text-red-500'>{name}</h1>\n <div className='text-lg'>{message}</div>\n {stack && <pre className='whitespace-pre-wrap text-sm text-subdued'>{stack}</pre>}\n </div>\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["createContext", "useContext", "raise", "ClientStory", "createContext", "undefined", "useClientStory", "useContext", "raise", "Error", "React", "useRef", "useState", "Client", "TestBuilder", "performInvitation", "faker", "useAsyncEffect", "ClientRepeater", "props", "component", "Component", "controls", "Controls", "count", "types", "createIdentity", "createSpace", "onCreateSpace", "clients", "setClients", "useState", "spaceId", "setSpaceId", "testBuilder", "useRef", "TestBuilder", "useAsyncEffect", "Array", "map", "_", "Client", "services", "current", "createLocalClientServices", "Promise", "all", "client", "initialize", "halo", "space", "spaces", "create", "name", "faker", "commerce", "productName", "id", "slice", "flatMap", "performInvitation", "host", "guest", "length", "index", "ClientProvider", "key", "args", "React", "useCallback", "useEffect", "useMemo", "useRef", "useState", "ErrorBoundary", "NaturalErrorBoundary", "Trigger", "TestBuilder", "performInvitation", "log", "initializeClient", "client", "createIdentity", "createSpace", "onCreateIdentity", "onCreateSpace", "onInitialized", "context", "halo", "identity", "get", "spaces", "waitUntilReady", "default", "space", "create", "name", "spaceId", "id", "withClientProvider", "props", "Story", "data", "setData", "useState", "handleInitialized", "React", "ErrorBoundary", "ClientProvider", "ClientStory", "Provider", "value", "withMultiClientProvider", "numClients", "spaceReady", "useRef", "Trigger", "setSpaceId", "clients", "useMemo", "buidler", "TestBuilder", "Array", "from", "length", "map", "services", "createLocalClientServices", "useCallback", "index", "log", "info", "current", "wake", "wait", "Promise", "all", "performInvitation", "host", "guest", "div", "className", "key", "children", "error", "setError", "useEffect", "handleError", "event", "reason", "window", "addEventListener", "removeEventListener", "ErrorFallback", "resetErrorBoundary", "undefined", "NaturalErrorBoundary", "FallbackComponent", "message", "stack", "Error", "String", "role", "h1", "pre"]
7
7
  }
@@ -1,5 +1,5 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
 
3
- // packages/sdk/react-client/src/worker.ts
3
+ // src/worker.ts
4
4
  export * from "@dxos/client/worker";
5
5
  //# sourceMappingURL=worker.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentHostingProvider.d.ts","sourceRoot":"","sources":["../../../../src/client/AgentHostingProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAiB,KAAK,iBAAiB,EAAwB,MAAM,OAAO,CAAC;AAE3F,OAAO,EAAE,KAAK,0BAA0B,EAAgD,MAAM,cAAc,CAAC;AAC7G,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAK3C,MAAM,MAAM,yBAAyB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC;AAEvE,eAAO,MAAM,mBAAmB,kDAAyD,CAAC;AAE1F;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAAI,OAAO,iBAAiB,sBAM5D,CAAC;AAEF,eAAO,MAAM,qBAAqB,yCAEjC,CAAC"}
1
+ {"version":3,"file":"AgentHostingProvider.d.ts","sourceRoot":"","sources":["../../../../src/client/AgentHostingProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAuC,MAAM,OAAO,CAAC;AAE3F,OAAO,EAAE,KAAK,0BAA0B,EAAgD,MAAM,cAAc,CAAC;AAC7G,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAK3C,MAAM,MAAM,yBAAyB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC;AAEvE,eAAO,MAAM,mBAAmB,kDAAyD,CAAC;AAE1F;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAAI,OAAO,iBAAiB,sBAM5D,CAAC;AAEF,eAAO,MAAM,qBAAqB,yCAEjC,CAAC"}
@@ -29,11 +29,6 @@ export type ClientProviderProps = Omit<ClientOptions, 'config' | 'services'> & P
29
29
  * ReactNode to display until the client is available.
30
30
  */
31
31
  fallback?: FunctionComponent<Partial<ClientContextProps>>;
32
- /**
33
- * Enable (by default) registration of Preact signals runtime for reactive ECHO objects.
34
- * @see https://www.npmjs.com/package/@preact/signals-react
35
- */
36
- signalsRuntime?: boolean;
37
32
  /**
38
33
  * Skip the DXOS banner.
39
34
  */
@@ -70,11 +65,6 @@ export declare const ClientProvider: React.ForwardRefExoticComponent<Omit<Client
70
65
  * ReactNode to display until the client is available.
71
66
  */
72
67
  fallback?: FunctionComponent<Partial<ClientContextProps>>;
73
- /**
74
- * Enable (by default) registration of Preact signals runtime for reactive ECHO objects.
75
- * @see https://www.npmjs.com/package/@preact/signals-react
76
- */
77
- signalsRuntime?: boolean;
78
68
  /**
79
69
  * Skip the DXOS banner.
80
70
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ClientProvider.d.ts","sourceRoot":"","sources":["../../../../src/client/ClientProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAEZ,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EAIvB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,KAAK,sBAAsB,EAAgB,MAAM,cAAc,CAAC;AACrG,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAI3C,OAAO,EAAyB,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAErF,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAGnE;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,GAAG,UAAU,CAAC,GAC1E,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,GAClC,iBAAiB,CAAC;IAChB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAE5C;;;;OAIG;IAEH,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAE5C;;;;OAIG;IAEH,QAAQ,CAAC,EAAE,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,YAAY,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAEhG;;OAEG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAE1D;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;CACxD,CAAC,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,cAAc;IAjDvB;;;;OAIG;aACM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3C;;;;OAIG;aAEM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3C;;;;OAIG;eAEQ,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,YAAY,CAAC,sBAAsB,CAAC,CAAC;IAE/F;;OAEG;eACQ,iBAAiB,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAEzD;;;OAGG;qBACc,OAAO;IAExB;;OAEG;eACQ,OAAO;IAElB;;OAEG;oBACa,CAAC,MAAM,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC;;;4CA2HzD,CAAC"}
1
+ {"version":3,"file":"ClientProvider.d.ts","sourceRoot":"","sources":["../../../../src/client/ClientProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EACZ,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EAKvB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,KAAK,sBAAsB,EAAgB,MAAM,cAAc,CAAC;AACrG,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAyB,MAAM,YAAY,CAAC;AAIrF,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,GAAG,UAAU,CAAC,GAC1E,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,GAClC,iBAAiB,CAAC;IAChB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAE5C;;;;OAIG;IAEH,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAE5C;;;;OAIG;IAEH,QAAQ,CAAC,EAAE,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,YAAY,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAEhG;;OAEG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAE1D;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;CACxD,CAAC,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,cAAc;IA3CvB;;;;OAIG;aACM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3C;;;;OAIG;aAEM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3C;;;;OAIG;eAEQ,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,YAAY,CAAC,sBAAsB,CAAC,CAAC;IAE/F;;OAEG;eACQ,iBAAiB,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAEzD;;OAEG;eACQ,OAAO;IAElB;;OAEG;oBACa,CAAC,MAAM,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC;;;4CAgHzD,CAAC"}
@@ -1,10 +1,10 @@
1
1
  export * from '@dxos/client/echo';
2
+ export * from '@dxos/echo-react';
2
3
  export * from './useMembers';
3
- export * from './useQuery';
4
4
  export * from './useQueue';
5
- export * from './useSchema';
6
5
  export * from './useSpaces';
7
6
  export * from './useSpaceInvitations';
7
+ export * from './useSpaceProperties';
8
8
  export * from './useSubscription';
9
9
  export * from './useSyncState';
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/echo/index.ts"],"names":[],"mappings":"AAIA,cAAc,mBAAmB,CAAC;AAElC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/echo/index.ts"],"names":[],"mappings":"AAIA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type PublicKey } from '@dxos/client';
1
+ import { type PublicKeyLike } from '@dxos/client';
2
2
  import { type SpaceMember } from '@dxos/client/echo';
3
- export declare const useMembers: (spaceKey: PublicKey | undefined) => SpaceMember[];
3
+ export declare const useMembers: (spaceKey: PublicKeyLike | undefined) => SpaceMember[];
4
4
  //# sourceMappingURL=useMembers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMembers.d.ts","sourceRoot":"","sources":["../../../../src/echo/useMembers.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKtE,eAAO,MAAM,UAAU,GAAI,UAAU,SAAS,GAAG,SAAS,KAAG,WAAW,EAQvE,CAAC"}
1
+ {"version":3,"file":"useMembers.d.ts","sourceRoot":"","sources":["../../../../src/echo/useMembers.ts"],"names":[],"mappings":"AAKA,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKtE,eAAO,MAAM,UAAU,GAAI,UAAU,aAAa,GAAG,SAAS,KAAG,WAAW,EAU3E,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { type Queue } from '@dxos/client/echo';
2
- import { type Obj, type Relation } from '@dxos/echo';
2
+ import { type Entity } from '@dxos/echo';
3
3
  import { type DXN } from '@dxos/keys';
4
4
  export type UseQueueOptions = {
5
5
  pollInterval?: number;
@@ -7,5 +7,5 @@ export type UseQueueOptions = {
7
7
  /**
8
8
  * Polls the given Edge queue.
9
9
  */
10
- export declare const useQueue: <T extends Obj.Any | Relation.Any>(queueDxn?: DXN, options?: UseQueueOptions) => Queue<T> | undefined;
10
+ export declare const useQueue: <T extends Entity.Unknown>(queueDxn?: DXN, options?: UseQueueOptions) => Queue<T> | undefined;
11
11
  //# sourceMappingURL=useQueue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useQueue.d.ts","sourceRoot":"","sources":["../../../../src/echo/useQueue.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAMtC,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;GAEG;AAKH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,EACvD,WAAW,GAAG,EACd,UAAS,eAAoB,KAC5B,KAAK,CAAC,CAAC,CAAC,GAAG,SA4Cb,CAAC"}
1
+ {"version":3,"file":"useQueue.d.ts","sourceRoot":"","sources":["../../../../src/echo/useQueue.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAMtC,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;GAEG;AAKH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,MAAM,CAAC,OAAO,EAC/C,WAAW,GAAG,EACd,UAAS,eAAoB,KAC5B,KAAK,CAAC,CAAC,CAAC,GAAG,SA4Cb,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { type PublicKey } from '@dxos/client';
2
+ import { type SpaceId } from '@dxos/client/echo';
2
3
  import { type CancellableInvitationObservable } from '../invitations';
3
- export declare const useSpaceInvitations: (spaceKey?: PublicKey) => CancellableInvitationObservable[];
4
- export declare const useSpaceInvitation: (spaceKey?: PublicKey, invitationId?: string) => import("../invitations").InvitationStatus;
4
+ export declare const useSpaceInvitations: (spaceId?: SpaceId | PublicKey) => CancellableInvitationObservable[];
5
+ export declare const useSpaceInvitation: (spaceId?: SpaceId | PublicKey, invitationId?: string) => import("../invitations").InvitationStatus;
5
6
  //# sourceMappingURL=useSpaceInvitations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSpaceInvitations.d.ts","sourceRoot":"","sources":["../../../../src/echo/useSpaceInvitations.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAI9C,OAAO,EAAE,KAAK,+BAA+B,EAAuB,MAAM,gBAAgB,CAAC;AAE3F,eAAO,MAAM,mBAAmB,GAAI,WAAW,SAAS,KAAG,+BAA+B,EAGzF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,WAAW,SAAS,EAAE,eAAe,MAAM,8CAO7E,CAAC"}
1
+ {"version":3,"file":"useSpaceInvitations.d.ts","sourceRoot":"","sources":["../../../../src/echo/useSpaceInvitations.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EAAE,KAAK,+BAA+B,EAAuB,MAAM,gBAAgB,CAAC;AAM3F,eAAO,MAAM,mBAAmB,GAAI,UAAU,OAAO,GAAG,SAAS,KAAG,+BAA+B,EAGlG,CAAC;AAIF,eAAO,MAAM,kBAAkB,GAAI,UAAU,OAAO,GAAG,SAAS,EAAE,eAAe,MAAM,8CAOtF,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { type SpaceProperties } from '@dxos/client/echo';
2
+ import { type Key, type Obj } from '@dxos/echo';
3
+ import { type ObjectUpdateCallback } from '@dxos/echo-react';
4
+ /**
5
+ * Subscribe to a space's properties with reactive updates.
6
+ * Returns undefined if the space is undefined or not ready yet.
7
+ * Automatically waits for the space to be ready before returning properties.
8
+ *
9
+ * @param spaceId - The space ID to get properties from (can be undefined).
10
+ * @returns A tuple of [snapshot, updateCallback] or [undefined, no-op] if not ready.
11
+ */
12
+ export declare const useSpaceProperties: (spaceId: Key.SpaceId | undefined) => [Obj.Snapshot<SpaceProperties> | undefined, ObjectUpdateCallback<SpaceProperties>];
13
+ //# sourceMappingURL=useSpaceProperties.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSpaceProperties.d.ts","sourceRoot":"","sources":["../../../../src/echo/useSpaceProperties.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,eAAe,EAAc,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,KAAK,oBAAoB,EAAa,MAAM,kBAAkB,CAAC;AAKxE;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAC7B,SAAS,GAAG,CAAC,OAAO,GAAG,SAAS,KAC/B,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,SAAS,EAAE,oBAAoB,CAAC,eAAe,CAAC,CAKnF,CAAC"}
@@ -1,15 +1,24 @@
1
- import { type PublicKeyLike } from '@dxos/client';
2
- import { type Space } from '@dxos/client/echo';
1
+ import { PublicKey } from '@dxos/client';
2
+ import { type Space, type SpaceId } from '@dxos/client/echo';
3
3
  /**
4
- * Get a specific Space using its key.
4
+ * Get a specific Space using its id.
5
5
  * The space is not guaranteed to be in the ready state.
6
- * Returns the default space if no key is provided.
6
+ * Returns the default space if no id is provided.
7
7
  * Requires a ClientProvider somewhere in the parent tree.
8
8
  *
9
- * @param spaceKeyLike the key of the space to look for
9
+ * @param spaceId the id of the space to look for
10
10
  */
11
- export declare const useSpace: (spaceKeyLike?: PublicKeyLike) => Space | undefined;
12
- export type UseSpacesParams = {
11
+ export declare const useSpace: (spaceId?: SpaceId | PublicKey) => Space | undefined;
12
+ /**
13
+ * Get a Space database by the id of the space.
14
+ * The space is not guaranteed to be in the ready state.
15
+ * Returns the default space if no id is provided.
16
+ * Requires a ClientProvider somewhere in the parent tree.
17
+ *
18
+ * @param spaceId the id of the space to look for
19
+ */
20
+ export declare const useDatabase: (spaceId?: SpaceId) => Space["db"] | undefined;
21
+ export type UseSpacesProps = {
13
22
  /**
14
23
  * Return uninitialized spaces as well.
15
24
  */
@@ -21,5 +30,5 @@ export type UseSpacesParams = {
21
30
  * By default, only ready spaces are returned.
22
31
  * @returns an array of Spaces
23
32
  */
24
- export declare const useSpaces: ({ all }?: UseSpacesParams) => Space[];
33
+ export declare const useSpaces: ({ all }?: UseSpacesProps) => Space[];
25
34
  //# sourceMappingURL=useSpaces.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSpaces.d.ts","sourceRoot":"","sources":["../../../../src/echo/useSpaces.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,KAAK,KAAK,EAAc,MAAM,mBAAmB,CAAC;AAK3D;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,GAAI,eAAe,aAAa,KAAG,KAAK,GAAG,SA0B/D,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,UAAiB,eAAoB,KAAG,KAAK,EAMtE,CAAC"}
1
+ {"version":3,"file":"useSpaces.d.ts","sourceRoot":"","sources":["../../../../src/echo/useSpaces.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,OAAO,EAAc,MAAM,mBAAmB,CAAC;AAKzE;;;;;;;GAOG;AAGH,eAAO,MAAM,QAAQ,GAAI,UAAU,OAAO,GAAG,SAAS,KAAG,KAAK,GAAG,SA4BhE,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,GAAI,UAAU,OAAO,KAAG,KAAK,CAAC,IAAI,CAAC,GAAG,SAG7D,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B;;OAEG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,UAAiB,cAAmB,KAAG,KAAK,EAMrE,CAAC"}
@@ -3,5 +3,5 @@ import { type Selection, type SubscriptionHandle } from '@dxos/client/echo';
3
3
  * Create reactive selection.
4
4
  * Calls the callback when the selection changes and during the first render.
5
5
  */
6
- export declare const useSubscription: (cb: () => void, selection: Selection) => SubscriptionHandle | undefined;
6
+ export declare const useSubscription: (cb: () => void, selection: Selection) => SubscriptionHandle | null;
7
7
  //# sourceMappingURL=useSubscription.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSubscription.d.ts","sourceRoot":"","sources":["../../../../src/echo/useSubscription.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,kBAAkB,EAAsB,MAAM,mBAAmB,CAAC;AAEhG;;;GAGG;AAEH,eAAO,MAAM,eAAe,GAAI,IAAI,MAAM,IAAI,EAAE,WAAW,SAAS,mCAmBnE,CAAC"}
1
+ {"version":3,"file":"useSubscription.d.ts","sourceRoot":"","sources":["../../../../src/echo/useSubscription.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,kBAAkB,EAAsB,MAAM,mBAAmB,CAAC;AAEhG;;;GAGG;AAEH,eAAO,MAAM,eAAe,GAAI,IAAI,MAAM,IAAI,EAAE,WAAW,SAAS,8BAmBnE,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type PeerSyncState, type SpaceSyncStateMap, type Space } from '@dxos/client/echo';
1
+ import { type PeerSyncState, type Space, type SpaceSyncStateMap } from '@dxos/client/echo';
2
2
  /**
3
3
  * Hook Subscribes to sync state for each space.
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"useSyncState.d.ts","sourceRoot":"","sources":["../../../../src/echo/useSyncState.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAU3F;;GAEG;AACH,eAAO,MAAM,YAAY,QAAO,iBAkC/B,CAAC;AAEF;;GAEG;AAEH,eAAO,MAAM,iBAAiB,GAAI,OAAO,KAAK,KAAG,aAAa,GAAG,SAkBhE,CAAC"}
1
+ {"version":3,"file":"useSyncState.d.ts","sourceRoot":"","sources":["../../../../src/echo/useSyncState.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,KAAK,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAU3F;;GAEG;AACH,eAAO,MAAM,YAAY,QAAO,iBAkC/B,CAAC;AAEF;;GAEG;AAEH,eAAO,MAAM,iBAAiB,GAAI,OAAO,KAAK,KAAG,aAAa,GAAG,SAkBhE,CAAC"}
@@ -1,11 +1,11 @@
1
- import '@dxos-theme';
1
+ import { type StoryObj } from '@storybook/react-vite';
2
2
  import React from 'react';
3
- declare const _default: {
3
+ declare const meta: {
4
4
  title: string;
5
5
  render: () => React.JSX.Element;
6
- };
7
- export default _default;
8
- export declare const Default: {
9
6
  decorators: import("@storybook/react").Decorator[];
10
7
  };
8
+ export default meta;
9
+ type Story = StoryObj<typeof meta>;
10
+ export declare const Default: Story;
11
11
  //# sourceMappingURL=Passkey.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Passkey.stories.d.ts","sourceRoot":"","sources":["../../../../src/halo/Passkey.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,KAAsB,MAAM,OAAO,CAAC;;;;;AAyH3C,wBAGE;AAsBF,eAAO,MAAM,OAAO;;CAEnB,CAAC"}
1
+ {"version":3,"file":"Passkey.stories.d.ts","sourceRoot":"","sources":["../../../../src/halo/Passkey.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAsB,MAAM,OAAO,CAAC;AA8I3C,QAAA,MAAM,IAAI;;;;CAIM,CAAC;AAEjB,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useHaloInvitations.d.ts","sourceRoot":"","sources":["../../../../src/halo/useHaloInvitations.ts"],"names":[],"mappings":"AASA,OAAO,EAAuB,KAAK,+BAA+B,EAAE,MAAM,gBAAgB,CAAC;AAE3F,eAAO,MAAM,kBAAkB,QAAO,+BAA+B,EAGpE,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,eAAe,MAAM,8CAOtD,CAAC"}
1
+ {"version":3,"file":"useHaloInvitations.d.ts","sourceRoot":"","sources":["../../../../src/halo/useHaloInvitations.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,+BAA+B,EAAuB,MAAM,gBAAgB,CAAC;AAE3F,eAAO,MAAM,kBAAkB,QAAO,+BAA+B,EAGpE,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,eAAe,MAAM,8CAOtD,CAAC"}
@@ -36,7 +36,7 @@ export type InvitationStatus = {
36
36
  multiUse?: boolean;
37
37
  shareable?: boolean;
38
38
  result: InvitationResult;
39
- error?: number;
39
+ error?: Error;
40
40
  cancel(): void;
41
41
  connect(observable: CancellableInvitationObservable): void;
42
42
  authenticate(authCode: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"useInvitationStatus.d.ts","sourceRoot":"","sources":["../../../../src/invitations/useInvitationStatus.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAEL,KAAK,+BAA+B,EACpC,UAAU,EAEX,MAAM,0BAA0B,CAAC;AAGlC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,SAAS,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAeF,KAAK,iBAAiB,GAAG;IAAE,UAAU,EAAE,UAAU,CAAA;CAAE,CAAC;AAEpD,MAAM,MAAM,gBAAgB,GACxB,CAAC;IACC,MAAM,EACF,UAAU,CAAC,KAAK,CAAC,IAAI,GACrB,UAAU,CAAC,KAAK,CAAC,SAAS,GAC1B,UAAU,CAAC,KAAK,CAAC,wBAAwB,GACzC,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC;CACrC,GAAG,iBAAiB,CAAC,GACtB,CAAC;IACC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;IACpC,UAAU,EAAE,+BAA+B,CAAC;CAC7C,GAAG,iBAAiB,CAAC,GACtB,CAAC;IACC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;IACjC,MAAM,EAAE,gBAAgB,CAAC;CAC1B,GAAG,iBAAiB,CAAC,GACtB,CAAC;IACC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;IAC9D,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC;CAC5B,GAAG,iBAAiB,CAAC,GACtB;IACE,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC;CAC5B,CAAC;AAEN,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC;IACnC,IAAI,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC;IACzB,QAAQ,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,IAAI,IAAI,CAAC;IAEf,OAAO,CAAC,UAAU,EAAE,+BAA+B,GAAG,IAAI,CAAC;IAC3D,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C,CAAC;AAOF,eAAO,MAAM,mBAAmB,GAAI,aAAa,+BAA+B,KAAG,gBA4HlF,CAAC"}
1
+ {"version":3,"file":"useInvitationStatus.d.ts","sourceRoot":"","sources":["../../../../src/invitations/useInvitationStatus.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAEL,KAAK,+BAA+B,EACpC,UAAU,EAEX,MAAM,0BAA0B,CAAC;AAGlC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,SAAS,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAgBF,KAAK,iBAAiB,GAAG;IAAE,UAAU,EAAE,UAAU,CAAA;CAAE,CAAC;AAEpD,MAAM,MAAM,gBAAgB,GACxB,CAAC;IACC,MAAM,EACF,UAAU,CAAC,KAAK,CAAC,IAAI,GACrB,UAAU,CAAC,KAAK,CAAC,SAAS,GAC1B,UAAU,CAAC,KAAK,CAAC,wBAAwB,GACzC,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC;CACrC,GAAG,iBAAiB,CAAC,GACtB,CAAC;IACC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;IACpC,UAAU,EAAE,+BAA+B,CAAC;CAC7C,GAAG,iBAAiB,CAAC,GACtB,CAAC;IACC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;IACjC,MAAM,EAAE,gBAAgB,CAAC;CAC1B,GAAG,iBAAiB,CAAC,GACtB,CAAC;IACC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;IAC9D,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC;CAC5B,GAAG,iBAAiB,CAAC,GACtB;IACE,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC;CAC5B,CAAC;AAEN,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC;IACnC,IAAI,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC;IACzB,QAAQ,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,IAAI,IAAI,CAAC;IAEf,OAAO,CAAC,UAAU,EAAE,+BAA+B,GAAG,IAAI,CAAC;IAC3D,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C,CAAC;AAOF,eAAO,MAAM,mBAAmB,GAAI,aAAa,+BAA+B,KAAG,gBA4HlF,CAAC"}
@@ -1,11 +1,12 @@
1
1
  import React, { type FC } from 'react';
2
- import { Client, type PublicKey } from '@dxos/client';
3
- import { type TypedObject } from '@dxos/echo-schema';
2
+ import { Client } from '@dxos/client';
3
+ import { type Type } from '@dxos/echo';
4
+ import { type SpaceId } from '../echo';
4
5
  import { type WithClientProviderProps } from './withClientProvider';
5
6
  export type ClientRepeatedComponentProps = {
6
7
  id: number;
7
8
  count: number;
8
- spaceKey?: PublicKey;
9
+ spaceId?: SpaceId;
9
10
  };
10
11
  export type ClientRepeaterControlsProps = {
11
12
  clients: Client[];
@@ -16,9 +17,9 @@ export type ClientRepeaterProps<P extends ClientRepeatedComponentProps> = {
16
17
  controls?: FC<ClientRepeaterControlsProps>;
17
18
  count?: number;
18
19
  clients?: Client[];
19
- types?: TypedObject[];
20
+ types?: Type.Obj.Any[];
20
21
  args?: Omit<P, 'id' | 'count'>;
21
- } & Pick<WithClientProviderProps, 'createIdentity' | 'createSpace' | 'onSpaceCreated'>;
22
+ } & Pick<WithClientProviderProps, 'createIdentity' | 'createSpace' | 'onCreateSpace'>;
22
23
  /**
23
24
  * Utility component for Storybook stories which sets up clients for n peers.
24
25
  * The `Component` property is rendered n times, once for each peer.
@@ -1 +1 @@
1
- {"version":3,"file":"ClientRepeater.d.ts","sourceRoot":"","sources":["../../../../src/testing/ClientRepeater.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAY,KAAK,EAAE,EAAqB,MAAM,OAAO,CAAC;AAEpE,OAAO,EAAE,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIrD,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAGpE,MAAM,MAAM,4BAA4B,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC;AAE/F,MAAM,MAAM,2BAA2B,GAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAGhE,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,4BAA4B,IAAI;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,EAAE,CAAC,4BAA4B,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,EAAE,CAAC,2BAA2B,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC;CAChC,GAAG,IAAI,CAAC,uBAAuB,EAAE,gBAAgB,GAAG,aAAa,GAAG,gBAAgB,CAAC,CAAC;AAEvF;;;;GAIG;AAMH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,4BAA4B,EAAE,OAAO,mBAAmB,CAAC,CAAC,CAAC,6BA2DnG,CAAC"}
1
+ {"version":3,"file":"ClientRepeater.d.ts","sourceRoot":"","sources":["../../../../src/testing/ClientRepeater.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,KAAK,EAAE,EAAoB,MAAM,OAAO,CAAC;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAKvC,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEpE,MAAM,MAAM,4BAA4B,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAE5F,MAAM,MAAM,2BAA2B,GAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAGhE,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,4BAA4B,IAAI;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,EAAE,CAAC,4BAA4B,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,EAAE,CAAC,2BAA2B,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC;CAChC,GAAG,IAAI,CAAC,uBAAuB,EAAE,gBAAgB,GAAG,aAAa,GAAG,eAAe,CAAC,CAAC;AAEtF;;;;GAIG;AAMH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,4BAA4B,EAAE,OAAO,mBAAmB,CAAC,CAAC,CAAC,6BAkDnG,CAAC"}
@@ -1,14 +1,10 @@
1
- import '@dxos-theme';
2
- import React from 'react';
3
- declare const _default: {
1
+ import { type StoryObj } from '@storybook/react-vite';
2
+ declare const meta: {
4
3
  title: string;
5
4
  decorators: import("@storybook/react").Decorator[];
6
5
  };
7
- export default _default;
8
- export declare const Default: {
9
- render: () => React.JSX.Element;
10
- };
11
- export declare const Space: {
12
- render: () => React.JSX.Element;
13
- };
6
+ export default meta;
7
+ type Story = StoryObj<typeof meta>;
8
+ export declare const Default: Story;
9
+ export declare const Space: Story;
14
10
  //# sourceMappingURL=ClientRepeater.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClientRepeater.stories.d.ts","sourceRoot":"","sources":["../../../../src/testing/ClientRepeater.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,KAAK,MAAM,OAAO,CAAC;;;;;AAU1B,wBAGE;AAgCF,eAAO,MAAM,OAAO;;CAEnB,CAAC;AAEF,eAAO,MAAM,KAAK;;CAEjB,CAAC"}
1
+ {"version":3,"file":"ClientRepeater.stories.d.ts","sourceRoot":"","sources":["../../../../src/testing/ClientRepeater.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAajE,QAAA,MAAM,IAAI;;;CAGoB,CAAC;AAE/B,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAoCnC,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAEnB,CAAC"}
@@ -1,7 +1,9 @@
1
- import { type Space } from '@dxos/client/echo';
1
+ import { type Space, type SpaceId } from '@dxos/client/echo';
2
2
  export type ClientStory = {
3
+ index?: number;
4
+ spaceId?: SpaceId;
3
5
  space?: Space;
4
6
  };
5
7
  export declare const ClientStory: import("react").Context<ClientStory | undefined>;
6
- export declare const useClientProvider: () => ClientStory;
8
+ export declare const useClientStory: () => ClientStory;
7
9
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/testing/context.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG/C,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AAGF,eAAO,MAAM,WAAW,kDAAoD,CAAC;AAE7E,eAAO,MAAM,iBAAiB,QAAO,WAEpC,CAAC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/testing/context.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG7D,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,WAAW,kDAAoD,CAAC;AAE7E,eAAO,MAAM,cAAc,QAAO,WAEjC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type StoryContext, type Decorator } from '@storybook/react';
1
+ import { type Decorator, type StoryContext } from '@storybook/react';
2
2
  import { type Client } from '@dxos/client';
3
3
  import { type Space } from '@dxos/client/echo';
4
4
  import { type MaybePromise } from '@dxos/util';
@@ -7,10 +7,10 @@ type InitializeProps = {
7
7
  createIdentity?: boolean;
8
8
  createSpace?: boolean;
9
9
  onInitialized?: (client: Client) => MaybePromise<void>;
10
- onIdentityCreated?: (props: {
10
+ onCreateIdentity?: (props: {
11
11
  client: Client;
12
- }) => MaybePromise<void>;
13
- onSpaceCreated?: (props: {
12
+ }, context: StoryContext | any) => MaybePromise<void>;
13
+ onCreateSpace?: (props: {
14
14
  client: Client;
15
15
  space: Space;
16
16
  }, context: StoryContext | any) => MaybePromise<void>;
@@ -19,18 +19,14 @@ export type WithClientProviderProps = InitializeProps & Omit<ClientProviderProps
19
19
  /**
20
20
  * Decorator that provides the client context.
21
21
  */
22
- export declare const withClientProvider: ({ createIdentity, createSpace, onSpaceCreated, onIdentityCreated, onInitialized, ...props }?: WithClientProviderProps) => Decorator;
22
+ export declare const withClientProvider: ({ createIdentity, createSpace, onCreateSpace, onCreateIdentity, onInitialized, ...props }?: WithClientProviderProps) => Decorator;
23
23
  export type WithMultiClientProviderProps = InitializeProps & Omit<ClientProviderProps, 'onInitialized'> & {
24
24
  numClients?: number;
25
25
  };
26
- export declare const useMultiClient: () => {
27
- id: number;
28
- };
29
26
  /**
30
27
  * Decorator that creates a scaffold for multiple clients.
31
28
  * Orchestrates invitations between a randomly selected host and the remaining clients.
32
- * NOTE: Should come before withLayout.
33
29
  */
34
- export declare const withMultiClientProvider: ({ numClients, createIdentity, createSpace, onSpaceCreated, onIdentityCreated, onInitialized, ...props }: WithMultiClientProviderProps) => Decorator;
30
+ export declare const withMultiClientProvider: ({ numClients, createIdentity, createSpace, onCreateSpace, onCreateIdentity, onInitialized, ...props }: WithMultiClientProviderProps) => Decorator;
35
31
  export {};
36
32
  //# sourceMappingURL=withClientProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"withClientProvider.d.ts","sourceRoot":"","sources":["../../../../src/testing/withClientProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAKrE,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG/C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAErE,KAAK,eAAe,GAAG;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IACvD,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IAEtE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,EAAE,OAAO,EAAE,YAAY,GAAG,GAAG,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;CAC/G,CAAC;AA4BF,MAAM,MAAM,uBAAuB,GAAG,eAAe,GAAG,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;AAEnG;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,8FAOhC,uBAA4B,KAAG,SA6BjC,CAAC;AAKF,MAAM,MAAM,4BAA4B,GAAG,eAAe,GACxD,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAIvE,eAAO,MAAM,cAAc;QAFoB,MAAM;CAEa,CAAC;AAEnE;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAAI,yGAQrC,4BAA4B,KAAG,SAsDjC,CAAC"}
1
+ {"version":3,"file":"withClientProvider.d.ts","sourceRoot":"","sources":["../../../../src/testing/withClientProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAKrE,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,KAAK,KAAK,EAAgB,MAAM,mBAAmB,CAAC;AAG7D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAIrE,KAAK,eAAe,GAAG;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IACvD,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,OAAO,EAAE,YAAY,GAAG,GAAG,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IAElG,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,EAAE,OAAO,EAAE,YAAY,GAAG,GAAG,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;CAC9G,CAAC;AA+BF,MAAM,MAAM,uBAAuB,GAAG,eAAe,GAAG,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;AAEnG;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,4FAOhC,uBAA4B,KAAG,SA6BjC,CAAC;AAKF,MAAM,MAAM,4BAA4B,GAAG,eAAe,GACxD,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAAI,uGAQrC,4BAA4B,KAAG,SAuEjC,CAAC"}
@@ -1,14 +1,13 @@
1
- import '@dxos-theme';
1
+ import { type StoryObj } from '@storybook/react-vite';
2
2
  import React from 'react';
3
- declare const _default: {
3
+ declare const meta: {
4
4
  title: string;
5
- render: () => React.JSX.Element | null;
6
- };
7
- export default _default;
8
- export declare const Default: {
9
- decorators: import("@storybook/react").Decorator[];
10
- };
11
- export declare const Multiple: {
5
+ render: (args: unknown) => React.JSX.Element;
12
6
  decorators: import("@storybook/react").Decorator[];
7
+ tags: string[];
13
8
  };
9
+ export default meta;
10
+ type Story = StoryObj<typeof meta>;
11
+ export declare const Default: Story;
12
+ export declare const Multiple: Story;
14
13
  //# sourceMappingURL=withClientProvider.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"withClientProvider.stories.d.ts","sourceRoot":"","sources":["../../../../src/testing/withClientProvider.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,KAAK,MAAM,OAAO,CAAC;;;;;AAgC1B,wBAGE;AAaF,eAAO,MAAM,OAAO;;CAEnB,CAAC;AAEF,eAAO,MAAM,QAAQ;;CAMpB,CAAC"}
1
+ {"version":3,"file":"withClientProvider.stories.d.ts","sourceRoot":"","sources":["../../../../src/testing/withClientProvider.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,MAAM,OAAO,CAAC;AAmC1B,QAAA,MAAM,IAAI;;;;;CAK2B,CAAC;AAEtC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAanC,eAAO,MAAM,OAAO,EAAE,KAUrB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAC"}