@dxos/app-framework 0.8.2-main.12df754 → 0.8.2-main.30e4dbb

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 (278) hide show
  1. package/dist/lib/browser/{app-graph-builder-RHU5WUGJ.mjs → app-graph-builder-OWHVEAHP.mjs} +7 -5
  2. package/dist/lib/browser/app-graph-builder-OWHVEAHP.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-GYFO2C4Q.mjs → chunk-A7XUUTJN.mjs} +2 -2
  4. package/dist/lib/browser/{chunk-SFPT4Z2C.mjs → chunk-KPRHX73H.mjs} +9 -9
  5. package/dist/lib/browser/chunk-KPRHX73H.mjs.map +7 -0
  6. package/dist/lib/browser/{chunk-5WHZ3ORL.mjs → chunk-M6UBP7YP.mjs} +165 -162
  7. package/dist/lib/browser/chunk-M6UBP7YP.mjs.map +7 -0
  8. package/dist/lib/browser/index.mjs +6 -6
  9. package/dist/lib/browser/{intent-dispatcher-T6YETUE7.mjs → intent-dispatcher-SICNXT2G.mjs} +2 -2
  10. package/dist/lib/browser/{intent-resolver-UQFD7VBJ.mjs → intent-resolver-2K6LNSUE.mjs} +3 -3
  11. package/dist/lib/browser/meta.json +1 -1
  12. package/dist/lib/browser/{store-NP42FCZO.mjs → store-P4XZF26P.mjs} +2 -2
  13. package/dist/lib/browser/testing/index.mjs +7 -3
  14. package/dist/lib/browser/testing/index.mjs.map +3 -3
  15. package/dist/lib/browser/worker.mjs +1 -1
  16. package/dist/lib/node/{app-graph-builder-QGHI2J2R.cjs → app-graph-builder-43JOK25K.cjs} +32 -30
  17. package/dist/lib/node/app-graph-builder-43JOK25K.cjs.map +7 -0
  18. package/dist/lib/node/{chunk-JUSEAFDU.cjs → chunk-JQMNABMK.cjs} +4 -4
  19. package/dist/lib/node/chunk-JQMNABMK.cjs.map +7 -0
  20. package/dist/lib/node/{chunk-EGY2ANJA.cjs → chunk-LPUJODXZ.cjs} +8 -5
  21. package/dist/lib/node/chunk-LPUJODXZ.cjs.map +7 -0
  22. package/dist/lib/node/{chunk-PIFNLI5K.cjs → chunk-MTROSTO7.cjs} +19 -19
  23. package/dist/lib/node/index.cjs +79 -79
  24. package/dist/lib/node/{intent-dispatcher-BEKV2HG3.cjs → intent-dispatcher-XXFKXEHF.cjs} +8 -8
  25. package/dist/lib/node/{intent-dispatcher-BEKV2HG3.cjs.map → intent-dispatcher-XXFKXEHF.cjs.map} +2 -2
  26. package/dist/lib/node/{intent-resolver-NALI2KSH.cjs → intent-resolver-ZP6S7QKG.cjs} +12 -12
  27. package/dist/lib/node/meta.json +1 -1
  28. package/dist/lib/node/{store-I7KM7GGP.cjs → store-MALHSPHZ.cjs} +7 -7
  29. package/dist/lib/node/testing/index.cjs +14 -9
  30. package/dist/lib/node/testing/index.cjs.map +3 -3
  31. package/dist/lib/node/worker.cjs +38 -38
  32. package/dist/lib/node/worker.cjs.map +1 -1
  33. package/dist/lib/node-esm/{app-graph-builder-45FJO6JA.mjs → app-graph-builder-WE4IBY3S.mjs} +7 -5
  34. package/dist/lib/node-esm/app-graph-builder-WE4IBY3S.mjs.map +7 -0
  35. package/dist/lib/node-esm/{chunk-PHOUQACM.mjs → chunk-JUJF5L4G.mjs} +9 -9
  36. package/dist/lib/node-esm/chunk-JUJF5L4G.mjs.map +7 -0
  37. package/dist/lib/node-esm/{chunk-KFDC5QSQ.mjs → chunk-MX6ITPIG.mjs} +2 -2
  38. package/dist/lib/node-esm/{chunk-YQMLJUYN.mjs → chunk-OZD32CQN.mjs} +165 -162
  39. package/dist/lib/node-esm/chunk-OZD32CQN.mjs.map +7 -0
  40. package/dist/lib/node-esm/index.mjs +6 -6
  41. package/dist/lib/node-esm/{intent-dispatcher-MYETZPUW.mjs → intent-dispatcher-FF5HNHPQ.mjs} +2 -2
  42. package/dist/lib/node-esm/{intent-resolver-BW5I7SOS.mjs → intent-resolver-QWIKXIGI.mjs} +3 -3
  43. package/dist/lib/node-esm/meta.json +1 -1
  44. package/dist/lib/node-esm/{store-MKIES4HL.mjs → store-3NM6AWB4.mjs} +2 -2
  45. package/dist/lib/node-esm/testing/index.mjs +7 -3
  46. package/dist/lib/node-esm/testing/index.mjs.map +3 -3
  47. package/dist/lib/node-esm/worker.mjs +1 -1
  48. package/dist/types/src/App.d.ts.map +1 -1
  49. package/dist/types/src/common/capabilities.d.ts +2 -2
  50. package/dist/types/src/common/capabilities.d.ts.map +1 -1
  51. package/dist/types/src/common/collaboration.d.ts +7 -7
  52. package/dist/types/src/common/collaboration.d.ts.map +1 -1
  53. package/dist/types/src/common/events.d.ts.map +1 -1
  54. package/dist/types/src/common/file.d.ts +7 -7
  55. package/dist/types/src/common/file.d.ts.map +1 -1
  56. package/dist/types/src/common/layout.d.ts +163 -162
  57. package/dist/types/src/common/layout.d.ts.map +1 -1
  58. package/dist/types/src/common/surface.d.ts.map +1 -1
  59. package/dist/types/src/common/translations.d.ts +7 -7
  60. package/dist/types/src/common/translations.d.ts.map +1 -1
  61. package/dist/types/src/core/capabilities.d.ts.map +1 -1
  62. package/dist/types/src/core/events.d.ts.map +1 -1
  63. package/dist/types/src/core/plugin.d.ts.map +1 -1
  64. package/dist/types/src/helpers.d.ts.map +1 -1
  65. package/dist/types/src/playground/generator/generator.d.ts.map +1 -1
  66. package/dist/types/src/playground/logger/schema.d.ts +6 -6
  67. package/dist/types/src/playground/logger/schema.d.ts.map +1 -1
  68. package/dist/types/src/plugin-intent/actions.d.ts +14 -14
  69. package/dist/types/src/plugin-intent/actions.d.ts.map +1 -1
  70. package/dist/types/src/plugin-intent/intent-dispatcher.d.ts.map +1 -1
  71. package/dist/types/src/plugin-intent/intent.d.ts +12 -12
  72. package/dist/types/src/plugin-intent/intent.d.ts.map +1 -1
  73. package/dist/types/src/plugin-settings/actions.d.ts +10 -10
  74. package/dist/types/src/plugin-settings/actions.d.ts.map +1 -1
  75. package/dist/types/src/plugin-settings/app-graph-builder.d.ts.map +1 -1
  76. package/dist/types/src/plugin-settings/store.d.ts.map +1 -1
  77. package/dist/types/src/react/IntentContext.d.ts.map +1 -1
  78. package/dist/types/src/react/Surface.d.ts.map +1 -1
  79. package/dist/types/src/react/useCapabilities.d.ts.map +1 -1
  80. package/dist/types/src/react/useIntentResolver.d.ts.map +1 -1
  81. package/dist/types/src/testing/withPluginManager.d.ts +5 -2
  82. package/dist/types/src/testing/withPluginManager.d.ts.map +1 -1
  83. package/dist/types/src/testing/withPluginManager.stories.d.ts.map +1 -1
  84. package/dist/types/tsconfig.tsbuildinfo +1 -1
  85. package/package.json +19 -19
  86. package/src/common/capabilities.ts +2 -2
  87. package/src/common/collaboration.ts +7 -6
  88. package/src/common/file.ts +7 -7
  89. package/src/common/layout.ts +148 -135
  90. package/src/common/translations.ts +7 -7
  91. package/src/playground/generator/generator.ts +4 -4
  92. package/src/playground/logger/schema.ts +5 -5
  93. package/src/playground/playground.stories.tsx +1 -1
  94. package/src/plugin-intent/actions.ts +9 -9
  95. package/src/plugin-intent/intent-dispatcher.test.ts +23 -23
  96. package/src/plugin-intent/intent.ts +20 -11
  97. package/src/plugin-settings/actions.ts +8 -8
  98. package/src/plugin-settings/app-graph-builder.ts +3 -1
  99. package/src/react/Surface.stories.tsx +1 -1
  100. package/src/testing/withPluginManager.stories.tsx +0 -1
  101. package/src/testing/withPluginManager.tsx +11 -3
  102. package/typedoc/classes/CollaborationActions.InsertContent.html +241 -202
  103. package/typedoc/classes/ErrorBoundary.html +6 -6
  104. package/typedoc/classes/IntentAction.ShowUndo.html +125 -125
  105. package/typedoc/classes/IntentAction.Track.html +239 -239
  106. package/typedoc/classes/LayoutAction.AddToast.html +163 -163
  107. package/typedoc/classes/LayoutAction.Close.html +352 -352
  108. package/typedoc/classes/LayoutAction.Expose.html +238 -238
  109. package/typedoc/classes/LayoutAction.Open.html +904 -709
  110. package/typedoc/classes/LayoutAction.RevertWorkspace.html +241 -241
  111. package/typedoc/classes/LayoutAction.ScrollIntoView.html +280 -280
  112. package/typedoc/classes/LayoutAction.Set.html +436 -358
  113. package/typedoc/classes/LayoutAction.SetLayoutMode.html +469 -391
  114. package/typedoc/classes/LayoutAction.SwitchWorkspace.html +238 -238
  115. package/typedoc/classes/LayoutAction.UpdateComplementary.html +358 -358
  116. package/typedoc/classes/LayoutAction.UpdateDialog.html +553 -475
  117. package/typedoc/classes/LayoutAction.UpdateLayout.html +281 -281
  118. package/typedoc/classes/LayoutAction.UpdatePopover.html +826 -826
  119. package/typedoc/classes/LayoutAction.UpdateSidebar.html +397 -319
  120. package/typedoc/classes/Plugin.html +3 -3
  121. package/typedoc/classes/PluginManager.html +16 -16
  122. package/typedoc/classes/PluginModule.html +8 -8
  123. package/typedoc/classes/PluginsContext.html +8 -8
  124. package/typedoc/classes/SettingsAction.Open.html +199 -199
  125. package/typedoc/classes/SettingsAction.OpenPluginRegistry.html +124 -124
  126. package/typedoc/functions/Events.createStateEvent.html +2 -2
  127. package/typedoc/functions/IntentPlugin.html +1 -1
  128. package/typedoc/functions/SettingsPlugin.html +1 -1
  129. package/typedoc/functions/allOf.html +2 -2
  130. package/typedoc/functions/chain.html +2 -2
  131. package/typedoc/functions/contributes.html +2 -2
  132. package/typedoc/functions/createApp.html +2 -2
  133. package/typedoc/functions/createDispatcher.html +2 -2
  134. package/typedoc/functions/createIntent.html +2 -2
  135. package/typedoc/functions/createResolver.html +2 -2
  136. package/typedoc/functions/createSurface.html +2 -2
  137. package/typedoc/functions/defineCapability.html +2 -2
  138. package/typedoc/functions/defineEvent.html +2 -2
  139. package/typedoc/functions/defineModule.html +2 -2
  140. package/typedoc/functions/definePlugin.html +2 -2
  141. package/typedoc/functions/eventKey.html +2 -2
  142. package/typedoc/functions/getEvents.html +2 -2
  143. package/typedoc/functions/isAllOf.html +2 -2
  144. package/typedoc/functions/isOneOf.html +2 -2
  145. package/typedoc/functions/isSurfaceAvailable.html +2 -2
  146. package/typedoc/functions/lazy.html +2 -2
  147. package/typedoc/functions/oneOf.html +2 -2
  148. package/typedoc/functions/useAppGraph.html +1 -1
  149. package/typedoc/functions/useCapabilities.html +2 -2
  150. package/typedoc/functions/useCapability.html +2 -2
  151. package/typedoc/functions/useIntentDispatcher.html +1 -1
  152. package/typedoc/functions/useIntentResolver.html +1 -1
  153. package/typedoc/functions/useLayout.html +1 -1
  154. package/typedoc/functions/usePluginManager.html +2 -2
  155. package/typedoc/hierarchy.html +1 -1
  156. package/typedoc/index.html +2 -2
  157. package/typedoc/interfaces/LayoutAction.Toast.html +2 -2
  158. package/typedoc/modules/Capabilities.html +1 -1
  159. package/typedoc/modules/CollaborationActions.html +1 -1
  160. package/typedoc/modules/Events.html +1 -1
  161. package/typedoc/modules/IntentAction.html +1 -1
  162. package/typedoc/modules/LayoutAction.html +2 -2
  163. package/typedoc/modules/SettingsAction.html +1 -1
  164. package/typedoc/modules.html +1 -1
  165. package/typedoc/types/ActivationEvent.html +3 -3
  166. package/typedoc/types/ActivationEvents.html +2 -2
  167. package/typedoc/types/AnyCapability.html +1 -1
  168. package/typedoc/types/AnyIntent.html +1 -1
  169. package/typedoc/types/AnyIntentChain.html +1 -1
  170. package/typedoc/types/AnyIntentEffectResult.html +1 -1
  171. package/typedoc/types/AnyIntentResolver.html +1 -1
  172. package/typedoc/types/AnyIntentResult.html +1 -1
  173. package/typedoc/types/Capabilities.FileUploader.html +1 -1
  174. package/typedoc/types/Capabilities.IntentResolver.html +1 -1
  175. package/typedoc/types/Capabilities.Layout.html +1 -1
  176. package/typedoc/types/Capabilities.Metadata.html +1 -1
  177. package/typedoc/types/Capabilities.ReactContext.html +1 -1
  178. package/typedoc/types/Capabilities.ReactRoot.html +1 -1
  179. package/typedoc/types/Capabilities.ReactSurface.html +1 -1
  180. package/typedoc/types/Capabilities.Settings.html +2 -2
  181. package/typedoc/types/Capability.html +5 -5
  182. package/typedoc/types/CreateAppOptions.html +2 -2
  183. package/typedoc/types/FileInfo.html +1 -1
  184. package/typedoc/types/Intent.html +7 -7
  185. package/typedoc/types/IntentChain.html +3 -3
  186. package/typedoc/types/IntentContext.html +2 -2
  187. package/typedoc/types/IntentData.html +1 -1
  188. package/typedoc/types/IntentDispatcher.html +2 -2
  189. package/typedoc/types/IntentDispatcherResult.html +2 -2
  190. package/typedoc/types/IntentEffectDefinition.html +2 -2
  191. package/typedoc/types/IntentEffectResult.html +6 -6
  192. package/typedoc/types/IntentParams.html +2 -2
  193. package/typedoc/types/IntentResolver.html +2 -2
  194. package/typedoc/types/IntentResultData.html +1 -1
  195. package/typedoc/types/IntentSchema.html +1 -1
  196. package/typedoc/types/IntentUndo.html +2 -2
  197. package/typedoc/types/InterfaceDef.html +3 -3
  198. package/typedoc/types/Label.html +1 -1
  199. package/typedoc/types/NodeSerializer.html +3 -3
  200. package/typedoc/types/PluginManagerOptions.html +2 -2
  201. package/typedoc/types/PluginMeta.html +9 -9
  202. package/typedoc/types/PromiseIntentDispatcher.html +2 -2
  203. package/typedoc/types/PromiseIntentUndo.html +2 -2
  204. package/typedoc/types/Resource.html +1 -1
  205. package/typedoc/types/ResourceKey.html +1 -1
  206. package/typedoc/types/ResourceLanguage.html +1 -1
  207. package/typedoc/types/SerializedNode.html +2 -2
  208. package/typedoc/types/SurfaceComponent.html +2 -2
  209. package/typedoc/types/SurfaceDefinition.html +2 -2
  210. package/typedoc/types/SurfaceProps.html +2 -2
  211. package/typedoc/variables/Capabilities.AppGraph.html +1 -1
  212. package/typedoc/variables/Capabilities.AppGraphBuilder.html +1 -1
  213. package/typedoc/variables/Capabilities.AppGraphSerializer.html +1 -1
  214. package/typedoc/variables/Capabilities.ArtifactDefinition.html +1 -1
  215. package/typedoc/variables/Capabilities.FileUploader.html +1 -1
  216. package/typedoc/variables/Capabilities.IntentDispatcher.html +1 -1
  217. package/typedoc/variables/Capabilities.IntentResolver.html +1 -1
  218. package/typedoc/variables/Capabilities.Layout.html +1 -1
  219. package/typedoc/variables/Capabilities.Metadata.html +1 -1
  220. package/typedoc/variables/Capabilities.Null.html +1 -1
  221. package/typedoc/variables/Capabilities.PluginManager.html +1 -1
  222. package/typedoc/variables/Capabilities.ReactContext.html +1 -1
  223. package/typedoc/variables/Capabilities.ReactRoot.html +1 -1
  224. package/typedoc/variables/Capabilities.ReactSurface.html +1 -1
  225. package/typedoc/variables/Capabilities.Settings.html +1 -1
  226. package/typedoc/variables/Capabilities.SettingsStore.html +1 -1
  227. package/typedoc/variables/Capabilities.Tools.html +1 -1
  228. package/typedoc/variables/Capabilities.Translations.html +1 -1
  229. package/typedoc/variables/Events.AppGraphReady.html +2 -2
  230. package/typedoc/variables/Events.DispatcherReady.html +2 -2
  231. package/typedoc/variables/Events.LayoutReady.html +1 -1
  232. package/typedoc/variables/Events.SettingsReady.html +2 -2
  233. package/typedoc/variables/Events.SetupAppGraph.html +2 -2
  234. package/typedoc/variables/Events.SetupArtifactDefinition.html +2 -2
  235. package/typedoc/variables/Events.SetupIntentResolver.html +2 -2
  236. package/typedoc/variables/Events.SetupMetadata.html +2 -2
  237. package/typedoc/variables/Events.SetupReactSurface.html +2 -2
  238. package/typedoc/variables/Events.SetupSettings.html +2 -2
  239. package/typedoc/variables/Events.SetupTranslations.html +2 -2
  240. package/typedoc/variables/Events.Startup.html +2 -2
  241. package/typedoc/variables/FileInfoSchema.html +1 -1
  242. package/typedoc/variables/INTENT_ACTION.html +1 -1
  243. package/typedoc/variables/INTENT_PLUGIN.html +1 -1
  244. package/typedoc/variables/LAYOUT_ACTION.html +1 -1
  245. package/typedoc/variables/LAYOUT_PLUGIN.html +1 -1
  246. package/typedoc/variables/Label.html +1 -1
  247. package/typedoc/variables/LayoutAction.Toast.html +1 -1
  248. package/typedoc/variables/LayoutAction.UPDATE_LAYOUT.html +1 -1
  249. package/typedoc/variables/PluginManagerProvider.html +2 -2
  250. package/typedoc/variables/Resource.html +2 -2
  251. package/typedoc/variables/ResourceKey.html +1 -1
  252. package/typedoc/variables/ResourceLanguage.html +1 -1
  253. package/typedoc/variables/SETTINGS_ACTION.html +1 -1
  254. package/typedoc/variables/SETTINGS_ID.html +1 -1
  255. package/typedoc/variables/SETTINGS_KEY.html +1 -1
  256. package/typedoc/variables/SETTINGS_PLUGIN.html +1 -1
  257. package/typedoc/variables/Surface.html +2 -2
  258. package/typedoc/variables/defaultFileTypes.html +1 -1
  259. package/dist/lib/browser/app-graph-builder-RHU5WUGJ.mjs.map +0 -7
  260. package/dist/lib/browser/chunk-5WHZ3ORL.mjs.map +0 -7
  261. package/dist/lib/browser/chunk-SFPT4Z2C.mjs.map +0 -7
  262. package/dist/lib/node/app-graph-builder-QGHI2J2R.cjs.map +0 -7
  263. package/dist/lib/node/chunk-EGY2ANJA.cjs.map +0 -7
  264. package/dist/lib/node/chunk-JUSEAFDU.cjs.map +0 -7
  265. package/dist/lib/node-esm/app-graph-builder-45FJO6JA.mjs.map +0 -7
  266. package/dist/lib/node-esm/chunk-PHOUQACM.mjs.map +0 -7
  267. package/dist/lib/node-esm/chunk-YQMLJUYN.mjs.map +0 -7
  268. /package/dist/lib/browser/{chunk-GYFO2C4Q.mjs.map → chunk-A7XUUTJN.mjs.map} +0 -0
  269. /package/dist/lib/browser/{intent-dispatcher-T6YETUE7.mjs.map → intent-dispatcher-SICNXT2G.mjs.map} +0 -0
  270. /package/dist/lib/browser/{intent-resolver-UQFD7VBJ.mjs.map → intent-resolver-2K6LNSUE.mjs.map} +0 -0
  271. /package/dist/lib/browser/{store-NP42FCZO.mjs.map → store-P4XZF26P.mjs.map} +0 -0
  272. /package/dist/lib/node/{chunk-PIFNLI5K.cjs.map → chunk-MTROSTO7.cjs.map} +0 -0
  273. /package/dist/lib/node/{intent-resolver-NALI2KSH.cjs.map → intent-resolver-ZP6S7QKG.cjs.map} +0 -0
  274. /package/dist/lib/node/{store-I7KM7GGP.cjs.map → store-MALHSPHZ.cjs.map} +0 -0
  275. /package/dist/lib/node-esm/{chunk-KFDC5QSQ.mjs.map → chunk-MX6ITPIG.mjs.map} +0 -0
  276. /package/dist/lib/node-esm/{intent-dispatcher-MYETZPUW.mjs.map → intent-dispatcher-FF5HNHPQ.mjs.map} +0 -0
  277. /package/dist/lib/node-esm/{intent-resolver-BW5I7SOS.mjs.map → intent-resolver-QWIKXIGI.mjs.map} +0 -0
  278. /package/dist/lib/node-esm/{store-MKIES4HL.mjs.map → store-3NM6AWB4.mjs.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Capabilities,
3
3
  contributes
4
- } from "./chunk-5WHZ3ORL.mjs";
4
+ } from "./chunk-M6UBP7YP.mjs";
5
5
 
