@dxos/react-client 0.8.3 → 0.8.4-main.1068cf700f
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.storybook/main.mts +11 -0
- package/.storybook/preview.mts +8 -0
- package/.swc/plugins/linux_x86_64_19.0.0/727453fb3a62f7f1d952a41e051ca8a6f88cadc45cee43c6a4d1aa45f9b75665.wasmer-v7 +0 -0
- package/dist/lib/browser/chunk-5UKA2BMA.mjs +179 -0
- package/dist/lib/browser/chunk-5UKA2BMA.mjs.map +7 -0
- package/dist/lib/browser/{chunk-AL2CUQ46.mjs → chunk-LO3TU5CK.mjs} +8 -8
- package/dist/lib/browser/chunk-LO3TU5CK.mjs.map +7 -0
- package/dist/lib/browser/chunk-PFF63FPR.mjs +16 -0
- package/dist/lib/browser/chunk-PFF63FPR.mjs.map +7 -0
- package/dist/lib/browser/chunk-TSF6Y5VB.mjs +8 -0
- package/dist/lib/browser/chunk-TSF6Y5VB.mjs.map +7 -0
- package/dist/lib/browser/devtools/index.mjs +7 -6
- package/dist/lib/browser/devtools/index.mjs.map +3 -3
- package/dist/lib/browser/echo/index.mjs +67 -117
- package/dist/lib/browser/echo/index.mjs.map +4 -4
- package/dist/lib/browser/halo/index.mjs +12 -10
- package/dist/lib/browser/halo/index.mjs.map +3 -3
- package/dist/lib/browser/index.mjs +115 -13
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/invitations/index.mjs +1 -1
- package/dist/lib/browser/mesh/index.mjs +4 -3
- package/dist/lib/browser/mesh/index.mjs.map +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +125 -119
- package/dist/lib/browser/testing/index.mjs.map +3 -3
- package/dist/lib/browser/worker.mjs +1 -1
- package/dist/lib/node-esm/chunk-373DPHEQ.mjs +10 -0
- package/dist/lib/node-esm/chunk-373DPHEQ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-UYJUBYMU.mjs → chunk-AQJH2UNZ.mjs} +8 -8
- package/dist/lib/node-esm/chunk-AQJH2UNZ.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-NETTSER2.mjs +17 -0
- package/dist/lib/node-esm/chunk-NETTSER2.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-T3QTQHBD.mjs +180 -0
- package/dist/lib/node-esm/chunk-T3QTQHBD.mjs.map +7 -0
- package/dist/lib/node-esm/devtools/index.mjs +7 -6
- package/dist/lib/node-esm/devtools/index.mjs.map +3 -3
- package/dist/lib/node-esm/echo/index.mjs +67 -117
- package/dist/lib/node-esm/echo/index.mjs.map +4 -4
- package/dist/lib/node-esm/halo/index.mjs +12 -10
- package/dist/lib/node-esm/halo/index.mjs.map +3 -3
- package/dist/lib/node-esm/index.mjs +115 -13
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/invitations/index.mjs +1 -1
- package/dist/lib/node-esm/mesh/index.mjs +4 -3
- package/dist/lib/node-esm/mesh/index.mjs.map +1 -1
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/testing/index.mjs +125 -119
- package/dist/lib/node-esm/testing/index.mjs.map +3 -3
- package/dist/lib/node-esm/worker.mjs +1 -1
- package/dist/types/src/client/AgentHostingProvider.d.ts.map +1 -1
- package/dist/types/src/client/ClientProvider.d.ts +0 -10
- package/dist/types/src/client/ClientProvider.d.ts.map +1 -1
- package/dist/types/src/echo/index.d.ts +2 -2
- package/dist/types/src/echo/index.d.ts.map +1 -1
- package/dist/types/src/echo/useMembers.d.ts +2 -2
- package/dist/types/src/echo/useMembers.d.ts.map +1 -1
- package/dist/types/src/echo/useQueue.d.ts +2 -2
- package/dist/types/src/echo/useQueue.d.ts.map +1 -1
- package/dist/types/src/echo/useSpaceInvitations.d.ts +3 -2
- package/dist/types/src/echo/useSpaceInvitations.d.ts.map +1 -1
- package/dist/types/src/echo/useSpaceProperties.d.ts +13 -0
- package/dist/types/src/echo/useSpaceProperties.d.ts.map +1 -0
- package/dist/types/src/echo/useSpaces.d.ts +17 -8
- package/dist/types/src/echo/useSpaces.d.ts.map +1 -1
- package/dist/types/src/echo/useSubscription.d.ts +1 -1
- package/dist/types/src/echo/useSubscription.d.ts.map +1 -1
- package/dist/types/src/echo/useSyncState.d.ts +1 -1
- package/dist/types/src/echo/useSyncState.d.ts.map +1 -1
- package/dist/types/src/halo/Passkey.stories.d.ts +5 -5
- package/dist/types/src/halo/Passkey.stories.d.ts.map +1 -1
- package/dist/types/src/halo/useHaloInvitations.d.ts.map +1 -1
- package/dist/types/src/invitations/useInvitationStatus.d.ts +1 -1
- package/dist/types/src/invitations/useInvitationStatus.d.ts.map +1 -1
- package/dist/types/src/testing/ClientRepeater.d.ts +6 -5
- package/dist/types/src/testing/ClientRepeater.d.ts.map +1 -1
- package/dist/types/src/testing/ClientRepeater.stories.d.ts +6 -10
- package/dist/types/src/testing/ClientRepeater.stories.d.ts.map +1 -1
- package/dist/types/src/testing/context.d.ts +4 -2
- package/dist/types/src/testing/context.d.ts.map +1 -1
- package/dist/types/src/testing/withClientProvider.d.ts +6 -10
- package/dist/types/src/testing/withClientProvider.d.ts.map +1 -1
- package/dist/types/src/testing/withClientProvider.stories.d.ts +8 -9
- package/dist/types/src/testing/withClientProvider.stories.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/moon.yml +23 -0
- package/package.json +43 -32
- package/src/client/AgentHostingProvider.tsx +1 -1
- package/src/client/ClientProvider.test.tsx +3 -2
- package/src/client/ClientProvider.tsx +33 -50
- package/src/client/useConfig.test.tsx +2 -1
- package/src/devtools/useStream.ts +1 -1
- package/src/echo/index.ts +2 -2
- package/src/echo/useMembers.ts +5 -3
- package/src/echo/useQueue.ts +2 -2
- package/src/echo/useSpaceInvitations.ts +11 -5
- package/src/echo/useSpaceProperties.ts +28 -0
- package/src/echo/useSpaces.test.tsx +3 -2
- package/src/echo/useSpaces.ts +37 -20
- package/src/echo/useSubscription.ts +1 -1
- package/src/echo/useSyncState.ts +3 -3
- package/src/halo/Passkey.stories.tsx +17 -14
- package/src/halo/useDevices.test.tsx +2 -1
- package/src/halo/useHaloInvitations.ts +1 -1
- package/src/invitations/useInvitationStatus.ts +9 -8
- package/src/testing/ClientRepeater.stories.tsx +21 -12
- package/src/testing/ClientRepeater.tsx +29 -36
- package/src/testing/context.tsx +4 -3
- package/src/testing/withClientProvider.stories.tsx +32 -16
- package/src/testing/withClientProvider.tsx +81 -64
- package/tsconfig.json +3 -6
- package/vitest.config.ts +12 -16
- package/.eslintrc.cjs +0 -12
- package/README.yml +0 -33
- package/dist/lib/browser/chunk-72QD3PXL.mjs +0 -312
- package/dist/lib/browser/chunk-72QD3PXL.mjs.map +0 -7
- package/dist/lib/browser/chunk-AL2CUQ46.mjs.map +0 -7
- package/dist/lib/node/chunk-5RUIFUEC.cjs +0 -334
- package/dist/lib/node/chunk-5RUIFUEC.cjs.map +0 -7
- package/dist/lib/node/chunk-FYOAVV65.cjs +0 -188
- package/dist/lib/node/chunk-FYOAVV65.cjs.map +0 -7
- package/dist/lib/node/devtools/index.cjs +0 -62
- package/dist/lib/node/devtools/index.cjs.map +0 -7
- package/dist/lib/node/echo/index.cjs +0 -302
- package/dist/lib/node/echo/index.cjs.map +0 -7
- package/dist/lib/node/halo/index.cjs +0 -123
- package/dist/lib/node/halo/index.cjs.map +0 -7
- package/dist/lib/node/index.cjs +0 -55
- package/dist/lib/node/index.cjs.map +0 -7
- package/dist/lib/node/invitations/index.cjs +0 -39
- package/dist/lib/node/invitations/index.cjs.map +0 -7
- package/dist/lib/node/mesh/index.cjs +0 -37
- package/dist/lib/node/mesh/index.cjs.map +0 -7
- package/dist/lib/node/meta.json +0 -1
- package/dist/lib/node/testing/index.cjs +0 -278
- package/dist/lib/node/testing/index.cjs.map +0 -7
- package/dist/lib/node/worker.cjs +0 -23
- package/dist/lib/node/worker.cjs.map +0 -7
- package/dist/lib/node-esm/chunk-NBTZZNQ5.mjs +0 -314
- package/dist/lib/node-esm/chunk-NBTZZNQ5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-UYJUBYMU.mjs.map +0 -7
- package/dist/types/src/echo/useQuery.d.ts +0 -11
- package/dist/types/src/echo/useQuery.d.ts.map +0 -1
- package/dist/types/src/echo/useQuery.test.d.ts +0 -2
- package/dist/types/src/echo/useQuery.test.d.ts.map +0 -1
- package/dist/types/src/echo/useSchema.d.ts +0 -8
- package/dist/types/src/echo/useSchema.d.ts.map +0 -1
- package/dist/types/src/playwright/playwright.config.d.cts +0 -3
- package/dist/types/src/playwright/playwright.config.d.cts.map +0 -1
- package/dist/types/src/playwright/smoke.spec.d.ts +0 -2
- package/dist/types/src/playwright/smoke.spec.d.ts.map +0 -1
- package/project.json +0 -40
- package/src/echo/useQuery.test.tsx +0 -128
- package/src/echo/useQuery.ts +0 -56
- package/src/echo/useSchema.ts +0 -54
- package/src/playwright/playwright.config.cts +0 -18
- package/src/playwright/smoke.spec.ts +0 -26
- package/typedoc/.nojekyll +0 -1
- package/typedoc/assets/hierarchy.js +0 -1
- package/typedoc/assets/highlight.css +0 -99
- package/typedoc/assets/icons.js +0 -18
- package/typedoc/assets/icons.svg +0 -1
- package/typedoc/assets/main.js +0 -60
- package/typedoc/assets/navigation.js +0 -1
- package/typedoc/assets/search.js +0 -1
- package/typedoc/assets/style.css +0 -1640
- package/typedoc/classes/echo.Hypergraph.html +0 -17
- package/typedoc/classes/echo.PropertiesType.html +0 -19
- package/typedoc/classes/echo.QueryResult.html +0 -18
- package/typedoc/classes/halo.KeyStore.html +0 -6
- package/typedoc/classes/index.AgentClientServiceProvider.html +0 -10
- package/typedoc/classes/index.AgentManagerClient.html +0 -22
- package/typedoc/classes/index.AlreadyJoinedError.html +0 -15
- package/typedoc/classes/index.ApiError.html +0 -16
- package/typedoc/classes/index.CancelledError.html +0 -16
- package/typedoc/classes/index.Client.html +0 -51
- package/typedoc/classes/index.ClientServicesProxy.html +0 -12
- package/typedoc/classes/index.Config.html +0 -17
- package/typedoc/classes/index.DataCorruptionError.html +0 -16
- package/typedoc/classes/index.DatabaseError.html +0 -15
- package/typedoc/classes/index.EntityNotFoundError.html +0 -15
- package/typedoc/classes/index.FakeAgentHostingProvider.html +0 -7
- package/typedoc/classes/index.IFrameManager.html +0 -6
- package/typedoc/classes/index.IdentityNotInitializedError.html +0 -15
- package/typedoc/classes/index.InvalidConfigError.html +0 -16
- package/typedoc/classes/index.InvalidInvitationError.html +0 -15
- package/typedoc/classes/index.InvalidInvitationExtensionRoleError.html +0 -16
- package/typedoc/classes/index.InvalidStorageVersionError.html +0 -15
- package/typedoc/classes/index.LocalClientServices.html +0 -12
- package/typedoc/classes/index.PublicKey.html +0 -55
- package/typedoc/classes/index.RemoteServiceConnectionError.html +0 -15
- package/typedoc/classes/index.RemoteServiceConnectionTimeout.html +0 -15
- package/typedoc/classes/index.RpcClosedError.html +0 -15
- package/typedoc/classes/index.RpcNotOpenError.html +0 -15
- package/typedoc/classes/index.SharedWorkerConnection.html +0 -5
- package/typedoc/classes/index.Shell.html +0 -35
- package/typedoc/classes/index.ShellManager.html +0 -9
- package/typedoc/classes/index.SystemError.html +0 -16
- package/typedoc/classes/index.UnknownModelError.html +0 -15
- package/typedoc/classes/index.WorkerClientServices.html +0 -12
- package/typedoc/classes/invitations.AuthenticatingInvitationObservable.html +0 -30
- package/typedoc/classes/invitations.CancellableInvitationObservable.html +0 -29
- package/typedoc/classes/invitations.InvitationEncoder.html +0 -5
- package/typedoc/classes/invitations.InvitationsProxy.html +0 -12
- package/typedoc/enums/devtools.KeyType.html +0 -9
- package/typedoc/enums/echo.HaloSpaceMember.Role.html +0 -9
- package/typedoc/enums/echo.IndexKind.Kind.html +0 -8
- package/typedoc/enums/echo.QueryOptions.DataLocation.html +0 -6
- package/typedoc/enums/echo.QueryOptions.ShowDeletedOption.html +0 -6
- package/typedoc/enums/echo.ResultFormat.html +0 -10
- package/typedoc/enums/echo.SpaceMember.PresenceState.html +0 -5
- package/typedoc/enums/echo.SpaceState.html +0 -13
- package/typedoc/enums/echo.TextKind.html +0 -5
- package/typedoc/enums/halo.Device.PresenceState.html +0 -6
- package/typedoc/enums/halo.DeviceKind.html +0 -5
- package/typedoc/enums/halo.DeviceType.html +0 -9
- package/typedoc/enums/index.ShellDisplay.html +0 -5
- package/typedoc/enums/index.ShellLayout.html +0 -13
- package/typedoc/enums/index.SystemStatus.html +0 -5
- package/typedoc/enums/invitations.Invitation.AuthMethod.html +0 -6
- package/typedoc/enums/invitations.Invitation.Kind.html +0 -5
- package/typedoc/enums/invitations.Invitation.State.html +0 -13
- package/typedoc/enums/invitations.Invitation.Type.html +0 -6
- package/typedoc/enums/mesh.ConnectionState.html +0 -5
- package/typedoc/functions/devtools.useDevtools.html +0 -1
- package/typedoc/functions/devtools.useStream.html +0 -2
- package/typedoc/functions/echo.useMembers.html +0 -1
- package/typedoc/functions/echo.useQueue.html +0 -2
- package/typedoc/functions/echo.useSchema.html +0 -2
- package/typedoc/functions/echo.useSpace.html +0 -6
- package/typedoc/functions/echo.useSpaceInvitation.html +0 -1
- package/typedoc/functions/echo.useSpaceInvitations.html +0 -1
- package/typedoc/functions/echo.useSpaceSyncState.html +0 -2
- package/typedoc/functions/echo.useSpaces.html +0 -5
- package/typedoc/functions/echo.useSubscription.html +0 -3
- package/typedoc/functions/echo.useSyncState.html +0 -2
- package/typedoc/functions/halo.useContacts.html +0 -4
- package/typedoc/functions/halo.useCredentials.html +0 -1
- package/typedoc/functions/halo.useDevices.html +0 -1
- package/typedoc/functions/halo.useHaloInvitation.html +0 -1
- package/typedoc/functions/halo.useHaloInvitations.html +0 -1
- package/typedoc/functions/halo.useIdentity.html +0 -3
- package/typedoc/functions/halo.useKeyStore.html +0 -3
- package/typedoc/functions/index.AgentHostingProvider.html +0 -2
- package/typedoc/functions/index.useAgentHostingClient.html +0 -1
- package/typedoc/functions/index.useClient.html +0 -3
- package/typedoc/functions/index.useClientStatus.html +0 -1
- package/typedoc/functions/index.useConfig.html +0 -3
- package/typedoc/functions/index.useShell.html +0 -2
- package/typedoc/functions/index.useShellDisplay.html +0 -2
- package/typedoc/functions/index.useStatus.html +0 -1
- package/typedoc/functions/invitations.useInvitationStatus.html +0 -1
- package/typedoc/functions/mesh.useNetworkStatus.html +0 -2
- package/typedoc/hierarchy.html +0 -1
- package/typedoc/index.html +0 -23
- package/typedoc/interfaces/devtools.DevtoolsHook.html +0 -22
- package/typedoc/interfaces/devtools.DevtoolsHost.html +0 -26
- package/typedoc/interfaces/echo.DocAccessor.html +0 -3
- package/typedoc/interfaces/echo.Echo.html +0 -39
- package/typedoc/interfaces/echo.EchoDatabase.html +0 -25
- package/typedoc/interfaces/echo.Expando.html +0 -3
- package/typedoc/interfaces/echo.Filter.html +0 -3
- package/typedoc/interfaces/echo.HaloSpaceMember.html +0 -18
- package/typedoc/interfaces/echo.IDocHandle.html +0 -6
- package/typedoc/interfaces/echo.IndexKind.html +0 -9
- package/typedoc/interfaces/echo.Query.html +0 -34
- package/typedoc/interfaces/echo.QueryOptions.html +0 -39
- package/typedoc/interfaces/echo.Queue.html +0 -17
- package/typedoc/interfaces/echo.Ref.html +0 -32
- package/typedoc/interfaces/echo.Space.html +0 -39
- package/typedoc/interfaces/echo.SpaceMember.html +0 -7
- package/typedoc/interfaces/echo.SpaceSyncState.PeerState.html +0 -14
- package/typedoc/interfaces/echo.SpaceSyncState.html +0 -4
- package/typedoc/interfaces/echo.SubscriptionHandle.html +0 -5
- package/typedoc/interfaces/echo.TypedObject.html +0 -16
- package/typedoc/interfaces/halo.Contact.html +0 -10
- package/typedoc/interfaces/halo.Credential.html +0 -27
- package/typedoc/interfaces/halo.Device.html +0 -11
- package/typedoc/interfaces/halo.Halo.html +0 -16
- package/typedoc/interfaces/halo.Identity.html +0 -15
- package/typedoc/interfaces/index.AgentHostingProviderClient.html +0 -6
- package/typedoc/interfaces/index.AppContextRequest.html +0 -33
- package/typedoc/interfaces/index.ClientServicesProvider.html +0 -9
- package/typedoc/interfaces/index.InvitationUrlRequest.html +0 -9
- package/typedoc/interfaces/index.LayoutRequest.html +0 -29
- package/typedoc/interfaces/index.ShellRuntime.html +0 -15
- package/typedoc/interfaces/invitations.Invitation.html +0 -92
- package/typedoc/interfaces/invitations.Invitations.html +0 -5
- package/typedoc/interfaces/mesh.GossipMessage.html +0 -10
- package/typedoc/interfaces/mesh.NetworkStatus.Signal.html +0 -5
- package/typedoc/interfaces/mesh.NetworkStatus.html +0 -6
- package/typedoc/media/LICENSE +0 -8
- package/typedoc/modules/devtools.html +0 -1
- package/typedoc/modules/echo.Filter.html +0 -1
- package/typedoc/modules/echo.HaloSpaceMember.html +0 -1
- package/typedoc/modules/echo.IndexKind.html +0 -1
- package/typedoc/modules/echo.Query.html +0 -1
- package/typedoc/modules/echo.QueryOptions.html +0 -1
- package/typedoc/modules/echo.Ref.html +0 -2
- package/typedoc/modules/echo.SpaceMember.html +0 -1
- package/typedoc/modules/echo.SpaceSyncState.html +0 -1
- package/typedoc/modules/echo.html +0 -1
- package/typedoc/modules/halo.Device.html +0 -1
- package/typedoc/modules/halo.html +0 -1
- package/typedoc/modules/index.html +0 -1
- package/typedoc/modules/invitations.Invitation.html +0 -1
- package/typedoc/modules/invitations.html +0 -1
- package/typedoc/modules/mesh.NetworkStatus.html +0 -1
- package/typedoc/modules/mesh.html +0 -1
- package/typedoc/modules/worker.html +0 -1
- package/typedoc/modules.html +0 -1
- package/typedoc/types/devtools.MountOptions.html +0 -3
- package/typedoc/types/echo.AnyLiveObject.html +0 -2
- package/typedoc/types/echo.Filter.And.html +0 -1
- package/typedoc/types/echo.Filter.Any.html +0 -1
- package/typedoc/types/echo.Filter.Or.html +0 -1
- package/typedoc/types/echo.Filter.Props.html +0 -1
- package/typedoc/types/echo.Filter.Type.html +0 -1
- package/typedoc/types/echo.Live.html +0 -5
- package/typedoc/types/echo.ObjectMeta.html +0 -1
- package/typedoc/types/echo.ObjectMigration.html +0 -7
- package/typedoc/types/echo.ObjectVersion.html +0 -2
- package/typedoc/types/echo.PeerSyncState.html +0 -1
- package/typedoc/types/echo.Progress.html +0 -3
- package/typedoc/types/echo.PropertiesTypeProps.html +0 -1
- package/typedoc/types/echo.Query.Any.html +0 -1
- package/typedoc/types/echo.Query.TextSearchOptions.html +0 -2
- package/typedoc/types/echo.Query.Type.html +0 -1
- package/typedoc/types/echo.Ref.Target.html +0 -2
- package/typedoc/types/echo.Selection.html +0 -1
- package/typedoc/types/echo.SpaceId.html +0 -6
- package/typedoc/types/echo.SpaceSyncStateMap.html +0 -1
- package/typedoc/types/echo.UseQueueOptions.html +0 -2
- package/typedoc/types/echo.UseSpacesParams.html +0 -3
- package/typedoc/types/index.AgentHostingProviderProps.html +0 -3
- package/typedoc/types/index.ClientContextProps.html +0 -3
- package/typedoc/types/index.ClientOptions.html +0 -12
- package/typedoc/types/index.ClientProviderProps.html +0 -2
- package/typedoc/types/index.ClientServices.html +0 -15
- package/typedoc/types/index.FromAgentOptions.html +0 -2
- package/typedoc/types/index.PublicKeyLike.html +0 -2
- package/typedoc/types/invitations.InvitationAction.html +0 -1
- package/typedoc/types/invitations.InvitationResult.html +0 -5
- package/typedoc/types/invitations.InvitationStatus.html +0 -15
- package/typedoc/variables/devtools.mountDevtoolsHooks.html +0 -1
- package/typedoc/variables/devtools.unmountDevtoolsHooks.html +0 -1
- package/typedoc/variables/echo.DocAccessor.html +0 -1
- package/typedoc/variables/echo.EchoObjectSchema.html +0 -1
- package/typedoc/variables/echo.Expando.html +0 -1
- package/typedoc/variables/echo.FQ_ID_LENGTH.html +0 -1
- package/typedoc/variables/echo.Filter.html +0 -1
- package/typedoc/variables/echo.OBJECT_ID_LENGTH.html +0 -1
- package/typedoc/variables/echo.ObjectVersion.html +0 -1
- package/typedoc/variables/echo.Query.html +0 -1
- package/typedoc/variables/echo.Queue.html +0 -1
- package/typedoc/variables/echo.ReactiveObjectSchema.html +0 -1
- package/typedoc/variables/echo.Ref.html +0 -2
- package/typedoc/variables/echo.RefArray.html +0 -2
- package/typedoc/variables/echo.SPACE_ID_LENGTH.html +0 -1
- package/typedoc/variables/echo.SpaceId.html +0 -1
- package/typedoc/variables/echo.SpaceSchema.html +0 -1
- package/typedoc/variables/echo.TypedObject.html +0 -3
- package/typedoc/variables/echo.compareForeignKeys.html +0 -1
- package/typedoc/variables/echo.createDocAccessor.html +0 -1
- package/typedoc/variables/echo.createEmptyEdgeSyncState.html +0 -1
- package/typedoc/variables/echo.createObject.html +0 -1
- package/typedoc/variables/echo.createQueueDXN.html +0 -2
- package/typedoc/variables/echo.createSubscription.html +0 -5
- package/typedoc/variables/echo.defineObjectMigration.html +0 -1
- package/typedoc/variables/echo.fromCursor.html +0 -1
- package/typedoc/variables/echo.fullyQualifiedId.html +0 -4
- package/typedoc/variables/echo.getMeta.html +0 -1
- package/typedoc/variables/echo.getObjectCore.html +0 -1
- package/typedoc/variables/echo.getRangeFromCursor.html +0 -1
- package/typedoc/variables/echo.getSchema.html +0 -2
- package/typedoc/variables/echo.getSource.html +0 -4
- package/typedoc/variables/echo.getSpace.html +0 -1
- package/typedoc/variables/echo.getSyncSummary.html +0 -1
- package/typedoc/variables/echo.getTarget.html +0 -4
- package/typedoc/variables/echo.getTextInRange.html +0 -2
- package/typedoc/variables/echo.getType.html +0 -5
- package/typedoc/variables/echo.getTypename.html +0 -6
- package/typedoc/variables/echo.getVersion.html +0 -3
- package/typedoc/variables/echo.importSpace.html +0 -1
- package/typedoc/variables/echo.internalDecodeReference.html +0 -1
- package/typedoc/variables/echo.isEchoObject.html +0 -2
- package/typedoc/variables/echo.isLiveObject.html +0 -2
- package/typedoc/variables/echo.isRelation.html +0 -2
- package/typedoc/variables/echo.isSpace.html +0 -1
- package/typedoc/variables/echo.live.html +0 -3
- package/typedoc/variables/echo.loadObjectReferences.html +0 -7
- package/typedoc/variables/echo.makeRef.html +0 -2
- package/typedoc/variables/echo.parseFullyQualifiedId.html +0 -2
- package/typedoc/variables/echo.parseId.html +0 -1
- package/typedoc/variables/echo.refFromDXN.html +0 -2
- package/typedoc/variables/echo.toCursor.html +0 -1
- package/typedoc/variables/echo.toCursorRange.html +0 -1
- package/typedoc/variables/echo.updateText.html +0 -6
- package/typedoc/variables/echo.useQuery.html +0 -2
- package/typedoc/variables/index.AgentHostingContext.html +0 -1
- package/typedoc/variables/index.ClientProvider.html +0 -3
- package/typedoc/variables/index.DXOS_VERSION.html +0 -1
- package/typedoc/variables/index.Defaults.html +0 -2
- package/typedoc/variables/index.Dynamics.html +0 -2
- package/typedoc/variables/index.Envs.html +0 -2
- package/typedoc/variables/index.Local.html +0 -2
- package/typedoc/variables/index.Remote.html +0 -1
- package/typedoc/variables/index.Storage.html +0 -2
- package/typedoc/variables/index.createClientServices.html +0 -4
- package/typedoc/variables/index.fromAgent.html +0 -2
- package/typedoc/variables/index.fromHost.html +0 -2
- package/typedoc/variables/index.fromSocket.html +0 -2
- package/typedoc/variables/index.fromWorker.html +0 -2
- package/typedoc/variables/index.getUnixSocket.html +0 -1
- package/typedoc/variables/index.resolveRef.html +0 -1
- package/typedoc/variables/index.useMulticastObservable.html +0 -3
- package/typedoc/variables/worker.getWorkerServiceHost.html +0 -1
- package/typedoc/variables/worker.onconnect.html +0 -1
|
Binary file
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ClientContext
|
|
3
|
+
} from "./chunk-TSF6Y5VB.mjs";
|
|
4
|
+
|
|
5
|
+
// src/client/ClientProvider.tsx
|
|
6
|
+
import React, { forwardRef, useEffect, useImperativeHandle, useState } from "react";
|
|
7
|
+
import { Client, SystemStatus } from "@dxos/client";
|
|
8
|
+
import { log } from "@dxos/log";
|
|
9
|
+
import { useAsyncEffect, useControlledState } from "@dxos/react-hooks";
|
|
10
|
+
import { getAsyncProviderValue } from "@dxos/util";
|
|
11
|
+
|
|
12
|
+
// src/banner.ts
|
|
13
|
+
var BANNER = (client) => {
|
|
14
|
+
const commitHash = client.config.get("runtime.app.build.commitHash");
|
|
15
|
+
const hash = commitHash ? ` App Commit ${commitHash}
|
|
16
|
+
` : "";
|
|
17
|
+
return `
|
|
18
|
+
_/\\/\\/\\/\\/\\____/\\/\\____/\\/\\____/\\/\\/\\/\\______/\\/\\/\\/\\/\\_
|
|
19
|
+
_/\\/\\____/\\/\\____/\\/\\/\\/\\____/\\/\\____/\\/\\__/\\/\\_________
|
|
20
|
+
_/\\/\\____/\\/\\______/\\/\\______/\\/\\____/\\/\\____/\\/\\/\\/\\___
|
|
21
|
+
_/\\/\\____/\\/\\____/\\/\\/\\/\\____/\\/\\____/\\/\\__________/\\/\\_
|
|
22
|
+
_/\\/\\/\\/\\/\\____/\\/\\____/\\/\\____/\\/\\/\\/\\____/\\/\\/\\/\\/\\___
|
|
23
|
+
|
|
24
|
+
DXOS Client ${client.version}
|
|
25
|
+
${hash}`;
|
|
26
|
+
};
|
|
27
|
+
var bannerPrinted = false;
|
|
28
|
+
var printBanner = (client) => {
|
|
29
|
+
if (bannerPrinted || window.location.hostname === "localhost") {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
bannerPrinted = true;
|
|
33
|
+
console.log(`%c${BANNER(client)}`, "font-family: monospace;");
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
// src/client/ClientProvider.tsx
|
|
37
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/sdk/react-client/src/client/ClientProvider.tsx";
|
|
38
|
+
var ClientProvider = /* @__PURE__ */ forwardRef(({ children, config: configProp, client: clientProp, services: servicesProp, status: statusProp, fallback: Fallback = () => null, noBanner, onInitialized, ...options }, forwardedRef) => {
|
|
39
|
+
const [error, setError] = useState();
|
|
40
|
+
if (error) {
|
|
41
|
+
throw error;
|
|
42
|
+
}
|
|
43
|
+
const [client, setClient] = useState(clientProp instanceof Client ? clientProp : void 0);
|
|
44
|
+
useImperativeHandle(forwardedRef, () => client, [
|
|
45
|
+
client
|
|
46
|
+
]);
|
|
47
|
+
const [status, setStatus] = useControlledState(statusProp);
|
|
48
|
+
useEffect(() => {
|
|
49
|
+
if (!client) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
const subscription = client.status.subscribe((status2) => setStatus(status2));
|
|
53
|
+
return () => subscription.unsubscribe();
|
|
54
|
+
}, [
|
|
55
|
+
client
|
|
56
|
+
]);
|
|
57
|
+
useAsyncEffect(async () => {
|
|
58
|
+
let disposed = false;
|
|
59
|
+
const initialize = async (client3) => {
|
|
60
|
+
if (!client3.initialized) {
|
|
61
|
+
await client3.initialize().catch((err) => {
|
|
62
|
+
if (!disposed) {
|
|
63
|
+
setError(err);
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
log("client ready", void 0, {
|
|
67
|
+
F: __dxlog_file,
|
|
68
|
+
L: 124,
|
|
69
|
+
S: void 0,
|
|
70
|
+
C: (f, a) => f(...a)
|
|
71
|
+
});
|
|
72
|
+
await onInitialized?.(client3);
|
|
73
|
+
log("initialization complete", void 0, {
|
|
74
|
+
F: __dxlog_file,
|
|
75
|
+
L: 126,
|
|
76
|
+
S: void 0,
|
|
77
|
+
C: (f, a) => f(...a)
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
setClient(client3);
|
|
81
|
+
if (!noBanner) {
|
|
82
|
+
printBanner(client3);
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
let client2;
|
|
86
|
+
try {
|
|
87
|
+
if (clientProp) {
|
|
88
|
+
client2 = await getAsyncProviderValue(clientProp);
|
|
89
|
+
await initialize(client2);
|
|
90
|
+
} else {
|
|
91
|
+
const config = await getAsyncProviderValue(configProp);
|
|
92
|
+
log("resolved config", {
|
|
93
|
+
config
|
|
94
|
+
}, {
|
|
95
|
+
F: __dxlog_file,
|
|
96
|
+
L: 144,
|
|
97
|
+
S: void 0,
|
|
98
|
+
C: (f, a) => f(...a)
|
|
99
|
+
});
|
|
100
|
+
const services = await getAsyncProviderValue(servicesProp, config);
|
|
101
|
+
log("created services", {
|
|
102
|
+
services
|
|
103
|
+
}, {
|
|
104
|
+
F: __dxlog_file,
|
|
105
|
+
L: 146,
|
|
106
|
+
S: void 0,
|
|
107
|
+
C: (f, a) => f(...a)
|
|
108
|
+
});
|
|
109
|
+
client2 = new Client({
|
|
110
|
+
config,
|
|
111
|
+
services,
|
|
112
|
+
...options
|
|
113
|
+
});
|
|
114
|
+
log("created client", void 0, {
|
|
115
|
+
F: __dxlog_file,
|
|
116
|
+
L: 148,
|
|
117
|
+
S: void 0,
|
|
118
|
+
C: (f, a) => f(...a)
|
|
119
|
+
});
|
|
120
|
+
await initialize(client2);
|
|
121
|
+
}
|
|
122
|
+
} catch (err) {
|
|
123
|
+
if (!disposed) {
|
|
124
|
+
log.catch(err, void 0, {
|
|
125
|
+
F: __dxlog_file,
|
|
126
|
+
L: 153,
|
|
127
|
+
S: void 0,
|
|
128
|
+
C: (f, a) => f(...a)
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return () => {
|
|
133
|
+
log("clean up", void 0, {
|
|
134
|
+
F: __dxlog_file,
|
|
135
|
+
L: 158,
|
|
136
|
+
S: void 0,
|
|
137
|
+
C: (f, a) => f(...a)
|
|
138
|
+
});
|
|
139
|
+
disposed = true;
|
|
140
|
+
if (!clientProp) {
|
|
141
|
+
void client2?.destroy().then(() => {
|
|
142
|
+
log("destroyed", void 0, {
|
|
143
|
+
F: __dxlog_file,
|
|
144
|
+
L: 165,
|
|
145
|
+
S: void 0,
|
|
146
|
+
C: (f, a) => f(...a)
|
|
147
|
+
});
|
|
148
|
+
}).catch((err) => log.catch(err, void 0, {
|
|
149
|
+
F: __dxlog_file,
|
|
150
|
+
L: 167,
|
|
151
|
+
S: void 0,
|
|
152
|
+
C: (f, a) => f(...a)
|
|
153
|
+
}));
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
}, [
|
|
157
|
+
configProp,
|
|
158
|
+
clientProp,
|
|
159
|
+
servicesProp,
|
|
160
|
+
noBanner
|
|
161
|
+
]);
|
|
162
|
+
if (!client?.initialized || status !== SystemStatus.ACTIVE) {
|
|
163
|
+
return /* @__PURE__ */ React.createElement(Fallback, {
|
|
164
|
+
client,
|
|
165
|
+
status
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
return /* @__PURE__ */ React.createElement(ClientContext.Provider, {
|
|
169
|
+
value: {
|
|
170
|
+
client,
|
|
171
|
+
status
|
|
172
|
+
}
|
|
173
|
+
}, children);
|
|
174
|
+
});
|
|
175
|
+
|
|
176
|
+
export {
|
|
177
|
+
ClientProvider
|
|
178
|
+
};
|
|
179
|
+
//# sourceMappingURL=chunk-5UKA2BMA.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/client/ClientProvider.tsx", "../../../src/banner.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2020 DXOS.org\n//\n\nimport React, {\n type FunctionComponent,\n type PropsWithChildren,\n forwardRef,\n useEffect,\n useImperativeHandle,\n useState,\n} from 'react';\n\nimport { Client, type ClientOptions, type ClientServicesProvider, SystemStatus } from '@dxos/client';\nimport { type Config } from '@dxos/config';\nimport { log } from '@dxos/log';\nimport { useAsyncEffect, useControlledState } from '@dxos/react-hooks';\nimport { type MaybePromise, type Provider, getAsyncProviderValue } from '@dxos/util';\n\nimport { printBanner } from '../banner';\n\nimport { ClientContext, type ClientContextProps } from './context';\n\n/**\n * Properties for the ClientProvider.\n */\nexport type ClientProviderProps = Omit<ClientOptions, 'config' | 'services'> &\n Pick<ClientContextProps, 'status'> &\n PropsWithChildren<{\n /**\n * Client object or async provider to enable to caller to do custom initialization.\n *\n * NOTE: For advanced use cases only.\n */\n client?: Client | Provider<Promise<Client>>;\n\n /**\n * Config object or async provider.\n *\n * NOTE: If a `client` is provided then `config` is ignored.\n */\n // TODO(burdon): Reconcile with ClientOptions.\n config?: Config | Provider<Promise<Config>>;\n\n /**\n * Callback to enable the caller to create a custom ClientServicesProvider.\n *\n * NOTE: If a `client` is provided then `services` is ignored.\n */\n // TODO(burdon): Reconcile with ClientOptions.\n services?: ClientServicesProvider | ((config?: Config) => MaybePromise<ClientServicesProvider>);\n\n /**\n * ReactNode to display until the client is available.\n */\n fallback?: FunctionComponent<Partial<ClientContextProps>>;\n\n /**\n * Skip the DXOS banner.\n */\n noBanner?: boolean;\n\n /**\n * Post initialization hook to enable to caller to do custom initialization.\n */\n onInitialized?: (client: Client) => MaybePromise<void>;\n }>;\n\n/**\n * Root component that provides the DXOS client instance to child components.\n * To be used with the `useClient` hook.\n */\nexport const ClientProvider = forwardRef<Client | undefined, ClientProviderProps>(\n (\n {\n children,\n config: configProp,\n client: clientProp,\n services: servicesProp,\n status: statusProp,\n fallback: Fallback = () => null,\n noBanner,\n onInitialized,\n ...options\n },\n forwardedRef,\n ) => {\n // The client is initialized asynchronously.\n // If an error occurs during initialization, it is caught and the state is set.\n // This allows the error to be thrown in the render method.\n // The assumption is that a client initialization error is fatal to the app.\n // This error will be caught by the nearest error boundary.\n const [error, setError] = useState();\n if (error) {\n throw error;\n }\n\n const [client, setClient] = useState(clientProp instanceof Client ? clientProp : undefined);\n\n // Provide external access.\n useImperativeHandle(forwardedRef, () => client, [client]);\n\n // Client status subscription.\n const [status, setStatus] = useControlledState(statusProp);\n useEffect(() => {\n if (!client) {\n return;\n }\n\n const subscription = client.status.subscribe((status) => setStatus(status));\n return () => subscription.unsubscribe();\n }, [client]);\n\n // Create and/or initialize client.\n useAsyncEffect(async () => {\n let disposed = false;\n const initialize = async (client: Client) => {\n if (!client.initialized) {\n await client.initialize().catch((err) => {\n if (!disposed) {\n setError(err);\n }\n });\n log('client ready');\n await onInitialized?.(client);\n log('initialization complete');\n }\n\n setClient(client);\n if (!noBanner) {\n printBanner(client);\n }\n };\n\n let client: Client;\n try {\n if (clientProp) {\n // Asynchronously request client.\n client = await getAsyncProviderValue(clientProp);\n await initialize(client);\n } else {\n // Asynchronously construct client (config may be undefined).\n const config = await getAsyncProviderValue(configProp);\n log('resolved config', { config });\n const services = await getAsyncProviderValue(servicesProp, config);\n log('created services', { services });\n client = new Client({ config, services, ...options });\n log('created client');\n await initialize(client);\n }\n } catch (err) {\n if (!disposed) {\n log.catch(err);\n }\n }\n\n return () => {\n log('clean up');\n disposed = true;\n // Only destroy if the client is not provided by the parent.\n if (!clientProp) {\n void client\n ?.destroy()\n .then(() => {\n log('destroyed');\n })\n .catch((err) => log.catch(err));\n }\n };\n }, [configProp, clientProp, servicesProp, noBanner]);\n\n if (!client?.initialized || status !== SystemStatus.ACTIVE) {\n return <Fallback client={client} status={status} />;\n }\n\n return <ClientContext.Provider value={{ client, status }}>{children}</ClientContext.Provider>;\n },\n);\n", "//\n// Copyright 2021 DXOS.org\n//\n\nimport { type Client } from '@dxos/client';\n\n// http://patorjk.com/software/taag/#p=testall&f=Patorjk-HeX&t=DXOS\nconst BANNER = (client: Client) => {\n const commitHash = client.config.get('runtime.app.build.commitHash');\n const hash = commitHash ? ` App Commit ${commitHash} \\n` : '';\n\n return (\n '\\n' +\n '_/\\\\/\\\\/\\\\/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\/\\\\/\\\\______/\\\\/\\\\/\\\\/\\\\/\\\\_\\n' +\n '_/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\__/\\\\/\\\\_________\\n' +\n '_/\\\\/\\\\____/\\\\/\\\\______/\\\\/\\\\______/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\/\\\\/\\\\___\\n' +\n '_/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\__________/\\\\/\\\\_\\n' +\n '_/\\\\/\\\\/\\\\/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\____/\\\\/\\\\/\\\\/\\\\____/\\\\/\\\\/\\\\/\\\\/\\\\___\\n' +\n `\\n DXOS Client ${client.version} \\n${hash}`\n );\n};\n\nlet bannerPrinted = false;\n\nexport const printBanner = (client: Client) => {\n if (bannerPrinted || window.location.hostname === 'localhost') {\n return;\n }\n\n bannerPrinted = true;\n // eslint-disable-next-line no-console\n console.log(`%c${BANNER(client)}`, 'font-family: monospace;');\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React", "forwardRef", "useEffect", "useImperativeHandle", "useState", "Client", "SystemStatus", "log", "useAsyncEffect", "useControlledState", "getAsyncProviderValue", "BANNER", "client", "commitHash", "config", "get", "hash", "version", "bannerPrinted", "printBanner", "window", "location", "hostname", "console", "log", "ClientProvider", "forwardRef", "children", "config", "configProp", "client", "clientProp", "services", "servicesProp", "status", "statusProp", "fallback", "Fallback", "noBanner", "onInitialized", "options", "forwardedRef", "error", "setError", "useState", "setClient", "Client", "undefined", "useImperativeHandle", "setStatus", "useControlledState", "useEffect", "subscription", "subscribe", "unsubscribe", "useAsyncEffect", "disposed", "initialize", "initialized", "catch", "err", "log", "printBanner", "getAsyncProviderValue", "destroy", "then", "SystemStatus", "ACTIVE", "ClientContext", "Provider", "value"]
|
|
7
|
+
}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
//
|
|
1
|
+
// src/invitations/index.ts
|
|
2
2
|
import { AuthenticatingInvitationObservable, CancellableInvitationObservable, InvitationEncoder as InvitationEncoder2, Invitation as Invitation2, InvitationsProxy } from "@dxos/client/invitations";
|
|
3
3
|
|
|
4
|
-
//
|
|
5
|
-
import {
|
|
4
|
+
// src/invitations/useInvitationStatus.ts
|
|
5
|
+
import { useCallback, useEffect, useMemo, useReducer } from "react";
|
|
6
6
|
import { Invitation, InvitationEncoder } from "@dxos/client/invitations";
|
|
7
7
|
import { log } from "@dxos/log";
|
|
8
|
-
var __dxlog_file = "/
|
|
9
|
-
var isShareableInvitation = (invitation) => invitation.authMethod !== Invitation.AuthMethod.KNOWN_PUBLIC_KEY || invitation.guestKeypair?.privateKey;
|
|
8
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/sdk/react-client/src/invitations/useInvitationStatus.ts";
|
|
9
|
+
var isShareableInvitation = (invitation) => invitation.authMethod !== Invitation.AuthMethod.KNOWN_PUBLIC_KEY || !!invitation.guestKeypair?.privateKey;
|
|
10
10
|
var useInvitationStatus = (observable) => {
|
|
11
11
|
const [state, dispatch] = useReducer((prev, action) => {
|
|
12
12
|
log("useInvitationStatus", {
|
|
13
13
|
action
|
|
14
14
|
}, {
|
|
15
15
|
F: __dxlog_file,
|
|
16
|
-
L:
|
|
16
|
+
L: 91,
|
|
17
17
|
S: void 0,
|
|
18
18
|
C: (f, a) => f(...a)
|
|
19
19
|
});
|
|
@@ -126,7 +126,7 @@ var useInvitationStatus = (observable) => {
|
|
|
126
126
|
authCode
|
|
127
127
|
}, {
|
|
128
128
|
F: __dxlog_file,
|
|
129
|
-
L:
|
|
129
|
+
L: 196,
|
|
130
130
|
S: void 0,
|
|
131
131
|
C: (f, a) => f(...a)
|
|
132
132
|
});
|
|
@@ -160,4 +160,4 @@ export {
|
|
|
160
160
|
Invitation2 as Invitation,
|
|
161
161
|
InvitationsProxy
|
|
162
162
|
};
|
|
163
|
-
//# sourceMappingURL=chunk-
|
|
163
|
+
//# sourceMappingURL=chunk-LO3TU5CK.mjs.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 { useCallback, useEffect, useMemo, useReducer } 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?: Error;\n id?: string;\n multiUse?: boolean;\n shareable?: boolean;\n invitationCode?: string;\n authCode?: string;\n authMethod?: Invitation.AuthMethod;\n type?: Invitation.Type;\n}\n\ntype InvitationPayload = { invitation: Invitation };\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 } & InvitationPayload)\n | ({\n status: Invitation.State.CONNECTING;\n observable: CancellableInvitationObservable;\n } & InvitationPayload)\n | ({\n status: Invitation.State.SUCCESS;\n result: InvitationResult;\n } & InvitationPayload)\n | ({\n status: Invitation.State.CANCELLED | Invitation.State.TIMEOUT;\n haltedAt: Invitation.State;\n } & InvitationPayload)\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 shareable?: boolean;\n result: InvitationResult;\n error?: Error;\n cancel(): void;\n // TODO(wittjosiah): Remove?\n connect(observable: CancellableInvitationObservable): void;\n authenticate(authCode: string): Promise<void>;\n};\n\n// Without private key, the invitation code cannot be created.\n// These invitations are only available to be accepted but not shared.\nconst isShareableInvitation = (invitation: Invitation) =>\n invitation.authMethod !== Invitation.AuthMethod.KNOWN_PUBLIC_KEY || !!invitation.guestKeypair?.privateKey;\n\nexport const useInvitationStatus = (observable?: CancellableInvitationObservable): InvitationStatus => {\n const [state, dispatch] = useReducer(\n (prev: InvitationReducerState, action: InvitationAction): InvitationReducerState => {\n log('useInvitationStatus', { action });\n const invitationProps =\n 'invitation' in action\n ? {\n id: action.invitation.invitationId,\n multiUse: action.invitation.multiUse,\n invitationCode: InvitationEncoder.encode(action.invitation),\n authCode: action.invitation.authCode,\n authMethod: action.invitation.authMethod,\n shareable: isShareableInvitation(action.invitation),\n type: action.invitation.type,\n }\n : {};\n return {\n ...prev,\n ...invitationProps,\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 };\n },\n null,\n (_arg: null): InvitationReducerState => {\n const invitation = observable?.get();\n return {\n status: Invitation.State.INIT,\n result: { spaceKey: null, identityKey: null, swarmKey: null, target: null },\n id: invitation?.invitationId,\n multiUse: invitation?.multiUse,\n invitationCode: invitation ? InvitationEncoder.encode(invitation) : undefined,\n authCode: invitation?.authCode,\n authMethod: invitation?.authMethod,\n shareable: invitation ? isShareableInvitation(invitation) : false,\n type: invitation?.type,\n };\n },\n );\n\n // Handle unmount.\n\n useEffect(() => {\n const update = (invitation: Invitation) => {\n switch (invitation.state) {\n case Invitation.State.INIT:\n case Invitation.State.CONNECTED:\n case Invitation.State.READY_FOR_AUTHENTICATION:\n case Invitation.State.AUTHENTICATING: {\n dispatch({\n invitation,\n status: invitation.state,\n });\n break;\n }\n\n case Invitation.State.SUCCESS: {\n dispatch({\n invitation,\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({ invitation, status: invitation.state, haltedAt: state.status });\n break;\n }\n }\n };\n\n const subscription = observable?.subscribe(update, (err: Error) => {\n dispatch({ status: Invitation.State.ERROR, error: err, haltedAt: state.status });\n });\n\n const currentState = observable?.get();\n if (currentState) {\n update(currentState);\n }\n\n return () => subscription?.unsubscribe();\n }, [observable, state.status]);\n\n // Return memoized callbacks & values.\n\n const connect = useCallback((observable: CancellableInvitationObservable) => {\n dispatch({ invitation: observable.get(), status: Invitation.State.CONNECTING, observable });\n }, []);\n\n const authenticate = useCallback(\n (authCode: string) => {\n log('authenticating...', { authCode });\n return (observable as AuthenticatingInvitationObservable).authenticate(authCode);\n },\n [observable],\n );\n\n const cancel = useCallback(async () => observable?.cancel(), [observable]);\n\n return useMemo(() => {\n return {\n ...state,\n cancel,\n connect,\n authenticate,\n };\n }, [state, cancel, connect, authenticate]);\n};\n"],
|
|
5
|
+
"mappings": ";AAKA,SACEA,oCACAC,iCACAC,qBAAAA,oBACAC,cAAAA,aAEAC,wBACK;;;ACRP,SAASC,aAAaC,WAAWC,SAASC,kBAAkB;AAG5D,SAGEC,YACAC,yBACK;AACP,SAASC,WAAW;;AAuEpB,IAAMC,wBAAwB,CAACC,eAC7BA,WAAWC,eAAeL,WAAWM,WAAWC,oBAAoB,CAAC,CAACH,WAAWI,cAAcC;AAE1F,IAAMC,sBAAsB,CAACC,eAAAA;AAClC,QAAM,CAACC,OAAOC,QAAAA,IAAYd,WACxB,CAACe,MAA8BC,WAAAA;AAC7Bb,QAAI,uBAAuB;MAAEa;IAAO,GAAA;;;;;;AACpC,UAAMC,kBACJ,gBAAgBD,SACZ;MACEE,IAAIF,OAAOX,WAAWc;MACtBC,UAAUJ,OAAOX,WAAWe;MAC5BC,gBAAgBnB,kBAAkBoB,OAAON,OAAOX,UAAU;MAC1DkB,UAAUP,OAAOX,WAAWkB;MAC5BjB,YAAYU,OAAOX,WAAWC;MAC9BkB,WAAWpB,sBAAsBY,OAAOX,UAAU;MAClDoB,MAAMT,OAAOX,WAAWoB;IAC1B,IACA,CAAC;AACP,WAAO;MACL,GAAGV;MACH,GAAGE;;MAEHS,QAAQV,OAAOU;;MAEfC,QAAQX,OAAOU,WAAWzB,WAAW2B,MAAMC,UAAUb,OAAOW,SAASZ,KAAKY;;MAE1E,GAAIX,OAAOU,WAAWzB,WAAW2B,MAAME,SAAS;QAAEC,OAAOf,OAAOe;MAAM;;MAEtE,IAAKf,OAAOU,WAAWzB,WAAW2B,MAAME,SACtCd,OAAOU,WAAWzB,WAAW2B,MAAMI,aACnChB,OAAOU,WAAWzB,WAAW2B,MAAMK,YAAY;QAC/CC,UAAU,OAAOnB,KAAKmB,aAAa,cAAclB,OAAOkB,WAAWnB,KAAKmB;MAC1E;IACF;EACF,GACA,MACA,CAACC,SAAAA;AACC,UAAM9B,aAAaO,YAAYwB,IAAAA;AAC/B,WAAO;MACLV,QAAQzB,WAAW2B,MAAMS;MACzBV,QAAQ;QAAEW,UAAU;QAAMC,aAAa;QAAMC,UAAU;QAAMC,QAAQ;MAAK;MAC1EvB,IAAIb,YAAYc;MAChBC,UAAUf,YAAYe;MACtBC,gBAAgBhB,aAAaH,kBAAkBoB,OAAOjB,UAAAA,IAAcqC;MACpEnB,UAAUlB,YAAYkB;MACtBjB,YAAYD,YAAYC;MACxBkB,WAAWnB,aAAaD,sBAAsBC,UAAAA,IAAc;MAC5DoB,MAAMpB,YAAYoB;IACpB;EACF,CAAA;AAKF3B,YAAU,MAAA;AACR,UAAM6C,SAAS,CAACtC,eAAAA;AACd,cAAQA,WAAWQ,OAAK;QACtB,KAAKZ,WAAW2B,MAAMS;QACtB,KAAKpC,WAAW2B,MAAMgB;QACtB,KAAK3C,WAAW2B,MAAMiB;QACtB,KAAK5C,WAAW2B,MAAMkB,gBAAgB;AACpChC,mBAAS;YACPT;YACAqB,QAAQrB,WAAWQ;UACrB,CAAA;AACA;QACF;QAEA,KAAKZ,WAAW2B,MAAMC,SAAS;AAC7Bf,mBAAS;YACPT;YACAqB,QAAQrB,WAAWQ;YACnBc,QAAQ;cACNW,UAAUjC,WAAWiC,YAAY;cACjCC,aAAalC,WAAWkC,eAAe;cACvCC,UAAUnC,WAAWmC,YAAY;cACjCC,QAAQpC,WAAWoC,UAAU;YAC/B;UACF,CAAA;AACA;QACF;QAEA,KAAKxC,WAAW2B,MAAMI;QACtB,KAAK/B,WAAW2B,MAAMK,SAAS;AAC7BnB,mBAAS;YAAET;YAAYqB,QAAQrB,WAAWQ;YAAOqB,UAAUrB,MAAMa;UAAO,CAAA;AACxE;QACF;MACF;IACF;AAEA,UAAMqB,eAAenC,YAAYoC,UAAUL,QAAQ,CAACM,QAAAA;AAClDnC,eAAS;QAAEY,QAAQzB,WAAW2B,MAAME;QAAOC,OAAOkB;QAAKf,UAAUrB,MAAMa;MAAO,CAAA;IAChF,CAAA;AAEA,UAAMwB,eAAetC,YAAYwB,IAAAA;AACjC,QAAIc,cAAc;AAChBP,aAAOO,YAAAA;IACT;AAEA,WAAO,MAAMH,cAAcI,YAAAA;EAC7B,GAAG;IAACvC;IAAYC,MAAMa;GAAO;AAI7B,QAAM0B,UAAUvD,YAAY,CAACe,gBAAAA;AAC3BE,aAAS;MAAET,YAAYO,YAAWwB,IAAG;MAAIV,QAAQzB,WAAW2B,MAAMyB;MAAYzC,YAAAA;IAAW,CAAA;EAC3F,GAAG,CAAA,CAAE;AAEL,QAAM0C,eAAezD,YACnB,CAAC0B,aAAAA;AACCpB,QAAI,qBAAqB;MAAEoB;IAAS,GAAA;;;;;;AACpC,WAAQX,WAAkD0C,aAAa/B,QAAAA;EACzE,GACA;IAACX;GAAW;AAGd,QAAM2C,SAAS1D,YAAY,YAAYe,YAAY2C,OAAAA,GAAU;IAAC3C;GAAW;AAEzE,SAAOb,QAAQ,MAAA;AACb,WAAO;MACL,GAAGc;MACH0C;MACAH;MACAE;IACF;EACF,GAAG;IAACzC;IAAO0C;IAAQH;IAASE;GAAa;AAC3C;",
|
|
6
|
+
"names": ["AuthenticatingInvitationObservable", "CancellableInvitationObservable", "InvitationEncoder", "Invitation", "InvitationsProxy", "useCallback", "useEffect", "useMemo", "useReducer", "Invitation", "InvitationEncoder", "log", "isShareableInvitation", "invitation", "authMethod", "AuthMethod", "KNOWN_PUBLIC_KEY", "guestKeypair", "privateKey", "useInvitationStatus", "observable", "state", "dispatch", "prev", "action", "invitationProps", "id", "invitationId", "multiUse", "invitationCode", "encode", "authCode", "shareable", "type", "status", "result", "State", "SUCCESS", "ERROR", "error", "CANCELLED", "TIMEOUT", "haltedAt", "_arg", "get", "INIT", "spaceKey", "identityKey", "swarmKey", "target", "undefined", "update", "CONNECTED", "READY_FOR_AUTHENTICATION", "AUTHENTICATING", "subscription", "subscribe", "err", "currentState", "unsubscribe", "connect", "CONNECTING", "authenticate", "cancel"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ClientContext
|
|
3
|
+
} from "./chunk-TSF6Y5VB.mjs";
|
|
4
|
+
|
|
5
|
+
// src/client/useClient.ts
|
|
6
|
+
import { useContext } from "react";
|
|
7
|
+
import { raise } from "@dxos/debug";
|
|
8
|
+
var useClient = () => {
|
|
9
|
+
const { client } = useContext(ClientContext) ?? raise(new Error("Missing ClientContext."));
|
|
10
|
+
return client;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export {
|
|
14
|
+
useClient
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=chunk-PFF63FPR.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/client/useClient.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { useContext } from 'react';\n\nimport { raise } from '@dxos/debug';\n\nimport { ClientContext } from '../client/context';\n\n/**\n * Hook returning instance of DXOS client.\n * Requires ClientContext to be set via ClientProvider.\n */\nexport const useClient = () => {\n const { client } = useContext(ClientContext) ?? raise(new Error('Missing ClientContext.'));\n return client;\n};\n"],
|
|
5
|
+
"mappings": ";;;;;AAIA,SAASA,kBAAkB;AAE3B,SAASC,aAAa;AAQf,IAAMC,YAAY,MAAA;AACvB,QAAM,EAAEC,OAAM,IAAKC,WAAWC,aAAAA,KAAkBC,MAAM,IAAIC,MAAM,wBAAA,CAAA;AAChE,SAAOJ;AACT;",
|
|
6
|
+
"names": ["useContext", "raise", "useClient", "client", "useContext", "ClientContext", "raise", "Error"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/client/context.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2020 DXOS.org\n//\n\nimport { type Context, createContext } from 'react';\n\nimport { type Client, type SystemStatus } from '@dxos/client';\n\nexport type ClientContextProps = {\n client: Client;\n status?: SystemStatus | null;\n};\n\n/**\n * @internal Use ClientProvider to create or initialize the Client.\n */\nexport const ClientContext: Context<ClientContextProps | undefined> = createContext<ClientContextProps | undefined>(\n undefined,\n);\n"],
|
|
5
|
+
"mappings": ";AAIA,SAAuBA,qBAAqB;AAYrC,IAAMC,gBAAyDC,cACpEC,MAAAA;",
|
|
6
|
+
"names": ["createContext", "ClientContext", "createContext", "undefined"]
|
|
7
|
+
}
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
import {
|
|
2
2
|
useClient
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-PFF63FPR.mjs";
|
|
4
|
+
import "../chunk-TSF6Y5VB.mjs";
|
|
4
5
|
|
|
5
|
-
//
|
|
6
|
+
// src/devtools/index.ts
|
|
6
7
|
export * from "@dxos/client/devtools";
|
|
7
8
|
|
|
8
|
-
//
|
|
9
|
+
// src/devtools/useDevtools.ts
|
|
9
10
|
import { raise } from "@dxos/debug";
|
|
10
11
|
var useDevtools = () => {
|
|
11
12
|
const client = useClient();
|
|
12
13
|
return client.services.services.DevtoolsHost ?? raise(new Error("DevtoolsHost not available."));
|
|
13
14
|
};
|
|
14
15
|
|
|
15
|
-
//
|
|
16
|
-
import {
|
|
16
|
+
// src/devtools/useStream.ts
|
|
17
|
+
import { useEffect, useState } from "react";
|
|
17
18
|
import { log } from "@dxos/log";
|
|
18
|
-
var __dxlog_file = "/
|
|
19
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/sdk/react-client/src/devtools/useStream.ts";
|
|
19
20
|
var useStream = (streamFactory, defaultValue, deps = []) => {
|
|
20
21
|
const [value, setValue] = useState(defaultValue);
|
|
21
22
|
useEffect(() => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/devtools/index.ts", "../../../../src/devtools/useDevtools.ts", "../../../../src/devtools/useStream.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nexport * from '@dxos/client/devtools';\n\nexport * from './useDevtools';\nexport * from './useStream';\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { type DevtoolsHost } from '@dxos/client/devtools';\nimport { raise } from '@dxos/debug';\n\nimport { useClient } from '../client';\n\nexport const useDevtools = (): DevtoolsHost => {\n const client = useClient();\n return client.services.services.DevtoolsHost ?? raise(new Error('DevtoolsHost not available.'));\n};\n", "//\n// Copyright 2021 DXOS.org\n//\n\nimport { type DependencyList,
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["raise", "useDevtools", "client", "useClient", "services", "DevtoolsHost", "raise", "Error", "
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nexport * from '@dxos/client/devtools';\n\nexport * from './useDevtools';\nexport * from './useStream';\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { type DevtoolsHost } from '@dxos/client/devtools';\nimport { raise } from '@dxos/debug';\n\nimport { useClient } from '../client';\n\nexport const useDevtools = (): DevtoolsHost => {\n const client = useClient();\n return client.services.services.DevtoolsHost ?? raise(new Error('DevtoolsHost not available.'));\n};\n", "//\n// Copyright 2021 DXOS.org\n//\n\nimport { type DependencyList, useEffect, useState } from 'react';\n\nimport { type Stream } from '@dxos/codec-protobuf/stream';\nimport { log } from '@dxos/log';\n\n/**\n * Subscribe to service API streams.\n */\nexport const useStream = <T>(streamFactory: () => Stream<T>, defaultValue: T, deps: DependencyList = []): T => {\n const [value, setValue] = useState<T | undefined>(defaultValue);\n useEffect(() => {\n const stream = streamFactory();\n stream.subscribe(\n (response: T) => setValue(response),\n (err) => {\n if (err) {\n log.catch(err);\n }\n },\n );\n\n return () => {\n void stream.close();\n };\n }, deps);\n\n return value ?? defaultValue;\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;AAIA,cAAc;;;ACCd,SAASA,aAAa;AAIf,IAAMC,cAAc,MAAA;AACzB,QAAMC,SAASC,UAAAA;AACf,SAAOD,OAAOE,SAASA,SAASC,gBAAgBC,MAAM,IAAIC,MAAM,6BAAA,CAAA;AAClE;;;ACRA,SAA8BC,WAAWC,gBAAgB;AAGzD,SAASC,WAAW;;AAKb,IAAMC,YAAY,CAAIC,eAAgCC,cAAiBC,OAAuB,CAAA,MAAE;AACrG,QAAM,CAACC,OAAOC,QAAAA,IAAYP,SAAwBI,YAAAA;AAClDL,YAAU,MAAA;AACR,UAAMS,SAASL,cAAAA;AACfK,WAAOC,UACL,CAACC,aAAgBH,SAASG,QAAAA,GAC1B,CAACC,QAAAA;AACC,UAAIA,KAAK;AACPV,YAAIW,MAAMD,KAAAA,QAAAA;;;;;;MACZ;IACF,CAAA;AAGF,WAAO,MAAA;AACL,WAAKH,OAAOK,MAAK;IACnB;EACF,GAAGR,IAAAA;AAEH,SAAOC,SAASF;AAClB;",
|
|
6
|
+
"names": ["raise", "useDevtools", "client", "useClient", "services", "DevtoolsHost", "raise", "Error", "useEffect", "useState", "log", "useStream", "streamFactory", "defaultValue", "deps", "value", "setValue", "stream", "subscribe", "response", "err", "catch", "close"]
|
|
7
7
|
}
|