@dxos/app-framework 0.12.0-next-73daef452f1464b62efdbca75fb0067c1066f264 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +437 -22
- package/bin/dx-plugin.mjs +1 -1
- package/dist/lib/App.mjs +2 -0
- package/dist/lib/Hooks.mjs +2 -0
- package/dist/lib/PluginManagerProvider.mjs +21 -0
- package/dist/lib/PluginManagerProvider.mjs.map +1 -0
- package/dist/lib/Surface.mjs +3 -0
- package/dist/lib/chunk-ProcessManagerPlugin.mjs +92 -0
- package/dist/lib/chunk-ProcessManagerPlugin.mjs.map +1 -0
- package/dist/lib/chunk-Surface.mjs +136 -0
- package/dist/lib/chunk-Surface.mjs.map +1 -0
- package/dist/lib/chunk-SurfaceManager.mjs +146 -166
- package/dist/lib/chunk-SurfaceManager.mjs.map +1 -1
- package/dist/lib/chunk-Translations.mjs +19 -0
- package/dist/lib/chunk-Translations.mjs.map +1 -0
- package/dist/lib/chunk-capability.mjs +7 -7
- package/dist/lib/chunk-capability.mjs.map +1 -1
- package/dist/lib/chunk-capability2.mjs +4 -4
- package/dist/lib/chunk-capability2.mjs.map +1 -1
- package/dist/lib/chunk-context.mjs.map +1 -1
- package/dist/lib/chunk-helpers.mjs +20 -0
- package/dist/lib/chunk-helpers.mjs.map +1 -0
- package/dist/lib/chunk-history-tracker.mjs +6 -3
- package/dist/lib/chunk-history-tracker.mjs.map +1 -1
- package/dist/lib/{chunk-ui.mjs → chunk-hooks.mjs} +295 -311
- package/dist/lib/chunk-hooks.mjs.map +1 -0
- package/dist/lib/chunk-plugin-manager.mjs +14 -13
- package/dist/lib/chunk-plugin-manager.mjs.map +1 -1
- package/dist/lib/chunk-process-manager-capability.mjs +107 -80
- package/dist/lib/chunk-process-manager-capability.mjs.map +1 -1
- package/dist/lib/chunk-registry.mjs +214 -0
- package/dist/lib/chunk-registry.mjs.map +1 -0
- package/dist/lib/cli.mjs +2 -2
- package/dist/lib/cli.mjs.map +1 -1
- package/dist/lib/common/activation-events.mjs +10 -1
- package/dist/lib/common/activation-events.mjs.map +1 -1
- package/dist/lib/common/capabilities.mjs +13 -6
- package/dist/lib/common/capabilities.mjs.map +1 -1
- package/dist/lib/core/activation-event.mjs +1 -1
- package/dist/lib/core/capability-manager.mjs +3 -3
- package/dist/lib/core/capability-manager.mjs.map +1 -1
- package/dist/lib/core/capability.mjs +2 -2
- package/dist/lib/core/plugin-manager.mjs +9 -1
- package/dist/lib/core/plugin-manager.mjs.map +1 -1
- package/dist/lib/core/plugin-manifest.mjs +8 -8
- package/dist/lib/core/plugin-manifest.mjs.map +1 -1
- package/dist/lib/core/plugin.mjs +13 -2
- package/dist/lib/core/plugin.mjs.map +1 -1
- package/dist/lib/core/registry.mjs +2 -80
- package/dist/lib/core/url-loader.mjs +27 -8
- package/dist/lib/core/url-loader.mjs.map +1 -1
- package/dist/lib/index.mjs +18 -129
- package/dist/lib/ns/App.mjs +11 -0
- package/dist/lib/ns/App.mjs.map +1 -0
- package/dist/lib/ns/Cli.mjs +8 -0
- package/dist/lib/ns/Cli.mjs.map +1 -0
- package/dist/lib/{chunk-devtools.mjs → ns/Devtools.mjs} +10 -8
- package/dist/lib/ns/Devtools.mjs.map +1 -0
- package/dist/lib/ns/Hooks.mjs +35 -0
- package/dist/lib/ns/Hooks.mjs.map +1 -0
- package/dist/lib/ns/PluginManagerProvider.mjs +12 -0
- package/dist/lib/ns/PluginManagerProvider.mjs.map +1 -0
- package/dist/lib/ns/SharedPackages.mjs +11 -0
- package/dist/lib/ns/SharedPackages.mjs.map +1 -0
- package/dist/lib/ns/Surface.mjs +37 -0
- package/dist/lib/ns/Surface.mjs.map +1 -0
- package/dist/lib/ns/Translations.mjs +2 -0
- package/dist/lib/plugin-cli.mjs +610 -0
- package/dist/lib/plugin-cli.mjs.map +1 -0
- package/dist/lib/plugin-process-manager/ProcessManagerPlugin.mjs +2 -0
- package/dist/lib/plugin-process-manager/history/history-tracker.mjs +2 -2
- package/dist/lib/plugin-process-manager/history/undo-registry.mjs.map +1 -1
- package/dist/lib/testing/react.mjs +5 -3
- package/dist/lib/testing/react.mjs.map +1 -1
- package/dist/lib/testing.mjs +67 -78
- package/dist/lib/testing.mjs.map +1 -1
- package/dist/lib/vite-plugin/packages.mjs +0 -4
- package/dist/lib/vite-plugin/packages.mjs.map +1 -1
- package/dist/lib/vite-plugin.mjs +64 -30
- package/dist/lib/vite-plugin.mjs.map +1 -1
- package/dist/types/src/App.d.ts +3 -0
- package/dist/types/src/App.d.ts.map +1 -0
- package/dist/types/src/Cli.d.ts +2 -0
- package/dist/types/src/Cli.d.ts.map +1 -0
- package/dist/types/src/{devtools.d.ts → Devtools.d.ts} +5 -4
- package/dist/types/src/Devtools.d.ts.map +1 -0
- package/dist/types/src/Hooks.d.ts +2 -0
- package/dist/types/src/Hooks.d.ts.map +1 -0
- package/dist/types/src/PluginManagerProvider.d.ts +2 -0
- package/dist/types/src/PluginManagerProvider.d.ts.map +1 -0
- package/dist/types/src/SharedPackages.d.ts +2 -0
- package/dist/types/src/SharedPackages.d.ts.map +1 -0
- package/dist/types/src/Surface.d.ts +4 -0
- package/dist/types/src/Surface.d.ts.map +1 -0
- package/dist/types/src/Translations.d.ts +2 -0
- package/dist/types/src/Translations.d.ts.map +1 -0
- package/dist/types/src/cli/cli.d.ts +2 -2
- package/dist/types/src/cli/cli.d.ts.map +1 -1
- package/dist/types/src/cli/index.d.ts +1 -1
- package/dist/types/src/cli/index.d.ts.map +1 -1
- package/dist/types/src/common/activation-events.d.ts +9 -1
- package/dist/types/src/common/activation-events.d.ts.map +1 -1
- package/dist/types/src/common/capabilities.d.ts +27 -21
- package/dist/types/src/common/capabilities.d.ts.map +1 -1
- package/dist/types/src/common/index.d.ts +3 -4
- package/dist/types/src/common/index.d.ts.map +1 -1
- package/dist/types/src/context.d.ts +1 -1
- package/dist/types/src/context.d.ts.map +1 -1
- package/dist/types/src/core/capability-manager.d.ts +2 -2
- package/dist/types/src/core/capability-manager.d.ts.map +1 -1
- package/dist/types/src/core/capability.d.ts +25 -20
- package/dist/types/src/core/capability.d.ts.map +1 -1
- package/dist/types/src/core/edge-registry-plugin-provider.d.ts +45 -4
- package/dist/types/src/core/edge-registry-plugin-provider.d.ts.map +1 -1
- package/dist/types/src/core/edge-registry-plugin-provider.test.d.ts +2 -0
- package/dist/types/src/core/edge-registry-plugin-provider.test.d.ts.map +1 -0
- package/dist/types/src/core/index.d.ts +9 -12
- package/dist/types/src/core/index.d.ts.map +1 -1
- package/dist/types/src/core/plugin-manager/activation-graph.d.ts +2 -2
- package/dist/types/src/core/plugin-manager/activation-graph.d.ts.map +1 -1
- package/dist/types/src/core/plugin-manager/activation-scheduler.d.ts +5 -5
- package/dist/types/src/core/plugin-manager/activation-scheduler.d.ts.map +1 -1
- package/dist/types/src/core/plugin-manager/errors.d.ts +33 -0
- package/dist/types/src/core/plugin-manager/errors.d.ts.map +1 -0
- package/dist/types/src/core/plugin-manager/index.d.ts +3 -1
- package/dist/types/src/core/plugin-manager/index.d.ts.map +1 -1
- package/dist/types/src/core/plugin-manager/manager-state.d.ts +4 -4
- package/dist/types/src/core/plugin-manager/manager-state.d.ts.map +1 -1
- package/dist/types/src/core/plugin-manager/module-loader.d.ts +4 -4
- package/dist/types/src/core/plugin-manager/module-loader.d.ts.map +1 -1
- package/dist/types/src/core/plugin-manager/plugin-catalog.d.ts +4 -4
- package/dist/types/src/core/plugin-manager/plugin-catalog.d.ts.map +1 -1
- package/dist/types/src/core/plugin-manager/plugin-manager.d.ts +17 -9
- package/dist/types/src/core/plugin-manager/plugin-manager.d.ts.map +1 -1
- package/dist/types/src/core/plugin-manifest.d.ts +2 -2
- package/dist/types/src/core/plugin-manifest.d.ts.map +1 -1
- package/dist/types/src/core/plugin.d.ts +4 -4
- package/dist/types/src/core/plugin.d.ts.map +1 -1
- package/dist/types/src/core/registry.d.ts +25 -10
- package/dist/types/src/core/registry.d.ts.map +1 -1
- package/dist/types/src/core/registry.test.d.ts +2 -0
- package/dist/types/src/core/registry.test.d.ts.map +1 -0
- package/dist/types/src/core/url-loader.d.ts +7 -2
- package/dist/types/src/core/url-loader.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +11 -6
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/plugin-cli/barrel.d.ts +1 -1
- package/dist/types/src/plugin-cli/barrel.d.ts.map +1 -1
- package/dist/types/src/plugin-cli/generate.d.ts +0 -4
- package/dist/types/src/plugin-cli/generate.d.ts.map +1 -1
- package/dist/types/src/plugin-cli/ts-util.d.ts.map +1 -1
- package/dist/types/src/plugin-process-manager/ProcessManagerPlugin.d.ts +5 -2
- package/dist/types/src/plugin-process-manager/ProcessManagerPlugin.d.ts.map +1 -1
- package/dist/types/src/plugin-process-manager/history/capability.d.ts +1 -1
- package/dist/types/src/plugin-process-manager/history/capability.d.ts.map +1 -1
- package/dist/types/src/plugin-process-manager/history/history-tracker.d.ts +4 -2
- package/dist/types/src/plugin-process-manager/history/history-tracker.d.ts.map +1 -1
- package/dist/types/src/plugin-process-manager/history/index.d.ts +3 -5
- package/dist/types/src/plugin-process-manager/history/index.d.ts.map +1 -1
- package/dist/types/src/plugin-process-manager/history/undo-registry.d.ts +1 -1
- package/dist/types/src/plugin-process-manager/history/undo-registry.d.ts.map +1 -1
- package/dist/types/src/plugin-process-manager/idb-key-value-store.d.ts +1 -1
- package/dist/types/src/plugin-process-manager/idb-key-value-store.d.ts.map +1 -1
- package/dist/types/src/plugin-process-manager/index.d.ts +2 -2
- package/dist/types/src/plugin-process-manager/index.d.ts.map +1 -1
- package/dist/types/src/plugin-process-manager/process-manager-capability.d.ts +12 -3
- package/dist/types/src/plugin-process-manager/process-manager-capability.d.ts.map +1 -1
- package/dist/types/src/testing/demand-gated.d.ts +1 -1
- package/dist/types/src/testing/demand-gated.d.ts.map +1 -1
- package/dist/types/src/testing/harness.d.ts +8 -3
- package/dist/types/src/testing/harness.d.ts.map +1 -1
- package/dist/types/src/testing/index.d.ts +6 -7
- package/dist/types/src/testing/index.d.ts.map +1 -1
- package/dist/types/src/testing/operationCapture.d.ts +2 -2
- package/dist/types/src/testing/operationCapture.d.ts.map +1 -1
- package/dist/types/src/testing/react.d.ts +2 -2
- package/dist/types/src/testing/react.d.ts.map +1 -1
- package/dist/types/src/testing/service.d.ts +1 -1
- package/dist/types/src/testing/service.d.ts.map +1 -1
- package/dist/types/src/testing/withPluginManager.d.ts +22 -2
- package/dist/types/src/testing/withPluginManager.d.ts.map +1 -1
- package/dist/types/src/testing/withPluginManager.stories.d.ts.map +1 -1
- package/dist/types/src/ui/components/App/App.d.ts +3 -3
- package/dist/types/src/ui/components/App/App.d.ts.map +1 -1
- package/dist/types/src/ui/components/App/App.stories.d.ts +1 -1
- package/dist/types/src/ui/components/App/App.stories.d.ts.map +1 -1
- package/dist/types/src/ui/components/App/index.d.ts +2 -2
- package/dist/types/src/ui/components/App/index.d.ts.map +1 -1
- package/dist/types/src/ui/components/App/loader.d.ts +7 -0
- package/dist/types/src/ui/components/App/loader.d.ts.map +1 -1
- package/dist/types/src/ui/components/PluginManager/PluginManagerProvider.d.ts +1 -1
- package/dist/types/src/ui/components/PluginManager/PluginManagerProvider.d.ts.map +1 -1
- package/dist/types/src/ui/components/PluginManager/index.d.ts +1 -1
- package/dist/types/src/ui/components/PluginManager/index.d.ts.map +1 -1
- package/dist/types/src/ui/components/Surface/Surface.d.ts +45 -0
- package/dist/types/src/ui/components/Surface/Surface.d.ts.map +1 -0
- package/dist/types/src/ui/components/Surface/SurfaceComponent.d.ts +2 -2
- package/dist/types/src/ui/components/Surface/SurfaceComponent.d.ts.map +1 -1
- package/dist/types/src/ui/components/Surface/SurfaceComponent.stories.d.ts.map +1 -1
- package/dist/types/src/ui/components/Surface/SurfaceDebug.d.ts +51 -1
- package/dist/types/src/ui/components/Surface/SurfaceDebug.d.ts.map +1 -1
- package/dist/types/src/ui/components/Surface/SurfaceManager.d.ts +3 -3
- package/dist/types/src/ui/components/Surface/SurfaceManager.d.ts.map +1 -1
- package/dist/types/src/ui/components/Surface/SurfaceManagerContext.d.ts +1 -1
- package/dist/types/src/ui/components/Surface/SurfaceManagerContext.d.ts.map +1 -1
- package/dist/types/src/ui/components/Surface/SurfaceMetrics.d.ts +3 -3
- package/dist/types/src/ui/components/Surface/SurfaceMetrics.d.ts.map +1 -1
- package/dist/types/src/ui/components/Surface/SurfaceProfilerContext.d.ts +9 -1
- package/dist/types/src/ui/components/Surface/SurfaceProfilerContext.d.ts.map +1 -1
- package/dist/types/src/ui/components/Surface/index.d.ts +5 -37
- package/dist/types/src/ui/components/Surface/index.d.ts.map +1 -1
- package/dist/types/src/ui/components/Surface/types.d.ts +3 -2
- package/dist/types/src/ui/components/Surface/types.d.ts.map +1 -1
- package/dist/types/src/ui/components/index.d.ts +3 -5
- package/dist/types/src/ui/components/index.d.ts.map +1 -1
- package/dist/types/src/ui/hooks/index.d.ts +7 -7
- package/dist/types/src/ui/hooks/index.d.ts.map +1 -1
- package/dist/types/src/ui/hooks/startup-watchdog.d.ts +34 -0
- package/dist/types/src/ui/hooks/startup-watchdog.d.ts.map +1 -0
- package/dist/types/src/ui/hooks/startup-watchdog.test.d.ts +2 -0
- package/dist/types/src/ui/hooks/startup-watchdog.test.d.ts.map +1 -0
- package/dist/types/src/ui/hooks/useActivationSignal.d.ts +1 -1
- package/dist/types/src/ui/hooks/useActivationSignal.d.ts.map +1 -1
- package/dist/types/src/ui/hooks/useApp.d.ts +100 -2
- package/dist/types/src/ui/hooks/useApp.d.ts.map +1 -1
- package/dist/types/src/ui/hooks/useCapabilities.d.ts +31 -3
- package/dist/types/src/ui/hooks/useCapabilities.d.ts.map +1 -1
- package/dist/types/src/ui/hooks/useCapabilities.test.d.ts +2 -0
- package/dist/types/src/ui/hooks/useCapabilities.test.d.ts.map +1 -0
- package/dist/types/src/ui/hooks/useProcessManagerRuntime.d.ts +7 -2
- package/dist/types/src/ui/hooks/useProcessManagerRuntime.d.ts.map +1 -1
- package/dist/types/src/ui/hooks/useProcessManagerRuntime.test.d.ts +2 -0
- package/dist/types/src/ui/hooks/useProcessManagerRuntime.test.d.ts.map +1 -0
- package/dist/types/src/ui/hooks/useSettingsState.d.ts +1 -1
- package/dist/types/src/ui/hooks/useSettingsState.d.ts.map +1 -1
- package/dist/types/src/ui/hooks/useSurface.d.ts +1 -1
- package/dist/types/src/ui/hooks/useSurface.d.ts.map +1 -1
- package/dist/types/src/ui/index.d.ts +2 -2
- package/dist/types/src/ui/index.d.ts.map +1 -1
- package/dist/types/src/vite-plugin/boot-loader/index.d.ts +1 -1
- package/dist/types/src/vite-plugin/boot-loader/index.d.ts.map +1 -1
- package/dist/types/src/vite-plugin/boot-loader/loader.d.ts +11 -1
- package/dist/types/src/vite-plugin/boot-loader/loader.d.ts.map +1 -1
- package/dist/types/src/vite-plugin/composer/index.d.ts +2 -2
- package/dist/types/src/vite-plugin/composer/index.d.ts.map +1 -1
- package/dist/types/src/vite-plugin/composer/index.test.d.ts +2 -0
- package/dist/types/src/vite-plugin/composer/index.test.d.ts.map +1 -0
- package/dist/types/src/vite-plugin/import-map/index.d.ts.map +1 -1
- package/dist/types/src/vite-plugin/index.d.ts +5 -5
- package/dist/types/src/vite-plugin/index.d.ts.map +1 -1
- package/dist/types/src/vite-plugin/load.d.ts +6 -5
- package/dist/types/src/vite-plugin/load.d.ts.map +1 -1
- package/dist/types/src/vite-plugin/manifest.d.ts +1 -1
- package/dist/types/src/vite-plugin/manifest.d.ts.map +1 -1
- package/dist/types/src/vite-plugin/packages.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/{API.md → docs/API.md} +11 -12
- package/docs/INTROSPECTION.md +139 -0
- package/docs/REGISTRY-PUBLISH.md +315 -0
- package/docs/{registry-spec.md → REGISTRY.md} +2 -0
- package/moon.yml +10 -39
- package/package.json +95 -65
- package/src/App.ts +8 -0
- package/src/Cli.ts +7 -0
- package/src/{devtools.ts → Devtools.ts} +11 -7
- package/src/Hooks.ts +7 -0
- package/src/PluginManagerProvider.ts +11 -0
- package/src/SharedPackages.ts +7 -0
- package/src/Surface.ts +16 -0
- package/src/Translations.ts +7 -0
- package/src/cli/cli.ts +3 -3
- package/src/cli/index.ts +1 -1
- package/src/common/Role.test.ts +1 -1
- package/src/common/activation-events.ts +10 -1
- package/src/common/capabilities.test.ts +5 -5
- package/src/common/capabilities.ts +32 -24
- package/src/common/index.ts +3 -4
- package/src/context.ts +1 -1
- package/src/core/capability-manager.test.ts +4 -4
- package/src/core/capability-manager.ts +6 -6
- package/src/core/capability.test.ts +3 -3
- package/src/core/capability.ts +26 -19
- package/src/core/capability.tst.ts +2 -1
- package/src/core/edge-registry-plugin-provider.test.ts +43 -0
- package/src/core/edge-registry-plugin-provider.ts +52 -18
- package/src/core/index.ts +9 -12
- package/src/core/plugin-manager/activation-graph.test.ts +3 -3
- package/src/core/plugin-manager/activation-graph.ts +2 -2
- package/src/core/plugin-manager/activation-scheduler.ts +11 -11
- package/src/core/plugin-manager/errors.ts +8 -0
- package/src/core/plugin-manager/index.ts +9 -1
- package/src/core/plugin-manager/manager-state.ts +5 -5
- package/src/core/plugin-manager/module-loader.ts +10 -10
- package/src/core/plugin-manager/plugin-catalog.ts +6 -6
- package/src/core/plugin-manager/plugin-manager.test.ts +64 -17
- package/src/core/plugin-manager/plugin-manager.ts +32 -16
- package/src/core/plugin-manifest.test.ts +1 -1
- package/src/core/plugin-manifest.ts +6 -6
- package/src/core/plugin.test.ts +20 -6
- package/src/core/plugin.ts +10 -4
- package/src/core/registry.test.ts +108 -0
- package/src/core/registry.ts +99 -33
- package/src/core/url-loader.test.ts +46 -4
- package/src/core/url-loader.ts +17 -3
- package/src/helpers.test.ts +1 -1
- package/src/index.ts +11 -6
- package/src/plugin-cli/barrel.ts +2 -2
- package/src/plugin-cli/generate.test.ts +130 -4
- package/src/plugin-cli/generate.ts +27 -50
- package/src/plugin-cli/main.ts +9 -3
- package/src/plugin-cli/maker-defaults.ts +1 -1
- package/src/plugin-cli/ts-util.ts +9 -3
- package/src/plugin-process-manager/ProcessManagerPlugin.ts +13 -7
- package/src/plugin-process-manager/history/capability.ts +4 -4
- package/src/plugin-process-manager/history/history-tracker.test.ts +4 -4
- package/src/plugin-process-manager/history/history-tracker.ts +9 -6
- package/src/plugin-process-manager/history/index.ts +3 -5
- package/src/plugin-process-manager/history/undo-registry.test.ts +3 -3
- package/src/plugin-process-manager/history/undo-registry.ts +1 -1
- package/src/plugin-process-manager/idb-key-value-store.ts +1 -1
- package/src/plugin-process-manager/index.ts +4 -2
- package/src/plugin-process-manager/meta.ts +1 -1
- package/src/plugin-process-manager/process-manager-capability.test.ts +253 -37
- package/src/plugin-process-manager/process-manager-capability.ts +151 -61
- package/src/testing/demand-gated.ts +2 -2
- package/src/testing/harness.ts +18 -8
- package/src/testing/index.ts +6 -7
- package/src/testing/operationCapture.ts +2 -2
- package/src/testing/react.test.tsx +6 -6
- package/src/testing/react.tsx +9 -9
- package/src/testing/service.ts +2 -2
- package/src/testing/withPluginManager.stories.tsx +12 -10
- package/src/testing/withPluginManager.tsx +86 -51
- package/src/testing/withSurfaceDebug.tsx +1 -1
- package/src/ui/components/App/App.stories.tsx +3 -3
- package/src/ui/components/App/App.tsx +56 -18
- package/src/ui/components/App/index.ts +2 -2
- package/src/ui/components/App/loader.ts +4 -0
- package/src/ui/components/PluginManager/PluginManagerContext.stories.tsx +5 -5
- package/src/ui/components/PluginManager/PluginManagerProvider.ts +1 -1
- package/src/ui/components/PluginManager/index.ts +1 -1
- package/src/ui/components/Surface/DESIGN.md +12 -6
- package/src/ui/components/Surface/Surface.ts +84 -0
- package/src/ui/components/Surface/SurfaceComponent.stories.tsx +26 -22
- package/src/ui/components/Surface/SurfaceComponent.test.tsx +108 -11
- package/src/ui/components/Surface/SurfaceComponent.tsx +27 -27
- package/src/ui/components/Surface/SurfaceDebug.tsx +120 -92
- package/src/ui/components/Surface/SurfaceManager.ts +5 -5
- package/src/ui/components/Surface/SurfaceManagerContext.ts +1 -1
- package/src/ui/components/Surface/SurfaceMetrics.ts +5 -26
- package/src/ui/components/Surface/SurfaceProfilerContext.tsx +62 -31
- package/src/ui/components/Surface/index.ts +5 -62
- package/src/ui/components/Surface/types.test.ts +5 -5
- package/src/ui/components/Surface/types.ts +3 -2
- package/src/ui/components/index.ts +3 -5
- package/src/ui/hooks/index.ts +7 -7
- package/src/ui/hooks/startup-watchdog.test.ts +61 -0
- package/src/ui/hooks/startup-watchdog.ts +60 -0
- package/src/ui/hooks/useActivationSignal.ts +3 -3
- package/src/ui/hooks/useApp.test.tsx +129 -4
- package/src/ui/hooks/useApp.tsx +200 -60
- package/src/ui/hooks/useCapabilities.test.tsx +111 -0
- package/src/ui/hooks/useCapabilities.ts +72 -5
- package/src/ui/hooks/useProcessManagerRuntime.test.tsx +42 -0
- package/src/ui/hooks/useProcessManagerRuntime.ts +33 -20
- package/src/ui/hooks/useSettingsState.ts +1 -1
- package/src/ui/hooks/useSurface.ts +1 -1
- package/src/ui/index.ts +2 -2
- package/src/vite-plugin/boot-loader/index.ts +1 -1
- package/src/vite-plugin/boot-loader/loader-app/Loader.solid-stories.tsx +101 -14
- package/src/vite-plugin/boot-loader/loader-app/Loader.tsx +51 -4
- package/src/vite-plugin/boot-loader/loader-app/boot-loader.css +94 -1
- package/src/vite-plugin/boot-loader/loader-app/bridge.ts +4 -2
- package/src/vite-plugin/boot-loader/loader-app/entry.tsx +2 -2
- package/src/vite-plugin/boot-loader/loader-app/mount.tsx +7 -5
- package/src/vite-plugin/boot-loader/loader-app/store.test.ts +87 -1
- package/src/vite-plugin/boot-loader/loader-app/store.ts +140 -2
- package/src/vite-plugin/boot-loader/loader-app/types.ts +23 -0
- package/src/vite-plugin/boot-loader/loader-app/vite-env.d.ts +5 -0
- package/src/vite-plugin/boot-loader/loader.ts +26 -8
- package/src/vite-plugin/composer/index.test.ts +43 -0
- package/src/vite-plugin/composer/index.ts +36 -26
- package/src/vite-plugin/import-map/index.test.ts +1 -1
- package/src/vite-plugin/import-map/index.ts +17 -10
- package/src/vite-plugin/index.ts +5 -5
- package/src/vite-plugin/load.ts +17 -6
- package/src/vite-plugin/manifest.test.ts +2 -2
- package/src/vite-plugin/manifest.ts +1 -1
- package/src/vite-plugin/packages.ts +0 -4
- package/tsconfig.json +3 -3
- package/vite.config.ts +17 -1
- package/dist/lib/chunk-devtools.mjs.map +0 -1
- package/dist/lib/chunk-ui.mjs.map +0 -1
- package/dist/lib/core/registry.mjs.map +0 -1
- package/dist/lib/index.mjs.map +0 -1
- package/dist/lib/ui.mjs +0 -3
- package/dist/plugin/node-esm/index.mjs +0 -1364
- package/dist/plugin/node-esm/index.mjs.map +0 -7
- package/dist/plugin/node-esm/meta.json +0 -1
- package/dist/plugin-cli/node-esm/main.mjs +0 -754
- package/dist/plugin-cli/node-esm/main.mjs.map +0 -7
- package/dist/plugin-cli/node-esm/meta.json +0 -1
- package/dist/types/src/devtools.d.ts.map +0 -1
- package/dist/types/src/testing/StorybookErrorFallback.d.ts +0 -15
- package/dist/types/src/testing/StorybookErrorFallback.d.ts.map +0 -1
- package/dist/types/src/ui/components/HomeSection/HomeSection.d.ts +0 -26
- package/dist/types/src/ui/components/HomeSection/HomeSection.d.ts.map +0 -1
- package/dist/types/src/ui/components/HomeSection/HomeSection.stories.d.ts +0 -16
- package/dist/types/src/ui/components/HomeSection/HomeSection.stories.d.ts.map +0 -1
- package/dist/types/src/ui/components/HomeSection/index.d.ts +0 -2
- package/dist/types/src/ui/components/HomeSection/index.d.ts.map +0 -1
- package/dist/types/src/ui/components/NamePopover/NamePopover.d.ts +0 -14
- package/dist/types/src/ui/components/NamePopover/NamePopover.d.ts.map +0 -1
- package/dist/types/src/ui/components/NamePopover/index.d.ts +0 -2
- package/dist/types/src/ui/components/NamePopover/index.d.ts.map +0 -1
- package/src/testing/StorybookErrorFallback.tsx +0 -40
- package/src/ui/components/HomeSection/HomeSection.stories.tsx +0 -43
- package/src/ui/components/HomeSection/HomeSection.tsx +0 -69
- package/src/ui/components/HomeSection/index.ts +0 -5
- package/src/ui/components/NamePopover/NamePopover.tsx +0 -70
- package/src/ui/components/NamePopover/index.ts +0 -5
- /package/docs/{activation-sequence.md → ACTIVATION.md} +0 -0
- /package/{ARCHITECTURE.md → docs/ARCHITECTURE.md} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,121 @@
|
|
|
1
1
|
# @dxos/app-framework
|
|
2
2
|
|
|
3
|
-
## 0.
|
|
3
|
+
## 0.14.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 0715304: An app now has one process manager: the stack's `Process.ManagerService`, which the app's operation invoker, `Capabilities.ProcessManager` and `AgentService` all use. Operations the app invokes with `on: 'edge'` therefore run on EDGE instead of dying with "Remote process requested, but RemoteProcessManager offers no process control", which an agent's watches and Brain store views logged every three seconds. `@dxos/app-framework` now owns the unified-manager spec that `@dxos/plugin-routine` used to contribute, with a no-op remote manager as a fallback, and a `LayerStack` spec now outranks an ambient service of the same tag.
|
|
8
|
+
- Updated dependencies [0715304]
|
|
9
|
+
- Updated dependencies [ec6da5a]
|
|
10
|
+
- Updated dependencies [a1e64db]
|
|
11
|
+
- Updated dependencies [28bb45b]
|
|
12
|
+
- Updated dependencies [1eed6b1]
|
|
13
|
+
- Updated dependencies [6847fe2]
|
|
14
|
+
- Updated dependencies [35217f4]
|
|
15
|
+
- Updated dependencies [1819960]
|
|
16
|
+
- Updated dependencies [eb5d14d]
|
|
17
|
+
- Updated dependencies [5324de6]
|
|
18
|
+
- Updated dependencies [b07f49f]
|
|
19
|
+
- @dxos/compute-runtime@0.14.0
|
|
20
|
+
- @dxos/compute@0.14.0
|
|
21
|
+
- @dxos/echo@0.14.0
|
|
22
|
+
- @dxos/effect@0.14.0
|
|
23
|
+
- @dxos/ui-theme@0.14.0
|
|
24
|
+
- @dxos/operation@0.14.0
|
|
25
|
+
- @dxos/graph@0.14.0
|
|
26
|
+
- @dxos/edge-client@0.14.0
|
|
27
|
+
- @dxos/protocols@0.14.0
|
|
28
|
+
- @dxos/async@0.14.0
|
|
29
|
+
- @dxos/context@0.14.0
|
|
30
|
+
- @dxos/debug@0.14.0
|
|
31
|
+
- @dxos/errors@0.14.0
|
|
32
|
+
- @dxos/invariant@0.14.0
|
|
33
|
+
- @dxos/keys@0.14.0
|
|
34
|
+
- @dxos/log@0.14.0
|
|
35
|
+
- @dxos/util@0.14.0
|
|
36
|
+
- @dxos/web-context@0.14.0
|
|
37
|
+
- @dxos/web-context-react@0.14.0
|
|
38
|
+
- @dxos/react-error-boundary@0.14.0
|
|
39
|
+
- @dxos/react-hooks@0.14.0
|
|
40
|
+
|
|
41
|
+
## 0.13.0
|
|
42
|
+
|
|
43
|
+
### Minor Changes
|
|
44
|
+
|
|
45
|
+
- 9ab98cd: The roots of `@dxos/app-framework`, `@dxos/app-graph`, `@dxos/app-toolkit`, `@dxos/assistant-toolkit`, `@dxos/compute`, `@dxos/effect`, `@dxos/graph`, `@dxos/observability` and every plugin now export namespaces only, and every namespace has its own subpath: import it with `import * as Hooks from '@dxos/app-framework/Hooks'` and call `Hooks.useOperationInvoker()`. A compound component exports its parts (`<ObjectCard.Root>`, `<ObjectCard.Header>`), a single component keeps its own name (`<TracePanel.TracePanel>`), and errors live in the namespace that owns them (`Operation.NoHandlerError`, `Capability.NotFoundError`, `ConnectorSync.DatabaseMissingError`) or in a `<Domain>Error` module (`FunctionsAiError`, `ConnectorError`).
|
|
46
|
+
|
|
47
|
+
Breaking: names that were exported flat from a root moved into namespaces, e.g. `ProcessManagerPlugin.make()`, `PluginManager.Context`, `PluginManifest.DEV_SERVER_PORT`, `Progress.makeTraceSink`, `SpaceSurface.RENAME_POPOVER`, `Calendar.getRangeSelectionId`, `AgentSkill.Handlers`, `SlashCommand.resolveSlashCommand`, `SelectionModel.SelectionModel`, `HaloServices.layer`, `PluginStorage.loadPlugins`, `CorePlugins.make()`, `KvsStore.make` (formerly `createKvsStore`), `CardSlot.IconSlot` and `CardSlot.MenuSlot` (formerly `CardIconSlot` and `CardMenuSlot`), `Hooks.useUpdateRow` in `@dxos/app-toolkit` and `OtelTracer.make`/`OtelTracer.layer` in `@dxos/effect`; a plugin's `meta` is `<Name>Plugin.meta`. Flat names nothing imported outside their package are no longer exported. `@dxos/compute/Errors` is removed, `@dxos/app-solid` no longer re-exports `@dxos/app-framework`, and `@dxos/util/Position` is a subpath.
|
|
48
|
+
|
|
49
|
+
`HomeSection` and `NamePopover` move from `@dxos/app-framework` to `@dxos/app-toolkit` (`@dxos/app-toolkit/HomeSection`, `@dxos/app-toolkit/NamePopover`), so app-framework no longer depends on `@dxos/react-ui`. A `check-module-structure` guard fails if any app-framework export reaches react-ui again.
|
|
50
|
+
|
|
51
|
+
### Patch Changes
|
|
52
|
+
|
|
53
|
+
- 246ee3c: Add `@dxos/plugin-agent`, an agent that talks to people through any channel, remembers them as ECHO objects, reads every conversation turn into facts, relays messages, and keeps one-time and ongoing ("keep me posted") watches whose updates it writes from the conversation's context. Every subpath of the package is a namespace: `AgentState` and `AgentKnowledge` (each with a `Root` container), one per skill (`ConversationSkill`, `GoalsSkill`, `InterviewSkill`, `ModesSkill`, `NoteTakerSkill`, `RelaySkill`), and one per type and operation set.
|
|
54
|
+
|
|
55
|
+
`@dxos/plugin-thread` channel backends can now open direct conversations (`openDirect`), post into threads (`threads.send`), run a connection (`connection.start`/`stop`/`status`), and return a send receipt. New operations `sendToChannel`, `openDirect`, `connectChannel`, `disconnectChannel` and `getChannelStatus` dispatch to them, and the handlers are published as the `ThreadOperationHandlerSet` subpath. The Discord and Slack plugins implement these backends.
|
|
56
|
+
|
|
57
|
+
An agent prompt can name its sender: `AgentProcess` accepts `{ prompt, sender?, properties? }` as well as a bare prompt (`AgentInput`, `makeInputMessage`), `AgentService.Session.submitPrompt` and the assistant's request and session take a `sender`, and the model sees a named sender as `[From: <name>]`. `useChatProcessor` and `AiChatProcessor` take a `sender`, and `ChatThread` takes a `userHue`.
|
|
58
|
+
|
|
59
|
+
`Agent.loadChat` no longer picks a chat bridged from an external conversation as the agent's primary chat, and finds chats with a child-of filter so it also works on EDGE. `Agent.makeInitialized` accepts a skill ref, and `Skill.makeRef` binds a database skill as-is and any other by registry URI.
|
|
60
|
+
|
|
61
|
+
The `ProfileOf` relation moves from `@dxos/plugin-crm` to `@dxos/types` with its typename unchanged, so existing profiles still resolve. `EdgeHttpClient.request` makes an authenticated call to any EDGE route. `pipeline-rdf` exports `DEFAULT_MODEL`. `FormInlineAnnotation` now survives the JSON-schema round trip. A plugin that declares two modules with the same id now fails when it is constructed instead of silently dropping one.
|
|
62
|
+
|
|
63
|
+
- Updated dependencies [bbe9f18]
|
|
64
|
+
- Updated dependencies [162fd6d]
|
|
65
|
+
- Updated dependencies [aad3e41]
|
|
66
|
+
- Updated dependencies [bb2b672]
|
|
67
|
+
- Updated dependencies [cb1e218]
|
|
68
|
+
- Updated dependencies [1ef899b]
|
|
69
|
+
- Updated dependencies [32f32a0]
|
|
70
|
+
- Updated dependencies [469e7f7]
|
|
71
|
+
- Updated dependencies [665261a]
|
|
72
|
+
- Updated dependencies [68dc875]
|
|
73
|
+
- Updated dependencies [2e96a73]
|
|
74
|
+
- Updated dependencies [fe08304]
|
|
75
|
+
- Updated dependencies [945092e]
|
|
76
|
+
- Updated dependencies [c531b05]
|
|
77
|
+
- Updated dependencies [3672aff]
|
|
78
|
+
- Updated dependencies [2f95d25]
|
|
79
|
+
- Updated dependencies [c7cc480]
|
|
80
|
+
- Updated dependencies [e99ee70]
|
|
81
|
+
- Updated dependencies [161f994]
|
|
82
|
+
- Updated dependencies [1894fc1]
|
|
83
|
+
- Updated dependencies [246ee3c]
|
|
84
|
+
- Updated dependencies [8ebe8d6]
|
|
85
|
+
- Updated dependencies [0ee5ecf]
|
|
86
|
+
- Updated dependencies [596728d]
|
|
87
|
+
- Updated dependencies [7715216]
|
|
88
|
+
- Updated dependencies [1737cad]
|
|
89
|
+
- Updated dependencies [6a7bed4]
|
|
90
|
+
- Updated dependencies [3022878]
|
|
91
|
+
- Updated dependencies [c2a300a]
|
|
92
|
+
- Updated dependencies [17008f0]
|
|
93
|
+
- Updated dependencies [dde8f43]
|
|
94
|
+
- Updated dependencies [4f8e566]
|
|
95
|
+
- Updated dependencies [a449958]
|
|
96
|
+
- @dxos/compute@0.13.0
|
|
97
|
+
- @dxos/echo@0.13.0
|
|
98
|
+
- @dxos/util@0.13.0
|
|
99
|
+
- @dxos/edge-client@0.13.0
|
|
100
|
+
- @dxos/compute-runtime@0.13.0
|
|
101
|
+
- @dxos/operation@0.13.0
|
|
102
|
+
- @dxos/async@0.13.0
|
|
103
|
+
- @dxos/context@0.13.0
|
|
104
|
+
- @dxos/effect@0.13.0
|
|
105
|
+
- @dxos/graph@0.13.0
|
|
106
|
+
- @dxos/log@0.13.0
|
|
107
|
+
- @dxos/protocols@0.13.0
|
|
108
|
+
- @dxos/react-hooks@0.13.0
|
|
109
|
+
- @dxos/react-error-boundary@0.13.0
|
|
110
|
+
- @dxos/debug@0.13.0
|
|
111
|
+
- @dxos/errors@0.13.0
|
|
112
|
+
- @dxos/invariant@0.13.0
|
|
113
|
+
- @dxos/keys@0.13.0
|
|
114
|
+
- @dxos/web-context@0.13.0
|
|
115
|
+
- @dxos/web-context-react@0.13.0
|
|
116
|
+
- @dxos/ui-theme@0.13.0
|
|
117
|
+
|
|
118
|
+
## 0.12.0
|
|
4
119
|
|
|
5
120
|
### Minor Changes
|
|
6
121
|
|
|
@@ -10,6 +125,14 @@
|
|
|
10
125
|
|
|
11
126
|
The `@dxos/app-toolkit` maker families that back the app shell — `settings`, `operationHandler`, `reactContext`, `reactRoot`, `navigationResolver` and `navigationHandler` — now state `Startup` explicitly, so modules built with them are unaffected. `appGraphBuilder` (idle) and `skillDefinition` (assistant start) were already explicit.
|
|
12
127
|
|
|
128
|
+
- 6d52561: The boot loader now shows plugin activation as a row of icons rather than a scrolling text log.
|
|
129
|
+
|
|
130
|
+
`window.__bootLoader` gains two methods: `plugins(entries)` registers the icon of every plugin that could activate (drawing nothing on its own), and `activated(id)` adds that plugin's icon to the row. Icons come from each plugin's own `meta.profile.icon` and resolve against the host's static sprite (`/icons.svg` by default; `bootLoaderPlugin({ spritePath })` overrides it). Arrivals queue and drain one at a time, spaced 200–400ms, since activation lands in bursts of a dozen inside a couple of frames.
|
|
131
|
+
|
|
132
|
+
The per-module `Activating …` status lines are gone by default — a boot emitted hundreds of them. `useApp({ verboseStatus: true })` brings them back, collapsed to one line per plugin; `composer-app` exposes that as `VITE_DX_BOOT_VERBOSE=true` or `?boot-verbose`.
|
|
133
|
+
|
|
134
|
+
`StartupProgress` gains `pluginName` and `pluginSlug`, identifying the plugin owning the in-flight module, so a host can render or filter transitions per plugin without parsing module ids.
|
|
135
|
+
|
|
13
136
|
- 34a8433: Order module activation by capability dependencies instead of hand-wired events.
|
|
14
137
|
A module declares the capabilities it `requires` and `provides` (or a runtime
|
|
15
138
|
`activatesOn` event) and the plugin manager topologically orders activation from
|
|
@@ -39,6 +162,15 @@
|
|
|
39
162
|
(`make<T>()(nsid)`) so the NSID literal brands the identifier. The
|
|
40
163
|
`withPluginManager` `capabilities` test option now accepts `Contribution[]`.
|
|
41
164
|
|
|
165
|
+
- 497caab: Report every write to a space as a product event, however it happened, with whether it was a person's action. ECHO emits vendor-neutral events on a new `trace.events` channel in `@dxos/tracing` for adds and removes of objects and relations, persisted types, and feed appends, named by `Database.TraceEvents`. Each carries an origin: `user` for a person's own action, `system` for everything else (agents, syncs and imports, seeding, automation), or `unknown` when nothing attributed the write, so unattributed call sites stay visible. The origin is passed with the new `origin` write option or provided once as `Database.Origin`, and replaces the `track` add option. Operations the app framework's invoker runs are attributed to the `user`, trigger runs and operations in an agent's conversation to the `system`, and each process passes its origin to the operations it invokes. The new `ObservabilityProvider.ObjectEvents` data provider reports every write as `space.object.add`, `space.object.remove`, `space.relation.add`, `space.relation.remove`, `space.type.add` or `space.feed.append`, with the `origin` as a property.
|
|
166
|
+
- f0d3620: `Capability.AnyTag` is one interface rather than `Tag<any, any> | MultiTag<any, any>`. Both tag types remain assignable to it (`Context.Key` is covariant in both parameters), so a value that satisfied the union still satisfies the interface, and `Tag`, `MultiTag` and `IdentifierOf` are unchanged. Generic code that discriminated on the union's constituents — for instance instantiating `IdentifierOf<AnyTag>`, which is now `never` — needs the concrete tag type instead.
|
|
167
|
+
- 548e82c: `environments` now lists every runtime condition a capability module loads under, `browser` included. `dx-plugin gen` slices every condition by one rule and writes `#capabilities` without a `default`, so a runtime a plugin names no condition for fails to resolve. UI maker families default to `['browser', 'tauri']`, headless families to all four conditions.
|
|
168
|
+
- 2c06e2e: Fix two packaging defects that only appear outside the monorepo, where a package resolves through its published manifest instead of workspace links.
|
|
169
|
+
|
|
170
|
+
A `#alias` declared in a package's `imports` map as a plain string answered every condition with the same target, and that target was TypeScript source. Because the alias survives into the emitted `.d.ts` and `.mjs`, a consumer installing the package resolved it into `node_modules/@dxos/<pkg>/src/`: tsc typechecked SDK source as if it were the consumer's own code (`skipLibCheck` does not apply, these are `.ts` files, not `.d.ts`), and Node failed outright on a specifier such as `#meta` with `ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING`. All 33 affected packages now declare `source`, `types` and `default`, so the alias resolves to `dist/` everywhere but the monorepo.
|
|
171
|
+
|
|
172
|
+
`@dxos/app-framework/testing` imported `@dxos/storybook-addon-logger/download`, which was only a devDependency, so importing that entrypoint from an installed copy threw `Cannot find package`. `StorybookErrorFallback` now lives in `@dxos/storybook-addon-logger`, which owns the download channel it calls. Stories keep the "Download logs" action: the shared storybook preview installs it through the new `setStoryErrorFallback` export. Anyone importing `StorybookErrorFallback` from `@dxos/app-framework/testing` should import it from `@dxos/storybook-addon-logger/StorybookErrorFallback` instead.
|
|
173
|
+
|
|
42
174
|
- 61fe676: Defer activation events dispatched while startup is running until the startup wave completes, so a module activating on one can rely on every startup capability being present. Keep the composed React context stable across renders so a capability change no longer remounts the application. Add a `client` option to the client plugin, letting a host construct and begin initializing the client before the activation pass reaches the plugin.
|
|
43
175
|
- 63e500b: Space object CRUD is now projected from operations, and space operations no longer reach for app
|
|
44
176
|
plugins to do it.
|
|
@@ -168,80 +300,363 @@
|
|
|
168
300
|
|
|
169
301
|
`@dxos/react-ui-assistant` gains a `./translations` export so consumers can take its translation resources without pulling the React root barrel.
|
|
170
302
|
|
|
303
|
+
- 886453b: Report where startup and the worker connection failed instead of only that they timed out. Failures raise typed errors (`StartupTimeoutError`, `WorkerError`, `WorkerConnectionError`) carrying their diagnostics in `BaseError.context`, so error tracking names the failure instead of showing a bare `Error` and `Effect.catchTag` can discriminate on it. `useApp` reports the modules still in flight and dispatches `STARTUP_FAILED_EVENT` on a module activation error as well as on the deadline, and `Connection` reports the leader and connect phase it reached, whether it holds the leader lock, and its retry counters. `@dxos/log` lifts an error's `context` onto the entry whether the error arrives as the entry's error, as the call's context, or as a value inside it, so callers no longer hand-lift it, and the PostHog log processor forwards structured context rather than dropping every value that is not a string, number, or boolean. `withContext` in `@dxos/errors` replaces the ad-hoc probes that read that field.
|
|
304
|
+
- d205e96: A capability module can be annotated `environments: ['tauri']` to load only in Tauri builds. `dx-plugin gen` gives the `tauri` condition every browser module plus the annotated ones, and leaves the annotated ones out of the `default` barrel, so web bundles never carry them.
|
|
305
|
+
- 4a10672: New `useOperationHandler(operation, map?)` hook: suspensefully resolves an operation's handler as an effect fn (`(input) => Effect<Output>`), or — with `map` — as a callback-args binding (`(...args) => Effect<Output>`). The component suspends while the handler's module lazy-loads; a miss throws `NoHandlerError`. Resolution goes through the new `Capabilities.OperationHandlers` singleton — the merged reactive handler set the process manager already builds for the operation invoker, now also contributed as a capability. `OperationHandlerSet.reactive` memoizes `getHandlerFor` promises per key (invalidated when contributions change) so React's `use` can resume suspended renders, and `OperationHandlerSet.findHandler(set, definition)` is the definition-typed promise counterpart of `getHandler`.
|
|
306
|
+
|
|
307
|
+
`useSpaceCallback` now passes the returned callback's arguments through to `fn`, so gesture handlers can build effects from per-call inputs. BREAKING: the optimistic-overlay layer is removed entirely — `useOptimisticOperation`, `OptimisticBinding`, `useOptimisticQuery`, and the `@dxos/app-framework/Optimistic` module. Local-first sync writes need no overlay; a query view is a memoized `Atom.make` over `query.atom` read with `useAtomValue`.
|
|
308
|
+
|
|
309
|
+
New `Ref.peek()` / `Database.peek(ref)` — the target when already materialized: the pinned target or a side-effect-free working-set lookup; never throws, never triggers loading. `Ref.target` is deprecated in its favor (it loads and registers a resolution callback as side effects, and can throw). Compose `Database.peek(ref) ?? (yield* Database.load(ref))` for a sync-when-materialized read with an async fallback — an effect built only from materialized refs runs under `Effect.runSync`. `Database.load` itself is unchanged — its async resolution also settles a just-added object into its own document, which flows like branching depend on. `TaskSet.resolveParentTask` uses that composition, and its cycle check walks the candidate's `parentTask` ancestor chain (equivalent to the old subtree collection, and it sees cross-set descendants) instead of querying.
|
|
310
|
+
|
|
311
|
+
BREAKING: `TaskOperation.MoveTask`'s input requires a `taskSet` ref alongside the task and its handler needs no services. With loaded refs the whole operation completes without an async boundary — a drop runs it with `Effect.runSync` so the write lands in the gesture frame, with no optimistic overlay — while unloaded refs (e.g. an agent caller) load asynchronously through the same path.
|
|
312
|
+
|
|
313
|
+
- ee180f6: `useOperation(operation, map, options?)` in `@dxos/app-framework/ui`: binds an operation to a UI callback in one step — `map` turns the component's callback arguments into the operation input, and the returned handler keeps a stable identity across renders (the mapper and options are read through refs). `Optimistic.make(source)` in `@dxos/app-framework` overlays ordered optimistic entries on a reactive row-source atom (apply entries retire on the first source emission after the operation settles and auto-revert on failure; retain entries pin rows evicted from a filtered source through a grace window), and `useOptimisticOperation` binds an operation dispatch to such an overlay. `TaskSet.reorderItems` in `@dxos/types` generalizes `TaskSet.reorder` over any keyed list so optimistic transforms share the handler's ordering.
|
|
314
|
+
|
|
171
315
|
### Patch Changes
|
|
172
316
|
|
|
317
|
+
- 3c7b013: ECHO atom families no longer use `Atom.keepAlive`, so an entity's atoms, snapshots and subscriptions are released once nothing observes them instead of being retained for the lifetime of the page. Multi-key families (`Obj.atomProperty`, `Annotation.atom`, ref properties) are keyed by a tuple rather than nested families.
|
|
318
|
+
|
|
319
|
+
`@dxos/effect` adds the `AtomEx` namespace with `AtomEx.makeRegistry`, an atom registry with a 5 second idle grace period (`AtomEx.DEFAULT_IDLE_TTL`). Use it for any registry that hosts ECHO atoms, which no longer carry `keepAlive`. The plugin manager's registry uses it (`atomIdleTTL`).
|
|
320
|
+
|
|
321
|
+
Breaking: app-graph's `Graph.nodeOrThrow` and `@dxos/graph`'s `Store.nodeOrThrow` atoms are removed. Use `getNodeOrThrow`, which now throws `GraphNode.NotFoundError`, or read `node` and handle `Option.none`.
|
|
322
|
+
|
|
323
|
+
- 1a8043c: The boot loader no longer leaves a document-level click listener behind after it unmounts, which kept the app's first click event, and the view it landed in, from being garbage collected.
|
|
324
|
+
- 520c34f: The boot loader's plugin activation row now shows its icons on a cold first load. The row resolved each icon through an external `<use href="/icons.svg#…">`, which the browser only requests when the first icon lands; on an empty cache that ~200KB sprite arrived after the row had filled — or after the loader had gone — so the first visit showed empty slots and every later visit, served from cache, showed glyphs. The loader now fetches the sprite when it mounts and inlines its symbols, so the download starts with the page and the icons reference it locally.
|
|
325
|
+
- 9714c75: `@dxos/brand/channels` names the prerelease channels (`dev`, `preview`, `staging`) and the colour each one paints the mark, and `channelMarkFilter` turns that colour into a CSS filter over the released artwork. The boot loader applies that filter to the mark, the ring and its head together, so a channel build no longer ships its own copy of the mark and the ring agrees with it; the composer app's icon variants are generated from the same definitions. The brand `Icons` story shows the channels in a row.
|
|
326
|
+
|
|
327
|
+
The boot loader's activation row is a flex row translated as one group: a plugin's icon is appended at the end and fades in, and the row slides half a slot to stay centred on an eased count driven by the same frame loop as the ring, so arrivals in quick succession keep the row moving rather than stopping it between each.
|
|
328
|
+
|
|
329
|
+
Breaking: `react-ui`'s `Stepper` is renamed `Steps`, after the Ark machine it sits on, as the rest of the family is named: `StepsProps`, `StepsStyleProps`, `stepsTheme` and the `steps.*` theme keys follow. The `Step`, `StepOptions`, `stepCount` and `stepAt` helpers keep their names.
|
|
330
|
+
|
|
173
331
|
- 4a0b78b: Bundler-plugin entrypoints no longer publish a `source` export condition: `@dxos/app-framework/vite-plugin` and `@dxos/ui-theme/plugin`. These run in Node inside a `vite.config.ts` and reach `node:*`, so a `source` condition let an app's `source`-first resolver pull their Node-only sources into a browser bundle.
|
|
174
332
|
|
|
175
333
|
Default resolution is unchanged — both entrypoints already resolved to their built `dist` for ordinary consumers, with the same exports and runtime behaviour. Only resolution under `--conditions=source` changes: it now yields the built output, matching `@dxos/config`'s bundler-plugin entrypoints.
|
|
176
334
|
|
|
177
335
|
- 5305365: Plugin body imports resolve concurrently instead of one at a time, so core plugins activate first and startup drops ~500 ms.
|
|
336
|
+
- 318d610: A plugin loaded through Plugins → Dev Server loads from the right server and stays enabled after a reload. `composerPlugin`'s dev and preview servers now fail when their port is taken instead of moving to the next free one, so the setting never loads a plugin from whatever else holds port 3967. Synced plugin settings no longer turn off a plugin the dev plugin depends on, and no longer record the dev plugin's own enabled state as the account's choice.
|
|
337
|
+
- ab56cfe: Devtools panels are article containers (`*Article`, exported from `containers/panels`) and the stats panel is a stack of `StatCard` cards, each contributed as a surface on `AppSurface.DevtoolsOverview`; the `Panel` accordion and `*Panel` exports are gone, and the duplicate `logs` deck companion is removed in favour of the debug panel's Logs page.
|
|
338
|
+
|
|
339
|
+
`Button` gains a `tag` variant with a `hue` (the `dx-tag` look on a button), `Field.Switch` takes a `density` and shrinks at `sm`, and `Card.Root`'s `density` now applies to its contents. `Surface.getMounted()` lists the surfaces currently mounted and `Surface.useProfilerSnapshot()` reads the profiler's cumulative per-surface stats without subscribing.
|
|
340
|
+
|
|
341
|
+
`JsonHighlighter` and `SyntaxHighlighter` scroll inside the family's themed `ScrollArea` (`scroll` picks the axes; `scroll={false}` gives the bare leaf that `Syntax.Code` uses), so the shorthand replaces a hand-built `Syntax.Root/Content/Viewport/Code` wherever no filter or depth control is needed.
|
|
342
|
+
|
|
343
|
+
- 2643a00: Fix `dx-plugin gen` silently dropping a capability from every generated per-environment barrel (`src/capabilities/gen/<env>.ts`) — neither as a real export nor as its `undefined` stub — when its declaration was reached through an already-extensioned relative re-export (e.g. `export { X } from './x/index.ts'` or `export * from './x/index.ts'`). `resolveRelativeModule` always appended a resolution extension to the specifier, so an already-extensioned one resolved to a nonexistent path (`index.ts.ts`) and the barrel parse silently gave up on that branch. This broke plugin loading outright for any capability affected this way (confirmed on `plugin-space`'s `NavigationHandler` and `plugin-connector`'s `Coordinator`, also present in `plugin-client` and `plugin-file-system`) — the CLI failed with `LazyPluginError`/`SyntaxError: Export named 'X' not found` for every command, since plugin manager initialization eagerly resolves every plugin.
|
|
344
|
+
- 362fd0f: `dx-plugin gen` is silent by default; pass `--verbose` to print each generated barrel.
|
|
345
|
+
- 4e4c25d: A plugin enabled after boot now gets its services without a reload. The process manager used to
|
|
346
|
+
build its service stack from the `LayerSpec`s present at boot and only log the ones contributed
|
|
347
|
+
later, so enabling a plugin such as Sandbox at runtime left its tools failing with
|
|
348
|
+
`ServiceNotAvailable`. `LayerStack.addLayers` now adds specs to a live stack: built slices are
|
|
349
|
+
extended in place, so services already running are neither rebuilt nor released, and a spec that
|
|
350
|
+
was pruned for a dependency nobody provided yet is re-admitted once a later spec provides it. A spec
|
|
351
|
+
that would close a requires/provides cycle is rejected with an error and the rest are still added.
|
|
352
|
+
Disabling a plugin does not remove its services until the next boot.
|
|
178
353
|
- 9c86066: Resolve trace sinks per write instead of snapshotting them when the process-manager runtime is built. A sink contributed by an on-demand module (plugin-progress contributes its progress adapter that way) landed after the snapshot and was silently dropped, so every operation's `status.update` reached the durable sink while the progress meters stayed empty.
|
|
354
|
+
- e26af7e: Count the startup deadline in observed execution time instead of wall clock, so a boot overlapping process suspension (a hidden native-app webview, App Nap, system sleep) no longer raises the fatal startup-timeout dialog. The native app also disables WKWebView background throttling, which suspended every JS realm for hours once the window sat hidden.
|
|
355
|
+
- d308bf8: `PluginManager.add` activates a plugin whose id is already enabled, such as one enabled in an earlier session and
|
|
356
|
+
loaded again from its URL. Before, it read as enabled while none of its modules ran, until it was switched off and on.
|
|
357
|
+
- 07514c2: `composerPlugin` loads `dx.config.ts` with bun when the build runs under bun, including a `bun build --compile`
|
|
358
|
+
executable, so a plugin builds on a machine without node.
|
|
179
359
|
- 256f286: Projects gain a lifecycle `status` field (`active | paused | blocked | ended`), surfaced through the MCP-projected verbs, and plugin-projects ships a project-management skill for external agents — including the `/codeProject setup` flow that binds a repo to an existing space. The skill's key segment is `codeProject` because the segment doubles as the projected MCP prompt name and plain `project` belongs to assistant-toolkit's own skill.
|
|
180
360
|
|
|
181
361
|
`toEffectSchema` recognizes ECHO's reference sentinel before the generic `type: 'object'` branch, so a reference node widened with structural keywords (as a wire boundary may do for schema-unaware consumers) decodes as a reference instead of a plain struct. Serialization is unchanged — persisted schemas stay byte-identical to previous releases.
|
|
182
362
|
|
|
183
363
|
Worker (`workerd`) bundles no longer pull in React. Wrangler resolves `workerd, worker, browser` and never `node`, so a `#capabilities` map offering only `node` and `default` handed workers the browser barrel and its React surfaces. Every plugin with a headless entry now resolves a server-safe barrel under a `workerd` condition, and the `check-module-structure` guards trace with `workerd,worker` — the conditions a worker actually resolves — so a reintroduced leak fails the check instead of passing against a build that is never shipped.
|
|
184
364
|
|
|
365
|
+
- 582fc22: `Surface` holds its previous `data` reference while the incoming one is shallow-equal to it, so an ancestor render no longer re-renders the plugin subtree below a surface.
|
|
366
|
+
|
|
367
|
+
`shallowEqual` moves to `@dxos/util` (with `useStable` in `@dxos/react-hooks`) and now compares array shape, so `app-graph` node-change detection tells `[]` from `{}` and notices a trailing hole.
|
|
368
|
+
|
|
369
|
+
- 892b718: Surfaces register with the mount registry under a profiler provider in production builds, so the devtools Surfaces card lists them and its highlight toggle works outside dev.
|
|
370
|
+
- Updated dependencies [a92ea18]
|
|
371
|
+
- Updated dependencies [9477170]
|
|
372
|
+
- Updated dependencies [0c6c186]
|
|
373
|
+
- Updated dependencies [af1c007]
|
|
374
|
+
- Updated dependencies [12461e1]
|
|
375
|
+
- Updated dependencies [4862c8e]
|
|
376
|
+
- Updated dependencies [106d38a]
|
|
377
|
+
- Updated dependencies [9049c30]
|
|
378
|
+
- Updated dependencies [6186edc]
|
|
379
|
+
- Updated dependencies [e3ceced]
|
|
380
|
+
- Updated dependencies [6a457ac]
|
|
381
|
+
- Updated dependencies [e2eecf2]
|
|
382
|
+
- Updated dependencies [2800d03]
|
|
383
|
+
- Updated dependencies [4ececc6]
|
|
384
|
+
- Updated dependencies [96f94c2]
|
|
385
|
+
- Updated dependencies [c95def4]
|
|
386
|
+
- Updated dependencies [3c7b013]
|
|
387
|
+
- Updated dependencies [fd873d2]
|
|
388
|
+
- Updated dependencies [b1dc20c]
|
|
389
|
+
- Updated dependencies [ac71815]
|
|
390
|
+
- Updated dependencies [7c87626]
|
|
391
|
+
- Updated dependencies [c020513]
|
|
392
|
+
- Updated dependencies [6388838]
|
|
393
|
+
- Updated dependencies [f82c78f]
|
|
394
|
+
- Updated dependencies [9714c75]
|
|
185
395
|
- Updated dependencies [e954c0f]
|
|
186
396
|
- Updated dependencies [9ef5485]
|
|
187
397
|
- Updated dependencies [22bea85]
|
|
398
|
+
- Updated dependencies [a069511]
|
|
399
|
+
- Updated dependencies [066b35d]
|
|
400
|
+
- Updated dependencies [63fc847]
|
|
401
|
+
- Updated dependencies [b4ceea2]
|
|
188
402
|
- Updated dependencies [bdb02cd]
|
|
189
403
|
- Updated dependencies [48eb05d]
|
|
404
|
+
- Updated dependencies [2d58ea5]
|
|
405
|
+
- Updated dependencies [bd6ba8e]
|
|
406
|
+
- Updated dependencies [0fe00c5]
|
|
190
407
|
- Updated dependencies [b8762ef]
|
|
191
408
|
- Updated dependencies [73daef4]
|
|
409
|
+
- Updated dependencies [75971ad]
|
|
410
|
+
- Updated dependencies [3958355]
|
|
411
|
+
- Updated dependencies [fd23a8b]
|
|
192
412
|
- Updated dependencies [4e417e9]
|
|
413
|
+
- Updated dependencies [5262408]
|
|
414
|
+
- Updated dependencies [194b1d3]
|
|
415
|
+
- Updated dependencies [d194929]
|
|
416
|
+
- Updated dependencies [6ef35a6]
|
|
417
|
+
- Updated dependencies [d17d75a]
|
|
193
418
|
- Updated dependencies [557e243]
|
|
419
|
+
- Updated dependencies [ea11703]
|
|
420
|
+
- Updated dependencies [b2caee6]
|
|
421
|
+
- Updated dependencies [9baf25f]
|
|
422
|
+
- Updated dependencies [34f7d92]
|
|
194
423
|
- Updated dependencies [a3d45c4]
|
|
424
|
+
- Updated dependencies [dcf911b]
|
|
425
|
+
- Updated dependencies [b63506b]
|
|
426
|
+
- Updated dependencies [6af89f4]
|
|
427
|
+
- Updated dependencies [d770fe7]
|
|
428
|
+
- Updated dependencies [da37a13]
|
|
429
|
+
- Updated dependencies [0a01ff7]
|
|
430
|
+
- Updated dependencies [1c995c4]
|
|
431
|
+
- Updated dependencies [6f4a887]
|
|
432
|
+
- Updated dependencies [ab56cfe]
|
|
433
|
+
- Updated dependencies [1aabb03]
|
|
434
|
+
- Updated dependencies [7575cb6]
|
|
435
|
+
- Updated dependencies [7ec1738]
|
|
436
|
+
- Updated dependencies [df295b2]
|
|
437
|
+
- Updated dependencies [d0beedc]
|
|
438
|
+
- Updated dependencies [731b264]
|
|
439
|
+
- Updated dependencies [a69d861]
|
|
440
|
+
- Updated dependencies [ba08e65]
|
|
441
|
+
- Updated dependencies [07565c8]
|
|
442
|
+
- Updated dependencies [5fcd238]
|
|
443
|
+
- Updated dependencies [5e8878c]
|
|
444
|
+
- Updated dependencies [6409948]
|
|
445
|
+
- Updated dependencies [792c756]
|
|
446
|
+
- Updated dependencies [497caab]
|
|
447
|
+
- Updated dependencies [35d6e86]
|
|
448
|
+
- Updated dependencies [1cf6347]
|
|
449
|
+
- Updated dependencies [0cde959]
|
|
450
|
+
- Updated dependencies [e094f74]
|
|
451
|
+
- Updated dependencies [9ab38fa]
|
|
452
|
+
- Updated dependencies [b3673ee]
|
|
195
453
|
- Updated dependencies [23d2d8c]
|
|
196
454
|
- Updated dependencies [b0953f0]
|
|
197
455
|
- Updated dependencies [375b863]
|
|
456
|
+
- Updated dependencies [915db6a]
|
|
457
|
+
- Updated dependencies [020af54]
|
|
458
|
+
- Updated dependencies [4864912]
|
|
198
459
|
- Updated dependencies [3e02201]
|
|
199
460
|
- Updated dependencies [261c821]
|
|
461
|
+
- Updated dependencies [6c25ed3]
|
|
200
462
|
- Updated dependencies [dde6714]
|
|
463
|
+
- Updated dependencies [9d4dec3]
|
|
464
|
+
- Updated dependencies [2e4c299]
|
|
465
|
+
- Updated dependencies [a3b6ef0]
|
|
466
|
+
- Updated dependencies [4c55b5d]
|
|
467
|
+
- Updated dependencies [782a442]
|
|
201
468
|
- Updated dependencies [b02fe16]
|
|
469
|
+
- Updated dependencies [4c52ca6]
|
|
470
|
+
- Updated dependencies [472ca95]
|
|
471
|
+
- Updated dependencies [252ca39]
|
|
472
|
+
- Updated dependencies [8fb29b3]
|
|
473
|
+
- Updated dependencies [c439ba0]
|
|
474
|
+
- Updated dependencies [6af130f]
|
|
475
|
+
- Updated dependencies [2c442f9]
|
|
476
|
+
- Updated dependencies [0264069]
|
|
477
|
+
- Updated dependencies [2922d36]
|
|
478
|
+
- Updated dependencies [d62a947]
|
|
479
|
+
- Updated dependencies [872f391]
|
|
480
|
+
- Updated dependencies [51820a1]
|
|
481
|
+
- Updated dependencies [9ae0e5f]
|
|
482
|
+
- Updated dependencies [7d000b9]
|
|
202
483
|
- Updated dependencies [e56276b]
|
|
484
|
+
- Updated dependencies [66e9264]
|
|
203
485
|
- Updated dependencies [813069c]
|
|
486
|
+
- Updated dependencies [84362af]
|
|
487
|
+
- Updated dependencies [76d6fca]
|
|
488
|
+
- Updated dependencies [4c107a2]
|
|
489
|
+
- Updated dependencies [84622b1]
|
|
490
|
+
- Updated dependencies [e5c13e4]
|
|
491
|
+
- Updated dependencies [26e31c1]
|
|
492
|
+
- Updated dependencies [8c20ee2]
|
|
493
|
+
- Updated dependencies [b9d72bb]
|
|
494
|
+
- Updated dependencies [eeff74c]
|
|
495
|
+
- Updated dependencies [251f586]
|
|
496
|
+
- Updated dependencies [3c85350]
|
|
497
|
+
- Updated dependencies [967b130]
|
|
498
|
+
- Updated dependencies [3e9a10f]
|
|
499
|
+
- Updated dependencies [8ea2bf9]
|
|
500
|
+
- Updated dependencies [6139557]
|
|
204
501
|
- Updated dependencies [5ceaf9c]
|
|
502
|
+
- Updated dependencies [8ca2ac7]
|
|
205
503
|
- Updated dependencies [098a0bb]
|
|
504
|
+
- Updated dependencies [72f7584]
|
|
505
|
+
- Updated dependencies [e94ed89]
|
|
506
|
+
- Updated dependencies [882ac2a]
|
|
507
|
+
- Updated dependencies [0132aab]
|
|
508
|
+
- Updated dependencies [3ea0b0f]
|
|
509
|
+
- Updated dependencies [47c8d7e]
|
|
510
|
+
- Updated dependencies [10b1239]
|
|
511
|
+
- Updated dependencies [490127e]
|
|
512
|
+
- Updated dependencies [851791f]
|
|
513
|
+
- Updated dependencies [608a172]
|
|
514
|
+
- Updated dependencies [d535d55]
|
|
206
515
|
- Updated dependencies [5180720]
|
|
516
|
+
- Updated dependencies [b600f72]
|
|
517
|
+
- Updated dependencies [99e323d]
|
|
518
|
+
- Updated dependencies [ea11703]
|
|
519
|
+
- Updated dependencies [bcfe4c5]
|
|
520
|
+
- Updated dependencies [ce194c0]
|
|
521
|
+
- Updated dependencies [818a096]
|
|
522
|
+
- Updated dependencies [4aa6a33]
|
|
523
|
+
- Updated dependencies [9636ce1]
|
|
524
|
+
- Updated dependencies [0ac2e5f]
|
|
525
|
+
- Updated dependencies [9426389]
|
|
526
|
+
- Updated dependencies [2e5e188]
|
|
527
|
+
- Updated dependencies [ebb8f4a]
|
|
528
|
+
- Updated dependencies [9d2466a]
|
|
207
529
|
- Updated dependencies [557e243]
|
|
530
|
+
- Updated dependencies [ca34a80]
|
|
531
|
+
- Updated dependencies [29543ca]
|
|
532
|
+
- Updated dependencies [08cddf6]
|
|
533
|
+
- Updated dependencies [a04ab6e]
|
|
534
|
+
- Updated dependencies [a283607]
|
|
535
|
+
- Updated dependencies [24fcadc]
|
|
536
|
+
- Updated dependencies [b00ee72]
|
|
537
|
+
- Updated dependencies [4804da0]
|
|
538
|
+
- Updated dependencies [d4b4919]
|
|
208
539
|
- Updated dependencies [63e500b]
|
|
209
540
|
- Updated dependencies [7c426d4]
|
|
541
|
+
- Updated dependencies [02fe893]
|
|
542
|
+
- Updated dependencies [78e5596]
|
|
543
|
+
- Updated dependencies [b1bb838]
|
|
544
|
+
- Updated dependencies [19f19a2]
|
|
545
|
+
- Updated dependencies [2a41efd]
|
|
546
|
+
- Updated dependencies [a09e18e]
|
|
547
|
+
- Updated dependencies [142ba02]
|
|
548
|
+
- Updated dependencies [e1ee9dd]
|
|
549
|
+
- Updated dependencies [cff311f]
|
|
550
|
+
- Updated dependencies [8610d9d]
|
|
551
|
+
- Updated dependencies [fc8c80c]
|
|
552
|
+
- Updated dependencies [f3c02b3]
|
|
210
553
|
- Updated dependencies [0a3e9dd]
|
|
554
|
+
- Updated dependencies [e2b04f6]
|
|
211
555
|
- Updated dependencies [256f286]
|
|
556
|
+
- Updated dependencies [4689d66]
|
|
212
557
|
- Updated dependencies [306f50d]
|
|
558
|
+
- Updated dependencies [61becad]
|
|
559
|
+
- Updated dependencies [690dcaa]
|
|
560
|
+
- Updated dependencies [14c2fab]
|
|
561
|
+
- Updated dependencies [e207c68]
|
|
562
|
+
- Updated dependencies [89f2811]
|
|
563
|
+
- Updated dependencies [b7822a7]
|
|
564
|
+
- Updated dependencies [c8b65f3]
|
|
565
|
+
- Updated dependencies [9feee5e]
|
|
566
|
+
- Updated dependencies [f2d8a92]
|
|
567
|
+
- Updated dependencies [d005fd9]
|
|
568
|
+
- Updated dependencies [0e44f24]
|
|
569
|
+
- Updated dependencies [cef0a3b]
|
|
570
|
+
- Updated dependencies [bd06669]
|
|
571
|
+
- Updated dependencies [5b504b4]
|
|
572
|
+
- Updated dependencies [d7b0a3b]
|
|
573
|
+
- Updated dependencies [1482a3f]
|
|
574
|
+
- Updated dependencies [16e0588]
|
|
213
575
|
- Updated dependencies [4663f24]
|
|
576
|
+
- Updated dependencies [2513a52]
|
|
214
577
|
- Updated dependencies [2896a58]
|
|
578
|
+
- Updated dependencies [17ed864]
|
|
579
|
+
- Updated dependencies [1d6f730]
|
|
580
|
+
- Updated dependencies [b125655]
|
|
581
|
+
- Updated dependencies [10defed]
|
|
215
582
|
- Updated dependencies [9e91762]
|
|
583
|
+
- Updated dependencies [f4c2702]
|
|
584
|
+
- Updated dependencies [2df0297]
|
|
585
|
+
- Updated dependencies [3e08678]
|
|
586
|
+
- Updated dependencies [7407d65]
|
|
587
|
+
- Updated dependencies [318bbad]
|
|
216
588
|
- Updated dependencies [fc83abd]
|
|
589
|
+
- Updated dependencies [9a3f01e]
|
|
590
|
+
- Updated dependencies [178bc6d]
|
|
217
591
|
- Updated dependencies [8904184]
|
|
592
|
+
- Updated dependencies [e680b16]
|
|
593
|
+
- Updated dependencies [a805212]
|
|
594
|
+
- Updated dependencies [6fed038]
|
|
218
595
|
- Updated dependencies [f8bfba0]
|
|
596
|
+
- Updated dependencies [ea11703]
|
|
597
|
+
- Updated dependencies [fa82aef]
|
|
598
|
+
- Updated dependencies [178a283]
|
|
599
|
+
- Updated dependencies [56276cd]
|
|
600
|
+
- Updated dependencies [18597fc]
|
|
601
|
+
- Updated dependencies [9205bd3]
|
|
602
|
+
- Updated dependencies [fce2060]
|
|
603
|
+
- Updated dependencies [bda45ac]
|
|
604
|
+
- Updated dependencies [5885380]
|
|
605
|
+
- Updated dependencies [881f900]
|
|
606
|
+
- Updated dependencies [6a1ec57]
|
|
607
|
+
- Updated dependencies [82a9c4e]
|
|
608
|
+
- Updated dependencies [72b2984]
|
|
609
|
+
- Updated dependencies [693d1b4]
|
|
610
|
+
- Updated dependencies [32584c9]
|
|
611
|
+
- Updated dependencies [32353e6]
|
|
612
|
+
- Updated dependencies [559acfa]
|
|
613
|
+
- Updated dependencies [631df48]
|
|
219
614
|
- Updated dependencies [e8088ea]
|
|
220
615
|
- Updated dependencies [bb94124]
|
|
616
|
+
- Updated dependencies [928e0b2]
|
|
617
|
+
- Updated dependencies [1a3de22]
|
|
618
|
+
- Updated dependencies [5d816a6]
|
|
221
619
|
- Updated dependencies [85e6347]
|
|
620
|
+
- Updated dependencies [4c5b2c7]
|
|
621
|
+
- Updated dependencies [f9816c0]
|
|
222
622
|
- Updated dependencies [78523d2]
|
|
623
|
+
- Updated dependencies [6fd2a5d]
|
|
624
|
+
- Updated dependencies [525aee0]
|
|
625
|
+
- Updated dependencies [40b50c2]
|
|
626
|
+
- Updated dependencies [f112c37]
|
|
627
|
+
- Updated dependencies [8048e42]
|
|
628
|
+
- Updated dependencies [520c34f]
|
|
629
|
+
- Updated dependencies [e64e2b5]
|
|
630
|
+
- Updated dependencies [85bdad2]
|
|
223
631
|
- Updated dependencies [77d0026]
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
- @dxos/
|
|
231
|
-
- @dxos/
|
|
232
|
-
- @dxos/
|
|
233
|
-
- @dxos/
|
|
234
|
-
- @dxos/
|
|
235
|
-
- @dxos/effect@0.12.0
|
|
236
|
-
- @dxos/
|
|
237
|
-
- @dxos/
|
|
238
|
-
- @dxos/
|
|
239
|
-
- @dxos/errors@0.12.0
|
|
240
|
-
- @dxos/
|
|
241
|
-
- @dxos/
|
|
242
|
-
- @dxos/
|
|
243
|
-
- @dxos/
|
|
244
|
-
- @dxos/
|
|
632
|
+
- Updated dependencies [4a10672]
|
|
633
|
+
- Updated dependencies [c209b42]
|
|
634
|
+
- Updated dependencies [eda8b55]
|
|
635
|
+
- Updated dependencies [cc11297]
|
|
636
|
+
- Updated dependencies [ff37699]
|
|
637
|
+
- Updated dependencies [6dadb41]
|
|
638
|
+
- @dxos/echo@0.12.0
|
|
639
|
+
- @dxos/compute-runtime@0.12.0
|
|
640
|
+
- @dxos/ui-theme@0.12.0
|
|
641
|
+
- @dxos/compute@0.12.0
|
|
642
|
+
- @dxos/react-ui@0.12.0
|
|
643
|
+
- @dxos/effect@0.12.0
|
|
644
|
+
- @dxos/graph@0.12.0
|
|
645
|
+
- @dxos/protocols@0.12.0
|
|
646
|
+
- @dxos/edge-client@0.12.0
|
|
647
|
+
- @dxos/errors@0.12.0
|
|
648
|
+
- @dxos/util@0.12.0
|
|
649
|
+
- @dxos/async@0.12.0
|
|
650
|
+
- @dxos/log@0.12.0
|
|
651
|
+
- @dxos/debug@0.12.0
|
|
652
|
+
- @dxos/context@0.12.0
|
|
653
|
+
- @dxos/react-hooks@0.12.0
|
|
654
|
+
- @dxos/operation@0.12.0
|
|
655
|
+
- @dxos/react-error-boundary@0.12.0
|
|
656
|
+
- @dxos/keys@0.12.0
|
|
657
|
+
- @dxos/invariant@0.12.0
|
|
658
|
+
- @dxos/web-context@0.12.0
|
|
659
|
+
- @dxos/web-context-react@0.12.0
|
|
245
660
|
|
|
246
661
|
## 0.11.1
|
|
247
662
|
|
package/bin/dx-plugin.mjs
CHANGED
package/dist/lib/App.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { C as pluginSlugOf, O as useActivationSignal, S as StartupTimeoutError, T as useApp, _ as useOptionalCapabilities, a as useSpaceService, b as STARTUP_ACTIVATED_EVENT, c as useAtomCapability, d as useCapability, f as useOperation, g as useOptionalAtomCapabilityState, h as useOptionalAtomCapability, i as useSpaceCallback, l as useAtomCapabilityState, m as useOperationInvoker, n as useSettingsState, o as LoadingState, p as useOperationHandler, r as useProcessManagerRuntime, s as useLoading, t as useSurface, u as useCapabilities, v as useOptionalCapability, w as pluginSlugOfKey, x as STARTUP_FAILED_EVENT, y as FIRST_INTERACTIVE_EVENT } from "./chunk-hooks.mjs";
|
|
2
|
+
export { FIRST_INTERACTIVE_EVENT, LoadingState, STARTUP_ACTIVATED_EVENT, STARTUP_FAILED_EVENT, StartupTimeoutError, pluginSlugOf, pluginSlugOfKey, useActivationSignal, useApp, useAtomCapability, useAtomCapabilityState, useCapabilities, useCapability, useLoading, useOperation, useOperationHandler, useOperationInvoker, useOptionalAtomCapability, useOptionalAtomCapabilityState, useOptionalCapabilities, useOptionalCapability, useProcessManagerRuntime, useSettingsState, useSpaceCallback, useSpaceService, useSurface };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { createContext, useContext } from "react";
|
|
2
|
+
import { raise } from "@dxos/debug";
|
|
3
|
+
//#region src/ui/components/PluginManager/PluginManagerProvider.ts
|
|
4
|
+
var PluginManagerContext = createContext(void 0);
|
|
5
|
+
/**
|
|
6
|
+
* Get the plugin manager.
|
|
7
|
+
*/
|
|
8
|
+
var usePluginManager = () => useContext(PluginManagerContext) ?? raise(/* @__PURE__ */ new Error("Missing PluginManagerContext"));
|
|
9
|
+
/**
|
|
10
|
+
* Get the plugin manager, or undefined outside a provider. Surfaces and activation signals fire
|
|
11
|
+
* demand events opportunistically and must not throw when rendered standalone (stories, tests).
|
|
12
|
+
*/
|
|
13
|
+
var useOptionalPluginManager = () => useContext(PluginManagerContext);
|
|
14
|
+
/**
|
|
15
|
+
* Context provider for a plugin manager.
|
|
16
|
+
*/
|
|
17
|
+
var PluginManagerProvider = PluginManagerContext.Provider;
|
|
18
|
+
//#endregion
|
|
19
|
+
export { PluginManagerProvider, useOptionalPluginManager, usePluginManager };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=PluginManagerProvider.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PluginManagerProvider.mjs","names":[],"sources":["../../src/ui/components/PluginManager/PluginManagerProvider.ts"],"sourcesContent":["//\n// Copyright 2024 DXOS.org\n//\n\nimport { createContext, useContext } from 'react';\n\nimport { raise } from '@dxos/debug';\n\nimport { type PluginManager } from '../../../core/index.ts';\n\nconst PluginManagerContext = createContext<PluginManager.PluginManager | undefined>(undefined);\n\n/**\n * Get the plugin manager.\n */\nexport const usePluginManager = (): PluginManager.PluginManager =>\n useContext(PluginManagerContext) ?? raise(new Error('Missing PluginManagerContext'));\n\n/**\n * Get the plugin manager, or undefined outside a provider. Surfaces and activation signals fire\n * demand events opportunistically and must not throw when rendered standalone (stories, tests).\n */\nexport const useOptionalPluginManager = (): PluginManager.PluginManager | undefined => useContext(PluginManagerContext);\n\n/**\n * Context provider for a plugin manager.\n */\nexport const PluginManagerProvider = PluginManagerContext.Provider;\n"],"mappings":";;;AAUA,IAAM,uBAAuB,cAAuD,KAAA,CAAS;;;;AAK7F,IAAa,yBACX,WAAW,oBAAoB,KAAK,sBAAM,IAAI,MAAM,8BAA8B,CAAC;;;;;AAMrF,IAAa,iCAA0E,WAAW,oBAAoB;;;;AAKtH,IAAa,wBAAwB,qBAAqB"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { d as SurfaceManagerProvider, f as useSurfaceManager, t as SurfaceManager } from "./chunk-SurfaceManager.mjs";
|
|
2
|
+
import { i as Surface_exports } from "./chunk-Surface.mjs";
|
|
3
|
+
export { Surface_exports as Surface, SurfaceManager, SurfaceManagerProvider, useSurfaceManager };
|