@dxos/react-client 0.8.3 → 0.8.4-main.28f8d3d

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 (361) hide show
  1. package/.swc/plugins/v7_linux_x86_64_13.0.0/c614d7475354583212fbd7669acbae95b9832c305bf51bdaabe2e6de05abb6bf +0 -0
  2. package/dist/lib/browser/{chunk-AL2CUQ46.mjs → chunk-BXOLJYAY.mjs} +5 -5
  3. package/dist/lib/{node-esm/chunk-UYJUBYMU.mjs.map → browser/chunk-BXOLJYAY.mjs.map} +3 -3
  4. package/dist/lib/browser/{chunk-72QD3PXL.mjs → chunk-FQAPI3I4.mjs} +26 -26
  5. package/dist/lib/browser/chunk-FQAPI3I4.mjs.map +7 -0
  6. package/dist/lib/browser/devtools/index.mjs +6 -6
  7. package/dist/lib/browser/devtools/index.mjs.map +3 -3
  8. package/dist/lib/browser/echo/index.mjs +15 -15
  9. package/dist/lib/browser/echo/index.mjs.map +3 -3
  10. package/dist/lib/browser/halo/index.mjs +11 -9
  11. package/dist/lib/browser/halo/index.mjs.map +3 -3
  12. package/dist/lib/browser/index.mjs +2 -2
  13. package/dist/lib/browser/invitations/index.mjs +1 -1
  14. package/dist/lib/browser/mesh/index.mjs +3 -3
  15. package/dist/lib/browser/meta.json +1 -1
  16. package/dist/lib/browser/testing/index.mjs +11 -11
  17. package/dist/lib/browser/testing/index.mjs.map +3 -3
  18. package/dist/lib/browser/worker.mjs +1 -1
  19. package/dist/lib/node-esm/{chunk-UYJUBYMU.mjs → chunk-256IHY6F.mjs} +5 -5
  20. package/dist/lib/{browser/chunk-AL2CUQ46.mjs.map → node-esm/chunk-256IHY6F.mjs.map} +3 -3
  21. package/dist/lib/node-esm/{chunk-NBTZZNQ5.mjs → chunk-MNTJNI2M.mjs} +26 -26
  22. package/dist/lib/node-esm/chunk-MNTJNI2M.mjs.map +7 -0
  23. package/dist/lib/node-esm/devtools/index.mjs +6 -6
  24. package/dist/lib/node-esm/devtools/index.mjs.map +3 -3
  25. package/dist/lib/node-esm/echo/index.mjs +15 -15
  26. package/dist/lib/node-esm/echo/index.mjs.map +3 -3
  27. package/dist/lib/node-esm/halo/index.mjs +11 -9
  28. package/dist/lib/node-esm/halo/index.mjs.map +3 -3
  29. package/dist/lib/node-esm/index.mjs +2 -2
  30. package/dist/lib/node-esm/invitations/index.mjs +1 -1
  31. package/dist/lib/node-esm/mesh/index.mjs +3 -3
  32. package/dist/lib/node-esm/meta.json +1 -1
  33. package/dist/lib/node-esm/testing/index.mjs +11 -11
  34. package/dist/lib/node-esm/testing/index.mjs.map +3 -3
  35. package/dist/lib/node-esm/worker.mjs +1 -1
  36. package/dist/types/src/client/AgentHostingProvider.d.ts.map +1 -1
  37. package/dist/types/src/client/ClientProvider.d.ts.map +1 -1
  38. package/dist/types/src/echo/useSpaceInvitations.d.ts.map +1 -1
  39. package/dist/types/src/echo/useSyncState.d.ts +1 -1
  40. package/dist/types/src/echo/useSyncState.d.ts.map +1 -1
  41. package/dist/types/src/halo/Passkey.stories.d.ts.map +1 -1
  42. package/dist/types/src/halo/useHaloInvitations.d.ts.map +1 -1
  43. package/dist/types/src/playwright/{playwright.config.d.cts → playwright.config.d.ts} +1 -1
  44. package/dist/types/src/playwright/playwright.config.d.ts.map +1 -0
  45. package/dist/types/src/testing/ClientRepeater.d.ts.map +1 -1
  46. package/dist/types/src/testing/ClientRepeater.stories.d.ts.map +1 -1
  47. package/dist/types/src/testing/withClientProvider.d.ts +1 -1
  48. package/dist/types/src/testing/withClientProvider.d.ts.map +1 -1
  49. package/dist/types/src/testing/withClientProvider.stories.d.ts.map +1 -1
  50. package/dist/types/tsconfig.tsbuildinfo +1 -1
  51. package/moon.yml +19 -0
  52. package/package.json +33 -25
  53. package/src/client/AgentHostingProvider.tsx +1 -1
  54. package/src/client/ClientProvider.test.tsx +3 -2
  55. package/src/client/ClientProvider.tsx +4 -3
  56. package/src/client/useConfig.test.tsx +2 -1
  57. package/src/devtools/useStream.ts +1 -1
  58. package/src/echo/useQuery.test.tsx +2 -1
  59. package/src/echo/useSpaceInvitations.ts +2 -1
  60. package/src/echo/useSpaces.test.tsx +2 -1
  61. package/src/echo/useSyncState.ts +3 -3
  62. package/src/halo/Passkey.stories.tsx +4 -3
  63. package/src/halo/useDevices.test.tsx +2 -1
  64. package/src/halo/useHaloInvitations.ts +1 -1
  65. package/src/invitations/useInvitationStatus.ts +1 -1
  66. package/src/playwright/playwright.config.ts +17 -0
  67. package/src/playwright/smoke.spec.ts +4 -6
  68. package/src/testing/ClientRepeater.stories.tsx +2 -1
  69. package/src/testing/ClientRepeater.tsx +3 -2
  70. package/src/testing/withClientProvider.stories.tsx +2 -1
  71. package/src/testing/withClientProvider.tsx +5 -4
  72. package/vitest.config.ts +1 -1
  73. package/.eslintrc.cjs +0 -12
  74. package/README.yml +0 -33
  75. package/dist/lib/browser/chunk-72QD3PXL.mjs.map +0 -7
  76. package/dist/lib/node/chunk-5RUIFUEC.cjs +0 -334
  77. package/dist/lib/node/chunk-5RUIFUEC.cjs.map +0 -7
  78. package/dist/lib/node/chunk-FYOAVV65.cjs +0 -188
  79. package/dist/lib/node/chunk-FYOAVV65.cjs.map +0 -7
  80. package/dist/lib/node/devtools/index.cjs +0 -62
  81. package/dist/lib/node/devtools/index.cjs.map +0 -7
  82. package/dist/lib/node/echo/index.cjs +0 -302
  83. package/dist/lib/node/echo/index.cjs.map +0 -7
  84. package/dist/lib/node/halo/index.cjs +0 -123
  85. package/dist/lib/node/halo/index.cjs.map +0 -7
  86. package/dist/lib/node/index.cjs +0 -55
  87. package/dist/lib/node/index.cjs.map +0 -7
  88. package/dist/lib/node/invitations/index.cjs +0 -39
  89. package/dist/lib/node/invitations/index.cjs.map +0 -7
  90. package/dist/lib/node/mesh/index.cjs +0 -37
  91. package/dist/lib/node/mesh/index.cjs.map +0 -7
  92. package/dist/lib/node/meta.json +0 -1
  93. package/dist/lib/node/testing/index.cjs +0 -278
  94. package/dist/lib/node/testing/index.cjs.map +0 -7
  95. package/dist/lib/node/worker.cjs +0 -23
  96. package/dist/lib/node/worker.cjs.map +0 -7
  97. package/dist/lib/node-esm/chunk-NBTZZNQ5.mjs.map +0 -7
  98. package/dist/types/src/playwright/playwright.config.d.cts.map +0 -1
  99. package/project.json +0 -40
  100. package/src/playwright/playwright.config.cts +0 -18
  101. package/typedoc/.nojekyll +0 -1
  102. package/typedoc/assets/hierarchy.js +0 -1
  103. package/typedoc/assets/highlight.css +0 -99
  104. package/typedoc/assets/icons.js +0 -18
  105. package/typedoc/assets/icons.svg +0 -1
  106. package/typedoc/assets/main.js +0 -60
  107. package/typedoc/assets/navigation.js +0 -1
  108. package/typedoc/assets/search.js +0 -1
  109. package/typedoc/assets/style.css +0 -1640
  110. package/typedoc/classes/echo.Hypergraph.html +0 -17
  111. package/typedoc/classes/echo.PropertiesType.html +0 -19
  112. package/typedoc/classes/echo.QueryResult.html +0 -18
  113. package/typedoc/classes/halo.KeyStore.html +0 -6
  114. package/typedoc/classes/index.AgentClientServiceProvider.html +0 -10
  115. package/typedoc/classes/index.AgentManagerClient.html +0 -22
  116. package/typedoc/classes/index.AlreadyJoinedError.html +0 -15
  117. package/typedoc/classes/index.ApiError.html +0 -16
  118. package/typedoc/classes/index.CancelledError.html +0 -16
  119. package/typedoc/classes/index.Client.html +0 -51
  120. package/typedoc/classes/index.ClientServicesProxy.html +0 -12
  121. package/typedoc/classes/index.Config.html +0 -17
  122. package/typedoc/classes/index.DataCorruptionError.html +0 -16
  123. package/typedoc/classes/index.DatabaseError.html +0 -15
  124. package/typedoc/classes/index.EntityNotFoundError.html +0 -15
  125. package/typedoc/classes/index.FakeAgentHostingProvider.html +0 -7
  126. package/typedoc/classes/index.IFrameManager.html +0 -6
  127. package/typedoc/classes/index.IdentityNotInitializedError.html +0 -15
  128. package/typedoc/classes/index.InvalidConfigError.html +0 -16
  129. package/typedoc/classes/index.InvalidInvitationError.html +0 -15
  130. package/typedoc/classes/index.InvalidInvitationExtensionRoleError.html +0 -16
  131. package/typedoc/classes/index.InvalidStorageVersionError.html +0 -15
  132. package/typedoc/classes/index.LocalClientServices.html +0 -12
  133. package/typedoc/classes/index.PublicKey.html +0 -55
  134. package/typedoc/classes/index.RemoteServiceConnectionError.html +0 -15
  135. package/typedoc/classes/index.RemoteServiceConnectionTimeout.html +0 -15
  136. package/typedoc/classes/index.RpcClosedError.html +0 -15
  137. package/typedoc/classes/index.RpcNotOpenError.html +0 -15
  138. package/typedoc/classes/index.SharedWorkerConnection.html +0 -5
  139. package/typedoc/classes/index.Shell.html +0 -35
  140. package/typedoc/classes/index.ShellManager.html +0 -9
  141. package/typedoc/classes/index.SystemError.html +0 -16
  142. package/typedoc/classes/index.UnknownModelError.html +0 -15
  143. package/typedoc/classes/index.WorkerClientServices.html +0 -12
  144. package/typedoc/classes/invitations.AuthenticatingInvitationObservable.html +0 -30
  145. package/typedoc/classes/invitations.CancellableInvitationObservable.html +0 -29
  146. package/typedoc/classes/invitations.InvitationEncoder.html +0 -5
  147. package/typedoc/classes/invitations.InvitationsProxy.html +0 -12
  148. package/typedoc/enums/devtools.KeyType.html +0 -9
  149. package/typedoc/enums/echo.HaloSpaceMember.Role.html +0 -9
  150. package/typedoc/enums/echo.IndexKind.Kind.html +0 -8
  151. package/typedoc/enums/echo.QueryOptions.DataLocation.html +0 -6
  152. package/typedoc/enums/echo.QueryOptions.ShowDeletedOption.html +0 -6
  153. package/typedoc/enums/echo.ResultFormat.html +0 -10
  154. package/typedoc/enums/echo.SpaceMember.PresenceState.html +0 -5
  155. package/typedoc/enums/echo.SpaceState.html +0 -13
  156. package/typedoc/enums/echo.TextKind.html +0 -5
  157. package/typedoc/enums/halo.Device.PresenceState.html +0 -6
  158. package/typedoc/enums/halo.DeviceKind.html +0 -5
  159. package/typedoc/enums/halo.DeviceType.html +0 -9
  160. package/typedoc/enums/index.ShellDisplay.html +0 -5
  161. package/typedoc/enums/index.ShellLayout.html +0 -13
  162. package/typedoc/enums/index.SystemStatus.html +0 -5
  163. package/typedoc/enums/invitations.Invitation.AuthMethod.html +0 -6
  164. package/typedoc/enums/invitations.Invitation.Kind.html +0 -5
  165. package/typedoc/enums/invitations.Invitation.State.html +0 -13
  166. package/typedoc/enums/invitations.Invitation.Type.html +0 -6
  167. package/typedoc/enums/mesh.ConnectionState.html +0 -5
  168. package/typedoc/functions/devtools.useDevtools.html +0 -1
  169. package/typedoc/functions/devtools.useStream.html +0 -2
  170. package/typedoc/functions/echo.useMembers.html +0 -1
  171. package/typedoc/functions/echo.useQueue.html +0 -2
  172. package/typedoc/functions/echo.useSchema.html +0 -2
  173. package/typedoc/functions/echo.useSpace.html +0 -6
  174. package/typedoc/functions/echo.useSpaceInvitation.html +0 -1
  175. package/typedoc/functions/echo.useSpaceInvitations.html +0 -1
  176. package/typedoc/functions/echo.useSpaceSyncState.html +0 -2
  177. package/typedoc/functions/echo.useSpaces.html +0 -5
  178. package/typedoc/functions/echo.useSubscription.html +0 -3
  179. package/typedoc/functions/echo.useSyncState.html +0 -2
  180. package/typedoc/functions/halo.useContacts.html +0 -4
  181. package/typedoc/functions/halo.useCredentials.html +0 -1
  182. package/typedoc/functions/halo.useDevices.html +0 -1
  183. package/typedoc/functions/halo.useHaloInvitation.html +0 -1
  184. package/typedoc/functions/halo.useHaloInvitations.html +0 -1
  185. package/typedoc/functions/halo.useIdentity.html +0 -3
  186. package/typedoc/functions/halo.useKeyStore.html +0 -3
  187. package/typedoc/functions/index.AgentHostingProvider.html +0 -2
  188. package/typedoc/functions/index.useAgentHostingClient.html +0 -1
  189. package/typedoc/functions/index.useClient.html +0 -3
  190. package/typedoc/functions/index.useClientStatus.html +0 -1
  191. package/typedoc/functions/index.useConfig.html +0 -3
  192. package/typedoc/functions/index.useShell.html +0 -2
  193. package/typedoc/functions/index.useShellDisplay.html +0 -2
  194. package/typedoc/functions/index.useStatus.html +0 -1
  195. package/typedoc/functions/invitations.useInvitationStatus.html +0 -1
  196. package/typedoc/functions/mesh.useNetworkStatus.html +0 -2
  197. package/typedoc/hierarchy.html +0 -1
  198. package/typedoc/index.html +0 -23
  199. package/typedoc/interfaces/devtools.DevtoolsHook.html +0 -22
  200. package/typedoc/interfaces/devtools.DevtoolsHost.html +0 -26
  201. package/typedoc/interfaces/echo.DocAccessor.html +0 -3
  202. package/typedoc/interfaces/echo.Echo.html +0 -39
  203. package/typedoc/interfaces/echo.EchoDatabase.html +0 -25
  204. package/typedoc/interfaces/echo.Expando.html +0 -3
  205. package/typedoc/interfaces/echo.Filter.html +0 -3
  206. package/typedoc/interfaces/echo.HaloSpaceMember.html +0 -18
  207. package/typedoc/interfaces/echo.IDocHandle.html +0 -6
  208. package/typedoc/interfaces/echo.IndexKind.html +0 -9
  209. package/typedoc/interfaces/echo.Query.html +0 -34
  210. package/typedoc/interfaces/echo.QueryOptions.html +0 -39
  211. package/typedoc/interfaces/echo.Queue.html +0 -17
  212. package/typedoc/interfaces/echo.Ref.html +0 -32
  213. package/typedoc/interfaces/echo.Space.html +0 -39
  214. package/typedoc/interfaces/echo.SpaceMember.html +0 -7
  215. package/typedoc/interfaces/echo.SpaceSyncState.PeerState.html +0 -14
  216. package/typedoc/interfaces/echo.SpaceSyncState.html +0 -4
  217. package/typedoc/interfaces/echo.SubscriptionHandle.html +0 -5
  218. package/typedoc/interfaces/echo.TypedObject.html +0 -16
  219. package/typedoc/interfaces/halo.Contact.html +0 -10
  220. package/typedoc/interfaces/halo.Credential.html +0 -27
  221. package/typedoc/interfaces/halo.Device.html +0 -11
  222. package/typedoc/interfaces/halo.Halo.html +0 -16
  223. package/typedoc/interfaces/halo.Identity.html +0 -15
  224. package/typedoc/interfaces/index.AgentHostingProviderClient.html +0 -6
  225. package/typedoc/interfaces/index.AppContextRequest.html +0 -33
  226. package/typedoc/interfaces/index.ClientServicesProvider.html +0 -9
  227. package/typedoc/interfaces/index.InvitationUrlRequest.html +0 -9
  228. package/typedoc/interfaces/index.LayoutRequest.html +0 -29
  229. package/typedoc/interfaces/index.ShellRuntime.html +0 -15
  230. package/typedoc/interfaces/invitations.Invitation.html +0 -92
  231. package/typedoc/interfaces/invitations.Invitations.html +0 -5
  232. package/typedoc/interfaces/mesh.GossipMessage.html +0 -10
  233. package/typedoc/interfaces/mesh.NetworkStatus.Signal.html +0 -5
  234. package/typedoc/interfaces/mesh.NetworkStatus.html +0 -6
  235. package/typedoc/media/LICENSE +0 -8
  236. package/typedoc/modules/devtools.html +0 -1
  237. package/typedoc/modules/echo.Filter.html +0 -1
  238. package/typedoc/modules/echo.HaloSpaceMember.html +0 -1
  239. package/typedoc/modules/echo.IndexKind.html +0 -1
  240. package/typedoc/modules/echo.Query.html +0 -1
  241. package/typedoc/modules/echo.QueryOptions.html +0 -1
  242. package/typedoc/modules/echo.Ref.html +0 -2
  243. package/typedoc/modules/echo.SpaceMember.html +0 -1
  244. package/typedoc/modules/echo.SpaceSyncState.html +0 -1
  245. package/typedoc/modules/echo.html +0 -1
  246. package/typedoc/modules/halo.Device.html +0 -1
  247. package/typedoc/modules/halo.html +0 -1
  248. package/typedoc/modules/index.html +0 -1
  249. package/typedoc/modules/invitations.Invitation.html +0 -1
  250. package/typedoc/modules/invitations.html +0 -1
  251. package/typedoc/modules/mesh.NetworkStatus.html +0 -1
  252. package/typedoc/modules/mesh.html +0 -1
  253. package/typedoc/modules/worker.html +0 -1
  254. package/typedoc/modules.html +0 -1
  255. package/typedoc/types/devtools.MountOptions.html +0 -3
  256. package/typedoc/types/echo.AnyLiveObject.html +0 -2
  257. package/typedoc/types/echo.Filter.And.html +0 -1
  258. package/typedoc/types/echo.Filter.Any.html +0 -1
  259. package/typedoc/types/echo.Filter.Or.html +0 -1
  260. package/typedoc/types/echo.Filter.Props.html +0 -1
  261. package/typedoc/types/echo.Filter.Type.html +0 -1
  262. package/typedoc/types/echo.Live.html +0 -5
  263. package/typedoc/types/echo.ObjectMeta.html +0 -1
  264. package/typedoc/types/echo.ObjectMigration.html +0 -7
  265. package/typedoc/types/echo.ObjectVersion.html +0 -2
  266. package/typedoc/types/echo.PeerSyncState.html +0 -1
  267. package/typedoc/types/echo.Progress.html +0 -3
  268. package/typedoc/types/echo.PropertiesTypeProps.html +0 -1
  269. package/typedoc/types/echo.Query.Any.html +0 -1
  270. package/typedoc/types/echo.Query.TextSearchOptions.html +0 -2
  271. package/typedoc/types/echo.Query.Type.html +0 -1
  272. package/typedoc/types/echo.Ref.Target.html +0 -2
  273. package/typedoc/types/echo.Selection.html +0 -1
  274. package/typedoc/types/echo.SpaceId.html +0 -6
  275. package/typedoc/types/echo.SpaceSyncStateMap.html +0 -1
  276. package/typedoc/types/echo.UseQueueOptions.html +0 -2
  277. package/typedoc/types/echo.UseSpacesParams.html +0 -3
  278. package/typedoc/types/index.AgentHostingProviderProps.html +0 -3
  279. package/typedoc/types/index.ClientContextProps.html +0 -3
  280. package/typedoc/types/index.ClientOptions.html +0 -12
  281. package/typedoc/types/index.ClientProviderProps.html +0 -2
  282. package/typedoc/types/index.ClientServices.html +0 -15
  283. package/typedoc/types/index.FromAgentOptions.html +0 -2
  284. package/typedoc/types/index.PublicKeyLike.html +0 -2
  285. package/typedoc/types/invitations.InvitationAction.html +0 -1
  286. package/typedoc/types/invitations.InvitationResult.html +0 -5
  287. package/typedoc/types/invitations.InvitationStatus.html +0 -15
  288. package/typedoc/variables/devtools.mountDevtoolsHooks.html +0 -1
  289. package/typedoc/variables/devtools.unmountDevtoolsHooks.html +0 -1
  290. package/typedoc/variables/echo.DocAccessor.html +0 -1
  291. package/typedoc/variables/echo.EchoObjectSchema.html +0 -1
  292. package/typedoc/variables/echo.Expando.html +0 -1
  293. package/typedoc/variables/echo.FQ_ID_LENGTH.html +0 -1
  294. package/typedoc/variables/echo.Filter.html +0 -1
  295. package/typedoc/variables/echo.OBJECT_ID_LENGTH.html +0 -1
  296. package/typedoc/variables/echo.ObjectVersion.html +0 -1
  297. package/typedoc/variables/echo.Query.html +0 -1
  298. package/typedoc/variables/echo.Queue.html +0 -1
  299. package/typedoc/variables/echo.ReactiveObjectSchema.html +0 -1
  300. package/typedoc/variables/echo.Ref.html +0 -2
  301. package/typedoc/variables/echo.RefArray.html +0 -2
  302. package/typedoc/variables/echo.SPACE_ID_LENGTH.html +0 -1
  303. package/typedoc/variables/echo.SpaceId.html +0 -1
  304. package/typedoc/variables/echo.SpaceSchema.html +0 -1
  305. package/typedoc/variables/echo.TypedObject.html +0 -3
  306. package/typedoc/variables/echo.compareForeignKeys.html +0 -1
  307. package/typedoc/variables/echo.createDocAccessor.html +0 -1
  308. package/typedoc/variables/echo.createEmptyEdgeSyncState.html +0 -1
  309. package/typedoc/variables/echo.createObject.html +0 -1
  310. package/typedoc/variables/echo.createQueueDXN.html +0 -2
  311. package/typedoc/variables/echo.createSubscription.html +0 -5
  312. package/typedoc/variables/echo.defineObjectMigration.html +0 -1
  313. package/typedoc/variables/echo.fromCursor.html +0 -1
  314. package/typedoc/variables/echo.fullyQualifiedId.html +0 -4
  315. package/typedoc/variables/echo.getMeta.html +0 -1
  316. package/typedoc/variables/echo.getObjectCore.html +0 -1
  317. package/typedoc/variables/echo.getRangeFromCursor.html +0 -1
  318. package/typedoc/variables/echo.getSchema.html +0 -2
  319. package/typedoc/variables/echo.getSource.html +0 -4
  320. package/typedoc/variables/echo.getSpace.html +0 -1
  321. package/typedoc/variables/echo.getSyncSummary.html +0 -1
  322. package/typedoc/variables/echo.getTarget.html +0 -4
  323. package/typedoc/variables/echo.getTextInRange.html +0 -2
  324. package/typedoc/variables/echo.getType.html +0 -5
  325. package/typedoc/variables/echo.getTypename.html +0 -6
  326. package/typedoc/variables/echo.getVersion.html +0 -3
  327. package/typedoc/variables/echo.importSpace.html +0 -1
  328. package/typedoc/variables/echo.internalDecodeReference.html +0 -1
  329. package/typedoc/variables/echo.isEchoObject.html +0 -2
  330. package/typedoc/variables/echo.isLiveObject.html +0 -2
  331. package/typedoc/variables/echo.isRelation.html +0 -2
  332. package/typedoc/variables/echo.isSpace.html +0 -1
  333. package/typedoc/variables/echo.live.html +0 -3
  334. package/typedoc/variables/echo.loadObjectReferences.html +0 -7
  335. package/typedoc/variables/echo.makeRef.html +0 -2
  336. package/typedoc/variables/echo.parseFullyQualifiedId.html +0 -2
  337. package/typedoc/variables/echo.parseId.html +0 -1
  338. package/typedoc/variables/echo.refFromDXN.html +0 -2
  339. package/typedoc/variables/echo.toCursor.html +0 -1
  340. package/typedoc/variables/echo.toCursorRange.html +0 -1
  341. package/typedoc/variables/echo.updateText.html +0 -6
  342. package/typedoc/variables/echo.useQuery.html +0 -2
  343. package/typedoc/variables/index.AgentHostingContext.html +0 -1
  344. package/typedoc/variables/index.ClientProvider.html +0 -3
  345. package/typedoc/variables/index.DXOS_VERSION.html +0 -1
  346. package/typedoc/variables/index.Defaults.html +0 -2
  347. package/typedoc/variables/index.Dynamics.html +0 -2
  348. package/typedoc/variables/index.Envs.html +0 -2
  349. package/typedoc/variables/index.Local.html +0 -2
  350. package/typedoc/variables/index.Remote.html +0 -1
  351. package/typedoc/variables/index.Storage.html +0 -2
  352. package/typedoc/variables/index.createClientServices.html +0 -4
  353. package/typedoc/variables/index.fromAgent.html +0 -2
  354. package/typedoc/variables/index.fromHost.html +0 -2
  355. package/typedoc/variables/index.fromSocket.html +0 -2
  356. package/typedoc/variables/index.fromWorker.html +0 -2
  357. package/typedoc/variables/index.getUnixSocket.html +0 -1
  358. package/typedoc/variables/index.resolveRef.html +0 -1
  359. package/typedoc/variables/index.useMulticastObservable.html +0 -3
  360. package/typedoc/variables/worker.getWorkerServiceHost.html +0 -1
  361. package/typedoc/variables/worker.onconnect.html +0 -1
