@dxos/plugin-client 0.8.2 → 0.8.3-main.7f5a14c
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/dist/lib/browser/{chunk-DCUIJY75.mjs → chunk-AD7DN75A.mjs} +3 -2
- package/dist/lib/browser/{chunk-DCUIJY75.mjs.map → chunk-AD7DN75A.mjs.map} +3 -3
- package/dist/lib/browser/index.mjs +2 -2
- package/dist/lib/browser/{intent-resolver-KGM6A3BF.mjs → intent-resolver-P26WHKGY.mjs} +2 -2
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-CKZHHWY3.mjs → react-surface-SH6P4Z4Y.mjs} +2 -2
- package/dist/lib/node/{chunk-73HHNJMV.cjs → chunk-5UYAQKF4.cjs} +6 -5
- package/dist/lib/node/{chunk-73HHNJMV.cjs.map → chunk-5UYAQKF4.cjs.map} +3 -3
- package/dist/lib/node/index.cjs +2 -2
- package/dist/lib/node/{intent-resolver-Q4QBA5B2.cjs → intent-resolver-KGSANA3Z.cjs} +9 -9
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-surface-GHKLUOKW.cjs → react-surface-ALUXCYCF.cjs} +17 -17
- package/dist/lib/node-esm/{chunk-ULXZABZ4.mjs → chunk-DKHTCMRP.mjs} +3 -2
- package/dist/lib/node-esm/{chunk-ULXZABZ4.mjs.map → chunk-DKHTCMRP.mjs.map} +3 -3
- package/dist/lib/node-esm/index.mjs +2 -2
- package/dist/lib/node-esm/{intent-resolver-2GCG4LCE.mjs → intent-resolver-OXHCJOVI.mjs} +2 -2
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-UCUL26AF.mjs → react-surface-SKXQVOMS.mjs} +2 -2
- package/dist/types/src/components/ProfileContainer.d.ts.map +1 -1
- package/package.json +24 -24
- package/src/components/ProfileContainer.tsx +2 -1
- /package/dist/lib/browser/{intent-resolver-KGM6A3BF.mjs.map → intent-resolver-P26WHKGY.mjs.map} +0 -0
- /package/dist/lib/browser/{react-surface-CKZHHWY3.mjs.map → react-surface-SH6P4Z4Y.mjs.map} +0 -0
- /package/dist/lib/node/{intent-resolver-Q4QBA5B2.cjs.map → intent-resolver-KGSANA3Z.cjs.map} +0 -0
- /package/dist/lib/node/{react-surface-GHKLUOKW.cjs.map → react-surface-ALUXCYCF.cjs.map} +0 -0
- /package/dist/lib/node-esm/{intent-resolver-2GCG4LCE.mjs.map → intent-resolver-OXHCJOVI.mjs.map} +0 -0
- /package/dist/lib/node-esm/{react-surface-UCUL26AF.mjs.map → react-surface-SKXQVOMS.mjs.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/DevicesContainer.tsx", "../../../src/components/JoinDialog.tsx", "../../../src/components/ProfileContainer.tsx", "../../../src/components/RecoveryCodeDialog.tsx", "../../../src/components/RecoveryCredentialsContainer.tsx", "../../../src/components/ResetDialog.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Check, X } from '@phosphor-icons/react';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { QR } from 'react-qr-rounded';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { log } from '@dxos/log';\nimport { useClient, useMulticastObservable } from '@dxos/react-client';\nimport { type Device, useDevices } from '@dxos/react-client/halo';\nimport { type CancellableInvitationObservable, Invitation, InvitationEncoder } from '@dxos/react-client/invitations';\nimport { useNetworkStatus } from '@dxos/react-client/mesh';\nimport { Button, Clipboard, IconButton, List, useId, useTranslation } from '@dxos/react-ui';\nimport {\n ControlFrame,\n ControlFrameItem,\n ControlGroup,\n ControlItem,\n ControlPage,\n ControlSection,\n} from '@dxos/react-ui-form';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { getSize, mx } from '@dxos/react-ui-theme';\nimport { AuthCode, Centered, DeviceListItem, Emoji, Viewport } from '@dxos/shell/react';\nimport { hexToEmoji } from '@dxos/util';\n\nimport { CLIENT_PLUGIN } from '../meta';\nimport { ClientAction } from '../types';\n\nexport type DevicesContainerProps = {\n createInvitationUrl?: (invitationCode: string) => string;\n};\n\nexport const DevicesContainer = ({ createInvitationUrl }: DevicesContainerProps) => {\n const { t } = useTranslation('os');\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const devices = useDevices();\n const { swarm: connectionState } = useNetworkStatus();\n\n const handleResetStorage = useCallback(() => dispatch(createIntent(ClientAction.ResetStorage)), [dispatch]);\n\n const handleRecover = useCallback(\n () => dispatch(createIntent(ClientAction.ResetStorage, { mode: 'recover' })),\n [dispatch],\n );\n\n const handleJoinNewIdentity = useCallback(\n () => dispatch(createIntent(ClientAction.ResetStorage, { mode: 'join new identity' })),\n [dispatch],\n );\n\n return (\n <Clipboard.Provider>\n <StackItem.Content classNames='block overflow-y-auto'>\n <ControlPage>\n <ControlSection\n title={t('devices verbose label', { ns: CLIENT_PLUGIN })}\n description={t('devices description', { ns: CLIENT_PLUGIN })}\n >\n <ControlFrame>\n <ControlFrameItem title={t('devices label', { ns: CLIENT_PLUGIN })}>\n <List>\n {devices.map((device: Device) => {\n return (\n <DeviceListItem\n key={device.deviceKey.toHex()}\n device={device}\n connectionState={connectionState}\n />\n );\n })}\n </List>\n </ControlFrameItem>\n {createInvitationUrl && (\n <ControlFrameItem title='Add device'>\n <DeviceInvitation createInvitationUrl={createInvitationUrl} />\n </ControlFrameItem>\n )}\n </ControlFrame>\n </ControlSection>\n <ControlSection\n title={t('danger zone title', { ns: CLIENT_PLUGIN })}\n description={t('danger zone description', { ns: CLIENT_PLUGIN })}\n >\n <ControlGroup>\n <ControlItem\n title={t('reset device label')}\n description={t('reset device description', { ns: CLIENT_PLUGIN })}\n >\n <Button variant='destructive' onClick={handleResetStorage} data-testid='devicesContainer.reset'>\n {t('reset device label')}\n </Button>\n </ControlItem>\n <ControlItem\n title={t('recover identity label')}\n description={t('recover identity description', { ns: CLIENT_PLUGIN })}\n >\n <Button variant='destructive' onClick={handleRecover} data-testid='devicesContainer.recover'>\n {t('recover identity label')}\n </Button>\n </ControlItem>\n <ControlItem\n title={t('join new identity label')}\n description={t('join new identity description', { ns: CLIENT_PLUGIN })}\n >\n <Button\n variant='destructive'\n onClick={handleJoinNewIdentity}\n data-testid='devicesContainer.joinExisting'\n >\n {t('join new identity label')}\n </Button>\n </ControlItem>\n </ControlGroup>\n </ControlSection>\n </ControlPage>\n </StackItem.Content>\n </Clipboard.Provider>\n );\n};\n\ntype DeviceInvitationProps = {\n invitation?: CancellableInvitationObservable;\n createInvitationUrl: (invitationCode: string) => string;\n onInvitationDone: () => void;\n onInvitationCreate: () => void;\n};\n\nconst DeviceInvitation = (props: Pick<DeviceInvitationProps, 'createInvitationUrl'>) => {\n const client = useClient();\n const [invitation, setInvitation] = useState<CancellableInvitationObservable>();\n\n const onInvitationCreate = useCallback(() => {\n const invitation = client.halo.share();\n if (client.config.values.runtime?.app?.env?.DX_ENVIRONMENT !== 'production') {\n const subscription = invitation.subscribe((invitation: Invitation) => {\n const invitationCode = InvitationEncoder.encode(invitation);\n if (invitation.state === Invitation.State.CONNECTING) {\n log.info(JSON.stringify({ invitationCode, authCode: invitation.authCode }));\n subscription.unsubscribe();\n }\n });\n }\n setInvitation(invitation);\n }, [client]);\n\n const onInvitationDone = useCallback(() => {\n setInvitation(undefined);\n }, []);\n\n if (invitation) {\n return <DeviceInvitationImpl {...props} {...{ invitation, onInvitationCreate, onInvitationDone }} />;\n } else {\n return <InvitationSection {...props} {...{ onInvitationCreate, onInvitationDone }} />;\n }\n};\n\nconst DeviceInvitationImpl = ({\n invitation: invitationObservable,\n createInvitationUrl,\n onInvitationDone,\n onInvitationCreate,\n}: DeviceInvitationProps) => {\n const invitation = useMulticastObservable(invitationObservable!);\n const url = createInvitationUrl(InvitationEncoder.encode(invitation));\n\n useEffect(() => {\n if (invitation.state >= Invitation.State.SUCCESS) {\n onInvitationDone();\n }\n }, [invitation.state]);\n\n return <InvitationSection {...invitation} {...{ url, onInvitationDone, onInvitationCreate }} />;\n};\n\ntype InvitationComponentProps = Partial<\n Pick<Invitation, 'authCode' | 'invitationId'> &\n Pick<DeviceInvitationProps, 'onInvitationDone' | 'onInvitationCreate'> & {\n state: number;\n url: string;\n }\n>;\n\nconst InvitationSection = ({\n state = -1,\n authCode,\n invitationId = 'never',\n url = 'never',\n onInvitationDone = () => {},\n onInvitationCreate = () => {},\n}: InvitationComponentProps) => {\n const { t } = useTranslation(CLIENT_PLUGIN);\n const activeView =\n state < 0\n ? 'init'\n : state >= Invitation.State.CANCELLED\n ? 'complete'\n : state >= Invitation.State.READY_FOR_AUTHENTICATION && authCode\n ? 'auth-code'\n : 'qr-code';\n return activeView === 'init' ? (\n <>\n <p className='text-description mbe-2'>{t('add device description')}</p>\n <IconButton\n icon='ph--plus--regular'\n label={t('create device invitation label')}\n disabled={state >= 0}\n classNames='is-full'\n data-testid='devicesContainer.createInvitation'\n onClick={onInvitationCreate}\n />\n </>\n ) : (\n <Viewport.Root activeView={activeView}>\n <Viewport.Views>\n <Viewport.View id='init'>\n {/* This view intentionally left blank while conditionally rendering the viewport. */}\n </Viewport.View>\n <Viewport.View id='complete'>\n <InvitationComplete statusValue={state} />\n </Viewport.View>\n <Viewport.View id='auth-code'>\n <InvitationAuthCode id={invitationId} code={authCode ?? 'never'} onCancel={onInvitationDone} />\n </Viewport.View>\n <Viewport.View id='qr-code'>\n <InvitationQR id={invitationId} url={url} onCancel={onInvitationDone} />\n </Viewport.View>\n </Viewport.Views>\n </Viewport.Root>\n );\n};\n\nconst InvitationQR = ({ id, url, onCancel }: { id: string; url: string; onCancel: () => void }) => {\n const { t } = useTranslation('os');\n const qrLabel = useId('devices-container__qr-code');\n const emoji = hexToEmoji(id);\n return (\n <>\n <p className='text-description'>{t('qr code description', { ns: CLIENT_PLUGIN })}</p>\n <div role='group' className='grid grid-cols-[1fr_min-content] mlb-2 gap-2'>\n <div role='none' className='is-full aspect-square relative text-description'>\n <QR\n rounding={100}\n backgroundColor='transparent'\n color='currentColor'\n aria-labelledby={qrLabel}\n errorCorrectionLevel='Q'\n cutout={true}\n >\n {url ?? 'never'}\n </QR>\n <Centered>\n <Emoji text={emoji} />\n </Centered>\n </div>\n <span id={qrLabel} className='sr-only'>\n {t('qr label')}\n </span>\n </div>\n {/* TODO(burdon): Factor out button bar */}\n <div className='flex justify-center'>\n <div className='flex gap-2'>\n <Clipboard.Button value={url ?? 'never'} />\n <Button variant='ghost' onClick={onCancel}>\n {t('cancel label')}\n </Button>\n </div>\n </div>\n </>\n );\n};\n\nconst InvitationAuthCode = ({ id, code, onCancel }: { id: string; code: string; onCancel: () => void }) => {\n const { t } = useTranslation('os');\n const emoji = hexToEmoji(id);\n\n return (\n <>\n <p className='text-description'>{t('auth other device emoji message')}</p>\n {emoji && <Emoji text={emoji} className='mli-auto mlb-2 text-center' />}\n <p className='text-description'>{t('auth code message')}</p>\n <AuthCode code={code} large classNames='mli-auto mlb-2 text-center grow' />\n <Button variant='ghost' onClick={onCancel}>\n {t('cancel label')}\n </Button>\n </>\n );\n};\n\nconst InvitationComplete = ({ statusValue }: { statusValue: number }) => {\n return statusValue > 0 ? <Check className={mx('m-1.5', getSize(6))} /> : <X className={mx('m-1.5', getSize(6))} />;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { createIntent, LayoutAction, useIntentDispatcher } from '@dxos/app-framework';\nimport { ObservabilityAction } from '@dxos/plugin-observability/types';\nimport { type InvitationResult } from '@dxos/react-client/invitations';\nimport { Dialog, useTranslation } from '@dxos/react-ui';\nimport { JoinPanel, type JoinPanelProps } from '@dxos/shell/react';\n\nimport { CLIENT_PLUGIN } from '../meta';\nimport { ClientAction } from '../types';\n\nexport const JOIN_DIALOG = `${CLIENT_PLUGIN}/JoinDialog`;\n\nexport const JoinDialog = (props: JoinPanelProps) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const { t } = useTranslation(CLIENT_PLUGIN);\n\n const handleCancelResetStorage = useCallback(() => dispatch(createIntent(ClientAction.ShareIdentity)), [dispatch]);\n\n const handleDone = useCallback(\n async (result: InvitationResult | null) => {\n if (result?.identityKey) {\n await Promise.all([\n dispatch(createIntent(LayoutAction.UpdateDialog, { part: 'dialog', options: { state: false } })),\n dispatch(\n createIntent(ObservabilityAction.SendEvent, {\n name: props.initialDisposition === 'recover-identity' ? 'identity.recover' : 'identity.join',\n }),\n ),\n ]);\n }\n },\n [dispatch],\n );\n\n return (\n <Dialog.Content>\n <Dialog.Title classNames='sr-only'>{t('join space label', { ns: 'os' })}</Dialog.Title>\n <JoinPanel\n mode='halo-only'\n {...props}\n exitActionParent={<Dialog.Close asChild />}\n doneActionParent={<Dialog.Close asChild />}\n onCancelResetStorage={handleCancelResetStorage}\n onDone={handleDone}\n />\n </Dialog.Content>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Schema } from 'effect';\nimport React, { type ChangeEvent, useCallback, useMemo, useState } from 'react';\n\nimport { debounce } from '@dxos/async';\nimport { useClient } from '@dxos/react-client';\nimport { type Identity, useIdentity } from '@dxos/react-client/halo';\nimport { ButtonGroup, Clipboard, Input, useTranslation } from '@dxos/react-ui';\nimport {\n Form,\n type InputComponent,\n ControlItem,\n ControlItemInput,\n ControlSection,\n ControlPage,\n} from '@dxos/react-ui-form';\nimport { EmojiPickerBlock, HuePicker } from '@dxos/react-ui-pickers';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { hexToHue, hexToEmoji } from '@dxos/util';\n\nimport { CLIENT_PLUGIN } from '../meta';\n\n// TODO(thure): Factor out?\nconst getDefaultHueValue = (identity: Identity | null) => hexToHue(identity?.identityKey.toHex() ?? '0');\nconst getDefaultEmojiValue = (identity: Identity | null) => hexToEmoji(identity?.identityKey.toHex() ?? '0');\nconst getHueValue = (identity: Identity | null) => identity?.profile?.data?.hue || getDefaultHueValue(identity);\nconst getEmojiValue = (identity: Identity | null) => identity?.profile?.data?.emoji || getDefaultEmojiValue(identity);\n\nexport const ProfileContainer = () => {\n const { t } = useTranslation(CLIENT_PLUGIN);\n const client = useClient();\n const identity = useIdentity();\n const [displayName, setDisplayNameDirectly] = useState(identity?.profile?.displayName ?? '');\n const [emoji, setEmojiDirectly] = useState<string>(getEmojiValue(identity));\n const [hue, setHueDirectly] = useState<string>(getHueValue(identity));\n\n const updateProfile = useMemo(\n () =>\n debounce(\n (profile: Partial<Profile>) =>\n client.halo.updateProfile({\n displayName: profile.displayName,\n data: {\n emoji: profile.emoji,\n hue: profile.hue,\n },\n }),\n 2_000,\n ),\n [],\n );\n\n const handleSave = useCallback(\n (profile: Profile) => {\n setDisplayNameDirectly(profile.displayName);\n setEmojiDirectly(profile.emoji);\n setHueDirectly(profile.hue);\n updateProfile(profile);\n },\n [identity],\n );\n\n const values = useMemo(\n () => ({\n displayName,\n emoji,\n hue,\n did: identity?.did,\n }),\n [identity, displayName, emoji, hue],\n );\n\n // TODO(wittjosiah): Integrate descriptions with the form schema.\n const customElements: Partial<Record<string, InputComponent>> = useMemo(\n () => ({\n displayName: ({ type, label, getValue, onValueChange }) => {\n const handleChange = useCallback(\n ({ target: { value } }: ChangeEvent<HTMLInputElement>) => onValueChange(type, value),\n [onValueChange, type],\n );\n return (\n <ControlItemInput title={label} description={t('display name description')}>\n <Input.TextInput\n value={getValue()}\n onChange={handleChange}\n placeholder={t('display name input placeholder')}\n classNames='min-is-64'\n />\n </ControlItemInput>\n );\n },\n emoji: ({ type, label, getValue, onValueChange }) => {\n const handleChange = useCallback((nextEmoji: string) => onValueChange(type, nextEmoji), [onValueChange, type]);\n const handleEmojiReset = useCallback(\n () => onValueChange(type, getDefaultEmojiValue(identity)),\n [onValueChange, type],\n );\n return (\n <ControlItem title={label} description={t('icon description')}>\n <EmojiPickerBlock\n triggerVariant='default'\n emoji={getValue()}\n onChangeEmoji={handleChange}\n onClickClear={handleEmojiReset}\n classNames='justify-self-end'\n />\n </ControlItem>\n );\n },\n hue: ({ type, label, getValue, onValueChange }) => {\n const handleChange = useCallback((nextHue: string) => onValueChange(type, nextHue), [onValueChange, type]);\n const handleHueReset = useCallback(\n () => onValueChange(type, getDefaultHueValue(identity)),\n [onValueChange, type],\n );\n return (\n <ControlItem title={label} description={t('hue description')}>\n <HuePicker\n value={getValue()}\n onChange={handleChange}\n onReset={handleHueReset}\n classNames='[--hue-preview-size:1.5rem] justify-self-end'\n />\n </ControlItem>\n );\n },\n // TODO(wittjosiah): We need text input annotations for disabled and copyable.\n did: ({ label, getValue }) => {\n return (\n <ControlItemInput title={label} description={t('did description')}>\n <ButtonGroup>\n <Input.TextInput value={getValue()} disabled classNames='min-is-64' />\n <Clipboard.IconButton value={getValue() ?? ''} />\n </ButtonGroup>\n </ControlItemInput>\n );\n },\n }),\n [t],\n );\n\n return (\n <StackItem.Content classNames='block overflow-y-auto'>\n <ControlPage>\n <Clipboard.Provider>\n <ControlSection title={t('profile label')} description={t('profile description')}>\n <Form\n schema={ProfileSchema}\n values={values}\n autoSave\n onSave={handleSave}\n Custom={customElements}\n classNames='p-0 container-max-width [&_[role=\"form\"]]:grid [&_[role=\"form\"]]:grid-cols-1 md:[&_[role=\"form\"]]:grid-cols-[1fr_min-content] [&_[role=\"form\"]]:gap-4'\n />\n </ControlSection>\n </Clipboard.Provider>\n </ControlPage>\n </StackItem.Content>\n );\n};\n\n// TODO(wittjosiah): Integrate annotations with translations.\nconst ProfileSchema = Schema.Struct({\n displayName: Schema.String.annotations({ title: 'Display name' }),\n emoji: Schema.String.annotations({ title: 'Avatar' }),\n hue: Schema.String.annotations({ title: 'Color' }),\n did: Schema.String.annotations({ title: 'DID' }),\n});\ntype Profile = Schema.Schema.Type<typeof ProfileSchema>;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useState } from 'react';\n\nimport { AlertDialog, Button, Clipboard, Input, useTranslation } from '@dxos/react-ui';\n\nimport { CLIENT_PLUGIN } from '../meta';\n\nexport const RECOVERY_CODE_DIALOG = `${CLIENT_PLUGIN}/RecoveryCodeDialog`;\n\nexport type RecoveryCodeDialogProps = {\n code: string;\n};\n\nexport const RecoveryCodeDialog = ({ code }: RecoveryCodeDialogProps) => {\n const { t } = useTranslation(CLIENT_PLUGIN);\n const [confirmation, setConfirmation] = useState(false);\n\n const handleConfirmation = useCallback((checked: boolean) => setConfirmation(checked), []);\n\n return (\n <AlertDialog.Content classNames='bs-content min-bs-[15rem] max-bs-full md:max-is-[40rem] overflow-hidden'>\n <AlertDialog.Title>{t('recovery code dialog title')}</AlertDialog.Title>\n <p className='py-4'>{t('recovery code dialog description')}</p>\n <Clipboard.Provider>\n <Code code={code} />\n </Clipboard.Provider>\n <div className='flex flex-col py-4 gap-2'>\n <p>{t('recovery code dialog warning 1')}</p>\n <p>{t('recovery code dialog warning 2')}</p>\n </div>\n <div className='flex items-center gap-2 pbe-4'>\n <Input.Root>\n <Input.Checkbox\n data-testid='recoveryCode.confirm'\n checked={confirmation}\n onCheckedChange={handleConfirmation}\n />\n <Input.Label>{t('recovery code confirmation label')}</Input.Label>\n </Input.Root>\n </div>\n <div className='flex justify-end'>\n <AlertDialog.Action asChild>\n <Button data-testid='recoveryCode.continue' variant='primary' disabled={!confirmation}>\n {t('continue label')}\n </Button>\n </AlertDialog.Action>\n </div>\n </AlertDialog.Content>\n );\n};\n\nconst Code = ({ code }: { code: string }) => {\n const words = code.split(' ');\n return (\n <div className='relative p-2 border border-separator rounded group'>\n <Clipboard.IconButton value={code} classNames='absolute top-2 right-2 invisible group-hover:visible' />\n <div className='grid grid-cols-4'>\n {words.map((word, i) => (\n <div key={i} className='flex items-center p-2 gap-2'>\n <div className='w-4 text-xs text-center text-subdued'>{i + 1}</div>\n <div className='text-sm'>{word}</div>\n </div>\n ))}\n </div>\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { useCredentials } from '@dxos/react-client/halo';\nimport { Icon, IconButton, List, ListItem, useTranslation, Message } from '@dxos/react-ui';\nimport { ControlGroup, ControlItem, ControlPage, ControlSection } from '@dxos/react-ui-form';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { CLIENT_PLUGIN } from '../meta';\nimport { ClientAction } from '../types';\n\nexport const MANAGE_CREDENTIALS_DIALOG = `${CLIENT_PLUGIN}/ManageCredentialsDialog`;\n\nexport const RecoveryCredentialsContainer = () => {\n const { t } = useTranslation(CLIENT_PLUGIN);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const credentials = useCredentials();\n const recoveryCredentials = credentials.filter(\n (credential) => credential.subject.assertion['@type'] === 'dxos.halo.credentials.IdentityRecovery',\n );\n\n return (\n <StackItem.Content classNames='block overflow-y-auto'>\n <ControlPage>\n <ControlSection title={t('recovery setup dialog title')} description={t('recovery setup dialog description')}>\n <ControlGroup>\n <ControlItem title={t('create passkey label')} description={t('create passkey description')}>\n <IconButton\n label={t('create passkey label')}\n icon='ph--key--duotone'\n variant='primary'\n size={5}\n onClick={() => dispatch(createIntent(ClientAction.CreatePasskey))}\n />\n </ControlItem>\n <ControlItem title={t('create recovery code label')} description={t('create recovery code description')}>\n <IconButton\n label={t('create recovery code label')}\n icon='ph--receipt--duotone'\n variant='default'\n size={5}\n onClick={() => dispatch(createIntent(ClientAction.CreateRecoveryCode))}\n />\n </ControlItem>\n </ControlGroup>\n </ControlSection>\n <ControlSection title={t('credentials list label')}>\n {recoveryCredentials.length < 1 ? (\n <Message.Root valence='error' className='container-max-width'>\n <Message.Title>\n <Icon icon='ph--shield-warning--duotone' size={5} classNames='inline-block align-top mbs-px mie-1' />\n {t('no credentials title')}\n </Message.Title>\n <Message.Body>{t('no credentials message')}</Message.Body>\n </Message.Root>\n ) : (\n <List classNames='container-max-width pli-2'>\n {recoveryCredentials.map((credential) => (\n <ListItem.Root key={credential.id?.toHex()}>\n <ListItem.Endcap>\n <Icon icon='ph--key--regular' size={5} />\n </ListItem.Endcap>\n <ListItem.Heading>{credential.issuanceDate.toLocaleString()}</ListItem.Heading>\n </ListItem.Root>\n ))}\n </List>\n )}\n </ControlSection>\n </ControlPage>\n </StackItem.Content>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { createIntent, LayoutAction, useIntentDispatcher } from '@dxos/app-framework';\nimport { useClient } from '@dxos/react-client';\nimport { Dialog, useTranslation } from '@dxos/react-ui';\nimport { ConfirmReset, type ConfirmResetProps } from '@dxos/shell/react';\n\nimport { CLIENT_PLUGIN } from '../meta';\nimport { type ClientPluginOptions } from '../types';\n\nexport const RESET_DIALOG = `${CLIENT_PLUGIN}/ResetDialog`;\n\nexport type ResetDialogProps = Pick<ConfirmResetProps, 'mode'> & Pick<ClientPluginOptions, 'onReset'>;\n\nexport const ResetDialog = ({ mode, onReset }: ResetDialogProps) => {\n const { t } = useTranslation(CLIENT_PLUGIN);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const client = useClient();\n\n const handleReset = useCallback(async () => {\n await client.reset();\n const target =\n mode === 'join new identity' ? 'deviceInvitation' : mode === 'recover' ? 'recoverIdentity' : undefined;\n await onReset?.({ target });\n }, [dispatch, client, mode, onReset]);\n\n const handleCancel = useCallback(() => {\n void dispatch(\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n options: { state: false },\n }),\n );\n }, [dispatch]);\n\n // TODO(wittjosiah): Add the sr-only translations.\n // TODO(wittjosiah): Add missing descriptions to other dialogs.\n return (\n <Dialog.Content classNames='bs-content min-bs-[15rem] max-bs-full md:max-is-[40rem] overflow-hidden'>\n <Dialog.Title classNames='sr-only'>{t('reset dialog title')}</Dialog.Title>\n <Dialog.Description classNames='sr-only'>{t('reset dialog description')}</Dialog.Description>\n <ConfirmReset active mode={mode} onConfirm={handleReset} onCancel={handleCancel} />\n </Dialog.Content>\n );\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["import_react", "import_app_framework", "import_react_ui", "import_react_client", "import_halo", "import_react_ui_form", "import_react_ui_stack", "import_util", "DevicesContainer", "createInvitationUrl", "t", "useTranslation", "dispatchPromise", "dispatch", "useIntentDispatcher", "devices", "useDevices", "swarm", "connectionState", "useNetworkStatus", "handleResetStorage", "useCallback", "createIntent", "ClientAction", "ResetStorage", "handleRecover", "mode", "handleJoinNewIdentity", "React", "Clipboard", "Provider", "StackItem", "Content", "classNames", "ControlPage", "ControlSection", "title", "ns", "CLIENT_PLUGIN", "description", "ControlFrame", "ControlFrameItem", "List", "map", "device", "DeviceListItem", "key", "deviceKey", "toHex", "DeviceInvitation", "ControlGroup", "ControlItem", "Button", "variant", "onClick", "data-testid", "props", "client", "useClient", "invitation", "setInvitation", "useState", "onInvitationCreate", "halo", "share", "config", "values", "runtime", "app", "env", "DX_ENVIRONMENT", "subscription", "subscribe", "invitationCode", "InvitationEncoder", "encode", "state", "Invitation", "State", "CONNECTING", "log", "info", "JSON", "stringify", "authCode", "unsubscribe", "onInvitationDone", "undefined", "DeviceInvitationImpl", "InvitationSection", "invitationObservable", "useMulticastObservable", "url", "useEffect", "SUCCESS", "invitationId", "activeView", "CANCELLED", "READY_FOR_AUTHENTICATION", "p", "className", "IconButton", "icon", "label", "disabled", "Viewport", "Root", "Views", "View", "id", "InvitationComplete", "statusValue", "InvitationAuthCode", "code", "onCancel", "InvitationQR", "qrLabel", "useId", "emoji", "hexToEmoji", "div", "role", "QR", "rounding", "backgroundColor", "color", "aria-labelledby", "errorCorrectionLevel", "cutout", "Centered", "Emoji", "text", "span", "value", "AuthCode", "large", "Check", "mx", "getSize", "X", "JOIN_DIALOG", "JoinDialog", "handleCancelResetStorage", "ShareIdentity", "handleDone", "result", "identityKey", "Promise", "all", "LayoutAction", "UpdateDialog", "part", "options", "ObservabilityAction", "SendEvent", "name", "initialDisposition", "Dialog", "Title", "JoinPanel", "exitActionParent", "Close", "asChild", "doneActionParent", "onCancelResetStorage", "onDone", "getDefaultHueValue", "identity", "hexToHue", "getDefaultEmojiValue", "getHueValue", "profile", "data", "hue", "getEmojiValue", "ProfileContainer", "useIdentity", "displayName", "setDisplayNameDirectly", "setEmojiDirectly", "setHueDirectly", "updateProfile", "useMemo", "debounce", "handleSave", "did", "customElements", "type", "getValue", "onValueChange", "handleChange", "target", "ControlItemInput", "Input", "TextInput", "onChange", "placeholder", "nextEmoji", "handleEmojiReset", "EmojiPickerBlock", "triggerVariant", "onChangeEmoji", "onClickClear", "nextHue", "handleHueReset", "HuePicker", "onReset", "ButtonGroup", "Form", "schema", "ProfileSchema", "autoSave", "onSave", "Custom", "Schema", "Struct", "String", "annotations", "RECOVERY_CODE_DIALOG", "RecoveryCodeDialog", "confirmation", "setConfirmation", "handleConfirmation", "checked", "AlertDialog", "Code", "Checkbox", "onCheckedChange", "Label", "Action", "words", "split", "word", "i", "MANAGE_CREDENTIALS_DIALOG", "RecoveryCredentialsContainer", "credentials", "useCredentials", "recoveryCredentials", "filter", "credential", "subject", "assertion", "size", "CreatePasskey", "CreateRecoveryCode", "length", "Message", "valence", "Icon", "Body", "ListItem", "Endcap", "Heading", "issuanceDate", "toLocaleString", "RESET_DIALOG", "ResetDialog", "handleReset", "reset", "handleCancel", "Description", "ConfirmReset", "active", "onConfirm"]
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Check, X } from '@phosphor-icons/react';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { QR } from 'react-qr-rounded';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { log } from '@dxos/log';\nimport { useClient, useMulticastObservable } from '@dxos/react-client';\nimport { type Device, useDevices } from '@dxos/react-client/halo';\nimport { type CancellableInvitationObservable, Invitation, InvitationEncoder } from '@dxos/react-client/invitations';\nimport { useNetworkStatus } from '@dxos/react-client/mesh';\nimport { Button, Clipboard, IconButton, List, useId, useTranslation } from '@dxos/react-ui';\nimport {\n ControlFrame,\n ControlFrameItem,\n ControlGroup,\n ControlItem,\n ControlPage,\n ControlSection,\n} from '@dxos/react-ui-form';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { getSize, mx } from '@dxos/react-ui-theme';\nimport { AuthCode, Centered, DeviceListItem, Emoji, Viewport } from '@dxos/shell/react';\nimport { hexToEmoji } from '@dxos/util';\n\nimport { CLIENT_PLUGIN } from '../meta';\nimport { ClientAction } from '../types';\n\nexport type DevicesContainerProps = {\n createInvitationUrl?: (invitationCode: string) => string;\n};\n\nexport const DevicesContainer = ({ createInvitationUrl }: DevicesContainerProps) => {\n const { t } = useTranslation('os');\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const devices = useDevices();\n const { swarm: connectionState } = useNetworkStatus();\n\n const handleResetStorage = useCallback(() => dispatch(createIntent(ClientAction.ResetStorage)), [dispatch]);\n\n const handleRecover = useCallback(\n () => dispatch(createIntent(ClientAction.ResetStorage, { mode: 'recover' })),\n [dispatch],\n );\n\n const handleJoinNewIdentity = useCallback(\n () => dispatch(createIntent(ClientAction.ResetStorage, { mode: 'join new identity' })),\n [dispatch],\n );\n\n return (\n <Clipboard.Provider>\n <StackItem.Content classNames='block overflow-y-auto'>\n <ControlPage>\n <ControlSection\n title={t('devices verbose label', { ns: CLIENT_PLUGIN })}\n description={t('devices description', { ns: CLIENT_PLUGIN })}\n >\n <ControlFrame>\n <ControlFrameItem title={t('devices label', { ns: CLIENT_PLUGIN })}>\n <List>\n {devices.map((device: Device) => {\n return (\n <DeviceListItem\n key={device.deviceKey.toHex()}\n device={device}\n connectionState={connectionState}\n />\n );\n })}\n </List>\n </ControlFrameItem>\n {createInvitationUrl && (\n <ControlFrameItem title='Add device'>\n <DeviceInvitation createInvitationUrl={createInvitationUrl} />\n </ControlFrameItem>\n )}\n </ControlFrame>\n </ControlSection>\n <ControlSection\n title={t('danger zone title', { ns: CLIENT_PLUGIN })}\n description={t('danger zone description', { ns: CLIENT_PLUGIN })}\n >\n <ControlGroup>\n <ControlItem\n title={t('reset device label')}\n description={t('reset device description', { ns: CLIENT_PLUGIN })}\n >\n <Button variant='destructive' onClick={handleResetStorage} data-testid='devicesContainer.reset'>\n {t('reset device label')}\n </Button>\n </ControlItem>\n <ControlItem\n title={t('recover identity label')}\n description={t('recover identity description', { ns: CLIENT_PLUGIN })}\n >\n <Button variant='destructive' onClick={handleRecover} data-testid='devicesContainer.recover'>\n {t('recover identity label')}\n </Button>\n </ControlItem>\n <ControlItem\n title={t('join new identity label')}\n description={t('join new identity description', { ns: CLIENT_PLUGIN })}\n >\n <Button\n variant='destructive'\n onClick={handleJoinNewIdentity}\n data-testid='devicesContainer.joinExisting'\n >\n {t('join new identity label')}\n </Button>\n </ControlItem>\n </ControlGroup>\n </ControlSection>\n </ControlPage>\n </StackItem.Content>\n </Clipboard.Provider>\n );\n};\n\ntype DeviceInvitationProps = {\n invitation?: CancellableInvitationObservable;\n createInvitationUrl: (invitationCode: string) => string;\n onInvitationDone: () => void;\n onInvitationCreate: () => void;\n};\n\nconst DeviceInvitation = (props: Pick<DeviceInvitationProps, 'createInvitationUrl'>) => {\n const client = useClient();\n const [invitation, setInvitation] = useState<CancellableInvitationObservable>();\n\n const onInvitationCreate = useCallback(() => {\n const invitation = client.halo.share();\n if (client.config.values.runtime?.app?.env?.DX_ENVIRONMENT !== 'production') {\n const subscription = invitation.subscribe((invitation: Invitation) => {\n const invitationCode = InvitationEncoder.encode(invitation);\n if (invitation.state === Invitation.State.CONNECTING) {\n log.info(JSON.stringify({ invitationCode, authCode: invitation.authCode }));\n subscription.unsubscribe();\n }\n });\n }\n setInvitation(invitation);\n }, [client]);\n\n const onInvitationDone = useCallback(() => {\n setInvitation(undefined);\n }, []);\n\n if (invitation) {\n return <DeviceInvitationImpl {...props} {...{ invitation, onInvitationCreate, onInvitationDone }} />;\n } else {\n return <InvitationSection {...props} {...{ onInvitationCreate, onInvitationDone }} />;\n }\n};\n\nconst DeviceInvitationImpl = ({\n invitation: invitationObservable,\n createInvitationUrl,\n onInvitationDone,\n onInvitationCreate,\n}: DeviceInvitationProps) => {\n const invitation = useMulticastObservable(invitationObservable!);\n const url = createInvitationUrl(InvitationEncoder.encode(invitation));\n\n useEffect(() => {\n if (invitation.state >= Invitation.State.SUCCESS) {\n onInvitationDone();\n }\n }, [invitation.state]);\n\n return <InvitationSection {...invitation} {...{ url, onInvitationDone, onInvitationCreate }} />;\n};\n\ntype InvitationComponentProps = Partial<\n Pick<Invitation, 'authCode' | 'invitationId'> &\n Pick<DeviceInvitationProps, 'onInvitationDone' | 'onInvitationCreate'> & {\n state: number;\n url: string;\n }\n>;\n\nconst InvitationSection = ({\n state = -1,\n authCode,\n invitationId = 'never',\n url = 'never',\n onInvitationDone = () => {},\n onInvitationCreate = () => {},\n}: InvitationComponentProps) => {\n const { t } = useTranslation(CLIENT_PLUGIN);\n const activeView =\n state < 0\n ? 'init'\n : state >= Invitation.State.CANCELLED\n ? 'complete'\n : state >= Invitation.State.READY_FOR_AUTHENTICATION && authCode\n ? 'auth-code'\n : 'qr-code';\n return activeView === 'init' ? (\n <>\n <p className='text-description mbe-2'>{t('add device description')}</p>\n <IconButton\n icon='ph--plus--regular'\n label={t('create device invitation label')}\n disabled={state >= 0}\n classNames='is-full'\n data-testid='devicesContainer.createInvitation'\n onClick={onInvitationCreate}\n />\n </>\n ) : (\n <Viewport.Root activeView={activeView}>\n <Viewport.Views>\n <Viewport.View id='init'>\n {/* This view intentionally left blank while conditionally rendering the viewport. */}\n </Viewport.View>\n <Viewport.View id='complete'>\n <InvitationComplete statusValue={state} />\n </Viewport.View>\n <Viewport.View id='auth-code'>\n <InvitationAuthCode id={invitationId} code={authCode ?? 'never'} onCancel={onInvitationDone} />\n </Viewport.View>\n <Viewport.View id='qr-code'>\n <InvitationQR id={invitationId} url={url} onCancel={onInvitationDone} />\n </Viewport.View>\n </Viewport.Views>\n </Viewport.Root>\n );\n};\n\nconst InvitationQR = ({ id, url, onCancel }: { id: string; url: string; onCancel: () => void }) => {\n const { t } = useTranslation('os');\n const qrLabel = useId('devices-container__qr-code');\n const emoji = hexToEmoji(id);\n return (\n <>\n <p className='text-description'>{t('qr code description', { ns: CLIENT_PLUGIN })}</p>\n <div role='group' className='grid grid-cols-[1fr_min-content] mlb-2 gap-2'>\n <div role='none' className='is-full aspect-square relative text-description'>\n <QR\n rounding={100}\n backgroundColor='transparent'\n color='currentColor'\n aria-labelledby={qrLabel}\n errorCorrectionLevel='Q'\n cutout={true}\n >\n {url ?? 'never'}\n </QR>\n <Centered>\n <Emoji text={emoji} />\n </Centered>\n </div>\n <span id={qrLabel} className='sr-only'>\n {t('qr label')}\n </span>\n </div>\n {/* TODO(burdon): Factor out button bar */}\n <div className='flex justify-center'>\n <div className='flex gap-2'>\n <Clipboard.Button value={url ?? 'never'} />\n <Button variant='ghost' onClick={onCancel}>\n {t('cancel label')}\n </Button>\n </div>\n </div>\n </>\n );\n};\n\nconst InvitationAuthCode = ({ id, code, onCancel }: { id: string; code: string; onCancel: () => void }) => {\n const { t } = useTranslation('os');\n const emoji = hexToEmoji(id);\n\n return (\n <>\n <p className='text-description'>{t('auth other device emoji message')}</p>\n {emoji && <Emoji text={emoji} className='mli-auto mlb-2 text-center' />}\n <p className='text-description'>{t('auth code message')}</p>\n <AuthCode code={code} large classNames='mli-auto mlb-2 text-center grow' />\n <Button variant='ghost' onClick={onCancel}>\n {t('cancel label')}\n </Button>\n </>\n );\n};\n\nconst InvitationComplete = ({ statusValue }: { statusValue: number }) => {\n return statusValue > 0 ? <Check className={mx('m-1.5', getSize(6))} /> : <X className={mx('m-1.5', getSize(6))} />;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { createIntent, LayoutAction, useIntentDispatcher } from '@dxos/app-framework';\nimport { ObservabilityAction } from '@dxos/plugin-observability/types';\nimport { type InvitationResult } from '@dxos/react-client/invitations';\nimport { Dialog, useTranslation } from '@dxos/react-ui';\nimport { JoinPanel, type JoinPanelProps } from '@dxos/shell/react';\n\nimport { CLIENT_PLUGIN } from '../meta';\nimport { ClientAction } from '../types';\n\nexport const JOIN_DIALOG = `${CLIENT_PLUGIN}/JoinDialog`;\n\nexport const JoinDialog = (props: JoinPanelProps) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const { t } = useTranslation(CLIENT_PLUGIN);\n\n const handleCancelResetStorage = useCallback(() => dispatch(createIntent(ClientAction.ShareIdentity)), [dispatch]);\n\n const handleDone = useCallback(\n async (result: InvitationResult | null) => {\n if (result?.identityKey) {\n await Promise.all([\n dispatch(createIntent(LayoutAction.UpdateDialog, { part: 'dialog', options: { state: false } })),\n dispatch(\n createIntent(ObservabilityAction.SendEvent, {\n name: props.initialDisposition === 'recover-identity' ? 'identity.recover' : 'identity.join',\n }),\n ),\n ]);\n }\n },\n [dispatch],\n );\n\n return (\n <Dialog.Content>\n <Dialog.Title classNames='sr-only'>{t('join space label', { ns: 'os' })}</Dialog.Title>\n <JoinPanel\n mode='halo-only'\n {...props}\n exitActionParent={<Dialog.Close asChild />}\n doneActionParent={<Dialog.Close asChild />}\n onCancelResetStorage={handleCancelResetStorage}\n onDone={handleDone}\n />\n </Dialog.Content>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Schema } from 'effect';\nimport React, { type ChangeEvent, useCallback, useMemo, useState } from 'react';\n\nimport { debounce } from '@dxos/async';\nimport { useClient } from '@dxos/react-client';\nimport { type Identity, useIdentity } from '@dxos/react-client/halo';\nimport { ButtonGroup, Clipboard, Input, useTranslation } from '@dxos/react-ui';\nimport {\n Form,\n type InputComponent,\n ControlItem,\n ControlItemInput,\n ControlSection,\n ControlPage,\n} from '@dxos/react-ui-form';\nimport { EmojiPickerBlock, HuePicker } from '@dxos/react-ui-pickers';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { hexToHue, hexToEmoji } from '@dxos/util';\n\nimport { CLIENT_PLUGIN } from '../meta';\n\n// TODO(thure): Factor out?\nconst getDefaultHueValue = (identity: Identity | null) => hexToHue(identity?.identityKey.toHex() ?? '0');\nconst getDefaultEmojiValue = (identity: Identity | null) => hexToEmoji(identity?.identityKey.toHex() ?? '0');\nconst getHueValue = (identity: Identity | null) => identity?.profile?.data?.hue || getDefaultHueValue(identity);\nconst getEmojiValue = (identity: Identity | null) => identity?.profile?.data?.emoji || getDefaultEmojiValue(identity);\n\nexport const ProfileContainer = () => {\n const { t } = useTranslation(CLIENT_PLUGIN);\n const client = useClient();\n const identity = useIdentity();\n const [displayName, setDisplayNameDirectly] = useState(identity?.profile?.displayName ?? '');\n const [emoji, setEmojiDirectly] = useState<string>(getEmojiValue(identity));\n const [hue, setHueDirectly] = useState<string>(getHueValue(identity));\n\n const updateProfile = useMemo(\n () =>\n debounce(\n (profile: Partial<Profile>) =>\n client.halo.updateProfile({\n displayName: profile.displayName,\n data: {\n emoji: profile.emoji,\n hue: profile.hue,\n },\n }),\n 2_000,\n ),\n [],\n );\n\n const handleSave = useCallback(\n (profile: Profile) => {\n setDisplayNameDirectly(profile.displayName);\n setEmojiDirectly(profile.emoji);\n setHueDirectly(profile.hue);\n updateProfile(profile);\n },\n [identity],\n );\n\n const values = useMemo(\n () => ({\n displayName,\n emoji,\n hue,\n did: identity?.did,\n }),\n [identity, displayName, emoji, hue],\n );\n\n // TODO(wittjosiah): Integrate descriptions with the form schema.\n const customElements: Partial<Record<string, InputComponent>> = useMemo(\n () => ({\n displayName: ({ type, label, getValue, onValueChange }) => {\n const handleChange = useCallback(\n ({ target: { value } }: ChangeEvent<HTMLInputElement>) => onValueChange(type, value),\n [onValueChange, type],\n );\n return (\n <ControlItemInput title={label} description={t('display name description')}>\n <Input.TextInput\n value={getValue()}\n onChange={handleChange}\n placeholder={t('display name input placeholder')}\n classNames='min-is-64'\n />\n </ControlItemInput>\n );\n },\n emoji: ({ type, label, getValue, onValueChange }) => {\n const handleChange = useCallback((nextEmoji: string) => onValueChange(type, nextEmoji), [onValueChange, type]);\n const handleEmojiReset = useCallback(\n () => onValueChange(type, getDefaultEmojiValue(identity)),\n [onValueChange, type],\n );\n return (\n <ControlItem title={label} description={t('icon description')}>\n <EmojiPickerBlock\n triggerVariant='default'\n emoji={getValue()}\n onChangeEmoji={handleChange}\n onClickClear={handleEmojiReset}\n classNames='justify-self-end'\n />\n </ControlItem>\n );\n },\n hue: ({ type, label, getValue, onValueChange }) => {\n const handleChange = useCallback((nextHue: string) => onValueChange(type, nextHue), [onValueChange, type]);\n const handleHueReset = useCallback(\n () => onValueChange(type, getDefaultHueValue(identity)),\n [onValueChange, type],\n );\n return (\n <ControlItem title={label} description={t('hue description')}>\n <HuePicker\n value={getValue()}\n onChange={handleChange}\n onReset={handleHueReset}\n classNames='[--hue-preview-size:1.5rem] justify-self-end'\n />\n </ControlItem>\n );\n },\n // TODO(wittjosiah): We need text input annotations for disabled and copyable.\n did: ({ label, getValue }) => {\n return (\n <ControlItemInput title={label} description={t('did description')}>\n <ButtonGroup>\n <Input.TextInput value={getValue()} disabled classNames='min-is-64' />\n <Clipboard.IconButton value={getValue() ?? ''} />\n </ButtonGroup>\n </ControlItemInput>\n );\n },\n }),\n [t],\n );\n\n return (\n <StackItem.Content classNames='block overflow-y-auto'>\n <ControlPage>\n <Clipboard.Provider>\n <ControlSection title={t('profile label')} description={t('profile description')}>\n <Form\n schema={ProfileSchema}\n values={values}\n autoSave\n onSave={handleSave}\n Custom={customElements}\n classNames='container-max-width [&_[role=\"form\"]]:grid [&_[role=\"form\"]]:grid-cols-1 md:[&_[role=\"form\"]]:grid-cols-[1fr_min-content] [&_[role=\"form\"]]:gap-4'\n flush\n />\n </ControlSection>\n </Clipboard.Provider>\n </ControlPage>\n </StackItem.Content>\n );\n};\n\n// TODO(wittjosiah): Integrate annotations with translations.\nconst ProfileSchema = Schema.Struct({\n displayName: Schema.String.annotations({ title: 'Display name' }),\n emoji: Schema.String.annotations({ title: 'Avatar' }),\n hue: Schema.String.annotations({ title: 'Color' }),\n did: Schema.String.annotations({ title: 'DID' }),\n});\ntype Profile = Schema.Schema.Type<typeof ProfileSchema>;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useState } from 'react';\n\nimport { AlertDialog, Button, Clipboard, Input, useTranslation } from '@dxos/react-ui';\n\nimport { CLIENT_PLUGIN } from '../meta';\n\nexport const RECOVERY_CODE_DIALOG = `${CLIENT_PLUGIN}/RecoveryCodeDialog`;\n\nexport type RecoveryCodeDialogProps = {\n code: string;\n};\n\nexport const RecoveryCodeDialog = ({ code }: RecoveryCodeDialogProps) => {\n const { t } = useTranslation(CLIENT_PLUGIN);\n const [confirmation, setConfirmation] = useState(false);\n\n const handleConfirmation = useCallback((checked: boolean) => setConfirmation(checked), []);\n\n return (\n <AlertDialog.Content classNames='bs-content min-bs-[15rem] max-bs-full md:max-is-[40rem] overflow-hidden'>\n <AlertDialog.Title>{t('recovery code dialog title')}</AlertDialog.Title>\n <p className='py-4'>{t('recovery code dialog description')}</p>\n <Clipboard.Provider>\n <Code code={code} />\n </Clipboard.Provider>\n <div className='flex flex-col py-4 gap-2'>\n <p>{t('recovery code dialog warning 1')}</p>\n <p>{t('recovery code dialog warning 2')}</p>\n </div>\n <div className='flex items-center gap-2 pbe-4'>\n <Input.Root>\n <Input.Checkbox\n data-testid='recoveryCode.confirm'\n checked={confirmation}\n onCheckedChange={handleConfirmation}\n />\n <Input.Label>{t('recovery code confirmation label')}</Input.Label>\n </Input.Root>\n </div>\n <div className='flex justify-end'>\n <AlertDialog.Action asChild>\n <Button data-testid='recoveryCode.continue' variant='primary' disabled={!confirmation}>\n {t('continue label')}\n </Button>\n </AlertDialog.Action>\n </div>\n </AlertDialog.Content>\n );\n};\n\nconst Code = ({ code }: { code: string }) => {\n const words = code.split(' ');\n return (\n <div className='relative p-2 border border-separator rounded group'>\n <Clipboard.IconButton value={code} classNames='absolute top-2 right-2 invisible group-hover:visible' />\n <div className='grid grid-cols-4'>\n {words.map((word, i) => (\n <div key={i} className='flex items-center p-2 gap-2'>\n <div className='w-4 text-xs text-center text-subdued'>{i + 1}</div>\n <div className='text-sm'>{word}</div>\n </div>\n ))}\n </div>\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { useCredentials } from '@dxos/react-client/halo';\nimport { Icon, IconButton, List, ListItem, useTranslation, Message } from '@dxos/react-ui';\nimport { ControlGroup, ControlItem, ControlPage, ControlSection } from '@dxos/react-ui-form';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { CLIENT_PLUGIN } from '../meta';\nimport { ClientAction } from '../types';\n\nexport const MANAGE_CREDENTIALS_DIALOG = `${CLIENT_PLUGIN}/ManageCredentialsDialog`;\n\nexport const RecoveryCredentialsContainer = () => {\n const { t } = useTranslation(CLIENT_PLUGIN);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const credentials = useCredentials();\n const recoveryCredentials = credentials.filter(\n (credential) => credential.subject.assertion['@type'] === 'dxos.halo.credentials.IdentityRecovery',\n );\n\n return (\n <StackItem.Content classNames='block overflow-y-auto'>\n <ControlPage>\n <ControlSection title={t('recovery setup dialog title')} description={t('recovery setup dialog description')}>\n <ControlGroup>\n <ControlItem title={t('create passkey label')} description={t('create passkey description')}>\n <IconButton\n label={t('create passkey label')}\n icon='ph--key--duotone'\n variant='primary'\n size={5}\n onClick={() => dispatch(createIntent(ClientAction.CreatePasskey))}\n />\n </ControlItem>\n <ControlItem title={t('create recovery code label')} description={t('create recovery code description')}>\n <IconButton\n label={t('create recovery code label')}\n icon='ph--receipt--duotone'\n variant='default'\n size={5}\n onClick={() => dispatch(createIntent(ClientAction.CreateRecoveryCode))}\n />\n </ControlItem>\n </ControlGroup>\n </ControlSection>\n <ControlSection title={t('credentials list label')}>\n {recoveryCredentials.length < 1 ? (\n <Message.Root valence='error' className='container-max-width'>\n <Message.Title>\n <Icon icon='ph--shield-warning--duotone' size={5} classNames='inline-block align-top mbs-px mie-1' />\n {t('no credentials title')}\n </Message.Title>\n <Message.Body>{t('no credentials message')}</Message.Body>\n </Message.Root>\n ) : (\n <List classNames='container-max-width pli-2'>\n {recoveryCredentials.map((credential) => (\n <ListItem.Root key={credential.id?.toHex()}>\n <ListItem.Endcap>\n <Icon icon='ph--key--regular' size={5} />\n </ListItem.Endcap>\n <ListItem.Heading>{credential.issuanceDate.toLocaleString()}</ListItem.Heading>\n </ListItem.Root>\n ))}\n </List>\n )}\n </ControlSection>\n </ControlPage>\n </StackItem.Content>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { createIntent, LayoutAction, useIntentDispatcher } from '@dxos/app-framework';\nimport { useClient } from '@dxos/react-client';\nimport { Dialog, useTranslation } from '@dxos/react-ui';\nimport { ConfirmReset, type ConfirmResetProps } from '@dxos/shell/react';\n\nimport { CLIENT_PLUGIN } from '../meta';\nimport { type ClientPluginOptions } from '../types';\n\nexport const RESET_DIALOG = `${CLIENT_PLUGIN}/ResetDialog`;\n\nexport type ResetDialogProps = Pick<ConfirmResetProps, 'mode'> & Pick<ClientPluginOptions, 'onReset'>;\n\nexport const ResetDialog = ({ mode, onReset }: ResetDialogProps) => {\n const { t } = useTranslation(CLIENT_PLUGIN);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const client = useClient();\n\n const handleReset = useCallback(async () => {\n await client.reset();\n const target =\n mode === 'join new identity' ? 'deviceInvitation' : mode === 'recover' ? 'recoverIdentity' : undefined;\n await onReset?.({ target });\n }, [dispatch, client, mode, onReset]);\n\n const handleCancel = useCallback(() => {\n void dispatch(\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n options: { state: false },\n }),\n );\n }, [dispatch]);\n\n // TODO(wittjosiah): Add the sr-only translations.\n // TODO(wittjosiah): Add missing descriptions to other dialogs.\n return (\n <Dialog.Content classNames='bs-content min-bs-[15rem] max-bs-full md:max-is-[40rem] overflow-hidden'>\n <Dialog.Title classNames='sr-only'>{t('reset dialog title')}</Dialog.Title>\n <Dialog.Description classNames='sr-only'>{t('reset dialog description')}</Dialog.Description>\n <ConfirmReset active mode={mode} onConfirm={handleReset} onCancel={handleCancel} />\n </Dialog.Content>\n );\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_react", "import_app_framework", "import_react_ui", "import_react_client", "import_halo", "import_react_ui_form", "import_react_ui_stack", "import_util", "DevicesContainer", "createInvitationUrl", "t", "useTranslation", "dispatchPromise", "dispatch", "useIntentDispatcher", "devices", "useDevices", "swarm", "connectionState", "useNetworkStatus", "handleResetStorage", "useCallback", "createIntent", "ClientAction", "ResetStorage", "handleRecover", "mode", "handleJoinNewIdentity", "React", "Clipboard", "Provider", "StackItem", "Content", "classNames", "ControlPage", "ControlSection", "title", "ns", "CLIENT_PLUGIN", "description", "ControlFrame", "ControlFrameItem", "List", "map", "device", "DeviceListItem", "key", "deviceKey", "toHex", "DeviceInvitation", "ControlGroup", "ControlItem", "Button", "variant", "onClick", "data-testid", "props", "client", "useClient", "invitation", "setInvitation", "useState", "onInvitationCreate", "halo", "share", "config", "values", "runtime", "app", "env", "DX_ENVIRONMENT", "subscription", "subscribe", "invitationCode", "InvitationEncoder", "encode", "state", "Invitation", "State", "CONNECTING", "log", "info", "JSON", "stringify", "authCode", "unsubscribe", "onInvitationDone", "undefined", "DeviceInvitationImpl", "InvitationSection", "invitationObservable", "useMulticastObservable", "url", "useEffect", "SUCCESS", "invitationId", "activeView", "CANCELLED", "READY_FOR_AUTHENTICATION", "p", "className", "IconButton", "icon", "label", "disabled", "Viewport", "Root", "Views", "View", "id", "InvitationComplete", "statusValue", "InvitationAuthCode", "code", "onCancel", "InvitationQR", "qrLabel", "useId", "emoji", "hexToEmoji", "div", "role", "QR", "rounding", "backgroundColor", "color", "aria-labelledby", "errorCorrectionLevel", "cutout", "Centered", "Emoji", "text", "span", "value", "AuthCode", "large", "Check", "mx", "getSize", "X", "JOIN_DIALOG", "JoinDialog", "handleCancelResetStorage", "ShareIdentity", "handleDone", "result", "identityKey", "Promise", "all", "LayoutAction", "UpdateDialog", "part", "options", "ObservabilityAction", "SendEvent", "name", "initialDisposition", "Dialog", "Title", "JoinPanel", "exitActionParent", "Close", "asChild", "doneActionParent", "onCancelResetStorage", "onDone", "getDefaultHueValue", "identity", "hexToHue", "getDefaultEmojiValue", "getHueValue", "profile", "data", "hue", "getEmojiValue", "ProfileContainer", "useIdentity", "displayName", "setDisplayNameDirectly", "setEmojiDirectly", "setHueDirectly", "updateProfile", "useMemo", "debounce", "handleSave", "did", "customElements", "type", "getValue", "onValueChange", "handleChange", "target", "ControlItemInput", "Input", "TextInput", "onChange", "placeholder", "nextEmoji", "handleEmojiReset", "EmojiPickerBlock", "triggerVariant", "onChangeEmoji", "onClickClear", "nextHue", "handleHueReset", "HuePicker", "onReset", "ButtonGroup", "Form", "schema", "ProfileSchema", "autoSave", "onSave", "Custom", "flush", "Schema", "Struct", "String", "annotations", "RECOVERY_CODE_DIALOG", "RecoveryCodeDialog", "confirmation", "setConfirmation", "handleConfirmation", "checked", "AlertDialog", "Code", "Checkbox", "onCheckedChange", "Label", "Action", "words", "split", "word", "i", "MANAGE_CREDENTIALS_DIALOG", "RecoveryCredentialsContainer", "credentials", "useCredentials", "recoveryCredentials", "filter", "credential", "subject", "assertion", "size", "CreatePasskey", "CreateRecoveryCode", "length", "Message", "valence", "Icon", "Body", "ListItem", "Endcap", "Heading", "issuanceDate", "toLocaleString", "RESET_DIALOG", "ResetDialog", "handleReset", "reset", "handleCancel", "Description", "ConfirmReset", "active", "onConfirm"]
|
|
7
7
|
}
|
package/dist/lib/node/index.cjs
CHANGED
|
@@ -42,10 +42,10 @@ var import_app_framework = require("@dxos/app-framework");
|
|
|
42
42
|
var import_app_framework2 = require("@dxos/app-framework");
|
|
43
43
|
var AppGraphBuilder = (0, import_app_framework2.lazy)(async () => import("./app-graph-builder-BEEYM3A5.cjs"));
|
|
44
44
|
var Client = (0, import_app_framework2.lazy)(async () => import("./client-Q3EQS4HA.cjs"));
|
|
45
|
-
var IntentResolver = (0, import_app_framework2.lazy)(async () => import("./intent-resolver-
|
|
45
|
+
var IntentResolver = (0, import_app_framework2.lazy)(async () => import("./intent-resolver-KGSANA3Z.cjs"));
|
|
46
46
|
var Migrations = (0, import_app_framework2.lazy)(async () => import("./migrations-6FEWMF7U.cjs"));
|
|
47
47
|
var ReactContext = (0, import_app_framework2.lazy)(async () => import("./react-context-JS7Y5ZOK.cjs"));
|
|
48
|
-
var ReactSurface = (0, import_app_framework2.lazy)(async () => import("./react-surface-
|
|
48
|
+
var ReactSurface = (0, import_app_framework2.lazy)(async () => import("./react-surface-ALUXCYCF.cjs"));
|
|
49
49
|
var SchemaDefs = (0, import_app_framework2.lazy)(async () => import("./schema-defs-TA52ARBO.cjs"));
|
|
50
50
|
var translations_default = [
|
|
51
51
|
{
|
|
@@ -16,14 +16,14 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
19
|
+
var intent_resolver_KGSANA3Z_exports = {};
|
|
20
|
+
__export(intent_resolver_KGSANA3Z_exports, {
|
|
21
21
|
default: () => intent_resolver_default
|
|
22
22
|
});
|
|
23
|
-
module.exports = __toCommonJS(
|
|
23
|
+
module.exports = __toCommonJS(intent_resolver_KGSANA3Z_exports);
|
|
24
24
|
var import_chunk_DNKJCPU7 = require("./chunk-DNKJCPU7.cjs");
|
|
25
25
|
var import_chunk_CIYUKY3J = require("./chunk-CIYUKY3J.cjs");
|
|
26
|
-
var
|
|
26
|
+
var import_chunk_5UYAQKF4 = require("./chunk-5UYAQKF4.cjs");
|
|
27
27
|
var import_chunk_BL6EBWOS = require("./chunk-BL6EBWOS.cjs");
|
|
28
28
|
var import_chunk_DJKWB5L6 = require("./chunk-DJKWB5L6.cjs");
|
|
29
29
|
var import_effect = require("effect");
|
|
@@ -58,7 +58,7 @@ var intent_resolver_default = ({ context, appName = "Composer" }) => (0, import_
|
|
|
58
58
|
intents: [
|
|
59
59
|
(0, import_app_framework.createIntent)(import_app_framework.LayoutAction.UpdateDialog, {
|
|
60
60
|
part: "dialog",
|
|
61
|
-
subject:
|
|
61
|
+
subject: import_chunk_5UYAQKF4.JOIN_DIALOG,
|
|
62
62
|
options: {
|
|
63
63
|
blockAlign: "start",
|
|
64
64
|
props: {
|
|
@@ -99,7 +99,7 @@ var intent_resolver_default = ({ context, appName = "Composer" }) => (0, import_
|
|
|
99
99
|
intents: [
|
|
100
100
|
(0, import_app_framework.createIntent)(import_app_framework.LayoutAction.UpdateDialog, {
|
|
101
101
|
part: "dialog",
|
|
102
|
-
subject:
|
|
102
|
+
subject: import_chunk_5UYAQKF4.JOIN_DIALOG,
|
|
103
103
|
options: {
|
|
104
104
|
blockAlign: "start",
|
|
105
105
|
props: {
|
|
@@ -118,7 +118,7 @@ var intent_resolver_default = ({ context, appName = "Composer" }) => (0, import_
|
|
|
118
118
|
intents: [
|
|
119
119
|
(0, import_app_framework.createIntent)(import_app_framework.LayoutAction.UpdateDialog, {
|
|
120
120
|
part: "dialog",
|
|
121
|
-
subject:
|
|
121
|
+
subject: import_chunk_5UYAQKF4.RESET_DIALOG,
|
|
122
122
|
options: {
|
|
123
123
|
blockAlign: "start",
|
|
124
124
|
props: {
|
|
@@ -166,7 +166,7 @@ var intent_resolver_default = ({ context, appName = "Composer" }) => (0, import_
|
|
|
166
166
|
intents: [
|
|
167
167
|
(0, import_app_framework.createIntent)(import_app_framework.LayoutAction.UpdateDialog, {
|
|
168
168
|
part: "dialog",
|
|
169
|
-
subject:
|
|
169
|
+
subject: import_chunk_5UYAQKF4.RECOVERY_CODE_DIALOG,
|
|
170
170
|
options: {
|
|
171
171
|
blockAlign: "start",
|
|
172
172
|
type: "alert",
|
|
@@ -309,4 +309,4 @@ var intent_resolver_default = ({ context, appName = "Composer" }) => (0, import_
|
|
|
309
309
|
}
|
|
310
310
|
})
|
|
311
311
|
]);
|
|
312
|
-
//# sourceMappingURL=intent-resolver-
|
|
312
|
+
//# sourceMappingURL=intent-resolver-KGSANA3Z.cjs.map
|
package/dist/lib/node/meta.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"packages/plugins/plugin-client/src/meta.ts":{"bytes":927,"imports":[],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/capabilities.ts":{"bytes":2436,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/types.ts":{"bytes":13550,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts":{"bytes":16134,"imports":[{"path":"@effect-rx/rx-react","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/react-client/mesh","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/events.ts":{"bytes":2295,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/client.ts":{"bytes":4656,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"../events"}],"format":"esm"},"packages/plugins/plugin-client/src/components/DevicesContainer.tsx":{"bytes":36536,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-qr-rounded","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-client/invitations","kind":"import-statement","external":true},{"path":"@dxos/react-client/mesh","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/components/JoinDialog.tsx":{"bytes":7208,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/components/ProfileContainer.tsx":{"bytes":21904,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-pickers","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/components/RecoveryCodeDialog.tsx":{"bytes":9280,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/components/RecoveryCredentialsContainer.tsx":{"bytes":11234,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/components/ResetDialog.tsx":{"bytes":6892,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/components/index.ts":{"bytes":1056,"imports":[{"path":"packages/plugins/plugin-client/src/components/DevicesContainer.tsx","kind":"import-statement","original":"./DevicesContainer"},{"path":"packages/plugins/plugin-client/src/components/JoinDialog.tsx","kind":"import-statement","original":"./JoinDialog"},{"path":"packages/plugins/plugin-client/src/components/ProfileContainer.tsx","kind":"import-statement","original":"./ProfileContainer"},{"path":"packages/plugins/plugin-client/src/components/RecoveryCodeDialog.tsx","kind":"import-statement","original":"./RecoveryCodeDialog"},{"path":"packages/plugins/plugin-client/src/components/RecoveryCredentialsContainer.tsx","kind":"import-statement","original":"./RecoveryCredentialsContainer"},{"path":"packages/plugins/plugin-client/src/components/ResetDialog.tsx","kind":"import-statement","original":"./ResetDialog"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts":{"bytes":32993,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"../events"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/migrations.ts":{"bytes":3404,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/react-context.tsx":{"bytes":2413,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/react-surface.tsx":{"bytes":7581,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/schema-defs.ts":{"bytes":3779,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/index.ts":{"bytes":2417,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"},{"path":"packages/plugins/plugin-client/src/capabilities/client.ts","kind":"dynamic-import","original":"./client"},{"path":"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/plugins/plugin-client/src/capabilities/migrations.ts","kind":"dynamic-import","original":"./migrations"},{"path":"packages/plugins/plugin-client/src/capabilities/react-context.tsx","kind":"dynamic-import","original":"./react-context"},{"path":"packages/plugins/plugin-client/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"},{"path":"packages/plugins/plugin-client/src/capabilities/schema-defs.ts","kind":"dynamic-import","original":"./schema-defs"}],"format":"esm"},"packages/plugins/plugin-client/src/translations.ts":{"bytes":11387,"imports":[{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-client/src/ClientPlugin.ts":{"bytes":9262,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-client/src/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"packages/plugins/plugin-client/src/index.ts":{"bytes":912,"imports":[{"path":"packages/plugins/plugin-client/src/ClientPlugin.ts","kind":"import-statement","original":"./ClientPlugin"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-client/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"./events"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-client/dist/lib/node/schema-defs-TA52ARBO.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2031},"packages/plugins/plugin-client/dist/lib/node/schema-defs-TA52ARBO.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-CIYUKY3J.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/schema-defs.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/schema-defs.ts":{"bytesInOutput":655}},"bytes":909},"packages/plugins/plugin-client/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":10528},"packages/plugins/plugin-client/dist/lib/node/index.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DNKJCPU7.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-CIYUKY3J.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/dist/lib/node/app-graph-builder-BEEYM3A5.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node/client-Q3EQS4HA.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node/intent-resolver-Q4QBA5B2.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node/migrations-6FEWMF7U.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node/react-context-JS7Y5ZOK.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node/react-surface-GHKLUOKW.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node/schema-defs-TA52ARBO.cjs","kind":"dynamic-import"}],"exports":["CLIENT_PLUGIN","ClientCapabilities","ClientEvents","ClientPlugin","meta"],"entryPoint":"packages/plugins/plugin-client/src/index.ts","inputs":{"packages/plugins/plugin-client/src/ClientPlugin.ts":{"bytesInOutput":2049},"packages/plugins/plugin-client/src/capabilities/index.ts":{"bytesInOutput":572},"packages/plugins/plugin-client/src/translations.ts":{"bytesInOutput":4060},"packages/plugins/plugin-client/src/index.ts":{"bytesInOutput":0}},"bytes":7212},"packages/plugins/plugin-client/dist/lib/node/types.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-client/dist/lib/node/types.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-BL6EBWOS.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"}],"exports":["Account","ClientAction"],"entryPoint":"packages/plugins/plugin-client/src/types.ts","inputs":{},"bytes":170},"packages/plugins/plugin-client/dist/lib/node/app-graph-builder-BEEYM3A5.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7363},"packages/plugins/plugin-client/dist/lib/node/app-graph-builder-BEEYM3A5.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-CIYUKY3J.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-BL6EBWOS.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@effect-rx/rx-react","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/react-client/mesh","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts":{"bytesInOutput":3598}},"bytes":3961},"packages/plugins/plugin-client/dist/lib/node/client-Q3EQS4HA.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2474},"packages/plugins/plugin-client/dist/lib/node/client-Q3EQS4HA.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DNKJCPU7.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-CIYUKY3J.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/client.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/client.ts":{"bytesInOutput":841}},"bytes":1135},"packages/plugins/plugin-client/dist/lib/node/intent-resolver-Q4QBA5B2.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":14760},"packages/plugins/plugin-client/dist/lib/node/intent-resolver-Q4QBA5B2.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DNKJCPU7.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-CIYUKY3J.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-73HHNJMV.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-BL6EBWOS.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts":{"bytesInOutput":8668}},"bytes":9149},"packages/plugins/plugin-client/dist/lib/node/chunk-DNKJCPU7.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1124},"packages/plugins/plugin-client/dist/lib/node/chunk-DNKJCPU7.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ClientEvents"],"inputs":{"packages/plugins/plugin-client/src/events.ts":{"bytesInOutput":561}},"bytes":738},"packages/plugins/plugin-client/dist/lib/node/migrations-6FEWMF7U.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1846},"packages/plugins/plugin-client/dist/lib/node/migrations-6FEWMF7U.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-CIYUKY3J.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/migrations.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/migrations.ts":{"bytesInOutput":630}},"bytes":881},"packages/plugins/plugin-client/dist/lib/node/react-context-JS7Y5ZOK.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1225},"packages/plugins/plugin-client/dist/lib/node/react-context-JS7Y5ZOK.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-CIYUKY3J.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/react-context.tsx","inputs":{"packages/plugins/plugin-client/src/capabilities/react-context.tsx":{"bytesInOutput":452}},"bytes":738},"packages/plugins/plugin-client/dist/lib/node/chunk-CIYUKY3J.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1253},"packages/plugins/plugin-client/dist/lib/node/chunk-CIYUKY3J.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ClientCapabilities"],"inputs":{"packages/plugins/plugin-client/src/capabilities/capabilities.ts":{"bytesInOutput":539}},"bytes":741},"packages/plugins/plugin-client/dist/lib/node/react-surface-GHKLUOKW.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3827},"packages/plugins/plugin-client/dist/lib/node/react-surface-GHKLUOKW.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-73HHNJMV.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-BL6EBWOS.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/plugin-client/src/capabilities/react-surface.tsx":{"bytesInOutput":1574}},"bytes":2041},"packages/plugins/plugin-client/dist/lib/node/chunk-73HHNJMV.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":47758},"packages/plugins/plugin-client/dist/lib/node/chunk-73HHNJMV.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-BL6EBWOS.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-qr-rounded","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-client/invitations","kind":"import-statement","external":true},{"path":"@dxos/react-client/mesh","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-pickers","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true}],"exports":["DevicesContainer","JOIN_DIALOG","JoinDialog","ProfileContainer","RECOVERY_CODE_DIALOG","RESET_DIALOG","RecoveryCodeDialog","RecoveryCredentialsContainer","ResetDialog"],"inputs":{"packages/plugins/plugin-client/src/components/DevicesContainer.tsx":{"bytesInOutput":11249},"packages/plugins/plugin-client/src/components/JoinDialog.tsx":{"bytesInOutput":1999},"packages/plugins/plugin-client/src/components/ProfileContainer.tsx":{"bytesInOutput":6147},"packages/plugins/plugin-client/src/components/RecoveryCodeDialog.tsx":{"bytesInOutput":3137},"packages/plugins/plugin-client/src/components/RecoveryCredentialsContainer.tsx":{"bytesInOutput":3483},"packages/plugins/plugin-client/src/components/ResetDialog.tsx":{"bytesInOutput":1921},"packages/plugins/plugin-client/src/components/index.ts":{"bytesInOutput":0}},"bytes":28710},"packages/plugins/plugin-client/dist/lib/node/chunk-BL6EBWOS.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7160},"packages/plugins/plugin-client/dist/lib/node/chunk-BL6EBWOS.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["Account","ClientAction"],"inputs":{"packages/plugins/plugin-client/src/types.ts":{"bytesInOutput":3216}},"bytes":3403},"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":454},"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs":{"imports":[],"exports":["CLIENT_PLUGIN","meta"],"inputs":{"packages/plugins/plugin-client/src/meta.ts":{"bytesInOutput":100}},"bytes":227}}}
|
|
1
|
+
{"inputs":{"packages/plugins/plugin-client/src/meta.ts":{"bytes":927,"imports":[],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/capabilities.ts":{"bytes":2436,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/types.ts":{"bytes":13550,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts":{"bytes":16134,"imports":[{"path":"@effect-rx/rx-react","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/react-client/mesh","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/events.ts":{"bytes":2295,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/client.ts":{"bytes":4656,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"../events"}],"format":"esm"},"packages/plugins/plugin-client/src/components/DevicesContainer.tsx":{"bytes":36536,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-qr-rounded","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-client/invitations","kind":"import-statement","external":true},{"path":"@dxos/react-client/mesh","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/components/JoinDialog.tsx":{"bytes":7208,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/components/ProfileContainer.tsx":{"bytes":21977,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-pickers","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/components/RecoveryCodeDialog.tsx":{"bytes":9280,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/components/RecoveryCredentialsContainer.tsx":{"bytes":11234,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/components/ResetDialog.tsx":{"bytes":6892,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/components/index.ts":{"bytes":1056,"imports":[{"path":"packages/plugins/plugin-client/src/components/DevicesContainer.tsx","kind":"import-statement","original":"./DevicesContainer"},{"path":"packages/plugins/plugin-client/src/components/JoinDialog.tsx","kind":"import-statement","original":"./JoinDialog"},{"path":"packages/plugins/plugin-client/src/components/ProfileContainer.tsx","kind":"import-statement","original":"./ProfileContainer"},{"path":"packages/plugins/plugin-client/src/components/RecoveryCodeDialog.tsx","kind":"import-statement","original":"./RecoveryCodeDialog"},{"path":"packages/plugins/plugin-client/src/components/RecoveryCredentialsContainer.tsx","kind":"import-statement","original":"./RecoveryCredentialsContainer"},{"path":"packages/plugins/plugin-client/src/components/ResetDialog.tsx","kind":"import-statement","original":"./ResetDialog"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts":{"bytes":32993,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"../events"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/migrations.ts":{"bytes":3404,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/react-context.tsx":{"bytes":2413,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/react-surface.tsx":{"bytes":7581,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/schema-defs.ts":{"bytes":3779,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/index.ts":{"bytes":2417,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"},{"path":"packages/plugins/plugin-client/src/capabilities/client.ts","kind":"dynamic-import","original":"./client"},{"path":"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/plugins/plugin-client/src/capabilities/migrations.ts","kind":"dynamic-import","original":"./migrations"},{"path":"packages/plugins/plugin-client/src/capabilities/react-context.tsx","kind":"dynamic-import","original":"./react-context"},{"path":"packages/plugins/plugin-client/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"},{"path":"packages/plugins/plugin-client/src/capabilities/schema-defs.ts","kind":"dynamic-import","original":"./schema-defs"}],"format":"esm"},"packages/plugins/plugin-client/src/translations.ts":{"bytes":11387,"imports":[{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-client/src/ClientPlugin.ts":{"bytes":9262,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-client/src/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"packages/plugins/plugin-client/src/index.ts":{"bytes":912,"imports":[{"path":"packages/plugins/plugin-client/src/ClientPlugin.ts","kind":"import-statement","original":"./ClientPlugin"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-client/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"./events"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-client/dist/lib/node/schema-defs-TA52ARBO.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2031},"packages/plugins/plugin-client/dist/lib/node/schema-defs-TA52ARBO.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-CIYUKY3J.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/schema-defs.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/schema-defs.ts":{"bytesInOutput":655}},"bytes":909},"packages/plugins/plugin-client/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":10528},"packages/plugins/plugin-client/dist/lib/node/index.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DNKJCPU7.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-CIYUKY3J.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/dist/lib/node/app-graph-builder-BEEYM3A5.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node/client-Q3EQS4HA.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node/intent-resolver-KGSANA3Z.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node/migrations-6FEWMF7U.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node/react-context-JS7Y5ZOK.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node/react-surface-ALUXCYCF.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node/schema-defs-TA52ARBO.cjs","kind":"dynamic-import"}],"exports":["CLIENT_PLUGIN","ClientCapabilities","ClientEvents","ClientPlugin","meta"],"entryPoint":"packages/plugins/plugin-client/src/index.ts","inputs":{"packages/plugins/plugin-client/src/ClientPlugin.ts":{"bytesInOutput":2049},"packages/plugins/plugin-client/src/capabilities/index.ts":{"bytesInOutput":572},"packages/plugins/plugin-client/src/translations.ts":{"bytesInOutput":4060},"packages/plugins/plugin-client/src/index.ts":{"bytesInOutput":0}},"bytes":7212},"packages/plugins/plugin-client/dist/lib/node/types.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-client/dist/lib/node/types.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-BL6EBWOS.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"}],"exports":["Account","ClientAction"],"entryPoint":"packages/plugins/plugin-client/src/types.ts","inputs":{},"bytes":170},"packages/plugins/plugin-client/dist/lib/node/app-graph-builder-BEEYM3A5.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7363},"packages/plugins/plugin-client/dist/lib/node/app-graph-builder-BEEYM3A5.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-CIYUKY3J.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-BL6EBWOS.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@effect-rx/rx-react","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/react-client/mesh","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts":{"bytesInOutput":3598}},"bytes":3961},"packages/plugins/plugin-client/dist/lib/node/client-Q3EQS4HA.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2474},"packages/plugins/plugin-client/dist/lib/node/client-Q3EQS4HA.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DNKJCPU7.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-CIYUKY3J.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/client.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/client.ts":{"bytesInOutput":841}},"bytes":1135},"packages/plugins/plugin-client/dist/lib/node/intent-resolver-KGSANA3Z.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":14760},"packages/plugins/plugin-client/dist/lib/node/intent-resolver-KGSANA3Z.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DNKJCPU7.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-CIYUKY3J.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-5UYAQKF4.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-BL6EBWOS.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts":{"bytesInOutput":8668}},"bytes":9149},"packages/plugins/plugin-client/dist/lib/node/chunk-DNKJCPU7.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1124},"packages/plugins/plugin-client/dist/lib/node/chunk-DNKJCPU7.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ClientEvents"],"inputs":{"packages/plugins/plugin-client/src/events.ts":{"bytesInOutput":561}},"bytes":738},"packages/plugins/plugin-client/dist/lib/node/migrations-6FEWMF7U.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1846},"packages/plugins/plugin-client/dist/lib/node/migrations-6FEWMF7U.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-CIYUKY3J.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/migrations.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/migrations.ts":{"bytesInOutput":630}},"bytes":881},"packages/plugins/plugin-client/dist/lib/node/react-context-JS7Y5ZOK.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1225},"packages/plugins/plugin-client/dist/lib/node/react-context-JS7Y5ZOK.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-CIYUKY3J.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/react-context.tsx","inputs":{"packages/plugins/plugin-client/src/capabilities/react-context.tsx":{"bytesInOutput":452}},"bytes":738},"packages/plugins/plugin-client/dist/lib/node/chunk-CIYUKY3J.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1253},"packages/plugins/plugin-client/dist/lib/node/chunk-CIYUKY3J.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ClientCapabilities"],"inputs":{"packages/plugins/plugin-client/src/capabilities/capabilities.ts":{"bytesInOutput":539}},"bytes":741},"packages/plugins/plugin-client/dist/lib/node/react-surface-ALUXCYCF.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3827},"packages/plugins/plugin-client/dist/lib/node/react-surface-ALUXCYCF.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-5UYAQKF4.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-BL6EBWOS.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/plugin-client/src/capabilities/react-surface.tsx":{"bytesInOutput":1574}},"bytes":2041},"packages/plugins/plugin-client/dist/lib/node/chunk-5UYAQKF4.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":47795},"packages/plugins/plugin-client/dist/lib/node/chunk-5UYAQKF4.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-BL6EBWOS.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-qr-rounded","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-client/invitations","kind":"import-statement","external":true},{"path":"@dxos/react-client/mesh","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-pickers","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true}],"exports":["DevicesContainer","JOIN_DIALOG","JoinDialog","ProfileContainer","RECOVERY_CODE_DIALOG","RESET_DIALOG","RecoveryCodeDialog","RecoveryCredentialsContainer","ResetDialog"],"inputs":{"packages/plugins/plugin-client/src/components/DevicesContainer.tsx":{"bytesInOutput":11249},"packages/plugins/plugin-client/src/components/JoinDialog.tsx":{"bytesInOutput":1999},"packages/plugins/plugin-client/src/components/ProfileContainer.tsx":{"bytesInOutput":6162},"packages/plugins/plugin-client/src/components/RecoveryCodeDialog.tsx":{"bytesInOutput":3137},"packages/plugins/plugin-client/src/components/RecoveryCredentialsContainer.tsx":{"bytesInOutput":3483},"packages/plugins/plugin-client/src/components/ResetDialog.tsx":{"bytesInOutput":1921},"packages/plugins/plugin-client/src/components/index.ts":{"bytesInOutput":0}},"bytes":28725},"packages/plugins/plugin-client/dist/lib/node/chunk-BL6EBWOS.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7160},"packages/plugins/plugin-client/dist/lib/node/chunk-BL6EBWOS.cjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["Account","ClientAction"],"inputs":{"packages/plugins/plugin-client/src/types.ts":{"bytesInOutput":3216}},"bytes":3403},"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":454},"packages/plugins/plugin-client/dist/lib/node/chunk-DJKWB5L6.cjs":{"imports":[],"exports":["CLIENT_PLUGIN","meta"],"inputs":{"packages/plugins/plugin-client/src/meta.ts":{"bytesInOutput":100}},"bytes":227}}}
|