@dxos/react-client 0.4.9 → 0.4.10-main.05b9ab6

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 (61) hide show
  1. package/dist/lib/browser/{chunk-Y64VSVTU.mjs → chunk-BQ4BAP42.mjs} +4 -3
  2. package/dist/lib/browser/chunk-BQ4BAP42.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-6SW7V4VI.mjs → chunk-HJDLXXEZ.mjs} +3 -3
  4. package/dist/lib/browser/{chunk-6SW7V4VI.mjs.map → chunk-HJDLXXEZ.mjs.map} +3 -3
  5. package/dist/lib/browser/devtools/index.mjs +1 -1
  6. package/dist/lib/browser/echo/index.mjs +29 -18
  7. package/dist/lib/browser/echo/index.mjs.map +3 -3
  8. package/dist/lib/browser/halo/index.mjs +12 -24
  9. package/dist/lib/browser/halo/index.mjs.map +3 -3
  10. package/dist/lib/browser/index.mjs +1 -1
  11. package/dist/lib/browser/invitations/index.mjs +1 -1
  12. package/dist/lib/browser/mesh/index.mjs +3 -7
  13. package/dist/lib/browser/mesh/index.mjs.map +3 -3
  14. package/dist/lib/browser/meta.json +1 -1
  15. package/dist/lib/browser/testing/index.mjs +3 -3
  16. package/dist/lib/browser/testing/index.mjs.map +3 -3
  17. package/dist/lib/node/{chunk-IRRRZ2KE.cjs → chunk-3GRHATJ3.cjs} +5 -5
  18. package/dist/lib/node/{chunk-IRRRZ2KE.cjs.map → chunk-3GRHATJ3.cjs.map} +3 -3
  19. package/dist/lib/node/{chunk-PNDYOCJA.cjs → chunk-X5URYLUS.cjs} +7 -6
  20. package/dist/lib/node/chunk-X5URYLUS.cjs.map +7 -0
  21. package/dist/lib/node/devtools/index.cjs +2 -2
  22. package/dist/lib/node/echo/index.cjs +31 -20
  23. package/dist/lib/node/echo/index.cjs.map +3 -3
  24. package/dist/lib/node/halo/index.cjs +18 -31
  25. package/dist/lib/node/halo/index.cjs.map +3 -3
  26. package/dist/lib/node/index.cjs +9 -9
  27. package/dist/lib/node/invitations/index.cjs +7 -7
  28. package/dist/lib/node/invitations/index.cjs.map +1 -1
  29. package/dist/lib/node/mesh/index.cjs +4 -8
  30. package/dist/lib/node/mesh/index.cjs.map +3 -3
  31. package/dist/lib/node/meta.json +1 -1
  32. package/dist/lib/node/testing/index.cjs +4 -4
  33. package/dist/lib/node/testing/index.cjs.map +3 -3
  34. package/dist/types/src/echo/useQuery.d.ts +2 -2
  35. package/dist/types/src/echo/useQuery.d.ts.map +1 -1
  36. package/dist/types/src/echo/useSpaceInvitations.d.ts +2 -1
  37. package/dist/types/src/echo/useSpaceInvitations.d.ts.map +1 -1
  38. package/dist/types/src/halo/index.d.ts +1 -1
  39. package/dist/types/src/halo/index.d.ts.map +1 -1
  40. package/dist/types/src/halo/useContacts.d.ts.map +1 -1
  41. package/dist/types/src/halo/useDevices.d.ts.map +1 -1
  42. package/dist/types/src/halo/useHaloInvitations.d.ts +2 -1
  43. package/dist/types/src/halo/useHaloInvitations.d.ts.map +1 -1
  44. package/dist/types/src/invitations/useInvitationStatus.d.ts +1 -0
  45. package/dist/types/src/invitations/useInvitationStatus.d.ts.map +1 -1
  46. package/dist/types/src/mesh/useNetworkStatus.d.ts.map +1 -1
  47. package/dist/types/src/testing/ClientRepeater.d.ts +3 -3
  48. package/dist/types/src/testing/ClientRepeater.d.ts.map +1 -1
  49. package/package.json +33 -25
  50. package/src/client/useAgentHostingProvider.ts +2 -2
  51. package/src/echo/useQuery.ts +46 -15
  52. package/src/echo/useSpaceInvitations.ts +6 -18
  53. package/src/halo/index.ts +1 -10
  54. package/src/halo/useContacts.ts +2 -11
  55. package/src/halo/useDevices.ts +2 -11
  56. package/src/halo/useHaloInvitations.ts +6 -13
  57. package/src/invitations/useInvitationStatus.ts +3 -0
  58. package/src/mesh/useNetworkStatus.ts +2 -11
  59. package/src/testing/ClientRepeater.tsx +6 -8
  60. package/dist/lib/browser/chunk-Y64VSVTU.mjs.map +0 -7
  61. package/dist/lib/node/chunk-PNDYOCJA.cjs.map +0 -7
@@ -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":3273,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/invitations/useInvitationStatus.ts":{"bytes":17876,"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":3915,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","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":1424,"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":11223,"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":10595},"packages/sdk/react-client/dist/lib/browser/echo/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-Y64VSVTU.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":"@dxos/client/echo","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":454},"packages/sdk/react-client/src/echo/useSpaceInvitations.ts":{"bytesInOutput":839},"packages/sdk/react-client/src/echo/useSubscription.ts":{"bytesInOutput":519}},"bytes":4007},"packages/sdk/react-client/dist/lib/browser/halo/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7426},"packages/sdk/react-client/dist/lib/browser/halo/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-Y64VSVTU.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","HaloProxy","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":79},"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":3193},"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-Y64VSVTU.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-Y64VSVTU.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":9664},"packages/sdk/react-client/dist/lib/browser/chunk-Y64VSVTU.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":4166}},"bytes":4731},"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":6898},"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":2168},"packages/sdk/react-client/src/testing/FullscreenDecorator.tsx":{"bytesInOutput":290}},"bytes":2818},"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";
@@ -13,7 +13,7 @@ import { registerSignalFactory } from "@dxos/echo-signals/react";
13
13
  import { faker } from "@dxos/random";