@@ -1,37 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
19
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
- var mesh_exports = {};
21
- __export(mesh_exports, {
22
- useNetworkStatus: () => useNetworkStatus
23
- });
24
- module.exports = __toCommonJS(mesh_exports);
25
- var import_chunk_5RUIFUEC = require("../chunk-5RUIFUEC.cjs");
26
- __reExport(mesh_exports, require("@dxos/client/mesh"), module.exports);
27
- var import_react_hooks = require("@dxos/react-hooks");
28
- var useNetworkStatus = () => {
29
- const client = (0, import_chunk_5RUIFUEC.useClient)();
30
- return (0, import_react_hooks.useMulticastObservable)(client.mesh.networkStatus);
31
- };
32
- // Annotate the CommonJS export names for ESM import in node:
33
- 0 && (module.exports = {
34
- useNetworkStatus,
35
- ...require("@dxos/client/mesh")
36
- });
37
- //# sourceMappingURL=index.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/mesh/index.ts", "../../../../src/mesh/useNetworkStatus.ts"],
4
- "sourcesContent": ["//\n// Copyright 2020 DXOS.org\n//\n\nexport * from '@dxos/client/mesh';\n\nexport * from './useNetworkStatus';\n", "//\n// Copyright 2020 DXOS.org\n//\n\nimport { type NetworkStatus } from '@dxos/client/mesh';\nimport { useMulticastObservable } from '@dxos/react-hooks';\n\nimport { useClient } from '../client';\n\n/**\n * Creates a network status subscription.\n */\nexport const useNetworkStatus = (): NetworkStatus => {\n const client = useClient();\n return useMulticastObservable(client.mesh.networkStatus);\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAIA,yBAAc;ACCd,yBAAuC;AAOhC,IAAMA,mBAAmB,MAAA;AAC9B,QAAMC,aAASC,iCAAAA;AACf,aAAOC,2CAAuBF,OAAOG,KAAKC,aAAa;AACzD;",
6
- "names": ["useNetworkStatus", "client", "useClient", "useMulticastObservable", "mesh", "networkStatus"]
7
- }
@@ -1 +0,0 @@
1
- {"inputs":{"packages/sdk/react-client/src/client/AgentHostingProvider.tsx":{"bytes":7120,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/client/context.ts":{"bytes":1292,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/banner.ts":{"bytes":3838,"imports":[],"format":"esm"},"packages/sdk/react-client/src/client/ClientProvider.tsx":{"bytes":18871,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/context.ts","kind":"import-statement","original":"./context"},{"path":"packages/sdk/react-client/src/banner.ts","kind":"import-statement","original":"../banner"}],"format":"esm"},"packages/sdk/react-client/src/client/useClient.ts":{"bytes":1656,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/context.ts","kind":"import-statement","original":"../client/context"}],"format":"esm"},"packages/sdk/react-client/src/client/useClientStatus.ts":{"bytes":1982,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/client/useConfig.ts":{"bytes":1761,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/context.ts","kind":"import-statement","original":"./context"}],"format":"esm"},"packages/sdk/react-client/src/client/useShell.ts":{"bytes":2345,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/useClient.ts","kind":"import-statement","original":"./useClient"}],"format":"esm"},"packages/sdk/react-client/src/client/useStatus.ts":{"bytes":1477,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/context.ts","kind":"import-statement","original":"./context"}],"format":"esm"},"packages/sdk/react-client/src/client/index.ts":{"bytes":1163,"imports":[{"path":"packages/sdk/react-client/src/client/AgentHostingProvider.tsx","kind":"import-statement","original":"./AgentHostingProvider"},{"path":"packages/sdk/react-client/src/client/ClientProvider.tsx","kind":"import-statement","original":"./ClientProvider"},{"path":"packages/sdk/react-client/src/client/context.ts","kind":"import-statement","original":"./context"},{"path":"packages/sdk/react-client/src/client/useClient.ts","kind":"import-statement","original":"./useClient"},{"path":"packages/sdk/react-client/src/client/useClientStatus.ts","kind":"import-statement","original":"./useClientStatus"},{"path":"packages/sdk/react-client/src/client/useConfig.ts","kind":"import-statement","original":"./useConfig"},{"path":"packages/sdk/react-client/src/client/useShell.ts","kind":"import-statement","original":"./useShell"},{"path":"packages/sdk/react-client/src/client/useStatus.ts","kind":"import-statement","original":"./useStatus"}],"format":"esm"},"packages/sdk/react-client/src/devtools/useDevtools.ts":{"bytes":1413,"imports":[{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/devtools/useStream.ts":{"bytes":2808,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/devtools/index.ts":{"bytes":693,"imports":[{"path":"@dxos/client/devtools","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/devtools/useDevtools.ts","kind":"import-statement","original":"./useDevtools"},{"path":"packages/sdk/react-client/src/devtools/useStream.ts","kind":"import-statement","original":"./useStream"}],"format":"esm"},"packages/sdk/react-client/src/echo/useSpaces.ts":{"bytes":6330,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/echo/useMembers.ts":{"bytes":3157,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/echo/useSpaces.ts","kind":"import-statement","original":"./useSpaces"}],"format":"esm"},"packages/sdk/react-client/src/echo/useQuery.ts":{"bytes":5602,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/echo/useQueue.ts":{"bytes":6383,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/echo/useSchema.ts":{"bytes":4852,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/invitations/useInvitationStatus.ts":{"bytes":20423,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/invitations/index.ts":{"bytes":1299,"imports":[{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/invitations/useInvitationStatus.ts","kind":"import-statement","original":"./useInvitationStatus"}],"format":"esm"},"packages/sdk/react-client/src/echo/useSpaceInvitations.ts":{"bytes":3253,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/echo/useSpaces.ts","kind":"import-statement","original":"./useSpaces"},{"path":"packages/sdk/react-client/src/invitations/index.ts","kind":"import-statement","original":"../invitations"}],"format":"esm"},"packages/sdk/react-client/src/echo/useSubscription.ts":{"bytes":3528,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/echo/useSyncState.ts":{"bytes":7714,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/echo/index.ts":{"bytes":1267,"imports":[{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/echo/useMembers.ts","kind":"import-statement","original":"./useMembers"},{"path":"packages/sdk/react-client/src/echo/useQuery.ts","kind":"import-statement","original":"./useQuery"},{"path":"packages/sdk/react-client/src/echo/useQueue.ts","kind":"import-statement","original":"./useQueue"},{"path":"packages/sdk/react-client/src/echo/useSchema.ts","kind":"import-statement","original":"./useSchema"},{"path":"packages/sdk/react-client/src/echo/useSpaces.ts","kind":"import-statement","original":"./useSpaces"},{"path":"packages/sdk/react-client/src/echo/useSpaceInvitations.ts","kind":"import-statement","original":"./useSpaceInvitations"},{"path":"packages/sdk/react-client/src/echo/useSubscription.ts","kind":"import-statement","original":"./useSubscription"},{"path":"packages/sdk/react-client/src/echo/useSyncState.ts","kind":"import-statement","original":"./useSyncState"}],"format":"esm"},"packages/sdk/react-client/src/halo/useContacts.ts":{"bytes":1718,"imports":[{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/halo/useCredentials.ts":{"bytes":1357,"imports":[{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/halo/useDevices.ts":{"bytes":1305,"imports":[{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/halo/useHaloInvitations.ts":{"bytes":2737,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"},{"path":"packages/sdk/react-client/src/invitations/index.ts","kind":"import-statement","original":"../invitations"}],"format":"esm"},"packages/sdk/react-client/src/halo/useIdentity.ts":{"bytes":1588,"imports":[{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/halo/useKeyStore.ts":{"bytes":4580,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/halo/index.ts":{"bytes":1459,"imports":[{"path":"@dxos/client/halo","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/halo/useContacts.ts","kind":"import-statement","original":"./useContacts"},{"path":"packages/sdk/react-client/src/halo/useCredentials.ts","kind":"import-statement","original":"./useCredentials"},{"path":"packages/sdk/react-client/src/halo/useDevices.ts","kind":"import-statement","original":"./useDevices"},{"path":"packages/sdk/react-client/src/halo/useHaloInvitations.ts","kind":"import-statement","original":"./useHaloInvitations"},{"path":"packages/sdk/react-client/src/halo/useIdentity.ts","kind":"import-statement","original":"./useIdentity"},{"path":"packages/sdk/react-client/src/halo/useKeyStore.ts","kind":"import-statement","original":"./useKeyStore"}],"format":"esm"},"packages/sdk/react-client/src/index.ts":{"bytes":773,"imports":[{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"./client"}],"format":"esm"},"packages/sdk/react-client/src/mesh/useNetworkStatus.ts":{"bytes":1517,"imports":[{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/mesh/index.ts":{"bytes":601,"imports":[{"path":"@dxos/client/mesh","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/mesh/useNetworkStatus.ts","kind":"import-statement","original":"./useNetworkStatus"}],"format":"esm"},"packages/sdk/react-client/src/testing/context.tsx":{"bytes":1714,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/testing/ClientRepeater.tsx":{"bytes":11327,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/testing/withClientProvider.tsx":{"bytes":21377,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-error-boundary","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/testing/context.tsx","kind":"import-statement","original":"./context"},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/testing/index.ts":{"bytes":806,"imports":[{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/testing/context.tsx","kind":"import-statement","original":"./context"},{"path":"packages/sdk/react-client/src/testing/ClientRepeater.tsx","kind":"import-statement","original":"./ClientRepeater"},{"path":"packages/sdk/react-client/src/testing/withClientProvider.tsx","kind":"import-statement","original":"./withClientProvider"}],"format":"esm"},"packages/sdk/react-client/src/worker.ts":{"bytes":491,"imports":[{"path":"@dxos/client/worker","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"packages/sdk/react-client/dist/lib/node/devtools/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2291},"packages/sdk/react-client/dist/lib/node/devtools/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-5RUIFUEC.cjs","kind":"import-statement"},{"path":"@dxos/client/devtools","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["useDevtools","useStream"],"entryPoint":"packages/sdk/react-client/src/devtools/index.ts","inputs":{"packages/sdk/react-client/src/devtools/index.ts":{"bytesInOutput":39},"packages/sdk/react-client/src/devtools/useDevtools.ts":{"bytesInOutput":195},"packages/sdk/react-client/src/devtools/useStream.ts":{"bytesInOutput":690}},"bytes":1217},"packages/sdk/react-client/dist/lib/node/echo/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":21466},"packages/sdk/react-client/dist/lib/node/echo/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-FYOAVV65.cjs","kind":"import-statement"},{"path":"packages/sdk/react-client/dist/lib/node/chunk-5RUIFUEC.cjs","kind":"import-statement"},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true}],"exports":["useMembers","useQuery","useQueue","useSchema","useSpace","useSpaceInvitation","useSpaceInvitations","useSpaceSyncState","useSpaces","useSubscription","useSyncState"],"entryPoint":"packages/sdk/react-client/src/echo/index.ts","inputs":{"packages/sdk/react-client/src/echo/index.ts":{"bytesInOutput":35},"packages/sdk/react-client/src/echo/useMembers.ts":{"bytesInOutput":545},"packages/sdk/react-client/src/echo/useSpaces.ts":{"bytesInOutput":1013},"packages/sdk/react-client/src/echo/useQuery.ts":{"bytesInOutput":1012},"packages/sdk/react-client/src/echo/useQueue.ts":{"bytesInOutput":1192},"packages/sdk/react-client/src/echo/useSchema.ts":{"bytesInOutput":1057},"packages/sdk/react-client/src/echo/useSpaceInvitations.ts":{"bytesInOutput":677},"packages/sdk/react-client/src/echo/useSubscription.ts":{"bytesInOutput":532},"packages/sdk/react-client/src/echo/useSyncState.ts":{"bytesInOutput":1837}},"bytes":8774},"packages/sdk/react-client/dist/lib/node/halo/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6987},"packages/sdk/react-client/dist/lib/node/halo/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-FYOAVV65.cjs","kind":"import-statement"},{"path":"packages/sdk/react-client/dist/lib/node/chunk-5RUIFUEC.cjs","kind":"import-statement"},{"path":"@dxos/client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"exports":["Device","DeviceKind","DeviceType","KeyStore","useContacts","useCredentials","useDevices","useHaloInvitation","useHaloInvitations","useIdentity","useKeyStore"],"entryPoint":"packages/sdk/react-client/src/halo/index.ts","inputs":{"packages/sdk/react-client/src/halo/index.ts":{"bytesInOutput":68},"packages/sdk/react-client/src/halo/useContacts.ts":{"bytesInOutput":174},"packages/sdk/react-client/src/halo/useCredentials.ts":{"bytesInOutput":208},"packages/sdk/react-client/src/halo/useDevices.ts":{"bytesInOutput":200},"packages/sdk/react-client/src/halo/useHaloInvitations.ts":{"bytesInOutput":521},"packages/sdk/react-client/src/halo/useIdentity.ts":{"bytesInOutput":202},"packages/sdk/react-client/src/halo/useKeyStore.ts":{"bytesInOutput":928}},"bytes":3014},"packages/sdk/react-client/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":344},"packages/sdk/react-client/dist/lib/node/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-5RUIFUEC.cjs","kind":"import-statement"},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true}],"exports":["AgentHostingContext","AgentHostingProvider","ClientContext","ClientProvider","useAgentHostingClient","useClient","useClientStatus","useConfig","useMulticastObservable","useShell","useShellDisplay","useStatus"],"entryPoint":"packages/sdk/react-client/src/index.ts","inputs":{"packages/sdk/react-client/src/index.ts":{"bytesInOutput":90}},"bytes":636},"packages/sdk/react-client/dist/lib/node/invitations/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/react-client/dist/lib/node/invitations/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-FYOAVV65.cjs","kind":"import-statement"}],"exports":["AuthenticatingInvitationObservable","CancellableInvitationObservable","Invitation","InvitationEncoder","InvitationsProxy","useInvitationStatus"],"entryPoint":"packages/sdk/react-client/src/invitations/index.ts","inputs":{},"bytes":388},"packages/sdk/react-client/dist/lib/node/chunk-FYOAVV65.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":11017},"packages/sdk/react-client/dist/lib/node/chunk-FYOAVV65.cjs":{"imports":[{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["AuthenticatingInvitationObservable","CancellableInvitationObservable","Invitation","InvitationEncoder","InvitationsProxy","useInvitationStatus"],"inputs":{"packages/sdk/react-client/src/invitations/index.ts":{"bytesInOutput":198},"packages/sdk/react-client/src/invitations/useInvitationStatus.ts":{"bytesInOutput":4678}},"bytes":5243},"packages/sdk/react-client/dist/lib/node/mesh/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":935},"packages/sdk/react-client/dist/lib/node/mesh/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-5RUIFUEC.cjs","kind":"import-statement"},{"path":"@dxos/client/mesh","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true}],"exports":["useNetworkStatus"],"entryPoint":"packages/sdk/react-client/src/mesh/index.ts","inputs":{"packages/sdk/react-client/src/mesh/index.ts":{"bytesInOutput":35},"packages/sdk/react-client/src/mesh/useNetworkStatus.ts":{"bytesInOutput":184}},"bytes":445},"packages/sdk/react-client/dist/lib/node/testing/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":18308},"packages/sdk/react-client/dist/lib/node/testing/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-5RUIFUEC.cjs","kind":"import-statement"},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-error-boundary","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["ClientRepeater","ClientStory","useClientProvider","useMultiClient","withClientProvider","withMultiClientProvider"],"entryPoint":"packages/sdk/react-client/src/testing/index.ts","inputs":{"packages/sdk/react-client/src/testing/index.ts":{"bytesInOutput":38},"packages/sdk/react-client/src/testing/context.tsx":{"bytesInOutput":257},"packages/sdk/react-client/src/testing/ClientRepeater.tsx":{"bytesInOutput":2076},"packages/sdk/react-client/src/testing/withClientProvider.tsx":{"bytesInOutput":5441}},"bytes":8268},"packages/sdk/react-client/dist/lib/node/chunk-5RUIFUEC.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":19669},"packages/sdk/react-client/dist/lib/node/chunk-5RUIFUEC.cjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"exports":["AgentHostingContext","AgentHostingProvider","ClientContext","ClientProvider","useAgentHostingClient","useClient","useClientStatus","useConfig","useShell","useShellDisplay","useStatus"],"inputs":{"packages/sdk/react-client/src/client/AgentHostingProvider.tsx":{"bytesInOutput":1877},"packages/sdk/react-client/src/client/index.ts":{"bytesInOutput":0},"packages/sdk/react-client/src/client/ClientProvider.tsx":{"bytesInOutput":4316},"packages/sdk/react-client/src/client/context.ts":{"bytesInOutput":82},"packages/sdk/react-client/src/banner.ts":{"bytesInOutput":817},"packages/sdk/react-client/src/client/useClient.ts":{"bytesInOutput":211},"packages/sdk/react-client/src/client/useClientStatus.ts":{"bytesInOutput":398},"packages/sdk/react-client/src/client/useConfig.ts":{"bytesInOutput":245},"packages/sdk/react-client/src/client/useShell.ts":{"bytesInOutput":377},"packages/sdk/react-client/src/client/useStatus.ts":{"bytesInOutput":238}},"bytes":9435},"packages/sdk/react-client/dist/lib/node/worker.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":206},"packages/sdk/react-client/dist/lib/node/worker.cjs":{"imports":[{"path":"@dxos/client/worker","kind":"import-statement","external":true}],"exports":[],"entryPoint":"packages/sdk/react-client/src/worker.ts","inputs":{"packages/sdk/react-client/src/worker.ts":{"bytesInOutput":37}},"bytes":116}}}
@@ -1,278 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
21
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
- // If the importer is in node compatibility mode or this is not an ESM
23
- // file that has been converted to a CommonJS file using a Babel-
24
- // compatible transform (i.e. "__esModule" has not been set), then set
25
- // "default" to the CommonJS "module.exports" for node compatibility.
26
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
- mod
28
- ));
29
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
- var testing_exports = {};
31
- __export(testing_exports, {
32
- ClientRepeater: () => ClientRepeater,
33
- ClientStory: () => ClientStory,
34
- useClientProvider: () => useClientProvider,
35
- useMultiClient: () => useMultiClient,
36
- withClientProvider: () => withClientProvider,
37
- withMultiClientProvider: () => withMultiClientProvider
38
- });
39
- module.exports = __toCommonJS(testing_exports);
40
- var import_chunk_5RUIFUEC = require("../chunk-5RUIFUEC.cjs");
41
- __reExport(testing_exports, require("@dxos/client/testing"), module.exports);
42
- var import_react = require("react");
43
- var import_debug = require("@dxos/debug");
44
- var import_react2 = __toESM(require("react"));
45
- var import_client = require("@dxos/client");
46
- var import_testing = require("@dxos/client/testing");
47
- var import_react3 = require("@dxos/echo-signals/react");
48
- var import_random = require("@dxos/random");
49
- var import_react4 = __toESM(require("react"));
50
- var import_react_error_boundary = require("react-error-boundary");
51
- var import_async = require("@dxos/async");
52
- var import_testing2 = require("@dxos/client/testing");
53
- var import_log = require("@dxos/log");
54
- var ClientStory = /* @__PURE__ */ (0, import_react.createContext)(void 0);
55
- var useClientProvider = () => {
56
- return (0, import_react.useContext)(ClientStory) ?? (0, import_debug.raise)(new Error("Missing ClientStory"));
57
- };
58
- var ClientRepeater = (props) => {
59
- const { component: Component, controls: Controls, count = 1, types, createIdentity, createSpace, onSpaceCreated } = props;
60
- (0, import_react2.useEffect)(() => {
61
- (0, import_react3.registerSignalsRuntime)();
62
- }, []);
63
- const [clients, setClients] = (0, import_react2.useState)(props.clients ?? []);
64
- const [spaceKey, setSpaceKey] = (0, import_react2.useState)();
65
- const testBuilder = (0, import_react2.useRef)(new import_testing.TestBuilder());
66
- (0, import_react2.useEffect)(() => {
67
- const timeout = setTimeout(async () => {
68
- const clients2 = [
69
- ...Array(count)
70
- ].map((_) => new import_client.Client({
71
- services: testBuilder.current.createLocalClientServices(),
72
- types
73
- }));
74
- await Promise.all(clients2.map((client) => client.initialize()));
75
- if (createIdentity || createSpace) {
76
- await Promise.all(clients2.map((client) => client.halo.createIdentity()));
77
- }
78
- if (createSpace) {
79
- const client = clients2[0];
80
- const space = await client.spaces.create({
81
- name: import_random.faker.commerce.productName()
82
- });
83
- setSpaceKey(space.key);
84
- await onSpaceCreated?.({
85
- client,
86
- space
87
- }, {});
88
- await Promise.all(clients2.slice(1).flatMap((client2) => (0, import_testing.performInvitation)({
89
- host: space,
90
- guest: client2.spaces
91
- })));
92
- }
93
- setClients(clients2);
94
- });
95
- return () => clearTimeout(timeout);
96
- }, []);
97
- if (clients.length === 0) {
98
- return null;
99
- }
100
- return /* @__PURE__ */ import_react2.default.createElement(import_react2.default.Fragment, null, Controls && /* @__PURE__ */ import_react2.default.createElement(Controls, {
101
- clients
102
- }), clients.map((client, index) => /* @__PURE__ */ import_react2.default.createElement(import_chunk_5RUIFUEC.ClientProvider, {
103
- key: index,
104
- client
105
- }, /* @__PURE__ */ import_react2.default.createElement(Component, {
106
- id: index,
107
- count: clients.length,
108
- spaceKey,
109
- ...props.args
110
- }))));
111
- };
112
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/sdk/react-client/src/testing/withClientProvider.tsx";
113
- var initializeClient = async (client, { createIdentity, createSpace, onSpaceCreated, onIdentityCreated, onInitialized }, context) => {
114
- await onInitialized?.(client);
115
- if (createIdentity || createSpace) {
116
- if (!client.halo.identity.get()) {
117
- await client.halo.createIdentity();
118
- await onIdentityCreated?.({
119
- client
120
- });
121
- }
122
- }
123
- let space;
124
- if (createSpace) {
125
- space = await client.spaces.create({
126
- name: "Test Space"
127
- });
128
- await onSpaceCreated?.({
129
- client,
130
- space
131
- }, context);
132
- }
133
- return {
134
- space
135
- };
136
- };
137
- var withClientProvider = ({ createIdentity, createSpace, onSpaceCreated, onIdentityCreated, onInitialized, ...props } = {}) => {
138
- return (Story, context) => {
139
- const [data, setData] = (0, import_react4.useState)({});
140
- const handleInitialized = async (client) => {
141
- const data2 = await initializeClient(client, {
142
- createIdentity,
143
- createSpace,
144
- onSpaceCreated,
145
- onIdentityCreated,
146
- onInitialized
147
- }, context);
148
- setData(data2);
149
- };
150
- return /* @__PURE__ */ import_react4.default.createElement(ErrorBoundary, null, /* @__PURE__ */ import_react4.default.createElement(import_chunk_5RUIFUEC.ClientProvider, {
151
- onInitialized: handleInitialized,
152
- ...props
153
- }, /* @__PURE__ */ import_react4.default.createElement(ClientStory.Provider, {
154
- value: data
155
- }, /* @__PURE__ */ import_react4.default.createElement(Story, null))));
156
- };
157
- };
158
- var MultiClientContext = /* @__PURE__ */ (0, import_react4.createContext)({
159
- id: 0
160
- });
161
- var useMultiClient = () => (0, import_react4.useContext)(MultiClientContext);
162
- var withMultiClientProvider = ({ numClients = 2, createIdentity, createSpace, onSpaceCreated, onIdentityCreated, onInitialized, ...props }) => {
163
- return (Story, context) => {
164
- const builder = (0, import_react4.useRef)(new import_testing2.TestBuilder());
165
- const hostRef = (0, import_react4.useRef)();
166
- const spaceReady = (0, import_react4.useRef)(new import_async.Trigger());
167
- const handleInitialized = async (client, index) => {
168
- import_log.log.info("initialized", {
169
- index
170
- }, {
171
- F: __dxlog_file,
172
- L: 129,
173
- S: void 0,
174
- C: (f, a) => f(...a)
175
- });
176
- if (createSpace) {
177
- if (!hostRef.current) {
178
- hostRef.current = client;
179
- const { space } = await initializeClient(client, {
180
- createIdentity,
181
- createSpace,
182
- onSpaceCreated,
183
- onIdentityCreated,
184
- onInitialized
185
- }, context);
186
- spaceReady.current.wake(space);
187
- import_log.log.info("inviting", {
188
- index
189
- }, {
190
- F: __dxlog_file,
191
- L: 146,
192
- S: void 0,
193
- C: (f, a) => f(...a)
194
- });
195
- } else {
196
- await initializeClient(client, {
197
- createIdentity,
198
- onInitialized
199
- }, context);
200
- const space = await spaceReady.current.wait();
201
- if (space) {
202
- import_log.log.info("joining", {
203
- index
204
- }, {
205
- F: __dxlog_file,
206
- L: 151,
207
- S: void 0,
208
- C: (f, a) => f(...a)
209
- });
210
- await Promise.all((0, import_testing2.performInvitation)({
211
- host: space,
212
- guest: client.spaces
213
- }));
214
- }
215
- }
216
- }
217
- };
218
- return /* @__PURE__ */ import_react4.default.createElement(ErrorBoundary, null, Array.from({
219
- length: numClients
220
- }).map((_, index) => /* @__PURE__ */ import_react4.default.createElement(MultiClientContext.Provider, {
221
- key: index,
222
- value: {
223
- id: index
224
- }
225
- }, /* @__PURE__ */ import_react4.default.createElement(import_chunk_5RUIFUEC.ClientProvider, {
226
- services: builder.current.createLocalClientServices(),
227
- onInitialized: (client) => handleInitialized(client, index),
228
- ...props
229
- }, /* @__PURE__ */ import_react4.default.createElement(Story, null)))));
230
- };
231
- };
232
- var ErrorBoundary = ({ children }) => {
233
- const [error, setError] = (0, import_react4.useState)();
234
- (0, import_react4.useEffect)(() => {
235
- const handleError = (event) => {
236
- setError(event.reason);
237
- };
238
- window.addEventListener("unhandledrejection", handleError);
239
- return () => window.removeEventListener("unhandledrejection", handleError);
240
- }, []);
241
- if (error) {
242
- return /* @__PURE__ */ import_react4.default.createElement(ErrorFallback, {
243
- error,
244
- resetErrorBoundary: () => setError(void 0)
245
- });
246
- }
247
- return /* @__PURE__ */ import_react4.default.createElement(import_react_error_boundary.ErrorBoundary, {
248
- FallbackComponent: ErrorFallback
249
- }, children);
250
- };
251
- var ErrorFallback = ({ error }) => {
252
- const { name, message, stack } = error instanceof Error ? error : {
253
- name: "Error",
254
- message: String(error),
255
- stack: void 0
256
- };
257
- return /* @__PURE__ */ import_react4.default.createElement("div", {
258
- role: "alert",
259
- className: "flex flex-col p-4 gap-4 overflow-auto"
260
- }, /* @__PURE__ */ import_react4.default.createElement("h1", {
261
- className: "text-xl text-red-500"
262
- }, name), /* @__PURE__ */ import_react4.default.createElement("div", {
263
- className: "text-lg"
264
- }, message), stack && /* @__PURE__ */ import_react4.default.createElement("pre", {
265
- className: "whitespace-pre-wrap text-sm text-subdued"
266
- }, stack));
267
- };
268
- // Annotate the CommonJS export names for ESM import in node:
269
- 0 && (module.exports = {
270
- ClientRepeater,
271
- ClientStory,
272
- useClientProvider,
273
- useMultiClient,
274
- withClientProvider,
275
- withMultiClientProvider,
276
- ...require("@dxos/client/testing")
277
- });
278
- //# sourceMappingURL=index.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 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": ["import_react", "import_testing", "ClientStory", "createContext", "undefined", "useClientProvider", "useContext", "raise", "Error", "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", "React", "index", "ClientProvider", "id", "args", "initializeClient", "onIdentityCreated", "onInitialized", "context", "identity", "get", "withClientProvider", "Story", "data", "setData", "handleInitialized", "ErrorBoundary", "Provider", "value", "MultiClientContext", "useMultiClient", "withMultiClientProvider", "numClients", "builder", "hostRef", "spaceReady", "Trigger", "log", "info", "wake", "wait", "from", "children", "error", "setError", "handleError", "event", "reason", "window", "addEventListener", "removeEventListener", "ErrorFallback", "resetErrorBoundary", "NativeErrorBoundary", "FallbackComponent", "message", "stack", "String", "div", "role", "className", "h1", "pre"]
7
- }
@@ -1,23 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from === "object" || typeof from === "function") {
8
- for (let key of __getOwnPropNames(from))
9
- if (!__hasOwnProp.call(to, key) && key !== except)
10
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
- }
12
- return to;
13
- };
14
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
- var worker_exports = {};
17
- module.exports = __toCommonJS(worker_exports);
18
- __reExport(worker_exports, require("@dxos/client/worker"), module.exports);
19
- // Annotate the CommonJS export names for ESM import in node:
20
- 0 && (module.exports = {
21
- ...require("@dxos/client/worker")
22
- });
23
- //# sourceMappingURL=worker.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/worker.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nexport * from '@dxos/client/worker';\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAIA,2BAAc;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/client/AgentHostingProvider.tsx", "../../../src/client/ClientProvider.tsx", "../../../src/client/context.ts", "../../../src/banner.ts", "../../../src/client/useClient.ts", "../../../src/client/useClientStatus.ts", "../../../src/client/useConfig.ts", "../../../src/client/useShell.ts", "../../../src/client/useStatus.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { createContext, type PropsWithChildren, useContext, useState } from 'react';\n\nimport { type AgentHostingProviderClient, AgentManagerClient, FakeAgentHostingProvider } from '@dxos/client';\nimport { type Halo } from '@dxos/client/halo';\nimport { type Config } from '@dxos/config';\nimport { log } from '@dxos/log';\n\nimport { useClient } from '../client';\n\nexport type AgentHostingProviderProps = { config: Config; halo: Halo };\n\nexport const AgentHostingContext = createContext<AgentHostingProviderClient | null>(null);\n\n/**\n * Experimental agent hosting provider.\n * @param props\n * @constructor\n * @deprecated\n */\nexport const AgentHostingProvider = (props: PropsWithChildren) => {\n const client = useClient();\n const [agentHostingProviderClient] = useState(makeClient(client));\n return (\n <AgentHostingContext.Provider value={agentHostingProviderClient}> {props.children}</AgentHostingContext.Provider>\n );\n};\n\nexport const useAgentHostingClient = () => {\n return useContext(AgentHostingContext);\n};\n\nconst makeClient = ({ config, halo }: AgentHostingProviderProps) => {\n const agentHostingConfig = config.get('runtime.services.agentHosting');\n if (!agentHostingConfig) {\n log('no agent hosting configured');\n return null;\n }\n\n // TODO(nf): Dynamically discover based on runtime config.\n let agentHostingProviderClient: AgentHostingProviderClient | null = null;\n switch (agentHostingConfig.type) {\n case 'LOCAL_TESTING': {\n log('using FakeAgentHostingProvider');\n return new FakeAgentHostingProvider();\n }\n\n case 'AGENTHOSTING_API': {\n agentHostingProviderClient = new AgentManagerClient(config, halo);\n if (agentHostingProviderClient.init()) {\n return agentHostingProviderClient;\n } else {\n // Not authorized or error initializing.\n return null;\n }\n }\n\n default: {\n log.error('Unknown agent hosting provider type: ' + agentHostingConfig.type);\n return null;\n }\n }\n};\n", "//\n// Copyright 2020 DXOS.org\n//\n\nimport React, {\n forwardRef,\n type FunctionComponent,\n type PropsWithChildren,\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 { registerSignalsRuntime } from '@dxos/echo-signals/react';\nimport { log } from '@dxos/log';\nimport { useControlledState } from '@dxos/react-hooks';\nimport { getAsyncProviderValue, type MaybePromise, type Provider } from '@dxos/util';\n\nimport { ClientContext, type ClientContextProps } from './context';\nimport { printBanner } from '../banner';\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 * Enable (by default) registration of Preact signals runtime for reactive ECHO objects.\n * @see https://www.npmjs.com/package/@preact/signals-react\n */\n signalsRuntime?: boolean;\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: configProvider,\n client: clientProvider,\n services: servicesProvider,\n status: controlledStatus,\n fallback: Fallback = () => null,\n signalsRuntime = true,\n noBanner,\n onInitialized,\n ...options\n },\n forwardedRef,\n ) => {\n useEffect(() => {\n // TODO(wittjosiah): Ideally this should be imported asynchronously because it is optional.\n // Unfortunately, async import seemed to break signals React instrumentation.\n signalsRuntime && registerSignalsRuntime();\n }, []);\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(clientProvider instanceof Client ? clientProvider : undefined);\n\n // Provide external access.\n useImperativeHandle(forwardedRef, () => client, [client]);\n\n // Client status subscription.\n const [status, setStatus] = useControlledState(controlledStatus);\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 useEffect(() => {\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\n if (!noBanner) {\n printBanner(client);\n }\n };\n\n let client: Client;\n const t = setTimeout(async () => {\n try {\n if (clientProvider) {\n // Asynchronously request client.\n client = await getAsyncProviderValue(clientProvider);\n await initialize(client);\n } else {\n // Asynchronously construct client (config may be undefined).\n const config = await getAsyncProviderValue(configProvider);\n log('resolved config', { config });\n const services = await getAsyncProviderValue(servicesProvider, 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\n return () => {\n log('clean up');\n disposed = true;\n clearTimeout(t);\n // Only destroy if the client is not provided by the parent.\n if (!clientProvider) {\n void client\n ?.destroy()\n .then(() => {\n log('destroyed');\n })\n .catch((err) => log.catch(err));\n }\n };\n }, [configProvider, clientProvider, servicesProvider, 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 2020 DXOS.org\n//\n\nimport { type Context, createContext } from 'react';\n\nimport { type Client, type SystemStatus } from '@dxos/client';\n\nexport type ClientContextProps = {\n client: Client;\n status?: SystemStatus | null;\n};\n\n/**\n * @internal Use ClientProvider to create or initialize the Client.\n */\nexport const ClientContext: Context<ClientContextProps | undefined> = createContext<ClientContextProps | undefined>(\n undefined,\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", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { useContext } from 'react';\n\nimport { raise } from '@dxos/debug';\n\nimport { ClientContext } from '../client/context';\n\n/**\n * Hook returning instance of DXOS client.\n * Requires ClientContext to be set via ClientProvider.\n */\nexport const useClient = () => {\n const { client } = useContext(ClientContext) ?? raise(new Error('Missing ClientContext.'));\n return client;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { useEffect, useState } from 'react';\n\nimport { type Client, type SystemStatus } from '@dxos/client';\n\nexport const useClientStatus = (client: Client) => {\n const [status, setStatus] = useState<SystemStatus | null>();\n useEffect(() => {\n if (!client) {\n return;\n }\n\n const subscription = client.status.subscribe((status) => setStatus(status));\n return () => subscription.unsubscribe();\n }, [client, setStatus]);\n\n return status;\n};\n", "//\n// Copyright 2020 DXOS.org\n//\n\nimport { useContext } from 'react';\n\nimport { raise } from '@dxos/debug';\n\nimport { ClientContext } from './context';\n\n/**\n * Hook returning config object used to initialize the DXOS client instance.\n * Requires ClientContext to be set via ClientProvider.\n */\nexport const useConfig = () => {\n const { client } = useContext(ClientContext) ?? raise(new Error('Missing ClientContext.'));\n return client.config;\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { useEffect, useState } from 'react';\n\nimport { type Shell, type ShellDisplay } from '@dxos/client';\n\nimport { useClient } from './useClient';\n\n/**\n * Helper hook to access the shell.\n */\nexport const useShell = (): Shell => {\n const client = useClient();\n return client.shell;\n};\n\n/**\n * Hook to access the shell’s display state.\n */\nexport const useShellDisplay = (): ShellDisplay => {\n const client = useClient();\n const [display, setDisplay] = useState(client.shell.display);\n useEffect(() => client.shell.onDisplayChange(setDisplay), [client]);\n return display;\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { useContext } from 'react';\n\nimport { type SystemStatus } from '@dxos/client';\nimport { raise } from '@dxos/debug';\n\nimport { ClientContext } from './context';\n\nexport const useStatus = (): SystemStatus | null | undefined => {\n const { status } = useContext(ClientContext) ?? raise(new Error('Missing ClientContext.'));\n return status;\n};\n"],
5
- "mappings": ";;;AAIA,OAAOA,UAASC,iBAAAA,gBAAuCC,cAAAA,aAAYC,YAAAA,iBAAgB;AAEnF,SAA0CC,oBAAoBC,gCAAgC;AAG9F,SAASC,OAAAA,YAAW;;;ACLpB,OAAOC,SACLC,YAGAC,WACAC,qBACAC,gBACK;AAEP,SAASC,QAAyDC,oBAAoB;AAEtF,SAASC,8BAA8B;AACvC,SAASC,WAAW;AACpB,SAASC,0BAA0B;AACnC,SAASC,6BAA+D;;;ACdxE,SAAuBC,qBAAqB;AAYrC,IAAMC,gBAAyDC,cACpEC,MAAAA;;;ACVF,IAAMC,SAAS,CAACC,WAAAA;AACd,QAAMC,aAAaD,OAAOE,OAAOC,IAAI,8BAAA;AACrC,QAAMC,OAAOH,aAAa,eAAeA,UAAAA;IAAkB;AAE3D,SACE;;;;;;;eAMkBD,OAAOK,OAAO;EAAMD,IAAAA;AAE1C;AAEA,IAAIE,gBAAgB;AAEb,IAAMC,cAAc,CAACP,WAAAA;AAC1B,MAAIM,iBAAiBE,OAAOC,SAASC,aAAa,aAAa;AAC7D;EACF;AAEAJ,kBAAgB;AAEhBK,UAAQC,IAAI,KAAKb,OAAOC,MAAAA,CAAAA,IAAW,yBAAA;AACrC;;;;AF8CO,IAAMa,iBAAiBC,2BAC5B,CACE,EACEC,UACAC,QAAQC,gBACRC,QAAQC,gBACRC,UAAUC,kBACVC,QAAQC,kBACRC,UAAUC,WAAW,MAAM,MAC3BC,iBAAiB,MACjBC,UACAC,eACA,GAAGC,QAAAA,GAELC,iBAAAA;AAEAC,YAAU,MAAA;AAGRL,sBAAkBM,uBAAAA;EACpB,GAAG,CAAA,CAAE;AAOL,QAAM,CAACC,OAAOC,QAAAA,IAAYC,SAAAA;AAC1B,MAAIF,OAAO;AACT,UAAMA;EACR;AAEA,QAAM,CAACf,QAAQkB,SAAAA,IAAaD,SAAShB,0BAA0BkB,SAASlB,iBAAiBmB,MAAAA;AAGzFC,sBAAoBT,cAAc,MAAMZ,QAAQ;IAACA;GAAO;AAGxD,QAAM,CAACI,QAAQkB,SAAAA,IAAaC,mBAAmBlB,gBAAAA;AAC/CQ,YAAU,MAAA;AACR,QAAI,CAACb,QAAQ;AACX;IACF;AAEA,UAAMwB,eAAexB,OAAOI,OAAOqB,UAAU,CAACrB,YAAWkB,UAAUlB,OAAAA,CAAAA;AACnE,WAAO,MAAMoB,aAAaE,YAAW;EACvC,GAAG;IAAC1B;GAAO;AAGXa,YAAU,MAAA;AACR,QAAIc,WAAW;AACf,UAAMC,aAAa,OAAO5B,YAAAA;AACxB,UAAI,CAACA,QAAO6B,aAAa;AACvB,cAAM7B,QAAO4B,WAAU,EAAGE,MAAM,CAACC,QAAAA;AAC/B,cAAI,CAACJ,UAAU;AACbX,qBAASe,GAAAA;UACX;QACF,CAAA;AACAC,YAAI,gBAAA,QAAA;;;;;;AACJ,cAAMtB,gBAAgBV,OAAAA;AACtBgC,YAAI,2BAAA,QAAA;;;;;;MACN;AAEAd,gBAAUlB,OAAAA;AAEV,UAAI,CAACS,UAAU;AACbwB,oBAAYjC,OAAAA;MACd;IACF;AAEA,QAAIA;AACJ,UAAMkC,IAAIC,WAAW,YAAA;AACnB,UAAI;AACF,YAAIlC,gBAAgB;AAElBD,UAAAA,UAAS,MAAMoC,sBAAsBnC,cAAAA;AACrC,gBAAM2B,WAAW5B,OAAAA;QACnB,OAAO;AAEL,gBAAMF,SAAS,MAAMsC,sBAAsBrC,cAAAA;AAC3CiC,cAAI,mBAAmB;YAAElC;UAAO,GAAA;;;;;;AAChC,gBAAMI,WAAW,MAAMkC,sBAAsBjC,kBAAkBL,MAAAA;AAC/DkC,cAAI,oBAAoB;YAAE9B;UAAS,GAAA;;;;;;AACnCF,UAAAA,UAAS,IAAImB,OAAO;YAAErB;YAAQI;YAAU,GAAGS;UAAQ,CAAA;AACnDqB,cAAI,kBAAA,QAAA;;;;;;AACJ,gBAAMJ,WAAW5B,OAAAA;QACnB;MACF,SAAS+B,KAAK;AACZ,YAAI,CAACJ,UAAU;AACbK,cAAIF,MAAMC,KAAAA,QAAAA;;;;;;QACZ;MACF;IACF,CAAA;AAEA,WAAO,MAAA;AACLC,UAAI,YAAA,QAAA;;;;;;AACJL,iBAAW;AACXU,mBAAaH,CAAAA;AAEb,UAAI,CAACjC,gBAAgB;AACnB,aAAKD,SACDsC,QAAAA,EACDC,KAAK,MAAA;AACJP,cAAI,aAAA,QAAA;;;;;;QACN,CAAA,EACCF,MAAM,CAACC,QAAQC,IAAIF,MAAMC,KAAAA,QAAAA;;;;;;MAC9B;IACF;EACF,GAAG;IAAChC;IAAgBE;IAAgBE;IAAkBM;GAAS;AAE/D,MAAI,CAACT,QAAQ6B,eAAezB,WAAWoC,aAAaC,QAAQ;AAC1D,WAAO,sBAAA,cAAClC,UAAAA;MAASP;MAAgBI;;EACnC;AAEA,SAAO,sBAAA,cAACsC,cAAcC,UAAQ;IAACC,OAAO;MAAE5C;MAAQI;IAAO;KAAIP,QAAAA;AAC7D,CAAA;;;AG7LF,SAASgD,kBAAkB;AAE3B,SAASC,aAAa;AAQf,IAAMC,YAAY,MAAA;AACvB,QAAM,EAAEC,OAAM,IAAKC,WAAWC,aAAAA,KAAkBC,MAAM,IAAIC,MAAM,wBAAA,CAAA;AAChE,SAAOJ;AACT;;;ACbA,SAASK,aAAAA,YAAWC,YAAAA,iBAAgB;AAI7B,IAAMC,kBAAkB,CAACC,WAAAA;AAC9B,QAAM,CAACC,QAAQC,SAAAA,IAAaC,UAAAA;AAC5BC,EAAAA,WAAU,MAAA;AACR,QAAI,CAACJ,QAAQ;AACX;IACF;AAEA,UAAMK,eAAeL,OAAOC,OAAOK,UAAU,CAACL,YAAWC,UAAUD,OAAAA,CAAAA;AACnE,WAAO,MAAMI,aAAaE,YAAW;EACvC,GAAG;IAACP;IAAQE;GAAU;AAEtB,SAAOD;AACT;;;AChBA,SAASO,cAAAA,mBAAkB;AAE3B,SAASC,SAAAA,cAAa;AAQf,IAAMC,YAAY,MAAA;AACvB,QAAM,EAAEC,OAAM,IAAKC,YAAWC,aAAAA,KAAkBC,OAAM,IAAIC,MAAM,wBAAA,CAAA;AAChE,SAAOJ,OAAOK;AAChB;;;ACbA,SAASC,aAAAA,YAAWC,YAAAA,iBAAgB;AAS7B,IAAMC,WAAW,MAAA;AACtB,QAAMC,SAASC,UAAAA;AACf,SAAOD,OAAOE;AAChB;AAKO,IAAMC,kBAAkB,MAAA;AAC7B,QAAMH,SAASC,UAAAA;AACf,QAAM,CAACG,SAASC,UAAAA,IAAcC,UAASN,OAAOE,MAAME,OAAO;AAC3DG,EAAAA,WAAU,MAAMP,OAAOE,MAAMM,gBAAgBH,UAAAA,GAAa;IAACL;GAAO;AAClE,SAAOI;AACT;;;ACtBA,SAASK,cAAAA,mBAAkB;AAG3B,SAASC,SAAAA,cAAa;AAIf,IAAMC,YAAY,MAAA;AACvB,QAAM,EAAEC,OAAM,IAAKC,YAAWC,aAAAA,KAAkBC,OAAM,IAAIC,MAAM,wBAAA,CAAA;AAChE,SAAOJ;AACT;;;;ARCO,IAAMK,sBAAsBC,gBAAAA,eAAiD,IAAA;AAQ7E,IAAMC,uBAAuB,CAACC,UAAAA;AACnC,QAAMC,SAASC,UAAAA;AACf,QAAM,CAACC,0BAAAA,IAA8BC,UAASC,WAAWJ,MAAAA,CAAAA;AACzD,SACE,gBAAAK,OAAA,cAACT,oBAAoBU,UAAQ;IAACC,OAAOL;KAA4B,KAAEH,MAAMS,QAAQ;AAErF;AAEO,IAAMC,wBAAwB,MAAA;AACnC,SAAOC,YAAWd,mBAAAA;AACpB;AAEA,IAAMQ,aAAa,CAAC,EAAEO,QAAQC,KAAI,MAA6B;AAC7D,QAAMC,qBAAqBF,OAAOG,IAAI,+BAAA;AACtC,MAAI,CAACD,oBAAoB;AACvBE,IAAAA,KAAI,+BAAA,QAAA;;;;;;AACJ,WAAO;EACT;AAGA,MAAIb,6BAAgE;AACpE,UAAQW,mBAAmBG,MAAI;IAC7B,KAAK,iBAAiB;AACpBD,MAAAA,KAAI,kCAAA,QAAA;;;;;;AACJ,aAAO,IAAIE,yBAAAA;IACb;IAEA,KAAK,oBAAoB;AACvBf,mCAA6B,IAAIgB,mBAAmBP,QAAQC,IAAAA;AAC5D,UAAIV,2BAA2BiB,KAAI,GAAI;AACrC,eAAOjB;MACT,OAAO;AAEL,eAAO;MACT;IACF;IAEA,SAAS;AACPa,MAAAA,KAAIK,MAAM,0CAA0CP,mBAAmBG,MAAI,QAAA;;;;;;AAC3E,aAAO;IACT;EACF;AACF;",
6
- "names": ["React", "createContext", "useContext", "useState", "AgentManagerClient", "FakeAgentHostingProvider", "log", "React", "forwardRef", "useEffect", "useImperativeHandle", "useState", "Client", "SystemStatus", "registerSignalsRuntime", "log", "useControlledState", "getAsyncProviderValue", "createContext", "ClientContext", "createContext", "undefined", "BANNER", "client", "commitHash", "config", "get", "hash", "version", "bannerPrinted", "printBanner", "window", "location", "hostname", "console", "log", "ClientProvider", "forwardRef", "children", "config", "configProvider", "client", "clientProvider", "services", "servicesProvider", "status", "controlledStatus", "fallback", "Fallback", "signalsRuntime", "noBanner", "onInitialized", "options", "forwardedRef", "useEffect", "registerSignalsRuntime", "error", "setError", "useState", "setClient", "Client", "undefined", "useImperativeHandle", "setStatus", "useControlledState", "subscription", "subscribe", "unsubscribe", "disposed", "initialize", "initialized", "catch", "err", "log", "printBanner", "t", "setTimeout", "getAsyncProviderValue", "clearTimeout", "destroy", "then", "SystemStatus", "ACTIVE", "ClientContext", "Provider", "value", "useContext", "raise", "useClient", "client", "useContext", "ClientContext", "raise", "Error", "useEffect", "useState", "useClientStatus", "client", "status", "setStatus", "useState", "useEffect", "subscription", "subscribe", "unsubscribe", "useContext", "raise", "useConfig", "client", "useContext", "ClientContext", "raise", "Error", "config", "useEffect", "useState", "useShell", "client", "useClient", "shell", "useShellDisplay", "display", "setDisplay", "useState", "useEffect", "onDisplayChange", "useContext", "raise", "useStatus", "status", "useContext", "ClientContext", "raise", "Error", "AgentHostingContext", "createContext", "AgentHostingProvider", "props", "client", "useClient", "agentHostingProviderClient", "useState", "makeClient", "React", "Provider", "value", "children", "useAgentHostingClient", "useContext", "config", "halo", "agentHostingConfig", "get", "log", "type", "FakeAgentHostingProvider", "AgentManagerClient", "init", "error"]
7
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"playwright.config.d.cts","sourceRoot":"","sources":["../../../../src/playwright/playwright.config.cts"],"names":[],"mappings":";AASA,wBAQG"}
package/project.json DELETED
@@ -1,40 +0,0 @@
1
- {
2
- "$schema": "../../../node_modules/nx/schemas/project-schema.json",
3
- "name": "react-client",
4
- "tags": [
5
- "scope:sdk"
6
- ],
7
- "sourceRoot": "{projectRoot}/src",
8
- "projectType": "library",
9
- "targets": {
10
- "build": {},
11
- "compile": {
12
- "options": {
13
- "entryPoints": [
14
- "{projectRoot}/src/devtools/index.ts",
15
- "{projectRoot}/src/echo/index.ts",
16
- "{projectRoot}/src/halo/index.ts",
17
- "{projectRoot}/src/index.ts",
18
- "{projectRoot}/src/invitations/index.ts",
19
- "{projectRoot}/src/mesh/index.ts",
20
- "{projectRoot}/src/testing/index.ts",
21
- "{projectRoot}/src/worker.ts"
22
- ]
23
- }
24
- },
25
- "e2e": {
26
- "dependsOn": [
27
- "^compile",
28
- "stories:mkdist"
29
- ]
30
- },
31
- "lint": {},
32
- "pack": {},
33
- "test": {},
34
- "typedoc": {}
35
- },
36
- "implicitDependencies": [
37
- "esbuild",
38
- "node-std"
39
- ]
40
- }