@dxos/app-framework 0.8.2-staging.7ac8446 → 0.8.2

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 (331) hide show
  1. package/dist/lib/browser/{app-graph-builder-576BHZC7.mjs → app-graph-builder-DYEAGZPS.mjs} +23 -23
  2. package/dist/lib/browser/app-graph-builder-DYEAGZPS.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-6AVTZPMT.mjs → chunk-5GE2ERNU.mjs} +340 -275
  4. package/dist/lib/browser/chunk-5GE2ERNU.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-SFPT4Z2C.mjs → chunk-WWEJRWFX.mjs} +10 -10
  6. package/dist/lib/browser/chunk-WWEJRWFX.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-PPIBZ5N4.mjs → chunk-ZMXJV64L.mjs} +123 -63
  8. package/dist/lib/browser/chunk-ZMXJV64L.mjs.map +7 -0
  9. package/dist/lib/browser/index.mjs +12 -10
  10. package/dist/lib/browser/index.mjs.map +1 -1
  11. package/dist/lib/browser/{intent-dispatcher-3Q67MHZZ.mjs → intent-dispatcher-ELZN5EM7.mjs} +2 -2
  12. package/dist/lib/browser/{intent-resolver-O763LCLG.mjs → intent-resolver-SGWLINTO.mjs} +3 -3
  13. package/dist/lib/browser/meta.json +1 -1
  14. package/dist/lib/browser/{store-URSN7DZI.mjs → store-YIU6IPZ2.mjs} +7 -6
  15. package/dist/lib/browser/store-YIU6IPZ2.mjs.map +7 -0
  16. package/dist/lib/browser/testing/index.mjs +30 -14
  17. package/dist/lib/browser/testing/index.mjs.map +3 -3
  18. package/dist/lib/browser/worker.mjs +5 -3
  19. package/dist/lib/node/app-graph-builder-GBLISL7L.cjs +146 -0
  20. package/dist/lib/node/app-graph-builder-GBLISL7L.cjs.map +7 -0
  21. package/dist/lib/node/{chunk-JUSEAFDU.cjs → chunk-G774ASXO.cjs} +5 -5
  22. package/dist/lib/node/chunk-G774ASXO.cjs.map +7 -0
  23. package/dist/lib/node/{chunk-YIFTVCOR.cjs → chunk-HIVITTZD.cjs} +319 -255
  24. package/dist/lib/node/chunk-HIVITTZD.cjs.map +7 -0
  25. package/dist/lib/node/{chunk-YNTKVTVX.cjs → chunk-Z2PMVDJ5.cjs} +155 -95
  26. package/dist/lib/node/chunk-Z2PMVDJ5.cjs.map +7 -0
  27. package/dist/lib/node/index.cjs +82 -80
  28. package/dist/lib/node/index.cjs.map +1 -1
  29. package/dist/lib/node/{intent-dispatcher-H334XLFD.cjs → intent-dispatcher-LFXZJTAS.cjs} +8 -8
  30. package/dist/lib/node/{intent-dispatcher-H334XLFD.cjs.map → intent-dispatcher-LFXZJTAS.cjs.map} +2 -2
  31. package/dist/lib/node/{intent-resolver-3F4POWAM.cjs → intent-resolver-EPSFTHL6.cjs} +12 -12
  32. package/dist/lib/node/meta.json +1 -1
  33. package/dist/lib/node/{store-OFDHTDCB.cjs → store-CVVRXUTH.cjs} +10 -9
  34. package/dist/lib/node/store-CVVRXUTH.cjs.map +7 -0
  35. package/dist/lib/node/testing/index.cjs +34 -17
  36. package/dist/lib/node/testing/index.cjs.map +3 -3
  37. package/dist/lib/node/worker.cjs +40 -38
  38. package/dist/lib/node/worker.cjs.map +2 -2
  39. package/dist/lib/node-esm/{app-graph-builder-VYKLSMSZ.mjs → app-graph-builder-LUBDEIT6.mjs} +23 -23
  40. package/dist/lib/node-esm/app-graph-builder-LUBDEIT6.mjs.map +7 -0
  41. package/dist/lib/node-esm/{chunk-R6A7Z4LU.mjs → chunk-6IKYKERU.mjs} +123 -63
  42. package/dist/lib/node-esm/chunk-6IKYKERU.mjs.map +7 -0
  43. package/dist/lib/node-esm/{chunk-PHOUQACM.mjs → chunk-I6BVZMAH.mjs} +10 -10
  44. package/dist/lib/node-esm/chunk-I6BVZMAH.mjs.map +7 -0
  45. package/dist/lib/node-esm/{chunk-AHKIPS2L.mjs → chunk-Z2ZHH4HN.mjs} +340 -275
  46. package/dist/lib/node-esm/chunk-Z2ZHH4HN.mjs.map +7 -0
  47. package/dist/lib/node-esm/index.mjs +12 -10
  48. package/dist/lib/node-esm/index.mjs.map +1 -1
  49. package/dist/lib/node-esm/{intent-dispatcher-YDE2ONZA.mjs → intent-dispatcher-A2JCMWRD.mjs} +2 -2
  50. package/dist/lib/node-esm/{intent-resolver-LAGJ7LXM.mjs → intent-resolver-5C4O43GK.mjs} +3 -3
  51. package/dist/lib/node-esm/meta.json +1 -1
  52. package/dist/lib/node-esm/{store-EYSUVNCS.mjs → store-HRZXZ2D2.mjs} +7 -6
  53. package/dist/lib/node-esm/store-HRZXZ2D2.mjs.map +7 -0
  54. package/dist/lib/node-esm/testing/index.mjs +30 -14
  55. package/dist/lib/node-esm/testing/index.mjs.map +3 -3
  56. package/dist/lib/node-esm/worker.mjs +5 -3
  57. package/dist/types/src/App.d.ts +3 -1
  58. package/dist/types/src/App.d.ts.map +1 -1
  59. package/dist/types/src/common/capabilities.d.ts +40 -222
  60. package/dist/types/src/common/capabilities.d.ts.map +1 -1
  61. package/dist/types/src/common/collaboration.d.ts +19 -0
  62. package/dist/types/src/common/collaboration.d.ts.map +1 -0
  63. package/dist/types/src/common/events.d.ts.map +1 -1
  64. package/dist/types/src/common/file.d.ts +7 -7
  65. package/dist/types/src/common/file.d.ts.map +1 -1
  66. package/dist/types/src/common/index.d.ts +1 -0
  67. package/dist/types/src/common/index.d.ts.map +1 -1
  68. package/dist/types/src/common/layout.d.ts +166 -158
  69. package/dist/types/src/common/layout.d.ts.map +1 -1
  70. package/dist/types/src/common/surface.d.ts.map +1 -1
  71. package/dist/types/src/common/translations.d.ts +7 -7
  72. package/dist/types/src/common/translations.d.ts.map +1 -1
  73. package/dist/types/src/core/capabilities.d.ts +33 -15
  74. package/dist/types/src/core/capabilities.d.ts.map +1 -1
  75. package/dist/types/src/core/events.d.ts +4 -1
  76. package/dist/types/src/core/events.d.ts.map +1 -1
  77. package/dist/types/src/core/manager.d.ts +14 -11
  78. package/dist/types/src/core/manager.d.ts.map +1 -1
  79. package/dist/types/src/core/plugin.d.ts +4 -3
  80. package/dist/types/src/core/plugin.d.ts.map +1 -1
  81. package/dist/types/src/helpers.d.ts.map +1 -1
  82. package/dist/types/src/playground/generator/generator.d.ts.map +1 -1
  83. package/dist/types/src/playground/logger/schema.d.ts +6 -6
  84. package/dist/types/src/playground/logger/schema.d.ts.map +1 -1
  85. package/dist/types/src/playground/playground.stories.d.ts.map +1 -1
  86. package/dist/types/src/plugin-intent/actions.d.ts +14 -14
  87. package/dist/types/src/plugin-intent/actions.d.ts.map +1 -1
  88. package/dist/types/src/plugin-intent/intent-dispatcher.d.ts +29 -3
  89. package/dist/types/src/plugin-intent/intent-dispatcher.d.ts.map +1 -1
  90. package/dist/types/src/plugin-intent/intent.d.ts +14 -20
  91. package/dist/types/src/plugin-intent/intent.d.ts.map +1 -1
  92. package/dist/types/src/plugin-settings/actions.d.ts +10 -10
  93. package/dist/types/src/plugin-settings/actions.d.ts.map +1 -1
  94. package/dist/types/src/plugin-settings/app-graph-builder.d.ts +2 -195
  95. package/dist/types/src/plugin-settings/app-graph-builder.d.ts.map +1 -1
  96. package/dist/types/src/plugin-settings/store.d.ts +2 -2
  97. package/dist/types/src/plugin-settings/store.d.ts.map +1 -1
  98. package/dist/types/src/react/ErrorBoundary.d.ts +1 -1
  99. package/dist/types/src/react/ErrorBoundary.d.ts.map +1 -1
  100. package/dist/types/src/react/IntentContext.d.ts.map +1 -1
  101. package/dist/types/src/react/Surface.d.ts +2 -2
  102. package/dist/types/src/react/Surface.d.ts.map +1 -1
  103. package/dist/types/src/react/useCapabilities.d.ts +2 -2
  104. package/dist/types/src/react/useCapabilities.d.ts.map +1 -1
  105. package/dist/types/src/react/useIntentResolver.d.ts.map +1 -1
  106. package/dist/types/src/testing/withPluginManager.d.ts +6 -2
  107. package/dist/types/src/testing/withPluginManager.d.ts.map +1 -1
  108. package/dist/types/src/testing/withPluginManager.stories.d.ts.map +1 -1
  109. package/dist/types/tsconfig.tsbuildinfo +1 -1
  110. package/package.json +32 -21
  111. package/project.json +2 -1
  112. package/src/App.tsx +98 -48
  113. package/src/common/capabilities.ts +18 -7
  114. package/src/common/collaboration.ts +21 -0
  115. package/src/common/file.ts +7 -7
  116. package/src/common/index.ts +1 -0
  117. package/src/common/layout.ts +167 -128
  118. package/src/common/translations.ts +7 -7
  119. package/src/core/capabilities.test.ts +55 -36
  120. package/src/core/capabilities.ts +84 -60
  121. package/src/core/events.ts +4 -1
  122. package/src/core/manager.test.ts +22 -22
  123. package/src/core/manager.ts +34 -26
  124. package/src/core/plugin.ts +4 -3
  125. package/src/playground/generator/generator.ts +4 -4
  126. package/src/playground/logger/schema.ts +5 -5
  127. package/src/playground/playground.stories.tsx +13 -9
  128. package/src/plugin-intent/actions.ts +9 -9
  129. package/src/plugin-intent/intent-dispatcher.test.ts +23 -42
  130. package/src/plugin-intent/intent-dispatcher.ts +25 -13
  131. package/src/plugin-intent/intent.ts +22 -20
  132. package/src/plugin-settings/actions.ts +8 -8
  133. package/src/plugin-settings/app-graph-builder.ts +129 -94
  134. package/src/plugin-settings/store.ts +20 -17
  135. package/src/react/ErrorBoundary.tsx +3 -3
  136. package/src/react/Surface.stories.tsx +1 -1
  137. package/src/react/Surface.tsx +3 -3
  138. package/src/react/useCapabilities.ts +9 -19
  139. package/src/testing/withPluginManager.stories.tsx +0 -1
  140. package/src/testing/withPluginManager.tsx +35 -16
  141. package/tsconfig.json +1 -53
  142. package/typedoc/.nojekyll +1 -0
  143. package/typedoc/assets/hierarchy.js +1 -0
  144. package/typedoc/assets/highlight.css +106 -0
  145. package/typedoc/assets/icons.js +18 -0
  146. package/typedoc/assets/icons.svg +1 -0
  147. package/typedoc/assets/main.js +60 -0
  148. package/typedoc/assets/navigation.js +1 -0
  149. package/typedoc/assets/search.js +1 -0
  150. package/typedoc/assets/style.css +1640 -0
  151. package/typedoc/classes/CollaborationActions.InsertContent.html +421 -0
  152. package/typedoc/classes/ErrorBoundary.html +125 -0
  153. package/typedoc/classes/IntentAction.ShowUndo.html +227 -0
  154. package/typedoc/classes/IntentAction.Track.html +266 -0
  155. package/typedoc/classes/LayoutAction.AddToast.html +265 -0
  156. package/typedoc/classes/LayoutAction.Close.html +382 -0
  157. package/typedoc/classes/LayoutAction.Expose.html +265 -0
  158. package/typedoc/classes/LayoutAction.Open.html +1123 -0
  159. package/typedoc/classes/LayoutAction.RevertWorkspace.html +343 -0
  160. package/typedoc/classes/LayoutAction.ScrollIntoView.html +460 -0
  161. package/typedoc/classes/LayoutAction.Set.html +460 -0
  162. package/typedoc/classes/LayoutAction.SetLayoutMode.html +499 -0
  163. package/typedoc/classes/LayoutAction.SwitchWorkspace.html +265 -0
  164. package/typedoc/classes/LayoutAction.UpdateComplementary.html +616 -0
  165. package/typedoc/classes/LayoutAction.UpdateDialog.html +1123 -0
  166. package/typedoc/classes/LayoutAction.UpdateLayout.html +461 -0
  167. package/typedoc/classes/LayoutAction.UpdatePopover.html +1435 -0
  168. package/typedoc/classes/LayoutAction.UpdateSidebar.html +616 -0
  169. package/typedoc/classes/Plugin.html +6 -0
  170. package/typedoc/classes/PluginContext.html +38 -0
  171. package/typedoc/classes/PluginManager.html +43 -0
  172. package/typedoc/classes/PluginModule.html +18 -0
  173. package/typedoc/classes/SettingsAction.Open.html +226 -0
  174. package/typedoc/classes/SettingsAction.OpenPluginRegistry.html +265 -0
  175. package/typedoc/functions/Events.createStateEvent.html +2 -0
  176. package/typedoc/functions/IntentPlugin.html +1 -0
  177. package/typedoc/functions/SettingsPlugin.html +1 -0
  178. package/typedoc/functions/allOf.html +2 -0
  179. package/typedoc/functions/chain.html +3 -0
  180. package/typedoc/functions/contributes.html +2 -0
  181. package/typedoc/functions/createDispatcher.html +3 -0
  182. package/typedoc/functions/createIntent.html +6 -0
  183. package/typedoc/functions/createResolver.html +2 -0
  184. package/typedoc/functions/createSurface.html +2 -0
  185. package/typedoc/functions/defineCapability.html +2 -0
  186. package/typedoc/functions/defineEvent.html +2 -0
  187. package/typedoc/functions/defineModule.html +2 -0
  188. package/typedoc/functions/definePlugin.html +2 -0
  189. package/typedoc/functions/eventKey.html +2 -0
  190. package/typedoc/functions/getEvents.html +2 -0
  191. package/typedoc/functions/isAllOf.html +2 -0
  192. package/typedoc/functions/isOneOf.html +2 -0
  193. package/typedoc/functions/isSurfaceAvailable.html +2 -0
  194. package/typedoc/functions/lazy.html +2 -0
  195. package/typedoc/functions/oneOf.html +2 -0
  196. package/typedoc/functions/useApp.html +6 -0
  197. package/typedoc/functions/useAppGraph.html +1 -0
  198. package/typedoc/functions/useCapabilities.html +3 -0
  199. package/typedoc/functions/useCapability.html +4 -0
  200. package/typedoc/functions/useIntentDispatcher.html +1 -0
  201. package/typedoc/functions/useIntentResolver.html +1 -0
  202. package/typedoc/functions/useLayout.html +1 -0
  203. package/typedoc/functions/usePluginManager.html +2 -0
  204. package/typedoc/hierarchy.html +1 -0
  205. package/typedoc/index.html +16 -0
  206. package/typedoc/interfaces/LayoutAction.Toast.html +10 -0
  207. package/typedoc/media/LICENSE +8 -0
  208. package/typedoc/modules/Capabilities.html +1 -0
  209. package/typedoc/modules/CollaborationActions.html +1 -0
  210. package/typedoc/modules/Events.html +1 -0
  211. package/typedoc/modules/IntentAction.html +1 -0
  212. package/typedoc/modules/LayoutAction.html +2 -0
  213. package/typedoc/modules/SettingsAction.html +1 -0
  214. package/typedoc/modules.html +1 -0
  215. package/typedoc/types/ActivationEvent.html +8 -0
  216. package/typedoc/types/ActivationEvents.html +2 -0
  217. package/typedoc/types/AnyCapability.html +1 -0
  218. package/typedoc/types/AnyIntent.html +1 -0
  219. package/typedoc/types/AnyIntentChain.html +1 -0
  220. package/typedoc/types/AnyIntentEffectResult.html +1 -0
  221. package/typedoc/types/AnyIntentResolver.html +1 -0
  222. package/typedoc/types/AnyIntentResult.html +1 -0
  223. package/typedoc/types/Capabilities.FileUploader.html +1 -0
  224. package/typedoc/types/Capabilities.IntentResolver.html +1 -0
  225. package/typedoc/types/Capabilities.Layout.html +1 -0
  226. package/typedoc/types/Capabilities.Metadata.html +1 -0
  227. package/typedoc/types/Capabilities.ReactContext.html +1 -0
  228. package/typedoc/types/Capabilities.ReactRoot.html +1 -0
  229. package/typedoc/types/Capabilities.ReactSurface.html +1 -0
  230. package/typedoc/types/Capabilities.Settings.html +4 -0
  231. package/typedoc/types/Capability.html +9 -0
  232. package/typedoc/types/CreateAppOptions.html +10 -0
  233. package/typedoc/types/FileInfo.html +1 -0
  234. package/typedoc/types/Intent.html +10 -0
  235. package/typedoc/types/IntentChain.html +6 -0
  236. package/typedoc/types/IntentContext.html +5 -0
  237. package/typedoc/types/IntentData.html +1 -0
  238. package/typedoc/types/IntentDispatcher.html +2 -0
  239. package/typedoc/types/IntentDispatcherResult.html +2 -0
  240. package/typedoc/types/IntentEffectDefinition.html +2 -0
  241. package/typedoc/types/IntentEffectResult.html +15 -0
  242. package/typedoc/types/IntentParams.html +3 -0
  243. package/typedoc/types/IntentResolver.html +2 -0
  244. package/typedoc/types/IntentResultData.html +1 -0
  245. package/typedoc/types/IntentSchema.html +1 -0
  246. package/typedoc/types/IntentUndo.html +2 -0
  247. package/typedoc/types/InterfaceDef.html +4 -0
  248. package/typedoc/types/Label.html +1 -0
  249. package/typedoc/types/NodeSerializer.html +8 -0
  250. package/typedoc/types/PluginManagerOptions.html +6 -0
  251. package/typedoc/types/PluginMeta.html +21 -0
  252. package/typedoc/types/PromiseIntentDispatcher.html +2 -0
  253. package/typedoc/types/PromiseIntentUndo.html +2 -0
  254. package/typedoc/types/Resource.html +1 -0
  255. package/typedoc/types/ResourceKey.html +1 -0
  256. package/typedoc/types/ResourceLanguage.html +1 -0
  257. package/typedoc/types/SerializedNode.html +4 -0
  258. package/typedoc/types/SurfaceComponent.html +2 -0
  259. package/typedoc/types/SurfaceDefinition.html +2 -0
  260. package/typedoc/types/SurfaceProps.html +4 -0
  261. package/typedoc/variables/Capabilities.AnchorSort.html +1 -0
  262. package/typedoc/variables/Capabilities.AppGraph.html +1 -0
  263. package/typedoc/variables/Capabilities.AppGraphBuilder.html +1 -0
  264. package/typedoc/variables/Capabilities.AppGraphSerializer.html +1 -0
  265. package/typedoc/variables/Capabilities.ArtifactDefinition.html +1 -0
  266. package/typedoc/variables/Capabilities.FileUploader.html +1 -0
  267. package/typedoc/variables/Capabilities.IntentDispatcher.html +1 -0
  268. package/typedoc/variables/Capabilities.IntentResolver.html +1 -0
  269. package/typedoc/variables/Capabilities.Layout.html +1 -0
  270. package/typedoc/variables/Capabilities.Metadata.html +1 -0
  271. package/typedoc/variables/Capabilities.Null.html +1 -0
  272. package/typedoc/variables/Capabilities.PluginManager.html +1 -0
  273. package/typedoc/variables/Capabilities.ReactContext.html +1 -0
  274. package/typedoc/variables/Capabilities.ReactRoot.html +1 -0
  275. package/typedoc/variables/Capabilities.ReactSurface.html +1 -0
  276. package/typedoc/variables/Capabilities.RxRegistry.html +1 -0
  277. package/typedoc/variables/Capabilities.Settings.html +1 -0
  278. package/typedoc/variables/Capabilities.SettingsStore.html +1 -0
  279. package/typedoc/variables/Capabilities.Tools.html +1 -0
  280. package/typedoc/variables/Capabilities.Translations.html +1 -0
  281. package/typedoc/variables/Events.AppGraphReady.html +2 -0
  282. package/typedoc/variables/Events.DispatcherReady.html +2 -0
  283. package/typedoc/variables/Events.LayoutReady.html +1 -0
  284. package/typedoc/variables/Events.SettingsReady.html +2 -0
  285. package/typedoc/variables/Events.SetupAppGraph.html +2 -0
  286. package/typedoc/variables/Events.SetupArtifactDefinition.html +2 -0
  287. package/typedoc/variables/Events.SetupIntentResolver.html +2 -0
  288. package/typedoc/variables/Events.SetupMetadata.html +2 -0
  289. package/typedoc/variables/Events.SetupReactSurface.html +2 -0
  290. package/typedoc/variables/Events.SetupSettings.html +2 -0
  291. package/typedoc/variables/Events.SetupTranslations.html +2 -0
  292. package/typedoc/variables/Events.Startup.html +2 -0
  293. package/typedoc/variables/FileInfoSchema.html +1 -0
  294. package/typedoc/variables/INTENT_ACTION.html +1 -0
  295. package/typedoc/variables/INTENT_PLUGIN.html +1 -0
  296. package/typedoc/variables/LAYOUT_ACTION.html +1 -0
  297. package/typedoc/variables/LAYOUT_PLUGIN.html +1 -0
  298. package/typedoc/variables/Label.html +1 -0
  299. package/typedoc/variables/LayoutAction.Toast.html +1 -0
  300. package/typedoc/variables/LayoutAction.UPDATE_LAYOUT.html +1 -0
  301. package/typedoc/variables/PluginManagerProvider.html +2 -0
  302. package/typedoc/variables/Resource.html +2 -0
  303. package/typedoc/variables/ResourceKey.html +1 -0
  304. package/typedoc/variables/ResourceLanguage.html +1 -0
  305. package/typedoc/variables/SETTINGS_ACTION.html +1 -0
  306. package/typedoc/variables/SETTINGS_ID.html +1 -0
  307. package/typedoc/variables/SETTINGS_KEY.html +1 -0
  308. package/typedoc/variables/SETTINGS_PLUGIN.html +1 -0
  309. package/typedoc/variables/Surface.html +2 -0
  310. package/typedoc/variables/defaultFileTypes.html +1 -0
  311. package/dist/lib/browser/app-graph-builder-576BHZC7.mjs.map +0 -7
  312. package/dist/lib/browser/chunk-6AVTZPMT.mjs.map +0 -7
  313. package/dist/lib/browser/chunk-PPIBZ5N4.mjs.map +0 -7
  314. package/dist/lib/browser/chunk-SFPT4Z2C.mjs.map +0 -7
  315. package/dist/lib/browser/store-URSN7DZI.mjs.map +0 -7
  316. package/dist/lib/node/app-graph-builder-JZCSKYPY.cjs +0 -146
  317. package/dist/lib/node/app-graph-builder-JZCSKYPY.cjs.map +0 -7
  318. package/dist/lib/node/chunk-JUSEAFDU.cjs.map +0 -7
  319. package/dist/lib/node/chunk-YIFTVCOR.cjs.map +0 -7
  320. package/dist/lib/node/chunk-YNTKVTVX.cjs.map +0 -7
  321. package/dist/lib/node/store-OFDHTDCB.cjs.map +0 -7
  322. package/dist/lib/node-esm/app-graph-builder-VYKLSMSZ.mjs.map +0 -7
  323. package/dist/lib/node-esm/chunk-AHKIPS2L.mjs.map +0 -7
  324. package/dist/lib/node-esm/chunk-PHOUQACM.mjs.map +0 -7
  325. package/dist/lib/node-esm/chunk-R6A7Z4LU.mjs.map +0 -7
  326. package/dist/lib/node-esm/store-EYSUVNCS.mjs.map +0 -7
  327. /package/dist/lib/browser/{intent-dispatcher-3Q67MHZZ.mjs.map → intent-dispatcher-ELZN5EM7.mjs.map} +0 -0
  328. /package/dist/lib/browser/{intent-resolver-O763LCLG.mjs.map → intent-resolver-SGWLINTO.mjs.map} +0 -0
  329. /package/dist/lib/node/{intent-resolver-3F4POWAM.cjs.map → intent-resolver-EPSFTHL6.cjs.map} +0 -0
  330. /package/dist/lib/node-esm/{intent-dispatcher-YDE2ONZA.mjs.map → intent-dispatcher-A2JCMWRD.mjs.map} +0 -0
  331. /package/dist/lib/node-esm/{intent-resolver-LAGJ7LXM.mjs.map → intent-resolver-5C4O43GK.mjs.map} +0 -0
