@dxos/app-framework 0.8.2-main.2f9c567 → 0.8.2-main.36232bc
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/{app-graph-builder-FB4NWT25.mjs → app-graph-builder-OHM2Z6YQ.mjs} +3 -3
- package/dist/lib/browser/{chunk-M6UBP7YP.mjs → chunk-DVNSCQJ5.mjs} +163 -163
- package/dist/lib/browser/chunk-DVNSCQJ5.mjs.map +7 -0
- package/dist/lib/browser/{chunk-KPRHX73H.mjs → chunk-SFPT4Z2C.mjs} +9 -9
- package/dist/lib/browser/chunk-SFPT4Z2C.mjs.map +7 -0
- package/dist/lib/browser/{chunk-A7XUUTJN.mjs → chunk-X2YC645Z.mjs} +2 -2
- package/dist/lib/browser/index.mjs +6 -6
- package/dist/lib/browser/{intent-dispatcher-SICNXT2G.mjs → intent-dispatcher-J7QIFHLO.mjs} +2 -2
- package/dist/lib/browser/{intent-resolver-2K6LNSUE.mjs → intent-resolver-QV5MDMDV.mjs} +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{store-P4XZF26P.mjs → store-XMPVLJOQ.mjs} +2 -2
- package/dist/lib/browser/testing/index.mjs +2 -2
- package/dist/lib/browser/worker.mjs +1 -1
- package/dist/lib/node/{app-graph-builder-5QJ6YDE7.cjs → app-graph-builder-Z45FKS52.cjs} +28 -28
- package/dist/lib/node/{chunk-MTROSTO7.cjs → chunk-5UOVF3OR.cjs} +19 -19
- package/dist/lib/node/{chunk-LPUJODXZ.cjs → chunk-I3CJYEBC.cjs} +5 -5
- package/dist/lib/node/chunk-I3CJYEBC.cjs.map +7 -0
- package/dist/lib/node/{chunk-JQMNABMK.cjs → chunk-JUSEAFDU.cjs} +4 -4
- package/dist/lib/node/chunk-JUSEAFDU.cjs.map +7 -0
- package/dist/lib/node/index.cjs +79 -79
- package/dist/lib/node/{intent-dispatcher-XXFKXEHF.cjs → intent-dispatcher-FQPJNKIZ.cjs} +8 -8
- package/dist/lib/node/{intent-dispatcher-XXFKXEHF.cjs.map → intent-dispatcher-FQPJNKIZ.cjs.map} +2 -2
- package/dist/lib/node/{intent-resolver-ZP6S7QKG.cjs → intent-resolver-PBAOGJS6.cjs} +12 -12
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{store-MALHSPHZ.cjs → store-N7JLYYDI.cjs} +7 -7
- package/dist/lib/node/testing/index.cjs +8 -8
- package/dist/lib/node/worker.cjs +38 -38
- package/dist/lib/node/worker.cjs.map +1 -1
- package/dist/lib/node-esm/{app-graph-builder-2KB5VMTB.mjs → app-graph-builder-OMH534A4.mjs} +3 -3
- package/dist/lib/node-esm/{chunk-OZD32CQN.mjs → chunk-GSDBF2CK.mjs} +163 -163
- package/dist/lib/node-esm/chunk-GSDBF2CK.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-JUJF5L4G.mjs → chunk-PHOUQACM.mjs} +9 -9
- package/dist/lib/node-esm/chunk-PHOUQACM.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-MX6ITPIG.mjs → chunk-QHXUTJHE.mjs} +2 -2
- package/dist/lib/node-esm/index.mjs +6 -6
- package/dist/lib/node-esm/{intent-dispatcher-FF5HNHPQ.mjs → intent-dispatcher-QDUGA7NT.mjs} +2 -2
- package/dist/lib/node-esm/{intent-resolver-QWIKXIGI.mjs → intent-resolver-P7TC5RBD.mjs} +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{store-3NM6AWB4.mjs → store-M2BYJL6K.mjs} +2 -2
- package/dist/lib/node-esm/testing/index.mjs +2 -2
- package/dist/lib/node-esm/worker.mjs +1 -1
- package/dist/types/src/common/capabilities.d.ts +2 -2
- package/dist/types/src/common/capabilities.d.ts.map +1 -1
- package/dist/types/src/common/collaboration.d.ts +7 -7
- package/dist/types/src/common/collaboration.d.ts.map +1 -1
- package/dist/types/src/common/file.d.ts +7 -7
- package/dist/types/src/common/file.d.ts.map +1 -1
- package/dist/types/src/common/layout.d.ts +163 -163
- package/dist/types/src/common/layout.d.ts.map +1 -1
- package/dist/types/src/common/translations.d.ts +7 -7
- package/dist/types/src/common/translations.d.ts.map +1 -1
- package/dist/types/src/playground/logger/schema.d.ts +6 -6
- package/dist/types/src/playground/logger/schema.d.ts.map +1 -1
- package/dist/types/src/plugin-intent/actions.d.ts +14 -14
- package/dist/types/src/plugin-intent/actions.d.ts.map +1 -1
- package/dist/types/src/plugin-intent/intent.d.ts +12 -12
- package/dist/types/src/plugin-intent/intent.d.ts.map +1 -1
- package/dist/types/src/plugin-settings/actions.d.ts +10 -10
- package/dist/types/src/plugin-settings/actions.d.ts.map +1 -1
- package/package.json +19 -19
- package/src/common/capabilities.ts +2 -2
- package/src/common/collaboration.ts +6 -7
- package/src/common/file.ts +7 -7
- package/src/common/layout.ts +136 -148
- package/src/common/translations.ts +7 -7
- package/src/playground/generator/generator.ts +4 -4
- package/src/playground/logger/schema.ts +5 -5
- package/src/plugin-intent/actions.ts +9 -9
- package/src/plugin-intent/intent-dispatcher.test.ts +23 -23
- package/src/plugin-intent/intent.ts +11 -20
- package/src/plugin-settings/actions.ts +8 -8
- package/typedoc/classes/CollaborationActions.InsertContent.html +202 -241
- package/typedoc/classes/ErrorBoundary.html +6 -6
- package/typedoc/classes/IntentAction.ShowUndo.html +125 -125
- package/typedoc/classes/IntentAction.Track.html +239 -239
- package/typedoc/classes/LayoutAction.AddToast.html +163 -163
- package/typedoc/classes/LayoutAction.Close.html +352 -352
- package/typedoc/classes/LayoutAction.Expose.html +238 -238
- package/typedoc/classes/LayoutAction.Open.html +748 -904
- package/typedoc/classes/LayoutAction.RevertWorkspace.html +241 -241
- package/typedoc/classes/LayoutAction.ScrollIntoView.html +280 -280
- package/typedoc/classes/LayoutAction.Set.html +358 -436
- package/typedoc/classes/LayoutAction.SetLayoutMode.html +391 -469
- package/typedoc/classes/LayoutAction.SwitchWorkspace.html +238 -238
- package/typedoc/classes/LayoutAction.UpdateComplementary.html +358 -358
- package/typedoc/classes/LayoutAction.UpdateDialog.html +475 -553
- package/typedoc/classes/LayoutAction.UpdateLayout.html +281 -281
- package/typedoc/classes/LayoutAction.UpdatePopover.html +826 -826
- package/typedoc/classes/LayoutAction.UpdateSidebar.html +319 -397
- package/typedoc/classes/Plugin.html +3 -3
- package/typedoc/classes/PluginManager.html +16 -16
- package/typedoc/classes/PluginModule.html +8 -8
- package/typedoc/classes/PluginsContext.html +8 -8
- package/typedoc/classes/SettingsAction.Open.html +199 -199
- package/typedoc/classes/SettingsAction.OpenPluginRegistry.html +124 -124
- package/typedoc/functions/Events.createStateEvent.html +2 -2
- package/typedoc/functions/IntentPlugin.html +1 -1
- package/typedoc/functions/SettingsPlugin.html +1 -1
- package/typedoc/functions/allOf.html +2 -2
- package/typedoc/functions/chain.html +2 -2
- package/typedoc/functions/contributes.html +2 -2
- package/typedoc/functions/createApp.html +2 -2
- package/typedoc/functions/createDispatcher.html +2 -2
- package/typedoc/functions/createIntent.html +2 -2
- package/typedoc/functions/createResolver.html +2 -2
- package/typedoc/functions/createSurface.html +2 -2
- package/typedoc/functions/defineCapability.html +2 -2
- package/typedoc/functions/defineEvent.html +2 -2
- package/typedoc/functions/defineModule.html +2 -2
- package/typedoc/functions/definePlugin.html +2 -2
- package/typedoc/functions/eventKey.html +2 -2
- package/typedoc/functions/getEvents.html +2 -2
- package/typedoc/functions/isAllOf.html +2 -2
- package/typedoc/functions/isOneOf.html +2 -2
- package/typedoc/functions/isSurfaceAvailable.html +2 -2
- package/typedoc/functions/lazy.html +2 -2
- package/typedoc/functions/oneOf.html +2 -2
- package/typedoc/functions/useAppGraph.html +1 -1
- package/typedoc/functions/useCapabilities.html +2 -2
- package/typedoc/functions/useCapability.html +2 -2
- package/typedoc/functions/useIntentDispatcher.html +1 -1
- package/typedoc/functions/useIntentResolver.html +1 -1
- package/typedoc/functions/useLayout.html +1 -1
- package/typedoc/functions/usePluginManager.html +2 -2
- package/typedoc/hierarchy.html +1 -1
- package/typedoc/index.html +2 -2
- package/typedoc/interfaces/LayoutAction.Toast.html +2 -2
- package/typedoc/modules/Capabilities.html +1 -1
- package/typedoc/modules/CollaborationActions.html +1 -1
- package/typedoc/modules/Events.html +1 -1
- package/typedoc/modules/IntentAction.html +1 -1
- package/typedoc/modules/LayoutAction.html +2 -2
- package/typedoc/modules/SettingsAction.html +1 -1
- package/typedoc/modules.html +1 -1
- package/typedoc/types/ActivationEvent.html +3 -3
- package/typedoc/types/ActivationEvents.html +2 -2
- package/typedoc/types/AnyCapability.html +1 -1
- package/typedoc/types/AnyIntent.html +1 -1
- package/typedoc/types/AnyIntentChain.html +1 -1
- package/typedoc/types/AnyIntentEffectResult.html +1 -1
- package/typedoc/types/AnyIntentResolver.html +1 -1
- package/typedoc/types/AnyIntentResult.html +1 -1
- package/typedoc/types/Capabilities.FileUploader.html +1 -1
- package/typedoc/types/Capabilities.IntentResolver.html +1 -1
- package/typedoc/types/Capabilities.Layout.html +1 -1
- package/typedoc/types/Capabilities.Metadata.html +1 -1
- package/typedoc/types/Capabilities.ReactContext.html +1 -1
- package/typedoc/types/Capabilities.ReactRoot.html +1 -1
- package/typedoc/types/Capabilities.ReactSurface.html +1 -1
- package/typedoc/types/Capabilities.Settings.html +2 -2
- package/typedoc/types/Capability.html +5 -5
- package/typedoc/types/CreateAppOptions.html +2 -2
- package/typedoc/types/FileInfo.html +1 -1
- package/typedoc/types/Intent.html +7 -7
- package/typedoc/types/IntentChain.html +3 -3
- package/typedoc/types/IntentContext.html +2 -2
- package/typedoc/types/IntentData.html +1 -1
- package/typedoc/types/IntentDispatcher.html +2 -2
- package/typedoc/types/IntentDispatcherResult.html +2 -2
- package/typedoc/types/IntentEffectDefinition.html +2 -2
- package/typedoc/types/IntentEffectResult.html +6 -6
- package/typedoc/types/IntentParams.html +2 -2
- package/typedoc/types/IntentResolver.html +2 -2
- package/typedoc/types/IntentResultData.html +1 -1
- package/typedoc/types/IntentSchema.html +1 -1
- package/typedoc/types/IntentUndo.html +2 -2
- package/typedoc/types/InterfaceDef.html +3 -3
- package/typedoc/types/Label.html +1 -1
- package/typedoc/types/NodeSerializer.html +3 -3
- package/typedoc/types/PluginManagerOptions.html +2 -2
- package/typedoc/types/PluginMeta.html +9 -9
- package/typedoc/types/PromiseIntentDispatcher.html +2 -2
- package/typedoc/types/PromiseIntentUndo.html +2 -2
- package/typedoc/types/Resource.html +1 -1
- package/typedoc/types/ResourceKey.html +1 -1
- package/typedoc/types/ResourceLanguage.html +1 -1
- package/typedoc/types/SerializedNode.html +2 -2
- package/typedoc/types/SurfaceComponent.html +2 -2
- package/typedoc/types/SurfaceDefinition.html +2 -2
- package/typedoc/types/SurfaceProps.html +2 -2
- package/typedoc/variables/Capabilities.AppGraph.html +1 -1
- package/typedoc/variables/Capabilities.AppGraphBuilder.html +1 -1
- package/typedoc/variables/Capabilities.AppGraphSerializer.html +1 -1
- package/typedoc/variables/Capabilities.ArtifactDefinition.html +1 -1
- package/typedoc/variables/Capabilities.FileUploader.html +1 -1
- package/typedoc/variables/Capabilities.IntentDispatcher.html +1 -1
- package/typedoc/variables/Capabilities.IntentResolver.html +1 -1
- package/typedoc/variables/Capabilities.Layout.html +1 -1
- package/typedoc/variables/Capabilities.Metadata.html +1 -1
- package/typedoc/variables/Capabilities.Null.html +1 -1
- package/typedoc/variables/Capabilities.PluginManager.html +1 -1
- package/typedoc/variables/Capabilities.ReactContext.html +1 -1
- package/typedoc/variables/Capabilities.ReactRoot.html +1 -1
- package/typedoc/variables/Capabilities.ReactSurface.html +1 -1
- package/typedoc/variables/Capabilities.Settings.html +1 -1
- package/typedoc/variables/Capabilities.SettingsStore.html +1 -1
- package/typedoc/variables/Capabilities.Tools.html +1 -1
- package/typedoc/variables/Capabilities.Translations.html +1 -1
- package/typedoc/variables/Events.AppGraphReady.html +2 -2
- package/typedoc/variables/Events.DispatcherReady.html +2 -2
- package/typedoc/variables/Events.LayoutReady.html +1 -1
- package/typedoc/variables/Events.SettingsReady.html +2 -2
- package/typedoc/variables/Events.SetupAppGraph.html +2 -2
- package/typedoc/variables/Events.SetupArtifactDefinition.html +2 -2
- package/typedoc/variables/Events.SetupIntentResolver.html +2 -2
- package/typedoc/variables/Events.SetupMetadata.html +2 -2
- package/typedoc/variables/Events.SetupReactSurface.html +2 -2
- package/typedoc/variables/Events.SetupSettings.html +2 -2
- package/typedoc/variables/Events.SetupTranslations.html +2 -2
- package/typedoc/variables/Events.Startup.html +2 -2
- package/typedoc/variables/FileInfoSchema.html +1 -1
- package/typedoc/variables/INTENT_ACTION.html +1 -1
- package/typedoc/variables/INTENT_PLUGIN.html +1 -1
- package/typedoc/variables/LAYOUT_ACTION.html +1 -1
- package/typedoc/variables/LAYOUT_PLUGIN.html +1 -1
- package/typedoc/variables/Label.html +1 -1
- package/typedoc/variables/LayoutAction.Toast.html +1 -1
- package/typedoc/variables/LayoutAction.UPDATE_LAYOUT.html +1 -1
- package/typedoc/variables/PluginManagerProvider.html +2 -2
- package/typedoc/variables/Resource.html +2 -2
- package/typedoc/variables/ResourceKey.html +1 -1
- package/typedoc/variables/ResourceLanguage.html +1 -1
- package/typedoc/variables/SETTINGS_ACTION.html +1 -1
- package/typedoc/variables/SETTINGS_ID.html +1 -1
- package/typedoc/variables/SETTINGS_KEY.html +1 -1
- package/typedoc/variables/SETTINGS_PLUGIN.html +1 -1
- package/typedoc/variables/Surface.html +2 -2
- package/typedoc/variables/defaultFileTypes.html +1 -1
- package/dist/lib/browser/chunk-KPRHX73H.mjs.map +0 -7
- package/dist/lib/browser/chunk-M6UBP7YP.mjs.map +0 -7
- package/dist/lib/node/chunk-JQMNABMK.cjs.map +0 -7
- package/dist/lib/node/chunk-LPUJODXZ.cjs.map +0 -7
- package/dist/lib/node-esm/chunk-JUJF5L4G.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-OZD32CQN.mjs.map +0 -7
- /package/dist/lib/browser/{app-graph-builder-FB4NWT25.mjs.map → app-graph-builder-OHM2Z6YQ.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-A7XUUTJN.mjs.map → chunk-X2YC645Z.mjs.map} +0 -0
- /package/dist/lib/browser/{intent-dispatcher-SICNXT2G.mjs.map → intent-dispatcher-J7QIFHLO.mjs.map} +0 -0
- /package/dist/lib/browser/{intent-resolver-2K6LNSUE.mjs.map → intent-resolver-QV5MDMDV.mjs.map} +0 -0
- /package/dist/lib/browser/{store-P4XZF26P.mjs.map → store-XMPVLJOQ.mjs.map} +0 -0
- /package/dist/lib/node/{app-graph-builder-5QJ6YDE7.cjs.map → app-graph-builder-Z45FKS52.cjs.map} +0 -0
- /package/dist/lib/node/{chunk-MTROSTO7.cjs.map → chunk-5UOVF3OR.cjs.map} +0 -0
- /package/dist/lib/node/{intent-resolver-ZP6S7QKG.cjs.map → intent-resolver-PBAOGJS6.cjs.map} +0 -0
- /package/dist/lib/node/{store-MALHSPHZ.cjs.map → store-N7JLYYDI.cjs.map} +0 -0
- /package/dist/lib/node-esm/{app-graph-builder-2KB5VMTB.mjs.map → app-graph-builder-OMH534A4.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-MX6ITPIG.mjs.map → chunk-QHXUTJHE.mjs.map} +0 -0
- /package/dist/lib/node-esm/{intent-dispatcher-FF5HNHPQ.mjs.map → intent-dispatcher-QDUGA7NT.mjs.map} +0 -0
- /package/dist/lib/node-esm/{intent-resolver-QWIKXIGI.mjs.map → intent-resolver-P7TC5RBD.mjs.map} +0 -0
- /package/dist/lib/node-esm/{store-3NM6AWB4.mjs.map → store-M2BYJL6K.mjs.map} +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Copyright 2025 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import { Schema } from 'effect';
|
|
5
|
+
import { Schema as S } from 'effect';
|
|
6
6
|
|
|
7
7
|
import { Label } from './intent';
|
|
8
8
|
|
|
@@ -13,21 +13,21 @@ export namespace IntentAction {
|
|
|
13
13
|
/**
|
|
14
14
|
* Log an intent.
|
|
15
15
|
*/
|
|
16
|
-
export class Track extends
|
|
17
|
-
input:
|
|
18
|
-
intents:
|
|
19
|
-
error:
|
|
16
|
+
export class Track extends S.TaggedClass<Track>()(`${INTENT_ACTION}/track`, {
|
|
17
|
+
input: S.Struct({
|
|
18
|
+
intents: S.Array(S.String),
|
|
19
|
+
error: S.optional(S.String),
|
|
20
20
|
}),
|
|
21
|
-
output:
|
|
21
|
+
output: S.Void,
|
|
22
22
|
}) {}
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
25
|
* Fired after an intent is dispatched if the intent is undoable.
|
|
26
26
|
*/
|
|
27
|
-
export class ShowUndo extends
|
|
28
|
-
input:
|
|
27
|
+
export class ShowUndo extends S.TaggedClass<ShowUndo>()(`${INTENT_ACTION}/show-undo`, {
|
|
28
|
+
input: S.Struct({
|
|
29
29
|
message: Label,
|
|
30
30
|
}),
|
|
31
|
-
output:
|
|
31
|
+
output: S.Void,
|
|
32
32
|
}) {}
|
|
33
33
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Copyright 2024 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import { Schema, Effect, Fiber, pipe } from 'effect';
|
|
5
|
+
import { Schema as S, Effect, Fiber, pipe } from 'effect';
|
|
6
6
|
import { describe, expect, test } from 'vitest';
|
|
7
7
|
|
|
8
8
|
import { chain, createIntent } from './intent';
|
|
@@ -224,12 +224,12 @@ describe('Intent dispatcher', () => {
|
|
|
224
224
|
test.todo('follow up intents');
|
|
225
225
|
});
|
|
226
226
|
|
|
227
|
-
class ToString extends
|
|
228
|
-
input:
|
|
229
|
-
value:
|
|
227
|
+
class ToString extends S.TaggedClass<ToString>()('ToString', {
|
|
228
|
+
input: S.Struct({
|
|
229
|
+
value: S.Number,
|
|
230
230
|
}),
|
|
231
|
-
output:
|
|
232
|
-
string:
|
|
231
|
+
output: S.Struct({
|
|
232
|
+
string: S.String,
|
|
233
233
|
}),
|
|
234
234
|
}) {}
|
|
235
235
|
|
|
@@ -238,12 +238,12 @@ const toStringResolver = createResolver({
|
|
|
238
238
|
resolve: async (data) => ({ data: { string: data.value.toString() } }),
|
|
239
239
|
});
|
|
240
240
|
|
|
241
|
-
class Compute extends
|
|
242
|
-
input:
|
|
243
|
-
value:
|
|
241
|
+
class Compute extends S.TaggedClass<Compute>()('Compute', {
|
|
242
|
+
input: S.Struct({
|
|
243
|
+
value: S.Number,
|
|
244
244
|
}),
|
|
245
|
-
output:
|
|
246
|
-
value:
|
|
245
|
+
output: S.Struct({
|
|
246
|
+
value: S.Number,
|
|
247
247
|
}),
|
|
248
248
|
}) {}
|
|
249
249
|
|
|
@@ -262,13 +262,13 @@ const computeResolver = createResolver({
|
|
|
262
262
|
},
|
|
263
263
|
});
|
|
264
264
|
|
|
265
|
-
class Concat extends
|
|
266
|
-
input:
|
|
267
|
-
string:
|
|
268
|
-
plus:
|
|
265
|
+
class Concat extends S.TaggedClass<Concat>()('Concat', {
|
|
266
|
+
input: S.Struct({
|
|
267
|
+
string: S.String,
|
|
268
|
+
plus: S.String,
|
|
269
269
|
}),
|
|
270
|
-
output:
|
|
271
|
-
string:
|
|
270
|
+
output: S.Struct({
|
|
271
|
+
string: S.String,
|
|
272
272
|
}),
|
|
273
273
|
}) {}
|
|
274
274
|
|
|
@@ -277,9 +277,9 @@ const concatResolver = createResolver({
|
|
|
277
277
|
resolve: async (data) => ({ data: { string: data.string + data.plus } }),
|
|
278
278
|
});
|
|
279
279
|
|
|
280
|
-
class Add extends
|
|
281
|
-
input:
|
|
282
|
-
output:
|
|
280
|
+
class Add extends S.TaggedClass<Add>()('Add', {
|
|
281
|
+
input: S.Tuple(S.Number, S.Number),
|
|
282
|
+
output: S.Number,
|
|
283
283
|
}) {}
|
|
284
284
|
|
|
285
285
|
const addResolver = createResolver({
|
|
@@ -287,9 +287,9 @@ const addResolver = createResolver({
|
|
|
287
287
|
resolve: async (data) => ({ data: data[0] + data[1] }),
|
|
288
288
|
});
|
|
289
289
|
|
|
290
|
-
class SideEffect extends
|
|
291
|
-
input:
|
|
292
|
-
output:
|
|
290
|
+
class SideEffect extends S.TaggedClass<SideEffect>()('SideEffect', {
|
|
291
|
+
input: S.Void,
|
|
292
|
+
output: S.Void,
|
|
293
293
|
}) {}
|
|
294
294
|
|
|
295
295
|
const sideEffectResolver = createResolver({
|
|
@@ -2,24 +2,20 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import { Schema } from 'effect';
|
|
5
|
+
import { Schema as S } from 'effect';
|
|
6
6
|
|
|
7
7
|
export type IntentParams = {
|
|
8
|
-
readonly input:
|
|
9
|
-
readonly output:
|
|
8
|
+
readonly input: S.Schema.All;
|
|
9
|
+
readonly output: S.Schema.All;
|
|
10
10
|
};
|
|
11
11
|
|
|
12
12
|
export type IntentData<Fields extends IntentParams> =
|
|
13
|
-
|
|
14
|
-
? Schema.Schema.Type<Schema.Struct<Fields>>['input']
|
|
15
|
-
: any;
|
|
13
|
+
S.Schema.Type<S.Struct<Fields>> extends { readonly input: any } ? S.Schema.Type<S.Struct<Fields>>['input'] : any;
|
|
16
14
|
|
|
17
15
|
export type IntentResultData<Fields extends IntentParams> =
|
|
18
|
-
|
|
19
|
-
? Schema.Schema.Type<Schema.Struct<Fields>>['output']
|
|
20
|
-
: any;
|
|
16
|
+
S.Schema.Type<S.Struct<Fields>> extends { readonly output: any } ? S.Schema.Type<S.Struct<Fields>>['output'] : any;
|
|
21
17
|
|
|
22
|
-
export type IntentSchema<Tag extends string, Fields extends IntentParams> =
|
|
18
|
+
export type IntentSchema<Tag extends string, Fields extends IntentParams> = S.TaggedClass<any, Tag, Fields>;
|
|
23
19
|
|
|
24
20
|
/**
|
|
25
21
|
* An intent is an abstract description of an operation to be performed.
|
|
@@ -84,7 +80,7 @@ export const createIntent = <Tag extends string, Fields extends IntentParams>(
|
|
|
84
80
|
): IntentChain<Tag, Tag, Fields, Fields> => {
|
|
85
81
|
// The output of validateSync breaks proxy objects so this is just used for validation.
|
|
86
82
|
// TODO(wittjosiah): Is there a better way to make theses types align?
|
|
87
|
-
const _ =
|
|
83
|
+
const _ = S.validateSync(schema.fields.input as S.Schema<any, any, unknown>)(data);
|
|
88
84
|
const intent = {
|
|
89
85
|
...params,
|
|
90
86
|
_schema: schema,
|
|
@@ -143,13 +139,8 @@ export const chain =
|
|
|
143
139
|
|
|
144
140
|
// NOTE: Should maintain compatibility with `i18next` (and @dxos/react-ui).
|
|
145
141
|
// TODO(wittjosiah): Making this immutable breaks type compatibility.
|
|
146
|
-
export const Label =
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
Schema.Tuple(
|
|
150
|
-
Schema.String,
|
|
151
|
-
Schema.mutable(Schema.Struct({ ns: Schema.String, count: Schema.optional(Schema.Number) })),
|
|
152
|
-
),
|
|
153
|
-
),
|
|
142
|
+
export const Label = S.Union(
|
|
143
|
+
S.String,
|
|
144
|
+
S.mutable(S.Tuple(S.String, S.mutable(S.Struct({ ns: S.String, count: S.optional(S.Number) })))),
|
|
154
145
|
);
|
|
155
|
-
export type Label =
|
|
146
|
+
export type Label = S.Schema.Type<typeof Label>;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import { Schema } from 'effect';
|
|
5
|
+
import { Schema as S } from 'effect';
|
|
6
6
|
|
|
7
7
|
export const SETTINGS_PLUGIN = 'dxos.org/plugin/settings';
|
|
8
8
|
export const SETTINGS_ACTION = `${SETTINGS_PLUGIN}/action`;
|
|
@@ -12,18 +12,18 @@ export const SETTINGS_ID = '!dxos:settings';
|
|
|
12
12
|
export const SETTINGS_KEY = 'settings';
|
|
13
13
|
|
|
14
14
|
export namespace SettingsAction {
|
|
15
|
-
export class Open extends
|
|
16
|
-
input:
|
|
17
|
-
plugin:
|
|
15
|
+
export class Open extends S.TaggedClass<Open>()(`${SETTINGS_ACTION}/open`, {
|
|
16
|
+
input: S.Struct({
|
|
17
|
+
plugin: S.optional(S.String),
|
|
18
18
|
}),
|
|
19
|
-
output:
|
|
19
|
+
output: S.Void,
|
|
20
20
|
}) {}
|
|
21
21
|
|
|
22
|
-
export class OpenPluginRegistry extends
|
|
22
|
+
export class OpenPluginRegistry extends S.TaggedClass<OpenPluginRegistry>()(
|
|
23
23
|
`${SETTINGS_ACTION}/open-plugin-registry`,
|
|
24
24
|
{
|
|
25
|
-
input:
|
|
26
|
-
output:
|
|
25
|
+
input: S.Void,
|
|
26
|
+
output: S.Void,
|
|
27
27
|
},
|
|
28
28
|
) {}
|
|
29
29
|
}
|