@dxos/react-client 0.8.3 → 0.8.4-main.1c7ec43d41
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 +9 -0
- package/.storybook/preview.mts +8 -0
- package/dist/lib/browser/chunk-3LVU7RNK.mjs +16 -0
- package/dist/lib/browser/chunk-3LVU7RNK.mjs.map +7 -0
- package/dist/lib/browser/chunk-CZMIVAGI.mjs +8 -0
- package/dist/lib/browser/chunk-CZMIVAGI.mjs.map +7 -0
- package/dist/lib/browser/chunk-XT352YI6.mjs +134 -0
- package/dist/lib/browser/chunk-XT352YI6.mjs.map +7 -0
- package/dist/lib/browser/{chunk-AL2CUQ46.mjs → chunk-YHE6WD44.mjs} +8 -18
- package/dist/lib/browser/chunk-YHE6WD44.mjs.map +7 -0
- package/dist/lib/browser/devtools/index.mjs +8 -12
- package/dist/lib/browser/devtools/index.mjs.map +3 -3
- package/dist/lib/browser/echo/index.mjs +67 -136
- 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 +100 -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 +117 -160
- package/dist/lib/browser/testing/index.mjs.map +3 -3
- package/dist/lib/browser/worker.mjs +1 -1
- package/dist/lib/node-esm/chunk-CUDKNAMV.mjs +17 -0
- package/dist/lib/node-esm/chunk-CUDKNAMV.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-UYJUBYMU.mjs → chunk-RQJPEHDY.mjs} +8 -18
- package/dist/lib/node-esm/chunk-RQJPEHDY.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-WL3Z5HOH.mjs +135 -0
- package/dist/lib/node-esm/chunk-WL3Z5HOH.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-WUTK2IJF.mjs +10 -0
- package/dist/lib/node-esm/chunk-WUTK2IJF.mjs.map +7 -0
- package/dist/lib/node-esm/devtools/index.mjs +8 -12
- package/dist/lib/node-esm/devtools/index.mjs.map +3 -3
- package/dist/lib/node-esm/echo/index.mjs +67 -136
- 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 +100 -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 +117 -160
- package/dist/lib/node-esm/testing/index.mjs.map +3 -3
- package/dist/lib/node-esm/worker.mjs +1 -1
- package/dist/types/src/banner.d.ts.map +1 -1
- package/dist/types/src/client/AgentHostingProvider.d.ts.map +1 -1
- package/dist/types/src/client/ClientProvider.d.ts +1 -11
- package/dist/types/src/client/ClientProvider.d.ts.map +1 -1
- package/dist/types/src/client/useClientStatus.d.ts.map +1 -1
- package/dist/types/src/devtools/useStream.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 +3 -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 +19 -9
- 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/halo/useKeyStore.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/util.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/docs/README.md +38 -38
- package/moon.yml +20 -0
- package/package.json +43 -58
- package/src/client/AgentHostingProvider.tsx +1 -1
- package/src/client/ClientProvider.test.tsx +2 -2
- package/src/client/ClientProvider.tsx +32 -50
- package/src/client/useConfig.test.tsx +1 -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 +3 -4
- package/src/echo/useSpaceInvitations.ts +10 -5
- package/src/echo/useSpaceProperties.ts +28 -0
- package/src/echo/useSpaces.test.tsx +8 -14
- package/src/echo/useSpaces.ts +32 -30
- package/src/echo/useSubscription.ts +1 -1
- package/src/echo/useSyncState.ts +5 -4
- package/src/halo/Passkey.stories.tsx +20 -20
- package/src/halo/useDevices.test.tsx +1 -1
- package/src/halo/useHaloInvitations.ts +1 -1
- package/src/invitations/useInvitationStatus.ts +9 -8
- package/src/testing/ClientRepeater.stories.tsx +22 -16
- package/src/testing/ClientRepeater.tsx +29 -37
- package/src/testing/context.tsx +4 -3
- package/src/testing/util.tsx +0 -1
- package/src/testing/withClientProvider.stories.tsx +34 -20
- package/src/testing/withClientProvider.tsx +77 -94
- package/tsconfig.json +3 -6
- package/typedoc.json +1 -1
- package/vitest.config.ts +10 -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
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ClientContext
|
|
3
|
+
} from "./chunk-CZMIVAGI.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-3LVU7RNK.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,gBAAyDD,cACpEE,MAAAA;",
|
|
6
|
+
"names": ["createContext", "ClientContext", "undefined"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ClientContext
|
|
3
|
+
} from "./chunk-CZMIVAGI.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, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 50, S: void 0 });
|
|
67
|
+
await onInitialized?.(client3);
|
|
68
|
+
log("initialization complete", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 52, S: void 0 });
|
|
69
|
+
}
|
|
70
|
+
setClient(client3);
|
|
71
|
+
if (!noBanner) {
|
|
72
|
+
printBanner(client3);
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
let client2;
|
|
76
|
+
try {
|
|
77
|
+
if (clientProp) {
|
|
78
|
+
client2 = await getAsyncProviderValue(clientProp);
|
|
79
|
+
await initialize(client2);
|
|
80
|
+
} else {
|
|
81
|
+
const config = await getAsyncProviderValue(configProp);
|
|
82
|
+
log("resolved config", {
|
|
83
|
+
config
|
|
84
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 68, S: void 0 });
|
|
85
|
+
const services = await getAsyncProviderValue(servicesProp, config);
|
|
86
|
+
log("created services", {
|
|
87
|
+
services
|
|
88
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 72, S: void 0 });
|
|
89
|
+
client2 = new Client({
|
|
90
|
+
config,
|
|
91
|
+
services,
|
|
92
|
+
...options
|
|
93
|
+
});
|
|
94
|
+
log("created client", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 80, S: void 0 });
|
|
95
|
+
await initialize(client2);
|
|
96
|
+
}
|
|
97
|
+
} catch (err) {
|
|
98
|
+
if (!disposed) {
|
|
99
|
+
log.catch(err, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 85, S: void 0 });
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return () => {
|
|
103
|
+
log("clean up", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 89, S: void 0 });
|
|
104
|
+
disposed = true;
|
|
105
|
+
if (!clientProp) {
|
|
106
|
+
void client2?.destroy().then(() => {
|
|
107
|
+
log("destroyed", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 94, S: void 0 });
|
|
108
|
+
}).catch((err) => log.catch(err, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 95, S: void 0 }));
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
}, [
|
|
112
|
+
configProp,
|
|
113
|
+
clientProp,
|
|
114
|
+
servicesProp,
|
|
115
|
+
noBanner
|
|
116
|
+
]);
|
|
117
|
+
if (!client?.initialized || status !== SystemStatus.ACTIVE) {
|
|
118
|
+
return /* @__PURE__ */ React.createElement(Fallback, {
|
|
119
|
+
client,
|
|
120
|
+
status
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
return /* @__PURE__ */ React.createElement(ClientContext.Provider, {
|
|
124
|
+
value: {
|
|
125
|
+
client,
|
|
126
|
+
status
|
|
127
|
+
}
|
|
128
|
+
}, children);
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
export {
|
|
132
|
+
ClientProvider
|
|
133
|
+
};
|
|
134
|
+
//# sourceMappingURL=chunk-XT352YI6.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';\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", "error", "client", "useImperativeHandle", "forwardedRef", "status", "useAsyncEffect", "initialize", "catch", "setError", "err", "log", "setClient", "printBanner", "config", "services", "disposed", "clientProp", "configProp", "servicesProp", "noBanner", "children"]
|
|
7
|
+
}
|
|
@@ -1,22 +1,17 @@
|
|
|
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
|
-
}, {
|
|
15
|
-
F: __dxlog_file,
|
|
16
|
-
L: 90,
|
|
17
|
-
S: void 0,
|
|
18
|
-
C: (f, a) => f(...a)
|
|
19
|
-
});
|
|
14
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 12, S: void 0 });
|
|
20
15
|
const invitationProps = "invitation" in action ? {
|
|
21
16
|
id: action.invitation.invitationId,
|
|
22
17
|
multiUse: action.invitation.multiUse,
|
|
@@ -124,12 +119,7 @@ var useInvitationStatus = (observable) => {
|
|
|
124
119
|
const authenticate = useCallback((authCode) => {
|
|
125
120
|
log("authenticating...", {
|
|
126
121
|
authCode
|
|
127
|
-
}, {
|
|
128
|
-
F: __dxlog_file,
|
|
129
|
-
L: 195,
|
|
130
|
-
S: void 0,
|
|
131
|
-
C: (f, a) => f(...a)
|
|
132
|
-
});
|
|
122
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 125, S: void 0 });
|
|
133
123
|
return observable.authenticate(authCode);
|
|
134
124
|
}, [
|
|
135
125
|
observable
|
|
@@ -160,4 +150,4 @@ export {
|
|
|
160
150
|
Invitation2 as Invitation,
|
|
161
151
|
InvitationsProxy
|
|
162
152
|
};
|
|
163
|
-
//# sourceMappingURL=chunk-
|
|
153
|
+
//# sourceMappingURL=chunk-YHE6WD44.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": "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",
|
|
6
|
+
"names": ["AuthenticatingInvitationObservable", "CancellableInvitationObservable", "InvitationEncoder", "Invitation", "InvitationsProxy", "useCallback", "useEffect", "useMemo", "useReducer", "Invitation", "InvitationEncoder", "log", "prev", "action", "invitationId", "multiUse", "invitation", "invitationCode", "authCode", "authMethod", "shareable", "isShareableInvitation", "type", "invitationProps", "status", "result", "INIT", "spaceKey", "identityKey", "swarmKey", "target", "State", "READY_FOR_AUTHENTICATION", "AUTHENTICATING", "dispatch", "haltedAt", "ERROR", "error", "update", "currentState", "subscription", "observable", "state", "cancel", "connect", "authenticate"]
|
|
7
|
+
}
|
|
@@ -1,33 +1,29 @@
|
|
|
1
1
|
import {
|
|
2
2
|
useClient
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-3LVU7RNK.mjs";
|
|
4
|
+
import "../chunk-CZMIVAGI.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(() => {
|
|
22
23
|
const stream = streamFactory();
|
|
23
24
|
stream.subscribe((response) => setValue(response), (err) => {
|
|
24
25
|
if (err) {
|
|
25
|
-
log.catch(err, void 0, {
|
|
26
|
-
F: __dxlog_file,
|
|
27
|
-
L: 21,
|
|
28
|
-
S: void 0,
|
|
29
|
-
C: (f, a) => f(...a)
|
|
30
|
-
});
|
|
26
|
+
log.catch(err, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 14, S: void 0 });
|
|
31
27
|
}
|
|
32
28
|
});
|
|
33
29
|
return () => {
|
|
@@ -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;AAEpB,IAAA,eAAA;AAKEF,IAAU,YAAA,CAAA,eAAA,cAAA,OAAA,CAAA,MAAA;QACR,CAAA,OAAMG,QAASC,IAAAA,SAAAA,YAAAA;YACfD,MAAOE;UAGH,SAAS,cAAA;qBACE,CAACC,aAAAA,SAAAA,QAAAA,GAAAA,CAAAA,QAAAA;AACZ,UAAA,KAAA;AACF,YAAA,MAAA,KAAA,QAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,OAAA,CAAA;MAGF;;AAEA,WAAA,MAAA;AACCC,WAAAA,OAAAA,MAAAA;IAEH;EACA,GAAA,IAAA;;;",
|
|
6
|
+
"names": ["raise", "useDevtools", "client", "useClient", "services", "DevtoolsHost", "raise", "Error", "useEffect", "useState", "log", "stream", "streamFactory", "subscribe", "err", "deps"]
|
|
7
7
|
}
|