@dxos/app-framework 0.8.4-main.f9ba587 → 0.8.4-main.fcfe5033a5
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 +9 -0
- package/.storybook/preview.mts +8 -0
- package/.swc/plugins/linux_x86_64_19.0.0/727453fb3a62f7f1d952a41e051ca8a6f88cadc45cee43c6a4d1aa45f9b75665.wasmer-v7 +0 -0
- package/dist/lib/browser/capability-EYY7KYU5.mjs +35 -0
- package/dist/lib/browser/capability-EYY7KYU5.mjs.map +7 -0
- package/dist/lib/browser/capability-W7NPZR6A.mjs +38 -0
- package/dist/lib/browser/capability-W7NPZR6A.mjs.map +7 -0
- package/dist/lib/browser/chunk-2CKCJ6PN.mjs +79 -0
- package/dist/lib/browser/chunk-2CKCJ6PN.mjs.map +7 -0
- package/dist/lib/browser/chunk-4D6YAWLP.mjs +393 -0
- package/dist/lib/browser/chunk-4D6YAWLP.mjs.map +7 -0
- package/dist/lib/browser/chunk-56CEL32L.mjs +963 -0
- package/dist/lib/browser/chunk-56CEL32L.mjs.map +7 -0
- package/dist/lib/browser/chunk-F7FW2RK2.mjs +167 -0
- package/dist/lib/browser/chunk-F7FW2RK2.mjs.map +7 -0
- package/dist/lib/browser/chunk-I34GF4NG.mjs +34 -0
- package/dist/lib/browser/chunk-I34GF4NG.mjs.map +7 -0
- package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
- package/dist/lib/browser/chunk-JKWMHZP6.mjs +80 -0
- package/dist/lib/browser/chunk-JKWMHZP6.mjs.map +7 -0
- package/dist/lib/browser/chunk-QRTB4Q3U.mjs +594 -0
- package/dist/lib/browser/chunk-QRTB4Q3U.mjs.map +7 -0
- package/dist/lib/browser/chunk-QSXYHXCE.mjs +48 -0
- package/dist/lib/browser/chunk-QSXYHXCE.mjs.map +7 -0
- package/dist/lib/browser/chunk-RFSO3JRG.mjs +1 -0
- package/dist/lib/browser/chunk-RHQGPRWN.mjs +174 -0
- package/dist/lib/browser/chunk-RHQGPRWN.mjs.map +7 -0
- package/dist/lib/browser/chunk-T3Y4AEKX.mjs +42 -0
- package/dist/lib/browser/chunk-T3Y4AEKX.mjs.map +7 -0
- package/dist/lib/browser/chunk-TGX63LTL.mjs +8 -0
- package/dist/lib/browser/chunk-TGX63LTL.mjs.map +7 -0
- package/dist/lib/browser/chunk-ZBA6IH6L.mjs +148 -0
- package/dist/lib/browser/chunk-ZBA6IH6L.mjs.map +7 -0
- package/dist/lib/browser/cli/index.mjs +90 -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 +15 -0
- package/dist/lib/browser/core/plugin-manager.mjs.map +7 -0
- package/dist/lib/browser/core/plugin.mjs +29 -0
- package/dist/lib/browser/core/plugin.mjs.map +7 -0
- package/dist/lib/browser/core/url-loader.mjs +16 -0
- package/dist/lib/browser/core/url-loader.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +91 -156
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/invoker-capability-35BJSGXJ.mjs +43 -0
- package/dist/lib/browser/invoker-capability-35BJSGXJ.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +248 -51
- 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 +46 -0
- package/dist/lib/browser/ui/index.mjs.map +7 -0
- package/dist/lib/node-esm/capability-IY3YIHIO.mjs +39 -0
- package/dist/lib/node-esm/capability-IY3YIHIO.mjs.map +7 -0
- package/dist/lib/node-esm/capability-RDCTCARS.mjs +36 -0
- package/dist/lib/node-esm/capability-RDCTCARS.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-42KBWDE4.mjs +80 -0
- package/dist/lib/node-esm/chunk-42KBWDE4.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-DAYWQOOQ.mjs +149 -0
- package/dist/lib/node-esm/chunk-DAYWQOOQ.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-DER2JDBT.mjs +175 -0
- package/dist/lib/node-esm/chunk-DER2JDBT.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-EL3R25OQ.mjs +2 -0
- package/dist/lib/node-esm/chunk-EL3R25OQ.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-FKE4Z3D6.mjs +10 -0
- package/dist/lib/node-esm/chunk-FKE4Z3D6.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-G3RTFSNG.mjs +81 -0
- package/dist/lib/node-esm/chunk-G3RTFSNG.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-JPWVIQ5I.mjs +595 -0
- package/dist/lib/node-esm/chunk-JPWVIQ5I.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-LX6YJOSO.mjs +394 -0
- package/dist/lib/node-esm/chunk-LX6YJOSO.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-URWHJQT2.mjs +168 -0
- package/dist/lib/node-esm/chunk-URWHJQT2.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-VKHGNEDB.mjs +43 -0
- package/dist/lib/node-esm/chunk-VKHGNEDB.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-W4K4RU4S.mjs +964 -0
- package/dist/lib/node-esm/chunk-W4K4RU4S.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-WZCSOX5Q.mjs +35 -0
- package/dist/lib/node-esm/chunk-WZCSOX5Q.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-ZZ7CKK6W.mjs +49 -0
- package/dist/lib/node-esm/chunk-ZZ7CKK6W.mjs.map +7 -0
- package/dist/lib/node-esm/cli/index.mjs +91 -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 +16 -0
- package/dist/lib/node-esm/core/plugin-manager.mjs.map +7 -0
- package/dist/lib/node-esm/core/plugin.mjs +30 -0
- package/dist/lib/node-esm/core/plugin.mjs.map +7 -0
- package/dist/lib/node-esm/core/url-loader.mjs +17 -0
- package/dist/lib/node-esm/core/url-loader.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +91 -156
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/invoker-capability-3QWBSM5Q.mjs +44 -0
- package/dist/lib/node-esm/invoker-capability-3QWBSM5Q.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/testing/index.mjs +248 -51
- 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 +47 -0
- package/dist/lib/node-esm/ui/index.mjs.map +7 -0
- package/dist/plugin/node-esm/index.mjs +730 -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 +109 -121
- 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} +7 -7
- 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 +6 -4
- package/dist/types/src/core/index.d.ts.map +1 -1
- package/dist/types/src/core/plugin-manager.d.ts +73 -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.d.ts +124 -37
- package/dist/types/src/core/plugin.d.ts.map +1 -1
- package/dist/types/src/core/url-loader.d.ts +42 -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/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 +58 -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 +11 -10
- package/dist/types/src/testing/withPluginManager.d.ts.map +1 -1
- package/dist/types/src/testing/withPluginManager.stories.d.ts +9 -3
- 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/PluginManager/PluginManagerContext.stories.d.ts +13 -0
- 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/ui/components/Surface/SurfaceComponent.stories.d.ts +14 -0
- 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 +4 -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 +62 -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/ui/hooks/useLoading.d.ts +18 -0
- 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/composer-plugin.d.ts +34 -0
- package/dist/types/src/vite-plugin/composer-plugin.d.ts.map +1 -0
- package/dist/types/src/vite-plugin/import-map-plugin.d.ts +16 -0
- package/dist/types/src/vite-plugin/import-map-plugin.d.ts.map +1 -0
- package/dist/types/src/vite-plugin/index.d.ts +4 -0
- package/dist/types/src/vite-plugin/index.d.ts.map +1 -0
- package/dist/types/src/vite-plugin/manifest.d.ts +16 -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 +26 -3
- package/package.json +144 -44
- package/src/cli/cli.ts +107 -0
- package/src/{playground/layout → cli}/index.ts +1 -1
- package/src/common/activation-events.ts +44 -0
- package/src/common/capabilities.ts +168 -109
- 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 +6 -4
- package/src/core/plugin-manager.test.ts +1113 -0
- package/src/core/plugin-manager.ts +883 -0
- package/src/core/plugin.ts +261 -43
- package/src/core/url-loader.test.ts +112 -0
- package/src/core/url-loader.ts +178 -0
- package/src/helpers.test.ts +1 -1
- 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 +373 -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 +54 -0
- package/src/plugin-operation/meta.ts +11 -0
- package/src/plugin-operation/testing.ts +154 -0
- package/src/plugin-runtime/RuntimePlugin.ts +19 -0
- package/src/plugin-runtime/capability.ts +53 -0
- package/src/{playground/debug → 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 +14 -11
- package/src/testing/withPluginManager.tsx +78 -54
- package/src/ui/components/App/App.stories.tsx +92 -0
- package/src/ui/components/App/App.tsx +58 -0
- package/src/{playground/logger → ui/components/App}/index.ts +1 -1
- package/src/ui/components/PluginManager/PluginManagerContext.stories.tsx +183 -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 +7 -0
- package/src/ui/hooks/index.ts +9 -0
- package/src/ui/hooks/useApp.test.tsx +159 -0
- package/src/ui/hooks/useApp.tsx +289 -0
- package/src/ui/hooks/useCapabilities.ts +67 -0
- package/src/ui/hooks/useLoading.tsx +68 -0
- 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/composer-plugin.ts +284 -0
- package/src/vite-plugin/import-map-plugin.ts +490 -0
- package/src/vite-plugin/index.ts +7 -0
- package/src/vite-plugin/manifest.test.ts +23 -0
- package/src/vite-plugin/manifest.ts +20 -0
- package/src/vite-plugin/packages.ts +181 -0
- package/tsconfig.json +15 -25
- package/tsconfig.node.json +2 -4
- package/typedoc.json +2 -4
- package/vitest.config.ts +8 -6
- package/.eslintrc.cjs +0 -9
- package/.swc/plugins/v7_linux_x86_64_13.0.0/f45bdff002284d9e8f9ef3f0be909de12da36c049cbcf261ac78fc00abb09a2d +0 -0
- package/.swc/plugins/v7_linux_x86_64_13.0.0/fce1bdb8e20a094e4af08bad09cc81497ed0e2e7c51223b07d371063cca18429 +0 -0
- package/dist/lib/browser/app-graph-builder-BGGXLD6T.mjs +0 -137
- package/dist/lib/browser/app-graph-builder-BGGXLD6T.mjs.map +0 -7
- package/dist/lib/browser/chunk-2636QSIK.mjs +0 -1518
- package/dist/lib/browser/chunk-2636QSIK.mjs.map +0 -7
- package/dist/lib/browser/chunk-DHZB7HG7.mjs +0 -413
- package/dist/lib/browser/chunk-DHZB7HG7.mjs.map +0 -7
- package/dist/lib/browser/chunk-ORWHM7CO.mjs +0 -32
- package/dist/lib/browser/chunk-ORWHM7CO.mjs.map +0 -7
- package/dist/lib/browser/intent-dispatcher-TWKB22NI.mjs +0 -11
- package/dist/lib/browser/intent-resolver-O67UANYP.mjs +0 -39
- package/dist/lib/browser/intent-resolver-O67UANYP.mjs.map +0 -7
- package/dist/lib/browser/store-LFKDWHUQ.mjs +0 -30
- package/dist/lib/browser/store-LFKDWHUQ.mjs.map +0 -7
- package/dist/lib/browser/worker.mjs +0 -79
- package/dist/lib/node-esm/app-graph-builder-QHIJUYYW.mjs +0 -138
- package/dist/lib/node-esm/app-graph-builder-QHIJUYYW.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-NJAFK626.mjs +0 -414
- package/dist/lib/node-esm/chunk-NJAFK626.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-UMZQERLE.mjs +0 -34
- package/dist/lib/node-esm/chunk-UMZQERLE.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-VSKRV3NW.mjs +0 -1520
- package/dist/lib/node-esm/chunk-VSKRV3NW.mjs.map +0 -7
- package/dist/lib/node-esm/intent-dispatcher-5PRM3KGH.mjs +0 -12
- package/dist/lib/node-esm/intent-resolver-K3D4BXQQ.mjs +0 -40
- package/dist/lib/node-esm/intent-resolver-K3D4BXQQ.mjs.map +0 -7
- package/dist/lib/node-esm/store-53XDUBMD.mjs +0 -31
- package/dist/lib/node-esm/store-53XDUBMD.mjs.map +0 -7
- package/dist/lib/node-esm/worker.mjs +0 -80
- package/dist/types/src/App.d.ts +0 -43
- package/dist/types/src/App.d.ts.map +0 -1
- package/dist/types/src/common/collaboration.d.ts +0 -19
- 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 -281
- package/dist/types/src/common/layout.d.ts.map +0 -1
- package/dist/types/src/common/surface.d.ts +0 -65
- package/dist/types/src/common/surface.d.ts.map +0 -1
- package/dist/types/src/core/capabilities.d.ts +0 -114
- 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 -122
- 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 +0 -10
- 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 -38
- 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 -5
- 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-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 -27
- 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/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 -10
- package/dist/types/src/plugin-settings/translations.d.ts.map +0 -1
- package/dist/types/src/react/ErrorBoundary.d.ts +0 -31
- 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 -16
- 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/App.tsx +0 -276
- package/src/common/collaboration.ts +0 -21
- package/src/common/events.ts +0 -77
- package/src/common/file.ts +0 -22
- package/src/common/graph.ts +0 -30
- package/src/common/layout.ts +0 -278
- package/src/common/surface.ts +0 -86
- package/src/core/capabilities.test.ts +0 -136
- package/src/core/capabilities.ts +0 -254
- package/src/core/manager.test.ts +0 -515
- package/src/core/manager.ts +0 -519
- package/src/playground/debug/Debug.tsx +0 -39
- package/src/playground/debug/plugin.ts +0 -17
- package/src/playground/generator/Main.tsx +0 -71
- package/src/playground/generator/Toolbar.tsx +0 -46
- package/src/playground/generator/generator.ts +0 -48
- package/src/playground/generator/index.ts +0 -6
- package/src/playground/generator/plugin.ts +0 -23
- package/src/playground/layout/Layout.tsx +0 -33
- package/src/playground/layout/plugin.ts +0 -17
- package/src/playground/logger/Toolbar.tsx +0 -29
- package/src/playground/logger/plugin.ts +0 -36
- package/src/playground/logger/schema.ts +0 -12
- package/src/playground/playground.stories.tsx +0 -42
- package/src/plugin-intent/IntentPlugin.ts +0 -20
- package/src/plugin-intent/actions.ts +0 -33
- package/src/plugin-intent/errors.ts +0 -39
- package/src/plugin-intent/index.ts +0 -8
- package/src/plugin-intent/intent-dispatcher.test.ts +0 -279
- package/src/plugin-intent/intent-dispatcher.ts +0 -333
- package/src/plugin-intent/intent.ts +0 -154
- package/src/plugin-settings/SettingsPlugin.ts +0 -35
- package/src/plugin-settings/actions.ts +0 -29
- package/src/plugin-settings/app-graph-builder.ts +0 -157
- package/src/plugin-settings/index.ts +0 -6
- package/src/plugin-settings/intent-resolver.ts +0 -34
- package/src/plugin-settings/store.ts +0 -33
- package/src/plugin-settings/translations.ts +0 -19
- package/src/react/ErrorBoundary.tsx +0 -45
- package/src/react/IntentContext.tsx +0 -34
- package/src/react/Surface.stories.tsx +0 -96
- package/src/react/Surface.tsx +0 -77
- package/src/react/common.ts +0 -12
- package/src/react/index.ts +0 -10
- package/src/react/useCapabilities.ts +0 -30
- package/src/react/useIntentResolver.ts +0 -22
- package/src/worker.ts +0 -11
- package/typedoc/.nojekyll +0 -1
- package/typedoc/assets/hierarchy.js +0 -1
- package/typedoc/assets/highlight.css +0 -106
- package/typedoc/assets/icons.js +0 -18
- package/typedoc/assets/icons.svg +0 -1
- package/typedoc/assets/main.js +0 -60
- package/typedoc/assets/navigation.js +0 -1
- package/typedoc/assets/search.js +0 -1
- package/typedoc/assets/style.css +0 -1640
- package/typedoc/classes/CollaborationActions.InsertContent.html +0 -421
- package/typedoc/classes/ErrorBoundary.html +0 -125
- package/typedoc/classes/IntentAction.ShowUndo.html +0 -227
- package/typedoc/classes/IntentAction.Track.html +0 -266
- package/typedoc/classes/LayoutAction.AddToast.html +0 -265
- package/typedoc/classes/LayoutAction.Close.html +0 -382
- package/typedoc/classes/LayoutAction.Expose.html +0 -265
- package/typedoc/classes/LayoutAction.Open.html +0 -1123
- package/typedoc/classes/LayoutAction.RevertWorkspace.html +0 -343
- package/typedoc/classes/LayoutAction.ScrollIntoView.html +0 -460
- package/typedoc/classes/LayoutAction.Set.html +0 -460
- package/typedoc/classes/LayoutAction.SetLayoutMode.html +0 -499
- package/typedoc/classes/LayoutAction.SwitchWorkspace.html +0 -265
- package/typedoc/classes/LayoutAction.UpdateComplementary.html +0 -616
- package/typedoc/classes/LayoutAction.UpdateDialog.html +0 -1123
- package/typedoc/classes/LayoutAction.UpdateLayout.html +0 -461
- package/typedoc/classes/LayoutAction.UpdatePopover.html +0 -1435
- package/typedoc/classes/LayoutAction.UpdateSidebar.html +0 -616
- package/typedoc/classes/Plugin.html +0 -6
- package/typedoc/classes/PluginContext.html +0 -38
- package/typedoc/classes/PluginManager.html +0 -43
- package/typedoc/classes/PluginModule.html +0 -18
- package/typedoc/classes/SettingsAction.Open.html +0 -226
- package/typedoc/classes/SettingsAction.OpenPluginRegistry.html +0 -265
- package/typedoc/functions/Events.createStateEvent.html +0 -2
- package/typedoc/functions/IntentPlugin.html +0 -1
- package/typedoc/functions/SettingsPlugin.html +0 -1
- package/typedoc/functions/allOf.html +0 -2
- package/typedoc/functions/chain.html +0 -3
- package/typedoc/functions/contributes.html +0 -2
- package/typedoc/functions/createDispatcher.html +0 -3
- package/typedoc/functions/createIntent.html +0 -6
- package/typedoc/functions/createResolver.html +0 -2
- package/typedoc/functions/createSurface.html +0 -2
- package/typedoc/functions/defineCapability.html +0 -2
- package/typedoc/functions/defineEvent.html +0 -2
- package/typedoc/functions/defineModule.html +0 -2
- package/typedoc/functions/definePlugin.html +0 -2
- package/typedoc/functions/eventKey.html +0 -2
- package/typedoc/functions/getEvents.html +0 -2
- package/typedoc/functions/isAllOf.html +0 -2
- package/typedoc/functions/isOneOf.html +0 -2
- package/typedoc/functions/isSurfaceAvailable.html +0 -2
- package/typedoc/functions/lazy.html +0 -2
- package/typedoc/functions/oneOf.html +0 -2
- package/typedoc/functions/useApp.html +0 -6
- package/typedoc/functions/useAppGraph.html +0 -1
- package/typedoc/functions/useCapabilities.html +0 -3
- package/typedoc/functions/useCapability.html +0 -4
- package/typedoc/functions/useIntentDispatcher.html +0 -1
- package/typedoc/functions/useIntentResolver.html +0 -1
- package/typedoc/functions/useLayout.html +0 -1
- package/typedoc/functions/usePluginManager.html +0 -2
- package/typedoc/hierarchy.html +0 -1
- package/typedoc/index.html +0 -12
- package/typedoc/interfaces/LayoutAction.Toast.html +0 -10
- package/typedoc/media/LICENSE +0 -8
- package/typedoc/modules/Capabilities.html +0 -1
- package/typedoc/modules/CollaborationActions.html +0 -1
- package/typedoc/modules/Events.html +0 -1
- package/typedoc/modules/IntentAction.html +0 -1
- package/typedoc/modules/LayoutAction.html +0 -2
- package/typedoc/modules/SettingsAction.html +0 -1
- package/typedoc/modules.html +0 -1
- package/typedoc/types/ActivationEvent.html +0 -8
- package/typedoc/types/ActivationEvents.html +0 -2
- package/typedoc/types/AnyCapability.html +0 -1
- package/typedoc/types/AnyIntent.html +0 -1
- package/typedoc/types/AnyIntentChain.html +0 -1
- package/typedoc/types/AnyIntentEffectResult.html +0 -1
- package/typedoc/types/AnyIntentResolver.html +0 -1
- package/typedoc/types/AnyIntentResult.html +0 -1
- package/typedoc/types/Capabilities.FileUploader.html +0 -1
- package/typedoc/types/Capabilities.IntentResolver.html +0 -1
- package/typedoc/types/Capabilities.Layout.html +0 -1
- package/typedoc/types/Capabilities.Metadata.html +0 -1
- package/typedoc/types/Capabilities.ReactContext.html +0 -1
- package/typedoc/types/Capabilities.ReactRoot.html +0 -1
- package/typedoc/types/Capabilities.ReactSurface.html +0 -1
- package/typedoc/types/Capabilities.Settings.html +0 -4
- package/typedoc/types/Capability.html +0 -9
- package/typedoc/types/CreateAppOptions.html +0 -10
- package/typedoc/types/FileInfo.html +0 -1
- package/typedoc/types/Intent.html +0 -10
- package/typedoc/types/IntentChain.html +0 -6
- package/typedoc/types/IntentContext.html +0 -5
- package/typedoc/types/IntentData.html +0 -1
- package/typedoc/types/IntentDispatcher.html +0 -2
- package/typedoc/types/IntentDispatcherResult.html +0 -2
- package/typedoc/types/IntentEffectDefinition.html +0 -2
- package/typedoc/types/IntentEffectResult.html +0 -15
- package/typedoc/types/IntentParams.html +0 -3
- package/typedoc/types/IntentResolver.html +0 -2
- package/typedoc/types/IntentResultData.html +0 -1
- package/typedoc/types/IntentSchema.html +0 -1
- package/typedoc/types/IntentUndo.html +0 -2
- package/typedoc/types/InterfaceDef.html +0 -4
- package/typedoc/types/Label.html +0 -1
- package/typedoc/types/NodeSerializer.html +0 -8
- package/typedoc/types/PluginManagerOptions.html +0 -6
- package/typedoc/types/PluginMeta.html +0 -21
- package/typedoc/types/PromiseIntentDispatcher.html +0 -2
- package/typedoc/types/PromiseIntentUndo.html +0 -2
- package/typedoc/types/Resource.html +0 -1
- package/typedoc/types/ResourceKey.html +0 -1
- package/typedoc/types/ResourceLanguage.html +0 -1
- package/typedoc/types/SerializedNode.html +0 -4
- package/typedoc/types/SurfaceComponent.html +0 -2
- package/typedoc/types/SurfaceDefinition.html +0 -2
- package/typedoc/types/SurfaceProps.html +0 -4
- package/typedoc/variables/Capabilities.AnchorSort.html +0 -1
- package/typedoc/variables/Capabilities.AppGraph.html +0 -1
- package/typedoc/variables/Capabilities.AppGraphBuilder.html +0 -1
- package/typedoc/variables/Capabilities.AppGraphSerializer.html +0 -1
- package/typedoc/variables/Capabilities.ArtifactDefinition.html +0 -1
- package/typedoc/variables/Capabilities.FileUploader.html +0 -1
- package/typedoc/variables/Capabilities.IntentDispatcher.html +0 -1
- package/typedoc/variables/Capabilities.IntentResolver.html +0 -1
- package/typedoc/variables/Capabilities.Layout.html +0 -1
- package/typedoc/variables/Capabilities.Metadata.html +0 -1
- package/typedoc/variables/Capabilities.Null.html +0 -1
- package/typedoc/variables/Capabilities.PluginManager.html +0 -1
- package/typedoc/variables/Capabilities.ReactContext.html +0 -1
- package/typedoc/variables/Capabilities.ReactRoot.html +0 -1
- package/typedoc/variables/Capabilities.ReactSurface.html +0 -1
- package/typedoc/variables/Capabilities.RxRegistry.html +0 -1
- package/typedoc/variables/Capabilities.Settings.html +0 -1
- package/typedoc/variables/Capabilities.SettingsStore.html +0 -1
- package/typedoc/variables/Capabilities.Tools.html +0 -1
- package/typedoc/variables/Capabilities.Translations.html +0 -1
- package/typedoc/variables/Events.AppGraphReady.html +0 -2
- package/typedoc/variables/Events.DispatcherReady.html +0 -2
- package/typedoc/variables/Events.LayoutReady.html +0 -1
- package/typedoc/variables/Events.SettingsReady.html +0 -2
- package/typedoc/variables/Events.SetupAppGraph.html +0 -2
- package/typedoc/variables/Events.SetupArtifactDefinition.html +0 -2
- package/typedoc/variables/Events.SetupIntentResolver.html +0 -2
- package/typedoc/variables/Events.SetupMetadata.html +0 -2
- package/typedoc/variables/Events.SetupReactSurface.html +0 -2
- package/typedoc/variables/Events.SetupSettings.html +0 -2
- package/typedoc/variables/Events.SetupTranslations.html +0 -2
- package/typedoc/variables/Events.Startup.html +0 -2
- package/typedoc/variables/FileInfoSchema.html +0 -1
- package/typedoc/variables/INTENT_ACTION.html +0 -1
- package/typedoc/variables/INTENT_PLUGIN.html +0 -1
- package/typedoc/variables/LAYOUT_ACTION.html +0 -1
- package/typedoc/variables/LAYOUT_PLUGIN.html +0 -1
- package/typedoc/variables/Label.html +0 -1
- package/typedoc/variables/LayoutAction.Toast.html +0 -1
- package/typedoc/variables/LayoutAction.UPDATE_LAYOUT.html +0 -1
- package/typedoc/variables/PluginManagerProvider.html +0 -2
- package/typedoc/variables/Resource.html +0 -2
- package/typedoc/variables/ResourceKey.html +0 -1
- package/typedoc/variables/ResourceLanguage.html +0 -1
- package/typedoc/variables/SETTINGS_ACTION.html +0 -1
- package/typedoc/variables/SETTINGS_ID.html +0 -1
- package/typedoc/variables/SETTINGS_KEY.html +0 -1
- package/typedoc/variables/SETTINGS_PLUGIN.html +0 -1
- package/typedoc/variables/Surface.html +0 -2
- package/typedoc/variables/defaultFileTypes.html +0 -1
- /package/dist/lib/browser/{intent-dispatcher-TWKB22NI.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
- /package/dist/lib/browser/{worker.mjs.map → chunk-RFSO3JRG.mjs.map} +0 -0
- /package/dist/lib/{node-esm/intent-dispatcher-5PRM3KGH.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
|
@@ -1,333 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2024 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import { Effect, Option, pipe, Ref } from 'effect';
|
|
6
|
-
import { type Simplify } from 'effect/Types';
|
|
7
|
-
|
|
8
|
-
import { live } from '@dxos/live-object';
|
|
9
|
-
import { log } from '@dxos/log';
|
|
10
|
-
import { byPosition, type MaybePromise, type Position, type GuardedType } from '@dxos/util';
|
|
11
|
-
|
|
12
|
-
import { IntentAction } from './actions';
|
|
13
|
-
import { CycleDetectedError, NoResolversError } from './errors';
|
|
14
|
-
import {
|
|
15
|
-
createIntent,
|
|
16
|
-
type AnyIntent,
|
|
17
|
-
type AnyIntentChain,
|
|
18
|
-
type Intent,
|
|
19
|
-
type IntentChain,
|
|
20
|
-
type IntentData,
|
|
21
|
-
type IntentParams,
|
|
22
|
-
type IntentResultData,
|
|
23
|
-
type IntentSchema,
|
|
24
|
-
type Label,
|
|
25
|
-
} from './intent';
|
|
26
|
-
import { Events, Capabilities } from '../common';
|
|
27
|
-
import { contributes, type PluginContext } from '../core';
|
|
28
|
-
|
|
29
|
-
const EXECUTION_LIMIT = 100;
|
|
30
|
-
const HISTORY_LIMIT = 100;
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* The return value of an intent effect.
|
|
34
|
-
*/
|
|
35
|
-
export type IntentEffectResult<Input, Output> = {
|
|
36
|
-
/**
|
|
37
|
-
* The output of the action that was performed.
|
|
38
|
-
*
|
|
39
|
-
* If the intent is apart of a chain of intents, the data will be passed to the next intent.
|
|
40
|
-
*/
|
|
41
|
-
data?: Output;
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* If provided, the action will be undoable.
|
|
45
|
-
*/
|
|
46
|
-
undoable?: {
|
|
47
|
-
/**
|
|
48
|
-
* Message to display to the user when indicating that the action can be undone.
|
|
49
|
-
*/
|
|
50
|
-
message: Label;
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Will be merged with the original intent data when firing the undo intent.
|
|
54
|
-
*/
|
|
55
|
-
data?: Partial<Input>;
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* An error that occurred while performing the action.
|
|
60
|
-
*
|
|
61
|
-
* If the intent is apart of a chain of intents and an error occurs, the chain will be aborted.
|
|
62
|
-
*
|
|
63
|
-
* Return caught error instead of throwing to trigger other intent to be triggered prior to returning the error.
|
|
64
|
-
*/
|
|
65
|
-
error?: Error;
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Other intent chains to be triggered.
|
|
69
|
-
*/
|
|
70
|
-
intents?: AnyIntentChain[];
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
export type AnyIntentEffectResult = IntentEffectResult<any, any>;
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* The result of an intent dispatcher.
|
|
77
|
-
*/
|
|
78
|
-
export type IntentDispatcherResult<Input, Output> = Pick<IntentEffectResult<Input, Output>, 'data' | 'error'>;
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* The implementation of an intent effect.
|
|
82
|
-
*/
|
|
83
|
-
export type IntentEffectDefinition<Input, Output> = (
|
|
84
|
-
data: Input,
|
|
85
|
-
undo: boolean,
|
|
86
|
-
) =>
|
|
87
|
-
| MaybePromise<IntentEffectResult<Input, Output> | void>
|
|
88
|
-
| Effect.Effect<IntentEffectResult<Input, Output> | void, Error>;
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Intent resolver to match intents to their effects.
|
|
92
|
-
*/
|
|
93
|
-
export type IntentResolver<Tag extends string, Fields extends IntentParams, Data = IntentData<Fields>> = Readonly<{
|
|
94
|
-
/**
|
|
95
|
-
* The schema of the intent to be resolved.
|
|
96
|
-
*/
|
|
97
|
-
intent: IntentSchema<Tag, Fields>;
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Hint to determine the order the resolvers are processed if multiple resolvers are defined for the same intent.
|
|
101
|
-
* Only one resolver will be used.
|
|
102
|
-
*/
|
|
103
|
-
position?: Position;
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* Optional filter to determine if the resolver should be used.
|
|
107
|
-
*/
|
|
108
|
-
filter?: (data: IntentData<Fields>) => data is Data;
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* The effect to be performed when the intent is resolved.
|
|
112
|
-
*/
|
|
113
|
-
resolve: IntentEffectDefinition<GuardedType<IntentResolver<Tag, Fields, Data>['filter']>, IntentResultData<Fields>>;
|
|
114
|
-
}>;
|
|
115
|
-
|
|
116
|
-
export type AnyIntentResolver = IntentResolver<any, any, any>;
|
|
117
|
-
|
|
118
|
-
/**
|
|
119
|
-
* Creates an intent resolver to match intents to their effects.
|
|
120
|
-
* @param schema Schema of the intent. Must be a tagged class with input and output schemas.
|
|
121
|
-
* @param effect Effect to be performed when the intent is resolved.
|
|
122
|
-
* @param params.disposition Determines the priority of the resolver when multiple are resolved.
|
|
123
|
-
* @param params.filter Optional filter to determine if the resolver should be used.
|
|
124
|
-
*/
|
|
125
|
-
export const createResolver = <Tag extends string, Fields extends IntentParams, Data = IntentData<Fields>>(
|
|
126
|
-
resolver: IntentResolver<Tag, Fields, Data>,
|
|
127
|
-
) => resolver;
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* Invokes intents and returns the result.
|
|
131
|
-
*/
|
|
132
|
-
export type PromiseIntentDispatcher = <Fields extends IntentParams>(
|
|
133
|
-
intent: IntentChain<any, any, any, Fields>,
|
|
134
|
-
) => Promise<Simplify<IntentDispatcherResult<IntentData<Fields>, IntentResultData<Fields>>>>;
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* Creates an effect for intents.
|
|
138
|
-
*/
|
|
139
|
-
export type IntentDispatcher = <Fields extends IntentParams>(
|
|
140
|
-
intent: IntentChain<any, any, any, Fields>,
|
|
141
|
-
depth?: number,
|
|
142
|
-
) => Effect.Effect<
|
|
143
|
-
Simplify<Required<IntentDispatcherResult<IntentData<Fields>, IntentResultData<Fields>>>['data']>,
|
|
144
|
-
Error
|
|
145
|
-
>;
|
|
146
|
-
|
|
147
|
-
type IntentResult<Tag extends string, Fields extends IntentParams> = IntentEffectResult<
|
|
148
|
-
IntentData<Fields>,
|
|
149
|
-
IntentResultData<Fields>
|
|
150
|
-
> & {
|
|
151
|
-
_intent: Intent<Tag, Fields>;
|
|
152
|
-
};
|
|
153
|
-
|
|
154
|
-
export type AnyIntentResult = IntentResult<any, any>;
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* Invokes the most recent undoable intent with undo flags.
|
|
158
|
-
*/
|
|
159
|
-
export type PromiseIntentUndo = () => Promise<IntentDispatcherResult<any, any>>;
|
|
160
|
-
|
|
161
|
-
/**
|
|
162
|
-
* Creates an effect which undoes the last intent.
|
|
163
|
-
*/
|
|
164
|
-
export type IntentUndo = () => Effect.Effect<any, Error>;
|
|
165
|
-
|
|
166
|
-
/**
|
|
167
|
-
* Check if a chain of results is undoable.
|
|
168
|
-
*/
|
|
169
|
-
const isUndoable = (historyEntry: AnyIntentResult[]): boolean =>
|
|
170
|
-
historyEntry.length > 0 && historyEntry.every(({ undoable }) => !!undoable);
|
|
171
|
-
|
|
172
|
-
export type IntentContext = {
|
|
173
|
-
dispatch: IntentDispatcher;
|
|
174
|
-
dispatchPromise: PromiseIntentDispatcher;
|
|
175
|
-
undo: IntentUndo;
|
|
176
|
-
undoPromise: PromiseIntentUndo;
|
|
177
|
-
};
|
|
178
|
-
|
|
179
|
-
/**
|
|
180
|
-
* Sets of an intent dispatcher.
|
|
181
|
-
*
|
|
182
|
-
* @param getResolvers A function that returns an array of available intent resolvers.
|
|
183
|
-
* @param params.historyLimit The maximum number of intent results to keep in history.
|
|
184
|
-
* @param params.executionLimit The maximum recursion depth of intent chains.
|
|
185
|
-
*/
|
|
186
|
-
export const createDispatcher = (
|
|
187
|
-
getResolvers: () => AnyIntentResolver[],
|
|
188
|
-
{ executionLimit = EXECUTION_LIMIT, historyLimit = HISTORY_LIMIT } = {},
|
|
189
|
-
): IntentContext => {
|
|
190
|
-
const historyRef = Effect.runSync(Ref.make<AnyIntentResult[][]>([]));
|
|
191
|
-
|
|
192
|
-
const handleIntent = (intent: AnyIntent) =>
|
|
193
|
-
Effect.gen(function* () {
|
|
194
|
-
const candidates = getResolvers()
|
|
195
|
-
.filter((resolver) => resolver.intent._tag === intent.id)
|
|
196
|
-
.filter((resolver) => !resolver.filter || resolver.filter(intent.data))
|
|
197
|
-
.toSorted(byPosition);
|
|
198
|
-
if (candidates.length === 0) {
|
|
199
|
-
yield* Effect.fail(new NoResolversError(intent.id));
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
const effect = candidates[0].resolve(intent.data, intent.undo ?? false);
|
|
203
|
-
const result = Effect.isEffect(effect) ? yield* effect : yield* Effect.promise(async () => effect);
|
|
204
|
-
return { _intent: intent, ...result } as AnyIntentResult;
|
|
205
|
-
});
|
|
206
|
-
|
|
207
|
-
const dispatch: IntentDispatcher = (intentChain, depth = 0) => {
|
|
208
|
-
return Effect.gen(function* () {
|
|
209
|
-
if (depth > executionLimit) {
|
|
210
|
-
yield* Effect.fail(new CycleDetectedError());
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
const resultsRef = yield* Ref.make<AnyIntentResult[]>([]);
|
|
214
|
-
for (const intent of intentChain.all) {
|
|
215
|
-
const { data: prev } = (yield* resultsRef.get)[0] ?? {};
|
|
216
|
-
const result = yield* handleIntent({ ...intent, data: { ...intent.data, ...prev } });
|
|
217
|
-
yield* Ref.update(resultsRef, (results) => [result, ...results]);
|
|
218
|
-
if (result.intents) {
|
|
219
|
-
for (const intent of result.intents) {
|
|
220
|
-
// Returned intents are dispatched but not yielded into results, as such they cannot be undone.
|
|
221
|
-
// TODO(wittjosiah): Use higher execution concurrency?
|
|
222
|
-
yield* dispatch(intent, depth + 1);
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
if (result.error) {
|
|
227
|
-
// yield* dispatch(
|
|
228
|
-
// createIntent(IntentAction.Track, {
|
|
229
|
-
// intents: intentChain.all.map((i) => i.id),
|
|
230
|
-
// error: result.error.message,
|
|
231
|
-
// }),
|
|
232
|
-
// );
|
|
233
|
-
yield* Effect.fail(result.error);
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
// Track the intent chain.
|
|
238
|
-
// if (intentChain.all.some((intent) => intent.id !== IntentAction.Track._tag)) {
|
|
239
|
-
// yield* dispatch(createIntent(IntentAction.Track, { intents: intentChain.all.map((i) => i.id) }));
|
|
240
|
-
// }
|
|
241
|
-
|
|
242
|
-
const results = yield* resultsRef.get;
|
|
243
|
-
const result = results[0];
|
|
244
|
-
yield* Ref.update(historyRef, (history) => {
|
|
245
|
-
const next = [...history, results];
|
|
246
|
-
if (next.length > historyLimit) {
|
|
247
|
-
next.splice(0, next.length - historyLimit);
|
|
248
|
-
}
|
|
249
|
-
return next;
|
|
250
|
-
});
|
|
251
|
-
|
|
252
|
-
if (result.undoable && isUndoable(results)) {
|
|
253
|
-
// TODO(wittjosiah): Is there a better way to handle showing undo for chains?
|
|
254
|
-
yield* pipe(
|
|
255
|
-
dispatch(createIntent(IntentAction.ShowUndo, { message: result.undoable.message })),
|
|
256
|
-
Effect.catchSome((err) =>
|
|
257
|
-
err instanceof NoResolversError ? Option.some(Effect.succeed(undefined)) : Option.none(),
|
|
258
|
-
),
|
|
259
|
-
);
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
return result.data;
|
|
263
|
-
});
|
|
264
|
-
};
|
|
265
|
-
|
|
266
|
-
const dispatchPromise: PromiseIntentDispatcher = (intentChain) => {
|
|
267
|
-
return Effect.runPromise(dispatch(intentChain))
|
|
268
|
-
.then((data) => ({ data }))
|
|
269
|
-
.catch((error) => {
|
|
270
|
-
log.catch(error);
|
|
271
|
-
return { error };
|
|
272
|
-
});
|
|
273
|
-
};
|
|
274
|
-
|
|
275
|
-
const undo: IntentUndo = () => {
|
|
276
|
-
return Effect.gen(function* () {
|
|
277
|
-
const history = yield* historyRef.get;
|
|
278
|
-
const last = history.findLastIndex(isUndoable);
|
|
279
|
-
const result = last !== -1 ? history[last] : undefined;
|
|
280
|
-
if (result) {
|
|
281
|
-
const all = result.map(({ _intent, undoable }): AnyIntent => {
|
|
282
|
-
const data = _intent.data;
|
|
283
|
-
const undoData = undoable?.data ?? {};
|
|
284
|
-
return { ..._intent, data: { ...data, ...undoData }, undo: true } satisfies AnyIntent;
|
|
285
|
-
});
|
|
286
|
-
const intent = { first: all[0], last: all.at(-1)!, all } satisfies AnyIntentChain;
|
|
287
|
-
yield* Ref.update(historyRef, (h) => h.filter((_, index) => index !== last));
|
|
288
|
-
return yield* dispatch(intent);
|
|
289
|
-
}
|
|
290
|
-
});
|
|
291
|
-
};
|
|
292
|
-
|
|
293
|
-
const undoPromise: PromiseIntentUndo = () => {
|
|
294
|
-
return Effect.runPromise(undo())
|
|
295
|
-
.then((data) => ({ data }))
|
|
296
|
-
.catch((error) => ({ error }));
|
|
297
|
-
};
|
|
298
|
-
|
|
299
|
-
return { dispatch, dispatchPromise, undo, undoPromise };
|
|
300
|
-
};
|
|
301
|
-
|
|
302
|
-
const defaultEffect = () => Effect.fail(new Error('Intent runtime not ready'));
|
|
303
|
-
const defaultPromise = () => Effect.runPromise(defaultEffect());
|
|
304
|
-
|
|
305
|
-
export default (context: PluginContext) => {
|
|
306
|
-
const state = live<IntentContext>({
|
|
307
|
-
dispatch: defaultEffect,
|
|
308
|
-
dispatchPromise: defaultPromise,
|
|
309
|
-
undo: defaultEffect,
|
|
310
|
-
undoPromise: defaultPromise,
|
|
311
|
-
});
|
|
312
|
-
|
|
313
|
-
// TODO(wittjosiah): Make getResolver callback async and allow resolvers to be requested on demand.
|
|
314
|
-
const { dispatch, dispatchPromise, undo, undoPromise } = createDispatcher(() =>
|
|
315
|
-
context.getCapabilities(Capabilities.IntentResolver).flat(),
|
|
316
|
-
);
|
|
317
|
-
|
|
318
|
-
const manager = context.getCapability(Capabilities.PluginManager);
|
|
319
|
-
state.dispatch = (intentChain, depth) => {
|
|
320
|
-
return Effect.gen(function* () {
|
|
321
|
-
yield* manager._activate(Events.SetupIntentResolver);
|
|
322
|
-
return yield* dispatch(intentChain, depth);
|
|
323
|
-
});
|
|
324
|
-
};
|
|
325
|
-
state.dispatchPromise = async (intentChain) => {
|
|
326
|
-
await manager.activate(Events.SetupIntentResolver);
|
|
327
|
-
return await dispatchPromise(intentChain);
|
|
328
|
-
};
|
|
329
|
-
state.undo = undo;
|
|
330
|
-
state.undoPromise = undoPromise;
|
|
331
|
-
|
|
332
|
-
return contributes(Capabilities.IntentDispatcher, state);
|
|
333
|
-
};
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2023 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import { Schema } from 'effect';
|
|
6
|
-
|
|
7
|
-
export type IntentParams = {
|
|
8
|
-
readonly input: Schema.Schema.All;
|
|
9
|
-
readonly output: Schema.Schema.All;
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
export type IntentData<Fields extends IntentParams> =
|
|
13
|
-
Schema.Schema.Type<Schema.Struct<Fields>> extends { readonly input: any }
|
|
14
|
-
? Schema.Schema.Type<Schema.Struct<Fields>>['input']
|
|
15
|
-
: any;
|
|
16
|
-
|
|
17
|
-
export type IntentResultData<Fields extends IntentParams> =
|
|
18
|
-
Schema.Schema.Type<Schema.Struct<Fields>> extends { readonly output: any }
|
|
19
|
-
? Schema.Schema.Type<Schema.Struct<Fields>>['output']
|
|
20
|
-
: any;
|
|
21
|
-
|
|
22
|
-
export type IntentSchema<Tag extends string, Fields extends IntentParams> = Schema.TaggedClass<any, Tag, Fields>;
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* An intent is an abstract description of an operation to be performed.
|
|
26
|
-
* Intents allow actions to be performed across plugins.
|
|
27
|
-
*/
|
|
28
|
-
export type Intent<Tag extends string, Fields extends IntentParams> = {
|
|
29
|
-
_schema: IntentSchema<Tag, Fields>;
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* The id of the intent.
|
|
33
|
-
*/
|
|
34
|
-
id: Tag;
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Any data needed to perform the desired action.
|
|
38
|
-
*/
|
|
39
|
-
data: IntentData<Fields>;
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Whether or not the intent is being undone.
|
|
43
|
-
*/
|
|
44
|
-
undo?: boolean;
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
export type AnyIntent = Intent<any, any>;
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Chain of intents to be executed together.
|
|
51
|
-
* The result of each intent is merged into the next intent's input data.
|
|
52
|
-
*/
|
|
53
|
-
export type IntentChain<
|
|
54
|
-
FirstTag extends string,
|
|
55
|
-
LastTag extends string,
|
|
56
|
-
FirstFields extends IntentParams,
|
|
57
|
-
LastFields extends IntentParams,
|
|
58
|
-
> = {
|
|
59
|
-
first: Intent<FirstTag, FirstFields>;
|
|
60
|
-
last: Intent<LastTag, LastFields>;
|
|
61
|
-
all: AnyIntent[];
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
export type AnyIntentChain = IntentChain<any, any, any, any>;
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Creates a typed intent.
|
|
68
|
-
* @param schema Schema of the intent. Must be a tagged class with input and output schemas.
|
|
69
|
-
* @param data Data fulfilling the input schema of the intent.
|
|
70
|
-
* @param params.plugin Optional plugin ID to send the intent to.
|
|
71
|
-
* @param params.undo Optional flag to indicate that the intent is being undone. Generally not set manually.
|
|
72
|
-
*/
|
|
73
|
-
export const createIntent = <Tag extends string, Fields extends IntentParams>(
|
|
74
|
-
schema: IntentSchema<Tag, Fields>,
|
|
75
|
-
data: IntentData<Fields> = {},
|
|
76
|
-
params: Pick<AnyIntent, 'undo'> = {},
|
|
77
|
-
): IntentChain<Tag, Tag, Fields, Fields> => {
|
|
78
|
-
// The output of validateSync breaks proxy objects so this is just used for validation.
|
|
79
|
-
// TODO(wittjosiah): Is there a better way to make theses types align?
|
|
80
|
-
const _ = Schema.validateSync(schema.fields.input as Schema.Schema<any, any, unknown>)(data);
|
|
81
|
-
const intent = {
|
|
82
|
-
...params,
|
|
83
|
-
_schema: schema,
|
|
84
|
-
id: schema._tag,
|
|
85
|
-
data,
|
|
86
|
-
} satisfies Intent<Tag, Fields>;
|
|
87
|
-
|
|
88
|
-
return {
|
|
89
|
-
first: intent,
|
|
90
|
-
last: intent,
|
|
91
|
-
all: [intent],
|
|
92
|
-
};
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
// TODO(wittjosiah): Add a function for mapping the output of one intent to the input of another.
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* Chain two intents together.
|
|
99
|
-
*
|
|
100
|
-
* NOTE: Chaining of intents depends on the data inputs and outputs being structs.
|
|
101
|
-
*/
|
|
102
|
-
export const chain =
|
|
103
|
-
<
|
|
104
|
-
FirstTag extends string,
|
|
105
|
-
NextTag extends string,
|
|
106
|
-
FirstFields extends IntentParams,
|
|
107
|
-
LastFields extends IntentParams,
|
|
108
|
-
NextFields extends IntentParams,
|
|
109
|
-
>(
|
|
110
|
-
schema: IntentSchema<NextTag, NextFields>,
|
|
111
|
-
data: Omit<IntentData<NextFields>, keyof IntentResultData<LastFields>> = {},
|
|
112
|
-
params: Pick<AnyIntent, 'undo'> = {},
|
|
113
|
-
) =>
|
|
114
|
-
(
|
|
115
|
-
intent: IntentChain<FirstTag, any, FirstFields, LastFields>,
|
|
116
|
-
): IntentChain<FirstTag, NextTag, FirstFields, NextFields> => {
|
|
117
|
-
const intents = 'all' in intent ? intent.all : [intent];
|
|
118
|
-
const first = intents[0];
|
|
119
|
-
const last = {
|
|
120
|
-
...params,
|
|
121
|
-
_schema: schema,
|
|
122
|
-
id: schema._tag,
|
|
123
|
-
data,
|
|
124
|
-
} satisfies Intent<NextTag, NextFields>;
|
|
125
|
-
|
|
126
|
-
return {
|
|
127
|
-
first,
|
|
128
|
-
last,
|
|
129
|
-
all: [...intents, last],
|
|
130
|
-
};
|
|
131
|
-
};
|
|
132
|
-
|
|
133
|
-
//
|
|
134
|
-
// Intents
|
|
135
|
-
//
|
|
136
|
-
|
|
137
|
-
// NOTE: Should maintain compatibility with `i18next` (and @dxos/react-ui).
|
|
138
|
-
// TODO(wittjosiah): Making this immutable breaks type compatibility.
|
|
139
|
-
export const Label = Schema.Union(
|
|
140
|
-
Schema.String,
|
|
141
|
-
Schema.mutable(
|
|
142
|
-
Schema.Tuple(
|
|
143
|
-
Schema.String,
|
|
144
|
-
Schema.mutable(
|
|
145
|
-
Schema.Struct({
|
|
146
|
-
ns: Schema.String,
|
|
147
|
-
count: Schema.optional(Schema.Number),
|
|
148
|
-
defaultValue: Schema.optional(Schema.String),
|
|
149
|
-
}),
|
|
150
|
-
),
|
|
151
|
-
),
|
|
152
|
-
),
|
|
153
|
-
);
|
|
154
|
-
export type Label = Schema.Schema.Type<typeof Label>;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2025 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import { SETTINGS_PLUGIN } from './actions';
|
|
6
|
-
import { translations } from './translations';
|
|
7
|
-
import { Capabilities, Events } from '../common';
|
|
8
|
-
import { contributes, defineModule, definePlugin, lazy } from '../core';
|
|
9
|
-
|
|
10
|
-
// TODO(wittjosiah): Add options to exclude some modules.
|
|
11
|
-
export const SettingsPlugin = () =>
|
|
12
|
-
definePlugin({ id: SETTINGS_PLUGIN, name: 'Settings' }, [
|
|
13
|
-
defineModule({
|
|
14
|
-
id: `${SETTINGS_PLUGIN}/module/store`,
|
|
15
|
-
activatesOn: Events.Startup,
|
|
16
|
-
activatesBefore: [Events.SetupSettings],
|
|
17
|
-
activatesAfter: [Events.SettingsReady],
|
|
18
|
-
activate: lazy(() => import('./store')),
|
|
19
|
-
}),
|
|
20
|
-
defineModule({
|
|
21
|
-
id: `${SETTINGS_PLUGIN}/module/translations`,
|
|
22
|
-
activatesOn: Events.SetupTranslations,
|
|
23
|
-
activate: () => contributes(Capabilities.Translations, translations),
|
|
24
|
-
}),
|
|
25
|
-
defineModule({
|
|
26
|
-
id: `${SETTINGS_PLUGIN}/module/intent-resolver`,
|
|
27
|
-
activatesOn: Events.SetupIntentResolver,
|
|
28
|
-
activate: lazy(() => import('./intent-resolver')),
|
|
29
|
-
}),
|
|
30
|
-
defineModule({
|
|
31
|
-
id: `${SETTINGS_PLUGIN}/module/app-graph-builder`,
|
|
32
|
-
activatesOn: Events.SetupAppGraph,
|
|
33
|
-
activate: lazy(() => import('./app-graph-builder')),
|
|
34
|
-
}),
|
|
35
|
-
]);
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2023 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import { Schema } from 'effect';
|
|
6
|
-
|
|
7
|
-
export const SETTINGS_PLUGIN = 'dxos.org/plugin/settings';
|
|
8
|
-
export const SETTINGS_ACTION = `${SETTINGS_PLUGIN}/action`;
|
|
9
|
-
// TODO(wittjosiah): This is a hack to prevent the previous deck from being set for pinned items.
|
|
10
|
-
// Ideally this should be worked into the data model in a generic way.
|
|
11
|
-
export const SETTINGS_ID = '!dxos:settings';
|
|
12
|
-
export const SETTINGS_KEY = 'settings';
|
|
13
|
-
|
|
14
|
-
export namespace SettingsAction {
|
|
15
|
-
export class Open extends Schema.TaggedClass<Open>()(`${SETTINGS_ACTION}/open`, {
|
|
16
|
-
input: Schema.Struct({
|
|
17
|
-
plugin: Schema.optional(Schema.String),
|
|
18
|
-
}),
|
|
19
|
-
output: Schema.Void,
|
|
20
|
-
}) {}
|
|
21
|
-
|
|
22
|
-
export class OpenPluginRegistry extends Schema.TaggedClass<OpenPluginRegistry>()(
|
|
23
|
-
`${SETTINGS_ACTION}/open-plugin-registry`,
|
|
24
|
-
{
|
|
25
|
-
input: Schema.Void,
|
|
26
|
-
output: Schema.Void,
|
|
27
|
-
},
|
|
28
|
-
) {}
|
|
29
|
-
}
|