@dxos/app-framework 0.8.2-main.12df754 → 0.8.2-main.2f9c567

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.
Files changed (248) hide show
  1. package/dist/lib/browser/{app-graph-builder-RHU5WUGJ.mjs → app-graph-builder-FB4NWT25.mjs} +3 -3
  2. package/dist/lib/browser/{chunk-GYFO2C4Q.mjs → chunk-A7XUUTJN.mjs} +2 -2
  3. package/dist/lib/browser/{chunk-SFPT4Z2C.mjs → chunk-KPRHX73H.mjs} +9 -9
  4. package/dist/lib/browser/chunk-KPRHX73H.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-5WHZ3ORL.mjs → chunk-M6UBP7YP.mjs} +165 -162
  6. package/dist/lib/browser/chunk-M6UBP7YP.mjs.map +7 -0
  7. package/dist/lib/browser/index.mjs +6 -6
  8. package/dist/lib/browser/{intent-dispatcher-T6YETUE7.mjs → intent-dispatcher-SICNXT2G.mjs} +2 -2
  9. package/dist/lib/browser/{intent-resolver-UQFD7VBJ.mjs → intent-resolver-2K6LNSUE.mjs} +3 -3
  10. package/dist/lib/browser/meta.json +1 -1
  11. package/dist/lib/browser/{store-NP42FCZO.mjs → store-P4XZF26P.mjs} +2 -2
  12. package/dist/lib/browser/testing/index.mjs +2 -2
  13. package/dist/lib/browser/worker.mjs +1 -1
  14. package/dist/lib/node/{app-graph-builder-QGHI2J2R.cjs → app-graph-builder-5QJ6YDE7.cjs} +28 -28
  15. package/dist/lib/node/{chunk-JUSEAFDU.cjs → chunk-JQMNABMK.cjs} +4 -4
  16. package/dist/lib/node/chunk-JQMNABMK.cjs.map +7 -0
  17. package/dist/lib/node/{chunk-EGY2ANJA.cjs → chunk-LPUJODXZ.cjs} +8 -5
  18. package/dist/lib/node/chunk-LPUJODXZ.cjs.map +7 -0
  19. package/dist/lib/node/{chunk-PIFNLI5K.cjs → chunk-MTROSTO7.cjs} +19 -19
  20. package/dist/lib/node/index.cjs +79 -79
  21. package/dist/lib/node/{intent-dispatcher-BEKV2HG3.cjs → intent-dispatcher-XXFKXEHF.cjs} +8 -8
  22. package/dist/lib/node/{intent-dispatcher-BEKV2HG3.cjs.map → intent-dispatcher-XXFKXEHF.cjs.map} +2 -2
  23. package/dist/lib/node/{intent-resolver-NALI2KSH.cjs → intent-resolver-ZP6S7QKG.cjs} +12 -12
  24. package/dist/lib/node/meta.json +1 -1
  25. package/dist/lib/node/{store-I7KM7GGP.cjs → store-MALHSPHZ.cjs} +7 -7
  26. package/dist/lib/node/testing/index.cjs +8 -8
  27. package/dist/lib/node/worker.cjs +38 -38
  28. package/dist/lib/node/worker.cjs.map +1 -1
  29. package/dist/lib/node-esm/{app-graph-builder-45FJO6JA.mjs → app-graph-builder-2KB5VMTB.mjs} +3 -3
  30. package/dist/lib/node-esm/{chunk-PHOUQACM.mjs → chunk-JUJF5L4G.mjs} +9 -9
  31. package/dist/lib/node-esm/chunk-JUJF5L4G.mjs.map +7 -0
  32. package/dist/lib/node-esm/{chunk-KFDC5QSQ.mjs → chunk-MX6ITPIG.mjs} +2 -2
  33. package/dist/lib/node-esm/{chunk-YQMLJUYN.mjs → chunk-OZD32CQN.mjs} +165 -162
  34. package/dist/lib/node-esm/chunk-OZD32CQN.mjs.map +7 -0
  35. package/dist/lib/node-esm/index.mjs +6 -6
  36. package/dist/lib/node-esm/{intent-dispatcher-MYETZPUW.mjs → intent-dispatcher-FF5HNHPQ.mjs} +2 -2
  37. package/dist/lib/node-esm/{intent-resolver-BW5I7SOS.mjs → intent-resolver-QWIKXIGI.mjs} +3 -3
  38. package/dist/lib/node-esm/meta.json +1 -1
  39. package/dist/lib/node-esm/{store-MKIES4HL.mjs → store-3NM6AWB4.mjs} +2 -2
  40. package/dist/lib/node-esm/testing/index.mjs +2 -2
  41. package/dist/lib/node-esm/worker.mjs +1 -1
  42. package/dist/types/src/common/capabilities.d.ts +2 -2
  43. package/dist/types/src/common/capabilities.d.ts.map +1 -1
  44. package/dist/types/src/common/collaboration.d.ts +7 -7
  45. package/dist/types/src/common/collaboration.d.ts.map +1 -1
  46. package/dist/types/src/common/file.d.ts +7 -7
  47. package/dist/types/src/common/file.d.ts.map +1 -1
  48. package/dist/types/src/common/layout.d.ts +163 -162
  49. package/dist/types/src/common/layout.d.ts.map +1 -1
  50. package/dist/types/src/common/translations.d.ts +7 -7
  51. package/dist/types/src/common/translations.d.ts.map +1 -1
  52. package/dist/types/src/playground/logger/schema.d.ts +6 -6
  53. package/dist/types/src/playground/logger/schema.d.ts.map +1 -1
  54. package/dist/types/src/plugin-intent/actions.d.ts +14 -14
  55. package/dist/types/src/plugin-intent/actions.d.ts.map +1 -1
  56. package/dist/types/src/plugin-intent/intent.d.ts +12 -12
  57. package/dist/types/src/plugin-intent/intent.d.ts.map +1 -1
  58. package/dist/types/src/plugin-settings/actions.d.ts +10 -10
  59. package/dist/types/src/plugin-settings/actions.d.ts.map +1 -1
  60. package/package.json +19 -19
  61. package/src/common/capabilities.ts +2 -2
  62. package/src/common/collaboration.ts +7 -6
  63. package/src/common/file.ts +7 -7
  64. package/src/common/layout.ts +148 -135
  65. package/src/common/translations.ts +7 -7
  66. package/src/playground/generator/generator.ts +4 -4
  67. package/src/playground/logger/schema.ts +5 -5
  68. package/src/plugin-intent/actions.ts +9 -9
  69. package/src/plugin-intent/intent-dispatcher.test.ts +23 -23
  70. package/src/plugin-intent/intent.ts +20 -11
  71. package/src/plugin-settings/actions.ts +8 -8
  72. package/typedoc/classes/CollaborationActions.InsertContent.html +241 -202
  73. package/typedoc/classes/ErrorBoundary.html +6 -6
  74. package/typedoc/classes/IntentAction.ShowUndo.html +125 -125
  75. package/typedoc/classes/IntentAction.Track.html +239 -239
  76. package/typedoc/classes/LayoutAction.AddToast.html +163 -163
  77. package/typedoc/classes/LayoutAction.Close.html +352 -352
  78. package/typedoc/classes/LayoutAction.Expose.html +238 -238
  79. package/typedoc/classes/LayoutAction.Open.html +904 -709
  80. package/typedoc/classes/LayoutAction.RevertWorkspace.html +241 -241
  81. package/typedoc/classes/LayoutAction.ScrollIntoView.html +280 -280
  82. package/typedoc/classes/LayoutAction.Set.html +436 -358
  83. package/typedoc/classes/LayoutAction.SetLayoutMode.html +469 -391
  84. package/typedoc/classes/LayoutAction.SwitchWorkspace.html +238 -238
  85. package/typedoc/classes/LayoutAction.UpdateComplementary.html +358 -358
  86. package/typedoc/classes/LayoutAction.UpdateDialog.html +553 -475
  87. package/typedoc/classes/LayoutAction.UpdateLayout.html +281 -281
  88. package/typedoc/classes/LayoutAction.UpdatePopover.html +826 -826
  89. package/typedoc/classes/LayoutAction.UpdateSidebar.html +397 -319
  90. package/typedoc/classes/Plugin.html +3 -3
  91. package/typedoc/classes/PluginManager.html +16 -16
  92. package/typedoc/classes/PluginModule.html +8 -8
  93. package/typedoc/classes/PluginsContext.html +8 -8
  94. package/typedoc/classes/SettingsAction.Open.html +199 -199
  95. package/typedoc/classes/SettingsAction.OpenPluginRegistry.html +124 -124
  96. package/typedoc/functions/Events.createStateEvent.html +2 -2
  97. package/typedoc/functions/IntentPlugin.html +1 -1
  98. package/typedoc/functions/SettingsPlugin.html +1 -1
  99. package/typedoc/functions/allOf.html +2 -2
  100. package/typedoc/functions/chain.html +2 -2
  101. package/typedoc/functions/contributes.html +2 -2
  102. package/typedoc/functions/createApp.html +2 -2
  103. package/typedoc/functions/createDispatcher.html +2 -2
  104. package/typedoc/functions/createIntent.html +2 -2
  105. package/typedoc/functions/createResolver.html +2 -2
  106. package/typedoc/functions/createSurface.html +2 -2
  107. package/typedoc/functions/defineCapability.html +2 -2
  108. package/typedoc/functions/defineEvent.html +2 -2
  109. package/typedoc/functions/defineModule.html +2 -2
  110. package/typedoc/functions/definePlugin.html +2 -2
  111. package/typedoc/functions/eventKey.html +2 -2
  112. package/typedoc/functions/getEvents.html +2 -2
  113. package/typedoc/functions/isAllOf.html +2 -2
  114. package/typedoc/functions/isOneOf.html +2 -2
  115. package/typedoc/functions/isSurfaceAvailable.html +2 -2
  116. package/typedoc/functions/lazy.html +2 -2
  117. package/typedoc/functions/oneOf.html +2 -2
  118. package/typedoc/functions/useAppGraph.html +1 -1
  119. package/typedoc/functions/useCapabilities.html +2 -2
  120. package/typedoc/functions/useCapability.html +2 -2
  121. package/typedoc/functions/useIntentDispatcher.html +1 -1
  122. package/typedoc/functions/useIntentResolver.html +1 -1
  123. package/typedoc/functions/useLayout.html +1 -1
  124. package/typedoc/functions/usePluginManager.html +2 -2
  125. package/typedoc/hierarchy.html +1 -1
  126. package/typedoc/index.html +2 -2
  127. package/typedoc/interfaces/LayoutAction.Toast.html +2 -2
  128. package/typedoc/modules/Capabilities.html +1 -1
  129. package/typedoc/modules/CollaborationActions.html +1 -1
  130. package/typedoc/modules/Events.html +1 -1
  131. package/typedoc/modules/IntentAction.html +1 -1
  132. package/typedoc/modules/LayoutAction.html +2 -2
  133. package/typedoc/modules/SettingsAction.html +1 -1
  134. package/typedoc/modules.html +1 -1
  135. package/typedoc/types/ActivationEvent.html +3 -3
  136. package/typedoc/types/ActivationEvents.html +2 -2
  137. package/typedoc/types/AnyCapability.html +1 -1
  138. package/typedoc/types/AnyIntent.html +1 -1
  139. package/typedoc/types/AnyIntentChain.html +1 -1
  140. package/typedoc/types/AnyIntentEffectResult.html +1 -1
  141. package/typedoc/types/AnyIntentResolver.html +1 -1
  142. package/typedoc/types/AnyIntentResult.html +1 -1
  143. package/typedoc/types/Capabilities.FileUploader.html +1 -1
  144. package/typedoc/types/Capabilities.IntentResolver.html +1 -1
  145. package/typedoc/types/Capabilities.Layout.html +1 -1
  146. package/typedoc/types/Capabilities.Metadata.html +1 -1
  147. package/typedoc/types/Capabilities.ReactContext.html +1 -1
  148. package/typedoc/types/Capabilities.ReactRoot.html +1 -1
  149. package/typedoc/types/Capabilities.ReactSurface.html +1 -1
  150. package/typedoc/types/Capabilities.Settings.html +2 -2
  151. package/typedoc/types/Capability.html +5 -5
  152. package/typedoc/types/CreateAppOptions.html +2 -2
  153. package/typedoc/types/FileInfo.html +1 -1
  154. package/typedoc/types/Intent.html +7 -7
  155. package/typedoc/types/IntentChain.html +3 -3
  156. package/typedoc/types/IntentContext.html +2 -2
  157. package/typedoc/types/IntentData.html +1 -1
  158. package/typedoc/types/IntentDispatcher.html +2 -2
  159. package/typedoc/types/IntentDispatcherResult.html +2 -2
  160. package/typedoc/types/IntentEffectDefinition.html +2 -2
  161. package/typedoc/types/IntentEffectResult.html +6 -6
  162. package/typedoc/types/IntentParams.html +2 -2
  163. package/typedoc/types/IntentResolver.html +2 -2
  164. package/typedoc/types/IntentResultData.html +1 -1
  165. package/typedoc/types/IntentSchema.html +1 -1
  166. package/typedoc/types/IntentUndo.html +2 -2
  167. package/typedoc/types/InterfaceDef.html +3 -3
  168. package/typedoc/types/Label.html +1 -1
  169. package/typedoc/types/NodeSerializer.html +3 -3
  170. package/typedoc/types/PluginManagerOptions.html +2 -2
  171. package/typedoc/types/PluginMeta.html +9 -9
  172. package/typedoc/types/PromiseIntentDispatcher.html +2 -2
  173. package/typedoc/types/PromiseIntentUndo.html +2 -2
  174. package/typedoc/types/Resource.html +1 -1
  175. package/typedoc/types/ResourceKey.html +1 -1
  176. package/typedoc/types/ResourceLanguage.html +1 -1
  177. package/typedoc/types/SerializedNode.html +2 -2
  178. package/typedoc/types/SurfaceComponent.html +2 -2
  179. package/typedoc/types/SurfaceDefinition.html +2 -2
  180. package/typedoc/types/SurfaceProps.html +2 -2
  181. package/typedoc/variables/Capabilities.AppGraph.html +1 -1
  182. package/typedoc/variables/Capabilities.AppGraphBuilder.html +1 -1
  183. package/typedoc/variables/Capabilities.AppGraphSerializer.html +1 -1
  184. package/typedoc/variables/Capabilities.ArtifactDefinition.html +1 -1
  185. package/typedoc/variables/Capabilities.FileUploader.html +1 -1
  186. package/typedoc/variables/Capabilities.IntentDispatcher.html +1 -1
  187. package/typedoc/variables/Capabilities.IntentResolver.html +1 -1
  188. package/typedoc/variables/Capabilities.Layout.html +1 -1
  189. package/typedoc/variables/Capabilities.Metadata.html +1 -1
  190. package/typedoc/variables/Capabilities.Null.html +1 -1
  191. package/typedoc/variables/Capabilities.PluginManager.html +1 -1
  192. package/typedoc/variables/Capabilities.ReactContext.html +1 -1
  193. package/typedoc/variables/Capabilities.ReactRoot.html +1 -1
  194. package/typedoc/variables/Capabilities.ReactSurface.html +1 -1
  195. package/typedoc/variables/Capabilities.Settings.html +1 -1
  196. package/typedoc/variables/Capabilities.SettingsStore.html +1 -1
  197. package/typedoc/variables/Capabilities.Tools.html +1 -1
  198. package/typedoc/variables/Capabilities.Translations.html +1 -1
  199. package/typedoc/variables/Events.AppGraphReady.html +2 -2
  200. package/typedoc/variables/Events.DispatcherReady.html +2 -2
  201. package/typedoc/variables/Events.LayoutReady.html +1 -1
  202. package/typedoc/variables/Events.SettingsReady.html +2 -2
  203. package/typedoc/variables/Events.SetupAppGraph.html +2 -2
  204. package/typedoc/variables/Events.SetupArtifactDefinition.html +2 -2
  205. package/typedoc/variables/Events.SetupIntentResolver.html +2 -2
  206. package/typedoc/variables/Events.SetupMetadata.html +2 -2
  207. package/typedoc/variables/Events.SetupReactSurface.html +2 -2
  208. package/typedoc/variables/Events.SetupSettings.html +2 -2
  209. package/typedoc/variables/Events.SetupTranslations.html +2 -2
  210. package/typedoc/variables/Events.Startup.html +2 -2
  211. package/typedoc/variables/FileInfoSchema.html +1 -1
  212. package/typedoc/variables/INTENT_ACTION.html +1 -1
  213. package/typedoc/variables/INTENT_PLUGIN.html +1 -1
  214. package/typedoc/variables/LAYOUT_ACTION.html +1 -1
  215. package/typedoc/variables/LAYOUT_PLUGIN.html +1 -1
  216. package/typedoc/variables/Label.html +1 -1
  217. package/typedoc/variables/LayoutAction.Toast.html +1 -1
  218. package/typedoc/variables/LayoutAction.UPDATE_LAYOUT.html +1 -1
  219. package/typedoc/variables/PluginManagerProvider.html +2 -2
  220. package/typedoc/variables/Resource.html +2 -2
  221. package/typedoc/variables/ResourceKey.html +1 -1
  222. package/typedoc/variables/ResourceLanguage.html +1 -1
  223. package/typedoc/variables/SETTINGS_ACTION.html +1 -1
  224. package/typedoc/variables/SETTINGS_ID.html +1 -1
  225. package/typedoc/variables/SETTINGS_KEY.html +1 -1
  226. package/typedoc/variables/SETTINGS_PLUGIN.html +1 -1
  227. package/typedoc/variables/Surface.html +2 -2
  228. package/typedoc/variables/defaultFileTypes.html +1 -1
  229. package/dist/lib/browser/chunk-5WHZ3ORL.mjs.map +0 -7
  230. package/dist/lib/browser/chunk-SFPT4Z2C.mjs.map +0 -7
  231. package/dist/lib/node/chunk-EGY2ANJA.cjs.map +0 -7
  232. package/dist/lib/node/chunk-JUSEAFDU.cjs.map +0 -7
  233. package/dist/lib/node-esm/chunk-PHOUQACM.mjs.map +0 -7
  234. package/dist/lib/node-esm/chunk-YQMLJUYN.mjs.map +0 -7
  235. /package/dist/lib/browser/{app-graph-builder-RHU5WUGJ.mjs.map → app-graph-builder-FB4NWT25.mjs.map} +0 -0
  236. /package/dist/lib/browser/{chunk-GYFO2C4Q.mjs.map → chunk-A7XUUTJN.mjs.map} +0 -0
  237. /package/dist/lib/browser/{intent-dispatcher-T6YETUE7.mjs.map → intent-dispatcher-SICNXT2G.mjs.map} +0 -0
  238. /package/dist/lib/browser/{intent-resolver-UQFD7VBJ.mjs.map → intent-resolver-2K6LNSUE.mjs.map} +0 -0
  239. /package/dist/lib/browser/{store-NP42FCZO.mjs.map → store-P4XZF26P.mjs.map} +0 -0
  240. /package/dist/lib/node/{app-graph-builder-QGHI2J2R.cjs.map → app-graph-builder-5QJ6YDE7.cjs.map} +0 -0
  241. /package/dist/lib/node/{chunk-PIFNLI5K.cjs.map → chunk-MTROSTO7.cjs.map} +0 -0
  242. /package/dist/lib/node/{intent-resolver-NALI2KSH.cjs.map → intent-resolver-ZP6S7QKG.cjs.map} +0 -0
  243. /package/dist/lib/node/{store-I7KM7GGP.cjs.map → store-MALHSPHZ.cjs.map} +0 -0
  244. /package/dist/lib/node-esm/{app-graph-builder-45FJO6JA.mjs.map → app-graph-builder-2KB5VMTB.mjs.map} +0 -0
  245. /package/dist/lib/node-esm/{chunk-KFDC5QSQ.mjs.map → chunk-MX6ITPIG.mjs.map} +0 -0
  246. /package/dist/lib/node-esm/{intent-dispatcher-MYETZPUW.mjs.map → intent-dispatcher-FF5HNHPQ.mjs.map} +0 -0
  247. /package/dist/lib/node-esm/{intent-resolver-BW5I7SOS.mjs.map → intent-resolver-QWIKXIGI.mjs.map} +0 -0
  248. /package/dist/lib/node-esm/{store-MKIES4HL.mjs.map → store-3NM6AWB4.mjs.map} +0 -0
