@dxos/plugin-space 0.7.5-main.9d26e3a → 0.7.5-main.e9bb01b

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 (211) hide show
  1. package/dist/lib/browser/app-graph-builder-J4NX44Y4.mjs +367 -0
  2. package/dist/lib/browser/app-graph-builder-J4NX44Y4.mjs.map +7 -0
  3. package/dist/lib/browser/app-graph-serializer-QF7VVRCV.mjs +80 -0
  4. package/dist/lib/browser/app-graph-serializer-QF7VVRCV.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-6UIFMVVI.mjs +528 -0
  6. package/dist/lib/browser/chunk-6UIFMVVI.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-PQXZCNAU.mjs +13 -0
  8. package/dist/lib/browser/chunk-PQXZCNAU.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-RLZQJD47.mjs +22 -0
  10. package/dist/lib/browser/chunk-RLZQJD47.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-SDK7RZI3.mjs +133 -0
  12. package/dist/lib/browser/chunk-SDK7RZI3.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-54VE4GTA.mjs → chunk-XPZ6IIXF.mjs} +11 -15
  14. package/dist/lib/browser/chunk-XPZ6IIXF.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-XZ2NH3CP.mjs +1713 -0
  16. package/dist/lib/browser/chunk-XZ2NH3CP.mjs.map +7 -0
  17. package/dist/lib/browser/identity-created-25TK5XNO.mjs +28 -0
  18. package/dist/lib/browser/identity-created-25TK5XNO.mjs.map +7 -0
  19. package/dist/lib/browser/index.mjs +186 -3481
  20. package/dist/lib/browser/index.mjs.map +4 -4
  21. package/dist/lib/browser/intent-resolver-IEDVV74T.mjs +523 -0
  22. package/dist/lib/browser/intent-resolver-IEDVV74T.mjs.map +7 -0
  23. package/dist/lib/browser/meta.json +1 -1
  24. package/dist/lib/browser/react-root-6VRPRLQR.mjs +28 -0
  25. package/dist/lib/browser/react-root-6VRPRLQR.mjs.map +7 -0
  26. package/dist/lib/browser/react-surface-DMNDXLZ7.mjs +231 -0
  27. package/dist/lib/browser/react-surface-DMNDXLZ7.mjs.map +7 -0
  28. package/dist/lib/browser/settings-K4JPYYEM.mjs +24 -0
  29. package/dist/lib/browser/settings-K4JPYYEM.mjs.map +7 -0
  30. package/dist/lib/browser/spaces-ready-2MUWWVVO.mjs +199 -0
  31. package/dist/lib/browser/spaces-ready-2MUWWVVO.mjs.map +7 -0
  32. package/dist/lib/browser/state-6DCY5YJP.mjs +47 -0
  33. package/dist/lib/browser/state-6DCY5YJP.mjs.map +7 -0
  34. package/dist/lib/browser/types/index.mjs +6 -6
  35. package/dist/lib/node/app-graph-builder-ZOPG4MOS.cjs +370 -0
  36. package/dist/lib/node/app-graph-builder-ZOPG4MOS.cjs.map +7 -0
  37. package/dist/lib/node/app-graph-serializer-QE2G4MWB.cjs +88 -0
  38. package/dist/lib/node/app-graph-serializer-QE2G4MWB.cjs.map +7 -0
  39. package/dist/lib/node/chunk-3QWZCN6L.cjs +556 -0
  40. package/dist/lib/node/chunk-3QWZCN6L.cjs.map +7 -0
  41. package/dist/lib/node/{chunk-YF2AQ7KP.cjs → chunk-6MEOP3DH.cjs} +18 -22
  42. package/dist/lib/node/chunk-6MEOP3DH.cjs.map +7 -0
  43. package/dist/lib/node/chunk-D6BFKOXY.cjs +150 -0
  44. package/dist/lib/node/chunk-D6BFKOXY.cjs.map +7 -0
  45. package/dist/lib/node/chunk-SZEIQGQU.cjs +1710 -0
  46. package/dist/lib/node/chunk-SZEIQGQU.cjs.map +7 -0
  47. package/dist/lib/node/chunk-UX3U4RU2.cjs +42 -0
  48. package/dist/lib/node/chunk-UX3U4RU2.cjs.map +7 -0
  49. package/dist/lib/node/{chunk-46S3JOES.cjs → chunk-WZR6OAN3.cjs} +9 -12
  50. package/dist/lib/node/chunk-WZR6OAN3.cjs.map +7 -0
  51. package/dist/lib/node/identity-created-7G5U7R36.cjs +44 -0
  52. package/dist/lib/node/identity-created-7G5U7R36.cjs.map +7 -0
  53. package/dist/lib/node/index.cjs +171 -3469
  54. package/dist/lib/node/index.cjs.map +4 -4
  55. package/dist/lib/node/intent-resolver-N2W2L6OL.cjs +522 -0
  56. package/dist/lib/node/intent-resolver-N2W2L6OL.cjs.map +7 -0
  57. package/dist/lib/node/meta.json +1 -1
  58. package/dist/lib/node/react-root-YD35W3VU.cjs +50 -0
  59. package/dist/lib/node/react-root-YD35W3VU.cjs.map +7 -0
  60. package/dist/lib/node/react-surface-QPLXK7DT.cjs +229 -0
  61. package/dist/lib/node/react-surface-QPLXK7DT.cjs.map +7 -0
  62. package/dist/lib/node/{meta.cjs → settings-TEELGWS4.cjs} +19 -13
  63. package/dist/lib/node/settings-TEELGWS4.cjs.map +7 -0
  64. package/dist/lib/node/spaces-ready-PZZQWS6T.cjs +210 -0
  65. package/dist/lib/node/spaces-ready-PZZQWS6T.cjs.map +7 -0
  66. package/dist/lib/node/state-WPZC4JXB.cjs +61 -0
  67. package/dist/lib/node/state-WPZC4JXB.cjs.map +7 -0
  68. package/dist/lib/node/types/index.cjs +18 -18
  69. package/dist/lib/node/types/index.cjs.map +1 -1
  70. package/dist/lib/node-esm/app-graph-builder-TKGLOK22.mjs +368 -0
  71. package/dist/lib/node-esm/app-graph-builder-TKGLOK22.mjs.map +7 -0
  72. package/dist/lib/node-esm/app-graph-serializer-HLX2JRNF.mjs +81 -0
  73. package/dist/lib/node-esm/app-graph-serializer-HLX2JRNF.mjs.map +7 -0
  74. package/dist/lib/node-esm/chunk-4UX5WGKJ.mjs +134 -0
  75. package/dist/lib/node-esm/chunk-4UX5WGKJ.mjs.map +7 -0
  76. package/dist/lib/node-esm/{chunk-CDZETPO7.mjs → chunk-AAQRELDK.mjs} +11 -15
  77. package/dist/lib/node-esm/chunk-AAQRELDK.mjs.map +7 -0
  78. package/dist/lib/node-esm/{chunk-2MNFEB23.mjs → chunk-ICCM4YRJ.mjs} +5 -7
  79. package/dist/lib/node-esm/chunk-ICCM4YRJ.mjs.map +7 -0
  80. package/dist/lib/node-esm/chunk-LA45TPAN.mjs +529 -0
  81. package/dist/lib/node-esm/chunk-LA45TPAN.mjs.map +7 -0
  82. package/dist/lib/node-esm/chunk-LGL4A5B5.mjs +23 -0
  83. package/dist/lib/node-esm/chunk-LGL4A5B5.mjs.map +7 -0
  84. package/dist/lib/node-esm/chunk-N6EAOMIS.mjs +1714 -0
  85. package/dist/lib/node-esm/chunk-N6EAOMIS.mjs.map +7 -0
  86. package/dist/lib/node-esm/identity-created-7THGZ7EW.mjs +29 -0
  87. package/dist/lib/node-esm/identity-created-7THGZ7EW.mjs.map +7 -0
  88. package/dist/lib/node-esm/index.mjs +186 -3481
  89. package/dist/lib/node-esm/index.mjs.map +4 -4
  90. package/dist/lib/node-esm/intent-resolver-L2TKJU4I.mjs +524 -0
  91. package/dist/lib/node-esm/intent-resolver-L2TKJU4I.mjs.map +7 -0
  92. package/dist/lib/node-esm/meta.json +1 -1
  93. package/dist/lib/node-esm/react-root-Q5MFDXZE.mjs +29 -0
  94. package/dist/lib/node-esm/react-root-Q5MFDXZE.mjs.map +7 -0
  95. package/dist/lib/node-esm/react-surface-RQQZ5BOG.mjs +232 -0
  96. package/dist/lib/node-esm/react-surface-RQQZ5BOG.mjs.map +7 -0
  97. package/dist/lib/node-esm/settings-KXYUZBLN.mjs +25 -0
  98. package/dist/lib/node-esm/settings-KXYUZBLN.mjs.map +7 -0
  99. package/dist/lib/node-esm/spaces-ready-MWNP3WBX.mjs +200 -0
  100. package/dist/lib/node-esm/spaces-ready-MWNP3WBX.mjs.map +7 -0
  101. package/dist/lib/node-esm/state-5GH2D5U4.mjs +48 -0
  102. package/dist/lib/node-esm/state-5GH2D5U4.mjs.map +7 -0
  103. package/dist/lib/node-esm/types/index.mjs +6 -6
  104. package/dist/types/src/SpacePlugin.d.ts +1 -24
  105. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  106. package/dist/types/src/capabilities/app-graph-builder.d.ts +181 -0
  107. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
  108. package/dist/types/src/capabilities/app-graph-serializer.d.ts +4 -0
  109. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -0
  110. package/dist/types/src/capabilities/capabilities.d.ts +21 -0
  111. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -0
  112. package/dist/types/src/capabilities/identity-created.d.ts +4 -0
  113. package/dist/types/src/capabilities/identity-created.d.ts.map +1 -0
  114. package/dist/types/src/capabilities/index.d.ts +195 -0
  115. package/dist/types/src/capabilities/index.d.ts.map +1 -0
  116. package/dist/types/src/capabilities/intent-resolver.d.ts +8 -0
  117. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -0
  118. package/dist/types/src/capabilities/react-root.d.ts +7 -0
  119. package/dist/types/src/capabilities/react-root.d.ts.map +1 -0
  120. package/dist/types/src/capabilities/react-surface.d.ts +7 -0
  121. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  122. package/dist/types/src/capabilities/settings.d.ts +4 -0
  123. package/dist/types/src/capabilities/settings.d.ts.map +1 -0
  124. package/dist/types/src/capabilities/spaces-ready.d.ts +4 -0
  125. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -0
  126. package/dist/types/src/capabilities/state.d.ts +5 -0
  127. package/dist/types/src/capabilities/state.d.ts.map +1 -0
  128. package/dist/types/src/components/AdvancedObjectSettings/AdvancedObjectSettings.d.ts +7 -0
  129. package/dist/types/src/components/AdvancedObjectSettings/AdvancedObjectSettings.d.ts.map +1 -0
  130. package/dist/types/src/components/AdvancedObjectSettings/ForeignKeys.d.ts +8 -0
  131. package/dist/types/src/components/AdvancedObjectSettings/ForeignKeys.d.ts.map +1 -0
  132. package/dist/types/src/components/AdvancedObjectSettings/index.d.ts +2 -0
  133. package/dist/types/src/components/AdvancedObjectSettings/index.d.ts.map +1 -0
  134. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  135. package/dist/types/src/components/BaseObjectSettings.d.ts +7 -0
  136. package/dist/types/src/components/BaseObjectSettings.d.ts.map +1 -0
  137. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +1 -2
  138. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  139. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +6 -6
  140. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  141. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  142. package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
  143. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  144. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  145. package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.d.ts.map +1 -1
  146. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts.map +1 -1
  147. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  148. package/dist/types/src/components/index.d.ts +2 -1
  149. package/dist/types/src/components/index.d.ts.map +1 -1
  150. package/dist/types/src/events.d.ts +5 -0
  151. package/dist/types/src/events.d.ts.map +1 -0
  152. package/dist/types/src/index.d.ts +3 -5
  153. package/dist/types/src/index.d.ts.map +1 -1
  154. package/dist/types/src/meta.d.ts +2 -4
  155. package/dist/types/src/meta.d.ts.map +1 -1
  156. package/dist/types/src/translations.d.ts +12 -0
  157. package/dist/types/src/translations.d.ts.map +1 -1
  158. package/dist/types/src/types/types.d.ts +7 -28
  159. package/dist/types/src/types/types.d.ts.map +1 -1
  160. package/dist/types/src/util.d.ts +7 -6
  161. package/dist/types/src/util.d.ts.map +1 -1
  162. package/dist/types/tsconfig.tsbuildinfo +1 -1
  163. package/package.json +38 -46
  164. package/src/SpacePlugin.tsx +114 -1412
  165. package/src/capabilities/app-graph-builder.ts +394 -0
  166. package/src/capabilities/app-graph-serializer.ts +73 -0
  167. package/src/capabilities/capabilities.ts +26 -0
  168. package/src/capabilities/identity-created.ts +26 -0
  169. package/src/capabilities/index.ts +17 -0
  170. package/src/capabilities/intent-resolver.ts +489 -0
  171. package/src/capabilities/react-root.tsx +20 -0
  172. package/src/capabilities/react-surface.tsx +226 -0
  173. package/src/capabilities/settings.ts +17 -0
  174. package/src/capabilities/spaces-ready.ts +230 -0
  175. package/src/capabilities/state.ts +45 -0
  176. package/src/components/AdvancedObjectSettings/AdvancedObjectSettings.tsx +72 -0
  177. package/src/components/AdvancedObjectSettings/ForeignKeys.tsx +51 -0
  178. package/src/components/AdvancedObjectSettings/index.ts +5 -0
  179. package/src/components/AwaitingObject.tsx +5 -11
  180. package/src/components/{DefaultObjectSettings.tsx → BaseObjectSettings.tsx} +2 -2
  181. package/src/components/CreateDialog/CreateObjectDialog.tsx +19 -19
  182. package/src/components/CreateDialog/CreateObjectPanel.tsx +136 -99
  183. package/src/components/CreateDialog/CreateSpaceDialog.tsx +10 -8
  184. package/src/components/JoinDialog.tsx +27 -19
  185. package/src/components/SpacePluginSettings.tsx +5 -10
  186. package/src/components/SpacePresence.tsx +7 -7
  187. package/src/components/SpaceSettings/SpaceSettingsDialog.tsx +16 -1
  188. package/src/components/SpaceSettings/SpaceSettingsPanel.tsx +3 -4
  189. package/src/components/SyncStatus/InlineSyncStatus.tsx +2 -2
  190. package/src/components/SyncStatus/SyncStatus.tsx +2 -1
  191. package/src/components/index.ts +2 -1
  192. package/src/events.ts +12 -0
  193. package/src/index.ts +3 -7
  194. package/src/meta.ts +2 -3
  195. package/src/translations.ts +4 -0
  196. package/src/types/types.ts +12 -51
  197. package/src/util.tsx +38 -28
  198. package/dist/lib/browser/chunk-54VE4GTA.mjs.map +0 -7
  199. package/dist/lib/browser/chunk-73BCBSLP.mjs +0 -15
  200. package/dist/lib/browser/chunk-73BCBSLP.mjs.map +0 -7
  201. package/dist/lib/browser/meta.mjs +0 -11
  202. package/dist/lib/browser/meta.mjs.map +0 -7
  203. package/dist/lib/node/chunk-46S3JOES.cjs.map +0 -7
  204. package/dist/lib/node/chunk-YF2AQ7KP.cjs.map +0 -7
  205. package/dist/lib/node/meta.cjs.map +0 -7
  206. package/dist/lib/node-esm/chunk-2MNFEB23.mjs.map +0 -7
  207. package/dist/lib/node-esm/chunk-CDZETPO7.mjs.map +0 -7
  208. package/dist/lib/node-esm/meta.mjs +0 -12
  209. package/dist/lib/node-esm/meta.mjs.map +0 -7
  210. package/dist/types/src/components/DefaultObjectSettings.d.ts +0 -7
  211. package/dist/types/src/components/DefaultObjectSettings.d.ts.map +0 -1
