@dxos/plugin-deck 0.8.4-main.21d9917 → 0.8.4-main.2244d791bb

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 (158) hide show
  1. package/dist/lib/browser/{app-graph-builder-DTVCULQ4.mjs → app-graph-builder-X7LCO5KE.mjs} +13 -12
  2. package/dist/lib/browser/app-graph-builder-X7LCO5KE.mjs.map +7 -0
  3. package/dist/lib/browser/{check-app-scheme-JSRXXIYF.mjs → check-app-scheme-PGISDJX7.mjs} +8 -8
  4. package/dist/lib/browser/check-app-scheme-PGISDJX7.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-ATFPDN6J.mjs → chunk-DONG2FYU.mjs} +12 -9
  6. package/dist/lib/browser/chunk-DONG2FYU.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-EREEXCHO.mjs → chunk-JGC4ZLG3.mjs} +102 -81
  8. package/dist/lib/browser/chunk-JGC4ZLG3.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-UNG4CLLP.mjs → chunk-YT3AJVUU.mjs} +8 -8
  10. package/dist/lib/browser/chunk-YT3AJVUU.mjs.map +7 -0
  11. package/dist/lib/browser/index.mjs +36 -34
  12. package/dist/lib/browser/index.mjs.map +3 -3
  13. package/dist/lib/browser/meta.json +1 -1
  14. package/dist/lib/browser/{operation-resolver-CDYBLZJ4.mjs → operation-resolver-XJFR3PNQ.mjs} +86 -84
  15. package/dist/lib/browser/operation-resolver-XJFR3PNQ.mjs.map +7 -0
  16. package/dist/lib/browser/{react-root-LYNEKGHM.mjs → react-root-AJFHKHRL.mjs} +6 -6
  17. package/dist/lib/browser/react-root-AJFHKHRL.mjs.map +7 -0
  18. package/dist/lib/browser/{react-surface-RPKD7XUR.mjs → react-surface-KBRBGEXY.mjs} +11 -10
  19. package/dist/lib/browser/react-surface-KBRBGEXY.mjs.map +7 -0
  20. package/dist/lib/browser/{settings-OMHVGZ6V.mjs → settings-ES42FGLG.mjs} +5 -4
  21. package/dist/lib/browser/settings-ES42FGLG.mjs.map +7 -0
  22. package/dist/lib/browser/{state-OC3BSB6E.mjs → state-YMI6IDEL.mjs} +7 -6
  23. package/dist/lib/browser/state-YMI6IDEL.mjs.map +7 -0
  24. package/dist/lib/browser/{toolkit-R53LD3EA.mjs → toolkit-VRD54KY3.mjs} +8 -7
  25. package/dist/lib/browser/toolkit-VRD54KY3.mjs.map +7 -0
  26. package/dist/lib/browser/types/index.mjs +1 -1
  27. package/dist/lib/browser/{url-handler-53TE6JZO.mjs → url-handler-37UPOB3U.mjs} +11 -10
  28. package/dist/lib/browser/url-handler-37UPOB3U.mjs.map +7 -0
  29. package/dist/lib/node-esm/{app-graph-builder-473BNZDJ.mjs → app-graph-builder-US54I64T.mjs} +13 -12
  30. package/dist/lib/node-esm/app-graph-builder-US54I64T.mjs.map +7 -0
  31. package/dist/lib/node-esm/{check-app-scheme-IVYRHKRH.mjs → check-app-scheme-CK6EVG5D.mjs} +8 -8
  32. package/dist/lib/node-esm/check-app-scheme-CK6EVG5D.mjs.map +7 -0
  33. package/dist/lib/node-esm/{chunk-V6VEXRD4.mjs → chunk-7NPS347C.mjs} +102 -81
  34. package/dist/lib/node-esm/chunk-7NPS347C.mjs.map +7 -0
  35. package/dist/lib/node-esm/{chunk-XAKTY3EB.mjs → chunk-CVYHPJIN.mjs} +12 -9
  36. package/dist/lib/node-esm/chunk-CVYHPJIN.mjs.map +7 -0
  37. package/dist/lib/node-esm/{chunk-SKEVPQ7E.mjs → chunk-ZMJPCZ3V.mjs} +8 -8
  38. package/dist/lib/node-esm/chunk-ZMJPCZ3V.mjs.map +7 -0
  39. package/dist/lib/node-esm/index.mjs +36 -34
  40. package/dist/lib/node-esm/index.mjs.map +3 -3
  41. package/dist/lib/node-esm/meta.json +1 -1
  42. package/dist/lib/node-esm/{operation-resolver-WUOE33ID.mjs → operation-resolver-ZQGNATPX.mjs} +86 -84
  43. package/dist/lib/node-esm/operation-resolver-ZQGNATPX.mjs.map +7 -0
  44. package/dist/lib/node-esm/{react-root-L7H43AS3.mjs → react-root-2S77ABBS.mjs} +6 -6
  45. package/dist/lib/node-esm/react-root-2S77ABBS.mjs.map +7 -0
  46. package/dist/lib/node-esm/{react-surface-77DKVMDV.mjs → react-surface-FIHMAFXH.mjs} +11 -10
  47. package/dist/lib/node-esm/react-surface-FIHMAFXH.mjs.map +7 -0
  48. package/dist/lib/node-esm/{settings-2HB6FKIK.mjs → settings-E3TH3FAW.mjs} +5 -4
  49. package/dist/lib/node-esm/settings-E3TH3FAW.mjs.map +7 -0
  50. package/dist/lib/node-esm/{state-JRQ45ACJ.mjs → state-WQEFBQMD.mjs} +7 -6
  51. package/dist/lib/node-esm/state-WQEFBQMD.mjs.map +7 -0
  52. package/dist/lib/node-esm/{toolkit-JLPZNNKB.mjs → toolkit-ME546G5T.mjs} +8 -7
  53. package/dist/lib/node-esm/toolkit-ME546G5T.mjs.map +7 -0
  54. package/dist/lib/node-esm/types/index.mjs +1 -1
  55. package/dist/lib/node-esm/{url-handler-QGF2R24T.mjs → url-handler-2KYHXINK.mjs} +11 -10
  56. package/dist/lib/node-esm/url-handler-2KYHXINK.mjs.map +7 -0
  57. package/dist/types/src/DeckPlugin.d.ts.map +1 -1
  58. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -1
  59. package/dist/types/src/capabilities/check-app-scheme/check-app-scheme.d.ts.map +1 -1
  60. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +2 -2
  61. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -1
  62. package/dist/types/src/capabilities/react-root/react-root.d.ts.map +1 -1
  63. package/dist/types/src/capabilities/react-surface/index.d.ts +1 -1
  64. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -1
  65. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +2 -2
  66. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
  67. package/dist/types/src/capabilities/settings/index.d.ts +1 -1
  68. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -1
  69. package/dist/types/src/capabilities/settings/settings.d.ts +3 -2
  70. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -1
  71. package/dist/types/src/capabilities/state/index.d.ts +2 -0
  72. package/dist/types/src/capabilities/state/index.d.ts.map +1 -1
  73. package/dist/types/src/capabilities/state/state.d.ts +2 -0
  74. package/dist/types/src/capabilities/state/state.d.ts.map +1 -1
  75. package/dist/types/src/capabilities/toolkit/index.d.ts +1 -1
  76. package/dist/types/src/capabilities/toolkit/index.d.ts.map +1 -1
  77. package/dist/types/src/capabilities/toolkit/toolkit.d.ts +3 -2
  78. package/dist/types/src/capabilities/toolkit/toolkit.d.ts.map +1 -1
  79. package/dist/types/src/capabilities/url-handler/url-handler.d.ts.map +1 -1
  80. package/dist/types/src/components/DeckLayout/ActiveNode.d.ts.map +1 -1
  81. package/dist/types/src/components/DeckLayout/DeckLayout.stories.d.ts +1 -0
  82. package/dist/types/src/components/DeckLayout/DeckLayout.stories.d.ts.map +1 -1
  83. package/dist/types/src/components/DeckLayout/Dialog.d.ts.map +1 -1
  84. package/dist/types/src/components/DeckLayout/Popover.d.ts.map +1 -1
  85. package/dist/types/src/components/DeckLayout/Toast.d.ts +3 -3
  86. package/dist/types/src/components/DeckLayout/Toast.d.ts.map +1 -1
  87. package/dist/types/src/components/Plank/Plank.d.ts.map +1 -1
  88. package/dist/types/src/components/Plank/Plank.stories.d.ts +1 -0
  89. package/dist/types/src/components/Plank/Plank.stories.d.ts.map +1 -1
  90. package/dist/types/src/components/Plank/PlankHeading.d.ts.map +1 -1
  91. package/dist/types/src/translations.d.ts +1 -0
  92. package/dist/types/src/translations.d.ts.map +1 -1
  93. package/dist/types/src/types/capabilities.d.ts +2 -0
  94. package/dist/types/src/types/capabilities.d.ts.map +1 -1
  95. package/dist/types/src/types/events.d.ts.map +1 -1
  96. package/dist/types/src/types/schema.d.ts +2 -0
  97. package/dist/types/src/types/schema.d.ts.map +1 -1
  98. package/dist/types/tsconfig.tsbuildinfo +1 -1
  99. package/package.json +43 -42
  100. package/src/DeckPlugin.ts +12 -11
  101. package/src/capabilities/app-graph-builder/app-graph-builder.ts +11 -10
  102. package/src/capabilities/check-app-scheme/check-app-scheme.ts +12 -8
  103. package/src/capabilities/operation-resolver/operation-resolver.ts +95 -80
  104. package/src/capabilities/react-root/react-root.tsx +2 -2
  105. package/src/capabilities/react-surface/react-surface.tsx +8 -7
  106. package/src/capabilities/settings/settings.ts +3 -2
  107. package/src/capabilities/state/state.ts +5 -4
  108. package/src/capabilities/toolkit/toolkit.ts +6 -5
  109. package/src/capabilities/url-handler/url-handler.ts +8 -7
  110. package/src/components/DeckLayout/ActiveNode.tsx +3 -2
  111. package/src/components/DeckLayout/Banner.tsx +4 -4
  112. package/src/components/DeckLayout/ContentEmpty.tsx +2 -2
  113. package/src/components/DeckLayout/DeckLayout.stories.tsx +5 -4
  114. package/src/components/DeckLayout/DeckMain.tsx +7 -7
  115. package/src/components/DeckLayout/Dialog.tsx +9 -3
  116. package/src/components/DeckLayout/Popover.tsx +21 -5
  117. package/src/components/DeckLayout/StatusBar.tsx +3 -3
  118. package/src/components/DeckLayout/Toast.tsx +3 -3
  119. package/src/components/DeckSettings/DeckSettings.tsx +21 -21
  120. package/src/components/Plank/Plank.stories.tsx +4 -3
  121. package/src/components/Plank/Plank.tsx +5 -4
  122. package/src/components/Plank/PlankControls.tsx +1 -1
  123. package/src/components/Plank/PlankHeading.tsx +7 -6
  124. package/src/components/Sidebar/ComplementarySidebar.tsx +19 -15
  125. package/src/components/Sidebar/Sidebar.tsx +2 -2
  126. package/src/components/Sidebar/SidebarButton.tsx +9 -9
  127. package/src/hooks/useCompanions.ts +1 -1
  128. package/src/hooks/useDeckCompanions.ts +1 -1
  129. package/src/hooks/useDeckState.ts +3 -3
  130. package/src/hooks/useHoistStatusbar.ts +1 -1
  131. package/src/translations.ts +1 -0
  132. package/src/types/capabilities.ts +2 -2
  133. package/src/types/events.ts +4 -3
  134. package/src/types/schema.ts +7 -3
  135. package/dist/lib/browser/app-graph-builder-DTVCULQ4.mjs.map +0 -7
  136. package/dist/lib/browser/check-app-scheme-JSRXXIYF.mjs.map +0 -7
  137. package/dist/lib/browser/chunk-ATFPDN6J.mjs.map +0 -7
  138. package/dist/lib/browser/chunk-EREEXCHO.mjs.map +0 -7
  139. package/dist/lib/browser/chunk-UNG4CLLP.mjs.map +0 -7
  140. package/dist/lib/browser/operation-resolver-CDYBLZJ4.mjs.map +0 -7
  141. package/dist/lib/browser/react-root-LYNEKGHM.mjs.map +0 -7
  142. package/dist/lib/browser/react-surface-RPKD7XUR.mjs.map +0 -7
  143. package/dist/lib/browser/settings-OMHVGZ6V.mjs.map +0 -7
  144. package/dist/lib/browser/state-OC3BSB6E.mjs.map +0 -7
  145. package/dist/lib/browser/toolkit-R53LD3EA.mjs.map +0 -7
  146. package/dist/lib/browser/url-handler-53TE6JZO.mjs.map +0 -7
  147. package/dist/lib/node-esm/app-graph-builder-473BNZDJ.mjs.map +0 -7
  148. package/dist/lib/node-esm/check-app-scheme-IVYRHKRH.mjs.map +0 -7
  149. package/dist/lib/node-esm/chunk-SKEVPQ7E.mjs.map +0 -7
  150. package/dist/lib/node-esm/chunk-V6VEXRD4.mjs.map +0 -7
  151. package/dist/lib/node-esm/chunk-XAKTY3EB.mjs.map +0 -7
  152. package/dist/lib/node-esm/operation-resolver-WUOE33ID.mjs.map +0 -7
  153. package/dist/lib/node-esm/react-root-L7H43AS3.mjs.map +0 -7
  154. package/dist/lib/node-esm/react-surface-77DKVMDV.mjs.map +0 -7
  155. package/dist/lib/node-esm/settings-2HB6FKIK.mjs.map +0 -7
  156. package/dist/lib/node-esm/state-JRQ45ACJ.mjs.map +0 -7
  157. package/dist/lib/node-esm/toolkit-JLPZNNKB.mjs.map +0 -7
  158. package/dist/lib/node-esm/url-handler-QGF2R24T.mjs.map +0 -7
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-deck",
3
- "version": "0.8.4-main.21d9917",
3
+ "version": "0.8.4-main.2244d791bb",
4
4
  "description": "DXOS Surface plugin for the main application layout.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -37,61 +37,62 @@
