@dxos/plugin-debug 0.7.4-staging.99db212 → 0.7.4-staging.f7e8224
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.
|
@@ -566,7 +566,7 @@ var DebugPlugin = definePlugin((context) => {
|
|
|
566
566
|
filter: (node) => !!settings.debug && isSpace(node.data),
|
|
567
567
|
connector: ({ node }) => {
|
|
568
568
|
const space = node.data;
|
|
569
|
-
const state = toSignal((onChange) => space.state.subscribe(() => onChange()).unsubscribe, () => space.state.get()
|
|
569
|
+
const state = toSignal((onChange) => space.state.subscribe(() => onChange()).unsubscribe, () => space.state.get());
|
|
570
570
|
if (state !== SpaceState.SPACE_READY) {
|
|
571
571
|
return;
|
|
572
572
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/DebugPlugin.tsx", "../../../src/components/index.ts", "../../../src/components/DebugObjectPanel.tsx", "../../../src/components/DebugSettings.tsx", "../../../src/components/DebugStatus.tsx", "../../../src/components/Wireframe.tsx", "../../../src/translations.ts", "../../../src/index.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { type ReactNode, useEffect, useState } from 'react';\n\nimport {\n definePlugin,\n parseGraphPlugin,\n parseIntentPlugin,\n parseMetadataResolverPlugin,\n parseSettingsPlugin,\n resolvePlugin,\n} from '@dxos/app-framework';\nimport { Timer } from '@dxos/async';\nimport { Devtools } from '@dxos/devtools';\nimport { invariant } from '@dxos/invariant';\nimport { type ClientPluginProvides, parseClientPlugin } from '@dxos/plugin-client';\nimport { createExtension, Graph, type Node, toSignal } from '@dxos/plugin-graph';\nimport { memoizeQuery, SpaceAction } from '@dxos/plugin-space';\nimport { CollectionType } from '@dxos/plugin-space/types';\nimport { type Client } from '@dxos/react-client';\nimport {\n create,\n getTypename,\n isEchoObject,\n isSpace,\n parseId,\n type ReactiveObject,\n type Space,\n SpaceState,\n} from '@dxos/react-client/echo';\nimport { Main } from '@dxos/react-ui';\nimport {\n baseSurface,\n bottombarBlockPaddingEnd,\n fixedInsetFlexLayout,\n topbarBlockPaddingStart,\n} from '@dxos/react-ui-theme';\n\nimport {\n DebugApp,\n DebugObjectPanel,\n DebugSettings,\n DebugSpace,\n DebugStatus,\n SpaceGenerator,\n Wireframe,\n} from './components';\nimport meta, { DEBUG_PLUGIN } from './meta';\nimport translations from './translations';\nimport {\n DebugAction,\n DebugContext,\n type DebugPluginProvides,\n type DebugSettingsProps,\n DebugSettingsSchema,\n} from './types';\n\nexport const DebugPlugin = definePlugin<DebugPluginProvides>((context) => {\n const settings = create<DebugSettingsProps>({\n debug: true,\n devtools: true,\n });\n\n return {\n meta,\n ready: async (plugins) => {\n context.init(plugins);\n context.resolvePlugin(parseSettingsPlugin).provides.settingsStore.createStore({\n schema: DebugSettingsSchema,\n prefix: DEBUG_PLUGIN,\n value: settings,\n });\n\n // TODO(burdon): Remove hacky dependency on global variable.\n // Used to test how composer handles breaking protocol changes.\n const composer = (window as any).composer;\n composer.changeStorageVersionInMetadata = async (version: number) => {\n const { changeStorageVersionInMetadata } = await import('@dxos/echo-pipeline/testing');\n const { createStorageObjects } = await import('@dxos/client-services');\n const client: Client = (window as any).dxos.client;\n const config = client.config;\n await client.destroy();\n const { storage } = createStorageObjects(config.values?.runtime?.client?.storage ?? {});\n await changeStorageVersionInMetadata(storage, version);\n location.pathname = '/';\n };\n },\n unload: async () => {\n context.dispose();\n },\n provides: {\n settings,\n translations,\n complementary: {\n panels: [{ id: 'debug', label: ['open debug panel label', { ns: DEBUG_PLUGIN }], icon: 'ph--bug--regular' }],\n },\n context: ({ children }) => {\n const [timer, setTimer] = useState<Timer>();\n useEffect(() => timer?.state.on((value) => !value && setTimer(undefined)), [timer]);\n useEffect(() => {\n timer?.stop();\n }, []);\n\n return (\n <DebugContext.Provider\n value={{\n running: !!timer,\n start: (cb, options) => {\n timer?.stop();\n setTimer(new Timer(cb).start(options));\n },\n stop: () => timer?.stop(),\n }}\n >\n {children}\n </DebugContext.Provider>\n );\n },\n graph: {\n builder: (plugins) => {\n const clientPlugin = resolvePlugin(plugins, parseClientPlugin);\n const metadataPlugin = resolvePlugin(plugins, parseMetadataResolverPlugin);\n const graphPlugin = resolvePlugin(plugins, parseGraphPlugin);\n const resolve = metadataPlugin?.provides.metadata.resolver;\n const client = clientPlugin?.provides.client;\n invariant(resolve);\n invariant(client);\n\n return [\n // Devtools node.\n createExtension({\n id: 'dxos.org/plugin/debug/devtools',\n filter: (node): node is Node<null> => !!settings.devtools && node.id === 'root',\n connector: () => [\n {\n // TODO(zan): Removed `/` because it breaks deck layout reload. Fix?\n id: 'dxos.org.plugin.debug.devtools',\n data: 'devtools',\n type: 'dxos.org/plugin/debug/devtools',\n properties: {\n label: ['devtools label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--hammer--regular',\n },\n },\n ],\n }),\n\n // Debug node.\n createExtension({\n id: 'dxos.org/plugin/debug/debug',\n filter: (node): node is Node<null> => !!settings.debug && node.id === 'root',\n connector: () => [\n {\n id: 'dxos.org/plugin/debug/debug',\n type: 'dxos.org/plugin/debug/debug',\n data: { graph: graphPlugin?.provides.graph },\n properties: {\n label: ['debug label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--bug--regular',\n },\n },\n ],\n }),\n\n // Space debug nodes.\n createExtension({\n id: 'dxos.org/plugin/debug/spaces',\n filter: (node): node is Node<Space> => !!settings.debug && isSpace(node.data),\n connector: ({ node }) => {\n const space = node.data;\n const state = toSignal(\n (onChange) => space.state.subscribe(() => onChange()).unsubscribe,\n () => space.state.get(),\n space.id,\n );\n if (state !== SpaceState.SPACE_READY) {\n return;\n }\n\n // Not adding the debug node until the root collection is available aligns the behaviour of this\n // extension with that of the space plugin adding objects. This ensures that the debug node is added at\n // the same time as objects and prevents order from changing as the nodes are added.\n const collection = space.properties[CollectionType.typename] as CollectionType | undefined;\n if (!collection) {\n return;\n }\n\n return [\n {\n id: `${space.id}-debug`, // TODO(burdon): Change to slashes consistently.\n type: 'dxos.org/plugin/debug/space',\n data: { space, type: 'dxos.org/plugin/debug/space' },\n properties: {\n label: ['debug label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--bug--regular',\n },\n },\n ];\n },\n }),\n\n // Create nodes for debug sidebar.\n createExtension({\n id: `${DEBUG_PLUGIN}/debug-for-subject`,\n resolver: ({ id }) => {\n // TODO(Zan): Find util (or make one).\n if (!id.endsWith('~debug')) {\n return;\n }\n\n const type = 'orphan-settings-for-subject';\n const icon = 'ph--bug--regular';\n\n const [subjectId] = id.split('~');\n const { spaceId, objectId } = parseId(subjectId);\n const spaces = toSignal(\n (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.get(),\n );\n const space = spaces?.find(\n (space) => space.state.get() === SpaceState.SPACE_READY && space.id === spaceId,\n );\n if (!objectId) {\n // TODO(burdon): Ref SPACE_PLUGIN ns.\n const label = space\n ? space.properties.name || ['unnamed space label', { ns: DEBUG_PLUGIN }]\n : ['unnamed object settings label', { ns: DEBUG_PLUGIN }];\n\n // TODO(wittjosiah): Support comments for arbitrary subjects.\n // This is to ensure that the comments panel is not stuck on an old object.\n return {\n id,\n type,\n data: null,\n properties: {\n icon,\n label,\n showResolvedThreads: false,\n object: null,\n space,\n },\n };\n }\n\n const [object] = memoizeQuery(space, { id: objectId });\n if (!object || !subjectId) {\n return;\n }\n\n const meta = resolve(getTypename(object) ?? '');\n const label = meta.label?.(object) ||\n object.name ||\n meta.placeholder || ['unnamed object settings label', { ns: DEBUG_PLUGIN }];\n\n return {\n id,\n type,\n data: null,\n properties: {\n icon,\n label,\n object,\n },\n };\n },\n }),\n ];\n },\n },\n intent: {\n resolver: async (intent, plugins) => {\n switch (intent.action) {\n case DebugAction.OPEN_DEVTOOLS: {\n const clientPlugin = context.getPlugin<ClientPluginProvides>('dxos.org/plugin/client');\n const client = clientPlugin.provides.client;\n const vaultUrl = client.config.values?.runtime?.client?.remoteSource ?? 'https://halo.dxos.org';\n\n // Check if we're serving devtools locally on the usual port.\n let devtoolsUrl = 'http://localhost:5174';\n try {\n // TODO(burdon): Test header to see if this is actually devtools.\n await fetch(devtoolsUrl);\n } catch {\n // Match devtools to running app.\n const isDev = window.location.href.includes('.dev.') || window.location.href.includes('localhost');\n devtoolsUrl = `https://devtools${isDev ? '.dev.' : '.'}dxos.org`;\n }\n\n window.open(`${devtoolsUrl}?target=${vaultUrl}`, '_blank');\n return { data: true };\n }\n }\n },\n },\n surface: {\n component: ({ name, data, role }) => {\n switch (role) {\n case 'settings':\n return data.plugin === meta.id ? <DebugSettings settings={settings} /> : null;\n case 'status':\n return <DebugStatus />;\n case 'complementary--debug':\n return isEchoObject(data.subject) ? <DebugObjectPanel object={data.subject} /> : null;\n }\n\n const primary = data.active ?? data.object;\n let component: ReactNode = null;\n if (role === 'main' || role === 'article') {\n if (primary === 'devtools' && settings.devtools) {\n component = <Devtools />;\n } else if (!primary || typeof primary !== 'object' || !settings.debug) {\n component = null;\n } else if (\n 'type' in primary &&\n primary.type === 'dxos.org/plugin/debug/space' &&\n 'space' in primary &&\n isSpace(primary.space)\n ) {\n const handleCreateObject = (objects: ReactiveObject<any>[]) => {\n if (!isSpace(primary.space)) {\n return;\n }\n\n const collection =\n primary.space.state.get() === SpaceState.SPACE_READY &&\n primary.space.properties[CollectionType.typename];\n if (!(collection instanceof CollectionType)) {\n return;\n }\n\n void context.resolvePlugin(parseIntentPlugin).provides.intent.dispatch(\n objects.map((object) => ({\n action: SpaceAction.ADD_OBJECT,\n data: { target: collection, object },\n })),\n );\n };\n\n const deprecated = false;\n component = deprecated ? (\n <DebugSpace space={primary.space} onAddObjects={handleCreateObject} />\n ) : (\n <SpaceGenerator space={primary.space} onCreateObjects={handleCreateObject} />\n );\n } else if ('graph' in primary && primary.graph instanceof Graph) {\n component = <DebugApp graph={primary.graph} />;\n }\n }\n\n if (!component) {\n if (settings.wireframe) {\n if (role === 'main' || role === 'article' || role === 'section') {\n const primary = data.active ?? data.object;\n const isCollection = primary instanceof CollectionType;\n // TODO(burdon): Move into Container abstraction.\n if (!isCollection) {\n return {\n node: (\n <Wireframe label={`${role}:${name}`} object={primary} classNames='row-span-2 overflow-hidden' />\n ),\n disposition: 'hoist',\n };\n }\n }\n }\n\n return null;\n }\n\n switch (role) {\n case 'article':\n return <>{component}</>;\n case 'main':\n return (\n <Main.Content\n classNames={[baseSurface, fixedInsetFlexLayout, topbarBlockPaddingStart, bottombarBlockPaddingEnd]}\n >\n {component}\n </Main.Content>\n );\n }\n\n return null;\n },\n },\n },\n };\n});\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport const DebugApp = lazy(() => import('./DebugApp'));\nexport const DebugSpace = lazy(() => import('./DebugSpace'));\nexport const SpaceGenerator = lazy(() => import('./SpaceGenerator'));\n\nexport * from './DebugObjectPanel';\nexport * from './DebugSettings';\nexport * from './DebugStatus';\nexport * from './Wireframe';\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type ReactiveEchoObject } from '@dxos/client/echo';\nimport { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';\n\nexport type DebugObjectPanelProps = {\n object: ReactiveEchoObject<any>;\n};\n\n// TODO(burdon): Get schema and traverse references.\nexport const DebugObjectPanel = ({ object }: DebugObjectPanelProps) => {\n return (\n <div className='flex flex-col'>\n <SyntaxHighlighter classNames='flex text-xs' language='json'>\n {JSON.stringify(object, null, 2)}\n </SyntaxHighlighter>\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Gift, DownloadSimple, FirstAidKit } from '@phosphor-icons/react';\nimport React, { useEffect, useState } from 'react';\n\nimport { parseFileManagerPlugin, useResolvePlugin } from '@dxos/app-framework';\nimport { type ConfigProto, defs, SaveConfig, Storage } from '@dxos/config';\nimport { log } from '@dxos/log';\nimport { useClient } from '@dxos/react-client';\nimport { useTranslation, Button, Toast, Input, useFileDownload, Select } from '@dxos/react-ui';\nimport { DeprecatedFormInput } from '@dxos/react-ui-form';\nimport { getSize, mx } from '@dxos/react-ui-theme';\nimport { setDeep } from '@dxos/util';\n\nimport { DEBUG_PLUGIN } from '../meta';\nimport { type DebugSettingsProps } from '../types';\n\ntype Toast = {\n title: string;\n description?: string;\n};\n\nconst StorageAdapters = {\n opfs: defs.Runtime.Client.Storage.StorageDriver.WEBFS,\n idb: defs.Runtime.Client.Storage.StorageDriver.IDB,\n} as const;\n\nexport const DebugSettings = ({ settings }: { settings: DebugSettingsProps }) => {\n const { t } = useTranslation(DEBUG_PLUGIN);\n const [toast, setToast] = useState<Toast>();\n const client = useClient();\n const download = useFileDownload();\n // TODO(mykola): Get updates from other places that change Config.\n const [storageConfig, setStorageConfig] = useState<ConfigProto>({});\n const fileManagerPlugin = useResolvePlugin(parseFileManagerPlugin);\n\n useEffect(() => {\n void Storage().then((config) => setStorageConfig(config));\n }, []);\n\n const handleToast = (toast: Toast) => {\n setToast(toast);\n const t = setTimeout(() => setToast(undefined), 5_000);\n return () => clearTimeout(t);\n };\n\n const handleDownload = async () => {\n const data = await client.diagnostics();\n const file = new Blob([JSON.stringify(data, undefined, 2)], { type: 'text/plain' });\n const fileName = `composer-${new Date().toISOString().replace(/\\W/g, '-')}.json`;\n download(file, fileName);\n\n if (fileManagerPlugin?.provides.file.upload) {\n const info = await fileManagerPlugin.provides.file.upload(new File([file], fileName), client.spaces.default);\n if (!info) {\n log.error('diagnostics failed to upload to IPFS');\n return;\n }\n handleToast({ title: t('settings uploaded'), description: t('settings uploaded to clipboard') });\n\n // TODO(nf): move to IpfsPlugin?\n const url = client.config.values.runtime!.services!.ipfs!.gateway + '/' + info.cid;\n void navigator.clipboard.writeText(url);\n handleToast({ title: t('settings uploaded'), description: t('settings uploaded to clipboard') });\n log.info('diagnostics', { url });\n }\n };\n\n const handleRepair = async () => {\n try {\n const info = await client.repair();\n setStorageConfig(await Storage());\n handleToast({ title: t('settings repair success'), description: JSON.stringify(info, undefined, 2) });\n } catch (err: any) {\n handleToast({ title: t('settings repair failed'), description: err.message });\n }\n };\n\n return (\n <>\n <DeprecatedFormInput label={t('settings show debug panel')}>\n <Input.Switch checked={settings.debug} onCheckedChange={(checked) => (settings.debug = !!checked)} />\n </DeprecatedFormInput>\n <DeprecatedFormInput label={t('settings show devtools panel')}>\n <Input.Switch checked={settings.devtools} onCheckedChange={(checked) => (settings.devtools = !!checked)} />\n </DeprecatedFormInput>\n <DeprecatedFormInput label={t('settings wireframe')}>\n <Input.Switch checked={settings.wireframe} onCheckedChange={(checked) => (settings.wireframe = !!checked)} />\n </DeprecatedFormInput>\n <DeprecatedFormInput label={t('settings download diagnostics')}>\n <Button onClick={handleDownload}>\n <DownloadSimple className={getSize(5)} />\n </Button>\n </DeprecatedFormInput>\n <DeprecatedFormInput label={t('settings repair')}>\n <Button onClick={handleRepair}>\n <FirstAidKit className={getSize(5)} />\n </Button>\n </DeprecatedFormInput>\n\n {/* TODO(burdon): Move to layout? */}\n {toast && (\n <Toast.Root>\n <Toast.Body>\n <Toast.Title>\n <Gift className={mx(getSize(5), 'inline mr-1')} weight='duotone' />\n <span>{toast.title}</span>\n </Toast.Title>\n {toast.description && <Toast.Description>{toast.description}</Toast.Description>}\n </Toast.Body>\n </Toast.Root>\n )}\n\n <DeprecatedFormInput label={t('settings choose storage adaptor')}>\n <Select.Root\n value={\n Object.entries(StorageAdapters).find(\n ([name, value]) => value === storageConfig?.runtime?.client?.storage?.dataStore,\n )?.[0]\n }\n onValueChange={(value) => {\n if (confirm(t('settings storage adapter changed alert'))) {\n updateConfig(\n storageConfig,\n setStorageConfig,\n ['runtime', 'client', 'storage', 'dataStore'],\n StorageAdapters[value as keyof typeof StorageAdapters],\n );\n }\n }}\n >\n <Select.TriggerButton placeholder={t('settings data store label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {Object.keys(StorageAdapters).map((key) => (\n <Select.Option key={key} value={key}>\n {t(`settings storage adaptor ${key} label`)}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n </>\n );\n};\n\nconst updateConfig = (config: ConfigProto, setConfig: (newConfig: ConfigProto) => void, path: string[], value: any) => {\n const storageConfigCopy = JSON.parse(JSON.stringify(config ?? {}));\n setDeep(storageConfigCopy, path, value);\n setConfig(storageConfigCopy);\n queueMicrotask(async () => {\n await SaveConfig(storageConfigCopy);\n });\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { firstIdInPart, parseGraphPlugin, parseNavigationPlugin, useResolvePlugin } from '@dxos/app-framework';\nimport { TimeoutError } from '@dxos/async';\nimport { StatsPanel, useStats } from '@dxos/devtools';\nimport { log } from '@dxos/log';\nimport { getActiveSpace } from '@dxos/plugin-space';\nimport { StatusBar } from '@dxos/plugin-status-bar';\nimport { ConnectionState } from '@dxos/protocols/proto/dxos/client/services';\nimport { useNetworkStatus } from '@dxos/react-client/mesh';\nimport { Icon } from '@dxos/react-ui';\nimport { mx } from '@dxos/react-ui-theme';\n\nconst styles = {\n success: 'text-sky-300 dark:text-green-700',\n warning: 'text-orange-300 dark:text-orange-600',\n error: 'text-red-300 dark:text-red-600',\n};\n\n// TODO(burdon): Move out of debug plugin.\n// TODO(burdon): Make pluggable (move indicators to relevant plugins).\n// TODO(burdon): Vault heartbeat indicator (global scope)?\n\n/**\n * Ensure light doesn't flicker immediately after start.\n */\n// TODO(burdon): Move to @dxos/async (debounce?)\nconst _timer = (cb: (err?: Error) => void, options?: { min?: number; max?: number }) => {\n const min = options?.min ?? 500;\n let start: number;\n let pending: NodeJS.Timeout;\n let timeout: NodeJS.Timeout;\n return {\n start: () => {\n start = Date.now();\n clearTimeout(pending);\n if (options?.max) {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n cb(new TimeoutError(options.max));\n }, options.max);\n }\n },\n stop: () => {\n clearTimeout(timeout);\n const delta = Date.now() - start;\n if (delta < min) {\n pending = setTimeout(() => {\n cb();\n }, min - delta);\n }\n },\n };\n};\n\n/**\n * Global error handler.\n */\n// TODO(burdon): Integrate with Sentry?\nconst ErrorIndicator = () => {\n const [, forceUpdate] = useState({});\n const errorRef = useRef<Error>();\n useEffect(() => {\n const errorListener = (event: any) => {\n const error: Error = event.error ?? event.reason;\n // event.preventDefault();\n if (errorRef.current !== error) {\n // eslint-disable-next-line no-console\n log.error('onError', { event });\n errorRef.current = error;\n forceUpdate({});\n }\n };\n\n // TODO(burdon): Register globally?\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/error_event\n window.addEventListener('error', errorListener);\n\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/unhandledrejection_event\n window.addEventListener('unhandledrejection', errorListener);\n\n return () => {\n window.removeEventListener('error', errorListener);\n window.removeEventListener('unhandledrejection', errorListener);\n };\n }, []);\n\n const handleReset = () => {\n errorRef.current = undefined;\n forceUpdate({});\n };\n\n if (errorRef.current) {\n return (\n <StatusBar.Button title={errorRef.current.message} onClick={handleReset}>\n <Icon icon='ph--warning-circle--duotone' size={4} classNames={styles.error} />\n </StatusBar.Button>\n );\n } else {\n return (\n <StatusBar.Item title='No errors.'>\n <Icon icon='ph--check--regular' size={4} />\n </StatusBar.Item>\n );\n }\n};\n\n/**\n * Swarm connection handler.\n */\nconst SwarmIndicator = () => {\n const [state, setState] = useState(0);\n const { swarm } = useNetworkStatus();\n useEffect(() => {\n setState(swarm === ConnectionState.ONLINE ? 0 : 1);\n }, [swarm]);\n\n if (state === 0) {\n return (\n <StatusBar.Item title='Connected to swarm.'>\n <Icon icon='ph--lightning--regular' size={4} />\n </StatusBar.Item>\n );\n } else {\n return (\n <StatusBar.Item title='Disconnected from swarm.'>\n <Icon icon='ph--lightning-slash--regular' size={4} classNames={styles.warning} />\n </StatusBar.Item>\n );\n }\n};\n\n/**\n * Data saving indicator.\n */\n// TODO(burdon): Merge with SaveStatus.\nconst SavingIndicator = () => {\n const [state, _setState] = useState(0);\n const navigationPlugin = useResolvePlugin(parseNavigationPlugin);\n const graphPlugin = useResolvePlugin(parseGraphPlugin);\n const location = navigationPlugin?.provides.location;\n const graph = graphPlugin?.provides.graph;\n const _space = location && graph ? getActiveSpace(graph, firstIdInPart(location.active, 'main')) : undefined;\n // TODO(dmaretskyi): Fix this when we have save status for automerge.\n // useEffect(() => {\n // if (!space) {\n // return;\n // }\n // const { start, stop } = timer(() => setState(0), { min: 250 });\n // return space.db.pendingBatch.on(({ duration, error }) => {\n // if (error) {\n // setState(2);\n // stop();\n // } else if (duration === undefined) {\n // setState(1);\n // start();\n // } else {\n // stop();\n // }\n // });\n // }, [space]);\n\n switch (state) {\n case 2:\n return (\n <StatusBar.Item title='Edit not saved.'>\n <Icon icon='ph--circle--duotone' size={4} classNames={styles.warning} />\n </StatusBar.Item>\n );\n case 1:\n return (\n <StatusBar.Item title='Saving...'>\n <Icon icon='ph--circle--duotone' size={4} classNames={styles.success} />\n </StatusBar.Item>\n );\n case 0:\n default:\n return (\n <StatusBar.Item title='Modified indicator.'>\n <Icon icon='ph--circle--duotone' size={4} />\n </StatusBar.Item>\n );\n }\n};\n\nconst PerformanceIndicator = () => {\n const [visible, setVisible] = useState(false);\n const [stats, refreshStats] = useStats();\n\n return (\n <>\n <StatusBar.Button onClick={() => setVisible((visible) => !visible)} title='Performance panels'>\n <Icon icon='ph--chart-bar--regular' size={4} />\n </StatusBar.Button>\n {visible && (\n <div\n className={mx(\n 'z-20 absolute bottom-[--statusbar-size] right-4 w-[450px]',\n 'overflow-x-hidden overflow-y-auto scrollbar-thin',\n 'border-x border-y border-separator',\n )}\n >\n <StatsPanel stats={stats} onRefresh={refreshStats} />\n </div>\n )}\n </>\n );\n};\n\nconst indicators = [SavingIndicator, SwarmIndicator, PerformanceIndicator, ErrorIndicator];\n\nexport const DebugStatus = () => {\n return (\n <>\n {indicators.map((Indicator) => (\n <Indicator key={Indicator.name} />\n ))}\n </>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\nimport { useResizeDetector } from 'react-resize-detector';\n\nimport { fullyQualifiedId } from '@dxos/react-client/echo';\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport { useAttendableAttributes } from '@dxos/react-ui-attention';\nimport { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';\nimport { mx } from '@dxos/react-ui-theme';\n\n// TODO(burdon): Create generic container with wireframe mode.\nexport type WireframeProps = ThemedClassName<{\n label?: string;\n object?: any;\n}>;\n\n// TODO(burdon): Make focusable and attendable with input.\nexport const Wireframe = ({ classNames, label, object }: WireframeProps) => {\n const attendableAttrs = useAttendableAttributes(fullyQualifiedId(object));\n const { width, height, ref } = useResizeDetector();\n return (\n <div ref={ref} className={mx('relative grow min-bs-96', classNames)} {...attendableAttrs}>\n <div className='absolute inset-2 flex flex-col gap-2 overflow-hidden font-mono'>\n <div className='flex justify-between'>\n <div>{label}</div>\n <div>{`[${width}x${height}]`}</div>\n </div>\n {object && (\n <SyntaxHighlighter language='json' classNames='flex w-full text-xs opacity-75 rounded'>\n {JSON.stringify(object, undefined, 2)}\n </SyntaxHighlighter>\n )}\n </div>\n <svg width={width} height={height} className='bg-transparent [&>*]:text-subdued'>\n <rect x={0} y={0} width={width} height={height} strokeWidth={1} fill='none' />\n <line x1={0} y1={0} x2={width} y2={height} strokeWidth={1} />\n <line x1={0} y1={height} x2={width} y2={0} strokeWidth={1} />\n </svg>\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { DEBUG_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [DEBUG_PLUGIN]: {\n 'plugin name': 'Debug',\n 'mutation count': 'Number of mutations',\n 'mutation period': 'Mutation period',\n 'open devtools label': 'Open DevTools',\n 'devtools label': 'DevTools',\n 'debug label': 'Debug',\n 'settings show debug panel': 'Show Debug panel.',\n 'settings show devtools panel': 'Show DevTools panel.',\n 'settings wireframe': 'Show wireframes.',\n 'settings repair': 'Run repair tool.',\n 'settings download diagnostics': 'Download diagnostics.',\n 'settings uploaded': 'Uploaded to IPFS',\n 'settings uploaded to clipboard': 'URL copied to clipboard.',\n 'settings repair success': 'Repair succeeded',\n 'settings repair failed': 'Repair failed',\n 'settings choose storage adaptor': 'Storage adaptor (worker reload required).',\n 'settings storage adaptor idb label': 'IndexedDB',\n 'settings storage adaptor opfs label': 'OPFS',\n 'settings data store label': 'Data Store',\n 'settings storage adapter changed alert':\n 'Warning: Swapping the storage adapter will make your data unavailable.',\n 'settings space fragmentation': 'Enable AM space fragmentation',\n 'open debug panel label': 'Show Debug',\n },\n },\n },\n];\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { DebugPlugin } from './DebugPlugin';\n\nexport * from './DebugPlugin';\n\nexport default DebugPlugin;\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { type ReactNode, useEffect, useState } from 'react';\n\nimport {\n definePlugin,\n parseGraphPlugin,\n parseIntentPlugin,\n parseMetadataResolverPlugin,\n parseSettingsPlugin,\n resolvePlugin,\n} from '@dxos/app-framework';\nimport { Timer } from '@dxos/async';\nimport { Devtools } from '@dxos/devtools';\nimport { invariant } from '@dxos/invariant';\nimport { type ClientPluginProvides, parseClientPlugin } from '@dxos/plugin-client';\nimport { createExtension, Graph, type Node, toSignal } from '@dxos/plugin-graph';\nimport { memoizeQuery, SpaceAction } from '@dxos/plugin-space';\nimport { CollectionType } from '@dxos/plugin-space/types';\nimport { type Client } from '@dxos/react-client';\nimport {\n create,\n getTypename,\n isEchoObject,\n isSpace,\n parseId,\n type ReactiveObject,\n type Space,\n SpaceState,\n} from '@dxos/react-client/echo';\nimport { Main } from '@dxos/react-ui';\nimport {\n baseSurface,\n bottombarBlockPaddingEnd,\n fixedInsetFlexLayout,\n topbarBlockPaddingStart,\n} from '@dxos/react-ui-theme';\n\nimport {\n DebugApp,\n DebugObjectPanel,\n DebugSettings,\n DebugSpace,\n DebugStatus,\n SpaceGenerator,\n Wireframe,\n} from './components';\nimport meta, { DEBUG_PLUGIN } from './meta';\nimport translations from './translations';\nimport {\n DebugAction,\n DebugContext,\n type DebugPluginProvides,\n type DebugSettingsProps,\n DebugSettingsSchema,\n} from './types';\n\nexport const DebugPlugin = definePlugin<DebugPluginProvides>((context) => {\n const settings = create<DebugSettingsProps>({\n debug: true,\n devtools: true,\n });\n\n return {\n meta,\n ready: async (plugins) => {\n context.init(plugins);\n context.resolvePlugin(parseSettingsPlugin).provides.settingsStore.createStore({\n schema: DebugSettingsSchema,\n prefix: DEBUG_PLUGIN,\n value: settings,\n });\n\n // TODO(burdon): Remove hacky dependency on global variable.\n // Used to test how composer handles breaking protocol changes.\n const composer = (window as any).composer;\n composer.changeStorageVersionInMetadata = async (version: number) => {\n const { changeStorageVersionInMetadata } = await import('@dxos/echo-pipeline/testing');\n const { createStorageObjects } = await import('@dxos/client-services');\n const client: Client = (window as any).dxos.client;\n const config = client.config;\n await client.destroy();\n const { storage } = createStorageObjects(config.values?.runtime?.client?.storage ?? {});\n await changeStorageVersionInMetadata(storage, version);\n location.pathname = '/';\n };\n },\n unload: async () => {\n context.dispose();\n },\n provides: {\n settings,\n translations,\n complementary: {\n panels: [{ id: 'debug', label: ['open debug panel label', { ns: DEBUG_PLUGIN }], icon: 'ph--bug--regular' }],\n },\n context: ({ children }) => {\n const [timer, setTimer] = useState<Timer>();\n useEffect(() => timer?.state.on((value) => !value && setTimer(undefined)), [timer]);\n useEffect(() => {\n timer?.stop();\n }, []);\n\n return (\n <DebugContext.Provider\n value={{\n running: !!timer,\n start: (cb, options) => {\n timer?.stop();\n setTimer(new Timer(cb).start(options));\n },\n stop: () => timer?.stop(),\n }}\n >\n {children}\n </DebugContext.Provider>\n );\n },\n graph: {\n builder: (plugins) => {\n const clientPlugin = resolvePlugin(plugins, parseClientPlugin);\n const metadataPlugin = resolvePlugin(plugins, parseMetadataResolverPlugin);\n const graphPlugin = resolvePlugin(plugins, parseGraphPlugin);\n const resolve = metadataPlugin?.provides.metadata.resolver;\n const client = clientPlugin?.provides.client;\n invariant(resolve);\n invariant(client);\n\n return [\n // Devtools node.\n createExtension({\n id: 'dxos.org/plugin/debug/devtools',\n filter: (node): node is Node<null> => !!settings.devtools && node.id === 'root',\n connector: () => [\n {\n // TODO(zan): Removed `/` because it breaks deck layout reload. Fix?\n id: 'dxos.org.plugin.debug.devtools',\n data: 'devtools',\n type: 'dxos.org/plugin/debug/devtools',\n properties: {\n label: ['devtools label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--hammer--regular',\n },\n },\n ],\n }),\n\n // Debug node.\n createExtension({\n id: 'dxos.org/plugin/debug/debug',\n filter: (node): node is Node<null> => !!settings.debug && node.id === 'root',\n connector: () => [\n {\n id: 'dxos.org/plugin/debug/debug',\n type: 'dxos.org/plugin/debug/debug',\n data: { graph: graphPlugin?.provides.graph },\n properties: {\n label: ['debug label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--bug--regular',\n },\n },\n ],\n }),\n\n // Space debug nodes.\n createExtension({\n id: 'dxos.org/plugin/debug/spaces',\n filter: (node): node is Node<Space> => !!settings.debug && isSpace(node.data),\n connector: ({ node }) => {\n const space = node.data;\n const state = toSignal(\n (onChange) => space.state.subscribe(() => onChange()).unsubscribe,\n () => space.state.get(),\n );\n if (state !== SpaceState.SPACE_READY) {\n return;\n }\n\n // Not adding the debug node until the root collection is available aligns the behaviour of this\n // extension with that of the space plugin adding objects. This ensures that the debug node is added at\n // the same time as objects and prevents order from changing as the nodes are added.\n const collection = space.properties[CollectionType.typename] as CollectionType | undefined;\n if (!collection) {\n return;\n }\n\n return [\n {\n id: `${space.id}-debug`, // TODO(burdon): Change to slashes consistently.\n type: 'dxos.org/plugin/debug/space',\n data: { space, type: 'dxos.org/plugin/debug/space' },\n properties: {\n label: ['debug label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--bug--regular',\n },\n },\n ];\n },\n }),\n\n // Create nodes for debug sidebar.\n createExtension({\n id: `${DEBUG_PLUGIN}/debug-for-subject`,\n resolver: ({ id }) => {\n // TODO(Zan): Find util (or make one).\n if (!id.endsWith('~debug')) {\n return;\n }\n\n const type = 'orphan-settings-for-subject';\n const icon = 'ph--bug--regular';\n\n const [subjectId] = id.split('~');\n const { spaceId, objectId } = parseId(subjectId);\n const spaces = toSignal(\n (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.get(),\n );\n const space = spaces?.find(\n (space) => space.state.get() === SpaceState.SPACE_READY && space.id === spaceId,\n );\n if (!objectId) {\n // TODO(burdon): Ref SPACE_PLUGIN ns.\n const label = space\n ? space.properties.name || ['unnamed space label', { ns: DEBUG_PLUGIN }]\n : ['unnamed object settings label', { ns: DEBUG_PLUGIN }];\n\n // TODO(wittjosiah): Support comments for arbitrary subjects.\n // This is to ensure that the comments panel is not stuck on an old object.\n return {\n id,\n type,\n data: null,\n properties: {\n icon,\n label,\n showResolvedThreads: false,\n object: null,\n space,\n },\n };\n }\n\n const [object] = memoizeQuery(space, { id: objectId });\n if (!object || !subjectId) {\n return;\n }\n\n const meta = resolve(getTypename(object) ?? '');\n const label = meta.label?.(object) ||\n object.name ||\n meta.placeholder || ['unnamed object settings label', { ns: DEBUG_PLUGIN }];\n\n return {\n id,\n type,\n data: null,\n properties: {\n icon,\n label,\n object,\n },\n };\n },\n }),\n ];\n },\n },\n intent: {\n resolver: async (intent, plugins) => {\n switch (intent.action) {\n case DebugAction.OPEN_DEVTOOLS: {\n const clientPlugin = context.getPlugin<ClientPluginProvides>('dxos.org/plugin/client');\n const client = clientPlugin.provides.client;\n const vaultUrl = client.config.values?.runtime?.client?.remoteSource ?? 'https://halo.dxos.org';\n\n // Check if we're serving devtools locally on the usual port.\n let devtoolsUrl = 'http://localhost:5174';\n try {\n // TODO(burdon): Test header to see if this is actually devtools.\n await fetch(devtoolsUrl);\n } catch {\n // Match devtools to running app.\n const isDev = window.location.href.includes('.dev.') || window.location.href.includes('localhost');\n devtoolsUrl = `https://devtools${isDev ? '.dev.' : '.'}dxos.org`;\n }\n\n window.open(`${devtoolsUrl}?target=${vaultUrl}`, '_blank');\n return { data: true };\n }\n }\n },\n },\n surface: {\n component: ({ name, data, role }) => {\n switch (role) {\n case 'settings':\n return data.plugin === meta.id ? <DebugSettings settings={settings} /> : null;\n case 'status':\n return <DebugStatus />;\n case 'complementary--debug':\n return isEchoObject(data.subject) ? <DebugObjectPanel object={data.subject} /> : null;\n }\n\n const primary = data.active ?? data.object;\n let component: ReactNode = null;\n if (role === 'main' || role === 'article') {\n if (primary === 'devtools' && settings.devtools) {\n component = <Devtools />;\n } else if (!primary || typeof primary !== 'object' || !settings.debug) {\n component = null;\n } else if (\n 'type' in primary &&\n primary.type === 'dxos.org/plugin/debug/space' &&\n 'space' in primary &&\n isSpace(primary.space)\n ) {\n const handleCreateObject = (objects: ReactiveObject<any>[]) => {\n if (!isSpace(primary.space)) {\n return;\n }\n\n const collection =\n primary.space.state.get() === SpaceState.SPACE_READY &&\n primary.space.properties[CollectionType.typename];\n if (!(collection instanceof CollectionType)) {\n return;\n }\n\n void context.resolvePlugin(parseIntentPlugin).provides.intent.dispatch(\n objects.map((object) => ({\n action: SpaceAction.ADD_OBJECT,\n data: { target: collection, object },\n })),\n );\n };\n\n const deprecated = false;\n component = deprecated ? (\n <DebugSpace space={primary.space} onAddObjects={handleCreateObject} />\n ) : (\n <SpaceGenerator space={primary.space} onCreateObjects={handleCreateObject} />\n );\n } else if ('graph' in primary && primary.graph instanceof Graph) {\n component = <DebugApp graph={primary.graph} />;\n }\n }\n\n if (!component) {\n if (settings.wireframe) {\n if (role === 'main' || role === 'article' || role === 'section') {\n const primary = data.active ?? data.object;\n const isCollection = primary instanceof CollectionType;\n // TODO(burdon): Move into Container abstraction.\n if (!isCollection) {\n return {\n node: (\n <Wireframe label={`${role}:${name}`} object={primary} classNames='row-span-2 overflow-hidden' />\n ),\n disposition: 'hoist',\n };\n }\n }\n }\n\n return null;\n }\n\n switch (role) {\n case 'article':\n return <>{component}</>;\n case 'main':\n return (\n <Main.Content\n classNames={[baseSurface, fixedInsetFlexLayout, topbarBlockPaddingStart, bottombarBlockPaddingEnd]}\n >\n {component}\n </Main.Content>\n );\n }\n\n return null;\n },\n },\n },\n };\n});\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport const DebugApp = lazy(() => import('./DebugApp'));\nexport const DebugSpace = lazy(() => import('./DebugSpace'));\nexport const SpaceGenerator = lazy(() => import('./SpaceGenerator'));\n\nexport * from './DebugObjectPanel';\nexport * from './DebugSettings';\nexport * from './DebugStatus';\nexport * from './Wireframe';\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type ReactiveEchoObject } from '@dxos/client/echo';\nimport { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';\n\nexport type DebugObjectPanelProps = {\n object: ReactiveEchoObject<any>;\n};\n\n// TODO(burdon): Get schema and traverse references.\nexport const DebugObjectPanel = ({ object }: DebugObjectPanelProps) => {\n return (\n <div className='flex flex-col'>\n <SyntaxHighlighter classNames='flex text-xs' language='json'>\n {JSON.stringify(object, null, 2)}\n </SyntaxHighlighter>\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Gift, DownloadSimple, FirstAidKit } from '@phosphor-icons/react';\nimport React, { useEffect, useState } from 'react';\n\nimport { parseFileManagerPlugin, useResolvePlugin } from '@dxos/app-framework';\nimport { type ConfigProto, defs, SaveConfig, Storage } from '@dxos/config';\nimport { log } from '@dxos/log';\nimport { useClient } from '@dxos/react-client';\nimport { useTranslation, Button, Toast, Input, useFileDownload, Select } from '@dxos/react-ui';\nimport { DeprecatedFormInput } from '@dxos/react-ui-form';\nimport { getSize, mx } from '@dxos/react-ui-theme';\nimport { setDeep } from '@dxos/util';\n\nimport { DEBUG_PLUGIN } from '../meta';\nimport { type DebugSettingsProps } from '../types';\n\ntype Toast = {\n title: string;\n description?: string;\n};\n\nconst StorageAdapters = {\n opfs: defs.Runtime.Client.Storage.StorageDriver.WEBFS,\n idb: defs.Runtime.Client.Storage.StorageDriver.IDB,\n} as const;\n\nexport const DebugSettings = ({ settings }: { settings: DebugSettingsProps }) => {\n const { t } = useTranslation(DEBUG_PLUGIN);\n const [toast, setToast] = useState<Toast>();\n const client = useClient();\n const download = useFileDownload();\n // TODO(mykola): Get updates from other places that change Config.\n const [storageConfig, setStorageConfig] = useState<ConfigProto>({});\n const fileManagerPlugin = useResolvePlugin(parseFileManagerPlugin);\n\n useEffect(() => {\n void Storage().then((config) => setStorageConfig(config));\n }, []);\n\n const handleToast = (toast: Toast) => {\n setToast(toast);\n const t = setTimeout(() => setToast(undefined), 5_000);\n return () => clearTimeout(t);\n };\n\n const handleDownload = async () => {\n const data = await client.diagnostics();\n const file = new Blob([JSON.stringify(data, undefined, 2)], { type: 'text/plain' });\n const fileName = `composer-${new Date().toISOString().replace(/\\W/g, '-')}.json`;\n download(file, fileName);\n\n if (fileManagerPlugin?.provides.file.upload) {\n const info = await fileManagerPlugin.provides.file.upload(new File([file], fileName), client.spaces.default);\n if (!info) {\n log.error('diagnostics failed to upload to IPFS');\n return;\n }\n handleToast({ title: t('settings uploaded'), description: t('settings uploaded to clipboard') });\n\n // TODO(nf): move to IpfsPlugin?\n const url = client.config.values.runtime!.services!.ipfs!.gateway + '/' + info.cid;\n void navigator.clipboard.writeText(url);\n handleToast({ title: t('settings uploaded'), description: t('settings uploaded to clipboard') });\n log.info('diagnostics', { url });\n }\n };\n\n const handleRepair = async () => {\n try {\n const info = await client.repair();\n setStorageConfig(await Storage());\n handleToast({ title: t('settings repair success'), description: JSON.stringify(info, undefined, 2) });\n } catch (err: any) {\n handleToast({ title: t('settings repair failed'), description: err.message });\n }\n };\n\n return (\n <>\n <DeprecatedFormInput label={t('settings show debug panel')}>\n <Input.Switch checked={settings.debug} onCheckedChange={(checked) => (settings.debug = !!checked)} />\n </DeprecatedFormInput>\n <DeprecatedFormInput label={t('settings show devtools panel')}>\n <Input.Switch checked={settings.devtools} onCheckedChange={(checked) => (settings.devtools = !!checked)} />\n </DeprecatedFormInput>\n <DeprecatedFormInput label={t('settings wireframe')}>\n <Input.Switch checked={settings.wireframe} onCheckedChange={(checked) => (settings.wireframe = !!checked)} />\n </DeprecatedFormInput>\n <DeprecatedFormInput label={t('settings download diagnostics')}>\n <Button onClick={handleDownload}>\n <DownloadSimple className={getSize(5)} />\n </Button>\n </DeprecatedFormInput>\n <DeprecatedFormInput label={t('settings repair')}>\n <Button onClick={handleRepair}>\n <FirstAidKit className={getSize(5)} />\n </Button>\n </DeprecatedFormInput>\n\n {/* TODO(burdon): Move to layout? */}\n {toast && (\n <Toast.Root>\n <Toast.Body>\n <Toast.Title>\n <Gift className={mx(getSize(5), 'inline mr-1')} weight='duotone' />\n <span>{toast.title}</span>\n </Toast.Title>\n {toast.description && <Toast.Description>{toast.description}</Toast.Description>}\n </Toast.Body>\n </Toast.Root>\n )}\n\n <DeprecatedFormInput label={t('settings choose storage adaptor')}>\n <Select.Root\n value={\n Object.entries(StorageAdapters).find(\n ([name, value]) => value === storageConfig?.runtime?.client?.storage?.dataStore,\n )?.[0]\n }\n onValueChange={(value) => {\n if (confirm(t('settings storage adapter changed alert'))) {\n updateConfig(\n storageConfig,\n setStorageConfig,\n ['runtime', 'client', 'storage', 'dataStore'],\n StorageAdapters[value as keyof typeof StorageAdapters],\n );\n }\n }}\n >\n <Select.TriggerButton placeholder={t('settings data store label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {Object.keys(StorageAdapters).map((key) => (\n <Select.Option key={key} value={key}>\n {t(`settings storage adaptor ${key} label`)}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n </>\n );\n};\n\nconst updateConfig = (config: ConfigProto, setConfig: (newConfig: ConfigProto) => void, path: string[], value: any) => {\n const storageConfigCopy = JSON.parse(JSON.stringify(config ?? {}));\n setDeep(storageConfigCopy, path, value);\n setConfig(storageConfigCopy);\n queueMicrotask(async () => {\n await SaveConfig(storageConfigCopy);\n });\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { firstIdInPart, parseGraphPlugin, parseNavigationPlugin, useResolvePlugin } from '@dxos/app-framework';\nimport { TimeoutError } from '@dxos/async';\nimport { StatsPanel, useStats } from '@dxos/devtools';\nimport { log } from '@dxos/log';\nimport { getActiveSpace } from '@dxos/plugin-space';\nimport { StatusBar } from '@dxos/plugin-status-bar';\nimport { ConnectionState } from '@dxos/protocols/proto/dxos/client/services';\nimport { useNetworkStatus } from '@dxos/react-client/mesh';\nimport { Icon } from '@dxos/react-ui';\nimport { mx } from '@dxos/react-ui-theme';\n\nconst styles = {\n success: 'text-sky-300 dark:text-green-700',\n warning: 'text-orange-300 dark:text-orange-600',\n error: 'text-red-300 dark:text-red-600',\n};\n\n// TODO(burdon): Move out of debug plugin.\n// TODO(burdon): Make pluggable (move indicators to relevant plugins).\n// TODO(burdon): Vault heartbeat indicator (global scope)?\n\n/**\n * Ensure light doesn't flicker immediately after start.\n */\n// TODO(burdon): Move to @dxos/async (debounce?)\nconst _timer = (cb: (err?: Error) => void, options?: { min?: number; max?: number }) => {\n const min = options?.min ?? 500;\n let start: number;\n let pending: NodeJS.Timeout;\n let timeout: NodeJS.Timeout;\n return {\n start: () => {\n start = Date.now();\n clearTimeout(pending);\n if (options?.max) {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n cb(new TimeoutError(options.max));\n }, options.max);\n }\n },\n stop: () => {\n clearTimeout(timeout);\n const delta = Date.now() - start;\n if (delta < min) {\n pending = setTimeout(() => {\n cb();\n }, min - delta);\n }\n },\n };\n};\n\n/**\n * Global error handler.\n */\n// TODO(burdon): Integrate with Sentry?\nconst ErrorIndicator = () => {\n const [, forceUpdate] = useState({});\n const errorRef = useRef<Error>();\n useEffect(() => {\n const errorListener = (event: any) => {\n const error: Error = event.error ?? event.reason;\n // event.preventDefault();\n if (errorRef.current !== error) {\n // eslint-disable-next-line no-console\n log.error('onError', { event });\n errorRef.current = error;\n forceUpdate({});\n }\n };\n\n // TODO(burdon): Register globally?\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/error_event\n window.addEventListener('error', errorListener);\n\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/unhandledrejection_event\n window.addEventListener('unhandledrejection', errorListener);\n\n return () => {\n window.removeEventListener('error', errorListener);\n window.removeEventListener('unhandledrejection', errorListener);\n };\n }, []);\n\n const handleReset = () => {\n errorRef.current = undefined;\n forceUpdate({});\n };\n\n if (errorRef.current) {\n return (\n <StatusBar.Button title={errorRef.current.message} onClick={handleReset}>\n <Icon icon='ph--warning-circle--duotone' size={4} classNames={styles.error} />\n </StatusBar.Button>\n );\n } else {\n return (\n <StatusBar.Item title='No errors.'>\n <Icon icon='ph--check--regular' size={4} />\n </StatusBar.Item>\n );\n }\n};\n\n/**\n * Swarm connection handler.\n */\nconst SwarmIndicator = () => {\n const [state, setState] = useState(0);\n const { swarm } = useNetworkStatus();\n useEffect(() => {\n setState(swarm === ConnectionState.ONLINE ? 0 : 1);\n }, [swarm]);\n\n if (state === 0) {\n return (\n <StatusBar.Item title='Connected to swarm.'>\n <Icon icon='ph--lightning--regular' size={4} />\n </StatusBar.Item>\n );\n } else {\n return (\n <StatusBar.Item title='Disconnected from swarm.'>\n <Icon icon='ph--lightning-slash--regular' size={4} classNames={styles.warning} />\n </StatusBar.Item>\n );\n }\n};\n\n/**\n * Data saving indicator.\n */\n// TODO(burdon): Merge with SaveStatus.\nconst SavingIndicator = () => {\n const [state, _setState] = useState(0);\n const navigationPlugin = useResolvePlugin(parseNavigationPlugin);\n const graphPlugin = useResolvePlugin(parseGraphPlugin);\n const location = navigationPlugin?.provides.location;\n const graph = graphPlugin?.provides.graph;\n const _space = location && graph ? getActiveSpace(graph, firstIdInPart(location.active, 'main')) : undefined;\n // TODO(dmaretskyi): Fix this when we have save status for automerge.\n // useEffect(() => {\n // if (!space) {\n // return;\n // }\n // const { start, stop } = timer(() => setState(0), { min: 250 });\n // return space.db.pendingBatch.on(({ duration, error }) => {\n // if (error) {\n // setState(2);\n // stop();\n // } else if (duration === undefined) {\n // setState(1);\n // start();\n // } else {\n // stop();\n // }\n // });\n // }, [space]);\n\n switch (state) {\n case 2:\n return (\n <StatusBar.Item title='Edit not saved.'>\n <Icon icon='ph--circle--duotone' size={4} classNames={styles.warning} />\n </StatusBar.Item>\n );\n case 1:\n return (\n <StatusBar.Item title='Saving...'>\n <Icon icon='ph--circle--duotone' size={4} classNames={styles.success} />\n </StatusBar.Item>\n );\n case 0:\n default:\n return (\n <StatusBar.Item title='Modified indicator.'>\n <Icon icon='ph--circle--duotone' size={4} />\n </StatusBar.Item>\n );\n }\n};\n\nconst PerformanceIndicator = () => {\n const [visible, setVisible] = useState(false);\n const [stats, refreshStats] = useStats();\n\n return (\n <>\n <StatusBar.Button onClick={() => setVisible((visible) => !visible)} title='Performance panels'>\n <Icon icon='ph--chart-bar--regular' size={4} />\n </StatusBar.Button>\n {visible && (\n <div\n className={mx(\n 'z-20 absolute bottom-[--statusbar-size] right-4 w-[450px]',\n 'overflow-x-hidden overflow-y-auto scrollbar-thin',\n 'border-x border-y border-separator',\n )}\n >\n <StatsPanel stats={stats} onRefresh={refreshStats} />\n </div>\n )}\n </>\n );\n};\n\nconst indicators = [SavingIndicator, SwarmIndicator, PerformanceIndicator, ErrorIndicator];\n\nexport const DebugStatus = () => {\n return (\n <>\n {indicators.map((Indicator) => (\n <Indicator key={Indicator.name} />\n ))}\n </>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\nimport { useResizeDetector } from 'react-resize-detector';\n\nimport { fullyQualifiedId } from '@dxos/react-client/echo';\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport { useAttendableAttributes } from '@dxos/react-ui-attention';\nimport { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';\nimport { mx } from '@dxos/react-ui-theme';\n\n// TODO(burdon): Create generic container with wireframe mode.\nexport type WireframeProps = ThemedClassName<{\n label?: string;\n object?: any;\n}>;\n\n// TODO(burdon): Make focusable and attendable with input.\nexport const Wireframe = ({ classNames, label, object }: WireframeProps) => {\n const attendableAttrs = useAttendableAttributes(fullyQualifiedId(object));\n const { width, height, ref } = useResizeDetector();\n return (\n <div ref={ref} className={mx('relative grow min-bs-96', classNames)} {...attendableAttrs}>\n <div className='absolute inset-2 flex flex-col gap-2 overflow-hidden font-mono'>\n <div className='flex justify-between'>\n <div>{label}</div>\n <div>{`[${width}x${height}]`}</div>\n </div>\n {object && (\n <SyntaxHighlighter language='json' classNames='flex w-full text-xs opacity-75 rounded'>\n {JSON.stringify(object, undefined, 2)}\n </SyntaxHighlighter>\n )}\n </div>\n <svg width={width} height={height} className='bg-transparent [&>*]:text-subdued'>\n <rect x={0} y={0} width={width} height={height} strokeWidth={1} fill='none' />\n <line x1={0} y1={0} x2={width} y2={height} strokeWidth={1} />\n <line x1={0} y1={height} x2={width} y2={0} strokeWidth={1} />\n </svg>\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { DEBUG_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [DEBUG_PLUGIN]: {\n 'plugin name': 'Debug',\n 'mutation count': 'Number of mutations',\n 'mutation period': 'Mutation period',\n 'open devtools label': 'Open DevTools',\n 'devtools label': 'DevTools',\n 'debug label': 'Debug',\n 'settings show debug panel': 'Show Debug panel.',\n 'settings show devtools panel': 'Show DevTools panel.',\n 'settings wireframe': 'Show wireframes.',\n 'settings repair': 'Run repair tool.',\n 'settings download diagnostics': 'Download diagnostics.',\n 'settings uploaded': 'Uploaded to IPFS',\n 'settings uploaded to clipboard': 'URL copied to clipboard.',\n 'settings repair success': 'Repair succeeded',\n 'settings repair failed': 'Repair failed',\n 'settings choose storage adaptor': 'Storage adaptor (worker reload required).',\n 'settings storage adaptor idb label': 'IndexedDB',\n 'settings storage adaptor opfs label': 'OPFS',\n 'settings data store label': 'Data Store',\n 'settings storage adapter changed alert':\n 'Warning: Swapping the storage adapter will make your data unavailable.',\n 'settings space fragmentation': 'Enable AM space fragmentation',\n 'open debug panel label': 'Show Debug',\n },\n },\n },\n];\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { DebugPlugin } from './DebugPlugin';\n\nexport * from './DebugPlugin';\n\nexport default DebugPlugin;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["React", "useEffect", "useState", "definePlugin", "parseGraphPlugin", "parseIntentPlugin", "parseMetadataResolverPlugin", "parseSettingsPlugin", "resolvePlugin", "Timer", "Devtools", "invariant", "parseClientPlugin", "createExtension", "Graph", "toSignal", "memoizeQuery", "SpaceAction", "CollectionType", "create", "getTypename", "isEchoObject", "isSpace", "parseId", "SpaceState", "Main", "baseSurface", "bottombarBlockPaddingEnd", "fixedInsetFlexLayout", "topbarBlockPaddingStart", "lazy", "React", "SyntaxHighlighter", "DebugObjectPanel", "object", "div", "className", "SyntaxHighlighter", "classNames", "language", "JSON", "stringify", "Gift", "DownloadSimple", "FirstAidKit", "React", "useEffect", "useState", "parseFileManagerPlugin", "useResolvePlugin", "defs", "SaveConfig", "Storage", "log", "useClient", "useTranslation", "Button", "Toast", "Input", "useFileDownload", "Select", "DeprecatedFormInput", "getSize", "mx", "setDeep", "StorageAdapters", "opfs", "defs", "Runtime", "Client", "Storage", "StorageDriver", "WEBFS", "idb", "IDB", "DebugSettings", "settings", "t", "useTranslation", "DEBUG_PLUGIN", "toast", "setToast", "useState", "client", "useClient", "download", "useFileDownload", "storageConfig", "setStorageConfig", "fileManagerPlugin", "useResolvePlugin", "parseFileManagerPlugin", "useEffect", "then", "config", "handleToast", "setTimeout", "undefined", "clearTimeout", "handleDownload", "data", "diagnostics", "file", "Blob", "JSON", "stringify", "type", "fileName", "Date", "toISOString", "replace", "provides", "upload", "info", "File", "spaces", "default", "log", "error", "title", "description", "url", "values", "runtime", "services", "ipfs", "gateway", "cid", "navigator", "clipboard", "writeText", "handleRepair", "repair", "err", "message", "React", "DeprecatedFormInput", "label", "Input", "Switch", "checked", "debug", "onCheckedChange", "devtools", "wireframe", "Button", "onClick", "DownloadSimple", "className", "getSize", "FirstAidKit", "Toast", "Root", "Body", "Title", "Gift", "mx", "weight", "span", "Description", "Select", "value", "Object", "entries", "find", "name", "storage", "dataStore", "onValueChange", "confirm", "updateConfig", "TriggerButton", "placeholder", "Portal", "Content", "Viewport", "keys", "map", "key", "Option", "setConfig", "path", "storageConfigCopy", "parse", "setDeep", "queueMicrotask", "SaveConfig", "React", "useEffect", "useRef", "useState", "firstIdInPart", "parseGraphPlugin", "parseNavigationPlugin", "useResolvePlugin", "TimeoutError", "StatsPanel", "useStats", "log", "getActiveSpace", "StatusBar", "ConnectionState", "useNetworkStatus", "Icon", "mx", "styles", "success", "warning", "error", "ErrorIndicator", "forceUpdate", "useState", "errorRef", "useRef", "useEffect", "errorListener", "event", "error", "reason", "current", "log", "window", "addEventListener", "removeEventListener", "handleReset", "undefined", "React", "StatusBar", "Button", "title", "message", "onClick", "Icon", "icon", "size", "classNames", "styles", "Item", "SwarmIndicator", "state", "setState", "swarm", "useNetworkStatus", "ConnectionState", "ONLINE", "warning", "SavingIndicator", "_setState", "navigationPlugin", "useResolvePlugin", "parseNavigationPlugin", "graphPlugin", "parseGraphPlugin", "location", "provides", "graph", "_space", "getActiveSpace", "firstIdInPart", "active", "success", "PerformanceIndicator", "visible", "setVisible", "stats", "refreshStats", "useStats", "div", "className", "mx", "StatsPanel", "onRefresh", "indicators", "DebugStatus", "map", "Indicator", "key", "name", "React", "useResizeDetector", "fullyQualifiedId", "useAttendableAttributes", "SyntaxHighlighter", "mx", "Wireframe", "classNames", "label", "object", "attendableAttrs", "useAttendableAttributes", "fullyQualifiedId", "width", "height", "ref", "useResizeDetector", "React", "div", "className", "mx", "SyntaxHighlighter", "language", "JSON", "stringify", "undefined", "svg", "rect", "x", "y", "strokeWidth", "fill", "line", "x1", "y1", "x2", "y2", "DebugApp", "lazy", "DebugSpace", "SpaceGenerator", "DEBUG_PLUGIN", "DebugPlugin", "definePlugin", "context", "settings", "create", "debug", "devtools", "meta", "ready", "plugins", "init", "resolvePlugin", "parseSettingsPlugin", "provides", "settingsStore", "createStore", "schema", "DebugSettingsSchema", "prefix", "DEBUG_PLUGIN", "value", "composer", "window", "changeStorageVersionInMetadata", "version", "createStorageObjects", "client", "dxos", "config", "destroy", "storage", "values", "runtime", "location", "pathname", "unload", "dispose", "translations", "complementary", "panels", "id", "label", "ns", "icon", "children", "timer", "setTimer", "useState", "useEffect", "state", "on", "undefined", "stop", "React", "DebugContext", "Provider", "running", "start", "cb", "options", "Timer", "graph", "builder", "clientPlugin", "parseClientPlugin", "metadataPlugin", "parseMetadataResolverPlugin", "graphPlugin", "parseGraphPlugin", "resolve", "metadata", "resolver", "invariant", "createExtension", "filter", "node", "connector", "data", "type", "properties", "isSpace", "space", "toSignal", "onChange", "subscribe", "unsubscribe", "get", "SpaceState", "SPACE_READY", "collection", "CollectionType", "typename", "endsWith", "subjectId", "split", "spaceId", "objectId", "parseId", "spaces", "find", "name", "showResolvedThreads", "object", "memoizeQuery", "getTypename", "placeholder", "intent", "action", "DebugAction", "OPEN_DEVTOOLS", "getPlugin", "vaultUrl", "remoteSource", "devtoolsUrl", "fetch", "isDev", "href", "includes", "open", "surface", "component", "role", "plugin", "DebugSettings", "DebugStatus", "isEchoObject", "subject", "DebugObjectPanel", "primary", "active", "Devtools", "handleCreateObject", "objects", "parseIntentPlugin", "dispatch", "map", "SpaceAction", "ADD_OBJECT", "target", "deprecated", "DebugSpace", "onAddObjects", "SpaceGenerator", "onCreateObjects", "Graph", "DebugApp", "wireframe", "isCollection", "Wireframe", "classNames", "disposition", "Main", "Content", "baseSurface", "fixedInsetFlexLayout", "topbarBlockPaddingStart", "bottombarBlockPaddingEnd", "DebugPlugin"]
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"packages/plugins/plugin-debug/src/components/DebugObjectPanel.tsx":{"bytes":2156,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-syntax-highlighter","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/meta.ts":{"bytes":1491,"imports":[],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugSettings.tsx":{"bytes":22584,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/config","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-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugStatus.tsx":{"bytes":23325,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/devtools","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-status-bar","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","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-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/components/Wireframe.tsx":{"bytes":6379,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-syntax-highlighter","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugApp/Tree.tsx":{"bytes":10017,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-syntax-highlighter","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/components/Container.tsx":{"bytes":1751,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugApp/DebugApp.tsx":{"bytes":10681,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","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/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/src/components/DebugApp/Tree.tsx","kind":"import-statement","original":"./Tree"},{"path":"packages/plugins/plugin-debug/src/components/Container.tsx","kind":"import-statement","original":"../Container"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugApp/index.ts":{"bytes":661,"imports":[{"path":"packages/plugins/plugin-debug/src/components/DebugApp/DebugApp.tsx","kind":"import-statement","original":"./DebugApp"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugSpace/ObjectCreator.tsx":{"bytes":11994,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-generator","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-table/deprecated","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/types.ts":{"bytes":3705,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugSpace/DebugSpace.tsx":{"bytes":22698,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-generator","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/invitations","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/src/components/DebugSpace/ObjectCreator.tsx","kind":"import-statement","original":"./ObjectCreator"},{"path":"packages/plugins/plugin-debug/src/types.ts","kind":"import-statement","original":"../../types"},{"path":"packages/plugins/plugin-debug/src/components/Container.tsx","kind":"import-statement","original":"../Container"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugSpace/index.ts":{"bytes":681,"imports":[{"path":"packages/plugins/plugin-debug/src/components/DebugSpace/DebugSpace.tsx","kind":"import-statement","original":"./DebugSpace"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/SpaceGenerator/ObjectGenerator.tsx":{"bytes":16645,"imports":[{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sheet","kind":"import-statement","external":true},{"path":"@dxos/plugin-sheet/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sketch/types","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-table","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/schema/testing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/components/SpaceGenerator/SchemaTable.tsx":{"bytes":4311,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/components/SpaceGenerator/SpaceGenerator.tsx":{"bytes":14524,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sheet/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sketch/types","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-syntax-highlighter","kind":"import-statement","external":true},{"path":"@dxos/schema/testing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/src/components/SpaceGenerator/ObjectGenerator.tsx","kind":"import-statement","original":"./ObjectGenerator"},{"path":"packages/plugins/plugin-debug/src/components/SpaceGenerator/SchemaTable.tsx","kind":"import-statement","original":"./SchemaTable"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/SpaceGenerator/index.ts":{"bytes":721,"imports":[{"path":"packages/plugins/plugin-debug/src/components/SpaceGenerator/SpaceGenerator.tsx","kind":"import-statement","original":"./SpaceGenerator"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/index.ts":{"bytes":1651,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/src/components/DebugObjectPanel.tsx","kind":"import-statement","original":"./DebugObjectPanel"},{"path":"packages/plugins/plugin-debug/src/components/DebugSettings.tsx","kind":"import-statement","original":"./DebugSettings"},{"path":"packages/plugins/plugin-debug/src/components/DebugStatus.tsx","kind":"import-statement","original":"./DebugStatus"},{"path":"packages/plugins/plugin-debug/src/components/Wireframe.tsx","kind":"import-statement","original":"./Wireframe"},{"path":"packages/plugins/plugin-debug/src/components/DebugApp/index.ts","kind":"dynamic-import","original":"./DebugApp"},{"path":"packages/plugins/plugin-debug/src/components/DebugSpace/index.ts","kind":"dynamic-import","original":"./DebugSpace"},{"path":"packages/plugins/plugin-debug/src/components/SpaceGenerator/index.ts","kind":"dynamic-import","original":"./SpaceGenerator"}],"format":"esm"},"packages/plugins/plugin-debug/src/translations.ts":{"bytes":4484,"imports":[{"path":"packages/plugins/plugin-debug/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-debug/src/DebugPlugin.tsx":{"bytes":52859,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/devtools","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/plugin-debug/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-debug/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/plugin-debug/src/types.ts","kind":"import-statement","original":"./types"},{"path":"@dxos/echo-pipeline/testing","kind":"dynamic-import","external":true},{"path":"@dxos/client-services","kind":"dynamic-import","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/index.ts":{"bytes":769,"imports":[{"path":"packages/plugins/plugin-debug/src/DebugPlugin.tsx","kind":"import-statement","original":"./DebugPlugin"},{"path":"packages/plugins/plugin-debug/src/DebugPlugin.tsx","kind":"import-statement","original":"./DebugPlugin"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-debug/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":53752},"packages/plugins/plugin-debug/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-LZEK532R.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-CAENAAHY.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/devtools","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-syntax-highlighter","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/config","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-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/devtools","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-status-bar","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","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-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-syntax-highlighter","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/dist/lib/browser/DebugApp-HCHR6GKO.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-debug/dist/lib/browser/DebugSpace-DHKEAMIC.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-debug/dist/lib/browser/SpaceGenerator-BQ3645OS.mjs","kind":"dynamic-import"},{"path":"@dxos/echo-pipeline/testing","kind":"dynamic-import","external":true},{"path":"@dxos/client-services","kind":"dynamic-import","external":true}],"exports":["DebugPlugin","default"],"entryPoint":"packages/plugins/plugin-debug/src/index.ts","inputs":{"packages/plugins/plugin-debug/src/DebugPlugin.tsx":{"bytesInOutput":13817},"packages/plugins/plugin-debug/src/components/index.ts":{"bytesInOutput":232},"packages/plugins/plugin-debug/src/components/DebugObjectPanel.tsx":{"bytesInOutput":382},"packages/plugins/plugin-debug/src/components/DebugSettings.tsx":{"bytesInOutput":6289},"packages/plugins/plugin-debug/src/components/DebugStatus.tsx":{"bytesInOutput":5386},"packages/plugins/plugin-debug/src/components/Wireframe.tsx":{"bytesInOutput":1750},"packages/plugins/plugin-debug/src/translations.ts":{"bytesInOutput":1345},"packages/plugins/plugin-debug/src/index.ts":{"bytesInOutput":31}},"bytes":30073},"packages/plugins/plugin-debug/dist/lib/browser/meta.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-debug/dist/lib/browser/meta.mjs":{"imports":[{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-CAENAAHY.mjs","kind":"import-statement"}],"exports":["DEBUG_PLUGIN","default"],"entryPoint":"packages/plugins/plugin-debug/src/meta.ts","inputs":{},"bytes":159},"packages/plugins/plugin-debug/dist/lib/browser/DebugApp-HCHR6GKO.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":10972},"packages/plugins/plugin-debug/dist/lib/browser/DebugApp-HCHR6GKO.mjs":{"imports":[{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-GSJS3HEM.mjs","kind":"import-statement"},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","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/react-ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-syntax-highlighter","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-debug/src/components/DebugApp/index.ts","inputs":{"packages/plugins/plugin-debug/src/components/DebugApp/DebugApp.tsx":{"bytesInOutput":2971},"packages/plugins/plugin-debug/src/components/DebugApp/Tree.tsx":{"bytesInOutput":2647},"packages/plugins/plugin-debug/src/components/DebugApp/index.ts":{"bytesInOutput":33}},"bytes":6068},"packages/plugins/plugin-debug/dist/lib/browser/DebugSpace-DHKEAMIC.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":18458},"packages/plugins/plugin-debug/dist/lib/browser/DebugSpace-DHKEAMIC.mjs":{"imports":[{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-LZEK532R.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-CAENAAHY.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-GSJS3HEM.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-generator","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/invitations","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-generator","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-table/deprecated","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-debug/src/components/DebugSpace/index.ts","inputs":{"packages/plugins/plugin-debug/src/components/DebugSpace/DebugSpace.tsx":{"bytesInOutput":5986},"packages/plugins/plugin-debug/src/components/DebugSpace/ObjectCreator.tsx":{"bytesInOutput":2896},"packages/plugins/plugin-debug/src/components/DebugSpace/index.ts":{"bytesInOutput":37}},"bytes":9447},"packages/plugins/plugin-debug/dist/lib/browser/chunk-LZEK532R.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2123},"packages/plugins/plugin-debug/dist/lib/browser/chunk-LZEK532R.mjs":{"imports":[{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-CAENAAHY.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"exports":["DebugAction","DebugContext","DebugSettingsSchema"],"inputs":{"packages/plugins/plugin-debug/src/types.ts":{"bytesInOutput":557}},"bytes":769},"packages/plugins/plugin-debug/dist/lib/browser/chunk-CAENAAHY.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":711},"packages/plugins/plugin-debug/dist/lib/browser/chunk-CAENAAHY.mjs":{"imports":[],"exports":["DEBUG_PLUGIN","meta_default"],"inputs":{"packages/plugins/plugin-debug/src/meta.ts":{"bytesInOutput":288}},"bytes":421},"packages/plugins/plugin-debug/dist/lib/browser/chunk-GSJS3HEM.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":851},"packages/plugins/plugin-debug/dist/lib/browser/chunk-GSJS3HEM.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true}],"exports":["Container"],"inputs":{"packages/plugins/plugin-debug/src/components/Container.tsx":{"bytesInOutput":351}},"bytes":482},"packages/plugins/plugin-debug/dist/lib/browser/SpaceGenerator-BQ3645OS.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":18292},"packages/plugins/plugin-debug/dist/lib/browser/SpaceGenerator-BQ3645OS.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sheet/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sketch/types","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-syntax-highlighter","kind":"import-statement","external":true},{"path":"@dxos/schema/testing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sheet","kind":"import-statement","external":true},{"path":"@dxos/plugin-sheet/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sketch/types","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-table","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/schema/testing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-debug/src/components/SpaceGenerator/index.ts","inputs":{"packages/plugins/plugin-debug/src/components/SpaceGenerator/SpaceGenerator.tsx":{"bytesInOutput":3575},"packages/plugins/plugin-debug/src/components/SpaceGenerator/ObjectGenerator.tsx":{"bytesInOutput":3749},"packages/plugins/plugin-debug/src/components/SpaceGenerator/SchemaTable.tsx":{"bytesInOutput":1192},"packages/plugins/plugin-debug/src/components/SpaceGenerator/index.ts":{"bytesInOutput":45}},"bytes":9064}}}
|
|
1
|
+
{"inputs":{"packages/plugins/plugin-debug/src/components/DebugObjectPanel.tsx":{"bytes":2156,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-syntax-highlighter","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/meta.ts":{"bytes":1491,"imports":[],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugSettings.tsx":{"bytes":22584,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/config","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-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugStatus.tsx":{"bytes":23325,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/devtools","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-status-bar","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","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-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/components/Wireframe.tsx":{"bytes":6379,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-syntax-highlighter","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugApp/Tree.tsx":{"bytes":10017,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-syntax-highlighter","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/components/Container.tsx":{"bytes":1751,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugApp/DebugApp.tsx":{"bytes":10681,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","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/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/src/components/DebugApp/Tree.tsx","kind":"import-statement","original":"./Tree"},{"path":"packages/plugins/plugin-debug/src/components/Container.tsx","kind":"import-statement","original":"../Container"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugApp/index.ts":{"bytes":661,"imports":[{"path":"packages/plugins/plugin-debug/src/components/DebugApp/DebugApp.tsx","kind":"import-statement","original":"./DebugApp"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugSpace/ObjectCreator.tsx":{"bytes":11994,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-generator","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-table/deprecated","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/types.ts":{"bytes":3705,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugSpace/DebugSpace.tsx":{"bytes":22698,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-generator","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/invitations","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/src/components/DebugSpace/ObjectCreator.tsx","kind":"import-statement","original":"./ObjectCreator"},{"path":"packages/plugins/plugin-debug/src/types.ts","kind":"import-statement","original":"../../types"},{"path":"packages/plugins/plugin-debug/src/components/Container.tsx","kind":"import-statement","original":"../Container"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugSpace/index.ts":{"bytes":681,"imports":[{"path":"packages/plugins/plugin-debug/src/components/DebugSpace/DebugSpace.tsx","kind":"import-statement","original":"./DebugSpace"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/SpaceGenerator/ObjectGenerator.tsx":{"bytes":16645,"imports":[{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sheet","kind":"import-statement","external":true},{"path":"@dxos/plugin-sheet/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sketch/types","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-table","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/schema/testing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/components/SpaceGenerator/SchemaTable.tsx":{"bytes":4311,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/components/SpaceGenerator/SpaceGenerator.tsx":{"bytes":14524,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sheet/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sketch/types","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-syntax-highlighter","kind":"import-statement","external":true},{"path":"@dxos/schema/testing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/src/components/SpaceGenerator/ObjectGenerator.tsx","kind":"import-statement","original":"./ObjectGenerator"},{"path":"packages/plugins/plugin-debug/src/components/SpaceGenerator/SchemaTable.tsx","kind":"import-statement","original":"./SchemaTable"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/SpaceGenerator/index.ts":{"bytes":721,"imports":[{"path":"packages/plugins/plugin-debug/src/components/SpaceGenerator/SpaceGenerator.tsx","kind":"import-statement","original":"./SpaceGenerator"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/index.ts":{"bytes":1651,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/src/components/DebugObjectPanel.tsx","kind":"import-statement","original":"./DebugObjectPanel"},{"path":"packages/plugins/plugin-debug/src/components/DebugSettings.tsx","kind":"import-statement","original":"./DebugSettings"},{"path":"packages/plugins/plugin-debug/src/components/DebugStatus.tsx","kind":"import-statement","original":"./DebugStatus"},{"path":"packages/plugins/plugin-debug/src/components/Wireframe.tsx","kind":"import-statement","original":"./Wireframe"},{"path":"packages/plugins/plugin-debug/src/components/DebugApp/index.ts","kind":"dynamic-import","original":"./DebugApp"},{"path":"packages/plugins/plugin-debug/src/components/DebugSpace/index.ts","kind":"dynamic-import","original":"./DebugSpace"},{"path":"packages/plugins/plugin-debug/src/components/SpaceGenerator/index.ts","kind":"dynamic-import","original":"./SpaceGenerator"}],"format":"esm"},"packages/plugins/plugin-debug/src/translations.ts":{"bytes":4484,"imports":[{"path":"packages/plugins/plugin-debug/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-debug/src/DebugPlugin.tsx":{"bytes":52789,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/devtools","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/plugin-debug/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-debug/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/plugin-debug/src/types.ts","kind":"import-statement","original":"./types"},{"path":"@dxos/echo-pipeline/testing","kind":"dynamic-import","external":true},{"path":"@dxos/client-services","kind":"dynamic-import","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/index.ts":{"bytes":769,"imports":[{"path":"packages/plugins/plugin-debug/src/DebugPlugin.tsx","kind":"import-statement","original":"./DebugPlugin"},{"path":"packages/plugins/plugin-debug/src/DebugPlugin.tsx","kind":"import-statement","original":"./DebugPlugin"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-debug/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":53711},"packages/plugins/plugin-debug/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-LZEK532R.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-CAENAAHY.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/devtools","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-syntax-highlighter","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/config","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-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/devtools","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-status-bar","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","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-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-syntax-highlighter","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/dist/lib/browser/DebugApp-HCHR6GKO.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-debug/dist/lib/browser/DebugSpace-DHKEAMIC.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-debug/dist/lib/browser/SpaceGenerator-BQ3645OS.mjs","kind":"dynamic-import"},{"path":"@dxos/echo-pipeline/testing","kind":"dynamic-import","external":true},{"path":"@dxos/client-services","kind":"dynamic-import","external":true}],"exports":["DebugPlugin","default"],"entryPoint":"packages/plugins/plugin-debug/src/index.ts","inputs":{"packages/plugins/plugin-debug/src/DebugPlugin.tsx":{"bytesInOutput":13807},"packages/plugins/plugin-debug/src/components/index.ts":{"bytesInOutput":232},"packages/plugins/plugin-debug/src/components/DebugObjectPanel.tsx":{"bytesInOutput":382},"packages/plugins/plugin-debug/src/components/DebugSettings.tsx":{"bytesInOutput":6289},"packages/plugins/plugin-debug/src/components/DebugStatus.tsx":{"bytesInOutput":5386},"packages/plugins/plugin-debug/src/components/Wireframe.tsx":{"bytesInOutput":1750},"packages/plugins/plugin-debug/src/translations.ts":{"bytesInOutput":1345},"packages/plugins/plugin-debug/src/index.ts":{"bytesInOutput":31}},"bytes":30063},"packages/plugins/plugin-debug/dist/lib/browser/meta.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-debug/dist/lib/browser/meta.mjs":{"imports":[{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-CAENAAHY.mjs","kind":"import-statement"}],"exports":["DEBUG_PLUGIN","default"],"entryPoint":"packages/plugins/plugin-debug/src/meta.ts","inputs":{},"bytes":159},"packages/plugins/plugin-debug/dist/lib/browser/DebugApp-HCHR6GKO.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":10972},"packages/plugins/plugin-debug/dist/lib/browser/DebugApp-HCHR6GKO.mjs":{"imports":[{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-GSJS3HEM.mjs","kind":"import-statement"},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","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/react-ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-syntax-highlighter","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-debug/src/components/DebugApp/index.ts","inputs":{"packages/plugins/plugin-debug/src/components/DebugApp/DebugApp.tsx":{"bytesInOutput":2971},"packages/plugins/plugin-debug/src/components/DebugApp/Tree.tsx":{"bytesInOutput":2647},"packages/plugins/plugin-debug/src/components/DebugApp/index.ts":{"bytesInOutput":33}},"bytes":6068},"packages/plugins/plugin-debug/dist/lib/browser/DebugSpace-DHKEAMIC.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":18458},"packages/plugins/plugin-debug/dist/lib/browser/DebugSpace-DHKEAMIC.mjs":{"imports":[{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-LZEK532R.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-CAENAAHY.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-GSJS3HEM.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-generator","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/invitations","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-generator","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-table/deprecated","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-debug/src/components/DebugSpace/index.ts","inputs":{"packages/plugins/plugin-debug/src/components/DebugSpace/DebugSpace.tsx":{"bytesInOutput":5986},"packages/plugins/plugin-debug/src/components/DebugSpace/ObjectCreator.tsx":{"bytesInOutput":2896},"packages/plugins/plugin-debug/src/components/DebugSpace/index.ts":{"bytesInOutput":37}},"bytes":9447},"packages/plugins/plugin-debug/dist/lib/browser/chunk-LZEK532R.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2123},"packages/plugins/plugin-debug/dist/lib/browser/chunk-LZEK532R.mjs":{"imports":[{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-CAENAAHY.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"exports":["DebugAction","DebugContext","DebugSettingsSchema"],"inputs":{"packages/plugins/plugin-debug/src/types.ts":{"bytesInOutput":557}},"bytes":769},"packages/plugins/plugin-debug/dist/lib/browser/chunk-CAENAAHY.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":711},"packages/plugins/plugin-debug/dist/lib/browser/chunk-CAENAAHY.mjs":{"imports":[],"exports":["DEBUG_PLUGIN","meta_default"],"inputs":{"packages/plugins/plugin-debug/src/meta.ts":{"bytesInOutput":288}},"bytes":421},"packages/plugins/plugin-debug/dist/lib/browser/chunk-GSJS3HEM.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":851},"packages/plugins/plugin-debug/dist/lib/browser/chunk-GSJS3HEM.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true}],"exports":["Container"],"inputs":{"packages/plugins/plugin-debug/src/components/Container.tsx":{"bytesInOutput":351}},"bytes":482},"packages/plugins/plugin-debug/dist/lib/browser/SpaceGenerator-BQ3645OS.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":18292},"packages/plugins/plugin-debug/dist/lib/browser/SpaceGenerator-BQ3645OS.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sheet/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sketch/types","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-syntax-highlighter","kind":"import-statement","external":true},{"path":"@dxos/schema/testing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sheet","kind":"import-statement","external":true},{"path":"@dxos/plugin-sheet/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sketch/types","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-table","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/schema/testing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-debug/src/components/SpaceGenerator/index.ts","inputs":{"packages/plugins/plugin-debug/src/components/SpaceGenerator/SpaceGenerator.tsx":{"bytesInOutput":3575},"packages/plugins/plugin-debug/src/components/SpaceGenerator/ObjectGenerator.tsx":{"bytesInOutput":3749},"packages/plugins/plugin-debug/src/components/SpaceGenerator/SchemaTable.tsx":{"bytesInOutput":1192},"packages/plugins/plugin-debug/src/components/SpaceGenerator/index.ts":{"bytesInOutput":45}},"bytes":9064}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DebugPlugin.d.ts","sourceRoot":"","sources":["../../../src/DebugPlugin.tsx"],"names":[],"mappings":"AAmDA,OAAO,EAGL,KAAK,mBAAmB,EAGzB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"DebugPlugin.d.ts","sourceRoot":"","sources":["../../../src/DebugPlugin.tsx"],"names":[],"mappings":"AAmDA,OAAO,EAGL,KAAK,mBAAmB,EAGzB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,WAAW,2EAyUtB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/plugin-debug",
|
|
3
|
-
"version": "0.7.4-staging.
|
|
3
|
+
"version": "0.7.4-staging.f7e8224",
|
|
4
4
|
"description": "DXOS Surface plugin for testing.",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -40,40 +40,40 @@
|
|
|
40
40
|
"react-json-tree": "^0.18.0",
|
|
41
41
|
"react-resize-detector": "^11.0.1",
|
|
42
42
|
"workerize-loader": "^2.0.2",
|
|
43
|
-
"@dxos/app-framework": "0.7.4-staging.
|
|
44
|
-
"@dxos/
|
|
45
|
-
"@dxos/
|
|
46
|
-
"@dxos/client-services": "0.7.4-staging.
|
|
47
|
-
"@dxos/config": "0.7.4-staging.
|
|
48
|
-
"@dxos/
|
|
49
|
-
"@dxos/echo-
|
|
50
|
-
"@dxos/
|
|
51
|
-
"@dxos/echo-
|
|
52
|
-
"@dxos/
|
|
53
|
-
"@dxos/
|
|
54
|
-
"@dxos/
|
|
55
|
-
"@dxos/
|
|
56
|
-
"@dxos/
|
|
57
|
-
"@dxos/plugin-
|
|
58
|
-
"@dxos/plugin-
|
|
59
|
-
"@dxos/plugin-
|
|
60
|
-
"@dxos/
|
|
61
|
-
"@dxos/plugin-
|
|
62
|
-
"@dxos/plugin-
|
|
63
|
-
"@dxos/plugin-
|
|
64
|
-
"@dxos/plugin-
|
|
65
|
-
"@dxos/
|
|
66
|
-
"@dxos/
|
|
67
|
-
"@dxos/
|
|
68
|
-
"@dxos/
|
|
69
|
-
"@dxos/react-ui-
|
|
70
|
-
"@dxos/react-hooks": "0.7.4-staging.
|
|
71
|
-
"@dxos/react-ui-
|
|
72
|
-
"@dxos/
|
|
73
|
-
"@dxos/
|
|
74
|
-
"@dxos/
|
|
75
|
-
"@dxos/
|
|
76
|
-
"@dxos/
|
|
43
|
+
"@dxos/app-framework": "0.7.4-staging.f7e8224",
|
|
44
|
+
"@dxos/async": "0.7.4-staging.f7e8224",
|
|
45
|
+
"@dxos/automerge": "0.7.4-staging.f7e8224",
|
|
46
|
+
"@dxos/client-services": "0.7.4-staging.f7e8224",
|
|
47
|
+
"@dxos/config": "0.7.4-staging.f7e8224",
|
|
48
|
+
"@dxos/echo-pipeline": "0.7.4-staging.f7e8224",
|
|
49
|
+
"@dxos/echo-generator": "0.7.4-staging.f7e8224",
|
|
50
|
+
"@dxos/devtools": "0.7.4-staging.f7e8224",
|
|
51
|
+
"@dxos/echo-schema": "0.7.4-staging.f7e8224",
|
|
52
|
+
"@dxos/invariant": "0.7.4-staging.f7e8224",
|
|
53
|
+
"@dxos/keys": "0.7.4-staging.f7e8224",
|
|
54
|
+
"@dxos/live-object": "0.7.4-staging.f7e8224",
|
|
55
|
+
"@dxos/local-storage": "0.7.4-staging.f7e8224",
|
|
56
|
+
"@dxos/plugin-client": "0.7.4-staging.f7e8224",
|
|
57
|
+
"@dxos/plugin-deck": "0.7.4-staging.f7e8224",
|
|
58
|
+
"@dxos/plugin-sheet": "0.7.4-staging.f7e8224",
|
|
59
|
+
"@dxos/plugin-graph": "0.7.4-staging.f7e8224",
|
|
60
|
+
"@dxos/log": "0.7.4-staging.f7e8224",
|
|
61
|
+
"@dxos/plugin-sketch": "0.7.4-staging.f7e8224",
|
|
62
|
+
"@dxos/plugin-markdown": "0.7.4-staging.f7e8224",
|
|
63
|
+
"@dxos/plugin-status-bar": "0.7.4-staging.f7e8224",
|
|
64
|
+
"@dxos/plugin-table": "0.7.4-staging.f7e8224",
|
|
65
|
+
"@dxos/protocols": "0.7.4-staging.f7e8224",
|
|
66
|
+
"@dxos/plugin-theme": "0.7.4-staging.f7e8224",
|
|
67
|
+
"@dxos/random": "0.7.4-staging.f7e8224",
|
|
68
|
+
"@dxos/react-client": "0.7.4-staging.f7e8224",
|
|
69
|
+
"@dxos/react-ui-form": "0.7.4-staging.f7e8224",
|
|
70
|
+
"@dxos/react-hooks": "0.7.4-staging.f7e8224",
|
|
71
|
+
"@dxos/react-ui-attention": "0.7.4-staging.f7e8224",
|
|
72
|
+
"@dxos/react-ui-syntax-highlighter": "0.7.4-staging.f7e8224",
|
|
73
|
+
"@dxos/schema": "0.7.4-staging.f7e8224",
|
|
74
|
+
"@dxos/react-ui-table": "0.7.4-staging.f7e8224",
|
|
75
|
+
"@dxos/util": "0.7.4-staging.f7e8224",
|
|
76
|
+
"@dxos/plugin-space": "0.7.4-staging.f7e8224"
|
|
77
77
|
},
|
|
78
78
|
"devDependencies": {
|
|
79
79
|
"@phosphor-icons/react": "^2.1.5",
|
|
@@ -83,17 +83,17 @@
|
|
|
83
83
|
"react": "~18.2.0",
|
|
84
84
|
"react-dom": "~18.2.0",
|
|
85
85
|
"vite": "5.4.7",
|
|
86
|
-
"@dxos/react-ui
|
|
87
|
-
"@dxos/
|
|
88
|
-
"@dxos/
|
|
86
|
+
"@dxos/react-ui": "0.7.4-staging.f7e8224",
|
|
87
|
+
"@dxos/storybook-utils": "0.7.4-staging.f7e8224",
|
|
88
|
+
"@dxos/react-ui-theme": "0.7.4-staging.f7e8224"
|
|
89
89
|
},
|
|
90
90
|
"peerDependencies": {
|
|
91
91
|
"@phosphor-icons/react": "^2.1.5",
|
|
92
92
|
"react": "~18.2.0",
|
|
93
93
|
"react-dom": "~18.2.0",
|
|
94
|
-
"@dxos/react-ui": "0.7.4-staging.
|
|
95
|
-
"@dxos/
|
|
96
|
-
"@dxos/
|
|
94
|
+
"@dxos/react-ui": "0.7.4-staging.f7e8224",
|
|
95
|
+
"@dxos/random": "0.7.4-staging.f7e8224",
|
|
96
|
+
"@dxos/react-ui-theme": "0.7.4-staging.f7e8224"
|
|
97
97
|
},
|
|
98
98
|
"publishConfig": {
|
|
99
99
|
"access": "public"
|
package/src/DebugPlugin.tsx
CHANGED
|
@@ -173,7 +173,6 @@ export const DebugPlugin = definePlugin<DebugPluginProvides>((context) => {
|
|
|
173
173
|
const state = toSignal(
|
|
174
174
|
(onChange) => space.state.subscribe(() => onChange()).unsubscribe,
|
|
175
175
|
() => space.state.get(),
|
|
176
|
-
space.id,
|
|
177
176
|
);
|
|
178
177
|
if (state !== SpaceState.SPACE_READY) {
|
|
179
178
|
return;
|