@dxos/react-client 0.6.12-main.f9d0246 → 0.6.12-staging.0b4bb48

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 (82) hide show
  1. package/dist/lib/browser/{chunk-ESSNDYBJ.mjs → chunk-CL7JDETM.mjs} +61 -70
  2. package/dist/lib/browser/chunk-CL7JDETM.mjs.map +7 -0
  3. package/dist/lib/browser/devtools/index.mjs +1 -1
  4. package/dist/lib/browser/echo/index.mjs +4 -6
  5. package/dist/lib/browser/echo/index.mjs.map +3 -3
  6. package/dist/lib/browser/halo/index.mjs +1 -1
  7. package/dist/lib/browser/index.mjs +3 -1
  8. package/dist/lib/browser/index.mjs.map +1 -1
  9. package/dist/lib/browser/mesh/index.mjs +1 -1
  10. package/dist/lib/browser/meta.json +1 -1
  11. package/dist/lib/browser/testing/index.mjs +21 -28
  12. package/dist/lib/browser/testing/index.mjs.map +3 -3
  13. package/dist/lib/node/{chunk-N474KOAU.cjs → chunk-C4EWAKPZ.cjs} +61 -71
  14. package/dist/lib/node/chunk-C4EWAKPZ.cjs.map +7 -0
  15. package/dist/lib/node/devtools/index.cjs +2 -2
  16. package/dist/lib/node/echo/index.cjs +5 -7
  17. package/dist/lib/node/echo/index.cjs.map +3 -3
  18. package/dist/lib/node/halo/index.cjs +5 -5
  19. package/dist/lib/node/index.cjs +14 -12
  20. package/dist/lib/node/index.cjs.map +1 -1
  21. package/dist/lib/node/mesh/index.cjs +2 -2
  22. package/dist/lib/node/meta.json +1 -1
  23. package/dist/lib/node/testing/index.cjs +23 -30
  24. package/dist/lib/node/testing/index.cjs.map +3 -3
  25. package/dist/types/src/client/ClientProvider.d.ts +9 -65
  26. package/dist/types/src/client/ClientProvider.d.ts.map +1 -1
  27. package/dist/types/src/client/context.d.ts +4 -1
  28. package/dist/types/src/client/context.d.ts.map +1 -1
  29. package/dist/types/src/client/index.d.ts +1 -0
  30. package/dist/types/src/client/index.d.ts.map +1 -1
  31. package/dist/types/src/client/useClientServices.d.ts +3 -0
  32. package/dist/types/src/client/useClientServices.d.ts.map +1 -0
  33. package/dist/types/src/echo/useQuery.d.ts.map +1 -1
  34. package/dist/types/src/playwright/playwright.config.d.ts +2 -2
  35. package/dist/types/src/playwright/playwright.config.d.ts.map +1 -1
  36. package/dist/types/src/testing/util.d.ts +3 -5
  37. package/dist/types/src/testing/util.d.ts.map +1 -1
  38. package/dist/types/src/testing/withClientProvider.d.ts +1 -4
  39. package/dist/types/src/testing/withClientProvider.d.ts.map +1 -1
  40. package/dist/types/src/testing/withClientProvider.stories.d.ts +3 -4
  41. package/dist/types/src/testing/withClientProvider.stories.d.ts.map +1 -1
  42. package/package.json +38 -47
  43. package/project.json +22 -3
  44. package/src/client/ClientProvider.test.tsx +4 -7
  45. package/src/client/ClientProvider.tsx +90 -130
  46. package/src/client/context.ts +4 -4
  47. package/src/client/index.ts +3 -0
  48. package/src/client/useClientServices.ts +15 -0
  49. package/src/client/useConfig.test.tsx +11 -7
  50. package/src/echo/useQuery.ts +6 -3
  51. package/src/echo/useSpaces.test.tsx +8 -6
  52. package/src/halo/useDevices.test.tsx +5 -3
  53. package/src/playwright/playwright.config.ts +2 -13
  54. package/src/playwright/smoke.spec.ts +10 -5
  55. package/src/testing/util.tsx +6 -11
  56. package/src/testing/withClientProvider.stories.tsx +10 -19
  57. package/src/testing/withClientProvider.tsx +18 -22
  58. package/tsconfig.json +2 -4
  59. package/dist/lib/browser/chunk-ESSNDYBJ.mjs.map +0 -7
  60. package/dist/lib/node/chunk-N474KOAU.cjs.map +0 -7
  61. package/dist/lib/node-esm/chunk-ACLHQASD.mjs +0 -302
  62. package/dist/lib/node-esm/chunk-ACLHQASD.mjs.map +0 -7
  63. package/dist/lib/node-esm/chunk-UYJUBYMU.mjs +0 -165
  64. package/dist/lib/node-esm/chunk-UYJUBYMU.mjs.map +0 -7
  65. package/dist/lib/node-esm/devtools/index.mjs +0 -44
  66. package/dist/lib/node-esm/devtools/index.mjs.map +0 -7
  67. package/dist/lib/node-esm/echo/index.mjs +0 -134
  68. package/dist/lib/node-esm/echo/index.mjs.map +0 -7
  69. package/dist/lib/node-esm/halo/index.mjs +0 -100
  70. package/dist/lib/node-esm/halo/index.mjs.map +0 -7
  71. package/dist/lib/node-esm/index.mjs +0 -33
  72. package/dist/lib/node-esm/index.mjs.map +0 -7
  73. package/dist/lib/node-esm/invitations/index.mjs +0 -18
  74. package/dist/lib/node-esm/invitations/index.mjs.map +0 -7
  75. package/dist/lib/node-esm/mesh/index.mjs +0 -18
  76. package/dist/lib/node-esm/mesh/index.mjs.map +0 -7
  77. package/dist/lib/node-esm/meta.json +0 -1
  78. package/dist/lib/node-esm/testing/index.mjs +0 -173
  79. package/dist/lib/node-esm/testing/index.mjs.map +0 -7
  80. package/dist/lib/node-esm/worker.mjs +0 -5
  81. package/dist/lib/node-esm/worker.mjs.map +0 -7
  82. package/vitest.config.ts +0 -22