@@ -4,10 +4,9 @@
4
4
 
5
5
  import React, { useCallback, useEffect, useState } from 'react';
6
6
 
7
- import { usePlugin } from '@dxos/app-framework';
7
+ import { useAppGraph, useCapability } from '@dxos/app-framework';
8
8
  import { generateName } from '@dxos/display-name';
9
9
  import { type Expando } from '@dxos/echo-schema';
10
- import { useGraph } from '@dxos/plugin-graph';
11
10
  import { PublicKey, useClient } from '@dxos/react-client';
12
11
  import { getSpace, useMembers, type SpaceMember, fullyQualifiedId } from '@dxos/react-client/echo';
13
12
  import { type Identity, useIdentity } from '@dxos/react-client/halo';
@@ -26,9 +25,10 @@ import {
26
25
  import { AttentionGlyph, useAttended, useAttention, type AttentionGlyphProps } from '@dxos/react-ui-attention';
27
26
  import { ComplexMap, keyToFallback } from '@dxos/util';
28
27
 
28
+ import { SpaceCapabilities } from '../capabilities';
29
29
  import { usePath } from '../hooks';
30
30
  import { SPACE_PLUGIN } from '../meta';
31
- import type { ObjectViewerProps, SpacePluginProvides } from '../types';
31
+ import type { ObjectViewerProps } from '../types';
32
32
 
33
33
  // TODO(thure): Get/derive these values from protocol
34
34
  const REFRESH_INTERVAL = 5000;
@@ -41,7 +41,8 @@ const noViewers = new ComplexMap<PublicKey, ObjectViewerProps>(PublicKey.hash);
41
41
  const getName = (identity: Identity) => identity.profile?.displayName ?? generateName(identity.identityKey.toHex());
42
42
 
43
43
  export const SpacePresence = ({ object, spaceKey }: { object: Expando; spaceKey?: PublicKey }) => {
44
- const spacePlugin = usePlugin<SpacePluginProvides>(SPACE_PLUGIN);
44
+ // TODO(wittjosiah): Doesn't need to be mutable but readonly type messes with ComplexMap.
45
+ const spaceState = useCapability(SpaceCapabilities.MutableState);
45
46
  const client = useClient();
46
47
  const identity = useIdentity();
47
48
  const space = spaceKey ? client.spaces.get(spaceKey) : getSpace(object);
@@ -63,11 +64,10 @@ export const SpacePresence = ({ object, spaceKey }: { object: Expando; spaceKey?
63
64
 
64
65
  // TODO(thure): Could it be a smell to return early when there are interactions with `deepSignal` later, since it
65
66
  // prevents reactivity?
66
- if (!identity || !spacePlugin || !space) {
67
+ if (!identity || !spaceState || !space) {
67
68
  return null;
68
69
  }
69
70
 
70
- const spaceState = spacePlugin.provides.space;
71
71
  const currentObjectViewers = spaceState.viewersByObject[fullyQualifiedId(object)] ?? noViewers;
72
72
 
73
73
  const membersForObject = spaceMembers
@@ -209,7 +209,7 @@ export const SmallPresenceLive = ({ id, open, viewers }: SmallPresenceLiveProps)
209
209
  // TODO(wittjosiah): If the attended node is deep in the graph and the graph is not fully loaded
210
210
  // this will result in an empty path until the graph is connected.
211
211
  // TODO(wittjosiah): Consider using this indicator for all open nodes instead of just attended.
212
- const { graph } = useGraph();
212
+ const { graph } = useAppGraph();
213
213
  const attended = useAttended();
214
214
  const startOfAttention = attended.at(-1);
215
215
  const path = usePath(graph, startOfAttention);
@@ -2,14 +2,16 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import React, { useState } from 'react';
5
+ import React, { useMemo, useState } from 'react';
6
6
 
7
+ import { Surface, useCapabilities } from '@dxos/app-framework';
7
8
  import { useClient } from '@dxos/react-client';
8
9
  import { Button, Clipboard, Dialog, Icon, toLocalizedString, useTranslation } from '@dxos/react-ui';
9
10
  import { Tabs, type TabsRootProps, type TabsActivePart } from '@dxos/react-ui-tabs';
10
11
  import { SpacePanel, type SpacePanelProps } from '@dxos/shell/react';
11
12
 
12
13
  import { SpaceSettingsPanel, type SpaceSettingsPanelProps } from './SpaceSettingsPanel';
14
+ import { SpaceCapabilities } from '../../capabilities';
13
15
  import { SPACE_PLUGIN } from '../../meta';
14
16
  import { COMPOSER_SPACE_LOCK, getSpaceDisplayName } from '../../util';
15
17
 
@@ -36,6 +38,8 @@ export const SpaceSettingsDialog = ({
36
38
  const [selected, setSelected] = useState<SpaceSettingsTab>(initialTab);
37
39
  const locked = space.properties[COMPOSER_SPACE_LOCK];
38
40
  const name = getSpaceDisplayName(space, { personal: client.spaces.default === space, namesCache });
41
+ const panels = useCapabilities(SpaceCapabilities.SettingsPanel);
42
+ const data = useMemo(() => ({ subject: space }), [space]);
39
43
 
40
44
  return (
41
45
  // TODO(wittjosiah): The tablist dialog pattern is copied from @dxos/plugin-manager.
@@ -84,6 +88,11 @@ export const SpaceSettingsDialog = ({
84
88
  <Tabs.Tab value='members' disabled={locked}>
85
89
  {t('members tab label')}
86
90
  </Tabs.Tab>
91
+ {panels.map((panel) => (
92
+ <Tabs.Tab key={panel.id} value={panel.id}>
93
+ {toLocalizedString(panel.label, t)}
94
+ </Tabs.Tab>
95
+ ))}
87
96
  </div>
88
97
  </Tabs.Tablist>
89
98
  </div>
@@ -98,6 +107,12 @@ export const SpaceSettingsDialog = ({
98
107
  <SpacePanel space={space} hideHeading target={target} createInvitationUrl={createInvitationUrl} />
99
108
  </Clipboard.Provider>
100
109
  </Tabs.Tabpanel>
110
+
111
+ {panels.map((panel) => (
112
+ <Tabs.Tabpanel key={panel.id} value={panel.id} classNames='pli-3 @md:pli-5 max-bs-dvh overflow-y-auto'>
113
+ <Surface role={`space-settings--${panel.id}`} data={data} />
114
+ </Tabs.Tabpanel>
115
+ ))}
101
116
  </Tabs.Viewport>
102
117
  </Tabs.Root>
103
118
  </Dialog.Content>
@@ -9,8 +9,7 @@ import { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata
9
9
  import { useClient } from '@dxos/react-client';
10
10
  import { type Space } from '@dxos/react-client/echo';
11
11
  import { type ThemedClassName, Input, useTranslation } from '@dxos/react-ui';
12
- import { DeprecatedFormInput } from '@dxos/react-ui-form';
13
- import { mx } from '@dxos/react-ui-theme';
12
+ import { DeprecatedFormContainer, DeprecatedFormInput } from '@dxos/react-ui-form';
14
13
 
15
14
  import { SPACE_PLUGIN } from '../../meta';
16
15
 
@@ -41,7 +40,7 @@ export const SpaceSettingsPanel = ({ classNames, space }: SpaceSettingsPanelProp
41
40
  );
42
41
 
43
42
  return (
44
- <div role='form' className={mx('flex flex-col', classNames)}>
43
+ <DeprecatedFormContainer>
45
44
  <DeprecatedFormInput label={t('name label')}>
46
45
  <Input.TextInput
47
46
  placeholder={t('unnamed space label')}
@@ -56,6 +55,6 @@ export const SpaceSettingsPanel = ({ classNames, space }: SpaceSettingsPanelProp
56
55
  <Input.Switch checked={edgeReplication} onCheckedChange={toggleEdgeReplication} />
57
56
  </DeprecatedFormInput>
58
57
  )}
59
- </div>
58
+ </DeprecatedFormContainer>
60
59
  );
61
60
  };
@@ -4,7 +4,7 @@
4
4
 
5
5
  import React, { useEffect, useState } from 'react';
6
6
 
7
- import { useGraph } from '@dxos/plugin-graph';
7
+ import { useAppGraph } from '@dxos/app-framework';
8
8
  import { QueryEdgeStatusResponse } from '@dxos/protocols/proto/dxos/client/services';
9
9
  import { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';
10
10
  import { useClient } from '@dxos/react-client';
@@ -38,7 +38,7 @@ export const InlineSyncStatus = ({ space, open }: { space: Space; open?: boolean
38
38
  // TODO(wittjosiah): If the attended node is deep in the graph and the graph is not fully loaded
39
39
  // this will result in an empty path until the graph is connected.
40
40
  // TODO(wittjosiah): Consider using this indicator for all open nodes instead of just attended.
41
- const { graph } = useGraph();
41
+ const { graph } = useAppGraph();
42
42
  const attended = useAttended();
43
43
  const startOfAttention = attended.at(-1);
44
44
  const path = usePath(graph, startOfAttention);
@@ -66,8 +66,9 @@ export const SyncStatusIndicator = ({ state, saved }: { state: SpaceSyncStateMap
66
66
  <StatusBar.Button title={title}>{icon}</StatusBar.Button>
67
67
  </Popover.Trigger>
68
68
  <Popover.Portal>
69
- <Popover.Content sideOffset={16}>
69
+ <Popover.Content>
70
70
  <SyncStatusDetail state={state} summary={summary} debug={false} />
71
+ <Popover.Arrow />
71
72
  </Popover.Content>
72
73
  </Popover.Portal>
73
74
  </Popover.Root>
@@ -2,11 +2,12 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
+ export * from './AdvancedObjectSettings';
5
6
  export * from './AwaitingObject';
7
+ export * from './BaseObjectSettings';
6
8
  export * from './CreateDialog';
7
9
  export * from './CollectionMain';
8
10
  export * from './CollectionSection';
9
- export * from './DefaultObjectSettings';
10
11
  export * from './JoinDialog';
11
12
  export * from './MenuFooter';
12
13
  export * from './PersistenceStatus';
package/src/events.ts ADDED
@@ -0,0 +1,12 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { defineEvent } from '@dxos/app-framework';
6
+
7
+ import { SPACE_PLUGIN } from './meta';
8
+
9
+ export namespace SpaceEvents {
10
+ export const StateReady = defineEvent(`${SPACE_PLUGIN}/event/state-ready`);
11
+ export const DefaultSpaceReady = defineEvent(`${SPACE_PLUGIN}/event/default-space-ready`);
12
+ }
package/src/index.ts CHANGED
@@ -2,14 +2,10 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { SpacePlugin } from './SpacePlugin';
6
-
7
- export default SpacePlugin;
5
+ export { SpaceCapabilities, ThreadCapabilities } from './capabilities';
6
+ export { SpaceEvents } from './events';
8
7
 
9
8
  export * from './components';
10
9
  export * from './meta';
11
- export * from './types';
12
- export * from './util';
13
- export { default as translations } from './translations';
14
-
15
10
  export * from './SpacePlugin';
11
+ export * from './util';
package/src/meta.ts CHANGED
@@ -5,10 +5,9 @@
5
5
  import { type PluginMeta } from '@dxos/app-framework';
6
6
 
7
7
  export const SPACE_PLUGIN = 'dxos.org/plugin/space';
8
- export const SPACE_PLUGIN_SHORT_ID = 'space';
9
8
 
10
- export default {
9
+ export const meta = {
11
10
  id: SPACE_PLUGIN,
12
- shortId: SPACE_PLUGIN_SHORT_ID,
13
11
  name: 'Spaces',
12
+ icon: 'ph--planet--regular',
14
13
  } satisfies PluginMeta;
@@ -105,6 +105,7 @@ export default [
105
105
  'offline persisted label': 'Saved to disk (offline)',
106
106
  'remote synced label': 'Synced with peers',
107
107
  'open settings panel label': 'Show Settings',
108
+ 'settings panel label': 'Settings',
108
109
  'open space settings label': 'Space Settings',
109
110
  'members tab label': 'Members',
110
111
  'settings tab label': 'Settings',
@@ -120,6 +121,9 @@ export default [
120
121
  'creating in collection label': 'In Collection',
121
122
  'clear input label': 'Clear',
122
123
  'expose object label': 'Expose in navtree',
124
+ 'advanced settings label': 'Advanced',
125
+ 'foreign keys': 'Foreign Keys',
126
+ 'add key': 'Add Key',
123
127
  },
124
128
  },
125
129
  },
@@ -2,19 +2,7 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import {
6
- type GraphBuilderProvides,
7
- type GraphSerializerProvides,
8
- type IntentResolverProvides,
9
- type MetadataRecordsProvides,
10
- type SettingsProvides,
11
- type SurfaceProvides,
12
- type TranslationsProvides,
13
- type Plugin,
14
- ActiveParts,
15
- } from '@dxos/app-framework';
16
- import { AST, S, type TypedObject, type Expando } from '@dxos/echo-schema';
17
- import { type PanelProvides } from '@dxos/plugin-deck/types';
5
+ import { AST, S, type Expando } from '@dxos/echo-schema';
18
6
  import { type PublicKey } from '@dxos/react-client';
19
7
  import { EchoObjectSchema, ReactiveObjectSchema, type Space, SpaceSchema } from '@dxos/react-client/echo';
20
8
  import { type ComplexMap } from '@dxos/util';
@@ -71,36 +59,16 @@ export type PluginState = {
71
59
  enabledEdgeReplication: boolean;
72
60
  };
73
61
 
74
- export type SpaceSettingsProps = {
75
- /**
76
- * Show closed spaces.
77
- */
78
- showHidden?: boolean;
79
- };
80
-
81
- export type SchemaProvides = {
82
- echo: {
83
- schema?: TypedObject[];
84
- system?: TypedObject[];
85
- };
86
- };
62
+ export const SpaceSettingsSchema = S.mutable(
63
+ S.Struct({
64
+ /**
65
+ * Show closed spaces.
66
+ */
67
+ showHidden: S.Boolean,
68
+ }),
69
+ );
87
70
 
88
- export const parseSchemaPlugin = (plugin?: Plugin) =>
89
- Array.isArray((plugin?.provides as any).echo?.schema) || Array.isArray((plugin?.provides as any).echo?.system)
90
- ? (plugin as Plugin<SchemaProvides>)
91
- : undefined;
92
-
93
- export type SpacePluginProvides = SurfaceProvides &
94
- IntentResolverProvides &
95
- GraphBuilderProvides &
96
- GraphSerializerProvides &
97
- MetadataRecordsProvides &
98
- SettingsProvides<SpaceSettingsProps> &
99
- TranslationsProvides &
100
- SchemaProvides &
101
- PanelProvides & {
102
- space: Readonly<PluginState>;
103
- };
71
+ export type SpaceSettingsProps = S.Schema.Type<typeof SpaceSettingsSchema>;
104
72
 
105
73
  // TODO(wittjosiah): Reconcile with graph export serializers.
106
74
 
@@ -135,7 +103,7 @@ export namespace SpaceAction {
135
103
  input: SpaceForm,
136
104
  output: S.Struct({
137
105
  id: S.String,
138
- activeParts: ActiveParts,
106
+ subject: S.Array(S.String),
139
107
  space: SpaceSchema,
140
108
  }),
141
109
  }) {}
@@ -221,7 +189,7 @@ export namespace SpaceAction {
221
189
  }),
222
190
  output: S.Struct({
223
191
  id: S.String,
224
- activeParts: ActiveParts,
192
+ subject: S.Array(S.String),
225
193
  object: EchoObjectSchema,
226
194
  }),
227
195
  }) {}
@@ -267,13 +235,6 @@ export namespace SpaceAction {
267
235
  }),
268
236
  output: S.Void,
269
237
  }) {}
270
-
271
- export class ToggleHidden extends S.TaggedClass<ToggleHidden>()(`${SPACE_ACTION}/toggle-hidden`, {
272
- input: S.Struct({
273
- state: S.optional(S.Boolean),
274
- }),
275
- output: S.Void,
276
- }) {}
277
238
  }
278
239
 
279
240
  export namespace CollectionAction {
package/src/util.tsx CHANGED
@@ -2,12 +2,7 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import {
6
- createIntent,
7
- type PromiseIntentDispatcher,
8
- type MetadataResolver,
9
- NavigationAction,
10
- } from '@dxos/app-framework';
5
+ import { createIntent, type PromiseIntentDispatcher, LayoutAction } from '@dxos/app-framework';
11
6
  import { EXPANDO_TYPENAME, getObjectAnnotation, getTypename, type Expando } from '@dxos/echo-schema';
12
7
  import { invariant } from '@dxos/invariant';
13
8
  import { getSchema, isReactiveObject, makeRef } from '@dxos/live-object';
@@ -80,6 +75,7 @@ export const memoizeQuery = <T extends ReactiveEchoObject<any>>(
80
75
  return query?.objects ?? EMPTY_ARRAY;
81
76
  };
82
77
 
78
+ // TODO(wittjosiah): Factor out? Expose via capability?
83
79
  export const getSpaceDisplayName = (
84
80
  space: Space,
85
81
  { personal, namesCache = {} }: { personal?: boolean; namesCache?: Record<string, string> } = {},
@@ -102,7 +98,7 @@ const getCollectionGraphNodePartials = ({
102
98
  navigable: boolean;
103
99
  collection: CollectionType;
104
100
  space: Space;
105
- resolve: MetadataResolver;
101
+ resolve: (typename: string) => Record<string, any>;
106
102
  }) => {
107
103
  return {
108
104
  disabled: !navigable,
@@ -191,7 +187,7 @@ export const constructSpaceNode = ({
191
187
  navigable?: boolean;
192
188
  personal?: boolean;
193
189
  namesCache?: Record<string, string>;
194
- resolve: MetadataResolver;
190
+ resolve: (typename: string) => Record<string, any>;
195
191
  }) => {
196
192
  const hasPendingMigration = checkPendingMigration(space);
197
193
  const collection = space.state.get() === SpaceState.SPACE_READY && space.properties[CollectionType.typename]?.target;
@@ -260,7 +256,7 @@ export const constructSpaceActions = ({
260
256
  properties: {
261
257
  label: ['create object in space label', { ns: SPACE_PLUGIN }],
262
258
  icon: 'ph--plus--regular',
263
- disposition: 'toolbar',
259
+ disposition: 'item',
264
260
  testId: 'spacePlugin.createObject',
265
261
  },
266
262
  },
@@ -277,6 +273,10 @@ export const constructSpaceActions = ({
277
273
  label: ['share space label', { ns: SPACE_PLUGIN }],
278
274
  icon: 'ph--users--regular',
279
275
  disabled: locked,
276
+ disposition: 'toolbar',
277
+ iconOnly: false,
278
+ variant: 'default',
279
+ testId: 'spacePlugin.shareSpace',
280
280
  keyBinding: {
281
281
  macos: 'meta+.',
282
282
  windows: 'alt+.',
@@ -370,7 +370,7 @@ export const createObjectNode = ({
370
370
  object: ReactiveEchoObject<any>;
371
371
  space: Space;
372
372
  navigable?: boolean;
373
- resolve: MetadataResolver;
373
+ resolve: (typename: string) => Record<string, any>;
374
374
  }) => {
375
375
  const type = getTypename(object);
376
376
  if (!type) {
@@ -408,9 +408,11 @@ export const createObjectNode = ({
408
408
  export const constructObjectActions = ({
409
409
  node,
410
410
  dispatch,
411
+ navigable = false,
411
412
  }: {
412
413
  node: Node<ReactiveEchoObject<any>>;
413
414
  dispatch: PromiseIntentDispatcher;
415
+ navigable?: boolean;
414
416
  }) => {
415
417
  const object = node.data;
416
418
  const getId = (id: string) => `${id}/${fullyQualifiedId(object)}`;
@@ -469,25 +471,29 @@ export const constructObjectActions = ({
469
471
  testId: 'spacePlugin.deleteObject',
470
472
  },
471
473
  },
472
- {
473
- id: getId('copy-link'),
474
- type: ACTION_TYPE,
475
- data: async () => {
476
- const url = `${window.location.origin}/${fullyQualifiedId(object)}`;
477
- await navigator.clipboard.writeText(url);
478
- },
479
- properties: {
480
- label: ['copy link label', { ns: SPACE_PLUGIN }],
481
- icon: 'ph--link--regular',
482
- testId: 'spacePlugin.copyLink',
483
- },
484
- },
474
+ ...(navigable || !(object instanceof CollectionType)
475
+ ? [
476
+ {
477
+ id: getId('copy-link'),
478
+ type: ACTION_TYPE,
479
+ data: async () => {
480
+ const url = `${window.location.origin}/${fullyQualifiedId(object)}`;
481
+ await navigator.clipboard.writeText(url);
482
+ },
483
+ properties: {
484
+ label: ['copy link label', { ns: SPACE_PLUGIN }],
485
+ icon: 'ph--link--regular',
486
+ testId: 'spacePlugin.copyLink',
487
+ },
488
+ },
489
+ ]
490
+ : []),
485
491
  // TODO(wittjosiah): Factor out and apply to all nodes.
486
492
  {
487
- id: NavigationAction.Expose._tag,
493
+ id: getId(LayoutAction.Expose._tag),
488
494
  type: ACTION_TYPE,
489
495
  data: async () => {
490
- await dispatch(createIntent(NavigationAction.Expose, { id: fullyQualifiedId(object) }));
496
+ await dispatch(createIntent(LayoutAction.Expose, { part: 'navigation', subject: fullyQualifiedId(object) }));
491
497
  },
492
498
  properties: {
493
499
  label: ['expose object label', { ns: SPACE_PLUGIN }],
@@ -521,7 +527,7 @@ export const getActiveSpace = (graph: Graph, active?: string) => {
521
527
  */
522
528
  export const getNestedObjects = async (
523
529
  object: ReactiveEchoObject<any>,
524
- resolve: MetadataResolver,
530
+ resolve: (typename: string) => Record<string, any>,
525
531
  ): Promise<ReactiveEchoObject<any>[]> => {
526
532
  const type = getTypename(object);
527
533
  if (!type) {
@@ -529,7 +535,7 @@ export const getNestedObjects = async (
529
535
  }
530
536
 
531
537
  const metadata = resolve(type);
532
- const loadReferences = metadata.loadReferences;
538
+ const loadReferences = metadata?.loadReferences;
533
539
  if (typeof loadReferences !== 'function') {
534
540
  return [];
535
541
  }
@@ -543,7 +549,11 @@ export const getNestedObjects = async (
543
549
  * @deprecated Workaround for ECHO not supporting clone.
544
550
  */
545
551
  // TODO(burdon): Remove.
546
- export const cloneObject = async (object: Expando, resolve: MetadataResolver, newSpace: Space): Promise<Expando> => {
552
+ export const cloneObject = async (
553
+ object: Expando,
554
+ resolve: (typename: string) => Record<string, any>,
555
+ newSpace: Space,
556
+ ): Promise<Expando> => {
547
557
  const schema = getSchema(object);
548
558
  const typename = schema ? getObjectAnnotation(schema)?.typename ?? EXPANDO_TYPENAME : EXPANDO_TYPENAME;
549
559
  const metadata = resolve(typename);
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types/collection.ts", "../../../src/types/thread.ts", "../../../src/types/types.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Expando, Ref, S, TypedObject } from '@dxos/echo-schema';\n\nexport class CollectionType extends TypedObject({ typename: 'dxos.org/type/Collection', version: '0.1.0' })({\n name: S.optional(S.String),\n objects: S.mutable(S.Array(Ref(Expando))),\n // Key is schema typename and value is reference to a view object of the associated schema.\n // Having collection reference the views rather than vice versa ensures that the state converges to a single view per key (i.e. type).\n // This also leaves open a future where this key could be changed to allow for multiple stack views per section.\n // TODO(wittjosiah): Any way to make this more type safe?\n // TODO(wittjosiah): Should the views be separate objects or just be schemas for view data in this record?\n views: S.mutable(S.Record({ key: S.String, value: Ref(Expando) })),\n}) {}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Expando, Ref, S, TypedObject } from '@dxos/echo-schema';\n\n// TODO(wittjosiah): These types were placed here rather than in @dxos/plugin-thread\n// in order to avoid a circular dependency between threads and other objects that use threads.\n\n// TODO(wittjosiah): Factor out to halo?\nexport class ContactType extends TypedObject({ typename: 'dxos.org/type/Contact', version: '0.1.0' })({\n name: S.optional(S.String),\n identifiers: S.mutable(\n S.Array(\n S.Struct({\n type: S.String,\n value: S.String,\n }),\n ),\n ),\n}) {}\n\nexport const ActorSchema = S.mutable(\n S.Struct({\n contact: S.optional(Ref(ContactType)),\n // TODO(wittjosiah): Should the below fields just be the contact schema?\n // i.e. it should either be a reference to an existing contact or an inline contact schema.\n identityKey: S.optional(S.String),\n // TODO(burdon): Generalize to handle/identifier?\n email: S.optional(S.String),\n name: S.optional(S.String),\n }),\n);\n\nexport type ActorType = S.Schema.Type<typeof ActorSchema>;\n\nexport enum MessageState {\n NONE = 0,\n ARCHIVED = 1,\n DELETED = 2,\n SPAM = 3,\n}\n\nexport class MessageType extends TypedObject({ typename: 'dxos.org/type/Message', version: '0.1.0' })({\n /** ISO date string when the message was sent. */\n timestamp: S.String,\n /** Message state. */\n state: S.optional(S.Enums(MessageState)),\n /** Identity of the message sender. */\n sender: ActorSchema,\n /** Text content of the message. */\n text: S.String,\n /** Non-text content sent with a message (e.g., files, polls, etc.) */\n parts: S.optional(S.mutable(S.Array(Ref(Expando)))),\n /** Custom properties for specific message types (e.g. email subject or cc fields). */\n properties: S.optional(S.mutable(S.Record({ key: S.String, value: S.Any }))),\n // TODO(wittjosiah): Add read status:\n // - Read receipts need to be per space member.\n // - Read receipts don't need to be added to schema until they being implemented.\n /** Context of the application when message was created. */\n // TODO(burdon): Evolve \"attention object\" to be current UX state? E.g., of Deck?\n context: S.optional(Ref(Expando)),\n}) {}\n\nexport const ThreadStatus = S.Union(S.Literal('staged'), S.Literal('active'), S.Literal('resolved'));\n\nexport class ThreadType extends TypedObject({ typename: 'dxos.org/type/Thread', version: '0.1.0' })({\n name: S.optional(S.String),\n /** AM cursor-range: 'from:to'. */\n anchor: S.optional(S.String),\n status: S.optional(ThreadStatus),\n messages: S.mutable(S.Array(Ref(MessageType))),\n}) {}\n\nexport class ChannelType extends TypedObject({ typename: 'dxos.org/type/Channel', version: '0.1.0' })({\n name: S.optional(S.String),\n threads: S.mutable(S.Array(Ref(ThreadType))),\n}) {}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport {\n type GraphBuilderProvides,\n type GraphSerializerProvides,\n type IntentResolverProvides,\n type MetadataRecordsProvides,\n type SettingsProvides,\n type SurfaceProvides,\n type TranslationsProvides,\n type Plugin,\n ActiveParts,\n} from '@dxos/app-framework';\nimport { AST, S, type TypedObject, type Expando } from '@dxos/echo-schema';\nimport { type PanelProvides } from '@dxos/plugin-deck/types';\nimport { type PublicKey } from '@dxos/react-client';\nimport { EchoObjectSchema, ReactiveObjectSchema, type Space, SpaceSchema } from '@dxos/react-client/echo';\nimport { type ComplexMap } from '@dxos/util';\n\nimport { CollectionType } from './collection';\nimport { SPACE_PLUGIN } from '../meta';\n\nexport const SPACE_DIRECTORY_HANDLE = 'dxos.org/plugin/space/directory';\n\nexport type ObjectViewerProps = {\n lastSeen: number;\n currentlyAttended: boolean;\n};\n\nexport type ObjectId = string;\n\nexport type PluginState = {\n /**\n * Which objects are currently being viewed by which peers.\n */\n viewersByObject: Record<ObjectId, ComplexMap<PublicKey, ObjectViewerProps>>;\n\n /**\n * Which peers are currently viewing which objects.\n */\n viewersByIdentity: ComplexMap<PublicKey, Set<ObjectId>>;\n\n /**\n * Object that was linked to directly but not found and is being awaited.\n */\n awaiting: string | undefined;\n\n /**\n * Cached space names, used when spaces are closed or loading.\n */\n spaceNames: Record<string, string>;\n\n /**\n * Which spaces have an SDK migration running currently.\n */\n // TODO(wittjosiah): Factor out to sdk. Migration running should probably be a space state.\n sdkMigrationRunning: Record<string, boolean>;\n\n /**\n * Whether or not the user can navigate to collections in the graph.\n * Determined by whether or not there is an available plugin that can render a collection.\n */\n navigableCollections: boolean;\n\n /**\n * Tracks whether setting edge replication as default has been run on spaces.\n */\n // TODO(wittjosiah): Systematic way to handle migrations of state outside of spaces.\n enabledEdgeReplication: boolean;\n};\n\nexport type SpaceSettingsProps = {\n /**\n * Show closed spaces.\n */\n showHidden?: boolean;\n};\n\nexport type SchemaProvides = {\n echo: {\n schema?: TypedObject[];\n system?: TypedObject[];\n };\n};\n\nexport const parseSchemaPlugin = (plugin?: Plugin) =>\n Array.isArray((plugin?.provides as any).echo?.schema) || Array.isArray((plugin?.provides as any).echo?.system)\n ? (plugin as Plugin<SchemaProvides>)\n : undefined;\n\nexport type SpacePluginProvides = SurfaceProvides &\n IntentResolverProvides &\n GraphBuilderProvides &\n GraphSerializerProvides &\n MetadataRecordsProvides &\n SettingsProvides<SpaceSettingsProps> &\n TranslationsProvides &\n SchemaProvides &\n PanelProvides & {\n space: Readonly<PluginState>;\n };\n\n// TODO(wittjosiah): Reconcile with graph export serializers.\n\nexport type SerializerMap = Record<string, TypedObjectSerializer>;\n\nexport interface TypedObjectSerializer<T extends Expando = Expando> {\n serialize(params: { object: T }): Promise<string>;\n\n /**\n * @param params.content\n * @param params.space Space to use for deserializing schema references.\n * @param params.newId Generate new ID for deserialized object.\n */\n deserialize(params: { content: string; space: Space; newId?: boolean }): Promise<T>;\n}\n\nexport const SpaceForm = S.Struct({\n name: S.optional(S.String.annotations({ [AST.TitleAnnotationId]: 'Name' })),\n // TODO(wittjosiah): Make optional with default value.\n edgeReplication: S.Boolean.annotations({ [AST.TitleAnnotationId]: 'Enable EDGE Replication' }),\n});\n\nexport const SPACE_ACTION = `${SPACE_PLUGIN}/action`;\n\nexport namespace SpaceAction {\n export class OpenCreateSpace extends S.TaggedClass<OpenCreateSpace>()(`${SPACE_ACTION}/open-create-space`, {\n input: S.Void,\n output: S.Void,\n }) {}\n\n export class Create extends S.TaggedClass<Create>()(`${SPACE_ACTION}/create`, {\n input: SpaceForm,\n output: S.Struct({\n id: S.String,\n activeParts: ActiveParts,\n space: SpaceSchema,\n }),\n }) {}\n\n export class Join extends S.TaggedClass<Join>()(`${SPACE_ACTION}/join`, {\n input: S.Struct({\n invitationCode: S.optional(S.String),\n onDone: S.optional(S.Any),\n }),\n output: S.Void,\n }) {}\n\n export class Share extends S.TaggedClass<Share>()(`${SPACE_ACTION}/share`, {\n input: S.Struct({\n space: SpaceSchema,\n }),\n output: S.Void,\n }) {}\n\n export class Lock extends S.TaggedClass<Lock>()(`${SPACE_ACTION}/lock`, {\n input: S.Struct({\n space: SpaceSchema,\n }),\n output: S.Void,\n }) {}\n\n export class Unlock extends S.TaggedClass<Unlock>()(`${SPACE_ACTION}/unlock`, {\n input: S.Struct({\n space: SpaceSchema,\n }),\n output: S.Void,\n }) {}\n\n export class Rename extends S.TaggedClass<Rename>()(`${SPACE_ACTION}/rename`, {\n input: S.Struct({\n space: SpaceSchema,\n caller: S.optional(S.String),\n }),\n output: S.Void,\n }) {}\n\n export class OpenSettings extends S.TaggedClass<OpenSettings>()(`${SPACE_ACTION}/open-settings`, {\n input: S.Struct({\n space: SpaceSchema,\n }),\n output: S.Void,\n }) {}\n\n export class Open extends S.TaggedClass<Open>()(`${SPACE_ACTION}/open`, {\n input: S.Struct({\n space: SpaceSchema,\n }),\n output: S.Void,\n }) {}\n\n export class Close extends S.TaggedClass<Close>()(`${SPACE_ACTION}/close`, {\n input: S.Struct({\n space: SpaceSchema,\n }),\n output: S.Void,\n }) {}\n\n export class Migrate extends S.TaggedClass<Migrate>()(`${SPACE_ACTION}/migrate`, {\n input: S.Struct({\n space: SpaceSchema,\n version: S.optional(S.String),\n }),\n output: S.Boolean,\n }) {}\n\n export class OpenCreateObject extends S.TaggedClass<OpenCreateObject>()(`${SPACE_ACTION}/open-create-object`, {\n input: S.Struct({\n target: S.Union(SpaceSchema, CollectionType),\n navigable: S.optional(S.Boolean),\n }),\n output: S.Void,\n }) {}\n\n export class AddObject extends S.TaggedClass<AddObject>()(`${SPACE_ACTION}/add-object`, {\n input: S.Struct({\n object: ReactiveObjectSchema,\n target: S.Union(SpaceSchema, CollectionType),\n }),\n output: S.Struct({\n id: S.String,\n activeParts: ActiveParts,\n object: EchoObjectSchema,\n }),\n }) {}\n\n export const DeletionData = S.Struct({\n objects: S.Array(EchoObjectSchema),\n parentCollection: CollectionType,\n indices: S.Array(S.Number),\n nestedObjectsList: S.Array(S.Array(EchoObjectSchema)),\n wasActive: S.Array(S.String),\n });\n\n export type DeletionData = S.Schema.Type<typeof DeletionData>;\n\n export class RemoveObjects extends S.TaggedClass<RemoveObjects>()(`${SPACE_ACTION}/remove-objects`, {\n input: S.Struct({\n objects: S.Array(EchoObjectSchema),\n target: S.optional(CollectionType),\n deletionData: S.optional(DeletionData),\n }),\n output: S.Void,\n }) {}\n\n export class RenameObject extends S.TaggedClass<RenameObject>()(`${SPACE_ACTION}/rename-object`, {\n input: S.Struct({\n object: EchoObjectSchema,\n caller: S.optional(S.String),\n }),\n output: S.Void,\n }) {}\n\n export class DuplicateObject extends S.TaggedClass<DuplicateObject>()(`${SPACE_ACTION}/duplicate-object`, {\n input: S.Struct({\n object: EchoObjectSchema,\n target: S.Union(SpaceSchema, CollectionType),\n }),\n output: S.Void,\n }) {}\n\n export class WaitForObject extends S.TaggedClass<WaitForObject>()(`${SPACE_ACTION}/wait-for-object`, {\n input: S.Struct({\n id: S.optional(S.String),\n }),\n output: S.Void,\n }) {}\n\n export class ToggleHidden extends S.TaggedClass<ToggleHidden>()(`${SPACE_ACTION}/toggle-hidden`, {\n input: S.Struct({\n state: S.optional(S.Boolean),\n }),\n output: S.Void,\n }) {}\n}\n\nexport namespace CollectionAction {\n export class Create extends S.TaggedClass<Create>()('dxos.org/plugin/collection/action/create', {\n input: S.Struct({\n name: S.optional(S.String),\n }),\n output: S.Struct({\n object: CollectionType,\n }),\n }) {}\n}\n"],
5
- "mappings": "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",
6
- "names": ["Expando", "Ref", "S", "TypedObject", "CollectionType", "TypedObject", "typename", "version", "name", "S", "optional", "String", "objects", "mutable", "Array", "Ref", "Expando", "views", "Record", "key", "value", "Expando", "Ref", "S", "TypedObject", "ContactType", "TypedObject", "typename", "version", "name", "S", "optional", "String", "identifiers", "mutable", "Array", "Struct", "type", "value", "ActorSchema", "contact", "Ref", "identityKey", "email", "MessageState", "MessageType", "timestamp", "state", "Enums", "sender", "text", "parts", "Expando", "properties", "Record", "key", "Any", "context", "ThreadStatus", "Union", "Literal", "ThreadType", "anchor", "status", "messages", "ChannelType", "threads", "ActiveParts", "AST", "S", "EchoObjectSchema", "ReactiveObjectSchema", "SpaceSchema", "SPACE_DIRECTORY_HANDLE", "parseSchemaPlugin", "plugin", "Array", "isArray", "provides", "echo", "schema", "system", "undefined", "SpaceForm", "S", "Struct", "name", "optional", "String", "annotations", "AST", "TitleAnnotationId", "edgeReplication", "Boolean", "SPACE_ACTION", "SPACE_PLUGIN", "SpaceAction", "OpenCreateSpace", "TaggedClass", "input", "Void", "output", "Create", "id", "activeParts", "ActiveParts", "space", "SpaceSchema", "Join", "invitationCode", "onDone", "Any", "Share", "Lock", "Unlock", "Rename", "caller", "OpenSettings", "Open", "Close", "Migrate", "version", "OpenCreateObject", "target", "Union", "CollectionType", "navigable", "AddObject", "object", "ReactiveObjectSchema", "EchoObjectSchema", "DeletionData", "objects", "parentCollection", "indices", "Number", "nestedObjectsList", "wasActive", "RemoveObjects", "deletionData", "RenameObject", "DuplicateObject", "WaitForObject", "ToggleHidden", "state", "CollectionAction"]
7
- }
@@ -1,15 +0,0 @@
1
- // packages/plugins/plugin-space/src/meta.ts
2
- var SPACE_PLUGIN = "dxos.org/plugin/space";
3
- var SPACE_PLUGIN_SHORT_ID = "space";
4
- var meta_default = {
5
- id: SPACE_PLUGIN,
6
- shortId: SPACE_PLUGIN_SHORT_ID,
7
- name: "Spaces"
8
- };
9
-
10
- export {
11
- SPACE_PLUGIN,
12
- SPACE_PLUGIN_SHORT_ID,
13
- meta_default
14
- };
15
- //# sourceMappingURL=chunk-73BCBSLP.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/meta.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const SPACE_PLUGIN = 'dxos.org/plugin/space';\nexport const SPACE_PLUGIN_SHORT_ID = 'space';\n\nexport default {\n id: SPACE_PLUGIN,\n shortId: SPACE_PLUGIN_SHORT_ID,\n name: 'Spaces',\n} satisfies PluginMeta;\n"],
5
- "mappings": ";AAMO,IAAMA,eAAe;AACrB,IAAMC,wBAAwB;AAErC,IAAA,eAAe;EACbC,IAAIF;EACJG,SAASF;EACTG,MAAM;AACR;",
6
- "names": ["SPACE_PLUGIN", "SPACE_PLUGIN_SHORT_ID", "id", "shortId", "name"]
7
- }
@@ -1,11 +0,0 @@
1
- import {
2
- SPACE_PLUGIN,
3
- SPACE_PLUGIN_SHORT_ID,
4
- meta_default
5
- } from "./chunk-73BCBSLP.mjs";
6
- export {
7
- SPACE_PLUGIN,
8
- SPACE_PLUGIN_SHORT_ID,
9
- meta_default as default
10
- };
11
- //# sourceMappingURL=meta.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "sourcesContent": [],
5
- "mappings": "",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/meta.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const SPACE_PLUGIN = 'dxos.org/plugin/space';\nexport const SPACE_PLUGIN_SHORT_ID = 'space';\n\nexport default {\n id: SPACE_PLUGIN,\n shortId: SPACE_PLUGIN_SHORT_ID,\n name: 'Spaces',\n} satisfies PluginMeta;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAMO,IAAMA,eAAe;AACrB,IAAMC,wBAAwB;AAErC,IAAA,eAAe;EACbC,IAAIF;EACJG,SAASF;EACTG,MAAM;AACR;",
6
- "names": ["SPACE_PLUGIN", "SPACE_PLUGIN_SHORT_ID", "id", "shortId", "name"]
7
- }