@dxos/app-framework 0.8.4-main.a4bbb77 → 0.8.4-main.abd8ff62ef
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.storybook/main.mts +2 -4
- package/.storybook/preview.mts +2 -2
- package/dist/lib/browser/capability-Q5XRXRD2.mjs +38 -0
- package/dist/lib/browser/capability-Q5XRXRD2.mjs.map +7 -0
- package/dist/lib/browser/capability-V7LR4LQN.mjs +35 -0
- package/dist/lib/browser/capability-V7LR4LQN.mjs.map +7 -0
- package/dist/lib/browser/chunk-23D4SJUE.mjs +42 -0
- package/dist/lib/browser/chunk-23D4SJUE.mjs.map +7 -0
- package/dist/lib/browser/chunk-3JWJXGLK.mjs +79 -0
- package/dist/lib/browser/chunk-3JWJXGLK.mjs.map +7 -0
- package/dist/lib/browser/chunk-3ZS2A3DN.mjs +907 -0
- package/dist/lib/browser/chunk-3ZS2A3DN.mjs.map +7 -0
- package/dist/lib/browser/chunk-45CHLTBV.mjs +34 -0
- package/dist/lib/browser/chunk-45CHLTBV.mjs.map +7 -0
- package/dist/lib/browser/chunk-5LAIGWLU.mjs +467 -0
- package/dist/lib/browser/chunk-5LAIGWLU.mjs.map +7 -0
- package/dist/lib/browser/chunk-66IXTIVK.mjs +48 -0
- package/dist/lib/browser/chunk-66IXTIVK.mjs.map +7 -0
- package/dist/lib/browser/chunk-FJ4765WW.mjs +8 -0
- package/dist/lib/browser/chunk-FJ4765WW.mjs.map +7 -0
- package/dist/lib/browser/chunk-G7SDBRKH.mjs +1 -0
- package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
- package/dist/lib/browser/chunk-JXCBZSBJ.mjs +372 -0
- package/dist/lib/browser/chunk-JXCBZSBJ.mjs.map +7 -0
- package/dist/lib/browser/chunk-MX5DKEJH.mjs +584 -0
- package/dist/lib/browser/chunk-MX5DKEJH.mjs.map +7 -0
- package/dist/lib/browser/chunk-WBHCSOBW.mjs +80 -0
- package/dist/lib/browser/chunk-WBHCSOBW.mjs.map +7 -0
- package/dist/lib/browser/chunk-Z55LVAGN.mjs +213 -0
- package/dist/lib/browser/chunk-Z55LVAGN.mjs.map +7 -0
- package/dist/lib/browser/chunk-ZGJAZSNE.mjs +142 -0
- package/dist/lib/browser/chunk-ZGJAZSNE.mjs.map +7 -0
- package/dist/lib/browser/cli/index.mjs +74 -0
- package/dist/lib/browser/cli/index.mjs.map +7 -0
- package/dist/lib/browser/common/activation-events.mjs +24 -0
- package/dist/lib/browser/common/capabilities.mjs +46 -0
- package/dist/lib/browser/core/activation-event.mjs +20 -0
- package/dist/lib/browser/core/activation-event.mjs.map +7 -0
- package/dist/lib/browser/core/capability.mjs +30 -0
- package/dist/lib/browser/core/capability.mjs.map +7 -0
- package/dist/lib/browser/core/plugin-manager.mjs +17 -0
- package/dist/lib/browser/core/plugin-manager.mjs.map +7 -0
- package/dist/lib/browser/core/plugin.mjs +37 -0
- package/dist/lib/browser/core/plugin.mjs.map +7 -0
- package/dist/lib/browser/core/url-loader.mjs +20 -0
- package/dist/lib/browser/core/url-loader.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +95 -148
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/invoker-capability-LNX4CGIV.mjs +44 -0
- package/dist/lib/browser/invoker-capability-LNX4CGIV.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +227 -41
- 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 +48 -0
- package/dist/lib/browser/ui/index.mjs.map +7 -0
- package/dist/lib/node-esm/capability-EW5GJCI6.mjs +39 -0
- package/dist/lib/node-esm/capability-EW5GJCI6.mjs.map +7 -0
- package/dist/lib/node-esm/capability-YKBMMD53.mjs +36 -0
- package/dist/lib/node-esm/capability-YKBMMD53.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-37Z53PXZ.mjs +10 -0
- package/dist/lib/node-esm/chunk-37Z53PXZ.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-6XW6LET6.mjs +35 -0
- package/dist/lib/node-esm/chunk-6XW6LET6.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-D347W3KO.mjs +143 -0
- package/dist/lib/node-esm/chunk-D347W3KO.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-D5PO2WXX.mjs +373 -0
- package/dist/lib/node-esm/chunk-D5PO2WXX.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-HTBJU5FX.mjs +214 -0
- package/dist/lib/node-esm/chunk-HTBJU5FX.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-KM2F6GH6.mjs +468 -0
- package/dist/lib/node-esm/chunk-KM2F6GH6.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-OZ7DZA5Z.mjs +2 -0
- package/dist/lib/node-esm/chunk-OZ7DZA5Z.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-Q7XBFII4.mjs +908 -0
- package/dist/lib/node-esm/chunk-Q7XBFII4.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-SBS2YMPT.mjs +43 -0
- package/dist/lib/node-esm/chunk-SBS2YMPT.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-SDJ4B2LU.mjs +80 -0
- package/dist/lib/node-esm/chunk-SDJ4B2LU.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-WFSRZKBP.mjs +81 -0
- package/dist/lib/node-esm/chunk-WFSRZKBP.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-WKTLE7MG.mjs +585 -0
- package/dist/lib/node-esm/chunk-WKTLE7MG.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-XOCUANHO.mjs +49 -0
- package/dist/lib/node-esm/chunk-XOCUANHO.mjs.map +7 -0
- package/dist/lib/node-esm/cli/index.mjs +75 -0
- package/dist/lib/node-esm/cli/index.mjs.map +7 -0
- package/dist/lib/node-esm/common/activation-events.mjs +25 -0
- package/dist/lib/node-esm/common/activation-events.mjs.map +7 -0
- package/dist/lib/node-esm/common/capabilities.mjs +47 -0
- package/dist/lib/node-esm/common/capabilities.mjs.map +7 -0
- package/dist/lib/node-esm/core/activation-event.mjs +21 -0
- package/dist/lib/node-esm/core/activation-event.mjs.map +7 -0
- package/dist/lib/node-esm/core/capability.mjs +31 -0
- package/dist/lib/node-esm/core/capability.mjs.map +7 -0
- package/dist/lib/node-esm/core/plugin-manager.mjs +18 -0
- package/dist/lib/node-esm/core/plugin-manager.mjs.map +7 -0
- package/dist/lib/node-esm/core/plugin.mjs +38 -0
- package/dist/lib/node-esm/core/plugin.mjs.map +7 -0
- package/dist/lib/node-esm/core/url-loader.mjs +21 -0
- package/dist/lib/node-esm/core/url-loader.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +95 -148
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/invoker-capability-O4T5PHLA.mjs +45 -0
- package/dist/lib/node-esm/invoker-capability-O4T5PHLA.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/testing/index.mjs +227 -41
- 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 +49 -0
- package/dist/lib/node-esm/ui/index.mjs.map +7 -0
- package/dist/plugin/node-esm/index.mjs +832 -0
- package/dist/plugin/node-esm/index.mjs.map +7 -0
- package/dist/plugin/node-esm/meta.json +1 -0
- package/dist/types/src/cli/cli.d.ts +39 -0
- package/dist/types/src/cli/cli.d.ts.map +1 -0
- package/dist/types/src/cli/index.d.ts +2 -0
- package/dist/types/src/cli/index.d.ts.map +1 -0
- package/dist/types/src/common/activation-events.d.ts +27 -0
- package/dist/types/src/common/activation-events.d.ts.map +1 -0
- package/dist/types/src/common/capabilities.d.ts +110 -197
- package/dist/types/src/common/capabilities.d.ts.map +1 -1
- package/dist/types/src/common/index.d.ts +4 -8
- package/dist/types/src/common/index.d.ts.map +1 -1
- package/dist/types/src/common/operations.d.ts +19 -0
- package/dist/types/src/common/operations.d.ts.map +1 -0
- package/dist/types/src/common/translations.d.ts +8 -8
- package/dist/types/src/common/translations.d.ts.map +1 -1
- package/dist/types/src/context.d.ts +5 -0
- package/dist/types/src/context.d.ts.map +1 -0
- package/dist/types/src/core/{events.d.ts → activation-event.d.ts} +11 -11
- package/dist/types/src/core/activation-event.d.ts.map +1 -0
- package/dist/types/src/core/capability-manager.d.ts +48 -0
- package/dist/types/src/core/capability-manager.d.ts.map +1 -0
- package/dist/types/src/core/capability-manager.test.d.ts +2 -0
- package/dist/types/src/core/capability-manager.test.d.ts.map +1 -0
- package/dist/types/src/core/capability.d.ts +156 -0
- package/dist/types/src/core/capability.d.ts.map +1 -0
- package/dist/types/src/core/index.d.ts +8 -4
- 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 +122 -0
- package/dist/types/src/core/plugin-manager.d.ts.map +1 -0
- package/dist/types/src/core/plugin-manager.test.d.ts +2 -0
- package/dist/types/src/core/plugin-manager.test.d.ts.map +1 -0
- package/dist/types/src/core/plugin-manifest.d.ts +76 -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 +207 -39
- package/dist/types/src/core/plugin.d.ts.map +1 -1
- package/dist/types/src/core/url-loader.d.ts +112 -0
- package/dist/types/src/core/url-loader.d.ts.map +1 -0
- package/dist/types/src/core/url-loader.test.d.ts +2 -0
- package/dist/types/src/core/url-loader.test.d.ts.map +1 -0
- package/dist/types/src/helpers.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +3 -4
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/plugin-operation/OperationPlugin.d.ts +3 -0
- package/dist/types/src/plugin-operation/OperationPlugin.d.ts.map +1 -0
- package/dist/types/src/plugin-operation/history/capability.d.ts +7 -0
- package/dist/types/src/plugin-operation/history/capability.d.ts.map +1 -0
- package/dist/types/src/plugin-operation/history/errors.d.ts +32 -0
- package/dist/types/src/plugin-operation/history/errors.d.ts.map +1 -0
- package/dist/types/src/plugin-operation/history/history-tracker.d.ts +18 -0
- package/dist/types/src/plugin-operation/history/history-tracker.d.ts.map +1 -0
- package/dist/types/src/plugin-operation/history/history-tracker.test.d.ts +2 -0
- package/dist/types/src/plugin-operation/history/history-tracker.test.d.ts.map +1 -0
- package/dist/types/src/plugin-operation/history/index.d.ts +6 -0
- package/dist/types/src/plugin-operation/history/index.d.ts.map +1 -0
- package/dist/types/src/plugin-operation/history/types.d.ts +13 -0
- package/dist/types/src/plugin-operation/history/types.d.ts.map +1 -0
- package/dist/types/src/plugin-operation/history/undo-mapping.d.ts +101 -0
- package/dist/types/src/plugin-operation/history/undo-mapping.d.ts.map +1 -0
- package/dist/types/src/plugin-operation/history/undo-registry.d.ts +23 -0
- package/dist/types/src/plugin-operation/history/undo-registry.d.ts.map +1 -0
- package/dist/types/src/plugin-operation/history/undo-registry.test.d.ts +2 -0
- package/dist/types/src/plugin-operation/history/undo-registry.test.d.ts.map +1 -0
- package/dist/types/src/plugin-operation/index.d.ts +3 -0
- package/dist/types/src/plugin-operation/index.d.ts.map +1 -0
- package/dist/types/src/plugin-operation/invoker-capability.d.ts +6 -0
- package/dist/types/src/plugin-operation/invoker-capability.d.ts.map +1 -0
- package/dist/types/src/plugin-operation/meta.d.ts +3 -0
- package/dist/types/src/plugin-operation/meta.d.ts.map +1 -0
- package/dist/types/src/plugin-operation/testing.d.ts +59 -0
- package/dist/types/src/plugin-operation/testing.d.ts.map +1 -0
- package/dist/types/src/plugin-runtime/RuntimePlugin.d.ts +3 -0
- package/dist/types/src/plugin-runtime/RuntimePlugin.d.ts.map +1 -0
- package/dist/types/src/plugin-runtime/capability.d.ts +6 -0
- package/dist/types/src/plugin-runtime/capability.d.ts.map +1 -0
- package/dist/types/src/plugin-runtime/index.d.ts +2 -0
- package/dist/types/src/plugin-runtime/index.d.ts.map +1 -0
- package/dist/types/src/plugin-runtime/meta.d.ts +3 -0
- package/dist/types/src/plugin-runtime/meta.d.ts.map +1 -0
- 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 +2 -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 +8 -0
- package/dist/types/src/testing/service.d.ts.map +1 -0
- package/dist/types/src/testing/withPluginManager.d.ts +7 -6
- 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 +9 -0
- package/dist/types/src/ui/components/App/App.d.ts.map +1 -0
- package/dist/types/src/ui/components/App/App.stories.d.ts +19 -0
- package/dist/types/src/ui/components/App/App.stories.d.ts.map +1 -0
- package/dist/types/src/ui/components/App/index.d.ts +2 -0
- package/dist/types/src/ui/components/App/index.d.ts.map +1 -0
- 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/{playground/playground.stories.d.ts → ui/components/PluginManager/PluginManagerContext.stories.d.ts} +5 -3
- package/dist/types/src/ui/components/PluginManager/PluginManagerContext.stories.d.ts.map +1 -0
- package/dist/types/src/ui/components/PluginManager/PluginManagerProvider.d.ts +10 -0
- package/dist/types/src/ui/components/PluginManager/PluginManagerProvider.d.ts.map +1 -0
- package/dist/types/src/ui/components/PluginManager/index.d.ts +2 -0
- package/dist/types/src/ui/components/PluginManager/index.d.ts.map +1 -0
- package/dist/types/src/ui/components/Surface/SurfaceComponent.d.ts +24 -0
- package/dist/types/src/ui/components/Surface/SurfaceComponent.d.ts.map +1 -0
- package/dist/types/src/{components/App.stories.d.ts → ui/components/Surface/SurfaceComponent.stories.d.ts} +1 -1
- package/dist/types/src/ui/components/Surface/SurfaceComponent.stories.d.ts.map +1 -0
- package/dist/types/src/ui/components/Surface/SurfaceInfo.d.ts +11 -0
- package/dist/types/src/ui/components/Surface/SurfaceInfo.d.ts.map +1 -0
- package/dist/types/src/ui/components/Surface/SurfaceProfilerContext.d.ts +48 -0
- package/dist/types/src/ui/components/Surface/SurfaceProfilerContext.d.ts.map +1 -0
- package/dist/types/src/ui/components/Surface/context.d.ts +5 -0
- package/dist/types/src/ui/components/Surface/context.d.ts.map +1 -0
- package/dist/types/src/ui/components/Surface/index.d.ts +36 -0
- package/dist/types/src/ui/components/Surface/index.d.ts.map +1 -0
- package/dist/types/src/ui/components/Surface/types.d.ts +197 -0
- package/dist/types/src/ui/components/Surface/types.d.ts.map +1 -0
- 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 +5 -0
- package/dist/types/src/ui/components/index.d.ts.map +1 -0
- package/dist/types/src/ui/hooks/index.d.ts +6 -0
- package/dist/types/src/ui/hooks/index.d.ts.map +1 -0
- package/dist/types/src/ui/hooks/useApp.d.ts +88 -0
- package/dist/types/src/ui/hooks/useApp.d.ts.map +1 -0
- package/dist/types/src/ui/hooks/useApp.test.d.ts +2 -0
- package/dist/types/src/ui/hooks/useApp.test.d.ts.map +1 -0
- package/dist/types/src/ui/hooks/useCapabilities.d.ts +31 -0
- package/dist/types/src/ui/hooks/useCapabilities.d.ts.map +1 -0
- package/dist/types/src/{components → ui/hooks}/useLoading.d.ts +1 -2
- package/dist/types/src/ui/hooks/useLoading.d.ts.map +1 -0
- package/dist/types/src/ui/hooks/useSettingsState.d.ts +10 -0
- package/dist/types/src/ui/hooks/useSettingsState.d.ts.map +1 -0
- package/dist/types/src/ui/hooks/useSurface.d.ts +3 -0
- package/dist/types/src/ui/hooks/useSurface.d.ts.map +1 -0
- package/dist/types/src/ui/index.d.ts +3 -0
- package/dist/types/src/ui/index.d.ts.map +1 -0
- 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 +52 -0
- package/dist/types/src/vite-plugin/boot-loader/index.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 +5 -0
- package/dist/types/src/vite-plugin/index.d.ts.map +1 -0
- package/dist/types/src/vite-plugin/manifest.d.ts +37 -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 +13 -0
- package/dist/types/src/vite-plugin/packages.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/moon.yml +25 -6
- package/package.json +112 -55
- package/src/cli/cli.ts +107 -0
- package/src/{components → cli}/index.ts +1 -1
- package/src/common/activation-events.ts +44 -0
- package/src/common/capabilities.ts +169 -210
- package/src/common/index.ts +4 -8
- package/src/common/operations.ts +35 -0
- package/src/common/translations.ts +18 -10
- package/src/context.ts +9 -0
- package/src/core/{events.ts → activation-event.ts} +10 -7
- package/src/core/capability-manager.test.ts +151 -0
- package/src/core/capability-manager.ts +192 -0
- package/src/core/capability.ts +247 -0
- package/src/core/index.ts +8 -4
- package/src/core/plugin-asset-cache.ts +60 -0
- package/src/core/plugin-manager.test.ts +1354 -0
- package/src/core/plugin-manager.ts +1025 -0
- package/src/core/plugin-manifest.test.ts +48 -0
- package/src/core/plugin-manifest.ts +102 -0
- package/src/core/plugin.ts +365 -45
- package/src/core/url-loader.test.ts +178 -0
- package/src/core/url-loader.ts +337 -0
- package/src/index.ts +3 -4
- package/src/plugin-operation/OperationPlugin.ts +24 -0
- package/src/plugin-operation/history/capability.ts +36 -0
- package/src/plugin-operation/history/errors.ts +7 -0
- package/src/plugin-operation/history/history-tracker.test.ts +374 -0
- package/src/plugin-operation/history/history-tracker.ts +128 -0
- package/src/plugin-operation/history/index.ts +9 -0
- package/src/plugin-operation/history/types.ts +17 -0
- package/src/plugin-operation/history/undo-mapping.ts +135 -0
- package/src/plugin-operation/history/undo-registry.test.ts +72 -0
- package/src/plugin-operation/history/undo-registry.ts +54 -0
- package/src/plugin-operation/index.ts +6 -0
- package/src/plugin-operation/invoker-capability.ts +55 -0
- package/src/plugin-operation/meta.ts +11 -0
- package/src/plugin-operation/testing.ts +155 -0
- package/src/plugin-runtime/RuntimePlugin.ts +19 -0
- package/src/plugin-runtime/capability.ts +53 -0
- package/src/{playground/layout → plugin-runtime}/index.ts +1 -1
- package/src/plugin-runtime/meta.ts +11 -0
- package/src/testing/harness.ts +229 -0
- package/src/testing/index.ts +2 -0
- package/src/testing/react.test.tsx +48 -0
- package/src/testing/react.tsx +113 -0
- package/src/testing/service.ts +52 -0
- package/src/testing/withPluginManager.stories.tsx +8 -9
- package/src/testing/withPluginManager.tsx +68 -40
- package/src/ui/components/App/App.stories.tsx +92 -0
- package/src/ui/components/App/App.tsx +81 -0
- package/src/{playground/debug → ui/components/App}/index.ts +1 -1
- package/src/ui/components/Placeholder/Placeholder.stories.tsx +77 -0
- package/src/ui/components/Placeholder/Placeholder.tsx +155 -0
- package/src/{playground/logger → ui/components/Placeholder}/index.ts +1 -1
- package/src/ui/components/PluginManager/PluginManagerContext.stories.tsx +185 -0
- package/src/{react → ui/components/PluginManager}/PluginManagerProvider.ts +3 -3
- package/src/ui/components/PluginManager/index.ts +5 -0
- package/src/ui/components/Surface/SurfaceComponent.stories.tsx +144 -0
- package/src/ui/components/Surface/SurfaceComponent.tsx +303 -0
- package/src/ui/components/Surface/SurfaceInfo.tsx +107 -0
- package/src/ui/components/Surface/SurfaceProfilerContext.tsx +207 -0
- package/src/ui/components/Surface/context.ts +12 -0
- package/src/ui/components/Surface/index.ts +54 -0
- package/src/ui/components/Surface/types.test.ts +126 -0
- package/src/ui/components/Surface/types.ts +269 -0
- package/src/ui/components/index.ts +8 -0
- package/src/ui/hooks/index.ts +9 -0
- package/src/ui/hooks/useApp.test.tsx +159 -0
- package/src/ui/hooks/useApp.tsx +413 -0
- package/src/ui/hooks/useCapabilities.ts +67 -0
- package/src/{components → ui/hooks}/useLoading.tsx +16 -10
- package/src/ui/hooks/useSettingsState.ts +26 -0
- package/src/ui/hooks/useSurface.ts +13 -0
- package/src/ui/index.ts +6 -0
- package/src/vite-plugin/boot-loader/BootLoader.stories.tsx +263 -0
- package/src/vite-plugin/boot-loader/boot-loader.css +294 -0
- package/src/vite-plugin/boot-loader/boot-loader.js +274 -0
- package/src/vite-plugin/boot-loader/index.ts +112 -0
- package/src/vite-plugin/composer/index.ts +277 -0
- package/src/vite-plugin/import-map/index.ts +524 -0
- package/src/vite-plugin/index.ts +10 -0
- package/src/vite-plugin/manifest.test.ts +24 -0
- package/src/vite-plugin/manifest.ts +50 -0
- package/src/vite-plugin/packages.ts +188 -0
- package/tsconfig.json +18 -15
- package/tsconfig.node.json +2 -4
- package/typedoc.json +2 -4
- package/vitest.config.ts +1 -1
- package/.swc/plugins/linux_x86_64_19.0.0/727453fb3a62f7f1d952a41e051ca8a6f88cadc45cee43c6a4d1aa45f9b75665.wasmer-v7 +0 -0
- package/.swc/plugins/linux_x86_64_19.0.0/fce1bdb8e20a094e4af08bad09cc81497ed0e2e7c51223b07d371063cca18429.wasmer-v7 +0 -0
- package/dist/lib/browser/app-graph-builder-XH4OYQLC.mjs +0 -137
- package/dist/lib/browser/app-graph-builder-XH4OYQLC.mjs.map +0 -7
- package/dist/lib/browser/chunk-6V54SRFL.mjs +0 -1638
- package/dist/lib/browser/chunk-6V54SRFL.mjs.map +0 -7
- package/dist/lib/browser/chunk-RGKMLI6U.mjs +0 -35
- package/dist/lib/browser/chunk-RGKMLI6U.mjs.map +0 -7
- package/dist/lib/browser/chunk-ZZVFNUHZ.mjs +0 -467
- package/dist/lib/browser/chunk-ZZVFNUHZ.mjs.map +0 -7
- package/dist/lib/browser/intent-dispatcher-VFMJVO2M.mjs +0 -11
- package/dist/lib/browser/intent-resolver-ICAPD4JL.mjs +0 -39
- package/dist/lib/browser/intent-resolver-ICAPD4JL.mjs.map +0 -7
- package/dist/lib/browser/store-7ZGMHOGB.mjs +0 -30
- package/dist/lib/browser/store-7ZGMHOGB.mjs.map +0 -7
- package/dist/lib/browser/worker.mjs +0 -77
- package/dist/lib/node-esm/app-graph-builder-C7H22SOL.mjs +0 -138
- package/dist/lib/node-esm/app-graph-builder-C7H22SOL.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-AXSZKZFD.mjs +0 -468
- package/dist/lib/node-esm/chunk-AXSZKZFD.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-LKPMRTRR.mjs +0 -37
- package/dist/lib/node-esm/chunk-LKPMRTRR.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-SOVTUUAY.mjs +0 -1640
- package/dist/lib/node-esm/chunk-SOVTUUAY.mjs.map +0 -7
- package/dist/lib/node-esm/intent-dispatcher-SAPOKSLZ.mjs +0 -12
- package/dist/lib/node-esm/intent-resolver-CRNJ6BMD.mjs +0 -40
- package/dist/lib/node-esm/intent-resolver-CRNJ6BMD.mjs.map +0 -7
- package/dist/lib/node-esm/store-H4F4RMYD.mjs +0 -31
- package/dist/lib/node-esm/store-H4F4RMYD.mjs.map +0 -7
- package/dist/lib/node-esm/worker.mjs +0 -78
- package/dist/types/src/common/collaboration.d.ts +0 -20
- package/dist/types/src/common/collaboration.d.ts.map +0 -1
- package/dist/types/src/common/events.d.ts +0 -52
- package/dist/types/src/common/events.d.ts.map +0 -1
- package/dist/types/src/common/file.d.ts +0 -14
- package/dist/types/src/common/file.d.ts.map +0 -1
- package/dist/types/src/common/graph.d.ts +0 -21
- package/dist/types/src/common/graph.d.ts.map +0 -1
- package/dist/types/src/common/layout.d.ts +0 -279
- package/dist/types/src/common/layout.d.ts.map +0 -1
- package/dist/types/src/common/surface.d.ts +0 -59
- package/dist/types/src/common/surface.d.ts.map +0 -1
- package/dist/types/src/components/App.d.ts +0 -10
- package/dist/types/src/components/App.d.ts.map +0 -1
- package/dist/types/src/components/App.stories.d.ts.map +0 -1
- package/dist/types/src/components/DefaultFallback.d.ts +0 -8
- package/dist/types/src/components/DefaultFallback.d.ts.map +0 -1
- package/dist/types/src/components/index.d.ts +0 -2
- package/dist/types/src/components/index.d.ts.map +0 -1
- package/dist/types/src/components/useApp.d.ts +0 -44
- package/dist/types/src/components/useApp.d.ts.map +0 -1
- package/dist/types/src/components/useLoading.d.ts.map +0 -1
- package/dist/types/src/core/capabilities.d.ts +0 -117
- package/dist/types/src/core/capabilities.d.ts.map +0 -1
- package/dist/types/src/core/capabilities.test.d.ts +0 -2
- package/dist/types/src/core/capabilities.test.d.ts.map +0 -1
- package/dist/types/src/core/events.d.ts.map +0 -1
- package/dist/types/src/core/manager.d.ts +0 -126
- package/dist/types/src/core/manager.d.ts.map +0 -1
- package/dist/types/src/core/manager.test.d.ts +0 -2
- package/dist/types/src/core/manager.test.d.ts.map +0 -1
- package/dist/types/src/playground/debug/Debug.d.ts +0 -6
- package/dist/types/src/playground/debug/Debug.d.ts.map +0 -1
- package/dist/types/src/playground/debug/index.d.ts +0 -2
- package/dist/types/src/playground/debug/index.d.ts.map +0 -1
- package/dist/types/src/playground/debug/plugin.d.ts +0 -2
- package/dist/types/src/playground/debug/plugin.d.ts.map +0 -1
- package/dist/types/src/playground/generator/Main.d.ts +0 -6
- package/dist/types/src/playground/generator/Main.d.ts.map +0 -1
- package/dist/types/src/playground/generator/Toolbar.d.ts +0 -6
- package/dist/types/src/playground/generator/Toolbar.d.ts.map +0 -1
- package/dist/types/src/playground/generator/generator.d.ts +0 -7
- package/dist/types/src/playground/generator/generator.d.ts.map +0 -1
- package/dist/types/src/playground/generator/index.d.ts +0 -3
- package/dist/types/src/playground/generator/index.d.ts.map +0 -1
- package/dist/types/src/playground/generator/plugin.d.ts +0 -2
- package/dist/types/src/playground/generator/plugin.d.ts.map +0 -1
- package/dist/types/src/playground/layout/Layout.d.ts +0 -8
- package/dist/types/src/playground/layout/Layout.d.ts.map +0 -1
- package/dist/types/src/playground/layout/index.d.ts +0 -2
- package/dist/types/src/playground/layout/index.d.ts.map +0 -1
- package/dist/types/src/playground/layout/plugin.d.ts +0 -2
- package/dist/types/src/playground/layout/plugin.d.ts.map +0 -1
- package/dist/types/src/playground/logger/Toolbar.d.ts +0 -6
- package/dist/types/src/playground/logger/Toolbar.d.ts.map +0 -1
- package/dist/types/src/playground/logger/index.d.ts +0 -2
- package/dist/types/src/playground/logger/index.d.ts.map +0 -1
- package/dist/types/src/playground/logger/plugin.d.ts +0 -2
- package/dist/types/src/playground/logger/plugin.d.ts.map +0 -1
- package/dist/types/src/playground/logger/schema.d.ts +0 -13
- package/dist/types/src/playground/logger/schema.d.ts.map +0 -1
- package/dist/types/src/playground/playground.stories.d.ts.map +0 -1
- package/dist/types/src/plugin-intent/IntentPlugin.d.ts +0 -2
- package/dist/types/src/plugin-intent/IntentPlugin.d.ts.map +0 -1
- package/dist/types/src/plugin-intent/actions.d.ts +0 -36
- package/dist/types/src/plugin-intent/actions.d.ts.map +0 -1
- package/dist/types/src/plugin-intent/errors.d.ts +0 -16
- package/dist/types/src/plugin-intent/errors.d.ts.map +0 -1
- package/dist/types/src/plugin-intent/index.d.ts +0 -6
- package/dist/types/src/plugin-intent/index.d.ts.map +0 -1
- package/dist/types/src/plugin-intent/intent-dispatcher.d.ts +0 -139
- package/dist/types/src/plugin-intent/intent-dispatcher.d.ts.map +0 -1
- package/dist/types/src/plugin-intent/intent-dispatcher.test.d.ts +0 -2
- package/dist/types/src/plugin-intent/intent-dispatcher.test.d.ts.map +0 -1
- package/dist/types/src/plugin-intent/intent.d.ts +0 -63
- package/dist/types/src/plugin-intent/intent.d.ts.map +0 -1
- package/dist/types/src/plugin-intent/meta.d.ts +0 -3
- package/dist/types/src/plugin-intent/meta.d.ts.map +0 -1
- package/dist/types/src/plugin-settings/SettingsPlugin.d.ts +0 -2
- package/dist/types/src/plugin-settings/SettingsPlugin.d.ts.map +0 -1
- package/dist/types/src/plugin-settings/actions.d.ts +0 -25
- package/dist/types/src/plugin-settings/actions.d.ts.map +0 -1
- package/dist/types/src/plugin-settings/app-graph-builder.d.ts +0 -4
- package/dist/types/src/plugin-settings/app-graph-builder.d.ts.map +0 -1
- package/dist/types/src/plugin-settings/index.d.ts +0 -3
- package/dist/types/src/plugin-settings/index.d.ts.map +0 -1
- package/dist/types/src/plugin-settings/intent-resolver.d.ts +0 -4
- package/dist/types/src/plugin-settings/intent-resolver.d.ts.map +0 -1
- package/dist/types/src/plugin-settings/meta.d.ts +0 -3
- package/dist/types/src/plugin-settings/meta.d.ts.map +0 -1
- package/dist/types/src/plugin-settings/store.d.ts +0 -5
- package/dist/types/src/plugin-settings/store.d.ts.map +0 -1
- package/dist/types/src/plugin-settings/translations.d.ts +0 -11
- package/dist/types/src/plugin-settings/translations.d.ts.map +0 -1
- package/dist/types/src/react/ErrorBoundary.d.ts +0 -30
- package/dist/types/src/react/ErrorBoundary.d.ts.map +0 -1
- package/dist/types/src/react/IntentContext.d.ts +0 -8
- package/dist/types/src/react/IntentContext.d.ts.map +0 -1
- package/dist/types/src/react/PluginManagerProvider.d.ts +0 -10
- package/dist/types/src/react/PluginManagerProvider.d.ts.map +0 -1
- package/dist/types/src/react/Surface.d.ts +0 -12
- package/dist/types/src/react/Surface.d.ts.map +0 -1
- package/dist/types/src/react/Surface.stories.d.ts +0 -17
- package/dist/types/src/react/Surface.stories.d.ts.map +0 -1
- package/dist/types/src/react/common.d.ts +0 -13
- package/dist/types/src/react/common.d.ts.map +0 -1
- package/dist/types/src/react/index.d.ts +0 -7
- package/dist/types/src/react/index.d.ts.map +0 -1
- package/dist/types/src/react/useCapabilities.d.ts +0 -13
- package/dist/types/src/react/useCapabilities.d.ts.map +0 -1
- package/dist/types/src/react/useIntentResolver.d.ts +0 -3
- package/dist/types/src/react/useIntentResolver.d.ts.map +0 -1
- package/dist/types/src/worker.d.ts +0 -4
- package/dist/types/src/worker.d.ts.map +0 -1
- package/src/common/collaboration.ts +0 -18
- package/src/common/events.ts +0 -79
- package/src/common/file.ts +0 -22
- package/src/common/graph.ts +0 -30
- package/src/common/layout.ts +0 -277
- package/src/common/surface.ts +0 -83
- package/src/components/App.stories.tsx +0 -33
- package/src/components/App.tsx +0 -59
- package/src/components/DefaultFallback.tsx +0 -26
- package/src/components/useApp.tsx +0 -164
- package/src/core/capabilities.test.ts +0 -136
- package/src/core/capabilities.ts +0 -259
- package/src/core/manager.test.ts +0 -516
- package/src/core/manager.ts +0 -597
- package/src/playground/debug/Debug.tsx +0 -39
- package/src/playground/debug/plugin.ts +0 -16
- package/src/playground/generator/Main.tsx +0 -71
- package/src/playground/generator/Toolbar.tsx +0 -47
- package/src/playground/generator/generator.ts +0 -48
- package/src/playground/generator/index.ts +0 -6
- package/src/playground/generator/plugin.ts +0 -22
- package/src/playground/layout/Layout.tsx +0 -33
- package/src/playground/layout/plugin.ts +0 -18
- package/src/playground/logger/Toolbar.tsx +0 -30
- package/src/playground/logger/plugin.ts +0 -41
- package/src/playground/logger/schema.ts +0 -12
- package/src/playground/playground.stories.tsx +0 -46
- package/src/plugin-intent/IntentPlugin.ts +0 -20
- package/src/plugin-intent/actions.ts +0 -31
- package/src/plugin-intent/errors.ts +0 -40
- package/src/plugin-intent/index.ts +0 -9
- package/src/plugin-intent/intent-dispatcher.test.ts +0 -279
- package/src/plugin-intent/intent-dispatcher.ts +0 -334
- package/src/plugin-intent/intent.ts +0 -154
- package/src/plugin-intent/meta.ts +0 -10
- package/src/plugin-settings/SettingsPlugin.ts +0 -34
- package/src/plugin-settings/actions.ts +0 -25
- package/src/plugin-settings/app-graph-builder.ts +0 -159
- package/src/plugin-settings/index.ts +0 -6
- package/src/plugin-settings/intent-resolver.ts +0 -35
- package/src/plugin-settings/meta.ts +0 -10
- package/src/plugin-settings/store.ts +0 -33
- package/src/plugin-settings/translations.ts +0 -19
- package/src/react/ErrorBoundary.tsx +0 -54
- package/src/react/IntentContext.tsx +0 -35
- package/src/react/Surface.stories.tsx +0 -101
- package/src/react/Surface.tsx +0 -86
- package/src/react/common.ts +0 -13
- package/src/react/index.ts +0 -10
- package/src/react/useCapabilities.ts +0 -31
- package/src/react/useIntentResolver.ts +0 -22
- package/src/worker.ts +0 -11
- /package/dist/lib/browser/{intent-dispatcher-VFMJVO2M.mjs.map → chunk-G7SDBRKH.mjs.map} +0 -0
- /package/dist/lib/browser/{worker.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
- /package/dist/lib/{node-esm/intent-dispatcher-SAPOKSLZ.mjs.map → browser/common/activation-events.mjs.map} +0 -0
- /package/dist/lib/{node-esm/worker.mjs.map → browser/common/capabilities.mjs.map} +0 -0
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { type Atom } from '@effect-atom/atom-react';
|
|
2
|
+
import * as Context from 'effect/Context';
|
|
3
|
+
import * as Effect from 'effect/Effect';
|
|
4
|
+
import type * as CapabilityManager from './capability-manager';
|
|
5
|
+
import type * as Plugin from './plugin';
|
|
6
|
+
declare const Service_base: Context.TagClass<Service, "@dxos/app-framework/CapabilityManager", CapabilityManager.CapabilityManager>;
|
|
7
|
+
/**
|
|
8
|
+
* Effect Context.Tag for accessing CapabilityManager via the Effect layer system.
|
|
9
|
+
* This allows capability modules to access the capability manager without having it passed as an argument.
|
|
10
|
+
*/
|
|
11
|
+
export declare class Service extends Service_base {
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Get a single capability from the capability manager.
|
|
15
|
+
* @param interfaceDef The interface definition of the capability.
|
|
16
|
+
* @returns The capability implementation.
|
|
17
|
+
* @throws If no capability is found.
|
|
18
|
+
*/
|
|
19
|
+
export declare const get: <T>(interfaceDef: InterfaceDef<T>) => Effect.Effect<T, Error, Service>;
|
|
20
|
+
/**
|
|
21
|
+
* Get all capabilities from the capability manager for a given interface.
|
|
22
|
+
* @param interfaceDef The interface definition of the capability.
|
|
23
|
+
* @returns An array of capability implementations.
|
|
24
|
+
*/
|
|
25
|
+
export declare const getAll: <T>(interfaceDef: InterfaceDef<T>) => Effect.Effect<T[], never, Service>;
|
|
26
|
+
/**
|
|
27
|
+
* Wait for a capability to be available.
|
|
28
|
+
* @param interfaceDef The interface definition of the capability.
|
|
29
|
+
* @returns The capability implementation once available.
|
|
30
|
+
*/
|
|
31
|
+
export declare const waitFor: <T>(interfaceDef: InterfaceDef<T>) => Effect.Effect<T, Error, Service>;
|
|
32
|
+
/**
|
|
33
|
+
* Get the Atom reference to capabilities for reactive access.
|
|
34
|
+
* @param interfaceDef The interface definition of the capability.
|
|
35
|
+
* @returns An Atom containing the array of capability implementations.
|
|
36
|
+
*/
|
|
37
|
+
export declare const atom: <T>(interfaceDef: InterfaceDef<T>) => Effect.Effect<Atom.Atom<T[]>, never, Service>;
|
|
38
|
+
/**
|
|
39
|
+
* Get capabilities grouped by the module that contributed them.
|
|
40
|
+
* @param interfaceDef The interface definition of the capability.
|
|
41
|
+
* @returns An Atom containing a record from module ID to capability implementations.
|
|
42
|
+
*/
|
|
43
|
+
export declare const atomByModule: <T>(interfaceDef: InterfaceDef<T>) => Effect.Effect<Atom.Atom<Record<string, T[]>>, never, Service>;
|
|
44
|
+
declare const InterfaceDefTypeId: unique symbol;
|
|
45
|
+
/**
|
|
46
|
+
* Symbol used to tag lazy capability functions with their module ID.
|
|
47
|
+
*/
|
|
48
|
+
export declare const ModuleTag: unique symbol;
|
|
49
|
+
/**
|
|
50
|
+
* The interface definition of a capability.
|
|
51
|
+
*/
|
|
52
|
+
export type InterfaceDef<T> = {
|
|
53
|
+
[InterfaceDefTypeId]: T;
|
|
54
|
+
identifier: string;
|
|
55
|
+
};
|
|
56
|
+
export declare namespace InterfaceDef {
|
|
57
|
+
type Implementation<I extends InterfaceDef<any>> = I extends InterfaceDef<infer T> ? T : never;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Helper to define the interface of a capability.
|
|
61
|
+
*/
|
|
62
|
+
export declare const make: <T>(identifier: string) => InterfaceDef<T>;
|
|
63
|
+
/**
|
|
64
|
+
* A unique string identifier with a Typescript type associated with it.
|
|
65
|
+
* When a capability is contributed to the application an implementation of the interface is provided.
|
|
66
|
+
*/
|
|
67
|
+
export type Capability<T> = {
|
|
68
|
+
/**
|
|
69
|
+
* The interface definition of the capability.
|
|
70
|
+
*/
|
|
71
|
+
readonly interface: InterfaceDef<T>;
|
|
72
|
+
/**
|
|
73
|
+
* The implementation of the capability.
|
|
74
|
+
*/
|
|
75
|
+
readonly implementation: T;
|
|
76
|
+
/**
|
|
77
|
+
* Called when the capability is deactivated.
|
|
78
|
+
*/
|
|
79
|
+
readonly deactivate?: () => Effect.Effect<void, Error>;
|
|
80
|
+
};
|
|
81
|
+
export type Any = Capability<any>;
|
|
82
|
+
/**
|
|
83
|
+
* Union type representing all valid return types for a capability module.
|
|
84
|
+
* Supports single capabilities, arrays, and tuples of different capability types.
|
|
85
|
+
*/
|
|
86
|
+
export type ModuleReturn = void | Any | Any[] | readonly Any[] | [Any, ...Any[]] | readonly [Any, ...Any[]];
|
|
87
|
+
/**
|
|
88
|
+
* Helper to define the implementation of a capability.
|
|
89
|
+
*/
|
|
90
|
+
export declare const contributes: <I extends InterfaceDef<any>>(interfaceDef: I, implementation: Capability<InterfaceDef.Implementation<I>>['implementation'], deactivate?: Capability<InterfaceDef.Implementation<I>>['deactivate']) => Capability<I>;
|
|
91
|
+
type LoadCapability<Props, Capabilities extends ModuleReturn = ModuleReturn> = () => Promise<{
|
|
92
|
+
default: (props: Props) => Effect.Effect<Capabilities, Error, Service | Plugin.Service | never>;
|
|
93
|
+
}>;
|
|
94
|
+
type LoadCapabilities<Props, Capabilities extends ModuleReturn = ModuleReturn> = () => Promise<{
|
|
95
|
+
default: (props: Props) => Effect.Effect<Capabilities, Error, Service | Plugin.Service | never>;
|
|
96
|
+
}>;
|
|
97
|
+
type NormalizeReturn<R> = R extends readonly (infer A)[] ? A[] : R extends (infer A)[] ? A[] : R extends Any ? [R] : Any[];
|
|
98
|
+
export type LazyCapability<Props = void, Capabilities extends ModuleReturn = ModuleReturn, E extends Error = Error> = (props: Props) => Effect.Effect<NormalizeReturn<Capabilities>, E, Service | Plugin.Service | never>;
|
|
99
|
+
/**
|
|
100
|
+
* Helper to define a lazily loaded implementation of a capability.
|
|
101
|
+
* Supports single capabilities, arrays, and tuples of different capability types.
|
|
102
|
+
* @param name The export name (e.g., 'AppGraphBuilder') - used to auto-compute module IDs.
|
|
103
|
+
* @param loader The lazy loader function.
|
|
104
|
+
* @returns A lazy capability function with ModuleTag symbol attached.
|
|
105
|
+
*/
|
|
106
|
+
export declare const lazy: <T = void, R extends ModuleReturn = ModuleReturn>(name: string, c: LoadCapability<T, R> | LoadCapabilities<T, R>) => LazyCapability<T, R>;
|
|
107
|
+
/**
|
|
108
|
+
* Gets the module tag (export name) from a lazy capability function.
|
|
109
|
+
* @param capability The lazy capability function.
|
|
110
|
+
* @returns The module tag if present, undefined otherwise.
|
|
111
|
+
*/
|
|
112
|
+
export declare const getModuleTag: (capability: unknown) => string | undefined;
|
|
113
|
+
/**
|
|
114
|
+
* Helper to define a capability module with explicit typing.
|
|
115
|
+
* Wraps the default export function to provide better type inference and make the pattern explicit.
|
|
116
|
+
*
|
|
117
|
+
* This helper provides explicit typing for the module activation function,
|
|
118
|
+
* making it clear that the function should:
|
|
119
|
+
* - Access CapabilityManager via the Effect layer system (Capability.get, Capability.getAll, etc.)
|
|
120
|
+
* - Return a capability, array of capabilities, or tuple of different capability types (sync or async)
|
|
121
|
+
*
|
|
122
|
+
* Supports returning multiple capabilities of different types as a tuple, which will be normalized
|
|
123
|
+
* to an array at runtime for compatibility with the plugin system.
|
|
124
|
+
*
|
|
125
|
+
* @example
|
|
126
|
+
* ```ts
|
|
127
|
+
* // Module without options - single capability
|
|
128
|
+
* export default Capability.makeModule(
|
|
129
|
+
* Effect.fnUntraced(function* () {
|
|
130
|
+
* const client = yield* Capability.get(ClientCapabilities.Client);
|
|
131
|
+
* return contributes(Capabilities.SettingsStore, store);
|
|
132
|
+
* })
|
|
133
|
+
* );
|
|
134
|
+
*
|
|
135
|
+
* // Module with multiple capabilities
|
|
136
|
+
* export default Capability.makeModule(
|
|
137
|
+
* Effect.fnUntraced(function* () {
|
|
138
|
+
* return [
|
|
139
|
+
* contributes(Capabilities.SettingsStore, store),
|
|
140
|
+
* contributes(Capabilities.Translations, translations),
|
|
141
|
+
* ];
|
|
142
|
+
* })
|
|
143
|
+
* );
|
|
144
|
+
*
|
|
145
|
+
* // Module with required options (context accessed via layer)
|
|
146
|
+
* export default Capability.makeModule(
|
|
147
|
+
* Effect.fnUntraced(function* (props: { observability: boolean }) {
|
|
148
|
+
* const invoker = yield* Capability.get(Capabilities.OperationInvoker);
|
|
149
|
+
* return contributes(Capabilities.OperationHandler, ...);
|
|
150
|
+
* })
|
|
151
|
+
* );
|
|
152
|
+
* ```
|
|
153
|
+
*/
|
|
154
|
+
export declare const makeModule: <TProps = void, TReturn extends ModuleReturn = ModuleReturn, E extends Error = Error, R extends Service | Plugin.Service | never = Service>(fn: (props: TProps) => Effect.Effect<TReturn, E, R>) => ((props: TProps) => Effect.Effect<TReturn, E, R>);
|
|
155
|
+
export {};
|
|
156
|
+
//# sourceMappingURL=capability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../../../../src/core/capability.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
export * from './
|
|
2
|
-
export * from './
|
|
3
|
-
export * from './manager';
|
|
4
|
-
export * from './plugin';
|
|
1
|
+
export * as ActivationEvent from './activation-event';
|
|
2
|
+
export * as Capability from './capability';
|
|
3
|
+
export * as CapabilityManager from './capability-manager';
|
|
4
|
+
export * as Plugin from './plugin';
|
|
5
|
+
export * as PluginAssetCache from './plugin-asset-cache';
|
|
6
|
+
export * as PluginManager from './plugin-manager';
|
|
7
|
+
export * as PluginManifest from './plugin-manifest';
|
|
8
|
+
export * as UrlLoader from './url-loader';
|
|
5
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/index.ts"],"names":[],"mappings":"AAIA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,eAAe,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,iBAAiB,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,gBAAgB,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import * as Effect from 'effect/Effect';
|
|
2
|
+
import { BaseError } from '@dxos/errors';
|
|
3
|
+
declare const PluginAssetCacheError_base: {
|
|
4
|
+
new (options?: import("@dxos/errors").BaseErrorOptions): {
|
|
5
|
+
cause?: unknown;
|
|
6
|
+
stack?: string;
|
|
7
|
+
name: "PluginAssetCacheError";
|
|
8
|
+
context: Record<string, unknown>;
|
|
9
|
+
readonly message: string;
|
|
10
|
+
readonly _tag: "PluginAssetCacheError";
|
|
11
|
+
};
|
|
12
|
+
isError(error: unknown): error is Error;
|
|
13
|
+
name: "PluginAssetCacheError";
|
|
14
|
+
is(error: unknown): error is BaseError;
|
|
15
|
+
wrap(options?: Omit<import("@dxos/errors").BaseErrorOptions, 'cause'> & {
|
|
16
|
+
ifTypeDiffers?: boolean;
|
|
17
|
+
}): (error: unknown) => {
|
|
18
|
+
cause?: unknown;
|
|
19
|
+
stack?: string;
|
|
20
|
+
name: "PluginAssetCacheError";
|
|
21
|
+
context: Record<string, unknown>;
|
|
22
|
+
readonly message: string;
|
|
23
|
+
readonly _tag: "PluginAssetCacheError";
|
|
24
|
+
};
|
|
25
|
+
extend<Name extends string = string>(name: Name, message?: string): any;
|
|
26
|
+
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
|
|
27
|
+
prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
|
|
28
|
+
stackTraceLimit: number;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Tagged error for cache operations. Construction sites supply `context.operation`
|
|
32
|
+
* (one of `'cache' | 'evict' | 'resolve' | 'list'`) and `context.pluginId` so
|
|
33
|
+
* downstream handlers can route on the failed call without scanning the message.
|
|
34
|
+
*/
|
|
35
|
+
export declare class PluginAssetCacheError extends PluginAssetCacheError_base {
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Per-platform offline cache for third-party plugin assets.
|
|
39
|
+
*
|
|
40
|
+
* Implementations live alongside their platform glue (composer-app's
|
|
41
|
+
* `asset-cache/{tauri,service-worker}.ts`); the no-op default is for tests
|
|
42
|
+
* and unsupported environments.
|
|
43
|
+
*/
|
|
44
|
+
export interface Cache {
|
|
45
|
+
/**
|
|
46
|
+
* Persist all listed URLs under the namespace of `pluginId`. Idempotent.
|
|
47
|
+
* The order of `urls` is significant — the first entry is treated as the entry module.
|
|
48
|
+
*/
|
|
49
|
+
cache(pluginId: string, urls: readonly string[]): Effect.Effect<void, PluginAssetCacheError>;
|
|
50
|
+
/**
|
|
51
|
+
* Drop all assets for a plugin (uninstall).
|
|
52
|
+
*/
|
|
53
|
+
evict(pluginId: string): Effect.Effect<void, PluginAssetCacheError>;
|
|
54
|
+
/**
|
|
55
|
+
* Resolves a plugin asset URL to a platform-specific cached URL when one is available.
|
|
56
|
+
* Returns the original URL when no cached copy exists or the platform serves cached
|
|
57
|
+
* responses transparently (e.g. service worker fetch interception on web).
|
|
58
|
+
*/
|
|
59
|
+
resolve(pluginId: string, url: string): Effect.Effect<string, PluginAssetCacheError>;
|
|
60
|
+
/**
|
|
61
|
+
* List currently cached plugin ids (diagnostic).
|
|
62
|
+
*/
|
|
63
|
+
list(): Effect.Effect<readonly string[], PluginAssetCacheError>;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* No-op implementation. Used when no platform cache is registered (tests, unsupported environments).
|
|
67
|
+
* Plugins still load — they just have no offline guarantee.
|
|
68
|
+
*/
|
|
69
|
+
export declare const noop: () => Cache;
|
|
70
|
+
export {};
|
|
71
|
+
//# sourceMappingURL=plugin-asset-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-asset-cache.d.ts","sourceRoot":"","sources":["../../../../src/core/plugin-asset-cache.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEzC;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,0BAG1C;CAAG;AAEJ;;;;;;GAMG;AACH,MAAM,WAAW,KAAK;IACpB;;;OAGG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IAE7F;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IAEpE;;;;OAIG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAErF;;OAEG;IACH,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC;CACjE;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI,QAAO,KAKtB,CAAC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { Atom, Registry } from '@effect-atom/atom-react';
|
|
2
|
+
import * as Effect from 'effect/Effect';
|
|
3
|
+
import * as PubSub from 'effect/PubSub';
|
|
4
|
+
import { BaseError } from '@dxos/errors';
|
|
5
|
+
import * as ActivationEvent from './activation-event';
|
|
6
|
+
import * as CapabilityManager from './capability-manager';
|
|
7
|
+
import * as Plugin from './plugin';
|
|
8
|
+
declare const PluginInitializationError_base: {
|
|
9
|
+
new (options?: import("@dxos/errors").BaseErrorOptions): {
|
|
10
|
+
cause?: unknown;
|
|
11
|
+
stack?: string;
|
|
12
|
+
name: "PluginInitializationError";
|
|
13
|
+
context: Record<string, unknown>;
|
|
14
|
+
readonly message: string;
|
|
15
|
+
readonly _tag: "PluginInitializationError";
|
|
16
|
+
};
|
|
17
|
+
isError(error: unknown): error is Error;
|
|
18
|
+
name: "PluginInitializationError";
|
|
19
|
+
is(error: unknown): error is BaseError;
|
|
20
|
+
wrap(options?: Omit<import("@dxos/errors").BaseErrorOptions, 'cause'> & {
|
|
21
|
+
ifTypeDiffers?: boolean;
|
|
22
|
+
}): (error: unknown) => {
|
|
23
|
+
cause?: unknown;
|
|
24
|
+
stack?: string;
|
|
25
|
+
name: "PluginInitializationError";
|
|
26
|
+
context: Record<string, unknown>;
|
|
27
|
+
readonly message: string;
|
|
28
|
+
readonly _tag: "PluginInitializationError";
|
|
29
|
+
};
|
|
30
|
+
extend<Name extends string = string>(name: Name, message?: string): any;
|
|
31
|
+
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
|
|
32
|
+
prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
|
|
33
|
+
stackTraceLimit: number;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Tagged error for failures during the constructor-launched core/enabled
|
|
37
|
+
* `enable()` chain. Surfaces via {@link PluginManager.activate}'s wait on
|
|
38
|
+
* `_initialization` so a caller blocked on initialization gets a typed
|
|
39
|
+
* failure (with the original error preserved as `cause`) instead of an
|
|
40
|
+
* untyped `Error`.
|
|
41
|
+
*/
|
|
42
|
+
export declare class PluginInitializationError extends PluginInitializationError_base {
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Identifier denoting a Manager.
|
|
46
|
+
*/
|
|
47
|
+
export declare const ManagerTypeId: unique symbol;
|
|
48
|
+
export type ManagerTypeId = typeof ManagerTypeId;
|
|
49
|
+
export type ManagerOptions = {
|
|
50
|
+
pluginLoader: (id: string) => Effect.Effect<Plugin.Plugin, Error>;
|
|
51
|
+
plugins?: Plugin.Plugin[];
|
|
52
|
+
core?: string[];
|
|
53
|
+
enabled?: string[];
|
|
54
|
+
registry?: Registry.Registry;
|
|
55
|
+
/**
|
|
56
|
+
* Hook called when a plugin is removed via {@link PluginManager.remove}. Used by the
|
|
57
|
+
* host app to clean up persisted state (e.g. evict offline-cached plugin assets).
|
|
58
|
+
* Failures are logged and swallowed; removal still succeeds even if the hook fails.
|
|
59
|
+
*/
|
|
60
|
+
onRemove?: (id: string) => Effect.Effect<void, unknown>;
|
|
61
|
+
};
|
|
62
|
+
export type ActivationMessage = {
|
|
63
|
+
event: string;
|
|
64
|
+
state: 'activating' | 'activated' | 'error';
|
|
65
|
+
/** Module ID when the message pertains to a specific module activation. */
|
|
66
|
+
module?: string;
|
|
67
|
+
error?: Error;
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Interface for the Plugin Manager.
|
|
71
|
+
*/
|
|
72
|
+
export interface PluginManager {
|
|
73
|
+
readonly [ManagerTypeId]: ManagerTypeId;
|
|
74
|
+
readonly activation: PubSub.PubSub<ActivationMessage>;
|
|
75
|
+
readonly capabilities: CapabilityManager.CapabilityManager;
|
|
76
|
+
readonly registry: Registry.Registry;
|
|
77
|
+
readonly plugins: Atom.Atom<readonly Plugin.Plugin[]>;
|
|
78
|
+
readonly core: Atom.Atom<readonly string[]>;
|
|
79
|
+
readonly enabled: Atom.Atom<readonly string[]>;
|
|
80
|
+
readonly modules: Atom.Atom<readonly Plugin.PluginModule[]>;
|
|
81
|
+
readonly active: Atom.Atom<readonly string[]>;
|
|
82
|
+
readonly eventsFired: Atom.Atom<readonly string[]>;
|
|
83
|
+
readonly pendingReset: Atom.Atom<readonly string[]>;
|
|
84
|
+
getPlugins(): readonly Plugin.Plugin[];
|
|
85
|
+
getCore(): readonly string[];
|
|
86
|
+
getEnabled(): readonly string[];
|
|
87
|
+
getModules(): readonly Plugin.PluginModule[];
|
|
88
|
+
getActive(): readonly string[];
|
|
89
|
+
getEventsFired(): readonly string[];
|
|
90
|
+
getPendingReset(): readonly string[];
|
|
91
|
+
/**
|
|
92
|
+
* Loads a plugin via the plugin loader and registers it without enabling it.
|
|
93
|
+
* Returns the loaded plugin so callers can enable it by its canonical id
|
|
94
|
+
* (which may differ from the locator used to load it, e.g. URL loaders).
|
|
95
|
+
*/
|
|
96
|
+
add(id: string): Effect.Effect<Plugin.Plugin, Error>;
|
|
97
|
+
enable(id: string): Effect.Effect<boolean, Error>;
|
|
98
|
+
remove(id: string): Effect.Effect<boolean, Error>;
|
|
99
|
+
disable(id: string): Effect.Effect<boolean, Error>;
|
|
100
|
+
activate(event: ActivationEvent.ActivationEvent | string, params?: {
|
|
101
|
+
before?: string;
|
|
102
|
+
after?: string;
|
|
103
|
+
}): Effect.Effect<boolean, Error>;
|
|
104
|
+
deactivate(id: string): Effect.Effect<boolean, Error>;
|
|
105
|
+
reset(event: ActivationEvent.ActivationEvent | string): Effect.Effect<boolean, Error>;
|
|
106
|
+
/**
|
|
107
|
+
* Shuts down the manager by deactivating all active modules in reverse activation order,
|
|
108
|
+
* clearing all capabilities, and resetting lifecycle bookkeeping.
|
|
109
|
+
* Plugins, core, enabled, and modules remain intact so the manager can be reused.
|
|
110
|
+
*/
|
|
111
|
+
shutdown(): Effect.Effect<boolean, Error>;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Type guard to check if a value is a PluginManager.
|
|
115
|
+
*/
|
|
116
|
+
export declare const isManager: (value: unknown) => value is PluginManager;
|
|
117
|
+
/**
|
|
118
|
+
* Creates a new Plugin Manager instance.
|
|
119
|
+
*/
|
|
120
|
+
export declare const make: (options: ManagerOptions) => PluginManager;
|
|
121
|
+
export {};
|
|
122
|
+
//# sourceMappingURL=plugin-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-manager.d.ts","sourceRoot":"","sources":["../../../../src/core/plugin-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-manager.test.d.ts","sourceRoot":"","sources":["../../../../src/core/plugin-manager.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import * as Effect from 'effect/Effect';
|
|
2
|
+
import * as Schema from 'effect/Schema';
|
|
3
|
+
import { BaseError } from '@dxos/errors';
|
|
4
|
+
declare const PluginManifestError_base: {
|
|
5
|
+
new (options?: import("@dxos/errors").BaseErrorOptions): {
|
|
6
|
+
cause?: unknown;
|
|
7
|
+
stack?: string;
|
|
8
|
+
name: "PluginManifestError";
|
|
9
|
+
context: Record<string, unknown>;
|
|
10
|
+
readonly message: string;
|
|
11
|
+
readonly _tag: "PluginManifestError";
|
|
12
|
+
};
|
|
13
|
+
isError(error: unknown): error is Error;
|
|
14
|
+
name: "PluginManifestError";
|
|
15
|
+
is(error: unknown): error is BaseError;
|
|
16
|
+
wrap(options?: Omit<import("@dxos/errors").BaseErrorOptions, 'cause'> & {
|
|
17
|
+
ifTypeDiffers?: boolean;
|
|
18
|
+
}): (error: unknown) => {
|
|
19
|
+
cause?: unknown;
|
|
20
|
+
stack?: string;
|
|
21
|
+
name: "PluginManifestError";
|
|
22
|
+
context: Record<string, unknown>;
|
|
23
|
+
readonly message: string;
|
|
24
|
+
readonly _tag: "PluginManifestError";
|
|
25
|
+
};
|
|
26
|
+
extend<Name extends string = string>(name: Name, message?: string): any;
|
|
27
|
+
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
|
|
28
|
+
prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
|
|
29
|
+
stackTraceLimit: number;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Tagged error for manifest fetch / parse failures. Construction sites set
|
|
33
|
+
* `context.manifestUrl` and `context.reason` (one of `'fetch-failed' |
|
|
34
|
+
* 'http-error' | 'parse-failed' | 'invalid'`) so handlers can route on the
|
|
35
|
+
* specific failure mode.
|
|
36
|
+
*/
|
|
37
|
+
export declare class PluginManifestError extends PluginManifestError_base {
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Schema for a third-party plugin manifest.
|
|
41
|
+
*
|
|
42
|
+
* The manifest is published as a sibling of the plugin's entry module
|
|
43
|
+
* ({@link PLUGIN_ENTRY_FILENAME}) and advertises every file the plugin needs at
|
|
44
|
+
* runtime so the host can eagerly cache them for offline use.
|
|
45
|
+
*/
|
|
46
|
+
export declare const Manifest: Schema.Struct<{
|
|
47
|
+
id: typeof Schema.String;
|
|
48
|
+
name: typeof Schema.String;
|
|
49
|
+
version: typeof Schema.String;
|
|
50
|
+
assets: Schema.Array$<typeof Schema.String>;
|
|
51
|
+
}>;
|
|
52
|
+
export type Manifest = Schema.Schema.Type<typeof Manifest>;
|
|
53
|
+
/**
|
|
54
|
+
* Resolved manifest with all asset paths converted to absolute URLs.
|
|
55
|
+
*/
|
|
56
|
+
export type ResolvedManifest = {
|
|
57
|
+
id: string;
|
|
58
|
+
name: string;
|
|
59
|
+
version: string;
|
|
60
|
+
entryUrl: string;
|
|
61
|
+
assetUrls: readonly string[];
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Synchronous decode + validate + resolve for an in-memory manifest payload. Used
|
|
65
|
+
* by tests and tooling that have the manifest body already loaded; the runtime
|
|
66
|
+
* path goes through {@link fetchManifest}.
|
|
67
|
+
*/
|
|
68
|
+
export declare const parse: (manifestUrl: string, payload: unknown) => ResolvedManifest;
|
|
69
|
+
/**
|
|
70
|
+
* Fetches and parses a manifest from the given URL via Effect's HTTP client and
|
|
71
|
+
* Schema-driven JSON decoding. All failure modes surface as a single tagged
|
|
72
|
+
* {@link PluginManifestError}; callers route on `error.context.reason`.
|
|
73
|
+
*/
|
|
74
|
+
export declare const fetchManifest: (manifestUrl: string) => Effect.Effect<ResolvedManifest, PluginManifestError>;
|
|
75
|
+
export {};
|
|
76
|
+
//# sourceMappingURL=plugin-manifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-manifest.d.ts","sourceRoot":"","sources":["../../../../src/core/plugin-manifest.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGzC;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,wBAAqE;CAAG;AAEjH;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ;;;;;EAKnB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9B,CAAC;AAaF;;;;GAIG;AACH,eAAO,MAAM,KAAK,gBAAiB,MAAM,WAAW,OAAO,KAAG,gBAM7D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,gBAAiB,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAuBxC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-manifest.test.d.ts","sourceRoot":"","sources":["../../../../src/core/plugin-manifest.test.ts"],"names":[],"mappings":""}
|