@dxos/react-client 0.4.10-main.e2d2318 → 0.4.10-main.e6ba7bc

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 (41) hide show
  1. package/dist/lib/browser/{chunk-6SW7V4VI.mjs → chunk-HJDLXXEZ.mjs} +3 -3
  2. package/dist/lib/browser/{chunk-6SW7V4VI.mjs.map → chunk-HJDLXXEZ.mjs.map} +3 -3
  3. package/dist/lib/browser/devtools/index.mjs +1 -1
  4. package/dist/lib/browser/echo/index.mjs +27 -15
  5. package/dist/lib/browser/echo/index.mjs.map +3 -3
  6. package/dist/lib/browser/halo/index.mjs +10 -21
  7. package/dist/lib/browser/halo/index.mjs.map +3 -3
  8. package/dist/lib/browser/index.mjs +1 -1
  9. package/dist/lib/browser/mesh/index.mjs +3 -7
  10. package/dist/lib/browser/mesh/index.mjs.map +3 -3
  11. package/dist/lib/browser/meta.json +1 -1
  12. package/dist/lib/browser/testing/index.mjs +1 -1
  13. package/dist/lib/node/{chunk-IRRRZ2KE.cjs → chunk-3GRHATJ3.cjs} +5 -5
  14. package/dist/lib/node/{chunk-IRRRZ2KE.cjs.map → chunk-3GRHATJ3.cjs.map} +3 -3
  15. package/dist/lib/node/devtools/index.cjs +2 -2
  16. package/dist/lib/node/echo/index.cjs +30 -18
  17. package/dist/lib/node/echo/index.cjs.map +3 -3
  18. package/dist/lib/node/halo/index.cjs +16 -27
  19. package/dist/lib/node/halo/index.cjs.map +3 -3
  20. package/dist/lib/node/index.cjs +9 -9
  21. package/dist/lib/node/mesh/index.cjs +4 -8
  22. package/dist/lib/node/mesh/index.cjs.map +3 -3
  23. package/dist/lib/node/meta.json +1 -1
  24. package/dist/lib/node/testing/index.cjs +2 -2
  25. package/dist/types/src/echo/useQuery.d.ts +2 -2
  26. package/dist/types/src/echo/useQuery.d.ts.map +1 -1
  27. package/dist/types/src/echo/useSpaceInvitations.d.ts +2 -1
  28. package/dist/types/src/echo/useSpaceInvitations.d.ts.map +1 -1
  29. package/dist/types/src/halo/useContacts.d.ts.map +1 -1
  30. package/dist/types/src/halo/useDevices.d.ts.map +1 -1
  31. package/dist/types/src/halo/useHaloInvitations.d.ts +2 -1
  32. package/dist/types/src/halo/useHaloInvitations.d.ts.map +1 -1
  33. package/dist/types/src/mesh/useNetworkStatus.d.ts.map +1 -1
  34. package/package.json +33 -25
  35. package/src/client/useAgentHostingProvider.ts +2 -2
  36. package/src/echo/useQuery.ts +41 -14
  37. package/src/echo/useSpaceInvitations.ts +6 -17
  38. package/src/halo/useContacts.ts +2 -11
  39. package/src/halo/useDevices.ts +2 -11
  40. package/src/halo/useHaloInvitations.ts +6 -13
  41. package/src/mesh/useNetworkStatus.ts +2 -11