@@ -2,19 +2,22 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { type Schema as S } from 'effect';
5
+ import { type Registry } from '@effect-rx/rx-react';
6
+ import { type Schema } from 'effect';
6
7
  import { type FC, type PropsWithChildren } from 'react';
7
8
 
8
- import { type GraphBuilder } from '@dxos/app-graph';
9
- import { type ArtifactDefinition, type Tool } from '@dxos/artifact';
9
+ import { type ExecutableTool } from '@dxos/ai';
10
+ import { type GraphBuilder, type BuilderExtensions } from '@dxos/app-graph';
11
+ import { type ArtifactDefinition } from '@dxos/artifact';
10
12
  import { type Space } from '@dxos/client-protocol';
11
13
  import { type RootSettingsStore } from '@dxos/local-storage';
14
+ import { type AnchoredTo } from '@dxos/schema';
12
15
 
13
16
  import { type FileInfo } from './file';
14
17
  import { type NodeSerializer } from './graph';
15
18
  import { type SurfaceDefinition } from './surface';
16
19
  import { type Resource } from './translations';
17
- import { defineCapability, type PluginManager } from '../core';
20
+ import { type PluginManager, defineCapability } from '../core';
18
21
  import { type AnyIntentResolver, type IntentContext } from '../plugin-intent';