37
37
  "src"
38
38
  ],
39
39
  "dependencies": {
40
- "@effect-atom/atom": "^0.4.13",
41
- "@effect-atom/atom-react": "^0.4.6",
42
- "@effect/ai": "0.32.1",
43
- "@effect/experimental": "0.57.11",
40
+ "@effect-atom/atom": "^0.5.1",
41
+ "@effect-atom/atom-react": "^0.5.0",
42
+ "@effect/ai": "0.33.2",
43
+ "@effect/experimental": "0.58.0",
44
44
  "@fluentui/react-tabster": "9.26.11",
45
45
  "@radix-ui/react-context": "1.1.1",
46
46
  "immer": "^10.1.1",
47
- "@dxos/ai": "0.8.4-main.21d9917",
48
- "@dxos/assistant": "0.8.4-main.21d9917",
49
- "@dxos/app-framework": "0.8.4-main.21d9917",
50
- "@dxos/async": "0.8.4-main.21d9917",
51
- "@dxos/blueprints": "0.8.4-main.21d9917",
52
- "@dxos/debug": "0.8.4-main.21d9917",
53
- "@dxos/echo": "0.8.4-main.21d9917",
54
- "@dxos/invariant": "0.8.4-main.21d9917",
55
- "@dxos/log": "0.8.4-main.21d9917",
56
- "@dxos/keyboard": "0.8.4-main.21d9917",
57
- "@dxos/effect": "0.8.4-main.21d9917",
58
- "@dxos/operation": "0.8.4-main.21d9917",
59
- "@dxos/plugin-attention": "0.8.4-main.21d9917",
60
- "@dxos/plugin-graph": "0.8.4-main.21d9917",
61
- "@dxos/plugin-theme": "0.8.4-main.21d9917",
62
- "@dxos/plugin-observability": "0.8.4-main.21d9917",
63
- "@dxos/react-client": "0.8.4-main.21d9917",
64
- "@dxos/react-ui-form": "0.8.4-main.21d9917",
65
- "@dxos/react-ui-attention": "0.8.4-main.21d9917",
66
- "@dxos/react-ui-mosaic": "0.8.4-main.21d9917",
67
- "@dxos/react-ui-text-tooltip": "0.8.4-main.21d9917",
68
- "@dxos/ui-types": "0.8.4-main.21d9917",
69
- "@dxos/util": "0.8.4-main.21d9917",
70
- "@dxos/react-ui-stack": "0.8.4-main.21d9917",
71
- "@dxos/react-ui-tabs": "0.8.4-main.21d9917"
47
+ "@dxos/app-framework": "0.8.4-main.2244d791bb",
48
+ "@dxos/ai": "0.8.4-main.2244d791bb",
49
+ "@dxos/assistant": "0.8.4-main.2244d791bb",
50
+ "@dxos/async": "0.8.4-main.2244d791bb",
51
+ "@dxos/debug": "0.8.4-main.2244d791bb",
52
+ "@dxos/echo": "0.8.4-main.2244d791bb",
53
+ "@dxos/blueprints": "0.8.4-main.2244d791bb",
54
+ "@dxos/app-toolkit": "0.8.4-main.2244d791bb",
55
+ "@dxos/effect": "0.8.4-main.2244d791bb",
56
+ "@dxos/keyboard": "0.8.4-main.2244d791bb",
57
+ "@dxos/log": "0.8.4-main.2244d791bb",
58
+ "@dxos/plugin-attention": "0.8.4-main.2244d791bb",
59
+ "@dxos/operation": "0.8.4-main.2244d791bb",
60
+ "@dxos/plugin-graph": "0.8.4-main.2244d791bb",
61
+ "@dxos/invariant": "0.8.4-main.2244d791bb",
62
+ "@dxos/plugin-theme": "0.8.4-main.2244d791bb",
63
+ "@dxos/plugin-observability": "0.8.4-main.2244d791bb",
64
+ "@dxos/react-ui-attention": "0.8.4-main.2244d791bb",
65
+ "@dxos/react-ui-form": "0.8.4-main.2244d791bb",
66
+ "@dxos/react-client": "0.8.4-main.2244d791bb",
67
+ "@dxos/react-ui-mosaic": "0.8.4-main.2244d791bb",
68
+ "@dxos/react-ui-stack": "0.8.4-main.2244d791bb",
69
+ "@dxos/react-ui-text-tooltip": "0.8.4-main.2244d791bb",
70
+ "@dxos/ui-types": "0.8.4-main.2244d791bb",
71
+ "@dxos/react-ui-tabs": "0.8.4-main.2244d791bb",
72
+ "@dxos/util": "0.8.4-main.2244d791bb"
72
73
  },