@@ -2,7 +2,7 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { Schema as S } from 'effect';
5
+ import { Schema } from 'effect';
6
6
 
7
7
  import { Label } from '../plugin-intent';
8
8
 
@@ -18,17 +18,17 @@ export namespace LayoutAction {
18
18
  /**
19
19
  * Generic layout action.
20
20
  */
21
- export class UpdateLayout extends S.TaggedClass<UpdateLayout>()(UPDATE_LAYOUT, {
22
- input: S.Struct({
23
- part: S.String.annotations({ description: 'The part of the layout to mutate.' }),
24
- subject: S.optional(S.Any.annotations({ description: 'The subject of the layout update.' })),
25
- options: S.optional(
26
- S.Record({ key: S.String, value: S.Any }).annotations({
21
+ export class UpdateLayout extends Schema.TaggedClass<UpdateLayout>()(UPDATE_LAYOUT, {
22
+ input: Schema.Struct({
23
+ part: Schema.String.annotations({ description: 'The part of the layout to mutate.' }),
24
+ subject: Schema.optional(Schema.Any.annotations({ description: 'The subject of the layout update.' })),
25
+ options: Schema.optional(
26
+ Schema.Record({ key: Schema.String, value: Schema.Any }).annotations({
27
27
  description: 'Additional options for the layout action.',
28
28
  }),
29
29
  ),
30
30
  }),
31
- output: S.Void,
31
+ output: Schema.Void,
32
32
  }) {}
33
33
 
34
34
  //
@@ -41,98 +41,104 @@ export namespace LayoutAction {
41
41
  // This allows for plugins to update the layout without depending on a specific layout plugin.
42
42
  // The expectation is that other norms other than these will emerge over time.
43
43
 
44
- export class SetLayoutMode extends S.TaggedClass<SetLayoutMode>()(UPDATE_LAYOUT, {
45
- input: S.Struct({
46
- part: S.Literal('mode').annotations({ description: 'Setting the layout mode.' }),
47
- subject: S.optional(S.String.annotations({ description: 'Item which is the subject of the new layout mode.' })),
48
- options: S.Union(
49
- S.Struct({ mode: S.String.annotations({ description: 'The new layout mode.' }) }),
50
- S.Struct({ revert: S.Boolean.annotations({ description: 'Revert to the previous layout mode.' }) }),
44
+ export class SetLayoutMode extends Schema.TaggedClass<SetLayoutMode>()(UPDATE_LAYOUT, {
45
+ input: Schema.Struct({
46
+ part: Schema.Literal('mode').annotations({ description: 'Setting the layout mode.' }),
47
+ subject: Schema.optional(
48
+ Schema.String.annotations({ description: 'Item which is the subject of the new layout mode.' }),
49
+ ),
50
+ options: Schema.Union(
51
+ Schema.Struct({ mode: Schema.String.annotations({ description: 'The new layout mode.' }) }),
52
+ Schema.Struct({ revert: Schema.Boolean.annotations({ description: 'Revert to the previous layout mode.' }) }),
51
53
  ),
52
54
  }),
53
- output: S.Void,
55
+ output: Schema.Void,
54
56
  }) {}
55
57
 
56
- export class UpdateSidebar extends S.TaggedClass<UpdateSidebar>()(UPDATE_LAYOUT, {
57
- input: S.Struct({
58
- part: S.Literal('sidebar').annotations({ description: 'Updating the sidebar.' }),
59
- subject: S.optional(S.String.annotations({ description: 'URI of the component to display in the sidebar.' })),
60
- options: S.optional(
61
- S.Struct({
62
- state: S.Literal('closed', 'collapsed', 'expanded').annotations({
58
+ export class UpdateSidebar extends Schema.TaggedClass<UpdateSidebar>()(UPDATE_LAYOUT, {
59
+ input: Schema.Struct({
60
+ part: Schema.Literal('sidebar').annotations({ description: 'Updating the sidebar.' }),
61
+ subject: Schema.optional(
62
+ Schema.String.annotations({ description: 'URI of the component to display in the sidebar.' }),
63
+ ),
64
+ options: Schema.optional(
65
+ Schema.Struct({
66
+ state: Schema.Literal('closed', 'collapsed', 'expanded').annotations({
63
67
  description: 'Whether the sidebar is closed, collapsed, or expanded.',
64
68
  }),
65
69
  }),
66
70
  ),
67
71
  }),
68
- output: S.Void,
72
+ output: Schema.Void,
69
73
  }) {}
70
74
 
71
- export class UpdateComplementary extends S.TaggedClass<UpdateComplementary>()(UPDATE_LAYOUT, {
72
- input: S.Struct({
73
- part: S.Literal('complementary').annotations({ description: 'Updating the complementary sidebar.' }),
74
- subject: S.optional(
75
- S.String.annotations({ description: 'URI of the component to display in the complementary area.' }),
75
+ export class UpdateComplementary extends Schema.TaggedClass<UpdateComplementary>()(UPDATE_LAYOUT, {
76
+ input: Schema.Struct({
77
+ part: Schema.Literal('complementary').annotations({ description: 'Updating the complementary sidebar.' }),
78
+ subject: Schema.optional(
79
+ Schema.String.annotations({ description: 'URI of the component to display in the complementary area.' }),
76
80
  ),
77
- options: S.optional(
78
- S.Struct({
79
- state: S.Literal('closed', 'collapsed', 'expanded').annotations({
81
+ options: Schema.optional(
82
+ Schema.Struct({
83
+ state: Schema.Literal('closed', 'collapsed', 'expanded').annotations({
80
84
  description: 'Whether the complementary sidebar is closed, collapsed, or expanded.',
81
85
  }),
82
86
  }),
83
87
  ),
84
88
  }),
85
- output: S.Void,
89
+ output: Schema.Void,
86
90
  }) {}
87
91
 
88
- export class UpdateDialog extends S.TaggedClass<UpdateDialog>()(UPDATE_LAYOUT, {
89
- input: S.Struct({
90
- part: S.Literal('dialog').annotations({ description: 'Updating the dialog.' }),
91
- subject: S.optional(S.String.annotations({ description: 'URI of the component to display in the dialog.' })),
92
- options: S.Struct({
93
- state: S.optional(S.Boolean.annotations({ description: 'Whether the dialog is open or closed.' })),
94
- blockAlign: S.optional(
95
- S.Literal('start', 'center', 'end').annotations({ description: 'The alignment of the dialog.' }),
92
+ export class UpdateDialog extends Schema.TaggedClass<UpdateDialog>()(UPDATE_LAYOUT, {
93
+ input: Schema.Struct({
94
+ part: Schema.Literal('dialog').annotations({ description: 'Updating the dialog.' }),
95
+ subject: Schema.optional(
96
+ Schema.String.annotations({ description: 'URI of the component to display in the dialog.' }),
97
+ ),
98
+ options: Schema.Struct({
99
+ state: Schema.optional(Schema.Boolean.annotations({ description: 'Whether the dialog is open or closed.' })),
100
+ blockAlign: Schema.optional(
101
+ Schema.Literal('start', 'center', 'end').annotations({ description: 'The alignment of the dialog.' }),
96
102
  ),
97
- type: S.optional(S.Literal('default', 'alert').annotations({ description: 'The type of dialog.' })),
98
- props: S.optional(
99
- S.Record({ key: S.String, value: S.Any }).annotations({
103
+ type: Schema.optional(Schema.Literal('default', 'alert').annotations({ description: 'The type of dialog.' })),
104
+ props: Schema.optional(
105
+ Schema.Record({ key: Schema.String, value: Schema.Any }).annotations({
100
106
  description: 'Additional props for the dialog.',
101
107
  }),
102
108
  ),
103
109
  }),
104
110
  }),
105
- output: S.Void,
111
+ output: Schema.Void,
106
112
  }) {}
107
113
 
108
- export class UpdatePopover extends S.TaggedClass<UpdatePopover>()(UPDATE_LAYOUT, {
109
- input: S.Struct({
110
- part: S.Literal('popover').annotations({ description: 'Updating the popover.' }),
111
- subject: S.optional(
112
- S.Any.annotations({
114
+ export class UpdatePopover extends Schema.TaggedClass<UpdatePopover>()(UPDATE_LAYOUT, {
115
+ input: Schema.Struct({
116
+ part: Schema.Literal('popover').annotations({ description: 'Updating the popover.' }),
117
+ subject: Schema.optional(
118
+ Schema.Any.annotations({
113
119
  description: 'URI of the component to display in the popover or data to pass to the popover.',
114
120
  }),
115
121
  ),
116
- options: S.Struct({
117
- side: S.optional(
118
- S.Literal('top', 'right', 'bottom', 'left').annotations({ description: 'The side of the anchor.' }),
122
+ options: Schema.Struct({
123
+ side: Schema.optional(
124
+ Schema.Literal('top', 'right', 'bottom', 'left').annotations({ description: 'The side of the anchor.' }),
119
125
  ),
120
- state: S.optional(S.Boolean.annotations({ description: 'Whether the popover is open or closed.' })),
121
- props: S.optional(
122
- S.Record({ key: S.String, value: S.Any }).annotations({
126
+ state: Schema.optional(Schema.Boolean.annotations({ description: 'Whether the popover is open or closed.' })),
127
+ props: Schema.optional(
128
+ Schema.Record({ key: Schema.String, value: Schema.Any }).annotations({
123
129
  description: 'Additional props for the popover.',
124
130
  }),
125
131
  ),
126
132
  }).pipe(
127
- S.extend(
128
- S.Union(
129
- S.Struct({
130
- variant: S.Literal('virtual'),
131
- anchor: S.Any.annotations({ description: 'The DOM element to anchor the popover to.' }),
133
+ Schema.extend(
134
+ Schema.Union(
135
+ Schema.Struct({
136
+ variant: Schema.Literal('virtual'),
137
+ anchor: Schema.Any.annotations({ description: 'The DOM element to anchor the popover to.' }),
132
138
  }),
133
- S.Struct({
134
- variant: S.optional(S.Literal('react')),
135
- anchorId: S.String.annotations({
139
+ Schema.Struct({
140
+ variant: Schema.optional(Schema.Literal('react')),
141
+ anchorId: Schema.String.annotations({
136
142
  description: 'An id that can be used to determine whether to render the anchor subcomponent.',
137
143
  }),
138
144
  }),
@@ -140,118 +146,125 @@ export namespace LayoutAction {
140
146
  ),
141
147
  ),
142
148
  }),
143
- output: S.Void,
149
+ output: Schema.Void,
144
150
  }) {}
145
151
 
146
- export const Toast = S.Struct({
147
- id: S.String.annotations({ description: 'The id of the toast.' }),
148
- title: S.optional(Label.annotations({ description: 'The title of the toast.' })),
149
- description: S.optional(Label.annotations({ description: 'The description of the toast.' })),
150
- icon: S.optional(S.String.annotations({ description: 'The icon of the toast.' })),
151
- duration: S.optional(S.Number.annotations({ description: 'The duration of the toast.' })),
152
- closeLabel: S.optional(Label.annotations({ description: 'The label of the close button.' })),
153
- actionLabel: S.optional(Label.annotations({ description: 'The label of the action button.' })),
154
- actionAlt: S.optional(Label.annotations({ description: 'The alt text of the action button.' })),
155
- onAction: S.optional(
156
- S.Any.annotations({ description: 'The action to perform when the action button is clicked.' }),
152
+ export const Toast = Schema.Struct({
153
+ id: Schema.String.annotations({ description: 'The id of the toast.' }),
154
+ title: Schema.optional(Label.annotations({ description: 'The title of the toast.' })),
155
+ description: Schema.optional(Label.annotations({ description: 'The description of the toast.' })),
156
+ icon: Schema.optional(Schema.String.annotations({ description: 'The icon of the toast.' })),
157
+ duration: Schema.optional(Schema.Number.annotations({ description: 'The duration of the toast.' })),
158
+ closeLabel: Schema.optional(Label.annotations({ description: 'The label of the close button.' })),
159
+ actionLabel: Schema.optional(Label.annotations({ description: 'The label of the action button.' })),
160
+ actionAlt: Schema.optional(Label.annotations({ description: 'The alt text of the action button.' })),
161
+ onAction: Schema.optional(
162
+ Schema.Any.annotations({ description: 'The action to perform when the action button is clicked.' }),
157
163
  ),
158
164
  });
159
165
 
160
- export interface Toast extends Omit<S.Schema.Type<typeof Toast>, 'onAction'> {
166
+ export interface Toast extends Omit<Schema.Schema.Type<typeof Toast>, 'onAction'> {
161
167
  onAction?: () => void;
162
168
  }
163
169
 
164
- export class AddToast extends S.TaggedClass<AddToast>()(UPDATE_LAYOUT, {
165
- input: S.Struct({
166
- part: S.Literal('toast').annotations({ description: 'Adding a toast.' }),
170
+ export class AddToast extends Schema.TaggedClass<AddToast>()(UPDATE_LAYOUT, {
171
+ input: Schema.Struct({
172
+ part: Schema.Literal('toast').annotations({ description: 'Adding a toast.' }),
167
173
  subject: Toast.annotations({ description: 'The toast to add.' }),
168
174
  }),
169
- output: S.Void,
175
+ output: Schema.Void,
170
176
  }) {}
171
177
 
172
- export class SwitchWorkspace extends S.TaggedClass<SwitchWorkspace>()(UPDATE_LAYOUT, {
173
- input: S.Struct({
174
- part: S.Literal('workspace').annotations({ description: 'Switching the workspace.' }),
175
- subject: S.String.annotations({ description: 'The id of the workspace to switch to.' }),
178
+ export class SwitchWorkspace extends Schema.TaggedClass<SwitchWorkspace>()(UPDATE_LAYOUT, {
179
+ input: Schema.Struct({
180
+ part: Schema.Literal('workspace').annotations({ description: 'Switching the workspace.' }),
181
+ subject: Schema.String.annotations({ description: 'The id of the workspace to switch to.' }),
176
182
  }),
177
- output: S.Void,
183
+ output: Schema.Void,
178
184
  }) {}
179
185
 
180
- export class RevertWorkspace extends S.TaggedClass<RevertWorkspace>()(UPDATE_LAYOUT, {
181
- input: S.Struct({
182
- part: S.Literal('workspace').annotations({ description: 'Switching the workspace.' }),
183
- options: S.Struct({
184
- revert: S.Literal(true).annotations({ description: 'Revert to the previous workspace.' }),
186
+ export class RevertWorkspace extends Schema.TaggedClass<RevertWorkspace>()(UPDATE_LAYOUT, {
187
+ input: Schema.Struct({
188
+ part: Schema.Literal('workspace').annotations({ description: 'Switching the workspace.' }),
189
+ options: Schema.Struct({
190
+ revert: Schema.Literal(true).annotations({ description: 'Revert to the previous workspace.' }),
185
191
  }),
186
192
  }),
187
- output: S.Void,
193
+ output: Schema.Void,
188
194
  }) {}
189
195
 
190
- export class Open extends S.TaggedClass<Open>()(UPDATE_LAYOUT, {
191
- input: S.Struct({
192
- part: S.Literal('main').annotations({ description: 'Opening an item in the main content area.' }),
193
- subject: S.Array(S.String.annotations({ description: 'Ids of the items to open.' })),
194
- options: S.optional(
195
- S.Struct({
196
- state: S.optional(S.Literal(true).annotations({ description: 'The items are being added.' })),
197
- variant: S.optional(S.String.annotations({ description: 'The variant of the item to open.' })),
198
- key: S.optional(
199
- S.String.annotations({ description: 'If provided, will replace item with a matching key (id prefix).' }),
196
+ export class Open extends Schema.TaggedClass<Open>()(UPDATE_LAYOUT, {
197
+ input: Schema.Struct({
198
+ part: Schema.Literal('main').annotations({ description: 'Opening an item in the main content area.' }),
199
+ subject: Schema.Array(Schema.String.annotations({ description: 'Ids of the items to open.' })),
200
+ options: Schema.optional(
201
+ Schema.Struct({
202
+ state: Schema.optional(Schema.Literal(true).annotations({ description: 'The items are being added.' })),
203
+ variant: Schema.optional(Schema.String.annotations({ description: 'The variant of the item to open.' })),
204
+ key: Schema.optional(
205
+ Schema.String.annotations({
206
+ description: 'If provided, will replace item with a matching key (id prefix).',
207
+ }),
208
+ ),
209
+ workspace: Schema.optional(Schema.String.annotations({ description: 'The workspace to open the items in.' })),
210
+ scrollIntoView: Schema.optional(Schema.Boolean.annotations({ description: 'Scroll the items into view.' })),
211
+ pivotId: Schema.optional(
212
+ Schema.String.annotations({ description: 'The id of the item to place new items next to.' }),
200
213
  ),
201
- scrollIntoView: S.optional(S.Boolean.annotations({ description: 'Scroll the items into view.' })),
202
- pivotId: S.optional(S.String.annotations({ description: 'The id of the item to place new items next to.' })),
203
- positioning: S.optional(
204
- S.Union(
205
- S.Literal('start').annotations({ description: 'The items are being added before the pivot item.' }),
206
- S.Literal('end').annotations({ description: 'The items are being added after the pivot item.' }),
214
+ positioning: Schema.optional(
215
+ Schema.Union(
216
+ Schema.Literal('start').annotations({ description: 'The items are being added before the pivot item.' }),
217
+ Schema.Literal('end').annotations({ description: 'The items are being added after the pivot item.' }),
207
218
  ),
208
219
  ),
209
220
  }),
210
221
  ),
211
222
  }),
212
- output: S.Void,
223
+ output: Schema.Void,
213
224
  }) {}
214
225
 
215
- export class Set extends S.TaggedClass<Set>()(UPDATE_LAYOUT, {
216
- input: S.Struct({
217
- part: S.Literal('main').annotations({ description: 'Setting items in the main content area.' }),
218
- subject: S.Array(S.String.annotations({ description: 'Ids of the items to set.' })),
219
- options: S.Struct({
220
- override: S.Literal(true).annotations({ description: 'Override the current items in the main content area.' }),
226
+ export class Set extends Schema.TaggedClass<Set>()(UPDATE_LAYOUT, {
227
+ input: Schema.Struct({
228
+ part: Schema.Literal('main').annotations({ description: 'Setting items in the main content area.' }),
229
+ subject: Schema.Array(Schema.String.annotations({ description: 'Ids of the items to set.' })),
230
+ options: Schema.Struct({
231
+ override: Schema.Literal(true).annotations({
232
+ description: 'Override the current items in the main content area.',
233
+ }),
221
234
  }),
222
235
  }),
223
- output: S.Void,
236
+ output: Schema.Void,
224
237
  }) {}
225
238
 
226
- export class Close extends S.TaggedClass<Close>()(UPDATE_LAYOUT, {
227
- input: S.Struct({
228
- part: S.Literal('main').annotations({ description: 'Closing items in the main content area.' }),
229
- subject: S.Array(S.String.annotations({ description: 'Ids of the items to close.' })),
230
- options: S.Struct({
231
- state: S.Literal(false).annotations({ description: 'The items are being removed.' }),
239
+ export class Close extends Schema.TaggedClass<Close>()(UPDATE_LAYOUT, {
240
+ input: Schema.Struct({
241
+ part: Schema.Literal('main').annotations({ description: 'Closing items in the main content area.' }),
242
+ subject: Schema.Array(Schema.String.annotations({ description: 'Ids of the items to close.' })),
243
+ options: Schema.Struct({
244
+ state: Schema.Literal(false).annotations({ description: 'The items are being removed.' }),
232
245
  }),
233
246
  }),
234
- output: S.Void,
247
+ output: Schema.Void,
235
248
  }) {}
236
249
 
237
- export class ScrollIntoView extends S.TaggedClass<ScrollIntoView>()(UPDATE_LAYOUT, {
238
- input: S.Struct({
239
- part: S.Literal('current').annotations({ description: 'Setting the current item' }),
240
- subject: S.optional(S.String.annotations({ description: 'The id of the item to set as current.' })),
241
- options: S.optional(
242
- S.Record({ key: S.String, value: S.Any }).annotations({
250
+ export class ScrollIntoView extends Schema.TaggedClass<ScrollIntoView>()(UPDATE_LAYOUT, {
251
+ input: Schema.Struct({
252
+ part: Schema.Literal('current').annotations({ description: 'Setting the current item' }),
253
+ subject: Schema.optional(Schema.String.annotations({ description: 'The id of the item to set as current.' })),
254
+ options: Schema.optional(
255
+ Schema.Record({ key: Schema.String, value: Schema.Any }).annotations({
243
256
  description: 'Additional options for the scroll into view.',
244
257
  }),
245
258
  ),
246
259
  }),
247
- output: S.Void,
260
+ output: Schema.Void,
248
261
  }) {}
249
262
 
250
- export class Expose extends S.TaggedClass<Expose>()(UPDATE_LAYOUT, {
251
- input: S.Struct({
252
- part: S.Literal('navigation').annotations({ description: 'Exposing an item in the navigation area.' }),
253
- subject: S.String.annotations({ description: 'The id of the item to expose.' }),
263
+ export class Expose extends Schema.TaggedClass<Expose>()(UPDATE_LAYOUT, {
264
+ input: Schema.Struct({
265
+ part: Schema.Literal('navigation').annotations({ description: 'Exposing an item in the navigation area.' }),
266
+ subject: Schema.String.annotations({ description: 'The id of the item to expose.' }),
254
267
  }),
255
- output: S.Void,
268
+ output: Schema.Void,
256
269
  }) {}
257
270
  }
@@ -2,16 +2,16 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { Schema as S } from 'effect';
5
+ import { Schema } from 'effect';
6
6
 
7
- export const ResourceKey = S.Union(S.String, S.Record({ key: S.String, value: S.Any }));
8
- export type ResourceKey = S.Schema.Type<typeof ResourceKey>;
7
+ export const ResourceKey = Schema.Union(Schema.String, Schema.Record({ key: Schema.String, value: Schema.Any }));
8
+ export type ResourceKey = Schema.Schema.Type<typeof ResourceKey>;
9
9
 
10
- export const ResourceLanguage = S.Record({ key: S.String, value: ResourceKey });
11
- export type ResourceLanguage = S.Schema.Type<typeof ResourceLanguage>;
10
+ export const ResourceLanguage = Schema.Record({ key: Schema.String, value: ResourceKey });
11
+ export type ResourceLanguage = Schema.Schema.Type<typeof ResourceLanguage>;
12
12
 
13
13
  /**
14
14
  * A resource is a collection of translations for a language.
15
15
  */
16
- export const Resource = S.Record({ key: S.String, value: ResourceLanguage });
17
- export type Resource = S.Schema.Type<typeof Resource>;
16
+ export const Resource = Schema.Record({ key: Schema.String, value: ResourceLanguage });
17
+ export type Resource = Schema.Schema.Type<typeof Resource>;
@@ -2,7 +2,7 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { Schema as S } from 'effect';
5
+ import { Schema } from 'effect';
6
6
 
7
7
  import { Capabilities, Events } from '../../common';
8
8
  import { contributes, defineEvent, defineCapability, defineModule, definePlugin } from '../../core';
@@ -15,9 +15,9 @@ export const CountEvent = defineEvent('dxos.org/test/generator/count');
15
15
  export const createPluginId = (id: string) => `dxos.org/test/generator/${id}`;
16
16
 
17
17
  export const createGeneratorIntent = (id: string) => {
18
- class Alert extends S.TaggedClass<Alert>()(`${createPluginId(id)}/action/alert`, {
19
- input: S.Void,
20
- output: S.Void,
18
+ class Alert extends Schema.TaggedClass<Alert>()(`${createPluginId(id)}/action/alert`, {
19
+ input: Schema.Void,
20
+ output: Schema.Void,
21
21
  }) {}
22
22
 
23
23
  return Alert as unknown as IntentSchema<any, any>;
@@ -2,11 +2,11 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { Schema as S } from 'effect';
5
+ import { Schema } from 'effect';
6
6
 
7
- export class Log extends S.TaggedClass<Log>()('dxos.org/test/logger/log', {
8
- input: S.Struct({
9
- message: S.String,
7
+ export class Log extends Schema.TaggedClass<Log>()('dxos.org/test/logger/log', {
8
+ input: Schema.Struct({
9
+ message: Schema.String,
10
10
  }),
11
- output: S.Void,
11
+ output: Schema.Void,
12
12
  }) {}
@@ -2,7 +2,7 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { Schema as S } from 'effect';
5
+ import { Schema } 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 S.TaggedClass<Track>()(`${INTENT_ACTION}/track`, {
17
- input: S.Struct({
18
- intents: S.Array(S.String),
19
- error: S.optional(S.String),
16
+ export class Track extends Schema.TaggedClass<Track>()(`${INTENT_ACTION}/track`, {
17
+ input: Schema.Struct({
18
+ intents: Schema.Array(Schema.String),
19
+ error: Schema.optional(Schema.String),
20
20
  }),
21
- output: S.Void,
21
+ output: Schema.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 S.TaggedClass<ShowUndo>()(`${INTENT_ACTION}/show-undo`, {
28
- input: S.Struct({
27
+ export class ShowUndo extends Schema.TaggedClass<ShowUndo>()(`${INTENT_ACTION}/show-undo`, {
28
+ input: Schema.Struct({
29
29
  message: Label,
30
30
  }),
31
- output: S.Void,
31
+ output: Schema.Void,
32
32
  }) {}
33
33
  }
@@ -2,7 +2,7 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { Schema as S, Effect, Fiber, pipe } from 'effect';
5
+ import { Schema, 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 S.TaggedClass<ToString>()('ToString', {
228
- input: S.Struct({
229
- value: S.Number,
227
+ class ToString extends Schema.TaggedClass<ToString>()('ToString', {
228
+ input: Schema.Struct({
229
+ value: Schema.Number,
230
230
  }),
231
- output: S.Struct({
232
- string: S.String,
231
+ output: Schema.Struct({
232
+ string: Schema.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 S.TaggedClass<Compute>()('Compute', {
242
- input: S.Struct({
243
- value: S.Number,
241
+ class Compute extends Schema.TaggedClass<Compute>()('Compute', {
242
+ input: Schema.Struct({
243
+ value: Schema.Number,
244
244
  }),
245
- output: S.Struct({
246
- value: S.Number,
245
+ output: Schema.Struct({
246
+ value: Schema.Number,
247
247
  }),
248
248
  }) {}
249
249
 
@@ -262,13 +262,13 @@ const computeResolver = createResolver({
262
262
  },
263
263
  });
264
264
 
265
- class Concat extends S.TaggedClass<Concat>()('Concat', {
266
- input: S.Struct({
267
- string: S.String,
268
- plus: S.String,
265
+ class Concat extends Schema.TaggedClass<Concat>()('Concat', {
266
+ input: Schema.Struct({
267
+ string: Schema.String,
268
+ plus: Schema.String,
269
269
  }),
270
- output: S.Struct({
271
- string: S.String,
270
+ output: Schema.Struct({
271
+ string: Schema.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 S.TaggedClass<Add>()('Add', {
281
- input: S.Tuple(S.Number, S.Number),
282
- output: S.Number,
280
+ class Add extends Schema.TaggedClass<Add>()('Add', {
281
+ input: Schema.Tuple(Schema.Number, Schema.Number),
282
+ output: Schema.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 S.TaggedClass<SideEffect>()('SideEffect', {
291
- input: S.Void,
292
- output: S.Void,
290
+ class SideEffect extends Schema.TaggedClass<SideEffect>()('SideEffect', {
291
+ input: Schema.Void,
292
+ output: Schema.Void,
293
293
  }) {}
294
294
 
295
295
  const sideEffectResolver = createResolver({
@@ -2,20 +2,24 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { Schema as S } from 'effect';
5
+ import { Schema } from 'effect';
6
6
 
7
7
  export type IntentParams = {
8
- readonly input: S.Schema.All;
9
- readonly output: S.Schema.All;
8
+ readonly input: Schema.Schema.All;
9
+ readonly output: Schema.Schema.All;
10
10
  };
11
11
 
12
12
  export type IntentData<Fields extends IntentParams> =
13
- S.Schema.Type<S.Struct<Fields>> extends { readonly input: any } ? S.Schema.Type<S.Struct<Fields>>['input'] : any;
13
+ Schema.Schema.Type<Schema.Struct<Fields>> extends { readonly input: any }
14
+ ? Schema.Schema.Type<Schema.Struct<Fields>>['input']
15
+ : any;
14
16
 
15
17
  export type IntentResultData<Fields extends IntentParams> =
16
- S.Schema.Type<S.Struct<Fields>> extends { readonly output: any } ? S.Schema.Type<S.Struct<Fields>>['output'] : any;
18
+ Schema.Schema.Type<Schema.Struct<Fields>> extends { readonly output: any }
19
+ ? Schema.Schema.Type<Schema.Struct<Fields>>['output']
20
+ : any;
17
21
 
18
- export type IntentSchema<Tag extends string, Fields extends IntentParams> = S.TaggedClass<any, Tag, Fields>;
22
+ export type IntentSchema<Tag extends string, Fields extends IntentParams> = Schema.TaggedClass<any, Tag, Fields>;
19
23
 
20
24
  /**
21
25
  * An intent is an abstract description of an operation to be performed.
@@ -80,7 +84,7 @@ export const createIntent = <Tag extends string, Fields extends IntentParams>(
80
84
  ): IntentChain<Tag, Tag, Fields, Fields> => {
81
85
  // The output of validateSync breaks proxy objects so this is just used for validation.
82
86
  // TODO(wittjosiah): Is there a better way to make theses types align?
83
- const _ = S.validateSync(schema.fields.input as S.Schema<any, any, unknown>)(data);
87
+ const _ = Schema.validateSync(schema.fields.input as Schema.Schema<any, any, unknown>)(data);
84
88
  const intent = {
85
89
  ...params,
86
90
  _schema: schema,
@@ -139,8 +143,13 @@ export const chain =
139
143
 
140
144
  // NOTE: Should maintain compatibility with `i18next` (and @dxos/react-ui).
141
145
  // TODO(wittjosiah): Making this immutable breaks type compatibility.
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) })))),
146
+ export const Label = Schema.Union(
147
+ Schema.String,
148
+ Schema.mutable(
149
+ Schema.Tuple(
150
+ Schema.String,
151
+ Schema.mutable(Schema.Struct({ ns: Schema.String, count: Schema.optional(Schema.Number) })),
152
+ ),
153
+ ),
145
154
  );
146
- export type Label = S.Schema.Type<typeof Label>;
155
+ export type Label = Schema.Schema.Type<typeof Label>;