@@ -1 +1 @@
1
- {"inputs":{"packages/sdk/react-client/src/banner.ts":{"bytes":3658,"imports":[],"format":"esm"},"packages/sdk/react-client/src/client/ClientContext.tsx":{"bytes":15632,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/debug","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/util","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/banner.ts","kind":"import-statement","original":"../banner"}],"format":"esm"},"packages/sdk/react-client/src/client/useClientServices.ts":{"bytes":1563,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"}],"format":"esm"},"packages/sdk/react-client/src/client/useConfig.ts":{"bytes":1775,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"}],"format":"esm"},"packages/sdk/react-client/src/client/useShell.ts":{"bytes":1106,"imports":[{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"}],"format":"esm"},"packages/sdk/react-client/src/client/useStatus.ts":{"bytes":1507,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"}],"format":"esm"},"packages/sdk/react-client/src/client/useAgentHostingProvider.ts":{"bytes":3547,"imports":[{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/client/index.ts":{"bytes":995,"imports":[{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"},{"path":"packages/sdk/react-client/src/client/useClientServices.ts","kind":"import-statement","original":"./useClientServices"},{"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"},{"path":"packages/sdk/react-client/src/client/useAgentHostingProvider.ts","kind":"import-statement","original":"./useAgentHostingProvider"}],"format":"esm"},"packages/sdk/react-client/src/devtools/useDevtools.ts":{"bytes":1938,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","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":2796,"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":6145,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-async","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":3150,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-async","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":3745,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/invitations/useInvitationStatus.ts":{"bytes":18076,"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":3663,"imports":[{"path":"react","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/index.ts":{"bytes":986,"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/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"}],"format":"esm"},"packages/sdk/react-client/src/halo/useContacts.ts":{"bytes":2382,"imports":[{"path":"react","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":1962,"imports":[{"path":"react","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":3302,"imports":[{"path":"react","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-async","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":4572,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/halo/index.ts":{"bytes":1301,"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/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":888,"imports":[{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/react-async","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":2220,"imports":[{"path":"react","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/ClientRepeater.tsx":{"bytes":11134,"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/FullscreenDecorator.tsx":{"bytes":1552,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/testing/index.ts":{"bytes":724,"imports":[{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/testing/ClientRepeater.tsx","kind":"import-statement","original":"./ClientRepeater"},{"path":"packages/sdk/react-client/src/testing/FullscreenDecorator.tsx","kind":"import-statement","original":"./FullscreenDecorator"}],"format":"esm"},"packages/sdk/react-client/src/worker.ts":{"bytes":491,"imports":[{"path":"@dxos/client/worker","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"packages/sdk/react-client/dist/lib/browser/devtools/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2520},"packages/sdk/react-client/dist/lib/browser/devtools/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-6SW7V4VI.mjs","kind":"import-statement"},{"path":"@dxos/client/devtools","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","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":506},"packages/sdk/react-client/src/devtools/useStream.ts":{"bytesInOutput":692}},"bytes":1534},"packages/sdk/react-client/dist/lib/browser/echo/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":10713},"packages/sdk/react-client/dist/lib/browser/echo/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-BQ4BAP42.mjs","kind":"import-statement"},{"path":"packages/sdk/react-client/dist/lib/browser/chunk-6SW7V4VI.mjs","kind":"import-statement"},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true}],"exports":["useMembers","useQuery","useSpace","useSpaceInvitation","useSpaceInvitations","useSpaces","useSubscription"],"entryPoint":"packages/sdk/react-client/src/echo/index.ts","inputs":{"packages/sdk/react-client/src/echo/index.ts":{"bytesInOutput":35},"packages/sdk/react-client/src/echo/useMembers.ts":{"bytesInOutput":550},"packages/sdk/react-client/src/echo/useSpaces.ts":{"bytesInOutput":956},"packages/sdk/react-client/src/echo/useQuery.ts":{"bytesInOutput":528},"packages/sdk/react-client/src/echo/useSpaceInvitations.ts":{"bytesInOutput":767},"packages/sdk/react-client/src/echo/useSubscription.ts":{"bytesInOutput":519}},"bytes":4009},"packages/sdk/react-client/dist/lib/browser/halo/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7350},"packages/sdk/react-client/dist/lib/browser/halo/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-BQ4BAP42.mjs","kind":"import-statement"},{"path":"packages/sdk/react-client/dist/lib/browser/chunk-6SW7V4VI.mjs","kind":"import-statement"},{"path":"@dxos/client/halo","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"exports":["Device","DeviceKind","DeviceType","KeyStore","useContacts","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":332},"packages/sdk/react-client/src/halo/useDevices.ts":{"bytesInOutput":353},"packages/sdk/react-client/src/halo/useHaloInvitations.ts":{"bytesInOutput":676},"packages/sdk/react-client/src/halo/useIdentity.ts":{"bytesInOutput":174},"packages/sdk/react-client/src/halo/useKeyStore.ts":{"bytesInOutput":928}},"bytes":3169},"packages/sdk/react-client/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":391},"packages/sdk/react-client/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-6SW7V4VI.mjs","kind":"import-statement"},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true}],"exports":["ClientContext","ClientProvider","useAgentHostingProviderClient","useClient","useClientServices","useConfig","useMulticastObservable","useShell","useStatus"],"entryPoint":"packages/sdk/react-client/src/index.ts","inputs":{"packages/sdk/react-client/src/index.ts":{"bytesInOutput":129}},"bytes":563},"packages/sdk/react-client/dist/lib/browser/invitations/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/react-client/dist/lib/browser/invitations/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-BQ4BAP42.mjs","kind":"import-statement"}],"exports":["AuthenticatingInvitationObservable","CancellableInvitationObservable","Invitation","InvitationEncoder","InvitationsProxy","useInvitationStatus"],"entryPoint":"packages/sdk/react-client/src/invitations/index.ts","inputs":{},"bytes":388},"packages/sdk/react-client/dist/lib/browser/chunk-BQ4BAP42.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":9782},"packages/sdk/react-client/dist/lib/browser/chunk-BQ4BAP42.mjs":{"imports":[{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["AuthenticatingInvitationObservable","CancellableInvitationObservable","Invitation","InvitationEncoder","InvitationsProxy","useInvitationStatus"],"inputs":{"packages/sdk/react-client/src/invitations/index.ts":{"bytesInOutput":198},"packages/sdk/react-client/src/invitations/useInvitationStatus.ts":{"bytesInOutput":4204}},"bytes":4769},"packages/sdk/react-client/dist/lib/browser/mesh/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1330},"packages/sdk/react-client/dist/lib/browser/mesh/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-6SW7V4VI.mjs","kind":"import-statement"},{"path":"@dxos/client/mesh","kind":"import-statement","external":true},{"path":"react","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":357}},"bytes":618},"packages/sdk/react-client/dist/lib/browser/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6840},"packages/sdk/react-client/dist/lib/browser/testing/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-6SW7V4VI.mjs","kind":"import-statement"},{"path":"@dxos/client/testing","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}],"exports":["ClientRepeater","FullscreenDecorator"],"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/ClientRepeater.tsx":{"bytesInOutput":2167},"packages/sdk/react-client/src/testing/FullscreenDecorator.tsx":{"bytesInOutput":290}},"bytes":2817},"packages/sdk/react-client/dist/lib/browser/chunk-6SW7V4VI.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":14166},"packages/sdk/react-client/dist/lib/browser/chunk-6SW7V4VI.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/debug","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/util","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/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["ClientContext","ClientProvider","useAgentHostingProviderClient","useClient","useClientServices","useConfig","useShell","useStatus"],"inputs":{"packages/sdk/react-client/src/client/ClientContext.tsx":{"bytesInOutput":3601},"packages/sdk/react-client/src/banner.ts":{"bytesInOutput":773},"packages/sdk/react-client/src/client/useClientServices.ts":{"bytesInOutput":250},"packages/sdk/react-client/src/client/useConfig.ts":{"bytesInOutput":245},"packages/sdk/react-client/src/client/useShell.ts":{"bytesInOutput":79},"packages/sdk/react-client/src/client/useStatus.ts":{"bytesInOutput":238},"packages/sdk/react-client/src/client/useAgentHostingProvider.ts":{"bytesInOutput":904},"packages/sdk/react-client/src/client/index.ts":{"bytesInOutput":0}},"bytes":6738},"packages/sdk/react-client/dist/lib/browser/worker.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":206},"packages/sdk/react-client/dist/lib/browser/worker.mjs":{"imports":[{"path":"@dxos/client/worker","kind":"import-statement","external":true}],"exports":[],"entryPoint":"packages/sdk/react-client/src/worker.ts","inputs":{"packages/sdk/react-client/src/worker.ts":{"bytesInOutput":37}},"bytes":116}}}
1
+ {"inputs":{"packages/sdk/react-client/src/banner.ts":{"bytes":3658,"imports":[],"format":"esm"},"packages/sdk/react-client/src/client/ClientContext.tsx":{"bytes":15632,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/debug","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/util","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/banner.ts","kind":"import-statement","original":"../banner"}],"format":"esm"},"packages/sdk/react-client/src/client/useClientServices.ts":{"bytes":1563,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"}],"format":"esm"},"packages/sdk/react-client/src/client/useConfig.ts":{"bytes":1775,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"}],"format":"esm"},"packages/sdk/react-client/src/client/useShell.ts":{"bytes":1106,"imports":[{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"}],"format":"esm"},"packages/sdk/react-client/src/client/useStatus.ts":{"bytes":1507,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"}],"format":"esm"},"packages/sdk/react-client/src/client/useAgentHostingProvider.ts":{"bytes":3541,"imports":[{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/client/index.ts":{"bytes":995,"imports":[{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"},{"path":"packages/sdk/react-client/src/client/useClientServices.ts","kind":"import-statement","original":"./useClientServices"},{"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"},{"path":"packages/sdk/react-client/src/client/useAgentHostingProvider.ts","kind":"import-statement","original":"./useAgentHostingProvider"}],"format":"esm"},"packages/sdk/react-client/src/devtools/useDevtools.ts":{"bytes":1938,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","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":2796,"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":6145,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-async","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":3150,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-async","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":5959,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/invitations/useInvitationStatus.ts":{"bytes":18076,"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-async","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/index.ts":{"bytes":986,"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/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"}],"format":"esm"},"packages/sdk/react-client/src/halo/useContacts.ts":{"bytes":1718,"imports":[{"path":"@dxos/react-async","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-async","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-async","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-async","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":4572,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/halo/index.ts":{"bytes":1301,"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/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":888,"imports":[{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/react-async","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-async","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/ClientRepeater.tsx":{"bytes":11134,"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/FullscreenDecorator.tsx":{"bytes":1552,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/testing/index.ts":{"bytes":724,"imports":[{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/testing/ClientRepeater.tsx","kind":"import-statement","original":"./ClientRepeater"},{"path":"packages/sdk/react-client/src/testing/FullscreenDecorator.tsx","kind":"import-statement","original":"./FullscreenDecorator"}],"format":"esm"},"packages/sdk/react-client/src/worker.ts":{"bytes":491,"imports":[{"path":"@dxos/client/worker","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"packages/sdk/react-client/dist/lib/browser/devtools/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2520},"packages/sdk/react-client/dist/lib/browser/devtools/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-HJDLXXEZ.mjs","kind":"import-statement"},{"path":"@dxos/client/devtools","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","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":506},"packages/sdk/react-client/src/devtools/useStream.ts":{"bytesInOutput":692}},"bytes":1534},"packages/sdk/react-client/dist/lib/browser/echo/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":11619},"packages/sdk/react-client/dist/lib/browser/echo/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-BQ4BAP42.mjs","kind":"import-statement"},{"path":"packages/sdk/react-client/dist/lib/browser/chunk-HJDLXXEZ.mjs","kind":"import-statement"},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-async","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/async","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true}],"exports":["useMembers","useQuery","useSpace","useSpaceInvitation","useSpaceInvitations","useSpaces","useSubscription"],"entryPoint":"packages/sdk/react-client/src/echo/index.ts","inputs":{"packages/sdk/react-client/src/echo/index.ts":{"bytesInOutput":35},"packages/sdk/react-client/src/echo/useMembers.ts":{"bytesInOutput":550},"packages/sdk/react-client/src/echo/useSpaces.ts":{"bytesInOutput":956},"packages/sdk/react-client/src/echo/useQuery.ts":{"bytesInOutput":1033},"packages/sdk/react-client/src/echo/useSpaceInvitations.ts":{"bytesInOutput":677},"packages/sdk/react-client/src/echo/useSubscription.ts":{"bytesInOutput":519}},"bytes":4424},"packages/sdk/react-client/dist/lib/browser/halo/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6286},"packages/sdk/react-client/dist/lib/browser/halo/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-BQ4BAP42.mjs","kind":"import-statement"},{"path":"packages/sdk/react-client/dist/lib/browser/chunk-HJDLXXEZ.mjs","kind":"import-statement"},{"path":"@dxos/client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"exports":["Device","DeviceKind","DeviceType","KeyStore","useContacts","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/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":2731},"packages/sdk/react-client/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":391},"packages/sdk/react-client/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-HJDLXXEZ.mjs","kind":"import-statement"},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true}],"exports":["ClientContext","ClientProvider","useAgentHostingProviderClient","useClient","useClientServices","useConfig","useMulticastObservable","useShell","useStatus"],"entryPoint":"packages/sdk/react-client/src/index.ts","inputs":{"packages/sdk/react-client/src/index.ts":{"bytesInOutput":129}},"bytes":563},"packages/sdk/react-client/dist/lib/browser/invitations/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/react-client/dist/lib/browser/invitations/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-BQ4BAP42.mjs","kind":"import-statement"}],"exports":["AuthenticatingInvitationObservable","CancellableInvitationObservable","Invitation","InvitationEncoder","InvitationsProxy","useInvitationStatus"],"entryPoint":"packages/sdk/react-client/src/invitations/index.ts","inputs":{},"bytes":388},"packages/sdk/react-client/dist/lib/browser/chunk-BQ4BAP42.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":9782},"packages/sdk/react-client/dist/lib/browser/chunk-BQ4BAP42.mjs":{"imports":[{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["AuthenticatingInvitationObservable","CancellableInvitationObservable","Invitation","InvitationEncoder","InvitationsProxy","useInvitationStatus"],"inputs":{"packages/sdk/react-client/src/invitations/index.ts":{"bytesInOutput":198},"packages/sdk/react-client/src/invitations/useInvitationStatus.ts":{"bytesInOutput":4204}},"bytes":4769},"packages/sdk/react-client/dist/lib/browser/mesh/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":935},"packages/sdk/react-client/dist/lib/browser/mesh/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-HJDLXXEZ.mjs","kind":"import-statement"},{"path":"@dxos/client/mesh","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true}],"exports":["useNetworkStatus"],"entryPoint":"packages/sdk/react-client/src/mesh/index.ts","inputs":{"packages/sdk/react-client/src/mesh/index.ts":{"bytesInOutput":35},"packages/sdk/react-client/src/mesh/useNetworkStatus.ts":{"bytesInOutput":184}},"bytes":445},"packages/sdk/react-client/dist/lib/browser/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6840},"packages/sdk/react-client/dist/lib/browser/testing/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-HJDLXXEZ.mjs","kind":"import-statement"},{"path":"@dxos/client/testing","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}],"exports":["ClientRepeater","FullscreenDecorator"],"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/ClientRepeater.tsx":{"bytesInOutput":2167},"packages/sdk/react-client/src/testing/FullscreenDecorator.tsx":{"bytesInOutput":290}},"bytes":2817},"packages/sdk/react-client/dist/lib/browser/chunk-HJDLXXEZ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":14163},"packages/sdk/react-client/dist/lib/browser/chunk-HJDLXXEZ.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/debug","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/util","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/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["ClientContext","ClientProvider","useAgentHostingProviderClient","useClient","useClientServices","useConfig","useShell","useStatus"],"inputs":{"packages/sdk/react-client/src/client/ClientContext.tsx":{"bytesInOutput":3601},"packages/sdk/react-client/src/banner.ts":{"bytesInOutput":773},"packages/sdk/react-client/src/client/useClientServices.ts":{"bytesInOutput":250},"packages/sdk/react-client/src/client/useConfig.ts":{"bytesInOutput":245},"packages/sdk/react-client/src/client/useShell.ts":{"bytesInOutput":79},"packages/sdk/react-client/src/client/useStatus.ts":{"bytesInOutput":238},"packages/sdk/react-client/src/client/useAgentHostingProvider.ts":{"bytesInOutput":902},"packages/sdk/react-client/src/client/index.ts":{"bytesInOutput":0}},"bytes":6736},"packages/sdk/react-client/dist/lib/browser/worker.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":206},"packages/sdk/react-client/dist/lib/browser/worker.mjs":{"imports":[{"path":"@dxos/client/worker","kind":"import-statement","external":true}],"exports":[],"entryPoint":"packages/sdk/react-client/src/worker.ts","inputs":{"packages/sdk/react-client/src/worker.ts":{"bytesInOutput":37}},"bytes":116}}}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ClientContext
3
- } from "../chunk-6SW7V4VI.mjs";
3
+ } from "../chunk-HJDLXXEZ.mjs";
4
4
 