19
22
 
20
23
  export namespace Capabilities {
@@ -22,6 +25,8 @@ export namespace Capabilities {
22
25
 
23
26
  export const Null = defineCapability<null>('dxos.org/app-framework/capability/null');
24
27
 
28
+ export const RxRegistry = defineCapability<Registry.Registry>('dxos.org/app-framework/capability/rx-registry');
29
+
25
30
  export type ReactContext = Readonly<{ id: string; dependsOn?: string[]; context: FC<PropsWithChildren> }>;
26
31
  export const ReactContext = defineCapability<ReactContext>('dxos.org/app-framework/capability/react-context');
27
32
 
@@ -68,7 +73,7 @@ export namespace Capabilities {
68
73
  'dxos.org/app-framework/capability/app-graph',
69
74
  );
70
75
 
71
- export const AppGraphBuilder = defineCapability<Parameters<GraphBuilder['addExtension']>[0]>(
76
+ export const AppGraphBuilder = defineCapability<BuilderExtensions>(
72
77
  'dxos.org/app-framework/capability/app-graph-builder',
73
78
  );
74
79
 
@@ -82,7 +87,7 @@ export namespace Capabilities {
82
87
  // export type Settings = Parameters<RootSettingsStore['createStore']>[0];
83
88
  // export type Settings<T extends SettingsValue = SettingsValue> = SettingsProps<T>;
84
89
  export type Settings = {
85
- schema: S.Schema.All;
90
+ schema: Schema.Schema.All;
86
91
  prefix: string;
87
92
  value?: Record<string, any>;
88
93
  };
@@ -91,11 +96,17 @@ export namespace Capabilities {
91
96
  export type Metadata = Readonly<{ id: string; metadata: Record<string, any> }>;
92
97
  export const Metadata = defineCapability<Metadata>('dxos.org/app-framework/capability/metadata');
93
98
 
94
- export const Tools = defineCapability<Tool[]>('dxos.org/app-framework/capability/tools');
99
+ export const Tools = defineCapability<ExecutableTool[]>('dxos.org/app-framework/capability/tools');
95
100
  export const ArtifactDefinition = defineCapability<ArtifactDefinition>(
96
101
  'dxos.org/app-framework/capability/artifact-definition',
97
102
  );
98
103
 
99
104
  export type FileUploader = (file: File, space: Space) => Promise<FileInfo | undefined>;
100
105
  export const FileUploader = defineCapability<FileUploader>('dxos.org/app-framework/capability/file-uploader');
106
+
107
+ type AnchorSort = {
108
+ key: string;
109
+ sort: (anchorA: AnchoredTo, anchorB: AnchoredTo) => number;
110
+ };
111
+ export const AnchorSort = defineCapability<AnchorSort>('dxos.org/app-framework/capability/anchor-sort');
101
112
  }
@@ -0,0 +1,21 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { Schema } from 'effect';
6
+
7
+ import { Expando, Ref } from '@dxos/echo-schema';
8
+
9
+ export namespace CollaborationActions {
10
+ export class InsertContent extends Schema.TaggedClass<InsertContent>()('assistant/intent-content', {
11
+ input: Schema.Struct({
12
+ target: Expando,
13
+ object: Ref(Expando),
14
+ at: Schema.optional(Schema.String),
15
+ label: Schema.String.pipe(Schema.optional),
16
+ }).annotations({
17
+ description: 'Enables plugins to inject content blocks or references into a related entity.',
18
+ }),
19
+ output: Schema.Void,
20
+ }) {}
21
+ }
@@ -2,7 +2,7 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { Schema as S } from 'effect';
5
+ import { Schema } from 'effect';
6
6
 
7
7
  // TODO(burdon): See Accept attribute (uses MIME types).
8
8
  // E.g., 'image/*': ['.jpg', '.jpeg', '.png', '.gif'],
@@ -12,11 +12,11 @@ export const defaultFileTypes = {
12
12
  text: ['pdf', 'txt', 'md'],
13
13
  };
14
14
 
15
- export const FileInfoSchema = S.Struct({
16
- name: S.String,
17
- type: S.String,
18
- url: S.optional(S.String),
19
- cid: S.optional(S.String), // TODO(burdon): Meta key? Or other common properties with other file management system? (e.g., WNFS).
15
+ export const FileInfoSchema = Schema.Struct({
16
+ name: Schema.String,
17
+ type: Schema.String,
18
+ url: Schema.optional(Schema.String),
19
+ cid: Schema.optional(Schema.String), // TODO(burdon): Meta key? Or other common properties with other file management system? (e.g., WNFS).
20
20
  });
21
21
 
22
- export type FileInfo = S.Schema.Type<typeof FileInfoSchema>;
22
+ export type FileInfo = Schema.Schema.Type<typeof FileInfoSchema>;
@@ -3,6 +3,7 @@
3
3
  //
4
4
 
5
5
  export * from './capabilities';
6
+ export * from './collaboration';
6
7
  export * from './events';
7
8
  export * from './file';
8
9
  export * from './graph';
@@ -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,199 +41,238 @@ 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
+ type: Schema.optional(Schema.Literal('default', 'alert').annotations({ description: 'The type of dialog.' })),
101
+ blockAlign: Schema.optional(
102
+ Schema.Literal('start', 'center', 'end').annotations({ description: 'The alignment of the dialog.' }),
103
+ ),
104
+ overlayClasses: Schema.optional(
105
+ Schema.String.annotations({ description: 'Additional classes for the dialog overlay.' }),
96
106
  ),
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({
107
+ overlayStyle: Schema.optional(
108
+ Schema.Record({ key: Schema.String, value: Schema.Any }).annotations({
109
+ description: 'Additional styles for the dialog overlay.',
110
+ }),
111
+ ),
112
+ props: Schema.optional(
113
+ Schema.Record({ key: Schema.String, value: Schema.Any }).annotations({
100
114
  description: 'Additional props for the dialog.',
101
115
  }),
102
116
  ),
103
117
  }),
104
118
  }),
105
- output: S.Void,
119
+ output: Schema.Void,
106
120
  }) {}
107
121
 
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(S.String.annotations({ description: 'URI of the component to display in the popover.' })),
112
- options: S.Struct({
113
- anchorId: S.String.annotations({ description: 'The id of the element to anchor the popover to.' }),
114
- side: S.optional(
115
- S.Literal('top', 'right', 'bottom', 'left').annotations({ description: 'The side of the anchor.' }),
122
+ export class UpdatePopover extends Schema.TaggedClass<UpdatePopover>()(UPDATE_LAYOUT, {
123
+ input: Schema.Struct({
124
+ part: Schema.Literal('popover').annotations({ description: 'Updating the popover.' }),
125
+ subject: Schema.optional(
126
+ Schema.Any.annotations({
127
+ description: 'URI of the component to display in the popover or data to pass to the popover.',
128
+ }),
129
+ ),
130
+ options: Schema.Struct({
131
+ side: Schema.optional(
132
+ Schema.Literal('top', 'right', 'bottom', 'left').annotations({ description: 'The side of the anchor.' }),
116
133
  ),
117
- state: S.optional(S.Boolean.annotations({ description: 'Whether the popover is open or closed.' })),
118
- props: S.optional(
119
- S.Record({ key: S.String, value: S.Any }).annotations({
134
+ state: Schema.optional(Schema.Boolean.annotations({ description: 'Whether the popover is open or closed.' })),
135
+ props: Schema.optional(
136
+ Schema.Record({ key: Schema.String, value: Schema.Any }).annotations({
120
137
  description: 'Additional props for the popover.',
121
138
  }),
122
139
  ),
123
- }),
140
+ }).pipe(
141
+ Schema.extend(
142
+ Schema.Union(
143
+ Schema.Struct({
144
+ variant: Schema.Literal('virtual'),
145
+ anchor: Schema.Any.annotations({ description: 'The DOM element to anchor the popover to.' }),
146
+ }),
147
+ Schema.Struct({
148
+ variant: Schema.optional(Schema.Literal('react')),
149
+ anchorId: Schema.String.annotations({
150
+ description: 'An id that can be used to determine whether to render the anchor subcomponent.',
151
+ }),
152
+ }),
153
+ ),
154
+ ),
155
+ ),
124
156
  }),
125
- output: S.Void,
157
+ output: Schema.Void,
126
158
  }) {}
127
159
 
128
- export const Toast = S.Struct({
129
- id: S.String.annotations({ description: 'The id of the toast.' }),
130
- title: S.optional(Label.annotations({ description: 'The title of the toast.' })),
131
- description: S.optional(Label.annotations({ description: 'The description of the toast.' })),
132
- icon: S.optional(S.String.annotations({ description: 'The icon of the toast.' })),
133
- duration: S.optional(S.Number.annotations({ description: 'The duration of the toast.' })),
134
- closeLabel: S.optional(Label.annotations({ description: 'The label of the close button.' })),
135
- actionLabel: S.optional(Label.annotations({ description: 'The label of the action button.' })),
136
- actionAlt: S.optional(Label.annotations({ description: 'The alt text of the action button.' })),
137
- onAction: S.optional(
138
- S.Any.annotations({ description: 'The action to perform when the action button is clicked.' }),
160
+ export const Toast = Schema.Struct({
161
+ id: Schema.String.annotations({ description: 'The id of the toast.' }),
162
+ title: Schema.optional(Label.annotations({ description: 'The title of the toast.' })),
163
+ description: Schema.optional(Label.annotations({ description: 'The description of the toast.' })),
164
+ icon: Schema.optional(Schema.String.annotations({ description: 'The icon of the toast.' })),
165
+ duration: Schema.optional(Schema.Number.annotations({ description: 'The duration of the toast.' })),
166
+ closeLabel: Schema.optional(Label.annotations({ description: 'The label of the close button.' })),
167
+ actionLabel: Schema.optional(Label.annotations({ description: 'The label of the action button.' })),
168
+ actionAlt: Schema.optional(Label.annotations({ description: 'The alt text of the action button.' })),
169
+ onAction: Schema.optional(
170
+ Schema.Any.annotations({ description: 'The action to perform when the action button is clicked.' }),
139
171
  ),
140
172
  });
141
173
 
142
- export interface Toast extends Omit<S.Schema.Type<typeof Toast>, 'onAction'> {
174
+ export interface Toast extends Omit<Schema.Schema.Type<typeof Toast>, 'onAction'> {
143
175
  onAction?: () => void;
144
176
  }
145
177
 
146
- export class AddToast extends S.TaggedClass<AddToast>()(UPDATE_LAYOUT, {
147
- input: S.Struct({
148
- part: S.Literal('toast').annotations({ description: 'Adding a toast.' }),
178
+ export class AddToast extends Schema.TaggedClass<AddToast>()(UPDATE_LAYOUT, {
179
+ input: Schema.Struct({
180
+ part: Schema.Literal('toast').annotations({ description: 'Adding a toast.' }),
149
181
  subject: Toast.annotations({ description: 'The toast to add.' }),
150
182
  }),
151
- output: S.Void,
183
+ output: Schema.Void,
152
184
  }) {}
153
185
 
154
- export class SwitchWorkspace extends S.TaggedClass<SwitchWorkspace>()(UPDATE_LAYOUT, {
155
- input: S.Struct({
156
- part: S.Literal('workspace').annotations({ description: 'Switching the workspace.' }),
157
- subject: S.String.annotations({ description: 'The id of the workspace to switch to.' }),
186
+ export class SwitchWorkspace extends Schema.TaggedClass<SwitchWorkspace>()(UPDATE_LAYOUT, {
187
+ input: Schema.Struct({
188
+ part: Schema.Literal('workspace').annotations({ description: 'Switching the workspace.' }),
189
+ subject: Schema.String.annotations({ description: 'The id of the workspace to switch to.' }),
158
190
  }),
159
- output: S.Void,
191
+ output: Schema.Void,
160
192
  }) {}
161
193
 
162
- export class RevertWorkspace extends S.TaggedClass<RevertWorkspace>()(UPDATE_LAYOUT, {
163
- input: S.Struct({
164
- part: S.Literal('workspace').annotations({ description: 'Switching the workspace.' }),
165
- options: S.Struct({
166
- revert: S.Literal(true).annotations({ description: 'Revert to the previous workspace.' }),
194
+ export class RevertWorkspace extends Schema.TaggedClass<RevertWorkspace>()(UPDATE_LAYOUT, {
195
+ input: Schema.Struct({
196
+ part: Schema.Literal('workspace').annotations({ description: 'Switching the workspace.' }),
197
+ options: Schema.Struct({
198
+ revert: Schema.Literal(true).annotations({ description: 'Revert to the previous workspace.' }),
167
199
  }),
168
200
  }),
169
- output: S.Void,
201
+ output: Schema.Void,
170
202
  }) {}
171
203
 
172
- export class Open extends S.TaggedClass<Open>()(UPDATE_LAYOUT, {
173
- input: S.Struct({
174
- part: S.Literal('main').annotations({ description: 'Opening an item in the main content area.' }),
175
- subject: S.Array(S.String.annotations({ description: 'Ids of the items to open.' })),
176
- options: S.optional(
177
- S.Struct({
178
- state: S.optional(S.Literal(true).annotations({ description: 'The items are being added.' })),
179
- variant: S.optional(S.String.annotations({ description: 'The variant of the item to open.' })),
180
- key: S.optional(
181
- S.String.annotations({ description: 'If provided, will replace item with a matching key (id prefix).' }),
204
+ export class Open extends Schema.TaggedClass<Open>()(UPDATE_LAYOUT, {
205
+ input: Schema.Struct({
206
+ part: Schema.Literal('main').annotations({ description: 'Opening an item in the main content area.' }),
207
+ subject: Schema.Array(Schema.String.annotations({ description: 'Ids of the items to open.' })),
208
+ options: Schema.optional(
209
+ Schema.Struct({
210
+ state: Schema.optional(Schema.Literal(true).annotations({ description: 'The items are being added.' })),
211
+ variant: Schema.optional(Schema.String.annotations({ description: 'The variant of the item to open.' })),
212
+ key: Schema.optional(
213
+ Schema.String.annotations({
214
+ description: 'If provided, will replace item with a matching key (id prefix).',
215
+ }),
216
+ ),
217
+ workspace: Schema.optional(Schema.String.annotations({ description: 'The workspace to open the items in.' })),
218
+ scrollIntoView: Schema.optional(Schema.Boolean.annotations({ description: 'Scroll the items into view.' })),
219
+ pivotId: Schema.optional(
220
+ Schema.String.annotations({ description: 'The id of the item to place new items next to.' }),
182
221
  ),
183
- scrollIntoView: S.optional(S.Boolean.annotations({ description: 'Scroll the items into view.' })),
184
- pivotId: S.optional(S.String.annotations({ description: 'The id of the item to place new items next to.' })),
185
- positioning: S.optional(
186
- S.Union(
187
- S.Literal('start').annotations({ description: 'The items are being added before the pivot item.' }),
188
- S.Literal('end').annotations({ description: 'The items are being added after the pivot item.' }),
222
+ positioning: Schema.optional(
223
+ Schema.Union(
224
+ Schema.Literal('start').annotations({ description: 'The items are being added before the pivot item.' }),
225
+ Schema.Literal('end').annotations({ description: 'The items are being added after the pivot item.' }),
189
226
  ),
190
227
  ),
191
228
  }),
192
229
  ),
193
230
  }),
194
- output: S.Void,
231
+ output: Schema.Void,
195
232
  }) {}
196
233
 
197
- export class Set extends S.TaggedClass<Set>()(UPDATE_LAYOUT, {
198
- input: S.Struct({
199
- part: S.Literal('main').annotations({ description: 'Setting items in the main content area.' }),
200
- subject: S.Array(S.String.annotations({ description: 'Ids of the items to set.' })),
201
- options: S.Struct({
202
- override: S.Literal(true).annotations({ description: 'Override the current items in the main content area.' }),
234
+ export class Set extends Schema.TaggedClass<Set>()(UPDATE_LAYOUT, {
235
+ input: Schema.Struct({
236
+ part: Schema.Literal('main').annotations({ description: 'Setting items in the main content area.' }),
237
+ subject: Schema.Array(Schema.String.annotations({ description: 'Ids of the items to set.' })),
238
+ options: Schema.Struct({
239
+ override: Schema.Literal(true).annotations({
240
+ description: 'Override the current items in the main content area.',
241
+ }),
203
242
  }),
204
243
  }),
205
- output: S.Void,
244
+ output: Schema.Void,
206
245
  }) {}
207
246
 
208
- export class Close extends S.TaggedClass<Close>()(UPDATE_LAYOUT, {
209
- input: S.Struct({
210
- part: S.Literal('main').annotations({ description: 'Closing items in the main content area.' }),
211
- subject: S.Array(S.String.annotations({ description: 'Ids of the items to close.' })),
212
- options: S.Struct({
213
- state: S.Literal(false).annotations({ description: 'The items are being removed.' }),
247
+ export class Close extends Schema.TaggedClass<Close>()(UPDATE_LAYOUT, {
248
+ input: Schema.Struct({
249
+ part: Schema.Literal('main').annotations({ description: 'Closing items in the main content area.' }),
250
+ subject: Schema.Array(Schema.String.annotations({ description: 'Ids of the items to close.' })),
251
+ options: Schema.Struct({
252
+ state: Schema.Literal(false).annotations({ description: 'The items are being removed.' }),
214
253
  }),
215
254
  }),
216
- output: S.Void,
255
+ output: Schema.Void,
217
256
  }) {}
218
257
 
219
- export class ScrollIntoView extends S.TaggedClass<ScrollIntoView>()(UPDATE_LAYOUT, {
220
- input: S.Struct({
221
- part: S.Literal('current').annotations({ description: 'Setting the current item' }),
222
- subject: S.optional(S.String.annotations({ description: 'The id of the item to set as current.' })),
223
- options: S.optional(
224
- S.Record({ key: S.String, value: S.Any }).annotations({
258
+ export class ScrollIntoView extends Schema.TaggedClass<ScrollIntoView>()(UPDATE_LAYOUT, {
259
+ input: Schema.Struct({
260
+ part: Schema.Literal('current').annotations({ description: 'Setting the current item' }),
261
+ subject: Schema.optional(Schema.String.annotations({ description: 'The id of the item to set as current.' })),
262
+ options: Schema.optional(
263
+ Schema.Record({ key: Schema.String, value: Schema.Any }).annotations({
225
264
  description: 'Additional options for the scroll into view.',
226
265
  }),
227
266
  ),
228
267
  }),
229
- output: S.Void,
268
+ output: Schema.Void,
230
269
  }) {}
231
270
 
232
- export class Expose extends S.TaggedClass<Expose>()(UPDATE_LAYOUT, {
233
- input: S.Struct({
234
- part: S.Literal('navigation').annotations({ description: 'Exposing an item in the navigation area.' }),
235
- subject: S.String.annotations({ description: 'The id of the item to expose.' }),
271
+ export class Expose extends Schema.TaggedClass<Expose>()(UPDATE_LAYOUT, {
272
+ input: Schema.Struct({
273
+ part: Schema.Literal('navigation').annotations({ description: 'Exposing an item in the navigation area.' }),
274
+ subject: Schema.String.annotations({ description: 'The id of the item to expose.' }),
236
275
  }),
237
- output: S.Void,
276
+ output: Schema.Void,
238
277
  }) {}
239
278
  }
@@ -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>;