@dxos/app-framework 0.7.5-main.9cb18ac → 0.7.5-main.9d2a38b
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/dist/lib/browser/chunk-GNLU3GAU.mjs +1595 -0
- package/dist/lib/browser/chunk-GNLU3GAU.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +112 -618
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +67 -0
- package/dist/lib/browser/testing/index.mjs.map +7 -0
- package/dist/lib/node/chunk-FBA4BB3J.cjs +1639 -0
- package/dist/lib/node/chunk-FBA4BB3J.cjs.map +7 -0
- package/dist/lib/node/index.cjs +123 -651
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/testing/index.cjs +91 -0
- package/dist/lib/node/testing/index.cjs.map +7 -0
- package/dist/lib/node-esm/chunk-KPMTPXQI.mjs +1597 -0
- package/dist/lib/node-esm/chunk-KPMTPXQI.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +112 -618
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/testing/index.mjs +68 -0
- package/dist/lib/node-esm/testing/index.mjs.map +7 -0
- package/dist/types/src/App.d.ts +22 -13
- package/dist/types/src/App.d.ts.map +1 -1
- package/dist/types/src/common/capabilities.d.ts +340 -0
- package/dist/types/src/common/capabilities.d.ts.map +1 -0
- package/dist/types/src/common/events.d.ts +41 -0
- package/dist/types/src/common/events.d.ts.map +1 -0
- package/dist/types/src/common/file.d.ts +14 -0
- package/dist/types/src/common/file.d.ts.map +1 -0
- package/dist/types/src/common/graph.d.ts +21 -0
- package/dist/types/src/common/graph.d.ts.map +1 -0
- package/dist/types/src/{plugins/common → common}/index.d.ts +3 -1
- package/dist/types/src/common/index.d.ts.map +1 -0
- package/dist/types/src/{plugins/common → common}/layout.d.ts +0 -11
- package/dist/types/src/common/layout.d.ts.map +1 -0
- package/dist/types/src/{plugins/common → common}/navigation.d.ts +0 -2
- package/dist/types/src/common/navigation.d.ts.map +1 -0
- package/dist/types/src/{plugins/plugin-surface/SurfaceContext.d.ts → common/surface.d.ts} +12 -29
- package/dist/types/src/common/surface.d.ts.map +1 -0
- package/dist/types/src/{plugins/common → common}/translations.d.ts +0 -11
- package/dist/types/src/common/translations.d.ts.map +1 -0
- package/dist/types/src/core/capabilities.d.ts +90 -0
- package/dist/types/src/core/capabilities.d.ts.map +1 -0
- package/dist/types/src/core/capabilities.test.d.ts +2 -0
- package/dist/types/src/core/capabilities.test.d.ts.map +1 -0
- package/dist/types/src/core/events.d.ts +58 -0
- package/dist/types/src/core/events.d.ts.map +1 -0
- package/dist/types/src/core/index.d.ts +5 -0
- package/dist/types/src/core/index.d.ts.map +1 -0
- package/dist/types/src/core/manager.d.ts +126 -0
- package/dist/types/src/core/manager.d.ts.map +1 -0
- package/dist/types/src/core/manager.test.d.ts +2 -0
- package/dist/types/src/core/manager.test.d.ts.map +1 -0
- package/dist/types/src/core/plugin.d.ts +94 -0
- package/dist/types/src/core/plugin.d.ts.map +1 -0
- package/dist/types/src/helpers.d.ts +10 -0
- package/dist/types/src/helpers.d.ts.map +1 -0
- package/dist/types/src/helpers.test.d.ts +2 -0
- package/dist/types/src/helpers.test.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +5 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/playground/debug/Debug.d.ts +6 -0
- package/dist/types/src/playground/debug/Debug.d.ts.map +1 -0
- package/dist/types/src/playground/debug/index.d.ts +2 -0
- package/dist/types/src/playground/debug/index.d.ts.map +1 -0
- package/dist/types/src/playground/debug/plugin.d.ts +2 -0
- package/dist/types/src/playground/debug/plugin.d.ts.map +1 -0
- package/dist/types/src/playground/generator/Main.d.ts +6 -0
- package/dist/types/src/playground/generator/Main.d.ts.map +1 -0
- package/dist/types/src/playground/generator/Toolbar.d.ts +6 -0
- package/dist/types/src/playground/generator/Toolbar.d.ts.map +1 -0
- package/dist/types/src/playground/generator/generator.d.ts +5 -0
- package/dist/types/src/playground/generator/generator.d.ts.map +1 -0
- package/dist/types/src/playground/generator/index.d.ts +3 -0
- package/dist/types/src/playground/generator/index.d.ts.map +1 -0
- package/dist/types/src/playground/generator/plugin.d.ts +2 -0
- package/dist/types/src/playground/generator/plugin.d.ts.map +1 -0
- package/dist/types/src/playground/layout/Layout.d.ts +8 -0
- package/dist/types/src/playground/layout/Layout.d.ts.map +1 -0
- package/dist/types/src/playground/layout/index.d.ts +2 -0
- package/dist/types/src/playground/layout/index.d.ts.map +1 -0
- package/dist/types/src/playground/layout/plugin.d.ts +2 -0
- package/dist/types/src/playground/layout/plugin.d.ts.map +1 -0
- package/dist/types/src/playground/logger/Toolbar.d.ts +6 -0
- package/dist/types/src/playground/logger/Toolbar.d.ts.map +1 -0
- package/dist/types/src/playground/logger/index.d.ts +2 -0
- package/dist/types/src/playground/logger/index.d.ts.map +1 -0
- package/dist/types/src/playground/logger/plugin.d.ts +2 -0
- package/dist/types/src/playground/logger/plugin.d.ts.map +1 -0
- package/dist/types/src/playground/logger/schema.d.ts +13 -0
- package/dist/types/src/playground/logger/schema.d.ts.map +1 -0
- package/dist/types/src/playground/playground.stories.d.ts +10 -0
- package/dist/types/src/playground/playground.stories.d.ts.map +1 -0
- package/dist/types/src/{plugins/plugin-intent → plugin-intent}/IntentContext.d.ts +1 -1
- package/dist/types/src/plugin-intent/IntentContext.d.ts.map +1 -0
- package/dist/types/src/plugin-intent/IntentPlugin.d.ts +2 -0
- package/dist/types/src/plugin-intent/IntentPlugin.d.ts.map +1 -0
- package/dist/types/src/plugin-intent/actions.d.ts +23 -0
- package/dist/types/src/plugin-intent/actions.d.ts.map +1 -0
- package/dist/types/src/plugin-intent/errors.d.ts +16 -0
- package/dist/types/src/plugin-intent/errors.d.ts.map +1 -0
- package/dist/types/src/plugin-intent/index.d.ts +6 -0
- package/dist/types/src/plugin-intent/index.d.ts.map +1 -0
- package/dist/types/src/{plugins/plugin-intent → plugin-intent}/intent-dispatcher.d.ts +18 -19
- package/dist/types/src/plugin-intent/intent-dispatcher.d.ts.map +1 -0
- package/dist/types/src/plugin-intent/intent-dispatcher.test.d.ts.map +1 -0
- package/dist/types/src/{plugins/plugin-intent → plugin-intent}/intent.d.ts +5 -25
- package/dist/types/src/plugin-intent/intent.d.ts.map +1 -0
- package/dist/types/src/plugin-settings/SettingsPlugin.d.ts +2 -0
- package/dist/types/src/plugin-settings/SettingsPlugin.d.ts.map +1 -0
- package/dist/types/src/{plugins/plugin-settings/provides.d.ts → plugin-settings/actions.d.ts} +1 -10
- package/dist/types/src/plugin-settings/actions.d.ts.map +1 -0
- package/dist/types/src/plugin-settings/index.d.ts +3 -0
- package/dist/types/src/plugin-settings/index.d.ts.map +1 -0
- package/dist/types/src/react/ErrorBoundary.d.ts.map +1 -0
- package/dist/types/src/react/PluginManagerProvider.d.ts +10 -0
- package/dist/types/src/react/PluginManagerProvider.d.ts.map +1 -0
- package/dist/types/src/react/Surface.d.ts +12 -0
- package/dist/types/src/react/Surface.d.ts.map +1 -0
- package/dist/types/src/react/index.d.ts +5 -0
- package/dist/types/src/react/index.d.ts.map +1 -0
- package/dist/types/src/react/useCapabilities.d.ts +13 -0
- package/dist/types/src/react/useCapabilities.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 -0
- package/dist/types/src/testing/withPluginManager.d.ts +10 -0
- package/dist/types/src/testing/withPluginManager.d.ts.map +1 -0
- package/dist/types/src/testing/withPluginManager.stories.d.ts +5 -0
- package/dist/types/src/testing/withPluginManager.stories.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +28 -15
- package/project.json +2 -1
- package/src/App.tsx +138 -34
- package/src/common/capabilities.ts +82 -0
- package/src/common/events.ts +63 -0
- package/src/common/file.ts +22 -0
- package/src/common/graph.ts +30 -0
- package/src/{plugins/common → common}/index.ts +3 -1
- package/src/{plugins/common → common}/layout.ts +0 -16
- package/src/{plugins/common → common}/navigation.ts +0 -15
- package/src/{plugins/plugin-surface/SurfaceContext.ts → common/surface.ts} +6 -37
- package/src/common/translations.ts +18 -0
- package/src/core/capabilities.test.ts +116 -0
- package/src/core/capabilities.ts +213 -0
- package/src/core/events.ts +58 -0
- package/src/core/index.ts +8 -0
- package/src/core/manager.test.ts +567 -0
- package/src/core/manager.ts +497 -0
- package/src/core/plugin.ts +128 -0
- package/src/helpers.test.ts +97 -0
- package/src/helpers.ts +45 -0
- package/src/index.ts +6 -3
- package/src/playground/debug/Debug.tsx +39 -0
- package/src/playground/debug/index.ts +5 -0
- package/src/playground/debug/plugin.ts +17 -0
- package/src/playground/generator/Main.tsx +71 -0
- package/src/playground/generator/Toolbar.tsx +46 -0
- package/src/playground/generator/generator.ts +23 -0
- package/src/playground/generator/index.ts +6 -0
- package/src/playground/generator/plugin.ts +18 -0
- package/src/playground/layout/Layout.tsx +33 -0
- package/src/playground/layout/index.ts +5 -0
- package/src/playground/layout/plugin.ts +17 -0
- package/src/playground/logger/Toolbar.tsx +28 -0
- package/src/playground/logger/index.ts +5 -0
- package/src/playground/logger/plugin.ts +33 -0
- package/src/playground/logger/schema.ts +12 -0
- package/src/playground/playground.stories.tsx +34 -0
- package/src/{plugins/plugin-intent → plugin-intent}/IntentContext.tsx +12 -4
- package/src/plugin-intent/IntentPlugin.tsx +60 -0
- package/src/plugin-intent/actions.ts +22 -0
- package/src/plugin-intent/errors.ts +39 -0
- package/src/{plugins/plugin-intent → plugin-intent}/index.ts +2 -6
- package/src/{plugins/plugin-intent → plugin-intent}/intent-dispatcher.test.ts +36 -35
- package/src/{plugins/plugin-intent → plugin-intent}/intent-dispatcher.ts +49 -65
- package/src/{plugins/plugin-intent → plugin-intent}/intent.ts +5 -21
- package/src/plugin-settings/SettingsPlugin.ts +29 -0
- package/src/plugin-settings/actions.ts +17 -0
- package/src/plugin-settings/index.ts +6 -0
- package/src/react/PluginManagerProvider.ts +22 -0
- package/src/react/Surface.tsx +72 -0
- package/src/react/index.ts +8 -0
- package/src/react/useCapabilities.ts +39 -0
- package/src/testing/index.ts +5 -0
- package/src/testing/withPluginManager.stories.tsx +47 -0
- package/src/testing/withPluginManager.tsx +67 -0
- package/tsconfig.json +13 -1
- package/dist/lib/browser/chunk-3E7RY3CE.mjs +0 -72
- package/dist/lib/browser/chunk-3E7RY3CE.mjs.map +0 -7
- package/dist/lib/browser/chunk-QG25ZU2N.mjs +0 -320
- package/dist/lib/browser/chunk-QG25ZU2N.mjs.map +0 -7
- package/dist/lib/browser/chunk-SPDTXTOV.mjs +0 -163
- package/dist/lib/browser/chunk-SPDTXTOV.mjs.map +0 -7
- package/dist/lib/browser/chunk-WBOXEHBE.mjs +0 -51
- package/dist/lib/browser/chunk-WBOXEHBE.mjs.map +0 -7
- package/dist/lib/browser/plugin-intent-T7Y3MJ5C.mjs +0 -32
- package/dist/lib/browser/plugin-intent-T7Y3MJ5C.mjs.map +0 -7
- package/dist/lib/browser/plugin-settings-5U2L2NRU.mjs +0 -15
- package/dist/lib/browser/plugin-settings-5U2L2NRU.mjs.map +0 -7
- package/dist/lib/browser/plugin-surface-OKPF3EQI.mjs +0 -24
- package/dist/lib/browser/plugin-surface-OKPF3EQI.mjs.map +0 -7
- package/dist/lib/node/chunk-BW3RNEVI.cjs +0 -185
- package/dist/lib/node/chunk-BW3RNEVI.cjs.map +0 -7
- package/dist/lib/node/chunk-FCMHRU3M.cjs +0 -70
- package/dist/lib/node/chunk-FCMHRU3M.cjs.map +0 -7
- package/dist/lib/node/chunk-QBM42OQ6.cjs +0 -97
- package/dist/lib/node/chunk-QBM42OQ6.cjs.map +0 -7
- package/dist/lib/node/chunk-VWHAALIN.cjs +0 -344
- package/dist/lib/node/chunk-VWHAALIN.cjs.map +0 -7
- package/dist/lib/node/plugin-intent-F3TQZIUR.cjs +0 -53
- package/dist/lib/node/plugin-intent-F3TQZIUR.cjs.map +0 -7
- package/dist/lib/node/plugin-settings-W6UHMH5M.cjs +0 -36
- package/dist/lib/node/plugin-settings-W6UHMH5M.cjs.map +0 -7
- package/dist/lib/node/plugin-surface-CCSIONYW.cjs +0 -45
- package/dist/lib/node/plugin-surface-CCSIONYW.cjs.map +0 -7
- package/dist/lib/node-esm/chunk-3T5UIJY3.mjs +0 -53
- package/dist/lib/node-esm/chunk-3T5UIJY3.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-4GX7V5ZE.mjs +0 -164
- package/dist/lib/node-esm/chunk-4GX7V5ZE.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-CFOUYXQ6.mjs +0 -321
- package/dist/lib/node-esm/chunk-CFOUYXQ6.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-EYCTSFEJ.mjs +0 -74
- package/dist/lib/node-esm/chunk-EYCTSFEJ.mjs.map +0 -7
- package/dist/lib/node-esm/plugin-intent-W2HQC6LC.mjs +0 -33
- package/dist/lib/node-esm/plugin-intent-W2HQC6LC.mjs.map +0 -7
- package/dist/lib/node-esm/plugin-settings-H5RHNFVC.mjs +0 -16
- package/dist/lib/node-esm/plugin-settings-H5RHNFVC.mjs.map +0 -7
- package/dist/lib/node-esm/plugin-surface-V3YET3UL.mjs +0 -25
- package/dist/lib/node-esm/plugin-surface-V3YET3UL.mjs.map +0 -7
- package/dist/types/src/plugins/common/file.d.ts +0 -22
- package/dist/types/src/plugins/common/file.d.ts.map +0 -1
- package/dist/types/src/plugins/common/graph.d.ts +0 -51
- package/dist/types/src/plugins/common/graph.d.ts.map +0 -1
- package/dist/types/src/plugins/common/index.d.ts.map +0 -1
- package/dist/types/src/plugins/common/layout.d.ts.map +0 -1
- package/dist/types/src/plugins/common/metadata.d.ts +0 -16
- package/dist/types/src/plugins/common/metadata.d.ts.map +0 -1
- package/dist/types/src/plugins/common/navigation.d.ts.map +0 -1
- package/dist/types/src/plugins/common/translations.d.ts.map +0 -1
- package/dist/types/src/plugins/helpers.d.ts +0 -41
- package/dist/types/src/plugins/helpers.d.ts.map +0 -1
- package/dist/types/src/plugins/index.d.ts +0 -7
- package/dist/types/src/plugins/index.d.ts.map +0 -1
- package/dist/types/src/plugins/plugin-host/HostPlugin.d.ts +0 -16
- package/dist/types/src/plugins/plugin-host/HostPlugin.d.ts.map +0 -1
- package/dist/types/src/plugins/plugin-host/PluginContainer.d.ts +0 -14
- package/dist/types/src/plugins/plugin-host/PluginContainer.d.ts.map +0 -1
- package/dist/types/src/plugins/plugin-host/PluginContext.d.ts +0 -47
- package/dist/types/src/plugins/plugin-host/PluginContext.d.ts.map +0 -1
- package/dist/types/src/plugins/plugin-host/index.d.ts +0 -6
- package/dist/types/src/plugins/plugin-host/index.d.ts.map +0 -1
- package/dist/types/src/plugins/plugin-host/plugin.d.ts +0 -104
- package/dist/types/src/plugins/plugin-host/plugin.d.ts.map +0 -1
- package/dist/types/src/plugins/plugin-host/plugin.test.d.ts +0 -35
- package/dist/types/src/plugins/plugin-host/plugin.test.d.ts.map +0 -1
- package/dist/types/src/plugins/plugin-intent/IntentContext.d.ts.map +0 -1
- package/dist/types/src/plugins/plugin-intent/IntentPlugin.d.ts +0 -8
- package/dist/types/src/plugins/plugin-intent/IntentPlugin.d.ts.map +0 -1
- package/dist/types/src/plugins/plugin-intent/index.d.ts +0 -7
- package/dist/types/src/plugins/plugin-intent/index.d.ts.map +0 -1
- package/dist/types/src/plugins/plugin-intent/intent-dispatcher.d.ts.map +0 -1
- package/dist/types/src/plugins/plugin-intent/intent-dispatcher.test.d.ts.map +0 -1
- package/dist/types/src/plugins/plugin-intent/intent.d.ts.map +0 -1
- package/dist/types/src/plugins/plugin-intent/meta.d.ts +0 -6
- package/dist/types/src/plugins/plugin-intent/meta.d.ts.map +0 -1
- package/dist/types/src/plugins/plugin-intent/provides.d.ts +0 -16
- package/dist/types/src/plugins/plugin-intent/provides.d.ts.map +0 -1
- package/dist/types/src/plugins/plugin-settings/SettingsPlugin.d.ts +0 -4
- package/dist/types/src/plugins/plugin-settings/SettingsPlugin.d.ts.map +0 -1
- package/dist/types/src/plugins/plugin-settings/index.d.ts +0 -4
- package/dist/types/src/plugins/plugin-settings/index.d.ts.map +0 -1
- package/dist/types/src/plugins/plugin-settings/meta.d.ts +0 -5
- package/dist/types/src/plugins/plugin-settings/meta.d.ts.map +0 -1
- package/dist/types/src/plugins/plugin-settings/provides.d.ts.map +0 -1
- package/dist/types/src/plugins/plugin-surface/ErrorBoundary.d.ts.map +0 -1
- package/dist/types/src/plugins/plugin-surface/Surface.d.ts +0 -7
- package/dist/types/src/plugins/plugin-surface/Surface.d.ts.map +0 -1
- package/dist/types/src/plugins/plugin-surface/SurfaceContext.d.ts.map +0 -1
- package/dist/types/src/plugins/plugin-surface/SurfacePlugin.d.ts +0 -7
- package/dist/types/src/plugins/plugin-surface/SurfacePlugin.d.ts.map +0 -1
- package/dist/types/src/plugins/plugin-surface/helpers.d.ts +0 -21
- package/dist/types/src/plugins/plugin-surface/helpers.d.ts.map +0 -1
- package/dist/types/src/plugins/plugin-surface/index.d.ts +0 -8
- package/dist/types/src/plugins/plugin-surface/index.d.ts.map +0 -1
- package/dist/types/src/plugins/plugin-surface/meta.d.ts +0 -5
- package/dist/types/src/plugins/plugin-surface/meta.d.ts.map +0 -1
- package/dist/types/src/plugins/plugin-surface/provides.d.ts +0 -17
- package/dist/types/src/plugins/plugin-surface/provides.d.ts.map +0 -1
- package/src/plugins/common/file.ts +0 -36
- package/src/plugins/common/graph.ts +0 -70
- package/src/plugins/common/metadata.ts +0 -29
- package/src/plugins/common/translations.ts +0 -36
- package/src/plugins/helpers.ts +0 -92
- package/src/plugins/index.ts +0 -11
- package/src/plugins/plugin-host/HostPlugin.tsx +0 -88
- package/src/plugins/plugin-host/PluginContainer.tsx +0 -120
- package/src/plugins/plugin-host/PluginContext.tsx +0 -79
- package/src/plugins/plugin-host/index.ts +0 -12
- package/src/plugins/plugin-host/plugin.test.ts +0 -158
- package/src/plugins/plugin-host/plugin.ts +0 -133
- package/src/plugins/plugin-intent/IntentPlugin.tsx +0 -75
- package/src/plugins/plugin-intent/meta.ts +0 -11
- package/src/plugins/plugin-intent/provides.ts +0 -26
- package/src/plugins/plugin-settings/SettingsPlugin.tsx +0 -22
- package/src/plugins/plugin-settings/index.ts +0 -9
- package/src/plugins/plugin-settings/meta.ts +0 -9
- package/src/plugins/plugin-settings/provides.ts +0 -34
- package/src/plugins/plugin-surface/Surface.tsx +0 -62
- package/src/plugins/plugin-surface/SurfacePlugin.tsx +0 -45
- package/src/plugins/plugin-surface/helpers.ts +0 -22
- package/src/plugins/plugin-surface/index.ts +0 -14
- package/src/plugins/plugin-surface/meta.ts +0 -9
- package/src/plugins/plugin-surface/provides.ts +0 -27
- /package/dist/types/src/{plugins/plugin-intent → plugin-intent}/intent-dispatcher.test.d.ts +0 -0
- /package/dist/types/src/{plugins/plugin-surface → react}/ErrorBoundary.d.ts +0 -0
- /package/src/{plugins/plugin-surface → react}/ErrorBoundary.tsx +0 -0
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { type IntentPluginProvides } from './provides';
|
|
2
|
-
import { type PluginDefinition } from '../plugin-host';
|
|
3
|
-
/**
|
|
4
|
-
* Allows plugins to register intent handlers and routes sent intents to the appropriate plugin.
|
|
5
|
-
* Inspired by https://developer.android.com/reference/android/content/Intent.
|
|
6
|
-
*/
|
|
7
|
-
export declare const IntentPlugin: () => PluginDefinition<IntentPluginProvides>;
|
|
8
|
-
//# sourceMappingURL=IntentPlugin.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IntentPlugin.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-intent/IntentPlugin.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,oBAAoB,EAAuD,MAAM,YAAY,CAAC;AAE5G,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAKvD;;;GAGG;AACH,eAAO,MAAM,YAAY,QAAO,gBAAgB,CAAC,oBAAoB,CAwCpE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-intent/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAE3B,cAAc,iBAAiB,CAAC;AAEhC,eAAe,YAAY,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"intent-dispatcher.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-intent/intent-dispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"intent-dispatcher.test.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-intent/intent-dispatcher.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"intent.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-intent/intent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-intent/meta.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,aAAa,2BAA2B,CAAC;AAEtD,QAAA,MAAM,UAAU;;CAEf,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { type IntentContext, type AnyIntentResolver } from './intent-dispatcher';
|
|
2
|
-
import { type HostContext, type Plugin } from '../plugin-host';
|
|
3
|
-
type Context = HostContext & IntentContext;
|
|
4
|
-
export type ResolverDefinitions = AnyIntentResolver | AnyIntentResolver[] | ResolverDefinitions[];
|
|
5
|
-
export type IntentResolverProvides = {
|
|
6
|
-
intent: {
|
|
7
|
-
resolvers: (context: Context) => ResolverDefinitions;
|
|
8
|
-
};
|
|
9
|
-
};
|
|
10
|
-
export type IntentPluginProvides = {
|
|
11
|
-
intent: IntentContext;
|
|
12
|
-
};
|
|
13
|
-
export declare const parseIntentPlugin: (plugin: Plugin) => Plugin<IntentPluginProvides> | undefined;
|
|
14
|
-
export declare const parseIntentResolverPlugin: (plugin: Plugin) => Plugin<IntentResolverProvides> | undefined;
|
|
15
|
-
export {};
|
|
16
|
-
//# sourceMappingURL=provides.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provides.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-intent/provides.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE/D,KAAK,OAAO,GAAG,WAAW,GAAG,aAAa,CAAC;AAE3C,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GAAG,iBAAiB,EAAE,GAAG,mBAAmB,EAAE,CAAC;AAElG,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE;QACN,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,mBAAmB,CAAC;KACtD,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,iBAAiB,WAAY,MAAM,6CACkD,CAAC;AAEnG,eAAO,MAAM,yBAAyB,WAAY,MAAM,+CAC6C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsPlugin.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-settings/SettingsPlugin.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,eAAO,MAAM,cAAc,QAAO,gBAAgB,CAAC,sBAAsB,CAWxE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-settings/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,cAAc,YAAY,CAAC;AAE3B,eAAe,cAAc,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-settings/meta.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,YAAY;;CAEjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provides.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-settings/provides.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AACtC,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpF,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,aAAa,IAAI;IACtD,QAAQ,EAAE,CAAC,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,aAAa,EAAE,oBAAoB,CAAC;CACrC,CAAC;AAEF,eAAO,MAAM,mBAAmB,WAAY,MAAM,+CAIjD,CAAC;AAEF,eAAO,MAAM,eAAe,6BAA6B,CAAC;AAC1D,eAAO,MAAM,eAAe,oCAA8B,CAAC;AAE3D,yBAAiB,cAAc,CAAC;;;;;;;;;IAC9B,MAAM,OAAO,IAAK,SAAQ,SAKxB;KAAG;;CACN"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorBoundary.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-surface/ErrorBoundary.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE1E,KAAK,KAAK,GAAG,iBAAiB,CAAC;IAAE,IAAI,CAAC,EAAE,GAAG,CAAC;IAAC,QAAQ,EAAE,EAAE,CAAC;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAAC;AAC9G,KAAK,KAAK,GAAG;IAAE,KAAK,EAAE,KAAK,GAAG,SAAS,CAAA;CAAE,CAAC;AAE1C;;;;;;;GAOG;AACH,qBAAa,aAAc,SAAQ,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;gBAC5C,KAAK,EAAE,KAAK;IAKxB,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK;;;IAInC,kBAAkB,CAAC,SAAS,EAAE,KAAK,GAAG,IAAI;IAM1C,MAAM;IAQf,OAAO,CAAC,UAAU;CAGnB"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { type SurfaceProps } from './SurfaceContext';
|
|
3
|
-
/**
|
|
4
|
-
* A surface is a named region of the screen that can be populated by plugins.
|
|
5
|
-
*/
|
|
6
|
-
export declare const Surface: React.MemoExoticComponent<React.ForwardRefExoticComponent<Omit<SurfaceProps, "ref"> & React.RefAttributes<HTMLElement>>>;
|
|
7
|
-
//# sourceMappingURL=Surface.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Surface.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-surface/Surface.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAgE,MAAM,OAAO,CAAC;AAKrF,OAAO,EAAE,KAAK,YAAY,EAAkB,MAAM,kBAAkB,CAAC;AAErE;;GAEG;AACH,eAAO,MAAM,OAAO,0HA+CnB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SurfaceContext.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-surface/SurfaceContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { type SurfacePluginProvides } from './provides';
|
|
2
|
-
import { type PluginDefinition } from '../plugin-host';
|
|
3
|
-
/**
|
|
4
|
-
* Provides a registry of surface components.
|
|
5
|
-
*/
|
|
6
|
-
export declare const SurfacePlugin: () => PluginDefinition<SurfacePluginProvides>;
|
|
7
|
-
//# sourceMappingURL=SurfacePlugin.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SurfacePlugin.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-surface/SurfacePlugin.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAsB,KAAK,qBAAqB,EAA2B,MAAM,YAAY,CAAC;AAErG,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,aAAa,QAAO,gBAAgB,CAAC,qBAAqB,CAgBtE,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Checks if the given data is an object and not null.
|
|
3
|
-
*
|
|
4
|
-
* Useful inside surface component resolvers as a type guard.
|
|
5
|
-
*
|
|
6
|
-
* @example
|
|
7
|
-
* ```ts
|
|
8
|
-
* const old =
|
|
9
|
-
* data.content &&
|
|
10
|
-
* typeof data.content === 'object' &&
|
|
11
|
-
* 'id' in data.content &&
|
|
12
|
-
* typeof data.content.id === 'string';
|
|
13
|
-
*
|
|
14
|
-
* // becomes
|
|
15
|
-
* const new = isObject(data.content) && typeof data.content.id === 'string';
|
|
16
|
-
* ```
|
|
17
|
-
*/
|
|
18
|
-
export declare const isObject: (data: unknown) => data is {
|
|
19
|
-
[key: string]: unknown;
|
|
20
|
-
};
|
|
21
|
-
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-surface/helpers.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,QAAQ,SAAU,OAAO,KAAG,IAAI,IAAI;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAwC,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { SurfacePlugin } from './SurfacePlugin';
|
|
2
|
-
export * from './helpers';
|
|
3
|
-
export * from './provides';
|
|
4
|
-
export * from './ErrorBoundary';
|
|
5
|
-
export * from './Surface';
|
|
6
|
-
export * from './SurfaceContext';
|
|
7
|
-
export default SurfacePlugin;
|
|
8
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-surface/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAE3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AAEjC,eAAe,aAAa,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-surface/meta.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,WAAW;;CAEhB,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { type SurfaceDefinition, type SurfaceContextValue } from './SurfaceContext';
|
|
2
|
-
import { type HostContext, type Plugin } from '../plugin-host';
|
|
3
|
-
export type SurfaceDefinitions = SurfaceDefinition | SurfaceDefinition[] | SurfaceDefinitions[];
|
|
4
|
-
export type SurfaceProvides = {
|
|
5
|
-
surface: {
|
|
6
|
-
/**
|
|
7
|
-
* Used by the `Surface` resolver to find a component to render.
|
|
8
|
-
*/
|
|
9
|
-
definitions: (context: HostContext) => SurfaceDefinitions;
|
|
10
|
-
};
|
|
11
|
-
};
|
|
12
|
-
export type SurfacePluginProvides = {
|
|
13
|
-
surface: SurfaceContextValue;
|
|
14
|
-
};
|
|
15
|
-
export declare const parseRootSurfacePlugin: (plugin?: Plugin) => Plugin<SurfacePluginProvides> | undefined;
|
|
16
|
-
export declare const parseSurfacePlugin: (plugin?: Plugin) => Plugin<SurfaceProvides> | undefined;
|
|
17
|
-
//# sourceMappingURL=provides.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provides.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/plugin-surface/provides.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE/D,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG,iBAAiB,EAAE,GAAG,kBAAkB,EAAE,CAAC;AAEhG,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE;QACP;;WAEG;QACH,WAAW,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,kBAAkB,CAAC;KAC3D,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,mBAAmB,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,sBAAsB,YAAa,MAAM,8CACgD,CAAC;AAEvG,eAAO,MAAM,kBAAkB,YAAa,MAAM,wCACiD,CAAC"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2024 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import { type Space } from '@dxos/client-protocol';
|
|
6
|
-
|
|
7
|
-
import { type Plugin } from '../plugin-host';
|
|
8
|
-
|
|
9
|
-
// TODO(burdon): See Accept attribute (uses MIME types).
|
|
10
|
-
// E.g., 'image/*': ['.jpg', '.jpeg', '.png', '.gif'],
|
|
11
|
-
export const defaultFileTypes = {
|
|
12
|
-
images: ['png', 'jpg', 'jpeg', 'gif'],
|
|
13
|
-
media: ['mp3', 'mp4', 'mov', 'avi'],
|
|
14
|
-
text: ['pdf', 'txt', 'md'],
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export type FileInfo = {
|
|
18
|
-
url?: string;
|
|
19
|
-
cid?: string; // TODO(burdon): Meta key? Or other common properties with other file management system? (e.g., WNFS).
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
export type FileUploader = (file: File, space: Space) => Promise<FileInfo | undefined>;
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Generic interface provided by file plugins (e.g., IPFS, WNFS).
|
|
26
|
-
*/
|
|
27
|
-
export type FileManagerProvides = {
|
|
28
|
-
file: {
|
|
29
|
-
upload?: FileUploader;
|
|
30
|
-
};
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
// TODO(burdon): Better match against interface? and Return provided service type. What if multiple?
|
|
34
|
-
export const parseFileManagerPlugin = (plugin: Plugin) => {
|
|
35
|
-
return (plugin.provides as any).file ? (plugin as Plugin<FileManagerProvides>) : undefined;
|
|
36
|
-
};
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2023 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import type { Graph, GraphBuilder, Node } from '@dxos/app-graph';
|
|
6
|
-
import { type MaybePromise } from '@dxos/util';
|
|
7
|
-
|
|
8
|
-
import type { Plugin } from '../plugin-host';
|
|
9
|
-
|
|
10
|
-
// TODO(wittjosiah): Factor out.
|
|
11
|
-
export type SerializedNode = {
|
|
12
|
-
name: string;
|
|
13
|
-
data: string;
|
|
14
|
-
type?: string;
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
// TODO(wittjosiah): Factor out.
|
|
18
|
-
export type NodeSerializer<T = any> = {
|
|
19
|
-
inputType: string;
|
|
20
|
-
outputType: string;
|
|
21
|
-
disposition?: 'hoist' | 'fallback';
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Takes a node and serializes it into a format that can be stored.
|
|
25
|
-
*/
|
|
26
|
-
serialize: (node: Node<T>) => MaybePromise<SerializedNode>;
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Takes a serialized node and deserializes it into the application.
|
|
30
|
-
*/
|
|
31
|
-
deserialize: (data: SerializedNode, ancestors: unknown[]) => MaybePromise<T>;
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Provides for a plugin that exposes the application graph.
|
|
36
|
-
*/
|
|
37
|
-
export type GraphProvides = {
|
|
38
|
-
graph: Graph;
|
|
39
|
-
explore: GraphBuilder['explore'];
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
export type GraphBuilderProvides = {
|
|
43
|
-
graph: {
|
|
44
|
-
builder: (plugins: Plugin[]) => Parameters<GraphBuilder['addExtension']>[0];
|
|
45
|
-
};
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
export type GraphSerializerProvides = {
|
|
49
|
-
graph: {
|
|
50
|
-
serializer: (plugins: Plugin[]) => NodeSerializer[];
|
|
51
|
-
};
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Type guard for graph plugins.
|
|
56
|
-
*/
|
|
57
|
-
export const parseGraphPlugin = (plugin: Plugin) =>
|
|
58
|
-
(plugin.provides as any).graph?.root ? (plugin as Plugin<GraphProvides>) : undefined;
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Type guard for graph builder plugins.
|
|
62
|
-
*/
|
|
63
|
-
export const parseGraphBuilderPlugin = (plugin: Plugin) =>
|
|
64
|
-
(plugin.provides as any).graph?.builder ? (plugin as Plugin<GraphBuilderProvides>) : undefined;
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Type guard for graph serializer plugins.
|
|
68
|
-
*/
|
|
69
|
-
export const parseGraphSerializerPlugin = (plugin: Plugin) =>
|
|
70
|
-
(plugin.provides as any).graph?.serializer ? (plugin as Plugin<GraphSerializerProvides>) : undefined;
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2023 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import { type Plugin } from '../plugin-host';
|
|
6
|
-
|
|
7
|
-
export type Metadata = Record<string, any>;
|
|
8
|
-
|
|
9
|
-
export type MetadataRecordsProvides = {
|
|
10
|
-
metadata: {
|
|
11
|
-
records: Record<string, Metadata>;
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
export type MetadataResolver = (type: string) => Metadata;
|
|
16
|
-
|
|
17
|
-
export type MetadataResolverProvides = {
|
|
18
|
-
metadata: {
|
|
19
|
-
resolver: MetadataResolver;
|
|
20
|
-
};
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
export const parseMetadataRecordsPlugin = (plugin: Plugin) => {
|
|
24
|
-
return (plugin.provides as any).metadata?.records ? (plugin as Plugin<MetadataRecordsProvides>) : undefined;
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
export const parseMetadataResolverPlugin = (plugin: Plugin) => {
|
|
28
|
-
return (plugin.provides as any).metadata?.resolver ? (plugin as Plugin<MetadataResolverProvides>) : undefined;
|
|
29
|
-
};
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2023 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import { z } from 'zod';
|
|
6
|
-
|
|
7
|
-
import { type Plugin } from '../plugin-host';
|
|
8
|
-
|
|
9
|
-
// TODO(burdon): Replace zed with effect.
|
|
10
|
-
export const ResourceKey = z.union([z.string(), z.record(z.any())]);
|
|
11
|
-
export type ResourceKey = z.infer<typeof ResourceKey>;
|
|
12
|
-
|
|
13
|
-
export const ResourceLanguage = z.record(ResourceKey);
|
|
14
|
-
export type ResourceLanguage = z.infer<typeof ResourceLanguage>;
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* A resource is a collection of translations for a language.
|
|
18
|
-
*/
|
|
19
|
-
export const Resource = z.record(ResourceLanguage);
|
|
20
|
-
export type Resource = z.infer<typeof Resource>;
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Provides for a plugin that exposes translations.
|
|
24
|
-
*/
|
|
25
|
-
// TODO(wittjosiah): Rename to TranslationResourcesProvides.
|
|
26
|
-
export type TranslationsProvides = {
|
|
27
|
-
translations: Readonly<Resource[]>;
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Type guard for translation plugins.
|
|
32
|
-
*/
|
|
33
|
-
export const parseTranslationsPlugin = (plugin: Plugin) => {
|
|
34
|
-
const { success } = z.array(Resource).safeParse((plugin.provides as any).translations);
|
|
35
|
-
return success ? (plugin as Plugin<TranslationsProvides>) : undefined;
|
|
36
|
-
};
|
package/src/plugins/helpers.ts
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2023 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import { Context, type DisposeCallback } from '@dxos/context';
|
|
6
|
-
import { raise } from '@dxos/debug';
|
|
7
|
-
import { invariant } from '@dxos/invariant';
|
|
8
|
-
|
|
9
|
-
import { type Plugin, type PluginDefinition } from './plugin-host';
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Resolvers allow different instances of plugins to provide a particular capability.
|
|
13
|
-
*/
|
|
14
|
-
export type PluginResolver<T> = (plugin: Plugin) => Plugin<T> | undefined;
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Find a plugin by ID.
|
|
18
|
-
*/
|
|
19
|
-
export const findPlugin = <T>(plugins: Plugin[], id: string): Plugin<T> | undefined => {
|
|
20
|
-
return plugins.find(
|
|
21
|
-
(plugin) => plugin.meta.id === id || (typeof plugin.meta.shortId === 'string' && plugin.meta.shortId === id),
|
|
22
|
-
) as Plugin<T>;
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Find a plugin by ID, or raise an error if not found.
|
|
27
|
-
*/
|
|
28
|
-
export const getPlugin = <T>(plugins: Plugin[], id: string): Plugin<T> => {
|
|
29
|
-
return findPlugin(plugins, id) ?? raise(new Error(`Plugin not found: ${id}`));
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Filter a list of plugins to only those that match a predicate.
|
|
34
|
-
*/
|
|
35
|
-
export const filterPlugins = <T>(plugins: Plugin[], predicate: PluginResolver<T>): Plugin<T>[] =>
|
|
36
|
-
plugins.map((plugin) => predicate(plugin)).filter((plugin): plugin is Plugin<T> => !!plugin);
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Resolves a plugin by predicate.
|
|
40
|
-
*
|
|
41
|
-
* @example
|
|
42
|
-
* import { parseIntentPlugin, resolvePlugin } from '@dxos/app-framework';
|
|
43
|
-
* const intentPlugin = resolvePlugin(plugins, parseIntentPlugin);
|
|
44
|
-
*/
|
|
45
|
-
export const resolvePlugin = <T>(plugins: Plugin[], predicate: PluginResolver<T>): Plugin<T> | undefined =>
|
|
46
|
-
filterPlugins(plugins, predicate)[0];
|
|
47
|
-
|
|
48
|
-
class PluginContext {
|
|
49
|
-
// TODO(burdon): Use Resource (@dima)?
|
|
50
|
-
public readonly ctx = new Context();
|
|
51
|
-
|
|
52
|
-
private _plugins?: Plugin[];
|
|
53
|
-
|
|
54
|
-
init(plugins: Plugin[]) {
|
|
55
|
-
this._plugins = plugins;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
getPlugin<T>(id: string): Plugin<T> {
|
|
59
|
-
invariant(this._plugins);
|
|
60
|
-
return getPlugin(this._plugins, id);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
resolvePlugin<T>(resolver: PluginResolver<T>): Plugin<T>;
|
|
64
|
-
resolvePlugin<T>(resolver: PluginResolver<T>, required = false): Plugin<T> | undefined {
|
|
65
|
-
invariant(this._plugins, 'context not initialized');
|
|
66
|
-
const plugin = resolvePlugin(this._plugins, resolver);
|
|
67
|
-
if (required && !plugin) {
|
|
68
|
-
// TODO(burdon): Resolver should have a name.
|
|
69
|
-
throw new Error('Plugin not found.');
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
return plugin;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
onDispose(cb: DisposeCallback) {
|
|
76
|
-
this.ctx.onDispose(cb);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
dispose() {
|
|
80
|
-
void this.ctx.dispose();
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Plugin helper with dependency injection and life-cycle support.
|
|
86
|
-
*/
|
|
87
|
-
export const definePlugin = <Provides>(
|
|
88
|
-
cb: (context: PluginContext) => PluginDefinition<Provides>,
|
|
89
|
-
): (() => PluginDefinition<Provides>) => {
|
|
90
|
-
const context = new PluginContext();
|
|
91
|
-
return () => cb(context);
|
|
92
|
-
};
|
package/src/plugins/index.ts
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2023 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import React, { type ReactNode } from 'react';
|
|
6
|
-
|
|
7
|
-
import { LocalStorageStore } from '@dxos/local-storage';
|
|
8
|
-
|
|
9
|
-
import { PluginContainer } from './PluginContainer';
|
|
10
|
-
import { type PluginContext, PluginProvider } from './PluginContext';
|
|
11
|
-
import { type PluginDefinition, type PluginMeta } from './plugin';
|
|
12
|
-
import { ErrorBoundary } from '../plugin-surface';
|
|
13
|
-
|
|
14
|
-
export type HostPluginParams = {
|
|
15
|
-
plugins: Record<string, () => Promise<PluginDefinition>>;
|
|
16
|
-
// Ordered list of plugins.
|
|
17
|
-
meta: PluginMeta[];
|
|
18
|
-
core: string[];
|
|
19
|
-
defaults?: string[];
|
|
20
|
-
fallback?: ErrorBoundary['props']['fallback'];
|
|
21
|
-
placeholder?: ReactNode;
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
const HOST_PLUGIN = 'dxos.org/plugin/host';
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Bootstraps an application by initializing plugins and rendering root components.
|
|
28
|
-
*/
|
|
29
|
-
export const HostPlugin = ({
|
|
30
|
-
plugins,
|
|
31
|
-
meta,
|
|
32
|
-
core,
|
|
33
|
-
defaults = [],
|
|
34
|
-
fallback = DefaultFallback,
|
|
35
|
-
placeholder = null,
|
|
36
|
-
}: HostPluginParams): PluginDefinition => {
|
|
37
|
-
const state = new LocalStorageStore<PluginContext>(HOST_PLUGIN, {
|
|
38
|
-
ready: false,
|
|
39
|
-
core,
|
|
40
|
-
enabled: [...defaults],
|
|
41
|
-
plugins: [],
|
|
42
|
-
available: meta.filter(({ id }) => !core.includes(id)),
|
|
43
|
-
// TODO(burdon): Functions should not be part of the settings type.
|
|
44
|
-
setPlugin: (id: string, enabled: boolean) => {
|
|
45
|
-
if (enabled) {
|
|
46
|
-
state.values.enabled.push(id);
|
|
47
|
-
} else {
|
|
48
|
-
const index = state.values.enabled.findIndex((enabled) => enabled === id);
|
|
49
|
-
index !== -1 && state.values.enabled.splice(index, 1);
|
|
50
|
-
}
|
|
51
|
-
},
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
// Register and load values.
|
|
55
|
-
state.prop({ key: 'enabled', type: LocalStorageStore.json<string[]>() });
|
|
56
|
-
|
|
57
|
-
return {
|
|
58
|
-
meta: {
|
|
59
|
-
id: HOST_PLUGIN,
|
|
60
|
-
name: 'Plugin host',
|
|
61
|
-
},
|
|
62
|
-
provides: {
|
|
63
|
-
context: ({ children }) => {
|
|
64
|
-
return <PluginProvider value={state.values}>{children}</PluginProvider>;
|
|
65
|
-
},
|
|
66
|
-
root: () => {
|
|
67
|
-
return (
|
|
68
|
-
<ErrorBoundary fallback={fallback}>
|
|
69
|
-
<PluginContainer plugins={plugins} core={core} state={state.values} placeholder={placeholder} />
|
|
70
|
-
</ErrorBoundary>
|
|
71
|
-
);
|
|
72
|
-
},
|
|
73
|
-
},
|
|
74
|
-
};
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* Fallback does not use tailwind or theme.
|
|
79
|
-
*/
|
|
80
|
-
const DefaultFallback = ({ error }: { error: Error }) => {
|
|
81
|
-
return (
|
|
82
|
-
<div style={{ padding: '1rem' }}>
|
|
83
|
-
{/* TODO(wittjosiah): Link to docs for replacing default. */}
|
|
84
|
-
<h1 style={{ fontSize: '1.2rem', fontWeight: 700, margin: '0.5rem 0' }}>{error.message}</h1>
|
|
85
|
-
<pre>{error.stack}</pre>
|
|
86
|
-
</div>
|
|
87
|
-
);
|
|
88
|
-
};
|