73
74
  "devDependencies": {
74
- "@effect-atom/atom-react": "^0.4.6",
75
- "@effect/platform": "0.93.6",
75
+ "@effect-atom/atom-react": "^0.5.0",
76
+ "@effect/platform": "0.94.4",
76
77
  "@types/react": "~19.2.7",
77
78
  "@types/react-dom": "~19.2.3",
78
- "effect": "3.19.11",
79
+ "effect": "3.19.16",
79
80
  "react": "~19.2.3",
80
81
  "react-dom": "~19.2.3",
81
82
  "vite": "7.1.9",
82
- "@dxos/plugin-testing": "0.8.4-main.21d9917",
83
- "@dxos/storybook-utils": "0.8.4-main.21d9917",
84
- "@dxos/react-ui": "0.8.4-main.21d9917",
85
- "@dxos/ui-theme": "0.8.4-main.21d9917"
83
+ "@dxos/plugin-testing": "0.8.4-main.2244d791bb",
84
+ "@dxos/react-ui": "0.8.4-main.2244d791bb",
85
+ "@dxos/ui-theme": "0.8.4-main.2244d791bb",
86
+ "@dxos/storybook-utils": "0.8.4-main.2244d791bb"
86
87
  },
87
88
  "peerDependencies": {
88
- "@effect-atom/atom-react": "^0.4.6",
89
- "@effect/platform": "0.93.6",
90
- "effect": "3.19.11",
89
+ "@effect-atom/atom-react": "^0.5.0",
90
+ "@effect/platform": "0.94.4",
91
+ "effect": "3.19.16",
91
92
  "react": "~19.2.3",
92
93
  "react-dom": "~19.2.3",
93
- "@dxos/react-ui": "0.8.4-main.21d9917",
94
- "@dxos/ui-theme": "0.8.4-main.21d9917"
94
+ "@dxos/react-ui": "0.8.4-main.2244d791bb",
95
+ "@dxos/ui-theme": "0.8.4-main.2244d791bb"
95
96
  },