@@ -1 +1 @@
1
- {"inputs":{"packages/sdk/react-client/src/client/AgentHostingProvider.tsx":{"bytes":7244,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/client/context.ts":{"bytes":1332,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/banner.ts":{"bytes":3710,"imports":[],"format":"esm"},"packages/sdk/react-client/src/client/ClientProvider.tsx":{"bytes":18455,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/context.ts","kind":"import-statement","original":"./context"},{"path":"packages/sdk/react-client/src/banner.ts","kind":"import-statement","original":"../banner"}],"format":"esm"},"packages/sdk/react-client/src/client/useClient.ts":{"bytes":1700,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/context.ts","kind":"import-statement","original":"../client/context"}],"format":"esm"},"packages/sdk/react-client/src/client/useClientStatus.ts":{"bytes":2030,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/client/useConfig.ts":{"bytes":1801,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/context.ts","kind":"import-statement","original":"./context"}],"format":"esm"},"packages/sdk/react-client/src/client/useShell.ts":{"bytes":2397,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/useClient.ts","kind":"import-statement","original":"./useClient"}],"format":"esm"},"packages/sdk/react-client/src/client/useStatus.ts":{"bytes":1517,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/context.ts","kind":"import-statement","original":"./context"}],"format":"esm"},"packages/sdk/react-client/src/client/index.ts":{"bytes":1203,"imports":[{"path":"packages/sdk/react-client/src/client/AgentHostingProvider.tsx","kind":"import-statement","original":"./AgentHostingProvider"},{"path":"packages/sdk/react-client/src/client/ClientProvider.tsx","kind":"import-statement","original":"./ClientProvider"},{"path":"packages/sdk/react-client/src/client/context.ts","kind":"import-statement","original":"./context"},{"path":"packages/sdk/react-client/src/client/useClient.ts","kind":"import-statement","original":"./useClient"},{"path":"packages/sdk/react-client/src/client/useClientStatus.ts","kind":"import-statement","original":"./useClientStatus"},{"path":"packages/sdk/react-client/src/client/useConfig.ts","kind":"import-statement","original":"./useConfig"},{"path":"packages/sdk/react-client/src/client/useShell.ts","kind":"import-statement","original":"./useShell"},{"path":"packages/sdk/react-client/src/client/useStatus.ts","kind":"import-statement","original":"./useStatus"}],"format":"esm"},"packages/sdk/react-client/src/devtools/useDevtools.ts":{"bytes":1449,"imports":[{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/devtools/useStream.ts":{"bytes":2860,"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":729,"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":6436,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/echo/useMembers.ts":{"bytes":3205,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/echo/useSpaces.ts","kind":"import-statement","original":"./useSpaces"}],"format":"esm"},"packages/sdk/react-client/src/echo/useQuery.ts":{"bytes":5333,"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":20659,"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":1335,"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":3301,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/echo/useSpaces.ts","kind":"import-statement","original":"./useSpaces"},{"path":"packages/sdk/react-client/src/invitations/index.ts","kind":"import-statement","original":"../invitations"}],"format":"esm"},"packages/sdk/react-client/src/echo/useSubscription.ts":{"bytes":3588,"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":1026,"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":1762,"imports":[{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/halo/useDevices.ts":{"bytes":1341,"imports":[{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/halo/useHaloInvitations.ts":{"bytes":2785,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"},{"path":"packages/sdk/react-client/src/invitations/index.ts","kind":"import-statement","original":"../invitations"}],"format":"esm"},"packages/sdk/react-client/src/halo/useIdentity.ts":{"bytes":1632,"imports":[{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/halo/useKeyStore.ts":{"bytes":4664,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/halo/index.ts":{"bytes":1341,"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":805,"imports":[{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"./client"}],"format":"esm"},"packages/sdk/react-client/src/mesh/useNetworkStatus.ts":{"bytes":1557,"imports":[{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/mesh/index.ts":{"bytes":633,"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":11301,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/testing/withClientProvider.tsx":{"bytes":14679,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-error-boundary","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/testing/index.ts":{"bytes":755,"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/withClientProvider.tsx","kind":"import-statement","original":"./withClientProvider"}],"format":"esm"},"packages/sdk/react-client/src/worker.ts":{"bytes":523,"imports":[{"path":"@dxos/client/worker","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"packages/sdk/react-client/dist/lib/node/devtools/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2284},"packages/sdk/react-client/dist/lib/node/devtools/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-N474KOAU.cjs","kind":"import-statement"},{"path":"@dxos/client/devtools","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["useDevtools","useStream"],"entryPoint":"packages/sdk/react-client/src/devtools/index.ts","inputs":{"packages/sdk/react-client/src/devtools/index.ts":{"bytesInOutput":39},"packages/sdk/react-client/src/devtools/useDevtools.ts":{"bytesInOutput":195},"packages/sdk/react-client/src/devtools/useStream.ts":{"bytesInOutput":690}},"bytes":1217},"packages/sdk/react-client/dist/lib/node/echo/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":11312},"packages/sdk/react-client/dist/lib/node/echo/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-FYOAVV65.cjs","kind":"import-statement"},{"path":"packages/sdk/react-client/dist/lib/node/chunk-N474KOAU.cjs","kind":"import-statement"},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true}],"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":545},"packages/sdk/react-client/src/echo/useSpaces.ts":{"bytesInOutput":1011},"packages/sdk/react-client/src/echo/useQuery.ts":{"bytesInOutput":947},"packages/sdk/react-client/src/echo/useSpaceInvitations.ts":{"bytesInOutput":677},"packages/sdk/react-client/src/echo/useSubscription.ts":{"bytesInOutput":519}},"bytes":4388},"packages/sdk/react-client/dist/lib/node/halo/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6286},"packages/sdk/react-client/dist/lib/node/halo/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-FYOAVV65.cjs","kind":"import-statement"},{"path":"packages/sdk/react-client/dist/lib/node/chunk-N474KOAU.cjs","kind":"import-statement"},{"path":"@dxos/client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"exports":["Device","DeviceKind","DeviceType","KeyStore","useContacts","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/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":344},"packages/sdk/react-client/dist/lib/node/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-N474KOAU.cjs","kind":"import-statement"},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true}],"exports":["AgentHostingContext","AgentHostingProvider","ClientContext","ClientProvider","useAgentHostingClient","useClient","useClientStatus","useConfig","useMulticastObservable","useShell","useShellDisplay","useStatus"],"entryPoint":"packages/sdk/react-client/src/index.ts","inputs":{"packages/sdk/react-client/src/index.ts":{"bytesInOutput":90}},"bytes":636},"packages/sdk/react-client/dist/lib/node/invitations/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/react-client/dist/lib/node/invitations/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-FYOAVV65.cjs","kind":"import-statement"}],"exports":["AuthenticatingInvitationObservable","CancellableInvitationObservable","Invitation","InvitationEncoder","InvitationsProxy","useInvitationStatus"],"entryPoint":"packages/sdk/react-client/src/invitations/index.ts","inputs":{},"bytes":388},"packages/sdk/react-client/dist/lib/node/chunk-FYOAVV65.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":11017},"packages/sdk/react-client/dist/lib/node/chunk-FYOAVV65.cjs":{"imports":[{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["AuthenticatingInvitationObservable","CancellableInvitationObservable","Invitation","InvitationEncoder","InvitationsProxy","useInvitationStatus"],"inputs":{"packages/sdk/react-client/src/invitations/index.ts":{"bytesInOutput":198},"packages/sdk/react-client/src/invitations/useInvitationStatus.ts":{"bytesInOutput":4678}},"bytes":5243},"packages/sdk/react-client/dist/lib/node/mesh/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":935},"packages/sdk/react-client/dist/lib/node/mesh/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-N474KOAU.cjs","kind":"import-statement"},{"path":"@dxos/client/mesh","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true}],"exports":["useNetworkStatus"],"entryPoint":"packages/sdk/react-client/src/mesh/index.ts","inputs":{"packages/sdk/react-client/src/mesh/index.ts":{"bytesInOutput":35},"packages/sdk/react-client/src/mesh/useNetworkStatus.ts":{"bytesInOutput":184}},"bytes":445},"packages/sdk/react-client/dist/lib/node/testing/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":13823},"packages/sdk/react-client/dist/lib/node/testing/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-N474KOAU.cjs","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},{"path":"react-error-boundary","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/testing","kind":"import-statement","external":true}],"exports":["ClientRepeater","withClientProvider","withMultiClientProvider"],"entryPoint":"packages/sdk/react-client/src/testing/index.ts","inputs":{"packages/sdk/react-client/src/testing/index.ts":{"bytesInOutput":38},"packages/sdk/react-client/src/testing/ClientRepeater.tsx":{"bytesInOutput":2064},"packages/sdk/react-client/src/testing/withClientProvider.tsx":{"bytesInOutput":3465}},"bytes":5915},"packages/sdk/react-client/dist/lib/node/chunk-N474KOAU.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":19513},"packages/sdk/react-client/dist/lib/node/chunk-N474KOAU.cjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"exports":["AgentHostingContext","AgentHostingProvider","ClientContext","ClientProvider","useAgentHostingClient","useClient","useClientStatus","useConfig","useShell","useShellDisplay","useStatus"],"inputs":{"packages/sdk/react-client/src/client/AgentHostingProvider.tsx":{"bytesInOutput":1877},"packages/sdk/react-client/src/client/index.ts":{"bytesInOutput":0},"packages/sdk/react-client/src/client/ClientProvider.tsx":{"bytesInOutput":4039},"packages/sdk/react-client/src/client/context.ts":{"bytesInOutput":82},"packages/sdk/react-client/src/banner.ts":{"bytesInOutput":773},"packages/sdk/react-client/src/client/useClient.ts":{"bytesInOutput":211},"packages/sdk/react-client/src/client/useClientStatus.ts":{"bytesInOutput":398},"packages/sdk/react-client/src/client/useConfig.ts":{"bytesInOutput":245},"packages/sdk/react-client/src/client/useShell.ts":{"bytesInOutput":377},"packages/sdk/react-client/src/client/useStatus.ts":{"bytesInOutput":238}},"bytes":9114},"packages/sdk/react-client/dist/lib/node/worker.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":206},"packages/sdk/react-client/dist/lib/node/worker.cjs":{"imports":[{"path":"@dxos/client/worker","kind":"import-statement","external":true}],"exports":[],"entryPoint":"packages/sdk/react-client/src/worker.ts","inputs":{"packages/sdk/react-client/src/worker.ts":{"bytesInOutput":37}},"bytes":116}}}
1
+ {"inputs":{"packages/sdk/react-client/src/client/AgentHostingProvider.tsx":{"bytes":7244,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/client/context.ts":{"bytes":1276,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/banner.ts":{"bytes":3710,"imports":[],"format":"esm"},"packages/sdk/react-client/src/client/ClientProvider.tsx":{"bytes":15333,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/context.ts","kind":"import-statement","original":"./context"},{"path":"packages/sdk/react-client/src/banner.ts","kind":"import-statement","original":"../banner"}],"format":"esm"},"packages/sdk/react-client/src/client/useClient.ts":{"bytes":1700,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/context.ts","kind":"import-statement","original":"../client/context"}],"format":"esm"},"packages/sdk/react-client/src/client/useClientServices.ts":{"bytes":1573,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/context.ts","kind":"import-statement","original":"./context"}],"format":"esm"},"packages/sdk/react-client/src/client/useClientStatus.ts":{"bytes":2030,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/client/useConfig.ts":{"bytes":1801,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/context.ts","kind":"import-statement","original":"./context"}],"format":"esm"},"packages/sdk/react-client/src/client/useShell.ts":{"bytes":2397,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/useClient.ts","kind":"import-statement","original":"./useClient"}],"format":"esm"},"packages/sdk/react-client/src/client/useStatus.ts":{"bytes":1517,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/context.ts","kind":"import-statement","original":"./context"}],"format":"esm"},"packages/sdk/react-client/src/client/index.ts":{"bytes":1397,"imports":[{"path":"packages/sdk/react-client/src/client/AgentHostingProvider.tsx","kind":"import-statement","original":"./AgentHostingProvider"},{"path":"packages/sdk/react-client/src/client/ClientProvider.tsx","kind":"import-statement","original":"./ClientProvider"},{"path":"packages/sdk/react-client/src/client/context.ts","kind":"import-statement","original":"./context"},{"path":"packages/sdk/react-client/src/client/useClient.ts","kind":"import-statement","original":"./useClient"},{"path":"packages/sdk/react-client/src/client/useClientServices.ts","kind":"import-statement","original":"./useClientServices"},{"path":"packages/sdk/react-client/src/client/useClientStatus.ts","kind":"import-statement","original":"./useClientStatus"},{"path":"packages/sdk/react-client/src/client/useConfig.ts","kind":"import-statement","original":"./useConfig"},{"path":"packages/sdk/react-client/src/client/useShell.ts","kind":"import-statement","original":"./useShell"},{"path":"packages/sdk/react-client/src/client/useStatus.ts","kind":"import-statement","original":"./useStatus"}],"format":"esm"},"packages/sdk/react-client/src/devtools/useDevtools.ts":{"bytes":1449,"imports":[{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/devtools/useStream.ts":{"bytes":2860,"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":729,"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":6436,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/echo/useMembers.ts":{"bytes":3205,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/echo/useSpaces.ts","kind":"import-statement","original":"./useSpaces"}],"format":"esm"},"packages/sdk/react-client/src/echo/useQuery.ts":{"bytes":5775,"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":20659,"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":1335,"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":3301,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/echo/useSpaces.ts","kind":"import-statement","original":"./useSpaces"},{"path":"packages/sdk/react-client/src/invitations/index.ts","kind":"import-statement","original":"../invitations"}],"format":"esm"},"packages/sdk/react-client/src/echo/useSubscription.ts":{"bytes":3588,"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":1026,"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":1762,"imports":[{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/halo/useDevices.ts":{"bytes":1341,"imports":[{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/halo/useHaloInvitations.ts":{"bytes":2785,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"},{"path":"packages/sdk/react-client/src/invitations/index.ts","kind":"import-statement","original":"../invitations"}],"format":"esm"},"packages/sdk/react-client/src/halo/useIdentity.ts":{"bytes":1632,"imports":[{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/halo/useKeyStore.ts":{"bytes":4664,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/halo/index.ts":{"bytes":1341,"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":805,"imports":[{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"./client"}],"format":"esm"},"packages/sdk/react-client/src/mesh/useNetworkStatus.ts":{"bytes":1557,"imports":[{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/mesh/index.ts":{"bytes":633,"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":11301,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/testing/withClientProvider.tsx":{"bytes":14179,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-error-boundary","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/testing/index.ts":{"bytes":755,"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/withClientProvider.tsx","kind":"import-statement","original":"./withClientProvider"}],"format":"esm"},"packages/sdk/react-client/src/worker.ts":{"bytes":523,"imports":[{"path":"@dxos/client/worker","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"packages/sdk/react-client/dist/lib/node/devtools/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2284},"packages/sdk/react-client/dist/lib/node/devtools/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-C4EWAKPZ.cjs","kind":"import-statement"},{"path":"@dxos/client/devtools","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["useDevtools","useStream"],"entryPoint":"packages/sdk/react-client/src/devtools/index.ts","inputs":{"packages/sdk/react-client/src/devtools/index.ts":{"bytesInOutput":39},"packages/sdk/react-client/src/devtools/useDevtools.ts":{"bytesInOutput":195},"packages/sdk/react-client/src/devtools/useStream.ts":{"bytesInOutput":690}},"bytes":1217},"packages/sdk/react-client/dist/lib/node/echo/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":11533},"packages/sdk/react-client/dist/lib/node/echo/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-FYOAVV65.cjs","kind":"import-statement"},{"path":"packages/sdk/react-client/dist/lib/node/chunk-C4EWAKPZ.cjs","kind":"import-statement"},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true}],"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":545},"packages/sdk/react-client/src/echo/useSpaces.ts":{"bytesInOutput":1011},"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":4474},"packages/sdk/react-client/dist/lib/node/halo/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6286},"packages/sdk/react-client/dist/lib/node/halo/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-FYOAVV65.cjs","kind":"import-statement"},{"path":"packages/sdk/react-client/dist/lib/node/chunk-C4EWAKPZ.cjs","kind":"import-statement"},{"path":"@dxos/client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"exports":["Device","DeviceKind","DeviceType","KeyStore","useContacts","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/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":345},"packages/sdk/react-client/dist/lib/node/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-C4EWAKPZ.cjs","kind":"import-statement"},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true}],"exports":["AgentHostingContext","AgentHostingProvider","ClientContext","ClientProvider","useAgentHostingClient","useClient","useClientServices","useClientStatus","useConfig","useMulticastObservable","useShell","useShellDisplay","useStatus"],"entryPoint":"packages/sdk/react-client/src/index.ts","inputs":{"packages/sdk/react-client/src/index.ts":{"bytesInOutput":90}},"bytes":678},"packages/sdk/react-client/dist/lib/node/invitations/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/react-client/dist/lib/node/invitations/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-FYOAVV65.cjs","kind":"import-statement"}],"exports":["AuthenticatingInvitationObservable","CancellableInvitationObservable","Invitation","InvitationEncoder","InvitationsProxy","useInvitationStatus"],"entryPoint":"packages/sdk/react-client/src/invitations/index.ts","inputs":{},"bytes":388},"packages/sdk/react-client/dist/lib/node/chunk-FYOAVV65.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":11017},"packages/sdk/react-client/dist/lib/node/chunk-FYOAVV65.cjs":{"imports":[{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["AuthenticatingInvitationObservable","CancellableInvitationObservable","Invitation","InvitationEncoder","InvitationsProxy","useInvitationStatus"],"inputs":{"packages/sdk/react-client/src/invitations/index.ts":{"bytesInOutput":198},"packages/sdk/react-client/src/invitations/useInvitationStatus.ts":{"bytesInOutput":4678}},"bytes":5243},"packages/sdk/react-client/dist/lib/node/mesh/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":935},"packages/sdk/react-client/dist/lib/node/mesh/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-C4EWAKPZ.cjs","kind":"import-statement"},{"path":"@dxos/client/mesh","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true}],"exports":["useNetworkStatus"],"entryPoint":"packages/sdk/react-client/src/mesh/index.ts","inputs":{"packages/sdk/react-client/src/mesh/index.ts":{"bytesInOutput":35},"packages/sdk/react-client/src/mesh/useNetworkStatus.ts":{"bytesInOutput":184}},"bytes":445},"packages/sdk/react-client/dist/lib/node/testing/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":13607},"packages/sdk/react-client/dist/lib/node/testing/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-C4EWAKPZ.cjs","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},{"path":"react-error-boundary","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/testing","kind":"import-statement","external":true}],"exports":["ClientRepeater","withClientProvider","withMultiClientProvider"],"entryPoint":"packages/sdk/react-client/src/testing/index.ts","inputs":{"packages/sdk/react-client/src/testing/index.ts":{"bytesInOutput":38},"packages/sdk/react-client/src/testing/ClientRepeater.tsx":{"bytesInOutput":2064},"packages/sdk/react-client/src/testing/withClientProvider.tsx":{"bytesInOutput":3311}},"bytes":5761},"packages/sdk/react-client/dist/lib/node/chunk-C4EWAKPZ.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":18751},"packages/sdk/react-client/dist/lib/node/chunk-C4EWAKPZ.cjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"exports":["AgentHostingContext","AgentHostingProvider","ClientContext","ClientProvider","useAgentHostingClient","useClient","useClientServices","useClientStatus","useConfig","useShell","useShellDisplay","useStatus"],"inputs":{"packages/sdk/react-client/src/client/AgentHostingProvider.tsx":{"bytesInOutput":1877},"packages/sdk/react-client/src/client/index.ts":{"bytesInOutput":0},"packages/sdk/react-client/src/client/ClientProvider.tsx":{"bytesInOutput":3539},"packages/sdk/react-client/src/client/context.ts":{"bytesInOutput":82},"packages/sdk/react-client/src/banner.ts":{"bytesInOutput":773},"packages/sdk/react-client/src/client/useClient.ts":{"bytesInOutput":211},"packages/sdk/react-client/src/client/useClientServices.ts":{"bytesInOutput":250},"packages/sdk/react-client/src/client/useClientStatus.ts":{"bytesInOutput":398},"packages/sdk/react-client/src/client/useConfig.ts":{"bytesInOutput":245},"packages/sdk/react-client/src/client/useShell.ts":{"bytesInOutput":377},"packages/sdk/react-client/src/client/useStatus.ts":{"bytesInOutput":238}},"bytes":8947},"packages/sdk/react-client/dist/lib/node/worker.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":206},"packages/sdk/react-client/dist/lib/node/worker.cjs":{"imports":[{"path":"@dxos/client/worker","kind":"import-statement","external":true}],"exports":[],"entryPoint":"packages/sdk/react-client/src/worker.ts","inputs":{"packages/sdk/react-client/src/worker.ts":{"bytesInOutput":37}},"bytes":116}}}
@@ -34,7 +34,7 @@ __export(testing_exports, {
34
34
  withMultiClientProvider: () => withMultiClientProvider
35
35
  });