14
14
  var testBuilder = new TestBuilder();
15
15
  var ClientRepeater = (props) => {
16
- const { component: Component, controls: Controls, count = 1, className = "flex w-full place-content-evenly", types, createIdentity, createSpace, onCreateSpace } = props;
16
+ const { component: Component, controls: Controls, count = 1, className = "flex w-full place-content-evenly", schema, createIdentity, createSpace, onCreateSpace } = props;
17
17
  if (props.registerSignalFactory ?? true) {
18
18
  registerSignalFactory();
19
19
  }
@@ -27,7 +27,7 @@ var ClientRepeater = (props) => {
27
27
  services: testBuilder.createLocal()
28
28
  }));
29
29
  await Promise.all(clients2.map((client) => client.initialize()));
30
- types && clients2.map((client) => client.spaces.addSchema(types));
30
+ schema && clients2.map((client) => client.addSchema(...schema));
31
31
  if (createIdentity || createSpace) {
32
32
  await Promise.all(clients2.map((client) => client.halo.createIdentity()));
33
33
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/testing/index.ts", "../../../../src/testing/ClientRepeater.tsx", "../../../../src/testing/FullscreenDecorator.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2020 DXOS.org\n//\n\nexport * from '@dxos/client/testing';\n\nexport * from './ClientRepeater';\nexport * from './FullscreenDecorator';\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport React, { useState, type FC, useEffect } from 'react';\n\nimport { Client, type PublicKey } from '@dxos/client';\nimport { type SpaceProxy, type Space, type TypeCollection } from '@dxos/client/echo';\nimport { TestBuilder, performInvitation } from '@dxos/client/testing';\nimport { registerSignalFactory } from '@dxos/echo-signals/react';\nimport { faker } from '@dxos/random';\nimport { type MaybePromise } from '@dxos/util';\n\nimport { ClientContext } from '../client';\n\nconst testBuilder = new TestBuilder();\n\nexport type RepeatedComponentProps = { id: number; count: number };\n\nexport type ClientRepeaterProps<P extends RepeatedComponentProps> = {\n component: FC<any>;\n controls?: FC<{ clients: Client[] }>;\n clients?: Client[];\n count?: number;\n registerSignalFactory?: boolean;\n className?: string;\n types?: TypeCollection;\n createIdentity?: boolean;\n createSpace?: boolean;\n onCreateSpace?: (space: Space) => MaybePromise<void>;\n args?: Omit<P, 'id' | 'count'>;\n};\n\n/**\n * Utility component for Storybook stories which sets up clients for n peers.\n * The `Component` property is rendered n times, once for each peer.\n */\n// NOTE: This is specifically not a storybook decorator because it broke stories as a decorator.\n// This seems primarily due to the fact that it required top-level await for the clients to initialize.\n// Storybook seemed to handle it alright, but Chromatic had a lot of trouble with it.\n// There was also a question of whether or not calling the story function multiple times was a good idea.\n// TODO(wittjosiah): Rename.\nexport const ClientRepeater = <P extends RepeatedComponentProps>(props: ClientRepeaterProps<P>) => {\n const {\n component: Component,\n controls: Controls,\n count = 1,\n className = 'flex w-full place-content-evenly',\n types,\n createIdentity,\n createSpace,\n onCreateSpace,\n } = props;\n if (props.registerSignalFactory ?? true) {\n registerSignalFactory();\n }\n\n const [clients, setClients] = useState(props.clients ?? []);\n const [spaceKey, setSpaceKey] = useState<PublicKey>();\n\n useEffect(() => {\n const timeout = setTimeout(async () => {\n const clients = [...Array(count)].map((_) => new Client({ services: testBuilder.createLocal() }));\n await Promise.all(clients.map((client) => client.initialize()));\n types && clients.map((client) => client.spaces.addSchema(types));\n\n if (createIdentity || createSpace) {\n await Promise.all(clients.map((client) => client.halo.createIdentity()));\n }\n\n if (createSpace) {\n const space = await clients[0].spaces.create({ name: faker.commerce.productName() });\n setSpaceKey(space.key);\n await onCreateSpace?.(space);\n await Promise.all(\n clients.slice(1).map((client) => performInvitation({ host: space as SpaceProxy, guest: client.spaces })),\n );\n }\n\n setClients(clients);\n });\n\n return () => clearTimeout(timeout);\n }, []);\n\n if (clients.length === 0) {\n return null;\n }\n\n return (\n <>\n {Controls && <Controls clients={clients} />}\n <div className={className}>\n {clients.map((client, index) => (\n <ClientContext.Provider key={index} value={{ client }}>\n <Component id={index} count={clients.length} {...{ ...props.args, spaceKey }} />\n </ClientContext.Provider>\n ))}\n </div>\n </>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport type { DecoratorFunction } from '@storybook/csf';\nimport type { ReactRenderer } from '@storybook/react';\nimport React from 'react';\n\nexport const FullscreenDecorator = (className?: string): DecoratorFunction<ReactRenderer> => {\n return (Story) => (\n <div className={['flex fixed inset-0 overflow-hidden', className].join(' ')}>\n <Story />\n </div>\n );\n};\n"],
5
- "mappings": ";;;;;AAIA,cAAc;;;ACAd,OAAOA,SAASC,UAAmBC,iBAAiB;AAEpD,SAASC,cAA8B;AAEvC,SAASC,aAAaC,yBAAyB;AAC/C,SAASC,6BAA6B;AACtC,SAASC,aAAa;AAKtB,IAAMC,cAAc,IAAIC,YAAAA;AA2BjB,IAAMC,iBAAiB,CAAmCC,UAAAA;AAC/D,QAAM,EACJC,WAAWC,WACXC,UAAUC,UACVC,QAAQ,GACRC,YAAY,oCACZC,OACAC,gBACAC,aACAC,cAAa,IACXV;AACJ,MAAIA,MAAMW,yBAAyB,MAAM;AACvCA,0BAAAA;EACF;AAEA,QAAM,CAACC,SAASC,UAAAA,IAAcC,SAASd,MAAMY,WAAW,CAAA,CAAE;AAC1D,QAAM,CAACG,UAAUC,WAAAA,IAAeF,SAAAA;AAEhCG,YAAU,MAAA;AACR,UAAMC,UAAUC,WAAW,YAAA;AACzB,YAAMP,WAAU;WAAIQ,MAAMf,KAAAA;QAAQgB,IAAI,CAACC,MAAM,IAAIC,OAAO;QAAEC,UAAU3B,YAAY4B,YAAW;MAAG,CAAA,CAAA;AAC9F,YAAMC,QAAQC,IAAIf,SAAQS,IAAI,CAACO,WAAWA,OAAOC,WAAU,CAAA,CAAA;AAC3DtB,eAASK,SAAQS,IAAI,CAACO,WAAWA,OAAOE,OAAOC,UAAUxB,KAAAA,CAAAA;AAEzD,UAAIC,kBAAkBC,aAAa;AACjC,cAAMiB,QAAQC,IAAIf,SAAQS,IAAI,CAACO,WAAWA,OAAOI,KAAKxB,eAAc,CAAA,CAAA;MACtE;AAEA,UAAIC,aAAa;AACf,cAAMwB,QAAQ,MAAMrB,SAAQ,CAAA,EAAGkB,OAAOI,OAAO;UAAEC,MAAMC,MAAMC,SAASC,YAAW;QAAG,CAAA;AAClFtB,oBAAYiB,MAAMM,GAAG;AACrB,cAAM7B,gBAAgBuB,KAAAA;AACtB,cAAMP,QAAQC,IACZf,SAAQ4B,MAAM,CAAA,EAAGnB,IAAI,CAACO,WAAWa,kBAAkB;UAAEC,MAAMT;UAAqBU,OAAOf,OAAOE;QAAO,CAAA,CAAA,CAAA;MAEzG;AAEAjB,iBAAWD,QAAAA;IACb,CAAA;AAEA,WAAO,MAAMgC,aAAa1B,OAAAA;EAC5B,GAAG,CAAA,CAAE;AAEL,MAAIN,QAAQiC,WAAW,GAAG;AACxB,WAAO;EACT;AAEA,SACE,sBAAA,cAAA,MAAA,UAAA,MACGzC,YAAY,sBAAA,cAACA,UAAAA;IAASQ;MACvB,sBAAA,cAACkC,OAAAA;IAAIxC;KACFM,QAAQS,IAAI,CAACO,QAAQmB,UACpB,sBAAA,cAACC,cAAcC,UAAQ;IAACV,KAAKQ;IAAOG,OAAO;MAAEtB;IAAO;KAClD,sBAAA,cAAC1B,WAAAA;IAAUiD,IAAIJ;IAAO1C,OAAOO,QAAQiC;IAAc,GAAG7C,MAAMoD;IAAMrC;;AAM9E;;;AC/FA,OAAOsC,YAAW;AAEX,IAAMC,sBAAsB,CAACC,cAAAA;AAClC,SAAO,CAACC,UACN,gBAAAC,OAAA,cAACC,OAAAA;IAAIH,WAAW;MAAC;MAAsCA;MAAWI,KAAK,GAAA;KACrE,gBAAAF,OAAA,cAACD,OAAAA,IAAAA,CAAAA;AAGP;",
6
- "names": ["React", "useState", "useEffect", "Client", "TestBuilder", "performInvitation", "registerSignalFactory", "faker", "testBuilder", "TestBuilder", "ClientRepeater", "props", "component", "Component", "controls", "Controls", "count", "className", "types", "createIdentity", "createSpace", "onCreateSpace", "registerSignalFactory", "clients", "setClients", "useState", "spaceKey", "setSpaceKey", "useEffect", "timeout", "setTimeout", "Array", "map", "_", "Client", "services", "createLocal", "Promise", "all", "client", "initialize", "spaces", "addSchema", "halo", "space", "create", "name", "faker", "commerce", "productName", "key", "slice", "performInvitation", "host", "guest", "clearTimeout", "length", "div", "index", "ClientContext", "Provider", "value", "id", "args", "React", "FullscreenDecorator", "className", "Story", "React", "div", "join"]
4
+ "sourcesContent": ["//\n// Copyright 2020 DXOS.org\n//\n\nexport * from '@dxos/client/testing';\n\nexport * from './ClientRepeater';\nexport * from './FullscreenDecorator';\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport React, { useState, type FC, useEffect } from 'react';\n\nimport { Client, type PublicKey } from '@dxos/client';\nimport { type Space } from '@dxos/client/echo';\nimport { TestBuilder, performInvitation } from '@dxos/client/testing';\nimport { registerSignalFactory } from '@dxos/echo-signals/react';\nimport { faker } from '@dxos/random';\nimport { type MaybePromise } from '@dxos/util';\n\nimport { ClientContext } from '../client';\n\nconst testBuilder = new TestBuilder();\n\nexport type RepeatedComponentProps = { id: number; count: number };\n\nexport type ClientRepeaterProps<P extends RepeatedComponentProps> = {\n component: FC<any>;\n className?: string;\n controls?: FC<{ clients: Client[] }>;\n clients?: Client[];\n count?: number;\n registerSignalFactory?: boolean;\n schema?: Parameters<Client['addSchema']>;\n createIdentity?: boolean;\n createSpace?: boolean;\n onCreateSpace?: (space: Space) => MaybePromise<void>;\n args?: Omit<P, 'id' | 'count'>;\n};\n\n/**\n * Utility component for Storybook stories which sets up clients for n peers.\n * The `Component` property is rendered n times, once for each peer.\n */\n// NOTE: This is specifically not a storybook decorator because it broke stories as a decorator.\n// This seems primarily due to the fact that it required top-level await for the clients to initialize.\n// Storybook seemed to handle it alright, but Chromatic had a lot of trouble with it.\n// There was also a question of whether or not calling the story function multiple times was a good idea.\n// TODO(wittjosiah): Rename.\nexport const ClientRepeater = <P extends RepeatedComponentProps>(props: ClientRepeaterProps<P>) => {\n const {\n component: Component,\n controls: Controls,\n count = 1,\n className = 'flex w-full place-content-evenly',\n schema,\n createIdentity,\n createSpace,\n onCreateSpace,\n } = props;\n if (props.registerSignalFactory ?? true) {\n registerSignalFactory();\n }\n\n const [clients, setClients] = useState(props.clients ?? []);\n const [spaceKey, setSpaceKey] = useState<PublicKey>();\n\n useEffect(() => {\n const timeout = setTimeout(async () => {\n const clients = [...Array(count)].map((_) => new Client({ services: testBuilder.createLocal() }));\n await Promise.all(clients.map((client) => client.initialize()));\n schema && clients.map((client) => client.addSchema(...schema));\n\n if (createIdentity || createSpace) {\n await Promise.all(clients.map((client) => client.halo.createIdentity()));\n }\n\n if (createSpace) {\n const space = await clients[0].spaces.create({ name: faker.commerce.productName() });\n setSpaceKey(space.key);\n await onCreateSpace?.(space);\n await Promise.all(clients.slice(1).map((client) => performInvitation({ host: space, guest: client.spaces })));\n }\n\n setClients(clients);\n });\n\n return () => clearTimeout(timeout);\n }, []);\n\n if (clients.length === 0) {\n return null;\n }\n\n return (\n <>\n {Controls && <Controls clients={clients} />}\n <div className={className}>\n {clients.map((client, index) => (\n <ClientContext.Provider key={index} value={{ client }}>\n <Component id={index} count={clients.length} {...{ ...props.args, spaceKey }} />\n </ClientContext.Provider>\n ))}\n </div>\n </>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport type { DecoratorFunction } from '@storybook/csf';\nimport type { ReactRenderer } from '@storybook/react';\nimport React from 'react';\n\nexport const FullscreenDecorator = (className?: string): DecoratorFunction<ReactRenderer> => {\n return (Story) => (\n <div className={['flex fixed inset-0 overflow-hidden', className].join(' ')}>\n <Story />\n </div>\n );\n};\n"],
5
+ "mappings": ";;;;;AAIA,cAAc;;;ACAd,OAAOA,SAASC,UAAmBC,iBAAiB;AAEpD,SAASC,cAA8B;AAEvC,SAASC,aAAaC,yBAAyB;AAC/C,SAASC,6BAA6B;AACtC,SAASC,aAAa;AAKtB,IAAMC,cAAc,IAAIC,YAAAA;AA2BjB,IAAMC,iBAAiB,CAAmCC,UAAAA;AAC/D,QAAM,EACJC,WAAWC,WACXC,UAAUC,UACVC,QAAQ,GACRC,YAAY,oCACZC,QACAC,gBACAC,aACAC,cAAa,IACXV;AACJ,MAAIA,MAAMW,yBAAyB,MAAM;AACvCA,0BAAAA;EACF;AAEA,QAAM,CAACC,SAASC,UAAAA,IAAcC,SAASd,MAAMY,WAAW,CAAA,CAAE;AAC1D,QAAM,CAACG,UAAUC,WAAAA,IAAeF,SAAAA;AAEhCG,YAAU,MAAA;AACR,UAAMC,UAAUC,WAAW,YAAA;AACzB,YAAMP,WAAU;WAAIQ,MAAMf,KAAAA;QAAQgB,IAAI,CAACC,MAAM,IAAIC,OAAO;QAAEC,UAAU3B,YAAY4B,YAAW;MAAG,CAAA,CAAA;AAC9F,YAAMC,QAAQC,IAAIf,SAAQS,IAAI,CAACO,WAAWA,OAAOC,WAAU,CAAA,CAAA;AAC3DtB,gBAAUK,SAAQS,IAAI,CAACO,WAAWA,OAAOE,UAAS,GAAIvB,MAAAA,CAAAA;AAEtD,UAAIC,kBAAkBC,aAAa;AACjC,cAAMiB,QAAQC,IAAIf,SAAQS,IAAI,CAACO,WAAWA,OAAOG,KAAKvB,eAAc,CAAA,CAAA;MACtE;AAEA,UAAIC,aAAa;AACf,cAAMuB,QAAQ,MAAMpB,SAAQ,CAAA,EAAGqB,OAAOC,OAAO;UAAEC,MAAMC,MAAMC,SAASC,YAAW;QAAG,CAAA;AAClFtB,oBAAYgB,MAAMO,GAAG;AACrB,cAAM7B,gBAAgBsB,KAAAA;AACtB,cAAMN,QAAQC,IAAIf,SAAQ4B,MAAM,CAAA,EAAGnB,IAAI,CAACO,WAAWa,kBAAkB;UAAEC,MAAMV;UAAOW,OAAOf,OAAOK;QAAO,CAAA,CAAA,CAAA;MAC3G;AAEApB,iBAAWD,QAAAA;IACb,CAAA;AAEA,WAAO,MAAMgC,aAAa1B,OAAAA;EAC5B,GAAG,CAAA,CAAE;AAEL,MAAIN,QAAQiC,WAAW,GAAG;AACxB,WAAO;EACT;AAEA,SACE,sBAAA,cAAA,MAAA,UAAA,MACGzC,YAAY,sBAAA,cAACA,UAAAA;IAASQ;MACvB,sBAAA,cAACkC,OAAAA;IAAIxC;KACFM,QAAQS,IAAI,CAACO,QAAQmB,UACpB,sBAAA,cAACC,cAAcC,UAAQ;IAACV,KAAKQ;IAAOG,OAAO;MAAEtB;IAAO;KAClD,sBAAA,cAAC1B,WAAAA;IAAUiD,IAAIJ;IAAO1C,OAAOO,QAAQiC;IAAc,GAAG7C,MAAMoD;IAAMrC;;AAM9E;;;AC7FA,OAAOsC,YAAW;AAEX,IAAMC,sBAAsB,CAACC,cAAAA;AAClC,SAAO,CAACC,UACN,gBAAAC,OAAA,cAACC,OAAAA;IAAIH,WAAW;MAAC;MAAsCA;MAAWI,KAAK,GAAA;KACrE,gBAAAF,OAAA,cAACD,OAAAA,IAAAA,CAAAA;AAGP;",
6
+ "names": ["React", "useState", "useEffect", "Client", "TestBuilder", "performInvitation", "registerSignalFactory", "faker", "testBuilder", "TestBuilder", "ClientRepeater", "props", "component", "Component", "controls", "Controls", "count", "className", "schema", "createIdentity", "createSpace", "onCreateSpace", "registerSignalFactory", "clients", "setClients", "useState", "spaceKey", "setSpaceKey", "useEffect", "timeout", "setTimeout", "Array", "map", "_", "Client", "services", "createLocal", "Promise", "all", "client", "initialize", "addSchema", "halo", "space", "spaces", "create", "name", "faker", "commerce", "productName", "key", "slice", "performInvitation", "host", "guest", "clearTimeout", "length", "div", "index", "ClientContext", "Provider", "value", "id", "args", "React", "FullscreenDecorator", "className", "Story", "React", "div", "join"]
7
7
  }