96
97
  "publishConfig": {
97
98
  "access": "public"
package/src/DeckPlugin.ts CHANGED
@@ -4,7 +4,8 @@
4
4
 
5
5
  import { setAutoFreeze } from 'immer';
6
6
 
7
- import { ActivationEvent, Common, Plugin } from '@dxos/app-framework';
7
+ import { ActivationEvent, ActivationEvents, Plugin } from '@dxos/app-framework';
8
+ import { AppActivationEvents, AppPlugin } from '@dxos/app-toolkit';
8
9
  import { translations as stackTranslations } from '@dxos/react-ui-stack';
9
10
 
10
11
  import {
@@ -28,8 +29,12 @@ import { DeckEvents } from './types';
28
29
  setAutoFreeze(false);
29
30
 
30
31
  export const DeckPlugin = Plugin.define(meta).pipe(
32
+ AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),
33
+ AppPlugin.addOperationResolverModule({ activate: LayoutOperationResolver }),
34
+ AppPlugin.addSurfaceModule({ activate: ReactSurface }),
35
+ AppPlugin.addTranslationsModule({ translations: [...translations, ...stackTranslations] }),
31
36
  Plugin.addModule({
32
- activatesOn: Common.ActivationEvent.SetupSettings,
37
+ activatesOn: AppActivationEvents.SetupSettings,
33
38
  activatesAfter: [DeckEvents.SettingsReady],
34
39
  activate: DeckSettings,
35
40
  }),
@@ -41,29 +46,25 @@ export const DeckPlugin = Plugin.define(meta).pipe(
41
46
  // TODO(wittjosiah): Does not integrate with settings store.
42
47
  // Should this be a different event?
43
48
  // Should settings store be renamed to be more generic?
44
- activatesOn: ActivationEvent.oneOf(Common.ActivationEvent.SetupSettings, Common.ActivationEvent.SetupAppGraph),
45
- activatesAfter: [Common.ActivationEvent.LayoutReady, DeckEvents.StateReady],
49
+ activatesOn: ActivationEvent.oneOf(AppActivationEvents.SetupSettings, AppActivationEvents.SetupAppGraph),
50
+ activatesAfter: [AppActivationEvents.LayoutReady, DeckEvents.StateReady],
46
51
  activate: DeckState,
47
52
  }),
48
- Common.Plugin.addTranslationsModule({ translations: [...translations, ...stackTranslations] }),
49
53
  Plugin.addModule({
50
- activatesOn: Common.ActivationEvent.Startup,
54
+ activatesOn: ActivationEvents.Startup,
51
55
  activate: ReactRoot,
52
56
  }),
53
- Common.Plugin.addSurfaceModule({ activate: ReactSurface }),
54
- Common.Plugin.addOperationResolverModule({ activate: LayoutOperationResolver }),
55
- Common.Plugin.addAppGraphModule({ activate: AppGraphBuilder }),
56
57
  // Plugin.addModule({
57
58
  // activatesOn: Events.SetupArtifactDefinition,
58
59
  // activate: Tools,
59
60
  // }),
60
61
  Plugin.addModule({
61
62
  // TODO(wittjosiah): Shouldn't use the startup event.
62
- activatesOn: Common.ActivationEvent.Startup,
63
+ activatesOn: ActivationEvents.Startup,
63
64
  activate: Toolkit,
64
65
  }),
65
66
  Plugin.addModule({
66
- activatesOn: ActivationEvent.allOf(Common.ActivationEvent.OperationInvokerReady, DeckEvents.StateReady),
67
+ activatesOn: ActivationEvent.allOf(ActivationEvents.OperationInvokerReady, DeckEvents.StateReady),
67
68
  activate: UrlHandler,
68
69
  }),
69
70
  Plugin.make,
@@ -4,7 +4,8 @@
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
6
 
7
- import { Capability, Common } from '@dxos/app-framework';
7
+ import { Capabilities, Capability } from '@dxos/app-framework';
8
+ import { AppCapabilities, LayoutOperation } from '@dxos/app-toolkit';
8
9
  import { Operation } from '@dxos/operation';
9
10
  import { AttentionCapabilities } from '@dxos/plugin-attention';
10
11
  import { GraphBuilder, NodeMatcher } from '@dxos/plugin-graph';
@@ -40,12 +41,12 @@ export default Capability.makeModule(
40
41
  // };
41
42
 
42
43
  const closeCurrent = {
43
- id: `${Common.LayoutOperation.Close.meta.key}/current`,
44
+ id: `${LayoutOperation.Close.meta.key}/current`,
44
45
  data: Effect.fnUntraced(function* () {
45
46
  const attention = yield* Capability.get(AttentionCapabilities.Attention);
46
47
  const attended = attention.getCurrent().at(-1);
47
48
  if (attended) {
48
- yield* Operation.invoke(Common.LayoutOperation.Close, { subject: [attended] });
49
+ yield* Operation.invoke(LayoutOperation.Close, { subject: [attended] });
49
50
  }
50
51
  }),
51
52
  properties: {
@@ -55,13 +56,13 @@ export default Capability.makeModule(
55
56
  };
56
57
 
57
58
  const closeOthers = {
58
- id: `${Common.LayoutOperation.Close.meta.key}/others`,
59
+ id: `${LayoutOperation.Close.meta.key}/others`,
59
60
  data: Effect.fnUntraced(function* () {
60
61
  const attention = yield* Capability.get(AttentionCapabilities.Attention);
61
62
  const deck = yield* DeckCapabilities.getDeck();
62
63
  const attended = attention.getCurrent().at(-1);
63
64
  const ids = deck.active.filter((id: string) => id !== attended) ?? [];
64
- yield* Operation.invoke(Common.LayoutOperation.Close, { subject: ids });
65
+ yield* Operation.invoke(LayoutOperation.Close, { subject: ids });
65
66
  }),
66
67
  properties: {
67
68
  label: ['close others label', { ns: meta.id }],
@@ -70,10 +71,10 @@ export default Capability.makeModule(
70
71
  };
71
72
 
72
73
  const closeAll = {
73
- id: `${Common.LayoutOperation.Close.meta.key}/all`,
74
+ id: `${LayoutOperation.Close.meta.key}/all`,
74
75
  data: Effect.fnUntraced(function* () {
75
76
  const deck = yield* DeckCapabilities.getDeck();
76
- yield* Operation.invoke(Common.LayoutOperation.Close, { subject: deck.active });
77
+ yield* Operation.invoke(LayoutOperation.Close, { subject: deck.active });
77
78
  }),
78
79
  properties: {
79
80
  label: ['close all label', { ns: meta.id }],
@@ -85,9 +86,9 @@ export default Capability.makeModule(
85
86
  const deck = state.decks[state.activeDeck];
86
87
 
87
88
  const toggleSidebar = {
88
- id: `${Common.LayoutOperation.UpdateSidebar.meta.key}/nav`,
89
+ id: `${LayoutOperation.UpdateSidebar.meta.key}/nav`,
89
90
  data: Effect.fnUntraced(function* () {
90
- yield* Common.Capability.updateAtomValue(DeckCapabilities.State, (s) => ({
91
+ yield* Capabilities.updateAtomValue(DeckCapabilities.State, (s) => ({
91
92
  ...s,
92
93
  sidebarState: s.sidebarState === 'expanded' ? ('collapsed' as const) : ('expanded' as const),
93
94
  }));
@@ -113,6 +114,6 @@ export default Capability.makeModule(
113
114
  }),
114
115
  });
115
116
 
116
- return Capability.contributes(Common.Capability.AppGraphBuilder, extensions);
117
+ return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);
117
118
  }),
118
119
  );
@@ -4,15 +4,19 @@
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
6
 
7
- import { Capability, Common } from '@dxos/app-framework';
7
+ import { Capabilities, Capability } from '@dxos/app-framework';
8
+ import { isTauri } from '@dxos/util';
8
9
 
9
10
  import { DeckCapabilities } from '../../types';
10
11
 
11
- const isSocket = !!(globalThis as any).__args;
12
-
13
- // TODO(mjamesderocher): Can we get this directly from Socket?
14
- const appScheme = 'composer://';
12
+ const APP_SCHEME = 'composer://';
15
13
 
14
+ /**
15
+ * Attempts to redirect from the web app to the native desktop app using a custom URL scheme.
16
+ * Creates a hidden iframe that navigates to the custom scheme URL (e.g., composer://workspace/123).
17
+ * If the native app is installed and handles the scheme, the user will be redirected.
18
+ * The iframe is automatically removed after 3 seconds or when the page is hidden.
19
+ */
16
20
  // TODO(mjamesderocher): Factor out as part of NavigationPlugin.
17
21
  const checkAppScheme = (url: string) => {
18
22
  const iframe = document.createElement('iframe');
@@ -33,9 +37,9 @@ const checkAppScheme = (url: string) => {
33
37
 
34
38
  export default Capability.makeModule(
35
39
  Effect.fnUntraced(function* () {
36
- const settings = yield* Common.Capability.getAtomValue(DeckCapabilities.Settings);
37
- if (!isSocket && settings?.enableNativeRedirect) {
38
- checkAppScheme(appScheme);
40
+ const settings = yield* Capabilities.getAtomValue(DeckCapabilities.Settings);
41
+ if (!isTauri() && settings?.enableNativeRedirect) {
42
+ checkAppScheme(APP_SCHEME);
39
43
  }
40
44
  }),
41
45
  );