@dxos/app-framework 0.8.4-main.74a063c4e0 → 0.8.4-main.765dc60934
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/LICENSE +102 -5
- package/README.md +1 -1
- package/dist/lib/browser/{capability-OP63CD5N.mjs → capability-HRFPP52W.mjs} +11 -11
- package/dist/lib/browser/capability-HRFPP52W.mjs.map +7 -0
- package/dist/lib/browser/{capability-BBBBAPDI.mjs → capability-VQ236TY5.mjs} +10 -10
- package/dist/lib/browser/{chunk-T3Y4AEKX.mjs → chunk-23D4SJUE.mjs} +3 -3
- package/dist/lib/browser/{chunk-T3Y4AEKX.mjs.map → chunk-23D4SJUE.mjs.map} +1 -1
- package/dist/lib/browser/{chunk-2CKCJ6PN.mjs → chunk-3JWJXGLK.mjs} +1 -1
- package/dist/lib/browser/{chunk-2CKCJ6PN.mjs.map → chunk-3JWJXGLK.mjs.map} +1 -1
- package/dist/lib/browser/{chunk-I34GF4NG.mjs → chunk-45CHLTBV.mjs} +2 -2
- package/dist/lib/browser/{chunk-QSXYHXCE.mjs → chunk-66IXTIVK.mjs} +1 -1
- package/dist/lib/browser/{chunk-QSXYHXCE.mjs.map → chunk-66IXTIVK.mjs.map} +2 -2
- package/dist/lib/browser/chunk-6GZYCP73.mjs +422 -0
- package/dist/lib/browser/chunk-6GZYCP73.mjs.map +7 -0
- package/dist/lib/browser/chunk-7VZJR2OA.mjs +581 -0
- package/dist/lib/browser/chunk-7VZJR2OA.mjs.map +7 -0
- package/dist/lib/browser/{chunk-TGX63LTL.mjs → chunk-FJ4765WW.mjs} +1 -1
- package/dist/lib/browser/{chunk-TGX63LTL.mjs.map → chunk-FJ4765WW.mjs.map} +2 -2
- package/dist/lib/browser/chunk-FO3IYSLV.mjs +68 -0
- package/dist/lib/browser/chunk-FO3IYSLV.mjs.map +7 -0
- package/dist/lib/browser/{chunk-FU4GAFUQ.mjs → chunk-G6Q2M2M5.mjs} +85 -15
- package/dist/lib/browser/chunk-G6Q2M2M5.mjs.map +7 -0
- package/dist/lib/browser/chunk-J43JDWAV.mjs +1445 -0
- package/dist/lib/browser/chunk-J43JDWAV.mjs.map +7 -0
- package/dist/lib/browser/{chunk-JKWMHZP6.mjs → chunk-WBHCSOBW.mjs} +2 -2
- package/dist/lib/browser/chunk-WBHCSOBW.mjs.map +7 -0
- package/dist/lib/browser/chunk-XLYULXAO.mjs +469 -0
- package/dist/lib/browser/chunk-XLYULXAO.mjs.map +7 -0
- package/dist/lib/browser/{chunk-F7FW2RK2.mjs → chunk-ZGJAZSNE.mjs} +7 -32
- package/dist/lib/browser/chunk-ZGJAZSNE.mjs.map +7 -0
- package/dist/lib/browser/cli/index.mjs +14 -28
- package/dist/lib/browser/cli/index.mjs.map +3 -3
- package/dist/lib/browser/common/activation-events.mjs +7 -7
- package/dist/lib/browser/common/capabilities.mjs +7 -7
- package/dist/lib/browser/core/activation-event.mjs +1 -1
- package/dist/lib/browser/core/capability.mjs +1 -1
- package/dist/lib/browser/core/plugin-manager.mjs +8 -4
- package/dist/lib/browser/core/plugin.mjs +12 -2
- package/dist/lib/browser/core/url-loader.mjs +17 -5
- package/dist/lib/browser/index.mjs +38 -21
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{invoker-capability-H5PPENOC.mjs → invoker-capability-CEL2L6GX.mjs} +12 -11
- package/dist/lib/browser/invoker-capability-CEL2L6GX.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +149 -28
- package/dist/lib/browser/testing/index.mjs.map +4 -4
- package/dist/lib/browser/testing/react.mjs +78 -0
- package/dist/lib/browser/testing/react.mjs.map +7 -0
- package/dist/lib/browser/ui/index.mjs +18 -14
- package/dist/lib/node-esm/{capability-AWBEMRYR.mjs → capability-GS3XJH74.mjs} +10 -10
- package/dist/lib/node-esm/{capability-WFEG6CIZ.mjs → capability-I5P7ACFL.mjs} +11 -11
- package/dist/lib/node-esm/capability-I5P7ACFL.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-FKE4Z3D6.mjs → chunk-37Z53PXZ.mjs} +1 -1
- package/dist/lib/node-esm/{chunk-FKE4Z3D6.mjs.map → chunk-37Z53PXZ.mjs.map} +2 -2
- package/dist/lib/node-esm/chunk-4RJL37GN.mjs +423 -0
- package/dist/lib/node-esm/chunk-4RJL37GN.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-WZCSOX5Q.mjs → chunk-6XW6LET6.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-URWHJQT2.mjs → chunk-D347W3KO.mjs} +7 -32
- package/dist/lib/node-esm/chunk-D347W3KO.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-DW45NFLW.mjs +1446 -0
- package/dist/lib/node-esm/chunk-DW45NFLW.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-EI4LYXFY.mjs +470 -0
- package/dist/lib/node-esm/chunk-EI4LYXFY.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-ULUEXB7Q.mjs → chunk-KIFOQXD4.mjs} +85 -15
- package/dist/lib/node-esm/chunk-KIFOQXD4.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-VKHGNEDB.mjs → chunk-SBS2YMPT.mjs} +3 -3
- package/dist/lib/node-esm/{chunk-VKHGNEDB.mjs.map → chunk-SBS2YMPT.mjs.map} +1 -1
- package/dist/lib/node-esm/{chunk-42KBWDE4.mjs → chunk-SDJ4B2LU.mjs} +1 -1
- package/dist/lib/node-esm/{chunk-42KBWDE4.mjs.map → chunk-SDJ4B2LU.mjs.map} +1 -1
- package/dist/lib/node-esm/chunk-V24UWT36.mjs +582 -0
- package/dist/lib/node-esm/chunk-V24UWT36.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-G3RTFSNG.mjs → chunk-WFSRZKBP.mjs} +2 -2
- package/dist/lib/node-esm/chunk-WFSRZKBP.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-WK7OIQKI.mjs +70 -0
- package/dist/lib/node-esm/chunk-WK7OIQKI.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-ZZ7CKK6W.mjs → chunk-XOCUANHO.mjs} +1 -1
- package/dist/lib/node-esm/{chunk-ZZ7CKK6W.mjs.map → chunk-XOCUANHO.mjs.map} +2 -2
- package/dist/lib/node-esm/cli/index.mjs +14 -28
- package/dist/lib/node-esm/cli/index.mjs.map +3 -3
- package/dist/lib/node-esm/common/activation-events.mjs +7 -7
- package/dist/lib/node-esm/common/capabilities.mjs +7 -7
- package/dist/lib/node-esm/core/activation-event.mjs +1 -1
- package/dist/lib/node-esm/core/capability.mjs +1 -1
- package/dist/lib/node-esm/core/plugin-manager.mjs +8 -4
- package/dist/lib/node-esm/core/plugin.mjs +12 -2
- package/dist/lib/node-esm/core/url-loader.mjs +17 -5
- package/dist/lib/node-esm/index.mjs +38 -21
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{invoker-capability-S3ZA527J.mjs → invoker-capability-QKUKN2MF.mjs} +12 -11
- package/dist/lib/node-esm/invoker-capability-QKUKN2MF.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/testing/index.mjs +149 -28
- package/dist/lib/node-esm/testing/index.mjs.map +4 -4
- package/dist/lib/node-esm/testing/react.mjs +79 -0
- package/dist/lib/node-esm/testing/react.mjs.map +7 -0
- package/dist/lib/node-esm/ui/index.mjs +18 -14
- package/dist/plugin/node-esm/index.mjs +542 -33
- package/dist/plugin/node-esm/index.mjs.map +4 -4
- package/dist/plugin/node-esm/meta.json +1 -1
- package/dist/types/src/common/annotations.d.ts +1 -0
- package/dist/types/src/common/annotations.d.ts.map +1 -0
- package/dist/types/src/common/capabilities.d.ts +2 -1
- package/dist/types/src/common/capabilities.d.ts.map +1 -1
- package/dist/types/src/common/operations.d.ts +1 -1
- package/dist/types/src/common/operations.d.ts.map +1 -1
- package/dist/types/src/core/activation-event.d.ts +4 -4
- package/dist/types/src/core/activation-event.d.ts.map +1 -1
- package/dist/types/src/core/capability-manager.d.ts.map +1 -1
- package/dist/types/src/core/capability.d.ts +2 -2
- package/dist/types/src/core/capability.d.ts.map +1 -1
- package/dist/types/src/core/edge-registry-plugin-provider.d.ts +30 -0
- package/dist/types/src/core/edge-registry-plugin-provider.d.ts.map +1 -0
- package/dist/types/src/core/index.d.ts +5 -0
- package/dist/types/src/core/index.d.ts.map +1 -1
- package/dist/types/src/core/plugin-asset-cache.d.ts +71 -0
- package/dist/types/src/core/plugin-asset-cache.d.ts.map +1 -0
- package/dist/types/src/core/plugin-manager.d.ts +230 -5
- package/dist/types/src/core/plugin-manager.d.ts.map +1 -1
- package/dist/types/src/core/plugin-manifest.d.ts +101 -0
- package/dist/types/src/core/plugin-manifest.d.ts.map +1 -0
- package/dist/types/src/core/plugin-manifest.test.d.ts +2 -0
- package/dist/types/src/core/plugin-manifest.test.d.ts.map +1 -0
- package/dist/types/src/core/plugin.d.ts +164 -6
- package/dist/types/src/core/plugin.d.ts.map +1 -1
- package/dist/types/src/core/registry.d.ts +107 -0
- package/dist/types/src/core/registry.d.ts.map +1 -0
- package/dist/types/src/core/url-loader.d.ts +105 -3
- package/dist/types/src/core/url-loader.d.ts.map +1 -1
- package/dist/types/src/helpers.d.ts.map +1 -1
- package/dist/types/src/plugin-operation/history/capability.d.ts.map +1 -1
- package/dist/types/src/plugin-operation/history/errors.d.ts +6 -6
- package/dist/types/src/plugin-operation/history/errors.d.ts.map +1 -1
- package/dist/types/src/plugin-operation/history/history-tracker.d.ts +1 -1
- package/dist/types/src/plugin-operation/history/history-tracker.d.ts.map +1 -1
- package/dist/types/src/plugin-operation/history/types.d.ts +1 -1
- package/dist/types/src/plugin-operation/history/types.d.ts.map +1 -1
- package/dist/types/src/plugin-operation/history/undo-mapping.d.ts +1 -1
- package/dist/types/src/plugin-operation/history/undo-mapping.d.ts.map +1 -1
- package/dist/types/src/plugin-operation/history/undo-registry.d.ts +1 -1
- package/dist/types/src/plugin-operation/history/undo-registry.d.ts.map +1 -1
- package/dist/types/src/plugin-operation/invoker-capability.d.ts +1 -1
- package/dist/types/src/plugin-operation/invoker-capability.d.ts.map +1 -1
- package/dist/types/src/plugin-operation/meta.d.ts.map +1 -1
- package/dist/types/src/plugin-operation/testing.d.ts +2 -1
- package/dist/types/src/plugin-operation/testing.d.ts.map +1 -1
- package/dist/types/src/plugin-runtime/capability.d.ts +1 -1
- package/dist/types/src/plugin-runtime/capability.d.ts.map +1 -1
- package/dist/types/src/plugin-runtime/meta.d.ts.map +1 -1
- package/dist/types/src/testing/harness.d.ts +67 -0
- package/dist/types/src/testing/harness.d.ts.map +1 -0
- package/dist/types/src/testing/index.d.ts +1 -0
- package/dist/types/src/testing/index.d.ts.map +1 -1
- package/dist/types/src/testing/react.d.ts +27 -0
- package/dist/types/src/testing/react.d.ts.map +1 -0
- package/dist/types/src/testing/react.test.d.ts +2 -0
- package/dist/types/src/testing/react.test.d.ts.map +1 -0
- package/dist/types/src/testing/service.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/types/src/ui/components/App/App.stories.d.ts.map +1 -1
- package/dist/types/src/ui/components/Placeholder/Placeholder.d.ts +64 -0
- package/dist/types/src/ui/components/Placeholder/Placeholder.d.ts.map +1 -0
- package/dist/types/src/ui/components/Placeholder/Placeholder.stories.d.ts +19 -0
- package/dist/types/src/ui/components/Placeholder/Placeholder.stories.d.ts.map +1 -0
- package/dist/types/src/ui/components/Placeholder/index.d.ts +2 -0
- package/dist/types/src/ui/components/Placeholder/index.d.ts.map +1 -0
- package/dist/types/src/ui/components/PluginManager/PluginManagerContext.stories.d.ts.map +1 -1
- package/dist/types/src/ui/components/Surface/SurfaceComponent.d.ts +16 -4
- 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/SurfaceInfo.d.ts.map +1 -1
- package/dist/types/src/ui/components/Surface/SurfaceProfilerContext.d.ts.map +1 -1
- package/dist/types/src/ui/components/Surface/index.d.ts +16 -6
- package/dist/types/src/ui/components/Surface/index.d.ts.map +1 -1
- package/dist/types/src/ui/components/Surface/types.d.ts +110 -9
- package/dist/types/src/ui/components/Surface/types.d.ts.map +1 -1
- package/dist/types/src/ui/components/Surface/types.test.d.ts +2 -0
- package/dist/types/src/ui/components/Surface/types.test.d.ts.map +1 -0
- package/dist/types/src/ui/components/index.d.ts +1 -0
- package/dist/types/src/ui/components/index.d.ts.map +1 -1
- package/dist/types/src/ui/hooks/useApp.d.ts +30 -3
- package/dist/types/src/ui/hooks/useApp.d.ts.map +1 -1
- package/dist/types/src/ui/hooks/useCapabilities.d.ts.map +1 -1
- package/dist/types/src/ui/hooks/useLoading.d.ts.map +1 -1
- package/dist/types/src/ui/hooks/useSettingsState.d.ts.map +1 -1
- package/dist/types/src/vite-plugin/boot-loader/BootLoader.stories.d.ts +34 -0
- package/dist/types/src/vite-plugin/boot-loader/BootLoader.stories.d.ts.map +1 -0
- package/dist/types/src/vite-plugin/boot-loader/index.d.ts +2 -0
- package/dist/types/src/vite-plugin/boot-loader/index.d.ts.map +1 -0
- package/dist/types/src/vite-plugin/boot-loader/loader.d.ts +51 -0
- package/dist/types/src/vite-plugin/boot-loader/loader.d.ts.map +1 -0
- package/dist/types/src/vite-plugin/composer/index.d.ts +34 -0
- package/dist/types/src/vite-plugin/composer/index.d.ts.map +1 -0
- package/dist/types/src/vite-plugin/import-map/index.d.ts +28 -0
- package/dist/types/src/vite-plugin/import-map/index.d.ts.map +1 -0
- package/dist/types/src/vite-plugin/index.d.ts +4 -2
- package/dist/types/src/vite-plugin/index.d.ts.map +1 -1
- package/dist/types/src/vite-plugin/manifest.d.ts +41 -0
- package/dist/types/src/vite-plugin/manifest.d.ts.map +1 -0
- package/dist/types/src/vite-plugin/manifest.test.d.ts +2 -0
- package/dist/types/src/vite-plugin/manifest.test.d.ts.map +1 -0
- package/dist/types/src/vite-plugin/packages.d.ts +10 -4
- package/dist/types/src/vite-plugin/packages.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/moon.yml +1 -0
- package/package.json +36 -60
- package/src/cli/cli.ts +1 -1
- package/src/common/annotations.ts +3 -0
- package/src/common/capabilities.ts +2 -1
- package/src/common/operations.ts +1 -1
- package/src/core/capability.ts +1 -1
- package/src/core/edge-registry-plugin-provider.ts +92 -0
- package/src/core/index.ts +5 -0
- package/src/core/plugin-asset-cache.ts +60 -0
- package/src/core/plugin-manager.test.ts +793 -7
- package/src/core/plugin-manager.ts +846 -44
- package/src/core/plugin-manifest.test.ts +75 -0
- package/src/core/plugin-manifest.ts +134 -0
- package/src/core/plugin.ts +170 -10
- package/src/core/registry.ts +163 -0
- package/src/core/url-loader.test.ts +148 -6
- package/src/core/url-loader.ts +284 -44
- package/src/plugin-operation/OperationPlugin.ts +2 -2
- package/src/plugin-operation/history/capability.ts +1 -1
- package/src/plugin-operation/history/history-tracker.test.ts +2 -1
- package/src/plugin-operation/history/history-tracker.ts +1 -1
- package/src/plugin-operation/history/types.ts +1 -1
- package/src/plugin-operation/history/undo-mapping.ts +1 -1
- package/src/plugin-operation/history/undo-registry.ts +1 -1
- package/src/plugin-operation/invoker-capability.ts +2 -1
- package/src/plugin-operation/meta.ts +1 -0
- package/src/plugin-operation/testing.ts +2 -1
- package/src/plugin-runtime/RuntimePlugin.ts +2 -2
- package/src/plugin-runtime/meta.ts +1 -0
- package/src/testing/harness.ts +229 -0
- package/src/testing/index.ts +1 -0
- package/src/testing/react.test.tsx +48 -0
- package/src/testing/react.tsx +113 -0
- package/src/testing/service.ts +1 -1
- package/src/testing/withPluginManager.stories.tsx +1 -1
- package/src/testing/withPluginManager.tsx +0 -2
- package/src/ui/components/App/App.stories.tsx +2 -6
- package/src/ui/components/App/App.tsx +25 -2
- package/src/ui/components/Placeholder/Placeholder.stories.tsx +77 -0
- package/src/ui/components/Placeholder/Placeholder.tsx +155 -0
- package/src/ui/components/Placeholder/index.ts +5 -0
- package/src/ui/components/PluginManager/PluginManagerContext.stories.tsx +4 -2
- package/src/ui/components/Surface/SurfaceComponent.stories.tsx +1 -1
- package/src/ui/components/Surface/SurfaceComponent.tsx +85 -48
- package/src/ui/components/Surface/SurfaceInfo.tsx +0 -1
- package/src/ui/components/Surface/index.ts +20 -1
- package/src/ui/components/Surface/types.test.ts +126 -0
- package/src/ui/components/Surface/types.ts +164 -12
- package/src/ui/components/index.ts +1 -0
- package/src/ui/hooks/useApp.test.tsx +1 -1
- package/src/ui/hooks/useApp.tsx +177 -42
- package/src/ui/hooks/useLoading.tsx +14 -6
- package/src/vite-plugin/boot-loader/BootLoader.stories.tsx +270 -0
- package/src/vite-plugin/boot-loader/boot-loader.css +321 -0
- package/src/vite-plugin/boot-loader/boot-loader.js +325 -0
- package/src/vite-plugin/boot-loader/index.ts +5 -0
- package/src/vite-plugin/boot-loader/loader.ts +123 -0
- package/src/vite-plugin/composer/index.ts +306 -0
- package/src/vite-plugin/import-map/index.ts +527 -0
- package/src/vite-plugin/index.ts +6 -2
- package/src/vite-plugin/manifest.test.ts +46 -0
- package/src/vite-plugin/manifest.ts +57 -0
- package/src/vite-plugin/packages.ts +168 -10
- package/tsconfig.json +16 -1
- package/.swc/plugins/linux_x86_64_19.0.0/727453fb3a62f7f1d952a41e051ca8a6f88cadc45cee43c6a4d1aa45f9b75665.wasmer-v7 +0 -0
- package/dist/lib/browser/capability-OP63CD5N.mjs.map +0 -7
- package/dist/lib/browser/chunk-F7FW2RK2.mjs.map +0 -7
- package/dist/lib/browser/chunk-FU4GAFUQ.mjs.map +0 -7
- package/dist/lib/browser/chunk-GX4TUNM6.mjs +0 -963
- package/dist/lib/browser/chunk-GX4TUNM6.mjs.map +0 -7
- package/dist/lib/browser/chunk-JKWMHZP6.mjs.map +0 -7
- package/dist/lib/browser/chunk-LVJW5EFU.mjs +0 -157
- package/dist/lib/browser/chunk-LVJW5EFU.mjs.map +0 -7
- package/dist/lib/browser/chunk-RFSO3JRG.mjs +0 -1
- package/dist/lib/browser/chunk-RFSO3JRG.mjs.map +0 -7
- package/dist/lib/browser/chunk-WPE6AL7I.mjs +0 -905
- package/dist/lib/browser/chunk-WPE6AL7I.mjs.map +0 -7
- package/dist/lib/browser/invoker-capability-H5PPENOC.mjs.map +0 -7
- package/dist/lib/node-esm/capability-WFEG6CIZ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-4A3ZCMI3.mjs +0 -158
- package/dist/lib/node-esm/chunk-4A3ZCMI3.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-BCEOLX47.mjs +0 -964
- package/dist/lib/node-esm/chunk-BCEOLX47.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-EL3R25OQ.mjs +0 -2
- package/dist/lib/node-esm/chunk-EL3R25OQ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-G3RTFSNG.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-LQKOTNJW.mjs +0 -906
- package/dist/lib/node-esm/chunk-LQKOTNJW.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ULUEXB7Q.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-URWHJQT2.mjs.map +0 -7
- package/dist/lib/node-esm/invoker-capability-S3ZA527J.mjs.map +0 -7
- package/dist/types/src/vite-plugin/composer-plugin.d.ts +0 -18
- package/dist/types/src/vite-plugin/composer-plugin.d.ts.map +0 -1
- package/dist/types/src/vite-plugin/import-map-plugin.d.ts +0 -16
- package/dist/types/src/vite-plugin/import-map-plugin.d.ts.map +0 -1
- package/src/vite-plugin/composer-plugin.ts +0 -128
- package/src/vite-plugin/import-map-plugin.ts +0 -314
- /package/dist/lib/browser/{capability-BBBBAPDI.mjs.map → capability-VQ236TY5.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-I34GF4NG.mjs.map → chunk-45CHLTBV.mjs.map} +0 -0
- /package/dist/lib/node-esm/{capability-AWBEMRYR.mjs.map → capability-GS3XJH74.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-WZCSOX5Q.mjs.map → chunk-6XW6LET6.mjs.map} +0 -0
package/moon.yml
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/app-framework",
|
|
3
|
-
"version": "0.8.4-main.
|
|
3
|
+
"version": "0.8.4-main.765dc60934",
|
|
4
4
|
"description": "A framework for building applications from composible plugins.",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"type": "git",
|
|
9
9
|
"url": "https://github.com/dxos/dxos"
|
|
10
10
|
},
|
|
11
|
-
"license": "
|
|
11
|
+
"license": "FSL-1.1-Apache-2.0",
|
|
12
12
|
"author": "DXOS.org",
|
|
13
13
|
"sideEffects": false,
|
|
14
14
|
"type": "module",
|
|
@@ -77,6 +77,12 @@
|
|
|
77
77
|
"node": "./dist/lib/node-esm/testing/index.mjs",
|
|
78
78
|
"types": "./dist/types/src/testing/index.d.ts"
|
|
79
79
|
},
|
|
80
|
+
"./testing-react": {
|
|
81
|
+
"source": "./src/testing/react.tsx",
|
|
82
|
+
"browser": "./dist/lib/browser/testing/react.mjs",
|
|
83
|
+
"node": "./dist/lib/node-esm/testing/react.mjs",
|
|
84
|
+
"types": "./dist/types/src/testing/react.d.ts"
|
|
85
|
+
},
|
|
80
86
|
"./ui": {
|
|
81
87
|
"source": "./src/ui/index.ts",
|
|
82
88
|
"browser": "./dist/lib/browser/ui/index.mjs",
|
|
@@ -85,80 +91,50 @@
|
|
|
85
91
|
}
|
|
86
92
|
},
|
|
87
93
|
"types": "dist/types/src/index.d.ts",
|
|
88
|
-
"typesVersions": {
|
|
89
|
-
"*": {
|
|
90
|
-
"ActivationEvent": [
|
|
91
|
-
"dist/types/src/activation-event/index.d.ts"
|
|
92
|
-
],
|
|
93
|
-
"ActivationEvents": [
|
|
94
|
-
"dist/types/src/common/activation-events.d.ts"
|
|
95
|
-
],
|
|
96
|
-
"Capabilities": [
|
|
97
|
-
"dist/types/src/common/capabilities.d.ts"
|
|
98
|
-
],
|
|
99
|
-
"Capability": [
|
|
100
|
-
"dist/types/src/capability/index.d.ts"
|
|
101
|
-
],
|
|
102
|
-
"Plugin": [
|
|
103
|
-
"dist/types/src/plugin/index.d.ts"
|
|
104
|
-
],
|
|
105
|
-
"PluginManager": [
|
|
106
|
-
"dist/types/src/plugin-manager/index.d.ts"
|
|
107
|
-
],
|
|
108
|
-
"UrlLoader": [
|
|
109
|
-
"dist/types/src/url-loader/index.d.ts"
|
|
110
|
-
],
|
|
111
|
-
"vite-plugin": [
|
|
112
|
-
"dist/types/src/vite-plugin/index.d.ts"
|
|
113
|
-
],
|
|
114
|
-
"cli": [
|
|
115
|
-
"dist/types/src/cli/index.d.ts"
|
|
116
|
-
],
|
|
117
|
-
"testing": [
|
|
118
|
-
"dist/types/src/testing/index.d.ts"
|
|
119
|
-
],
|
|
120
|
-
"ui": [
|
|
121
|
-
"dist/types/src/ui/index.d.ts"
|
|
122
|
-
]
|
|
123
|
-
}
|
|
124
|
-
},
|
|
125
94
|
"dependencies": {
|
|
126
95
|
"@effect/cli": "0.73.2",
|
|
127
96
|
"cjs-module-lexer": "^2.2.0",
|
|
128
|
-
"@dxos/
|
|
129
|
-
"@dxos/
|
|
130
|
-
"@dxos/
|
|
131
|
-
"@dxos/
|
|
132
|
-
"@dxos/
|
|
133
|
-
"@dxos/
|
|
134
|
-
"@dxos/invariant": "0.8.4-main.
|
|
135
|
-
"@dxos/
|
|
136
|
-
"@dxos/
|
|
137
|
-
"@dxos/
|
|
138
|
-
"@dxos/
|
|
139
|
-
"@dxos/
|
|
140
|
-
"@dxos/
|
|
97
|
+
"@dxos/async": "0.8.4-main.765dc60934",
|
|
98
|
+
"@dxos/compute": "0.8.4-main.765dc60934",
|
|
99
|
+
"@dxos/context": "0.8.4-main.765dc60934",
|
|
100
|
+
"@dxos/debug": "0.8.4-main.765dc60934",
|
|
101
|
+
"@dxos/edge-client": "0.8.4-main.765dc60934",
|
|
102
|
+
"@dxos/errors": "0.8.4-main.765dc60934",
|
|
103
|
+
"@dxos/invariant": "0.8.4-main.765dc60934",
|
|
104
|
+
"@dxos/effect": "0.8.4-main.765dc60934",
|
|
105
|
+
"@dxos/log": "0.8.4-main.765dc60934",
|
|
106
|
+
"@dxos/operation": "0.8.4-main.765dc60934",
|
|
107
|
+
"@dxos/protocols": "0.8.4-main.765dc60934",
|
|
108
|
+
"@dxos/react-hooks": "0.8.4-main.765dc60934",
|
|
109
|
+
"@dxos/react-error-boundary": "0.8.4-main.765dc60934",
|
|
110
|
+
"@dxos/ui-theme": "0.8.4-main.765dc60934",
|
|
111
|
+
"@dxos/web-context": "0.8.4-main.765dc60934",
|
|
112
|
+
"@dxos/web-context-react": "0.8.4-main.765dc60934",
|
|
113
|
+
"@dxos/util": "0.8.4-main.765dc60934",
|
|
114
|
+
"@dxos/react-ui": "0.8.4-main.765dc60934",
|
|
115
|
+
"@dxos/echo": "0.8.4-main.765dc60934"
|
|
141
116
|
},
|
|
142
117
|
"devDependencies": {
|
|
143
118
|
"@effect-atom/atom-react": "^0.5.0",
|
|
144
119
|
"@effect/platform": "0.94.4",
|
|
145
|
-
"@effect/vitest": "0.
|
|
120
|
+
"@effect/vitest": "0.29.0",
|
|
121
|
+
"@testing-library/react": "^16.3.0",
|
|
146
122
|
"@types/react": "~19.2.7",
|
|
147
123
|
"effect": "3.20.0",
|
|
148
124
|
"react": "~19.2.3",
|
|
149
125
|
"react-dom": "~19.2.3",
|
|
150
126
|
"typedoc": "0.28.1",
|
|
151
|
-
"vite": "^
|
|
152
|
-
"@dxos/
|
|
153
|
-
"@dxos/
|
|
154
|
-
"@dxos/
|
|
155
|
-
"@dxos/
|
|
156
|
-
"@dxos/
|
|
157
|
-
"@dxos/test-utils": "0.8.4-main.74a063c4e0"
|
|
127
|
+
"vite": "^8.0.13",
|
|
128
|
+
"@dxos/brand": "0.8.4-main.765dc60934",
|
|
129
|
+
"@dxos/echo-db": "0.8.4-main.765dc60934",
|
|
130
|
+
"@dxos/random": "0.8.4-main.765dc60934",
|
|
131
|
+
"@dxos/storybook-utils": "0.8.4-main.765dc60934",
|
|
132
|
+
"@dxos/test-utils": "0.8.4-main.765dc60934"
|
|
158
133
|
},
|
|
159
134
|
"peerDependencies": {
|
|
160
135
|
"@effect-atom/atom-react": "^0.5.0",
|
|
161
136
|
"@effect/platform": "0.94.4",
|
|
137
|
+
"@testing-library/react": "^16.3.0",
|
|
162
138
|
"effect": "3.20.0",
|
|
163
139
|
"react": "~19.2.3",
|
|
164
140
|
"react-dom": "~19.2.3"
|
package/src/cli/cli.ts
CHANGED
|
@@ -17,7 +17,7 @@ const defaultPluginLoader =
|
|
|
17
17
|
Effect.sync(() => {
|
|
18
18
|
const plugin = plugins.find((plugin) => plugin.meta.id === id);
|
|
19
19
|
invariant(plugin, `Plugin not found: ${id}`);
|
|
20
|
-
return plugin;
|
|
20
|
+
return { plugin };
|
|
21
21
|
});
|
|
22
22
|
|
|
23
23
|
type SubCommands = [Command.Command<any, any, any, any>, ...Array<Command.Command<any, any, any, any>>];
|
|
@@ -9,7 +9,8 @@ import type * as Layer$ from 'effect/Layer';
|
|
|
9
9
|
import type * as ManagedRuntime$ from 'effect/ManagedRuntime';
|
|
10
10
|
import type { FC, PropsWithChildren } from 'react';
|
|
11
11
|
|
|
12
|
-
import type {
|
|
12
|
+
import type { OperationHandlerSet } from '@dxos/compute';
|
|
13
|
+
import { OperationInvoker as OperationInvoker$ } from '@dxos/operation';
|
|
13
14
|
|
|
14
15
|
import { Capability as Capability$, type PluginManager as PluginManager$ } from '../core';
|
|
15
16
|
import type {
|
package/src/common/operations.ts
CHANGED
package/src/core/capability.ts
CHANGED
|
@@ -232,7 +232,7 @@ export const getModuleTag = (capability: unknown): string | undefined => {
|
|
|
232
232
|
* export default Capability.makeModule(
|
|
233
233
|
* Effect.fnUntraced(function* (props: { observability: boolean }) {
|
|
234
234
|
* const invoker = yield* Capability.get(Capabilities.OperationInvoker);
|
|
235
|
-
* return contributes(Capabilities.
|
|
235
|
+
* return contributes(Capabilities.OperationHandler, ...);
|
|
236
236
|
* })
|
|
237
237
|
* );
|
|
238
238
|
* ```
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2026 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import * as Effect from 'effect/Effect';
|
|
6
|
+
|
|
7
|
+
import { Context } from '@dxos/context';
|
|
8
|
+
import { type EdgeHttpClient } from '@dxos/edge-client';
|
|
9
|
+
import { type PluginEntry } from '@dxos/protocols';
|
|
10
|
+
|
|
11
|
+
import * as Registry from './registry';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Maps a wire-format `PluginEntry` (from `@dxos/protocols`) to a
|
|
15
|
+
* `Registry.Plugin` (the app-framework domain type).
|
|
16
|
+
*
|
|
17
|
+
* This is the only translation seam between the two independently-defined type
|
|
18
|
+
* hierarchies — fields are mapped explicitly, with no shared type between them.
|
|
19
|
+
*/
|
|
20
|
+
const toRegistryPlugin = (entry: PluginEntry): Registry.Plugin => ({
|
|
21
|
+
id: entry.meta.id,
|
|
22
|
+
name: entry.meta.name,
|
|
23
|
+
description: entry.meta.description,
|
|
24
|
+
homePage: entry.meta.homePage,
|
|
25
|
+
source: entry.meta.source,
|
|
26
|
+
screenshots: entry.meta.screenshots ? [...entry.meta.screenshots] : undefined,
|
|
27
|
+
tags: entry.meta.tags ? [...entry.meta.tags] : undefined,
|
|
28
|
+
icon: entry.meta.icon,
|
|
29
|
+
iconHue: entry.meta.iconHue,
|
|
30
|
+
moduleUrl: entry.moduleUrl,
|
|
31
|
+
repo: entry.repo,
|
|
32
|
+
version: entry.releaseTag,
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Implements `Registry.PluginProvider` against the Edge `/registry` HTTP endpoints.
|
|
37
|
+
*
|
|
38
|
+
* Lives in app-framework (rather than the more obvious home of `@dxos/edge-client`)
|
|
39
|
+
* because edge-client doesn't depend on app-framework; siting the implementation
|
|
40
|
+
* here keeps the dependency arrow `app-framework → edge-client` and avoids a
|
|
41
|
+
* cycle. The class needs only the public `EdgeHttpClient` type, so a one-way
|
|
42
|
+
* type-import is enough.
|
|
43
|
+
*
|
|
44
|
+
* `listVersions` is currently a stub: it returns the single latest version derived
|
|
45
|
+
* from the cached plugin list, so the host's version picker has something to render.
|
|
46
|
+
* The wire contract for the real endpoint already exists — see
|
|
47
|
+
* `GetPluginVersionsResponseBodySchema` in `@dxos/protocols/edge/registry` and
|
|
48
|
+
* {@link EdgeHttpClient.getRegistryPluginVersions} — so once Edge ships
|
|
49
|
+
* `GET /registry/plugins/:repo/versions`, swap this stub for a call to
|
|
50
|
+
* `this._client.getRegistryPluginVersions(...)` and map each entry through a
|
|
51
|
+
* `toRegistryPluginVersion` helper (mirror of {@link toRegistryPlugin}).
|
|
52
|
+
*/
|
|
53
|
+
export class EdgeRegistryPluginProvider implements Registry.PluginProvider {
|
|
54
|
+
// Cached on first load so getPlugin/listVersions can resolve without re-fetching.
|
|
55
|
+
#cachedPlugins: readonly Registry.Plugin[] = [];
|
|
56
|
+
|
|
57
|
+
constructor(private readonly _client: EdgeHttpClient) {}
|
|
58
|
+
|
|
59
|
+
listPlugins(): Effect.Effect<readonly Registry.Plugin[], Error> {
|
|
60
|
+
return Effect.tryPromise({
|
|
61
|
+
try: () => this._client.getRegistryPlugins(Context.default()),
|
|
62
|
+
catch: (error) => (error instanceof Error ? error : new Error(String(error))),
|
|
63
|
+
}).pipe(
|
|
64
|
+
Effect.map((body) => {
|
|
65
|
+
const plugins = body.plugins.filter((entry) => entry.health === 'ok').map(toRegistryPlugin);
|
|
66
|
+
this.#cachedPlugins = plugins;
|
|
67
|
+
return plugins;
|
|
68
|
+
}),
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
listVersions(repo: string): Effect.Effect<readonly Registry.PluginVersion[], Error> {
|
|
73
|
+
// Stub: return only the currently-known version until Edge implements the versions endpoint.
|
|
74
|
+
const plugin = this.#cachedPlugins.find((candidate) => candidate.repo === repo);
|
|
75
|
+
if (!plugin) {
|
|
76
|
+
return Effect.fail(new Error(`Plugin not found in catalog: ${repo}`));
|
|
77
|
+
}
|
|
78
|
+
const version: Registry.PluginVersion = { tag: plugin.version, moduleUrl: plugin.moduleUrl };
|
|
79
|
+
return Effect.succeed([version]);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
getPlugin(repo: string, version?: string): Effect.Effect<Registry.Plugin, Error> {
|
|
83
|
+
const plugin = this.#cachedPlugins.find((p) => p.repo === repo);
|
|
84
|
+
if (!plugin) {
|
|
85
|
+
return Effect.fail(new Error(`Plugin not found in catalog: ${repo}`));
|
|
86
|
+
}
|
|
87
|
+
if (version && version !== plugin.version) {
|
|
88
|
+
return Effect.fail(new Error(`Version ${version} not available for ${repo}; only ${plugin.version} is cached`));
|
|
89
|
+
}
|
|
90
|
+
return Effect.succeed(plugin);
|
|
91
|
+
}
|
|
92
|
+
}
|
package/src/core/index.ts
CHANGED
|
@@ -6,5 +6,10 @@ export * as ActivationEvent from './activation-event';
|
|
|
6
6
|
export * as Capability from './capability';
|
|
7
7
|
export * as CapabilityManager from './capability-manager';
|
|
8
8
|
export * as Plugin from './plugin';
|
|
9
|
+
export * as PluginAssetCache from './plugin-asset-cache';
|
|
9
10
|
export * as PluginManager from './plugin-manager';
|
|
11
|
+
export * as PluginManifest from './plugin-manifest';
|
|
12
|
+
export { PLUGIN_DEV_SERVER_PORT } from './plugin-manifest';
|
|
13
|
+
export * as Registry from './registry';
|
|
14
|
+
export { EdgeRegistryPluginProvider } from './edge-registry-plugin-provider';
|
|
10
15
|
export * as UrlLoader from './url-loader';
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2026 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import * as Effect from 'effect/Effect';
|
|
6
|
+
|
|
7
|
+
import { BaseError } from '@dxos/errors';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Tagged error for cache operations. Construction sites supply `context.operation`
|
|
11
|
+
* (one of `'cache' | 'evict' | 'resolve' | 'list'`) and `context.pluginId` so
|
|
12
|
+
* downstream handlers can route on the failed call without scanning the message.
|
|
13
|
+
*/
|
|
14
|
+
export class PluginAssetCacheError extends BaseError.extend(
|
|
15
|
+
'PluginAssetCacheError',
|
|
16
|
+
'Plugin asset cache operation failed',
|
|
17
|
+
) {}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Per-platform offline cache for third-party plugin assets.
|
|
21
|
+
*
|
|
22
|
+
* Implementations live alongside their platform glue (composer-app's
|
|
23
|
+
* `asset-cache/{tauri,service-worker}.ts`); the no-op default is for tests
|
|
24
|
+
* and unsupported environments.
|
|
25
|
+
*/
|
|
26
|
+
export interface Cache {
|
|
27
|
+
/**
|
|
28
|
+
* Persist all listed URLs under the namespace of `pluginId`. Idempotent.
|
|
29
|
+
* The order of `urls` is significant — the first entry is treated as the entry module.
|
|
30
|
+
*/
|
|
31
|
+
cache(pluginId: string, urls: readonly string[]): Effect.Effect<void, PluginAssetCacheError>;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Drop all assets for a plugin (uninstall).
|
|
35
|
+
*/
|
|
36
|
+
evict(pluginId: string): Effect.Effect<void, PluginAssetCacheError>;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Resolves a plugin asset URL to a platform-specific cached URL when one is available.
|
|
40
|
+
* Returns the original URL when no cached copy exists or the platform serves cached
|
|
41
|
+
* responses transparently (e.g. service worker fetch interception on web).
|
|
42
|
+
*/
|
|
43
|
+
resolve(pluginId: string, url: string): Effect.Effect<string, PluginAssetCacheError>;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* List currently cached plugin ids (diagnostic).
|
|
47
|
+
*/
|
|
48
|
+
list(): Effect.Effect<readonly string[], PluginAssetCacheError>;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* No-op implementation. Used when no platform cache is registered (tests, unsupported environments).
|
|
53
|
+
* Plugins still load — they just have no offline guarantee.
|
|
54
|
+
*/
|
|
55
|
+
export const noop = (): Cache => ({
|
|
56
|
+
cache: () => Effect.void,
|
|
57
|
+
evict: () => Effect.void,
|
|
58
|
+
resolve: (_pluginId, url) => Effect.succeed(url),
|
|
59
|
+
list: () => Effect.succeed([] as readonly string[]),
|
|
60
|
+
});
|