@@ -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": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mBASO;AAEP,oBAA2C;AAC3C,sBAA+E;AAE/E,mBAAsB;AACtB,IAAAA,gBAAsC;AACtC,iBAAoB;AACpB,kBAAgE;AEjBhE,IAAAA,gBAA2B;AAG3B,IAAAC,gBAAsB;ACHtB,IAAAD,gBAA2B;AAE3B,IAAAC,gBAAsB;AEFtB,IAAAD,gBAA2B;AAG3B,IAAAC,gBAAsB;ACHtB,IAAAC,mBAIO;AAEP,IAAAC,cAAoB;ALHpB,IAAMC,SAAS,CAACC,WAAAA;AACd,QAAMC,aAAaD,OAAOE,OAAOC,IAAI,8BAAA;AACrC,QAAMC,OAAOH,aAAa,eAAeA,UAAAA;IAAkB;AAE3D,SACE;;;;;;;eAMkBD,OAAOK,OAAO;EAAMD,IAAAA;AAE1C;AAEA,IAAIE,gBAAgB;AAEb,IAAMC,cAAc,CAACP,WAAAA;AAC1B,MAAIM,eAAe;AACjB;EACF;AAEAA,kBAAgB;AAEhBE,UAAQC,IAAI,KAAKV,OAAOC,MAAAA,CAAAA,IAAW,yBAAA;AACrC;;ADIO,IAAMU,gBAAyDC,gDACpEC,MAAAA;AAOK,IAAMC,YAAY,MAAA;AACvB,QAAM,EAAEb,OAAM,QAAKc,yBAAWJ,aAAAA,SAAkBK,oBAAM,IAAIC,MAAM,wBAAA,CAAA;AAChE,SAAOhB;AACT;AAiDO,IAAMiB,iBAAiB,CAAC,EAC7BC,UACAhB,QAAQiB,gBACRC,UAAUC,gBACVrB,QAAQsB,gBACRC,UAAUC,WAAW,MAAM,MAC3BC,uBAAuBC,WAAW,MAClCC,eACA,GAAGC,QAAAA,MACiB;AACpBC,4BAAQ,MAAA;AAGNH,oBAAYD,qCAAAA;EACd,GAAG,CAAA,CAAE;AAEL,QAAM,CAACzB,QAAQ8B,SAAAA,QAAaC,uBAAST,0BAA0BU,uBAASV,iBAAiBV,MAAAA;AACzF,QAAM,CAACqB,QAAQC,SAAAA,QAAaH,uBAA8B,IAAA;AAC1D,QAAM,CAACI,OAAOC,QAAAA,QAAYL,uBAAAA;AAC1B,MAAII,OAAO;AACT,UAAMA;EACR;AAEAE,8BAAU,MAAA;AACR,QAAI,CAACrC,QAAQ;AACX;IACF;AAEA,UAAMsC,eAAetC,OAAOiC,OAAOM,UAAU,CAACN,YAAWC,UAAUD,OAAAA,CAAAA;AACnE,WAAO,MAAMK,aAAaE,YAAW;EACvC,GAAG;IAACxC;IAAQkC;GAAU;AAEtBG,8BAAU,MAAA;AACR,UAAMI,OAAO,OAAOzC,YAAAA;AAClB,YAAMA,QAAO0C,WAAU,EAAGC,MAAMP,QAAAA;AAChC3B,0BAAI,gBAAA,QAAA;;;;;;AACJ,YAAMkB,gBAAgB3B,OAAAA;AACtBS,0BAAI,2BAAA,QAAA;;;;;;AACJqB,gBAAU9B,OAAAA;AACVkC,gBAAUlC,QAAOiC,OAAO9B,IAAG,KAAMyC,6BAAaC,MAAM;AACpDtC,kBAAYP,OAAAA;IACd;AAEA,UAAM8C,UAAUC,WAAW,YAAA;AACzB,UAAIzB,gBAAgB;AAElB,cAAMtB,UAAS,UAAMgD,2BAAc1B,cAAAA;AACnC,cAAMmB,KAAKzC,OAAAA;MACb,OAAO;AAEL,cAAME,SAAS,UAAM8C,2BAAc7B,cAAAA;AACnCV,4BAAI,mBAAmB;UAAEP;QAAO,GAAA;;;;;;AAChC,cAAMkB,WAAW,MAAMC,iBAAiBnB,MAAAA;AACxCO,4BAAI,oBAAoB;UAAEW;QAAS,GAAA;;;;;;AACnC,cAAMpB,UAAS,IAAIgC,qBAAO;UAAE9B;UAAQkB;UAAU,GAAGQ;QAAQ,CAAA;AACzDnB,4BAAI,kBAAA,QAAA;;;;;;AACJ,cAAMgC,KAAKzC,OAAAA;MACb;IACF,CAAA;AAEA,WAAO,MAAA;AACLS,0BAAI,YAAA,QAAA;;;;;;AACJwC,mBAAaH,OAAAA;AACb,WAAK9C,QAAQkD,QAAAA,EAAUP,MAAM,CAACQ,QAAQ1C,eAAIkC,MAAMQ,KAAAA,QAAAA;;;;;;IAClD;EACF,GAAG;IAAC7B;IAAgBH;IAAgBE;GAAe;AAEnD,MAAI,CAACrB,UAAUiC,WAAWW,6BAAaC,QAAQ;AAC7C,WAAO,6BAAAO,QAAA,cAAC5B,UAAAA;MAASxB;MAAgBiC;;EACnC;AAGA,SACE,6BAAAmB,QAAA,cAAC1C,cAAc2C,UAAQ;IAACC,OAAO;MAAEtD;MAAQiC;IAAO;KAC7Cf,QAAAA;AAGP;AElKO,IAAMqC,oBAAoB,MAAA;AAC/B,QAAM,EAAEnC,SAAQ,QAAKN,cAAAA,YAAWJ,aAAAA,SAAkBK,cAAAA,OAAM,IAAIC,MAAM,wBAAA,CAAA;AAClE,SAAOI;AACT;ACAO,IAAMoC,YAAY,MAAA;AACvB,QAAM,EAAExD,OAAM,QAAKc,cAAAA,YAAWJ,aAAAA,SAAkBK,cAAAA,OAAM,IAAIC,MAAM,wBAAA,CAAA;AAChE,SAAOhB,OAAOE;AAChB;ACNO,IAAMuD,WAAW,MAAA;AACtB,QAAMzD,SAASa,UAAAA;AACf,SAAOb,OAAO0D;AAChB;ACHO,IAAMC,YAAY,MAAA;AACvB,QAAM,EAAE1B,OAAM,QAAKnB,cAAAA,YAAWJ,aAAAA,SAAkBK,cAAAA,OAAM,IAAIC,MAAM,wBAAA,CAAA;AAChE,SAAOiB;AACT;;ACEO,IAAM2B,gCAAgC,CAAC1D,WAAAA;AAE5C,MACEA,OAAOC,IAAI,gCAAA,MAAsC,iBACjD0D,aAAaC,QAAQ,sCAAA,MAA4C,QACjE;AACA,WAAO;EACT;AAEA,QAAMC,qBAAqB7D,OAAOC,IAAI,+BAAA;AACtC,MAAI,CAAC4D,oBAAoB;AACvBtD,gBAAAA,IAAIuD,KAAK,+BAAA,QAAA;;;;;;AACT,WAAO;EACT;AAEA,MAAID,mBAAmBE,SAAS,iBAAiB;AAC/C,WAAO,IAAIC,0CAAyBhE,MAAAA;EACtC;AAEA,SAAO,IAAIiE,iDAAgCjE,MAAAA;AAC7C;",
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
  }