6
6
  // packages/sdk/app-framework/src/plugin-settings/store.ts
7
7
  import { effect } from "@preact/signals-core";
@@ -26,4 +26,4 @@ var store_default = (context) => {
26
26
  export {
27
27
  store_default as default
28
28
  };
29
- //# sourceMappingURL=store-NP42FCZO.mjs.map
29
+ //# sourceMappingURL=store-P4XZF26P.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createApp
3
- } from "../chunk-GYFO2C4Q.mjs";
3
+ } from "../chunk-A7XUUTJN.mjs";
4
4
  import {
5
5
  Capabilities,
6
6
  Events,
@@ -8,11 +8,14 @@ import {
8
8
  contributes,
9
9
  defineModule,
10
10
  definePlugin
11
- } from "../chunk-5WHZ3ORL.mjs";
11
+ } from "../chunk-M6UBP7YP.mjs";
12
12
 
13
13
  // packages/sdk/app-framework/src/testing/withPluginManager.tsx
14
14
  import React, { useEffect } from "react";
15
15
  import { raise } from "@dxos/debug";
16
+ var getValue = (providerOrValue, context) => {
17
+ return typeof providerOrValue === "function" ? providerOrValue(context) : providerOrValue;
18
+ };
16
19
  var setupPluginManager = ({ capabilities, plugins = [], core = plugins.map(({ meta }) => meta.id), ...options } = {}) => {
17
20
  const pluginManager = new PluginManager({
18
21
  pluginLoader: () => raise(new Error("Not implemented")),
@@ -27,7 +30,7 @@ var setupPluginManager = ({ capabilities, plugins = [], core = plugins.map(({ me
27
30
  ...options
28
31
  });
29
32
  if (capabilities) {
30
- capabilities.forEach((capability) => {
33
+ getValue(capabilities, pluginManager.context).forEach((capability) => {
31
34
  pluginManager.context.contributeCapability({
32
35
  interface: capability.interface,
33
36
  implementation: capability.implementation,
@@ -72,6 +75,7 @@ var StoryPlugin = () => definePlugin({
72
75
  })
73
76
  ]);
74
77
  export {
78
+ getValue,
75
79
  setupPluginManager,
76
80
  withPluginManager
77
81
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/testing/withPluginManager.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Decorator } from '@storybook/react';\nimport React, { useEffect } from 'react';\n\nimport { raise } from '@dxos/debug';\n\nimport { createApp, type CreateAppOptions } from '../App';\nimport { Capabilities, Events } from '../common';\nimport {\n type ActivationEvent,\n type AnyCapability,\n contributes,\n defineModule,\n definePlugin,\n PluginManager,\n} from '../core';\n\n/**\n * @internal\n */\nexport const setupPluginManager = ({\n capabilities,\n plugins = [],\n core = plugins.map(({ meta }) => meta.id),\n ...options\n}: CreateAppOptions & { capabilities?: AnyCapability[] } = {}) => {\n const pluginManager = new PluginManager({\n pluginLoader: () => raise(new Error('Not implemented')),\n plugins: [StoryPlugin(), ...plugins],\n core: [STORY_PLUGIN, ...core],\n ...options,\n });\n\n if (capabilities) {\n capabilities.forEach((capability) => {\n pluginManager.context.contributeCapability({\n interface: capability.interface,\n implementation: capability.implementation,\n module: 'story',\n });\n });\n }\n\n return pluginManager;\n};\n\nexport type WithPluginManagerOptions = CreateAppOptions & {\n capabilities?: AnyCapability[];\n fireEvents?: (ActivationEvent | string)[];\n};\n\n/**\n * Wraps a story with a plugin manager.\n */\nexport const withPluginManager = (options: WithPluginManagerOptions = {}): Decorator => {\n const pluginManager = setupPluginManager(options);\n const App = createApp({ pluginManager });\n\n options.fireEvents?.forEach((event) => {\n void pluginManager.activate(event);\n });\n\n return (Story, context) => {\n useEffect(() => {\n const capability = contributes(Capabilities.ReactRoot, {\n id: context.id,\n root: () => <Story />,\n });\n\n pluginManager.context.contributeCapability({\n ...capability,\n module: 'dxos.org/app-framework/withPluginManager',\n });\n\n return () => pluginManager.context.removeCapability(capability.interface, capability.implementation);\n }, []);\n\n return <App />;\n };\n};\n\n// No-op plugin to ensure there exists at least one plugin for the startup event.\n// This is necessary because `createApp` expects the startup event to complete before the app is ready.\nconst STORY_PLUGIN = 'dxos.org/app-framework/story';\nconst StoryPlugin = () =>\n definePlugin({ id: STORY_PLUGIN, name: 'Story' }, [\n defineModule({ id: STORY_PLUGIN, activatesOn: Events.Startup, activate: () => [] }),\n ]);\n"],
5
- "mappings": ";;;;;;;;;;;;;AAKA,OAAOA,SAASC,iBAAiB;AAEjC,SAASC,aAAa;AAgBf,IAAMC,qBAAqB,CAAC,EACjCC,cACAC,UAAU,CAAA,GACVC,OAAOD,QAAQE,IAAI,CAAC,EAAEC,KAAI,MAAOA,KAAKC,EAAE,GACxC,GAAGC,QAAAA,IACsD,CAAC,MAAC;AAC3D,QAAMC,gBAAgB,IAAIC,cAAc;IACtCC,cAAc,MAAMC,MAAM,IAAIC,MAAM,iBAAA,CAAA;IACpCV,SAAS;MAACW,YAAAA;SAAkBX;;IAC5BC,MAAM;MAACW;SAAiBX;;IACxB,GAAGI;EACL,CAAA;AAEA,MAAIN,cAAc;AAChBA,iBAAac,QAAQ,CAACC,eAAAA;AACpBR,oBAAcS,QAAQC,qBAAqB;QACzCC,WAAWH,WAAWG;QACtBC,gBAAgBJ,WAAWI;QAC3BC,QAAQ;MACV,CAAA;IACF,CAAA;EACF;AAEA,SAAOb;AACT;AAUO,IAAMc,oBAAoB,CAACf,UAAoC,CAAC,MAAC;AACtE,QAAMC,gBAAgBR,mBAAmBO,OAAAA;AACzC,QAAMgB,MAAMC,UAAU;IAAEhB;EAAc,CAAA;AAEtCD,UAAQkB,YAAYV,QAAQ,CAACW,UAAAA;AAC3B,SAAKlB,cAAcmB,SAASD,KAAAA;EAC9B,CAAA;AAEA,SAAO,CAACE,OAAOX,YAAAA;AACbY,cAAU,MAAA;AACR,YAAMb,aAAac,YAAYC,aAAaC,WAAW;QACrD1B,IAAIW,QAAQX;QACZ2B,MAAM,MAAM,sBAAA,cAACL,OAAAA,IAAAA;MACf,CAAA;AAEApB,oBAAcS,QAAQC,qBAAqB;QACzC,GAAGF;QACHK,QAAQ;MACV,CAAA;AAEA,aAAO,MAAMb,cAAcS,QAAQiB,iBAAiBlB,WAAWG,WAAWH,WAAWI,cAAc;IACrG,GAAG,CAAA,CAAE;AAEL,WAAO,sBAAA,cAACG,KAAAA,IAAAA;EACV;AACF;AAIA,IAAMT,eAAe;AACrB,IAAMD,cAAc,MAClBsB,aAAa;EAAE7B,IAAIQ;EAAcsB,MAAM;AAAQ,GAAG;EAChDC,aAAa;IAAE/B,IAAIQ;IAAcwB,aAAaC,OAAOC;IAASb,UAAU,MAAM,CAAA;EAAG,CAAA;CAClF;",
6
- "names": ["React", "useEffect", "raise", "setupPluginManager", "capabilities", "plugins", "core", "map", "meta", "id", "options", "pluginManager", "PluginManager", "pluginLoader", "raise", "Error", "StoryPlugin", "STORY_PLUGIN", "forEach", "capability", "context", "contributeCapability", "interface", "implementation", "module", "withPluginManager", "App", "createApp", "fireEvents", "event", "activate", "Story", "useEffect", "contributes", "Capabilities", "ReactRoot", "root", "removeCapability", "definePlugin", "name", "defineModule", "activatesOn", "Events", "Startup"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Decorator } from '@storybook/react';\nimport React, { useEffect } from 'react';\n\nimport { raise } from '@dxos/debug';\n\nimport { createApp, type CreateAppOptions } from '../App';\nimport { Capabilities, Events } from '../common';\nimport {\n type ActivationEvent,\n type AnyCapability,\n contributes,\n defineModule,\n definePlugin,\n PluginManager,\n type PluginsContext,\n} from '../core';\n\n// TODO(burdon): Factor out (use consistently in plugin framework?)\nexport type Provider<C, R> = (context: C) => R;\nexport type ProviderOrValue<C, R> = Provider<C, R> | R;\nexport const getValue = <C, R>(providerOrValue: ProviderOrValue<C, R>, context: C): R => {\n return typeof providerOrValue === 'function' ? (providerOrValue as Provider<C, R>)(context) : providerOrValue;\n};\n\n/**\n * @internal\n */\nexport const setupPluginManager = ({\n capabilities,\n plugins = [],\n core = plugins.map(({ meta }) => meta.id),\n ...options\n}: CreateAppOptions & Pick<WithPluginManagerOptions, 'capabilities'> = {}) => {\n const pluginManager = new PluginManager({\n pluginLoader: () => raise(new Error('Not implemented')),\n plugins: [StoryPlugin(), ...plugins],\n core: [STORY_PLUGIN, ...core],\n ...options,\n });\n\n if (capabilities) {\n getValue(capabilities, pluginManager.context).forEach((capability) => {\n pluginManager.context.contributeCapability({\n interface: capability.interface,\n implementation: capability.implementation,\n module: 'story',\n });\n });\n }\n\n return pluginManager;\n};\n\nexport type WithPluginManagerOptions = CreateAppOptions & {\n capabilities?: ProviderOrValue<PluginsContext, AnyCapability[]>;\n fireEvents?: (ActivationEvent | string)[];\n};\n\n/**\n * Wraps a story with a plugin manager.\n */\nexport const withPluginManager = (options: WithPluginManagerOptions = {}): Decorator => {\n const pluginManager = setupPluginManager(options);\n const App = createApp({ pluginManager });\n\n options.fireEvents?.forEach((event) => {\n void pluginManager.activate(event);\n });\n\n return (Story, context) => {\n useEffect(() => {\n const capability = contributes(Capabilities.ReactRoot, {\n id: context.id,\n root: () => <Story />,\n });\n\n pluginManager.context.contributeCapability({\n ...capability,\n module: 'dxos.org/app-framework/withPluginManager',\n });\n\n return () => pluginManager.context.removeCapability(capability.interface, capability.implementation);\n }, []);\n\n return <App />;\n };\n};\n\n// No-op plugin to ensure there exists at least one plugin for the startup event.\n// This is necessary because `createApp` expects the startup event to complete before the app is ready.\nconst STORY_PLUGIN = 'dxos.org/app-framework/story';\nconst StoryPlugin = () =>\n definePlugin({ id: STORY_PLUGIN, name: 'Story' }, [\n defineModule({ id: STORY_PLUGIN, activatesOn: Events.Startup, activate: () => [] }),\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;;;;AAKA,OAAOA,SAASC,iBAAiB;AAEjC,SAASC,aAAa;AAiBf,IAAMC,WAAW,CAAOC,iBAAwCC,YAAAA;AACrE,SAAO,OAAOD,oBAAoB,aAAcA,gBAAmCC,OAAAA,IAAWD;AAChG;AAKO,IAAME,qBAAqB,CAAC,EACjCC,cACAC,UAAU,CAAA,GACVC,OAAOD,QAAQE,IAAI,CAAC,EAAEC,KAAI,MAAOA,KAAKC,EAAE,GACxC,GAAGC,QAAAA,IACkE,CAAC,MAAC;AACvE,QAAMC,gBAAgB,IAAIC,cAAc;IACtCC,cAAc,MAAMC,MAAM,IAAIC,MAAM,iBAAA,CAAA;IACpCV,SAAS;MAACW,YAAAA;SAAkBX;;IAC5BC,MAAM;MAACW;SAAiBX;;IACxB,GAAGI;EACL,CAAA;AAEA,MAAIN,cAAc;AAChBJ,aAASI,cAAcO,cAAcT,OAAO,EAAEgB,QAAQ,CAACC,eAAAA;AACrDR,oBAAcT,QAAQkB,qBAAqB;QACzCC,WAAWF,WAAWE;QACtBC,gBAAgBH,WAAWG;QAC3BC,QAAQ;MACV,CAAA;IACF,CAAA;EACF;AAEA,SAAOZ;AACT;AAUO,IAAMa,oBAAoB,CAACd,UAAoC,CAAC,MAAC;AACtE,QAAMC,gBAAgBR,mBAAmBO,OAAAA;AACzC,QAAMe,MAAMC,UAAU;IAAEf;EAAc,CAAA;AAEtCD,UAAQiB,YAAYT,QAAQ,CAACU,UAAAA;AAC3B,SAAKjB,cAAckB,SAASD,KAAAA;EAC9B,CAAA;AAEA,SAAO,CAACE,OAAO5B,YAAAA;AACb6B,cAAU,MAAA;AACR,YAAMZ,aAAaa,YAAYC,aAAaC,WAAW;QACrDzB,IAAIP,QAAQO;QACZ0B,MAAM,MAAM,sBAAA,cAACL,OAAAA,IAAAA;MACf,CAAA;AAEAnB,oBAAcT,QAAQkB,qBAAqB;QACzC,GAAGD;QACHI,QAAQ;MACV,CAAA;AAEA,aAAO,MAAMZ,cAAcT,QAAQkC,iBAAiBjB,WAAWE,WAAWF,WAAWG,cAAc;IACrG,GAAG,CAAA,CAAE;AAEL,WAAO,sBAAA,cAACG,KAAAA,IAAAA;EACV;AACF;AAIA,IAAMR,eAAe;AACrB,IAAMD,cAAc,MAClBqB,aAAa;EAAE5B,IAAIQ;EAAcqB,MAAM;AAAQ,GAAG;EAChDC,aAAa;IAAE9B,IAAIQ;IAAcuB,aAAaC,OAAOC;IAASb,UAAU,MAAM,CAAA;EAAG,CAAA;CAClF;",
6
+ "names": ["React", "useEffect", "raise", "getValue", "providerOrValue", "context", "setupPluginManager", "capabilities", "plugins", "core", "map", "meta", "id", "options", "pluginManager", "PluginManager", "pluginLoader", "raise", "Error", "StoryPlugin", "STORY_PLUGIN", "forEach", "capability", "contributeCapability", "interface", "implementation", "module", "withPluginManager", "App", "createApp", "fireEvents", "event", "activate", "Story", "useEffect", "contributes", "Capabilities", "ReactRoot", "root", "removeCapability", "definePlugin", "name", "defineModule", "activatesOn", "Events", "Startup"]
7
7
  }
@@ -36,7 +36,7 @@ import {
36
36
  isOneOf,
37
37
  lazy,
38
38
  oneOf
39
- } from "./chunk-5WHZ3ORL.mjs";
39
+ } from "./chunk-M6UBP7YP.mjs";
40
40
  export {
41
41
  Capabilities,
42
42
  CollaborationActions,
@@ -16,34 +16,35 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var app_graph_builder_QGHI2J2R_exports = {};
20
- __export(app_graph_builder_QGHI2J2R_exports, {
19
+ var app_graph_builder_43JOK25K_exports = {};
20
+ __export(app_graph_builder_43JOK25K_exports, {
21
21
  default: () => app_graph_builder_default
22
22
  });
23
- module.exports = __toCommonJS(app_graph_builder_QGHI2J2R_exports);
24
- var import_chunk_JUSEAFDU = require("./chunk-JUSEAFDU.cjs");
25
- var import_chunk_EGY2ANJA = require("./chunk-EGY2ANJA.cjs");
23
+ module.exports = __toCommonJS(app_graph_builder_43JOK25K_exports);
24
+ var import_chunk_JQMNABMK = require("./chunk-JQMNABMK.cjs");
25
+ var import_chunk_LPUJODXZ = require("./chunk-LPUJODXZ.cjs");
26
26
  var import_app_graph = require("@dxos/app-graph");
27
27
  var import_util = require("@dxos/util");
28
- var app_graph_builder_default = (context) => (0, import_chunk_EGY2ANJA.contributes)(import_chunk_EGY2ANJA.Capabilities.AppGraphBuilder, [
28
+ var app_graph_builder_default = (context) => (0, import_chunk_LPUJODXZ.contributes)(import_chunk_LPUJODXZ.Capabilities.AppGraphBuilder, [
29
29
  (0, import_app_graph.createExtension)({
30
- id: `${import_chunk_JUSEAFDU.SETTINGS_PLUGIN}/action`,
30
+ id: `${import_chunk_JQMNABMK.SETTINGS_PLUGIN}/action`,
31
31
  filter: (node) => node.id === "root",
32
32
  actions: () => [
33
33
  {
34
- id: import_chunk_JUSEAFDU.SETTINGS_PLUGIN,
34
+ id: import_chunk_JQMNABMK.SETTINGS_PLUGIN,
35
35
  data: async () => {
36
- const { dispatchPromise: dispatch } = context.requestCapability(import_chunk_EGY2ANJA.Capabilities.IntentDispatcher);
37
- await dispatch((0, import_chunk_EGY2ANJA.createIntent)(import_chunk_JUSEAFDU.SettingsAction.Open));
36
+ const { dispatchPromise: dispatch } = context.requestCapability(import_chunk_LPUJODXZ.Capabilities.IntentDispatcher);
37
+ await dispatch((0, import_chunk_LPUJODXZ.createIntent)(import_chunk_JQMNABMK.SettingsAction.Open));
38
38
  },
39
39
  properties: {
40
40
  label: [
41
41
  "open settings label",
42
42
  {
43
- ns: import_chunk_JUSEAFDU.SETTINGS_PLUGIN
43
+ ns: import_chunk_JQMNABMK.SETTINGS_PLUGIN
44
44
  }
45
45
  ],
46
46
  icon: "ph--gear--regular",
47
+ disposition: "menu",
47
48
  keyBinding: {
48
49
  macos: "meta+,",
49
50
  windows: "alt+,"
@@ -53,17 +54,17 @@ var app_graph_builder_default = (context) => (0, import_chunk_EGY2ANJA.contribut
53
54
  ]
54
55
  }),
55
56
  (0, import_app_graph.createExtension)({
56
- id: `${import_chunk_JUSEAFDU.SETTINGS_PLUGIN}/core`,
57
+ id: `${import_chunk_JQMNABMK.SETTINGS_PLUGIN}/core`,
57
58
  filter: (node) => node.id === "root",
58
59
  connector: () => [
59
60
  {
60
- id: import_chunk_JUSEAFDU.SETTINGS_ID,
61
- type: import_chunk_JUSEAFDU.SETTINGS_PLUGIN,
61
+ id: import_chunk_JQMNABMK.SETTINGS_ID,
62
+ type: import_chunk_JQMNABMK.SETTINGS_PLUGIN,
62
63
  properties: {
63
64
  label: [
64
65
  "app settings label",
65
66
  {
66
- ns: import_chunk_JUSEAFDU.SETTINGS_PLUGIN
67
+ ns: import_chunk_JQMNABMK.SETTINGS_PLUGIN
67
68
  }
68
69
  ],
69
70
  icon: "ph--gear--regular",
@@ -75,11 +76,11 @@ var app_graph_builder_default = (context) => (0, import_chunk_EGY2ANJA.contribut
75
76
  ]
76
77
  }),
77
78
  (0, import_app_graph.createExtension)({
78
- id: `${import_chunk_JUSEAFDU.SETTINGS_PLUGIN}/core-plugins`,
79
- filter: (node) => node.id === import_chunk_JUSEAFDU.SETTINGS_ID,
79
+ id: `${import_chunk_JQMNABMK.SETTINGS_PLUGIN}/core-plugins`,
80
+ filter: (node) => node.id === import_chunk_JQMNABMK.SETTINGS_ID,
80
81
  connector: () => {
81
- const manager = context.requestCapability(import_chunk_EGY2ANJA.Capabilities.PluginManager);
82
- const [settingsStore] = context.requestCapabilities(import_chunk_EGY2ANJA.Capabilities.SettingsStore);
82
+ const manager = context.requestCapability(import_chunk_LPUJODXZ.Capabilities.PluginManager);
83
+ const [settingsStore] = context.requestCapabilities(import_chunk_LPUJODXZ.Capabilities.SettingsStore);
83
84
  return [
84
85
  ...manager.plugins.filter((plugin) => manager.core.includes(plugin.meta.id)).map((plugin) => {
85
86
  const settings = settingsStore?.getStore(plugin.meta.id);
@@ -91,7 +92,7 @@ var app_graph_builder_default = (context) => (0, import_chunk_EGY2ANJA.contribut
91
92
  settings
92
93
  ];
93
94
  }).filter(import_util.isNonNullable).map(([meta, settings]) => ({
94
- id: `${import_chunk_JUSEAFDU.SETTINGS_KEY}:${meta.id.replaceAll("/", ":")}`,
95
+ id: `${import_chunk_JQMNABMK.SETTINGS_KEY}:${meta.id.replaceAll("/", ":")}`,
95
96
  type: "category",
96
97
  data: settings,
97
98
  properties: {
@@ -100,28 +101,29 @@ var app_graph_builder_default = (context) => (0, import_chunk_EGY2ANJA.contribut
100
101
  }
101
102
  })),
102
103
  {
103
- id: `${import_chunk_JUSEAFDU.SETTINGS_KEY}:custom-plugins`,
104
- type: "collection",
104
+ id: `${import_chunk_JQMNABMK.SETTINGS_KEY}:custom-plugins`,
105
+ type: "category",
105
106
  properties: {
106
107
  label: [
107
108
  "custom plugins label",
108
109
  {
109
- ns: import_chunk_JUSEAFDU.SETTINGS_PLUGIN
110
+ ns: import_chunk_JQMNABMK.SETTINGS_PLUGIN
110
111
  }
111
112
  ],
112
113
  icon: "ph--squares-four--regular",
113
- role: "branch"
114
+ role: "branch",
115
+ disposition: "collection"
114
116
  }
115
117
  }
116
118
  ];
117
119
  }
118
120
  }),
119
121
  (0, import_app_graph.createExtension)({
120
- id: `${import_chunk_JUSEAFDU.SETTINGS_PLUGIN}/custom-plugins`,
121
- filter: (node) => node.id === `${import_chunk_JUSEAFDU.SETTINGS_KEY}:custom-plugins`,
122
+ id: `${import_chunk_JQMNABMK.SETTINGS_PLUGIN}/custom-plugins`,
123
+ filter: (node) => node.id === `${import_chunk_JQMNABMK.SETTINGS_KEY}:custom-plugins`,
122
124
  connector: () => {
123
- const manager = context.requestCapability(import_chunk_EGY2ANJA.Capabilities.PluginManager);
124
- const [settingsStore] = context.requestCapabilities(import_chunk_EGY2ANJA.Capabilities.SettingsStore);
125
+ const manager = context.requestCapability(import_chunk_LPUJODXZ.Capabilities.PluginManager);
126
+ const [settingsStore] = context.requestCapabilities(import_chunk_LPUJODXZ.Capabilities.SettingsStore);
125
127
  return manager.plugins.filter((plugin) => !manager.core.includes(plugin.meta.id)).map((plugin) => {
126
128
  const settings = settingsStore?.getStore(plugin.meta.id);
127
129
  if (!settings) {
@@ -132,7 +134,7 @@ var app_graph_builder_default = (context) => (0, import_chunk_EGY2ANJA.contribut
132
134
  settings
133
135
  ];
134
136
  }).filter(import_util.isNonNullable).map(([meta, settings]) => ({
135
- id: `${import_chunk_JUSEAFDU.SETTINGS_KEY}:${meta.id.replaceAll("/", ":")}`,
137
+ id: `${import_chunk_JQMNABMK.SETTINGS_KEY}:${meta.id.replaceAll("/", ":")}`,
136
138
  type: "category",
137
139
  data: settings,
138
140
  properties: {
@@ -143,4 +145,4 @@ var app_graph_builder_default = (context) => (0, import_chunk_EGY2ANJA.contribut
143
145
  }
144
146
  })
145
147
  ]);
146
- //# sourceMappingURL=app-graph-builder-QGHI2J2R.cjs.map
148
+ //# sourceMappingURL=app-graph-builder-43JOK25K.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/plugin-settings/app-graph-builder.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { createExtension, type Node } from '@dxos/app-graph';\nimport { type SettingsStore, type SettingsValue } from '@dxos/local-storage';\nimport { isNonNullable } from '@dxos/util';\n\nimport { SETTINGS_ID, SETTINGS_KEY, SETTINGS_PLUGIN, SettingsAction } from './actions';\nimport { Capabilities } from '../common';\nimport { contributes, type PluginMeta, type PluginsContext } from '../core';\nimport { createIntent } from '../plugin-intent';\n\nexport default (context: PluginsContext) =>\n contributes(Capabilities.AppGraphBuilder, [\n createExtension({\n id: `${SETTINGS_PLUGIN}/action`,\n filter: (node): node is Node<null> => node.id === 'root',\n actions: () => [\n {\n id: SETTINGS_PLUGIN,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SettingsAction.Open));\n },\n properties: {\n label: ['open settings label', { ns: SETTINGS_PLUGIN }],\n icon: 'ph--gear--regular',\n disposition: 'menu',\n keyBinding: {\n macos: 'meta+,',\n windows: 'alt+,',\n },\n },\n },\n ],\n }),\n createExtension({\n id: `${SETTINGS_PLUGIN}/core`,\n filter: (node): node is Node<null> => node.id === 'root',\n connector: () => [\n {\n id: SETTINGS_ID,\n type: SETTINGS_PLUGIN,\n properties: {\n label: ['app settings label', { ns: SETTINGS_PLUGIN }],\n icon: 'ph--gear--regular',\n disposition: 'pin-end',\n position: 'hoist',\n testId: 'treeView.appSettings',\n },\n },\n ],\n }),\n createExtension({\n id: `${SETTINGS_PLUGIN}/core-plugins`,\n filter: (node): node is Node<null> => node.id === SETTINGS_ID,\n connector: () => {\n const manager = context.requestCapability(Capabilities.PluginManager);\n const [settingsStore] = context.requestCapabilities(Capabilities.SettingsStore);\n return [\n ...manager.plugins\n .filter((plugin) => manager.core.includes(plugin.meta.id))\n .map((plugin): [PluginMeta, SettingsStore<SettingsValue>] | null => {\n const settings = settingsStore?.getStore(plugin.meta.id);\n if (!settings) {\n return null;\n }\n\n return [plugin.meta, settings];\n })\n .filter(isNonNullable)\n .map(([meta, settings]) => ({\n id: `${SETTINGS_KEY}:${meta.id.replaceAll('/', ':')}`,\n type: 'category',\n data: settings,\n properties: {\n label: meta.name ?? meta.id,\n icon: meta.icon ?? 'ph--circle--regular',\n },\n })),\n\n {\n id: `${SETTINGS_KEY}:custom-plugins`,\n type: 'category',\n properties: {\n label: ['custom plugins label', { ns: SETTINGS_PLUGIN }],\n icon: 'ph--squares-four--regular',\n role: 'branch',\n disposition: 'collection',\n },\n },\n ];\n },\n }),\n createExtension({\n id: `${SETTINGS_PLUGIN}/custom-plugins`,\n filter: (node): node is Node<null> => node.id === `${SETTINGS_KEY}:custom-plugins`,\n connector: () => {\n const manager = context.requestCapability(Capabilities.PluginManager);\n const [settingsStore] = context.requestCapabilities(Capabilities.SettingsStore);\n return manager.plugins\n .filter((plugin) => !manager.core.includes(plugin.meta.id))\n .map((plugin): [PluginMeta, SettingsStore<SettingsValue>] | null => {\n const settings = settingsStore?.getStore(plugin.meta.id);\n if (!settings) {\n return null;\n }\n\n return [plugin.meta, settings];\n })\n .filter(isNonNullable)\n .map(([meta, settings]) => ({\n id: `${SETTINGS_KEY}:${meta.id.replaceAll('/', ':')}`,\n type: 'category',\n data: settings,\n properties: {\n label: meta.name ?? meta.id,\n icon: meta.icon ?? 'ph--circle--regular',\n },\n }));\n },\n }),\n ]);\n"],
5
+ "mappings": "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",
6
+ "names": ["context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "SETTINGS_PLUGIN", "filter", "node", "actions", "data", "dispatchPromise", "dispatch", "requestCapability", "IntentDispatcher", "createIntent", "SettingsAction", "Open", "properties", "label", "ns", "icon", "disposition", "keyBinding", "macos", "windows", "connector", "SETTINGS_ID", "type", "position", "testId", "manager", "PluginManager", "settingsStore", "requestCapabilities", "SettingsStore", "plugins", "plugin", "core", "includes", "meta", "map", "settings", "getStore", "isNonNullable", "SETTINGS_KEY", "replaceAll", "name", "role"]
7
+ }
@@ -16,15 +16,15 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_JUSEAFDU_exports = {};
20
- __export(chunk_JUSEAFDU_exports, {
19
+ var chunk_JQMNABMK_exports = {};
20
+ __export(chunk_JQMNABMK_exports, {
21
21
  SETTINGS_ACTION: () => SETTINGS_ACTION,
22
22
  SETTINGS_ID: () => SETTINGS_ID,
23
23
  SETTINGS_KEY: () => SETTINGS_KEY,
24
24
  SETTINGS_PLUGIN: () => SETTINGS_PLUGIN,
25
25
  SettingsAction: () => SettingsAction
26
26
  });
27
- module.exports = __toCommonJS(chunk_JUSEAFDU_exports);
27
+ module.exports = __toCommonJS(chunk_JQMNABMK_exports);
28
28
  var import_effect = require("effect");
29
29
  var SETTINGS_PLUGIN = "dxos.org/plugin/settings";
30
30
  var SETTINGS_ACTION = `${SETTINGS_PLUGIN}/action`;
@@ -55,4 +55,4 @@ var SettingsAction;
55
55
  SETTINGS_PLUGIN,
56
56
  SettingsAction
57
57
  });
58
- //# sourceMappingURL=chunk-JUSEAFDU.cjs.map
58
+ //# sourceMappingURL=chunk-JQMNABMK.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/plugin-settings/actions.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nexport const SETTINGS_PLUGIN = 'dxos.org/plugin/settings';\nexport const SETTINGS_ACTION = `${SETTINGS_PLUGIN}/action`;\n// TODO(wittjosiah): This is a hack to prevent the previous deck from being set for pinned items.\n// Ideally this should be worked into the data model in a generic way.\nexport const SETTINGS_ID = '!dxos:settings';\nexport const SETTINGS_KEY = 'settings';\n\nexport namespace SettingsAction {\n export class Open extends Schema.TaggedClass<Open>()(`${SETTINGS_ACTION}/open`, {\n input: Schema.Struct({\n plugin: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n }) {}\n\n export class OpenPluginRegistry extends Schema.TaggedClass<OpenPluginRegistry>()(\n `${SETTINGS_ACTION}/open-plugin-registry`,\n {\n input: Schema.Void,\n output: Schema.Void,\n },\n ) {}\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,oBAAuB;AAEhB,IAAMA,kBAAkB;AACxB,IAAMC,kBAAkB,GAAGD,eAAAA;AAG3B,IAAME,cAAc;AACpB,IAAMC,eAAe;;UAEXC,iBAAAA;EACR,MAAMC,aAAaC,qBAAOC,YAAW,EAAS,GAAGN,eAAAA,SAAwB;IAC9EO,OAAOF,qBAAOG,OAAO;MACnBC,QAAQJ,qBAAOK,SAASL,qBAAOM,MAAM;IACvC,CAAA;IACAC,QAAQP,qBAAOQ;EACjB,CAAA,EAAA;EAAI;kBALST,OAAAA;EAON,MAAMU,2BAA2BT,qBAAOC,YAAW,EACxD,GAAGN,eAAAA,yBACH;IACEO,OAAOF,qBAAOQ;IACdD,QAAQP,qBAAOQ;EACjB,CAAA,EAAA;EACC;kBANUC,qBAAAA;AAOf,GAfiBX,mBAAAA,iBAAAA,CAAAA,EAAAA;",
6
+ "names": ["SETTINGS_PLUGIN", "SETTINGS_ACTION", "SETTINGS_ID", "SETTINGS_KEY", "SettingsAction", "Open", "Schema", "TaggedClass", "input", "Struct", "plugin", "optional", "String", "output", "Void", "OpenPluginRegistry"]
7
+ }
@@ -26,8 +26,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_EGY2ANJA_exports = {};
30
- __export(chunk_EGY2ANJA_exports, {
29
+ var chunk_LPUJODXZ_exports = {};
30
+ __export(chunk_LPUJODXZ_exports, {
31
31
  Capabilities: () => Capabilities,
32
32
  CollaborationActions: () => CollaborationActions,
33
33
  Events: () => Events,
@@ -67,7 +67,7 @@ __export(chunk_EGY2ANJA_exports, {
67
67
  lazy: () => lazy,
68
68
  oneOf: () => oneOf
69
69
  });
70
- module.exports = __toCommonJS(chunk_EGY2ANJA_exports);
70
+ module.exports = __toCommonJS(chunk_LPUJODXZ_exports);
71
71
  var import_effect = require("effect");
72
72
  var import_live_object = require("@dxos/live-object");
73
73
  var import_log = require("@dxos/log");
@@ -979,7 +979,7 @@ var IntentPlugin = () => definePlugin({
979
979
  activatesAfter: [
980
980
  Events.DispatcherReady
981
981
  ],
982
- activate: lazy(() => import("./intent-dispatcher-BEKV2HG3.cjs"))
982
+ activate: lazy(() => import("./intent-dispatcher-XXFKXEHF.cjs"))
983
983
  })
984
984
  ]);
985
985
  var LAYOUT_PLUGIN = "dxos.org/plugin/layout";
@@ -1219,6 +1219,9 @@ var LayoutAction;
1219
1219
  key: import_effect8.Schema.optional(import_effect8.Schema.String.annotations({
1220
1220
  description: "If provided, will replace item with a matching key (id prefix)."
1221
1221
  })),
1222
+ workspace: import_effect8.Schema.optional(import_effect8.Schema.String.annotations({
1223
+ description: "The workspace to open the items in."
1224
+ })),
1222
1225
  scrollIntoView: import_effect8.Schema.optional(import_effect8.Schema.Boolean.annotations({
1223
1226
  description: "Scroll the items into view."
1224
1227
  })),
@@ -1510,4 +1513,4 @@ var intent_dispatcher_default = (context) => {
1510
1513
  lazy,
1511
1514
  oneOf
1512
1515
  });
1513
- //# sourceMappingURL=chunk-EGY2ANJA.cjs.map
1516
+ //# sourceMappingURL=chunk-LPUJODXZ.cjs.map