36
36
  module.exports = __toCommonJS(testing_exports);
37
- var import_chunk_N474KOAU = require("../chunk-N474KOAU.cjs");
37
+ var import_chunk_C4EWAKPZ = require("../chunk-C4EWAKPZ.cjs");
38
38
  __reExport(testing_exports, require("@dxos/client/testing"), module.exports);
39
39
  var import_react = __toESM(require("react"));
40
40
  var import_client = require("@dxos/client");
@@ -85,7 +85,7 @@ var ClientRepeater = (props) => {
85
85
  }
86
86
  return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, Controls && /* @__PURE__ */ import_react.default.createElement(Controls, {
87
87
  clients
88
- }), clients.map((client, index) => /* @__PURE__ */ import_react.default.createElement(import_chunk_N474KOAU.ClientProvider, {
88
+ }), clients.map((client, index) => /* @__PURE__ */ import_react.default.createElement(import_chunk_C4EWAKPZ.ClientProvider, {
89
89
  key: index,
90
90
  client
91
91
  }, /* @__PURE__ */ import_react.default.createElement(Component, {
@@ -96,48 +96,41 @@ var ClientRepeater = (props) => {
96
96
  }))));
97
97
  };
98
98
  var initializeClient = async (client, { createIdentity, createSpace, onSpaceCreated, onInitialized }) => {
99
- if (createIdentity || createSpace) {
100
- if (!client.halo.identity.get()) {
101
- await client.halo.createIdentity();
102
- }
99
+ if (createIdentity) {
100
+ await client.halo.createIdentity();
103
101
  }
104
102
  let space;
105
103
  if (createSpace) {
106
104
  space = await client.spaces.create({
107
105
  name: "Test Space"
108
106
  });
109
- await onSpaceCreated?.({
110
- client,
111
- space
112
- });
107
+ await onSpaceCreated?.(client, space);
113
108
  }
114
109
  await onInitialized?.(client);
115
110
  return space;
116
111
  };
117
112
  var withClientProvider = ({ createIdentity, createSpace, onSpaceCreated, onInitialized, ...props } = {}) => {
118
- return (Story) => {
119
- const handleInitialized = async (client) => {
120
- await initializeClient(client, {
121
- createIdentity,
122
- createSpace,
123
- onSpaceCreated,
124
- onInitialized
125
- });
126
- };
127
- return /* @__PURE__ */ import_react3.default.createElement(import_react_error_boundary.ErrorBoundary, {
128
- FallbackComponent: ErrorFallback
129
- }, /* @__PURE__ */ import_react3.default.createElement(import_chunk_N474KOAU.ClientProvider, {
130
- onInitialized: handleInitialized,
131
- ...props
132
- }, /* @__PURE__ */ import_react3.default.createElement(Story, null)));
113
+ const handleInitialized = async (client) => {
114
+ await initializeClient(client, {
115
+ createIdentity,
116
+ createSpace,
117
+ onSpaceCreated,
118
+ onInitialized
119
+ });
133
120
  };
121
+ return (Story) => /* @__PURE__ */ import_react3.default.createElement(import_react_error_boundary.ErrorBoundary, {
122
+ FallbackComponent: ErrorFallback
123
+ }, /* @__PURE__ */ import_react3.default.createElement(import_chunk_C4EWAKPZ.ClientProvider, {
124
+ onInitialized: handleInitialized,
125
+ ...props
126
+ }, /* @__PURE__ */ import_react3.default.createElement(Story, null)));
134
127
  };
135
128
  var withMultiClientProvider = ({ numClients = 2, createIdentity, createSpace, onSpaceCreated, onInitialized, ...props }) => {
136
129
  return (Story) => {
137
130
  const builder = (0, import_react3.useRef)(new import_testing2.TestBuilder());
138
131
  const hostRef = (0, import_react3.useRef)();
139
132
  const spaceReady = (0, import_react3.useRef)(new import_async.Trigger());
140
- const handleInitialized = async (client) => {
133
+ const handleClientInitialized = async (client) => {
141
134
  if (createSpace) {
142
135
  if (!hostRef.current) {
143
136
  hostRef.current = client;
@@ -168,9 +161,9 @@ var withMultiClientProvider = ({ numClients = 2, createIdentity, createSpace, on
168
161
  }).map((_, index) => /* @__PURE__ */ import_react3.default.createElement(import_react_error_boundary.ErrorBoundary, {
169
162
  key: index,
170
163
  FallbackComponent: ErrorFallback
171
- }, /* @__PURE__ */ import_react3.default.createElement(import_chunk_N474KOAU.ClientProvider, {
164
+ }, /* @__PURE__ */ import_react3.default.createElement(import_chunk_C4EWAKPZ.ClientProvider, {
172
165
  services: builder.current.createLocalClientServices(),
173
- onInitialized: handleInitialized,
166
+ onInitialized: handleClientInitialized,
174
167
  ...props
175
168
  }, /* @__PURE__ */ import_react3.default.createElement(Story, null)))));
176
169
  };
@@ -183,13 +176,13 @@ var ErrorFallback = ({ error }) => {
183
176
  };
184
177
  return /* @__PURE__ */ import_react3.default.createElement("div", {
185
178
  role: "alert",
186
- className: "flex flex-col overflow-hidden p-4 gap-4"
179
+ className: "flex flex-col gap-4"
187
180
  }, /* @__PURE__ */ import_react3.default.createElement("h1", {
188
181
  className: "text-xl text-red-500"
189
182
  }, name), /* @__PURE__ */ import_react3.default.createElement("div", {
190
183
  className: "text-lg"
191
184
  }, message), stack && /* @__PURE__ */ import_react3.default.createElement("pre", {
192
- className: "whitespace-pre-wrap text-sm text-subdued"
185
+ className: "text-sm text-subdued"
193
186
  }, stack));
194
187
  };
195
188
  // Annotate the CommonJS export names for ESM import in node:
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/testing/index.ts", "../../../../src/testing/ClientRepeater.tsx", "../../../../src/testing/withClientProvider.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2020 DXOS.org\n//\n\nexport * from '@dxos/client/testing';\n\nexport * from './ClientRepeater';\nexport * from './withClientProvider';\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport React, { useState, type FC, useEffect, useRef } from 'react';\n\nimport { Client, type PublicKey } from '@dxos/client';\nimport { type Space } from '@dxos/client/echo';\nimport { TestBuilder, performInvitation } from '@dxos/client/testing';\nimport { type S } from '@dxos/echo-schema';\nimport { registerSignalFactory } from '@dxos/echo-signals/react';\nimport { faker } from '@dxos/random';\nimport { type MaybePromise } from '@dxos/util';\n\nimport { ClientProvider } from '../client';\n\nexport type ClientRepeatedComponentProps = { id: number; count: number; spaceKey?: PublicKey };\n\nexport type ClientRepeaterProps<P extends ClientRepeatedComponentProps> = {\n className?: string;\n component: FC<ClientRepeatedComponentProps>;\n controls?: FC<{ clients: Client[] }>;\n clients?: Client[];\n count?: number;\n registerSignalFactory?: boolean;\n types?: S.Schema<any>[];\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// TODO(burdon): To discuss: evolve ClientRepeater with optional decorator that uses it.\n// NOTE: This is specifically not a storybook decorator because it broke stories as a decorator.\n// This seems primarily due to the fact that it required top-level await for the clients to initialize.\n// Storybook seemed to handle it alright, but Chromatic had a lot of trouble with it.\n// There was also a question of whether or not calling the story function multiple times was a good idea.\nexport const ClientRepeater = <P extends ClientRepeatedComponentProps>(props: ClientRepeaterProps<P>) => {\n const {\n component: Component,\n controls: Controls,\n count = 1,\n types,\n createIdentity,\n createSpace,\n onCreateSpace,\n } = props;\n if (props.registerSignalFactory ?? true) {\n registerSignalFactory();\n }\n\n const [clients, setClients] = useState(props.clients ?? []);\n const [spaceKey, setSpaceKey] = useState<PublicKey>();\n\n const testBuilder = useRef(new TestBuilder());\n useEffect(() => {\n const timeout = setTimeout(async () => {\n const clients = [...Array(count)].map(\n (_) => new Client({ services: testBuilder.current.createLocalClientServices() }),\n );\n await Promise.all(clients.map((client) => client.initialize()));\n types && clients.map((client) => client.addTypes(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).flatMap((client) => performInvitation({ host: space, guest: client.spaces })),\n );\n }\n\n setClients(clients);\n });\n\n return () => clearTimeout(timeout);\n }, []);\n\n if (clients.length === 0) {\n return null;\n }\n\n return (\n <>\n {Controls && <Controls clients={clients} />}\n {clients.map((client, index) => (\n <ClientProvider key={index} client={client}>\n <Component id={index} count={clients.length} spaceKey={spaceKey} {...{ ...props.args }} />\n </ClientProvider>\n ))}\n </>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type Decorator } from '@storybook/react';\nimport React, { useRef } from 'react';\nimport { type FallbackProps, ErrorBoundary } from 'react-error-boundary';\n\nimport { Trigger } from '@dxos/async';\nimport { type Client } from '@dxos/client';\nimport { type Space } from '@dxos/client/echo';\nimport { performInvitation, TestBuilder } from '@dxos/client/testing';\nimport { type MaybePromise } from '@dxos/util';\n\nimport { ClientProvider, type ClientProviderProps } from '../client';\n\ntype InitializeProps = {\n createIdentity?: boolean;\n createSpace?: boolean;\n onSpaceCreated?: (props: { client: Client; space: Space }) => MaybePromise<void>;\n};\n\n/**\n * Initialize client, identity and first space.\n */\nconst initializeClient = async (\n client: Client,\n {\n createIdentity,\n createSpace,\n onSpaceCreated,\n onInitialized,\n }: InitializeProps & Pick<WithClientProviderProps, 'onInitialized'>,\n): Promise<Space | undefined> => {\n if (createIdentity || createSpace) {\n if (!client.halo.identity.get()) {\n await client.halo.createIdentity();\n }\n }\n\n let space: Space | undefined;\n if (createSpace) {\n space = await client.spaces.create({ name: 'Test Space' });\n await onSpaceCreated?.({ client, space });\n }\n\n await onInitialized?.(client);\n return space;\n};\n\nexport type WithClientProviderProps = InitializeProps & ClientProviderProps;\n\n/**\n * Decorator that provides the client context.\n */\nexport const withClientProvider = ({\n createIdentity,\n createSpace,\n onSpaceCreated,\n onInitialized,\n ...props\n}: WithClientProviderProps = {}): Decorator => {\n return (Story) => {\n const handleInitialized = async (client: Client) => {\n await initializeClient(client, { createIdentity, createSpace, onSpaceCreated, onInitialized });\n };\n\n return (\n <ErrorBoundary FallbackComponent={ErrorFallback}>\n <ClientProvider onInitialized={handleInitialized} {...props}>\n <Story />\n </ClientProvider>\n </ErrorBoundary>\n );\n };\n};\n\n// TODO(burdon): Implement context per client for context.\n// TODO(burdon): Callback once all invitations have completed.\n// TODO(burdon): Delay/jitter for creation of other clients.\nexport type WithMultiClientProviderProps = InitializeProps & ClientProviderProps & { numClients?: number };\n\n/**\n * Decorator that creates a scaffold for multiple clients.\n * Orchestrates invitations between a randomly selected host and the remaining clients.\n * NOTE: Should come before withLayout.\n */\nexport const withMultiClientProvider = ({\n numClients = 2,\n createIdentity,\n createSpace,\n onSpaceCreated,\n onInitialized,\n ...props\n}: WithMultiClientProviderProps): Decorator => {\n return (Story) => {\n const builder = useRef(new TestBuilder());\n const hostRef = useRef<Client>();\n const spaceReady = useRef(new Trigger<Space | undefined>());\n\n // Handle invitations.\n const handleInitialized = async (client: Client) => {\n if (createSpace) {\n if (!hostRef.current) {\n hostRef.current = client;\n const space = await initializeClient(client, { createIdentity, createSpace, onSpaceCreated, onInitialized });\n spaceReady.current.wake(space);\n } else {\n await initializeClient(client, { createIdentity, onInitialized });\n const space = await spaceReady.current.wait();\n if (space) {\n await Promise.all(performInvitation({ host: space, guest: client.spaces }));\n }\n }\n }\n };\n\n return (\n <>\n {Array.from({ length: numClients }).map((_, index) => (\n <ErrorBoundary key={index} FallbackComponent={ErrorFallback}>\n <ClientProvider\n services={builder.current.createLocalClientServices()}\n onInitialized={handleInitialized}\n {...props}\n >\n <Story />\n </ClientProvider>\n </ErrorBoundary>\n ))}\n </>\n );\n };\n};\n\nconst ErrorFallback = ({ error }: FallbackProps) => {\n const { name, message, stack } =\n error instanceof Error ? error : { name: 'Error', message: String(error), stack: undefined };\n return (\n <div role='alert' className='flex flex-col overflow-hidden p-4 gap-4'>\n <h1 className='text-xl text-red-500'>{name}</h1>\n <div className='text-lg'>{message}</div>\n {stack && <pre className='whitespace-pre-wrap text-sm text-subdued'>{stack}</pre>}\n </div>\n );\n};\n"],
5
- "mappings": "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",
6
- "names": ["import_react", "import_testing", "ClientRepeater", "props", "component", "Component", "controls", "Controls", "count", "types", "createIdentity", "createSpace", "onCreateSpace", "registerSignalFactory", "clients", "setClients", "useState", "spaceKey", "setSpaceKey", "testBuilder", "useRef", "TestBuilder", "useEffect", "timeout", "setTimeout", "Array", "map", "_", "Client", "services", "current", "createLocalClientServices", "Promise", "all", "client", "initialize", "addTypes", "halo", "space", "spaces", "create", "name", "faker", "commerce", "productName", "key", "slice", "flatMap", "performInvitation", "host", "guest", "clearTimeout", "length", "React", "index", "ClientProvider", "id", "args", "initializeClient", "onSpaceCreated", "onInitialized", "identity", "get", "withClientProvider", "Story", "handleInitialized", "ErrorBoundary", "FallbackComponent", "ErrorFallback", "withMultiClientProvider", "numClients", "builder", "hostRef", "spaceReady", "Trigger", "wake", "wait", "from", "error", "message", "stack", "Error", "String", "undefined", "div", "role", "className", "h1", "pre"]
4
+ "sourcesContent": ["//\n// Copyright 2020 DXOS.org\n//\n\nexport * from '@dxos/client/testing';\n\nexport * from './ClientRepeater';\nexport * from './withClientProvider';\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport React, { useState, type FC, useEffect, useRef } from 'react';\n\nimport { Client, type PublicKey } from '@dxos/client';\nimport { type Space } from '@dxos/client/echo';\nimport { TestBuilder, performInvitation } from '@dxos/client/testing';\nimport { type S } from '@dxos/echo-schema';\nimport { registerSignalFactory } from '@dxos/echo-signals/react';\nimport { faker } from '@dxos/random';\nimport { type MaybePromise } from '@dxos/util';\n\nimport { ClientProvider } from '../client';\n\nexport type ClientRepeatedComponentProps = { id: number; count: number; spaceKey?: PublicKey };\n\nexport type ClientRepeaterProps<P extends ClientRepeatedComponentProps> = {\n className?: string;\n component: FC<ClientRepeatedComponentProps>;\n controls?: FC<{ clients: Client[] }>;\n clients?: Client[];\n count?: number;\n registerSignalFactory?: boolean;\n types?: S.Schema<any>[];\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// TODO(burdon): To discuss: evolve ClientRepeater with optional decorator that uses it.\n// NOTE: This is specifically not a storybook decorator because it broke stories as a decorator.\n// This seems primarily due to the fact that it required top-level await for the clients to initialize.\n// Storybook seemed to handle it alright, but Chromatic had a lot of trouble with it.\n// There was also a question of whether or not calling the story function multiple times was a good idea.\nexport const ClientRepeater = <P extends ClientRepeatedComponentProps>(props: ClientRepeaterProps<P>) => {\n const {\n component: Component,\n controls: Controls,\n count = 1,\n types,\n createIdentity,\n createSpace,\n onCreateSpace,\n } = props;\n if (props.registerSignalFactory ?? true) {\n registerSignalFactory();\n }\n\n const [clients, setClients] = useState(props.clients ?? []);\n const [spaceKey, setSpaceKey] = useState<PublicKey>();\n\n const testBuilder = useRef(new TestBuilder());\n useEffect(() => {\n const timeout = setTimeout(async () => {\n const clients = [...Array(count)].map(\n (_) => new Client({ services: testBuilder.current.createLocalClientServices() }),\n );\n await Promise.all(clients.map((client) => client.initialize()));\n types && clients.map((client) => client.addTypes(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).flatMap((client) => performInvitation({ host: space, guest: client.spaces })),\n );\n }\n\n setClients(clients);\n });\n\n return () => clearTimeout(timeout);\n }, []);\n\n if (clients.length === 0) {\n return null;\n }\n\n return (\n <>\n {Controls && <Controls clients={clients} />}\n {clients.map((client, index) => (\n <ClientProvider key={index} client={client}>\n <Component id={index} count={clients.length} spaceKey={spaceKey} {...{ ...props.args }} />\n </ClientProvider>\n ))}\n </>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type Decorator } from '@storybook/react';\nimport React, { useRef } from 'react';\nimport { type FallbackProps, ErrorBoundary } from 'react-error-boundary';\n\nimport { Trigger } from '@dxos/async';\nimport { type Client } from '@dxos/client';\nimport { type Space } from '@dxos/client/echo';\nimport { performInvitation, TestBuilder } from '@dxos/client/testing';\nimport { type MaybePromise } from '@dxos/util';\n\nimport { ClientProvider, type ClientProviderProps } from '../client';\n\ntype InitializeProps = {\n createIdentity?: boolean;\n createSpace?: boolean;\n onSpaceCreated?: (client: Client, space: Space) => MaybePromise<void>;\n};\n\n/**\n * Initialize client, identity and first space.\n */\nconst initializeClient = async (\n client: Client,\n {\n createIdentity,\n createSpace,\n onSpaceCreated,\n onInitialized,\n }: InitializeProps & Pick<WithClientProviderProps, 'onInitialized'>,\n): Promise<Space | undefined> => {\n if (createIdentity) {\n await client.halo.createIdentity();\n }\n\n let space: Space | undefined;\n if (createSpace) {\n space = await client.spaces.create({ name: 'Test Space' });\n await onSpaceCreated?.(client, space);\n }\n\n await onInitialized?.(client);\n return space;\n};\n\nexport type WithClientProviderProps = InitializeProps & ClientProviderProps;\n\n/**\n * Decorator that provides the client context.\n */\nexport const withClientProvider = ({\n createIdentity,\n createSpace,\n onSpaceCreated,\n onInitialized,\n ...props\n}: WithClientProviderProps = {}): Decorator => {\n const handleInitialized = async (client: Client) => {\n await initializeClient(client, { createIdentity, createSpace, onSpaceCreated, onInitialized });\n };\n\n return (Story) => (\n <ErrorBoundary FallbackComponent={ErrorFallback}>\n <ClientProvider onInitialized={handleInitialized} {...props}>\n <Story />\n </ClientProvider>\n </ErrorBoundary>\n );\n};\n\n// TODO(burdon): Implement context per client for context.\n// TODO(burdon): Callback once all invitations have completed.\n// TODO(burdon): Delay/jitter for creation of other clients.\nexport type WithMultiClientProviderProps = InitializeProps & ClientProviderProps & { numClients?: number };\n\n/**\n * Decorator that creates a scaffold for multiple clients.\n * Orchestrates invitations between a randomly selected host and the remaining clients.\n * NOTE: Should come before withLayout.\n */\nexport const withMultiClientProvider = ({\n numClients = 2,\n createIdentity,\n createSpace,\n onSpaceCreated,\n onInitialized,\n ...props\n}: WithMultiClientProviderProps): Decorator => {\n return (Story) => {\n const builder = useRef(new TestBuilder());\n const hostRef = useRef<Client>();\n const spaceReady = useRef(new Trigger<Space | undefined>());\n\n // Handle invitations.\n const handleClientInitialized = async (client: Client) => {\n if (createSpace) {\n if (!hostRef.current) {\n hostRef.current = client;\n const space = await initializeClient(client, { createIdentity, createSpace, onSpaceCreated, onInitialized });\n spaceReady.current.wake(space);\n } else {\n await initializeClient(client, { createIdentity, onInitialized });\n const space = await spaceReady.current.wait();\n if (space) {\n await Promise.all(performInvitation({ host: space, guest: client.spaces }));\n }\n }\n }\n };\n\n return (\n <>\n {Array.from({ length: numClients }).map((_, index) => (\n <ErrorBoundary key={index} FallbackComponent={ErrorFallback}>\n <ClientProvider\n services={builder.current.createLocalClientServices()}\n onInitialized={handleClientInitialized}\n {...props}\n >\n <Story />\n </ClientProvider>\n </ErrorBoundary>\n ))}\n </>\n );\n };\n};\n\nconst ErrorFallback = ({ error }: FallbackProps) => {\n const { name, message, stack } =\n error instanceof Error ? error : { name: 'Error', message: String(error), stack: undefined };\n return (\n <div role='alert' className='flex flex-col gap-4'>\n <h1 className='text-xl text-red-500'>{name}</h1>\n <div className='text-lg'>{message}</div>\n {stack && <pre className='text-sm text-subdued'>{stack}</pre>}\n </div>\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["import_react", "import_testing", "ClientRepeater", "props", "component", "Component", "controls", "Controls", "count", "types", "createIdentity", "createSpace", "onCreateSpace", "registerSignalFactory", "clients", "setClients", "useState", "spaceKey", "setSpaceKey", "testBuilder", "useRef", "TestBuilder", "useEffect", "timeout", "setTimeout", "Array", "map", "_", "Client", "services", "current", "createLocalClientServices", "Promise", "all", "client", "initialize", "addTypes", "halo", "space", "spaces", "create", "name", "faker", "commerce", "productName", "key", "slice", "flatMap", "performInvitation", "host", "guest", "clearTimeout", "length", "React", "index", "ClientProvider", "id", "args", "initializeClient", "onSpaceCreated", "onInitialized", "withClientProvider", "handleInitialized", "Story", "ErrorBoundary", "FallbackComponent", "ErrorFallback", "withMultiClientProvider", "numClients", "builder", "hostRef", "spaceReady", "Trigger", "handleClientInitialized", "wake", "wait", "from", "error", "message", "stack", "Error", "String", "undefined", "div", "role", "className", "h1", "pre"]
7
7
  }
@@ -10,27 +10,23 @@ import { type ClientContextProps } from './context';
10
10
  export type ClientProviderProps = Pick<ClientContextProps, 'status'> & Omit<ClientOptions, 'config' | 'services'> & {
11
11
  children?: ReactNode;
12
12
  /**
13
- * Client object or async provider to enable to caller to do custom initialization.
14
- *
15
- * NOTE: For advanced use cases only.
13
+ * Config object or async provider.
16
14
  */
17
- client?: Client | Provider<Promise<Client>>;
15
+ config?: Config | Provider<Promise<Config>>;
18
16
  /**
19
- * Config object or async provider.
17
+ * Client object or async provider to enable to caller to do custom initialization.
20
18
  *
21
- * NOTE: If a `client` is provided then `config` is ignored.
19
+ * Most apps won't need this.
22
20
  */
23
- config?: Config | Provider<Promise<Config>>;
21
+ client?: Client | Provider<Promise<Client>>;
24
22
  /**
25
23
  * Callback to enable the caller to create a custom ClientServicesProvider.
26
24
  *
27
- * NOTE: If a `client` is provided then `services` is ignored.
25
+ * Most apps won't need this.
28
26
  */
29
27
  services?: ClientServicesProvider | ((config?: Config) => MaybePromise<ClientServicesProvider>);
30
28
  /**
31
29
  * List of schema to register.
32
- *
33
- * NOTE: If a `client` is provided then `types` will not be added until after the children are first rendered.
34
30
  */
35
31
  types?: S.Schema<any>[];
36
32
  /**
@@ -38,15 +34,9 @@ export type ClientProviderProps = Pick<ClientContextProps, 'status'> & Omit<Clie
38
34
  */
39
35
  fallback?: FunctionComponent<Partial<ClientContextProps>>;
40
36
  /**
41
- * Set to false to stop default signal runtime from being registered.
42
- *
43
- * The signals runtime is used to provide reactive updates to ECHO objects.
44
- */
45
- registerSignalRuntime?: boolean;
46
- /**
47
- * Skip the DXOS banner print.
37
+ * Set to false to stop default signal factory from being registered.
48
38
  */
49
- disableBanner?: boolean;
39
+ registerSignalFactory?: boolean;
50
40
  /**
51
41
  * Post initialization hook to enable to caller to do custom initialization.
52
42
  *
@@ -58,51 +48,5 @@ export type ClientProviderProps = Pick<ClientContextProps, 'status'> & Omit<Clie
58
48
  * Root component that provides the DXOS client instance to child components.
59
49
  * To be used with the `useClient` hook.
60
50
  */
61
- export declare const ClientProvider: React.ForwardRefExoticComponent<Pick<ClientContextProps, "status"> & Omit<ClientOptions, "services" | "config"> & {
62
- children?: ReactNode;
63
- /**
64
- * Client object or async provider to enable to caller to do custom initialization.
65
- *
66
- * NOTE: For advanced use cases only.
67
- */
68
- client?: Client | Provider<Promise<Client>>;
69
- /**
70
- * Config object or async provider.
71
- *
72
- * NOTE: If a `client` is provided then `config` is ignored.
73
- */
74
- config?: Config | Provider<Promise<Config>>;
75
- /**
76
- * Callback to enable the caller to create a custom ClientServicesProvider.
77
- *
78
- * NOTE: If a `client` is provided then `services` is ignored.
79
- */
80
- services?: ClientServicesProvider | ((config?: Config) => MaybePromise<ClientServicesProvider>);
81
- /**
82
- * List of schema to register.
83
- *
84
- * NOTE: If a `client` is provided then `types` will not be added until after the children are first rendered.
85
- */
86
- types?: S.Schema<any>[];
87
- /**
88
- * ReactNode to display until the client is available.
89
- */
90
- fallback?: FunctionComponent<Partial<ClientContextProps>>;
91
- /**
92
- * Set to false to stop default signal runtime from being registered.
93
- *
94
- * The signals runtime is used to provide reactive updates to ECHO objects.
95
- */
96
- registerSignalRuntime?: boolean;
97
- /**
98
- * Skip the DXOS banner print.
99
- */
100
- disableBanner?: boolean;
101
- /**
102
- * Post initialization hook to enable to caller to do custom initialization.
103
- *
104
- * @param Client
105
- */
106
- onInitialized?: (client: Client) => MaybePromise<void>;
107
- } & React.RefAttributes<Client | undefined>>;
51
+ export declare const ClientProvider: ({ children, config: configProvider, client: clientProvider, services: servicesProvider, types, status: controlledStatus, fallback: Fallback, registerSignalFactory: _registerSignalFactory, onInitialized, ...options }: ClientProviderProps) => React.JSX.Element;
108
52
  //# sourceMappingURL=ClientProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClientProvider.d.ts","sourceRoot":"","sources":["../../../../src/client/ClientProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAEZ,KAAK,iBAAiB,EACtB,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,KAAK,sBAAsB,EAAgB,MAAM,cAAc,CAAC;AACrG,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAI3C,OAAO,EAAyB,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAErF,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAGnE;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,GAClE,IAAI,CAAC,aAAa,EAAE,QAAQ,GAAG,UAAU,CAAC,GAAG;IAC3C,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAE5C;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAE5C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,YAAY,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAEhG;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAE1D;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;CACxD,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,cAAc;eA3DZ,SAAS;IAEpB;;;;OAIG;aACM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3C;;;;OAIG;aACM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3C;;;;OAIG;eACQ,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,YAAY,CAAC,sBAAsB,CAAC,CAAC;IAE/F;;;;OAIG;YACK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;IAEvB;;OAEG;eACQ,iBAAiB,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAEzD;;;;OAIG;4BACqB,OAAO;IAE/B;;OAEG;oBACa,OAAO;IAEvB;;;;OAIG;oBACa,CAAC,MAAM,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC;4CAkHzD,CAAC"}
1
+ {"version":3,"file":"ClientProvider.d.ts","sourceRoot":"","sources":["../../../../src/client/ClientProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAE,KAAK,SAAS,EAAgC,MAAM,OAAO,CAAC;AAEpG,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,KAAK,sBAAsB,EAAgB,MAAM,cAAc,CAAC;AACrG,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAI3C,OAAO,EAAyB,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAErF,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAGnE;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,GAClE,IAAI,CAAC,aAAa,EAAE,QAAQ,GAAG,UAAU,CAAC,GAAG;IAC3C,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAE5C;;;;OAIG;IAIH,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAE5C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,YAAY,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAEhG;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAE1D;;OAEG;IAEH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;CACxD,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,cAAc,4NAWxB,mBAAmB,sBAsErB,CAAC"}
@@ -1,6 +1,9 @@
1
- import { type Client, type SystemStatus } from '@dxos/client';
1
+ import { type Context } from 'react';
2
+ import { type Client, type ClientServices, type SystemStatus } from '@dxos/client';
2
3
  export type ClientContextProps = {
3
4
  client: Client;
5
+ services?: ClientServices;
4
6
  status?: SystemStatus | null;
5
7
  };
8
+ export declare const ClientContext: Context<ClientContextProps | undefined>;
6
9
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/client/context.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAE9D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IAEf,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CAC9B,CAAC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/client/context.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAiB,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAEnF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IAGf,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAEjE,CAAC"}
@@ -2,6 +2,7 @@ export * from './AgentHostingProvider';
2
2
  export * from './ClientProvider';
3
3
  export * from './context';
4
4
  export * from './useClient';
5
+ export * from './useClientServices';
5
6
  export * from './useClientStatus';
6
7
  export * from './useConfig';
7
8
  export * from './useShell';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/index.ts"],"names":[],"mappings":"AAIA,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAE1B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/index.ts"],"names":[],"mappings":"AAIA,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,WAAW,CAAC;AAE1B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type ClientServices } from '@dxos/client';
2
+ export declare const useClientServices: () => ClientServices | undefined;
3
+ //# sourceMappingURL=useClientServices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useClientServices.d.ts","sourceRoot":"","sources":["../../../../src/client/useClientServices.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAKnD,eAAO,MAAM,iBAAiB,QAAO,cAAc,GAAG,SAGrD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useQuery.d.ts","sourceRoot":"","sources":["../../../../src/echo/useQuery.ts"],"names":[],"mappings":"AAMA,OAAO,EAGL,KAAK,IAAI,EACT,KAAK,kBAAkB,EACvB,KAAK,YAAY,EAEjB,KAAK,YAAY,EACjB,KAAK,KAAK,EACX,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AAEH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,kBAAkB,CAAC,GAAG,CAAC,gBAC1C,KAAK,GAAG,IAAI,WACjB,YAAY,CAAC,CAAC,CAAC,YACd,YAAY,SACf,GAAG,EAAE,KACX,CAAC,EAuBH,CAAC"}
1
+ {"version":3,"file":"useQuery.d.ts","sourceRoot":"","sources":["../../../../src/echo/useQuery.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,IAAI,EACT,KAAK,kBAAkB,EACvB,KAAK,YAAY,EAEjB,KAAK,YAAY,EACjB,KAAK,KAAK,EACX,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AAEH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,kBAAkB,CAAC,GAAG,CAAC,gBAC1C,KAAK,GAAG,IAAI,WACjB,YAAY,CAAC,CAAC,CAAC,YACd,YAAY,SACf,GAAG,EAAE,KACX,CAAC,EAuBH,CAAC"}
@@ -1,3 +1,3 @@
1
- declare const _default: import("@playwright/test").PlaywrightTestConfig<{}, {}>;
2
- export default _default;
1
+ import { defaultPlaywrightConfig } from '@dxos/test/playwright';
2
+ export default defaultPlaywrightConfig;
3
3
  //# sourceMappingURL=playwright.config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"playwright.config.d.ts","sourceRoot":"","sources":["../../../../src/playwright/playwright.config.ts"],"names":[],"mappings":";AASA,wBAQG"}
1
+ {"version":3,"file":"playwright.config.d.ts","sourceRoot":"","sources":["../../../../src/playwright/playwright.config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,eAAe,uBAAuB,CAAC"}
@@ -1,14 +1,12 @@
1
1
  import React from 'react';
2
- import { Client, type Config } from '@dxos/client';
2
+ import { Client } from '@dxos/client';
3
3
  import { type Space } from '@dxos/client/echo';
4
- export declare const createClient: ({ config, createIdentity, createSpace, }?: {
5
- config?: Config;
4
+ export declare const createClient: ({ createIdentity, createSpace, }?: {
6
5
  createIdentity?: boolean;
7
6
  createSpace?: boolean;
8
7
  }) => Promise<{
9
8
  client: Client;
10
9
  space: Space | undefined;
11
10
  }>;
12
- export declare const createClientContextProvider: (client: Client) => Promise<({ children }: any) => React.JSX.Element>;
13
- export declare const createClientProvider: (client: Client) => Promise<({ children }: any) => React.JSX.Element>;
11
+ export declare const createContextProvider: (client: Client) => Promise<({ children }: any) => React.JSX.Element>;
14
12
  //# sourceMappingURL=util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/testing/util.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,KAAK,MAAM,EAAY,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAK/C,eAAO,MAAM,YAAY,8CAItB;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE;;;EActE,CAAC;AAEF,eAAO,MAAM,2BAA2B,WAAkB,MAAM,4BACxC,GAAG,uBAC1B,CAAC;AAEF,eAAO,MAAM,oBAAoB,WAAkB,MAAM,4BACjC,GAAG,uBAC1B,CAAC"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/testing/util.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAY,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAI/C,eAAO,MAAM,YAAY,sCAGtB;IAAE,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE;;;EAcrD,CAAC;AAGF,eAAO,MAAM,qBAAqB,WAAkB,MAAM,4BAClC,GAAG,uBAC1B,CAAC"}
@@ -6,10 +6,7 @@ import { type ClientProviderProps } from '../client';
6
6
  type InitializeProps = {
7
7
  createIdentity?: boolean;
8
8
  createSpace?: boolean;
9
- onSpaceCreated?: (props: {
10
- client: Client;
11
- space: Space;
12
- }) => MaybePromise<void>;
9
+ onSpaceCreated?: (client: Client, space: Space) => MaybePromise<void>;
13
10
  };
14
11
  export type WithClientProviderProps = InitializeProps & ClientProviderProps;
15
12
  /**