@@ -16,8 +16,8 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_PNDYOCJA_exports = {};
20
- __export(chunk_PNDYOCJA_exports, {
19
+ var chunk_X5URYLUS_exports = {};
20
+ __export(chunk_X5URYLUS_exports, {
21
21
  AuthenticatingInvitationObservable: () => import_invitations.AuthenticatingInvitationObservable,
22
22
  CancellableInvitationObservable: () => import_invitations.CancellableInvitationObservable,
23
23
  Invitation: () => import_invitations.Invitation,
@@ -25,7 +25,7 @@ __export(chunk_PNDYOCJA_exports, {
25
25
  InvitationsProxy: () => import_invitations.InvitationsProxy,
26
26
  useInvitationStatus: () => useInvitationStatus
27
27
  });
28
- module.exports = __toCommonJS(chunk_PNDYOCJA_exports);
28
+ module.exports = __toCommonJS(chunk_X5URYLUS_exports);
29
29
  var import_invitations = require("@dxos/client/invitations");
30
30
  var import_react = require("react");
31
31
  var import_invitations2 = require("@dxos/client/invitations");
@@ -37,7 +37,7 @@ var useInvitationStatus = (initialObservable) => {
37
37
  action
38
38
  }, {
39
39
  F: __dxlog_file,
40
- L: 79,
40
+ L: 81,
41
41
  S: void 0,
42
42
  C: (f, a) => f(...a)
43
43
  });
@@ -129,7 +129,7 @@ var useInvitationStatus = (initialObservable) => {
129
129
  authCode
130
130
  }, {
131
131
  F: __dxlog_file,
132
- L: 163,
132
+ L: 165,
133
133
  S: void 0,
134
134
  C: (f, a) => f(...a)
135
135
  });
@@ -151,6 +151,7 @@ var useInvitationStatus = (initialObservable) => {
151
151
  connect,
152
152
  authenticate,
153
153
  id: invitation?.invitationId,
154
+ multiUse: invitation?.multiUse,
154
155
  invitationCode: invitation ? import_invitations2.InvitationEncoder.encode(invitation) : void 0,
155
156
  authCode: invitation?.authCode,
156
157
  authMethod: invitation?.authMethod,
@@ -173,4 +174,4 @@ var useInvitationStatus = (initialObservable) => {
173
174
  InvitationsProxy,
174
175
  useInvitationStatus
175
176
  });
176
- //# sourceMappingURL=chunk-PNDYOCJA.cjs.map
177
+ //# sourceMappingURL=chunk-X5URYLUS.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/invitations/index.ts", "../../../src/invitations/useInvitationStatus.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2020 DXOS.org\n//\n\n// NOTE: Export * fails here.\nexport {\n AuthenticatingInvitationObservable,\n CancellableInvitationObservable,\n InvitationEncoder,\n Invitation,\n type Invitations,\n InvitationsProxy,\n} from '@dxos/client/invitations';\n\nexport * from './useInvitationStatus';\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { useReducer, type Reducer, useMemo, useCallback, useEffect } from 'react';\n\nimport { type PublicKey } from '@dxos/client';\nimport {\n type AuthenticatingInvitationObservable,\n type CancellableInvitationObservable,\n Invitation,\n InvitationEncoder,\n} from '@dxos/client/invitations';\nimport { log } from '@dxos/log';\n\nexport type InvitationResult = {\n spaceKey: PublicKey | null;\n identityKey: PublicKey | null;\n swarmKey: PublicKey | null;\n target: string | null;\n};\n\ninterface InvitationReducerState {\n status: Invitation.State; // TODO(burdon): Rename state.\n haltedAt?: Invitation.State;\n result: InvitationResult;\n error?: number;\n observable?: CancellableInvitationObservable | AuthenticatingInvitationObservable;\n id?: string;\n invitationCode?: string;\n authCode?: string;\n multiUse?: boolean;\n}\n\nexport type InvitationAction =\n | {\n status:\n | Invitation.State.INIT\n | Invitation.State.CONNECTED\n | Invitation.State.READY_FOR_AUTHENTICATION\n | Invitation.State.AUTHENTICATING;\n }\n | {\n status: Invitation.State.CONNECTING;\n observable: CancellableInvitationObservable;\n }\n | {\n status: Invitation.State.SUCCESS;\n result: InvitationResult;\n }\n | {\n status: Invitation.State.CANCELLED | Invitation.State.TIMEOUT;\n haltedAt: Invitation.State;\n }\n | {\n status: Invitation.State.ERROR;\n error?: Error;\n haltedAt: Invitation.State;\n };\n\nexport type InvitationStatus = {\n id?: string;\n invitationCode?: string;\n authCode?: string;\n authMethod?: Invitation.AuthMethod;\n type?: Invitation.Type;\n status: Invitation.State;\n haltedAt?: Invitation.State;\n multiUse?: boolean;\n result: InvitationResult;\n error?: number;\n cancel(): void;\n // TODO(wittjosiah): Remove?\n connect(observable: CancellableInvitationObservable): void;\n authenticate(authCode: string): Promise<void>;\n};\n\nexport const useInvitationStatus = (initialObservable?: CancellableInvitationObservable): InvitationStatus => {\n const [state, dispatch] = useReducer<Reducer<InvitationReducerState, InvitationAction>, null>(\n (prev, action) => {\n log('useInvitationStatus', { action });\n return {\n ...prev,\n // TODO(burdon): State.\n status: action.status,\n // `invitationObservable`, `secret`, and `result` is persisted between the status-actions that set them.\n result: action.status === Invitation.State.SUCCESS ? action.result : prev.result,\n // `error` gets set each time we enter the error state\n ...(action.status === Invitation.State.ERROR && { error: action.error }),\n // `haltedAt` gets set on only the first error/cancelled/timeout action and reset on any others.\n ...((action.status === Invitation.State.ERROR ||\n action.status === Invitation.State.CANCELLED ||\n action.status === Invitation.State.TIMEOUT) && {\n haltedAt: typeof prev.haltedAt === 'undefined' ? action.haltedAt : prev.haltedAt,\n }),\n observable:\n action.status === Invitation.State.CONNECTING ? action.observable ?? prev.observable : prev.observable,\n } as InvitationReducerState;\n },\n null,\n (_arg: null) => {\n return {\n status: Invitation.State.INIT,\n result: { spaceKey: null, identityKey: null, swarmKey: null, target: null },\n observable: initialObservable,\n };\n },\n );\n\n // Handle unmount.\n\n useEffect(() => {\n const update = (invitation: Invitation) => {\n switch (invitation.state) {\n case Invitation.State.CONNECTED:\n case Invitation.State.READY_FOR_AUTHENTICATION:\n case Invitation.State.AUTHENTICATING: {\n dispatch({\n status: invitation.state,\n });\n break;\n }\n\n case Invitation.State.SUCCESS: {\n dispatch({\n status: invitation.state,\n result: {\n spaceKey: invitation.spaceKey || null,\n identityKey: invitation.identityKey || null,\n swarmKey: invitation.swarmKey || null,\n target: invitation.target || null,\n },\n });\n break;\n }\n\n case Invitation.State.CANCELLED:\n case Invitation.State.TIMEOUT: {\n dispatch({ status: invitation.state, haltedAt: state.status });\n break;\n }\n }\n };\n\n const subscription = state.observable?.subscribe(update, (err: Error) => {\n dispatch({ status: Invitation.State.ERROR, error: err, haltedAt: state.status });\n });\n\n const currentState = state.observable?.get();\n if (currentState) {\n update(currentState);\n }\n\n return () => subscription?.unsubscribe();\n }, [state.observable, state.status]);\n\n // Return memoized callbacks & values.\n\n const connect = useCallback((observable: CancellableInvitationObservable) => {\n dispatch({ status: Invitation.State.CONNECTING, observable });\n }, []);\n\n const authenticate = useCallback(\n (authCode: string) => {\n log('authenticating...', { authCode });\n return (state.observable as AuthenticatingInvitationObservable).authenticate(authCode);\n },\n [state.observable],\n );\n\n const cancel = useCallback(async () => state.observable?.cancel(), [state.observable]);\n\n return useMemo(() => {\n const invitation = state.observable?.get();\n const result = {\n status: state.status,\n haltedAt: state.haltedAt,\n result: state.result,\n error: state.error,\n cancel,\n connect,\n authenticate,\n id: invitation?.invitationId,\n multiUse: invitation?.multiUse,\n invitationCode: invitation ? InvitationEncoder.encode(invitation) : undefined,\n authCode: invitation?.authCode,\n authMethod: invitation?.authMethod,\n type: invitation?.type,\n };\n\n return result;\n }, [state, cancel, connect, authenticate]);\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["import_invitations", "useInvitationStatus", "initialObservable", "state", "dispatch", "useReducer", "prev", "action", "log", "status", "result", "Invitation", "State", "SUCCESS", "ERROR", "error", "CANCELLED", "TIMEOUT", "haltedAt", "observable", "CONNECTING", "_arg", "INIT", "spaceKey", "identityKey", "swarmKey", "target", "useEffect", "update", "invitation", "CONNECTED", "READY_FOR_AUTHENTICATION", "AUTHENTICATING", "subscription", "subscribe", "err", "currentState", "get", "unsubscribe", "connect", "useCallback", "authenticate", "authCode", "cancel", "useMemo", "id", "invitationId", "multiUse", "invitationCode", "InvitationEncoder", "encode", "undefined", "authMethod", "type"]
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,
@@ -28,8 +28,8 @@ __export(echo_exports, {
28
28
  useSubscription: () => useSubscription
29
29
  });
30
30
  module.exports = __toCommonJS(echo_exports);
31
- var import_chunk_PNDYOCJA = require("../chunk-PNDYOCJA.cjs");
32
- var import_chunk_IRRRZ2KE = require("../chunk-IRRRZ2KE.cjs");
31
+ var import_chunk_X5URYLUS = require("../chunk-X5URYLUS.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,12 +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_react3 = require("react");
42
41
  var import_echo3 = require("@dxos/client/echo");
42
+ var import_react3 = require("react");
43
+ var import_async2 = require("@dxos/async");
44
+ var import_react_async3 = require("@dxos/react-async");
43
45
  var import_react4 = require("react");
44
46
  var import_echo4 = require("@dxos/client/echo");
45
47
  var useSpace = (spaceKey) => {
46
- const client = (0, import_chunk_IRRRZ2KE.useClient)();
48
+ const client = (0, import_chunk_3GRHATJ3.useClient)();
47
49
  const spaces = (0, import_react_async2.useMulticastObservable)(client.spaces);
48
50
  const [ready, setReady] = (0, import_react.useState)(false);
49
51
  (0, import_react.useEffect)(() => {
@@ -67,7 +69,7 @@ var useSpace = (spaceKey) => {
67
69
  }
68
70
  };
69
71
  var useSpaces = ({ all = false } = {}) => {
70
- const client = (0, import_chunk_IRRRZ2KE.useClient)();
72
+ const client = (0, import_chunk_3GRHATJ3.useClient)();
71
73
  const spaces = (0, import_react_async2.useMulticastObservable)(client.spaces);
72
74
  return spaces.filter((space) => all || space.state.get() === import_echo2.SpaceState.READY);
73
75
  };
@@ -79,33 +81,42 @@ var useMembers = (spaceKey) => {
79
81
  const members = (0, import_react_async.useMulticastObservable)(space?.members ?? import_async.MulticastObservable.empty()) ?? [];
80
82
  return members.filter((member) => member.presence !== import_echo.SpaceMember.PresenceState.REMOVED);
81
83
  };
82
- var useQuery = (space, filter, options, deps) => {
83
- const query = (0, import_react2.useMemo)(() => space?.db.query(filter, options), [
84
- 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,
85
101
  ...typeof filter === "function" ? [] : filterToDepsArray(filter),
86
102
  ...deps ?? []
87
103
  ]);
88
- return (0, import_react2.useSyncExternalStore)((cb) => query?.subscribe?.(cb) ?? cb, () => query?.objects) ?? [];
104
+ return (0, import_react2.useSyncExternalStore)(subscribe, getObjects) ?? [];
89
105
  };
90
- var filterToDepsArray = (filter) => Object.entries(filter ?? {}).flat();
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 = [];
91
110
  var useSpaceInvitations = (spaceKey) => {
92
111
  const space = useSpace(spaceKey);
93
- const invitations = (0, import_react3.useSyncExternalStore)((listener) => {
94
- if (!(space instanceof import_echo3.SpaceProxy)) {
95
- return () => {
96
- };
97
- }
98
- const subscription = space.invitations.subscribe(() => listener());
99
- return () => subscription.unsubscribe();
100
- }, () => space?.invitations.get()) ?? [];
101
- return invitations;
112
+ return (0, import_react_async3.useMulticastObservable)(space?.invitations ?? import_async2.MulticastObservable.empty()) ?? [];
102
113
  };
103
114
  var useSpaceInvitation = (spaceKey, invitationId) => {
104
115
  const invitations = useSpaceInvitations(spaceKey);
105
116
  const invitation = (0, import_react3.useMemo)(() => invitations.find((invitation2) => invitation2.get().invitationId === invitationId), [
106
117
  invitations
107
118
  ]);
108
- return (0, import_chunk_PNDYOCJA.useInvitationStatus)(invitation);
119
+ return (0, import_chunk_X5URYLUS.useInvitationStatus)(invitation);
109
120
  };
110
121
  var useSubscription = (cb, selection) => {
111
122
  const callbackRef = (0, import_react4.useRef)(cb);