5
5
  // packages/sdk/react-client/src/testing/index.ts
6
6
  export * from "@dxos/client/testing";
@@ -26,8 +26,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_IRRRZ2KE_exports = {};
30
- __export(chunk_IRRRZ2KE_exports, {
29
+ var chunk_3GRHATJ3_exports = {};
30
+ __export(chunk_3GRHATJ3_exports, {
31
31
  ClientContext: () => ClientContext,
32
32
  ClientProvider: () => ClientProvider,
33
33
  useAgentHostingProviderClient: () => useAgentHostingProviderClient,
@@ -37,7 +37,7 @@ __export(chunk_IRRRZ2KE_exports, {
37
37
  useShell: () => useShell,
38
38
  useStatus: () => useStatus
39
39
  });
40
- module.exports = __toCommonJS(chunk_IRRRZ2KE_exports);
40
+ module.exports = __toCommonJS(chunk_3GRHATJ3_exports);
41
41
  var import_react = __toESM(require("react"));
42
42
  var import_client = require("@dxos/client");
43
43
  var import_services = require("@dxos/client/services");
@@ -225,7 +225,7 @@ var useAgentHostingProviderClient = (config) => {
225
225
  if (agentHostingConfig.type === "LOCAL_TESTING") {
226
226
  return new import_services2.FakeAgentHostingProvider(config);
227
227
  }
228
- return new import_services2.EldonAgentHostingProviderClient(config);
228
+ return new import_services2.DXOSAgentHostingProviderClient(config);
229
229
  };
230
230
  // Annotate the CommonJS export names for ESM import in node:
231
231
  0 && (module.exports = {
@@ -238,4 +238,4 @@ var useAgentHostingProviderClient = (config) => {
238
238
  useShell,
239
239
  useStatus
240
240
  });
241
- //# sourceMappingURL=chunk-IRRRZ2KE.cjs.map
241
+ //# sourceMappingURL=chunk-3GRHATJ3.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/client/ClientContext.tsx", "../../../src/banner.ts", "../../../src/client/useClientServices.ts", "../../../src/client/useConfig.ts", "../../../src/client/useShell.ts", "../../../src/client/useStatus.ts", "../../../src/client/useAgentHostingProvider.ts"],
4
- "sourcesContent": ["//\n// Copyright 2020 DXOS.org\n//\n\nimport React, {\n type ReactNode,\n useState,\n type Context,\n createContext,\n useContext,\n useEffect,\n type FunctionComponent,\n useMemo,\n} from 'react';\n\nimport { Client, type ClientOptions } from '@dxos/client';\nimport { SystemStatus, type ClientServices, type ClientServicesProvider } from '@dxos/client/services';\nimport { type Config } from '@dxos/config';\nimport { raise } from '@dxos/debug';\nimport { registerSignalFactory } from '@dxos/echo-signals/react';\nimport { log } from '@dxos/log';\nimport { getAsyncValue, type MaybePromise, type Provider } from '@dxos/util'; // TODO(burdon): Deprecate \"util\"?\n\nimport { printBanner } from '../banner';\n\n// TODO(burdon): Reconcile with ClientOptions.\nexport type ClientContextProps = {\n client: Client;\n\n // Optionally expose services (e.g., for devtools).\n // TODO(burdon): Can't this just be accessed via `client.services`?\n services?: ClientServices;\n\n status?: SystemStatus | null;\n};\n\nexport const ClientContext: Context<ClientContextProps | undefined> = createContext<ClientContextProps | undefined>(\n undefined,\n);\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\nexport type ClientProviderProps = Omit<ClientOptions, 'config' | 'services'> & {\n children?: ReactNode;\n\n /**\n * Config object or async provider.\n */\n config?: Config | Provider<Promise<Config>>;\n\n /**\n * Callback to enable the caller to create a custom ClientServicesProvider.\n *\n * Most apps won't need this.\n */\n services?: (config?: Config) => MaybePromise<ClientServicesProvider>;\n\n /**\n * Client object or async provider to enable to caller to do custom initialization.\n *\n * Most apps won't need this.\n */\n // TODO(wittjosiah): Remove async and just use to keeping reference to client?\n // (Prefering `onInitialized` for custom initialization.)\n client?: Client | Provider<Promise<Client>>;\n\n /**\n * ReactNode to display until the client is available.\n */\n // TODO(wittjosiah): Rename to `placeholder`.\n fallback?: FunctionComponent<Partial<ClientContextProps>>;\n\n /**\n * Set to false to stop default signal factory from being registered.\n */\n registerSignalFactory?: boolean;\n\n /**\n * Post initialization hook to enable to caller to do custom initialization.\n *\n * @param Client\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 = ({\n children,\n config: configProvider,\n services: createServices,\n client: clientProvider,\n fallback: Fallback = () => null,\n registerSignalFactory: register = true,\n onInitialized,\n ...options\n}: ClientProviderProps) => {\n useMemo(() => {\n // TODO(wittjosiah): Ideally this should be imported asynchronosly because it is optional.\n // Unfortunately, async import seemed to break signals React instrumentation.\n register && registerSignalFactory();\n }, []);\n\n const [client, setClient] = useState(clientProvider instanceof Client ? clientProvider : undefined);\n const [status, setStatus] = useState<SystemStatus | null>(null);\n const [error, setError] = useState();\n if (error) {\n throw error;\n }\n\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 useEffect(() => {\n const done = async (client: Client) => {\n await client.initialize().catch(setError);\n log('client ready');\n await onInitialized?.(client);\n log('initialization complete');\n setClient(client);\n setStatus(client.status.get() ?? SystemStatus.ACTIVE);\n printBanner(client);\n };\n\n const timeout = setTimeout(async () => {\n if (clientProvider) {\n // Asynchronously request client.\n const client = await getAsyncValue(clientProvider);\n await done(client);\n } else {\n // Asynchronously construct client (config may be undefined).\n const config = await getAsyncValue(configProvider);\n log('resolved config', { config });\n const services = await createServices?.(config);\n log('created services', { services });\n const client = new Client({ config, services, ...options });\n log('created client');\n await done(client);\n }\n });\n\n return () => {\n log('clean up');\n clearTimeout(timeout);\n void client?.destroy().catch((err) => log.catch(err));\n };\n }, [clientProvider, configProvider, createServices]);\n\n if (!client || status !== SystemStatus.ACTIVE) {\n return <Fallback client={client} status={status} />;\n }\n\n // prettier-ignore\n return (\n <ClientContext.Provider value={{ client, status }}>\n {children}\n </ClientContext.Provider>\n );\n};\n", "//\n// Copyright 2021 DXOS.org\n//\n\nimport { type Client } from '@dxos/client';\n\n// http://patorjk.com/software/taag/#p=testall&f=Patorjk-HeX&t=DXOS\nconst BANNER = (client: Client) => {\n const commitHash = client.config.get('runtime.app.build.commitHash');\n const hash = commitHash ? ` App Commit ${commitHash} \\n` : '';\n\n return (\n '\\n' +\n '_/\\\\/\\\\/\\\\/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\/\\\\/\\\\______/\\\\/\\\\/\\\\/\\\\/\\\\_\\n' +\n '_/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\__/\\\\/\\\\_________\\n' +\n '_/\\\\/\\\\____/\\\\/\\\\______/\\\\/\\\\______/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\/\\\\/\\\\___\\n' +\n '_/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\__________/\\\\/\\\\_\\n' +\n '_/\\\\/\\\\/\\\\/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\/\\\\/\\\\____/\\\\/\\\\/\\\\/\\\\/\\\\___\\n' +\n `\\n DXOS Client ${client.version} \\n${hash}`\n );\n};\n\nlet bannerPrinted = false;\n\nexport const printBanner = (client: Client) => {\n if (bannerPrinted) {\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 2022 DXOS.org\n//\n\nimport { useContext } from 'react';\n\nimport type { ClientServices } from '@dxos/client/services';\nimport { raise } from '@dxos/debug';\n\nimport { ClientContext } from './ClientContext';\n\nexport const useClientServices = (): ClientServices | undefined => {\n const { services } = useContext(ClientContext) ?? raise(new Error('Missing ClientContext.'));\n return services;\n};\n", "//\n// Copyright 2020 DXOS.org\n//\n\nimport { useContext } from 'react';\n\nimport { raise } from '@dxos/debug';\n\nimport { ClientContext } from './ClientContext';\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 { type Shell } from '@dxos/client/services';\n\nimport { useClient } from './ClientContext';\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// Copyright 2022 DXOS.org\n//\n\nimport { useContext } from 'react';\n\nimport type { SystemStatus } from '@dxos/client/services';\nimport { raise } from '@dxos/debug';\n\nimport { ClientContext } from './ClientContext';\n\nexport const useStatus = (): SystemStatus | null | undefined => {\n const { status } = useContext(ClientContext) ?? raise(new Error('Missing ClientContext.'));\n return status;\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport {\n type AgentHostingProviderClient,\n EldonAgentHostingProviderClient,\n FakeAgentHostingProvider,\n} from '@dxos/client/services';\nimport { type Config } from '@dxos/config';\nimport { log } from '@dxos/log';\n\n/*\n * Interface for invoking the agent hosting provider client.\n * @experimental\n */\nexport const useAgentHostingProviderClient = (config: Config): AgentHostingProviderClient | null => {\n // TODO: Dynamically discover based on runtime config\n if (\n config.get('runtime.app.env.DX_ENVIRONMENT') !== 'development' &&\n localStorage.getItem('dxos.org/shell/features/agentHosting') !== 'true'\n ) {\n return null;\n }\n\n const agentHostingConfig = config.get('runtime.services.agentHosting');\n if (!agentHostingConfig) {\n log.info('no agent hosting configured');\n return null;\n }\n\n if (agentHostingConfig.type === 'LOCAL_TESTING') {\n return new FakeAgentHostingProvider(config);\n }\n\n return new EldonAgentHostingProviderClient(config);\n};\n"],
5
- "mappings": "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",
6
- "names": ["import_react", "import_debug", "import_services", "import_log", "BANNER", "client", "commitHash", "config", "get", "hash", "version", "bannerPrinted", "printBanner", "console", "log", "ClientContext", "createContext", "undefined", "useClient", "useContext", "raise", "Error", "ClientProvider", "children", "configProvider", "services", "createServices", "clientProvider", "fallback", "Fallback", "registerSignalFactory", "register", "onInitialized", "options", "useMemo", "setClient", "useState", "Client", "status", "setStatus", "error", "setError", "useEffect", "subscription", "subscribe", "unsubscribe", "done", "initialize", "catch", "SystemStatus", "ACTIVE", "timeout", "setTimeout", "getAsyncValue", "clearTimeout", "destroy", "err", "React", "Provider", "value", "useClientServices", "useConfig", "useShell", "shell", "useStatus", "useAgentHostingProviderClient", "localStorage", "getItem", "agentHostingConfig", "info", "type", "FakeAgentHostingProvider", "EldonAgentHostingProviderClient"]
4
+ "sourcesContent": ["//\n// Copyright 2020 DXOS.org\n//\n\nimport React, {\n type ReactNode,\n useState,\n type Context,\n createContext,\n useContext,\n useEffect,\n type FunctionComponent,\n useMemo,\n} from 'react';\n\nimport { Client, type ClientOptions } from '@dxos/client';\nimport { SystemStatus, type ClientServices, type ClientServicesProvider } from '@dxos/client/services';\nimport { type Config } from '@dxos/config';\nimport { raise } from '@dxos/debug';\nimport { registerSignalFactory } from '@dxos/echo-signals/react';\nimport { log } from '@dxos/log';\nimport { getAsyncValue, type MaybePromise, type Provider } from '@dxos/util'; // TODO(burdon): Deprecate \"util\"?\n\nimport { printBanner } from '../banner';\n\n// TODO(burdon): Reconcile with ClientOptions.\nexport type ClientContextProps = {\n client: Client;\n\n // Optionally expose services (e.g., for devtools).\n // TODO(burdon): Can't this just be accessed via `client.services`?\n services?: ClientServices;\n\n status?: SystemStatus | null;\n};\n\nexport const ClientContext: Context<ClientContextProps | undefined> = createContext<ClientContextProps | undefined>(\n undefined,\n);\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\nexport type ClientProviderProps = Omit<ClientOptions, 'config' | 'services'> & {\n children?: ReactNode;\n\n /**\n * Config object or async provider.\n */\n config?: Config | Provider<Promise<Config>>;\n\n /**\n * Callback to enable the caller to create a custom ClientServicesProvider.\n *\n * Most apps won't need this.\n */\n services?: (config?: Config) => MaybePromise<ClientServicesProvider>;\n\n /**\n * Client object or async provider to enable to caller to do custom initialization.\n *\n * Most apps won't need this.\n */\n // TODO(wittjosiah): Remove async and just use to keeping reference to client?\n // (Prefering `onInitialized` for custom initialization.)\n client?: Client | Provider<Promise<Client>>;\n\n /**\n * ReactNode to display until the client is available.\n */\n // TODO(wittjosiah): Rename to `placeholder`.\n fallback?: FunctionComponent<Partial<ClientContextProps>>;\n\n /**\n * Set to false to stop default signal factory from being registered.\n */\n registerSignalFactory?: boolean;\n\n /**\n * Post initialization hook to enable to caller to do custom initialization.\n *\n * @param Client\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 = ({\n children,\n config: configProvider,\n services: createServices,\n client: clientProvider,\n fallback: Fallback = () => null,\n registerSignalFactory: register = true,\n onInitialized,\n ...options\n}: ClientProviderProps) => {\n useMemo(() => {\n // TODO(wittjosiah): Ideally this should be imported asynchronosly because it is optional.\n // Unfortunately, async import seemed to break signals React instrumentation.\n register && registerSignalFactory();\n }, []);\n\n const [client, setClient] = useState(clientProvider instanceof Client ? clientProvider : undefined);\n const [status, setStatus] = useState<SystemStatus | null>(null);\n const [error, setError] = useState();\n if (error) {\n throw error;\n }\n\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 useEffect(() => {\n const done = async (client: Client) => {\n await client.initialize().catch(setError);\n log('client ready');\n await onInitialized?.(client);\n log('initialization complete');\n setClient(client);\n setStatus(client.status.get() ?? SystemStatus.ACTIVE);\n printBanner(client);\n };\n\n const timeout = setTimeout(async () => {\n if (clientProvider) {\n // Asynchronously request client.\n const client = await getAsyncValue(clientProvider);\n await done(client);\n } else {\n // Asynchronously construct client (config may be undefined).\n const config = await getAsyncValue(configProvider);\n log('resolved config', { config });\n const services = await createServices?.(config);\n log('created services', { services });\n const client = new Client({ config, services, ...options });\n log('created client');\n await done(client);\n }\n });\n\n return () => {\n log('clean up');\n clearTimeout(timeout);\n void client?.destroy().catch((err) => log.catch(err));\n };\n }, [clientProvider, configProvider, createServices]);\n\n if (!client || status !== SystemStatus.ACTIVE) {\n return <Fallback client={client} status={status} />;\n }\n\n // prettier-ignore\n return (\n <ClientContext.Provider value={{ client, status }}>\n {children}\n </ClientContext.Provider>\n );\n};\n", "//\n// Copyright 2021 DXOS.org\n//\n\nimport { type Client } from '@dxos/client';\n\n// http://patorjk.com/software/taag/#p=testall&f=Patorjk-HeX&t=DXOS\nconst BANNER = (client: Client) => {\n const commitHash = client.config.get('runtime.app.build.commitHash');\n const hash = commitHash ? ` App Commit ${commitHash} \\n` : '';\n\n return (\n '\\n' +\n '_/\\\\/\\\\/\\\\/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\/\\\\/\\\\______/\\\\/\\\\/\\\\/\\\\/\\\\_\\n' +\n '_/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\__/\\\\/\\\\_________\\n' +\n '_/\\\\/\\\\____/\\\\/\\\\______/\\\\/\\\\______/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\/\\\\/\\\\___\\n' +\n '_/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\__________/\\\\/\\\\_\\n' +\n '_/\\\\/\\\\/\\\\/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\/\\\\/\\\\____/\\\\/\\\\/\\\\/\\\\/\\\\___\\n' +\n `\\n DXOS Client ${client.version} \\n${hash}`\n );\n};\n\nlet bannerPrinted = false;\n\nexport const printBanner = (client: Client) => {\n if (bannerPrinted) {\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 2022 DXOS.org\n//\n\nimport { useContext } from 'react';\n\nimport type { ClientServices } from '@dxos/client/services';\nimport { raise } from '@dxos/debug';\n\nimport { ClientContext } from './ClientContext';\n\nexport const useClientServices = (): ClientServices | undefined => {\n const { services } = useContext(ClientContext) ?? raise(new Error('Missing ClientContext.'));\n return services;\n};\n", "//\n// Copyright 2020 DXOS.org\n//\n\nimport { useContext } from 'react';\n\nimport { raise } from '@dxos/debug';\n\nimport { ClientContext } from './ClientContext';\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 { type Shell } from '@dxos/client/services';\n\nimport { useClient } from './ClientContext';\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// Copyright 2022 DXOS.org\n//\n\nimport { useContext } from 'react';\n\nimport type { SystemStatus } from '@dxos/client/services';\nimport { raise } from '@dxos/debug';\n\nimport { ClientContext } from './ClientContext';\n\nexport const useStatus = (): SystemStatus | null | undefined => {\n const { status } = useContext(ClientContext) ?? raise(new Error('Missing ClientContext.'));\n return status;\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport {\n type AgentHostingProviderClient,\n DXOSAgentHostingProviderClient,\n FakeAgentHostingProvider,\n} from '@dxos/client/services';\nimport { type Config } from '@dxos/config';\nimport { log } from '@dxos/log';\n\n/*\n * Interface for invoking the agent hosting provider client.\n * @experimental\n */\nexport const useAgentHostingProviderClient = (config: Config): AgentHostingProviderClient | null => {\n // TODO: Dynamically discover based on runtime config\n if (\n config.get('runtime.app.env.DX_ENVIRONMENT') !== 'development' &&\n localStorage.getItem('dxos.org/shell/features/agentHosting') !== 'true'\n ) {\n return null;\n }\n\n const agentHostingConfig = config.get('runtime.services.agentHosting');\n if (!agentHostingConfig) {\n log.info('no agent hosting configured');\n return null;\n }\n\n if (agentHostingConfig.type === 'LOCAL_TESTING') {\n return new FakeAgentHostingProvider(config);\n }\n\n return new DXOSAgentHostingProviderClient(config);\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["import_react", "import_debug", "import_services", "import_log", "BANNER", "client", "commitHash", "config", "get", "hash", "version", "bannerPrinted", "printBanner", "console", "log", "ClientContext", "createContext", "undefined", "useClient", "useContext", "raise", "Error", "ClientProvider", "children", "configProvider", "services", "createServices", "clientProvider", "fallback", "Fallback", "registerSignalFactory", "register", "onInitialized", "options", "useMemo", "setClient", "useState", "Client", "status", "setStatus", "error", "setError", "useEffect", "subscription", "subscribe", "unsubscribe", "done", "initialize", "catch", "SystemStatus", "ACTIVE", "timeout", "setTimeout", "getAsyncValue", "clearTimeout", "destroy", "err", "React", "Provider", "value", "useClientServices", "useConfig", "useShell", "shell", "useStatus", "useAgentHostingProviderClient", "localStorage", "getItem", "agentHostingConfig", "info", "type", "FakeAgentHostingProvider", "DXOSAgentHostingProviderClient"]
7
7
  }
@@ -23,7 +23,7 @@ __export(devtools_exports, {
23
23
  useStream: () => useStream
24
24
  });
25
25
  module.exports = __toCommonJS(devtools_exports);
26
- var import_chunk_IRRRZ2KE = require("../chunk-IRRRZ2KE.cjs");
26
+ var import_chunk_3GRHATJ3 = require("../chunk-3GRHATJ3.cjs");
27
27
  __reExport(devtools_exports, require("@dxos/client/devtools"), module.exports);
28
28
  var import_react = require("react");
29
29
  var import_debug = require("@dxos/debug");
@@ -32,7 +32,7 @@ var import_react2 = require("react");
32
32
  var import_log = require("@dxos/log");
33
33
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/sdk/react-client/src/devtools/useDevtools.ts";
34
34
  var useDevtools = () => {
35
- const { services } = (0, import_react.useContext)(import_chunk_IRRRZ2KE.ClientContext) ?? (0, import_debug.raise)(new Error("Missing ClientContext."));
35
+ const { services } = (0, import_react.useContext)(import_chunk_3GRHATJ3.ClientContext) ?? (0, import_debug.raise)(new Error("Missing ClientContext."));
36
36
  (0, import_invariant.invariant)(services, void 0, {
37
37
  F: __dxlog_file,
38
38
  L: 15,
@@ -29,7 +29,7 @@ __export(echo_exports, {
29
29
  });
30
30
  module.exports = __toCommonJS(echo_exports);
31
31
  var import_chunk_X5URYLUS = require("../chunk-X5URYLUS.cjs");
32
- var import_chunk_IRRRZ2KE = require("../chunk-IRRRZ2KE.cjs");
32
+ var import_chunk_3GRHATJ3 = require("../chunk-3GRHATJ3.cjs");
33
33
  __reExport(echo_exports, require("@dxos/client/echo"), module.exports);
34
34
  var import_async = require("@dxos/async");
35
35
  var import_echo = require("@dxos/client/echo");
@@ -38,11 +38,14 @@ var import_react = require("react");
38
38
  var import_echo2 = require("@dxos/client/echo");
39
39
  var import_react_async2 = require("@dxos/react-async");
40
40
  var import_react2 = require("react");
41
+ var import_echo3 = require("@dxos/client/echo");
41
42
  var import_react3 = require("react");
43
+ var import_async2 = require("@dxos/async");
44
+ var import_react_async3 = require("@dxos/react-async");
42
45
  var import_react4 = require("react");
43
- var import_echo3 = require("@dxos/client/echo");
46
+ var import_echo4 = require("@dxos/client/echo");
44
47
  var useSpace = (spaceKey) => {
45
- const client = (0, import_chunk_IRRRZ2KE.useClient)();
48
+ const client = (0, import_chunk_3GRHATJ3.useClient)();
46
49
  const spaces = (0, import_react_async2.useMulticastObservable)(client.spaces);
47
50
  const [ready, setReady] = (0, import_react.useState)(false);
48
51
  (0, import_react.useEffect)(() => {
@@ -66,7 +69,7 @@ var useSpace = (spaceKey) => {
66
69
  }
67
70
  };
68
71
  var useSpaces = ({ all = false } = {}) => {
69
- const client = (0, import_chunk_IRRRZ2KE.useClient)();
72
+ const client = (0, import_chunk_3GRHATJ3.useClient)();
70
73
  const spaces = (0, import_react_async2.useMulticastObservable)(client.spaces);
71
74
  return spaces.filter((space) => all || space.state.get() === import_echo2.SpaceState.READY);
72
75
  };
@@ -78,26 +81,35 @@ var useMembers = (spaceKey) => {
78
81
  const members = (0, import_react_async.useMulticastObservable)(space?.members ?? import_async.MulticastObservable.empty()) ?? [];
79
82
  return members.filter((member) => member.presence !== import_echo.SpaceMember.PresenceState.REMOVED);
80
83
  };
81
- var useQuery = (space, filter, options, deps) => {
82
- const query = (0, import_react2.useMemo)(() => space?.db.query(filter, options), [
83
- space?.db,
84
+ var useQuery = (spaceOrEcho, filter, options, deps) => {
85
+ const { subscribe, getObjects } = (0, import_react2.useMemo)(() => {
86
+ const query = (0, import_echo3.isSpace)(spaceOrEcho) ? spaceOrEcho.db.query(filter, options) : spaceOrEcho?.query(filter, options);
87
+ let subscribed = false;
88
+ return {
89
+ subscribe: (cb) => {
90
+ subscribed = true;
91
+ const unsubscribe = query?.subscribe(cb) ?? noop;
92
+ return () => {
93
+ unsubscribe?.();
94
+ subscribed = false;
95
+ };
96
+ },
97
+ getObjects: () => subscribed && query ? query.objects : EMPTY_ARRAY
98
+ };
99
+ }, [
100
+ spaceOrEcho,
84
101
  ...typeof filter === "function" ? [] : filterToDepsArray(filter),
85
102
  ...deps ?? []
86
103
  ]);
87
- return (0, import_react2.useSyncExternalStore)((cb) => query?.subscribe?.(cb) ?? cb, () => query?.objects) ?? [];
104
+ return (0, import_react2.useSyncExternalStore)(subscribe, getObjects) ?? [];
88
105
  };
89
106
  var filterToDepsArray = (filter) => Object.entries(filter ?? {}).flat(10).map((x) => typeof x === "function" || typeof x === "object" ? null : x);
107
+ var noop = () => {
108
+ };
109
+ var EMPTY_ARRAY = [];
90
110
  var useSpaceInvitations = (spaceKey) => {
91
111
  const space = useSpace(spaceKey);
92
- const invitations = (0, import_react3.useSyncExternalStore)((listener) => {
93
- if (!space) {
94
- return () => {
95
- };
96
- }
97
- const subscription = space.invitations.subscribe(() => listener());
98
- return () => subscription.unsubscribe();
99
- }, () => space?.invitations.get()) ?? [];
100
- return invitations;
112
+ return (0, import_react_async3.useMulticastObservable)(space?.invitations ?? import_async2.MulticastObservable.empty()) ?? [];
101
113
  };
102
114
  var useSpaceInvitation = (spaceKey, invitationId) => {
103
115
  const invitations = useSpaceInvitations(spaceKey);
@@ -111,7 +123,7 @@ var useSubscription = (cb, selection) => {
111
123
  callbackRef.current = cb;
112
124
  const subscriptionRef = (0, import_react4.useRef)();
113
125
  (0, import_react4.useEffect)(() => {
114
- subscriptionRef.current = (0, import_echo3.createSubscription)(() => {
126
+ subscriptionRef.current = (0, import_echo4.createSubscription)(() => {
115
127
  callbackRef.current();
116
128
  });
117
129
  return () => subscriptionRef.current?.unsubscribe();
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/echo/index.ts", "../../../../src/echo/useMembers.ts", "../../../../src/echo/useSpaces.ts", "../../../../src/echo/useQuery.ts", "../../../../src/echo/useSpaceInvitations.ts", "../../../../src/echo/useSubscription.ts"],
4
- "sourcesContent": ["//\n// Copyright 2020 DXOS.org\n//\n\nexport * from '@dxos/client/echo';\n\nexport * from './useMembers';\nexport * from './useQuery';\nexport * from './useSpaces';\nexport * from './useSpaceInvitations';\nexport * from './useSubscription';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { MulticastObservable } from '@dxos/async';\nimport { type PublicKey } from '@dxos/client';\nimport { SpaceMember } from '@dxos/client/echo';\nimport { useMulticastObservable } from '@dxos/react-async';\n\nimport { useSpaces } from './useSpaces';\n\nexport const useMembers = (spaceKey: PublicKey | undefined): SpaceMember[] => {\n // TODO(dmaretskyi): useSpace hook for spaces that are not ready.\n const spaces = useSpaces({ all: true });\n const space = spaceKey ? spaces.find((space) => space.key.equals(spaceKey)) : undefined;\n\n // EMPTY_OBSERVABLE needs to be a stable reference to avoid re-subscribing on every render.\n const members = useMulticastObservable(space?.members ?? MulticastObservable.empty()) ?? [];\n return members.filter((member) => member.presence !== SpaceMember.PresenceState.REMOVED);\n};\n", "//\n// Copyright 2020 DXOS.org\n//\n\nimport { useEffect, useState } from 'react';\n\nimport { type PublicKeyLike } from '@dxos/client';\nimport { type Space, SpaceState } from '@dxos/client/echo';\nimport { useMulticastObservable } from '@dxos/react-async';\n\nimport { useClient } from '../client';\n\n/**\n * Get a specific Space using its key.\n * The space is not guaranteed to be in the ready state.\n * Returns the default space if no key is provided.\n * Requires a ClientProvider somewhere in the parent tree.\n *\n * @param spaceKey the key of the space to look for\n */\nexport const useSpace = (spaceKey?: PublicKeyLike): Space | undefined => {\n const client = useClient();\n const spaces = useMulticastObservable<Space[]>(client.spaces);\n const [ready, setReady] = useState(false);\n\n useEffect(() => {\n // Only wait for ready if looking for the default space.\n if (spaceKey) {\n return;\n }\n\n const timeout = setTimeout(async () => {\n await client.spaces.isReady.wait();\n setReady(true);\n });\n\n return () => clearTimeout(timeout);\n }, [client, spaceKey]);\n\n if (spaceKey) {\n return spaces.find((space) => space.key.equals(spaceKey));\n }\n\n if (ready && client.halo.identity.get()) {\n return client.spaces.default;\n }\n};\n\nexport type UseSpacesParams = {\n /**\n * Return uninitialized spaces as well.\n */\n all?: boolean;\n};\n\n/**\n * Get all Spaces available to current user.\n * Requires a ClientProvider somewhere in the parent tree.\n * By default, only ready spaces are returned.\n * @returns an array of Spaces\n */\nexport const useSpaces = ({ all = false }: UseSpacesParams = {}): Space[] => {\n const client = useClient();\n const spaces = useMulticastObservable<Space[]>(client.spaces);\n\n // TODO(dmaretskyi): Array reference equality.\n return spaces.filter((space) => all || space.state.get() === SpaceState.READY);\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { useMemo, useSyncExternalStore } from 'react';\n\nimport type { QueryOptions, OpaqueEchoObject, Query, FilterSource, Space } from '@dxos/client/echo';\n\ntype UseQuery = {\n <T extends OpaqueEchoObject>(space?: Space, filter?: FilterSource<T>, options?: QueryOptions, deps?: any[]): T[];\n};\n\n/**\n * Create subscription.\n */\n// TODO(burdon): Support typed operator filters (e.g., Note.filter(note => ...)).\nexport const useQuery: UseQuery = <T extends OpaqueEchoObject>(\n space?: Space,\n filter?: FilterSource<T>,\n options?: QueryOptions,\n deps?: any[],\n) => {\n const query = useMemo(\n () => space?.db.query(filter, options) as Query<T> | undefined,\n [space?.db, ...(typeof filter === 'function' ? [] : filterToDepsArray(filter)), ...(deps ?? [])],\n );\n\n // https://beta.reactjs.org/reference/react/useSyncExternalStore\n return (\n useSyncExternalStore<T[] | undefined>(\n (cb) => query?.subscribe?.(cb) ?? cb,\n () => query?.objects,\n ) ?? []\n );\n};\n\n// TODO(dmaretskyi): Serialize the filter here instead.\nconst filterToDepsArray = (filter?: FilterSource<any>) =>\n Object.entries(filter ?? {})\n .flat(10)\n .map((x) => (typeof x === 'function' || typeof x === 'object' ? null : x));\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { useMemo, useSyncExternalStore } from 'react';\n\nimport { type PublicKey } from '@dxos/client';\n\nimport { useSpace } from './useSpaces';\nimport { useInvitationStatus } from '../invitations';\n\nexport const useSpaceInvitations = (spaceKey?: PublicKey) => {\n const space = useSpace(spaceKey);\n const invitations =\n useSyncExternalStore(\n (listener) => {\n if (!space) {\n return () => {};\n }\n\n const subscription = space.invitations.subscribe(() => listener());\n return () => subscription.unsubscribe();\n },\n () => space?.invitations.get(),\n ) ?? [];\n\n return invitations;\n};\n\nexport const useSpaceInvitation = (spaceKey?: PublicKey, invitationId?: string) => {\n const invitations = useSpaceInvitations(spaceKey);\n const invitation = useMemo(\n () => invitations.find((invitation) => invitation.get().invitationId === invitationId),\n [invitations],\n );\n return useInvitationStatus(invitation);\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { useEffect, useRef } from 'react';\n\nimport { type Selection, type SubscriptionHandle, createSubscription } from '@dxos/client/echo';\n\n/**\n * Create reactive selection.\n * Calls the callback when the selection changes and during the first render.\n */\n// TODO(wittjosiah): Is this still needed with signals reactivity? If not, remove or update jsdoc with usage info.\nexport const useSubscription = (cb: () => void, selection: Selection) => {\n // Make sure that the callback is always the one from the latest render.\n // Without this, we would always call the callback from the initial render,\n // which might contain stale data.\n const callbackRef = useRef(cb);\n callbackRef.current = cb;\n\n const subscriptionRef = useRef<SubscriptionHandle>();\n\n useEffect(() => {\n subscriptionRef.current = createSubscription(() => {\n callbackRef.current();\n });\n\n return () => subscriptionRef.current?.unsubscribe();\n }, []);\n\n subscriptionRef.current?.update(selection);\n return subscriptionRef.current;\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,yBAAc;ACAd,mBAAoC;AAEpC,kBAA4B;AAC5B,yBAAuC;ACHvC,mBAAoC;AAGpC,IAAAA,eAAuC;AACvC,IAAAC,sBAAuC;ACJvC,IAAAC,gBAA8C;ACA9C,IAAAA,gBAA8C;ACA9C,IAAAA,gBAAkC;AAElC,IAAAF,eAA4E;AHcrE,IAAMG,WAAW,CAACC,aAAAA;AACvB,QAAMC,aAASC,iCAAAA;AACf,QAAMC,aAASC,4CAAgCH,OAAOE,MAAM;AAC5D,QAAM,CAACE,OAAOC,QAAAA,QAAYC,uBAAS,KAAA;AAEnCC,8BAAU,MAAA;AAER,QAAIR,UAAU;AACZ;IACF;AAEA,UAAMS,UAAUC,WAAW,YAAA;AACzB,YAAMT,OAAOE,OAAOQ,QAAQC,KAAI;AAChCN,eAAS,IAAA;IACX,CAAA;AAEA,WAAO,MAAMO,aAAaJ,OAAAA;EAC5B,GAAG;IAACR;IAAQD;GAAS;AAErB,MAAIA,UAAU;AACZ,WAAOG,OAAOW,KAAK,CAACC,UAAUA,MAAMC,IAAIC,OAAOjB,QAAAA,CAAAA;EACjD;AAEA,MAAIK,SAASJ,OAAOiB,KAAKC,SAASC,IAAG,GAAI;AACvC,WAAOnB,OAAOE,OAAOkB;EACvB;AACF;AAeO,IAAMC,YAAY,CAAC,EAAEC,MAAM,MAAK,IAAsB,CAAC,MAAC;AAC7D,QAAMtB,aAASC,iCAAAA;AACf,QAAMC,aAASC,4CAAgCH,OAAOE,MAAM;AAG5D,SAAOA,OAAOqB,OAAO,CAACT,UAAUQ,OAAOR,MAAMU,MAAML,IAAG,MAAOM,wBAAWC,KAAK;AAC/E;ADxDO,IAAMC,aAAa,CAAC5B,aAAAA;AAEzB,QAAMG,SAASmB,UAAU;IAAEC,KAAK;EAAK,CAAA;AACrC,QAAMR,QAAQf,WAAWG,OAAOW,KAAK,CAACC,WAAUA,OAAMC,IAAIC,OAAOjB,QAAAA,CAAAA,IAAa6B;AAG9E,QAAMC,cAAU1B,mBAAAA,wBAAuBW,OAAOe,WAAWC,iCAAoBC,MAAK,CAAA,KAAO,CAAA;AACzF,SAAOF,QAAQN,OAAO,CAACS,WAAWA,OAAOC,aAAaC,wBAAYC,cAAcC,OAAO;AACzF;AEHO,IAAMC,WAAqB,CAChCvB,OACAS,QACAe,SACAC,SAAAA;AAEA,QAAMC,YAAQC,uBACZ,MAAM3B,OAAO4B,GAAGF,MAAMjB,QAAQe,OAAAA,GAC9B;IAACxB,OAAO4B;OAAQ,OAAOnB,WAAW,aAAa,CAAA,IAAKoB,kBAAkBpB,MAAAA;OAAcgB,QAAQ,CAAA;GAAI;AAIlG,aACEK,oCACE,CAACC,OAAOL,OAAOM,YAAYD,EAAAA,KAAOA,IAClC,MAAML,OAAOO,OAAAA,KACV,CAAA;AAET;AAGA,IAAMJ,oBAAoB,CAACpB,WACzByB,OAAOC,QAAQ1B,UAAU,CAAC,CAAA,EACvB2B,KAAK,EAAA,EACLC,IAAI,CAACC,MAAO,OAAOA,MAAM,cAAc,OAAOA,MAAM,WAAW,OAAOA,CAAAA;AC7BpE,IAAMC,sBAAsB,CAACtD,aAAAA;AAClC,QAAMe,QAAQhB,SAASC,QAAAA;AACvB,QAAMuD,kBACJV,cAAAA,sBACE,CAACW,aAAAA;AACC,QAAI,CAACzC,OAAO;AACV,aAAO,MAAA;MAAO;IAChB;AAEA,UAAM0C,eAAe1C,MAAMwC,YAAYR,UAAU,MAAMS,SAAAA,CAAAA;AACvD,WAAO,MAAMC,aAAaC,YAAW;EACvC,GACA,MAAM3C,OAAOwC,YAAYnC,IAAAA,CAAAA,KACtB,CAAA;AAEP,SAAOmC;AACT;AAEO,IAAMI,qBAAqB,CAAC3D,UAAsB4D,iBAAAA;AACvD,QAAML,cAAcD,oBAAoBtD,QAAAA;AACxC,QAAM6D,iBAAanB,cAAAA,SACjB,MAAMa,YAAYzC,KAAK,CAAC+C,gBAAeA,YAAWzC,IAAG,EAAGwC,iBAAiBA,YAAAA,GACzE;IAACL;GAAY;AAEf,aAAOO,2CAAoBD,UAAAA;AAC7B;ACvBO,IAAME,kBAAkB,CAACjB,IAAgBkB,cAAAA;AAI9C,QAAMC,kBAAcC,sBAAOpB,EAAAA;AAC3BmB,cAAYE,UAAUrB;AAEtB,QAAMsB,sBAAkBF,sBAAAA;AAExB1D,oBAAAA,WAAU,MAAA;AACR4D,oBAAgBD,cAAUE,iCAAmB,MAAA;AAC3CJ,kBAAYE,QAAO;IACrB,CAAA;AAEA,WAAO,MAAMC,gBAAgBD,SAAST,YAAAA;EACxC,GAAG,CAAA,CAAE;AAELU,kBAAgBD,SAASG,OAAON,SAAAA;AAChC,SAAOI,gBAAgBD;AACzB;",
6
- "names": ["import_echo", "import_react_async", "import_react", "useSpace", "spaceKey", "client", "useClient", "spaces", "useMulticastObservable", "ready", "setReady", "useState", "useEffect", "timeout", "setTimeout", "isReady", "wait", "clearTimeout", "find", "space", "key", "equals", "halo", "identity", "get", "default", "useSpaces", "all", "filter", "state", "SpaceState", "READY", "useMembers", "undefined", "members", "MulticastObservable", "empty", "member", "presence", "SpaceMember", "PresenceState", "REMOVED", "useQuery", "options", "deps", "query", "useMemo", "db", "filterToDepsArray", "useSyncExternalStore", "cb", "subscribe", "objects", "Object", "entries", "flat", "map", "x", "useSpaceInvitations", "invitations", "listener", "subscription", "unsubscribe", "useSpaceInvitation", "invitationId", "invitation", "useInvitationStatus", "useSubscription", "selection", "callbackRef", "useRef", "current", "subscriptionRef", "createSubscription", "update"]
4
+ "sourcesContent": ["//\n// Copyright 2020 DXOS.org\n//\n\nexport * from '@dxos/client/echo';\n\nexport * from './useMembers';\nexport * from './useQuery';\nexport * from './useSpaces';\nexport * from './useSpaceInvitations';\nexport * from './useSubscription';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { MulticastObservable } from '@dxos/async';\nimport { type PublicKey } from '@dxos/client';\nimport { SpaceMember } from '@dxos/client/echo';\nimport { useMulticastObservable } from '@dxos/react-async';\n\nimport { useSpaces } from './useSpaces';\n\nexport const useMembers = (spaceKey: PublicKey | undefined): SpaceMember[] => {\n // TODO(dmaretskyi): useSpace hook for spaces that are not ready.\n const spaces = useSpaces({ all: true });\n const space = spaceKey ? spaces.find((space) => space.key.equals(spaceKey)) : undefined;\n\n // EMPTY_OBSERVABLE needs to be a stable reference to avoid re-subscribing on every render.\n const members = useMulticastObservable(space?.members ?? MulticastObservable.empty()) ?? [];\n return members.filter((member) => member.presence !== SpaceMember.PresenceState.REMOVED);\n};\n", "//\n// Copyright 2020 DXOS.org\n//\n\nimport { useEffect, useState } from 'react';\n\nimport { type PublicKeyLike } from '@dxos/client';\nimport { type Space, SpaceState } from '@dxos/client/echo';\nimport { useMulticastObservable } from '@dxos/react-async';\n\nimport { useClient } from '../client';\n\n/**\n * Get a specific Space using its key.\n * The space is not guaranteed to be in the ready state.\n * Returns the default space if no key is provided.\n * Requires a ClientProvider somewhere in the parent tree.\n *\n * @param spaceKey the key of the space to look for\n */\nexport const useSpace = (spaceKey?: PublicKeyLike): Space | undefined => {\n const client = useClient();\n const spaces = useMulticastObservable<Space[]>(client.spaces);\n const [ready, setReady] = useState(false);\n\n useEffect(() => {\n // Only wait for ready if looking for the default space.\n if (spaceKey) {\n return;\n }\n\n const timeout = setTimeout(async () => {\n await client.spaces.isReady.wait();\n setReady(true);\n });\n\n return () => clearTimeout(timeout);\n }, [client, spaceKey]);\n\n if (spaceKey) {\n return spaces.find((space) => space.key.equals(spaceKey));\n }\n\n if (ready && client.halo.identity.get()) {\n return client.spaces.default;\n }\n};\n\nexport type UseSpacesParams = {\n /**\n * Return uninitialized spaces as well.\n */\n all?: boolean;\n};\n\n/**\n * Get all Spaces available to current user.\n * Requires a ClientProvider somewhere in the parent tree.\n * By default, only ready spaces are returned.\n * @returns an array of Spaces\n */\nexport const useSpaces = ({ all = false }: UseSpacesParams = {}): Space[] => {\n const client = useClient();\n const spaces = useMulticastObservable<Space[]>(client.spaces);\n\n // TODO(dmaretskyi): Array reference equality.\n return spaces.filter((space) => all || space.state.get() === SpaceState.READY);\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { useMemo, useSyncExternalStore } from 'react';\n\nimport {\n type QueryOptions,\n type Query,\n type FilterSource,\n type Space,\n type EchoReactiveObject,\n type Echo,\n isSpace,\n} from '@dxos/client/echo';\n\ntype UseQuery = {\n <T extends EchoReactiveObject<any>>(\n spaceOrEcho?: Space | Echo,\n filter?: FilterSource<T>,\n options?: QueryOptions,\n deps?: any[],\n ): T[];\n};\n\n/**\n * Create subscription.\n */\n// TODO(burdon): Support typed operator filters (e.g., Note.filter(note => ...)).\nexport const useQuery: UseQuery = <T extends EchoReactiveObject<any>>(\n spaceOrEcho?: Space | Echo,\n filter?: FilterSource<T>,\n options?: QueryOptions,\n deps?: any[],\n) => {\n const { subscribe, getObjects } = useMemo(() => {\n const query = isSpace(spaceOrEcho)\n ? spaceOrEcho.db.query(filter, options)\n : (spaceOrEcho?.query(filter, options) as Query<T> | undefined);\n let subscribed = false;\n\n return {\n subscribe: (cb: () => void) => {\n subscribed = true;\n const unsubscribe = query?.subscribe(cb) ?? noop;\n return () => {\n unsubscribe?.();\n subscribed = false;\n };\n },\n getObjects: () => (subscribed && query ? query.objects : EMPTY_ARRAY),\n };\n }, [spaceOrEcho, ...(typeof filter === 'function' ? [] : filterToDepsArray(filter)), ...(deps ?? [])]);\n\n // https://beta.reactjs.org/reference/react/useSyncExternalStore\n // NOTE: This hook will resubscribe whenever the callback passed to the first argument changes -- make sure it is stable.\n return useSyncExternalStore<T[] | undefined>(subscribe, getObjects) ?? [];\n};\n\n// TODO(dmaretskyi): Serialize the filter here instead.\nconst filterToDepsArray = (filter?: FilterSource<any>) =>\n Object.entries(filter ?? {})\n .flat(10)\n .map((x) => (typeof x === 'function' || typeof x === 'object' ? null : x));\n\nconst noop = () => {};\n\nconst EMPTY_ARRAY: never[] = [];\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { MulticastObservable } from '@dxos/async';\nimport { type PublicKey } from '@dxos/client';\nimport { useMulticastObservable } from '@dxos/react-async';\n\nimport { useSpace } from './useSpaces';\nimport { type CancellableInvitationObservable, useInvitationStatus } from '../invitations';\n\nexport const useSpaceInvitations = (spaceKey?: PublicKey): CancellableInvitationObservable[] => {\n const space = useSpace(spaceKey);\n return useMulticastObservable(space?.invitations ?? MulticastObservable.empty()) ?? [];\n};\n\nexport const useSpaceInvitation = (spaceKey?: PublicKey, invitationId?: string) => {\n const invitations = useSpaceInvitations(spaceKey);\n const invitation = useMemo(\n () => invitations.find((invitation) => invitation.get().invitationId === invitationId),\n [invitations],\n );\n return useInvitationStatus(invitation);\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { useEffect, useRef } from 'react';\n\nimport { type Selection, type SubscriptionHandle, createSubscription } from '@dxos/client/echo';\n\n/**\n * Create reactive selection.\n * Calls the callback when the selection changes and during the first render.\n */\n// TODO(wittjosiah): Is this still needed with signals reactivity? If not, remove or update jsdoc with usage info.\nexport const useSubscription = (cb: () => void, selection: Selection) => {\n // Make sure that the callback is always the one from the latest render.\n // Without this, we would always call the callback from the initial render,\n // which might contain stale data.\n const callbackRef = useRef(cb);\n callbackRef.current = cb;\n\n const subscriptionRef = useRef<SubscriptionHandle>();\n\n useEffect(() => {\n subscriptionRef.current = createSubscription(() => {\n callbackRef.current();\n });\n\n return () => subscriptionRef.current?.unsubscribe();\n }, []);\n\n subscriptionRef.current?.update(selection);\n return subscriptionRef.current;\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["import_echo", "import_react_async", "import_react", "import_async", "useSpace", "spaceKey", "client", "useClient", "spaces", "useMulticastObservable", "ready", "setReady", "useState", "useEffect", "timeout", "setTimeout", "isReady", "wait", "clearTimeout", "find", "space", "key", "equals", "halo", "identity", "get", "default", "useSpaces", "all", "filter", "state", "SpaceState", "READY", "useMembers", "undefined", "members", "MulticastObservable", "empty", "member", "presence", "SpaceMember", "PresenceState", "REMOVED", "useQuery", "spaceOrEcho", "options", "deps", "subscribe", "getObjects", "useMemo", "query", "isSpace", "db", "subscribed", "cb", "unsubscribe", "noop", "objects", "EMPTY_ARRAY", "filterToDepsArray", "useSyncExternalStore", "Object", "entries", "flat", "map", "x", "useSpaceInvitations", "invitations", "useSpaceInvitation", "invitationId", "invitation", "useInvitationStatus", "useSubscription", "selection", "callbackRef", "useRef", "current", "subscriptionRef", "createSubscription", "update"]
7
7
  }
@@ -31,47 +31,36 @@ __export(halo_exports, {
31
31
  });
32
32
  module.exports = __toCommonJS(halo_exports);
33
33
  var import_chunk_X5URYLUS = require("../chunk-X5URYLUS.cjs");
34
- var import_chunk_IRRRZ2KE = require("../chunk-IRRRZ2KE.cjs");
34
+ var import_chunk_3GRHATJ3 = require("../chunk-3GRHATJ3.cjs");
35
35
  var import_halo = require("@dxos/client/halo");
36
+ var import_react_async = require("@dxos/react-async");
37
+ var import_react_async2 = require("@dxos/react-async");
36
38
  var import_react = require("react");
39
+ var import_react_async3 = require("@dxos/react-async");
40
+ var import_react_async4 = require("@dxos/react-async");
37
41
  var import_react2 = require("react");
38
- var import_react3 = require("react");
39
- var import_react_async = require("@dxos/react-async");
40
- var import_react4 = require("react");
41
42
  var useContacts = () => {
42
- const client = (0, import_chunk_IRRRZ2KE.useClient)();
43
- const contacts = (0, import_react.useSyncExternalStore)((listener) => {
44
- const subscription = client.halo.contacts.subscribe(listener);
45
- return () => subscription.unsubscribe();
46
- }, () => client.halo.contacts.get());
47
- return contacts;
43
+ const client = (0, import_chunk_3GRHATJ3.useClient)();
44
+ return (0, import_react_async.useMulticastObservable)(client.halo.contacts);
48
45
  };
49
46
  var useDevices = () => {
50
- const client = (0, import_chunk_IRRRZ2KE.useClient)();
51
- const devices = (0, import_react2.useSyncExternalStore)((listener) => {
52
- const subscription = client.halo.devices.subscribe(listener);
53
- return () => subscription.unsubscribe();
54
- }, () => client.halo.devices.get());
55
- return devices;
47
+ const client = (0, import_chunk_3GRHATJ3.useClient)();
48
+ return (0, import_react_async2.useMulticastObservable)(client.halo.devices);
56
49
  };
57
50
  var useHaloInvitations = () => {
58
- const client = (0, import_chunk_IRRRZ2KE.useClient)();
59
- const invitations = (0, import_react3.useSyncExternalStore)((listener) => {
60
- const subscription = client.halo.invitations.subscribe(() => listener());
61
- return () => subscription.unsubscribe();
62
- }, () => client.halo.invitations.get()) ?? [];
63
- return invitations;
51
+ const client = (0, import_chunk_3GRHATJ3.useClient)();
52
+ return (0, import_react_async3.useMulticastObservable)(client.halo.invitations);
64
53
  };
65
54
  var useHaloInvitation = (invitationId) => {
66
55
  const invitations = useHaloInvitations();
67
- const invitation = (0, import_react3.useMemo)(() => invitations.find((invitation2) => invitation2.get().invitationId === invitationId), [
56
+ const invitation = (0, import_react.useMemo)(() => invitations.find((invitation2) => invitation2.get().invitationId === invitationId), [
68
57
  invitations
69
58
  ]);
70
59
  return (0, import_chunk_X5URYLUS.useInvitationStatus)(invitation);
71
60
  };
72
61
  var useIdentity = () => {
73
- const client = (0, import_chunk_IRRRZ2KE.useClient)();
74
- return (0, import_react_async.useMulticastObservable)(client.halo.identity);
62
+ const client = (0, import_chunk_3GRHATJ3.useClient)();
63
+ return (0, import_react_async4.useMulticastObservable)(client.halo.identity);
75
64
  };
76
65
  var KeyStore = class {
77
66
  constructor(_defaultKeys = []) {
@@ -98,8 +87,8 @@ var KeyStore = class {
98
87
  }
99
88
  };
100
89
  var useKeyStore = (defaultKeys = []) => {
101
- const [, forceUpdate] = (0, import_react4.useReducer)((x) => x + 1, 0);
102
- const store = (0, import_react4.useMemo)(() => new KeyStore(defaultKeys).initialize(), [
90
+ const [, forceUpdate] = (0, import_react2.useReducer)((x) => x + 1, 0);
91
+ const store = (0, import_react2.useMemo)(() => new KeyStore(defaultKeys).initialize(), [
103
92
  defaultKeys
104
93
  ]);
105
94
  const setKey = (key, value) => {