@dxos/plugin-space 0.7.4 → 0.7.5-labs.071a3e2

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 (257) hide show
  1. package/dist/lib/browser/app-graph-builder-TTM2YZVS.mjs +367 -0
  2. package/dist/lib/browser/app-graph-builder-TTM2YZVS.mjs.map +7 -0
  3. package/dist/lib/browser/app-graph-serializer-ZGM5NDXE.mjs +80 -0
  4. package/dist/lib/browser/app-graph-serializer-ZGM5NDXE.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-2NMUVDMZ.mjs +1715 -0
  6. package/dist/lib/browser/chunk-2NMUVDMZ.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-ENRYFGYE.mjs +133 -0
  8. package/dist/lib/browser/chunk-ENRYFGYE.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-H2AR4OLP.mjs +316 -0
  10. package/dist/lib/browser/chunk-H2AR4OLP.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-PQXZCNAU.mjs +13 -0
  12. package/dist/lib/browser/chunk-PQXZCNAU.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-RLZQJD47.mjs +22 -0
  14. package/dist/lib/browser/chunk-RLZQJD47.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-S5IGZNXJ.mjs +528 -0
  16. package/dist/lib/browser/chunk-S5IGZNXJ.mjs.map +7 -0
  17. package/dist/lib/browser/identity-created-VICTPQX7.mjs +28 -0
  18. package/dist/lib/browser/identity-created-VICTPQX7.mjs.map +7 -0
  19. package/dist/lib/browser/index.mjs +193 -3521
  20. package/dist/lib/browser/index.mjs.map +4 -4
  21. package/dist/lib/browser/intent-resolver-A5274MUR.mjs +537 -0
  22. package/dist/lib/browser/intent-resolver-A5274MUR.mjs.map +7 -0
  23. package/dist/lib/browser/meta.json +1 -1
  24. package/dist/lib/browser/react-root-N6QTWYCV.mjs +28 -0
  25. package/dist/lib/browser/react-root-N6QTWYCV.mjs.map +7 -0
  26. package/dist/lib/browser/react-surface-STMNA7W7.mjs +231 -0
  27. package/dist/lib/browser/react-surface-STMNA7W7.mjs.map +7 -0
  28. package/dist/lib/browser/settings-HN5UIYQO.mjs +24 -0
  29. package/dist/lib/browser/settings-HN5UIYQO.mjs.map +7 -0
  30. package/dist/lib/browser/spaces-ready-F57ITJDR.mjs +199 -0
  31. package/dist/lib/browser/spaces-ready-F57ITJDR.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 +14 -5
  35. package/dist/lib/node/app-graph-builder-6N4TEVHH.cjs +370 -0
  36. package/dist/lib/node/app-graph-builder-6N4TEVHH.cjs.map +7 -0
  37. package/dist/lib/node/app-graph-serializer-AWKVTYAB.cjs +88 -0
  38. package/dist/lib/node/app-graph-serializer-AWKVTYAB.cjs.map +7 -0
  39. package/dist/lib/node/chunk-2RCJT3P2.cjs +1712 -0
  40. package/dist/lib/node/chunk-2RCJT3P2.cjs.map +7 -0
  41. package/dist/lib/node/chunk-I2LRRRMV.cjs +150 -0
  42. package/dist/lib/node/chunk-I2LRRRMV.cjs.map +7 -0
  43. package/dist/lib/node/chunk-MMXP2NHE.cjs +556 -0
  44. package/dist/lib/node/chunk-MMXP2NHE.cjs.map +7 -0
  45. package/dist/lib/node/chunk-SPCSJ2CY.cjs +345 -0
  46. package/dist/lib/node/chunk-SPCSJ2CY.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/{meta.cjs → chunk-WZR6OAN3.cjs} +13 -13
  50. package/dist/lib/node/chunk-WZR6OAN3.cjs.map +7 -0
  51. package/dist/lib/node/identity-created-JNDKMFKI.cjs +44 -0
  52. package/dist/lib/node/identity-created-JNDKMFKI.cjs.map +7 -0
  53. package/dist/lib/node/index.cjs +176 -3506
  54. package/dist/lib/node/index.cjs.map +4 -4
  55. package/dist/lib/node/intent-resolver-NVTAESKB.cjs +536 -0
  56. package/dist/lib/node/intent-resolver-NVTAESKB.cjs.map +7 -0
  57. package/dist/lib/node/meta.json +1 -1
  58. package/dist/lib/node/react-root-YCHSAYQE.cjs +50 -0
  59. package/dist/lib/node/react-root-YCHSAYQE.cjs.map +7 -0
  60. package/dist/lib/node/react-surface-ANSZ4FKK.cjs +229 -0
  61. package/dist/lib/node/react-surface-ANSZ4FKK.cjs.map +7 -0
  62. package/dist/lib/node/settings-RBBL22DJ.cjs +38 -0
  63. package/dist/lib/node/settings-RBBL22DJ.cjs.map +7 -0
  64. package/dist/lib/node/spaces-ready-WHU4J6E5.cjs +210 -0
  65. package/dist/lib/node/spaces-ready-WHU4J6E5.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 +23 -14
  69. package/dist/lib/node/types/index.cjs.map +2 -2
  70. package/dist/lib/node-esm/app-graph-builder-MS6BI5EW.mjs +368 -0
  71. package/dist/lib/node-esm/app-graph-builder-MS6BI5EW.mjs.map +7 -0
  72. package/dist/lib/node-esm/app-graph-serializer-AWAWDSCM.mjs +81 -0
  73. package/dist/lib/node-esm/app-graph-serializer-AWAWDSCM.mjs.map +7 -0
  74. package/dist/lib/node-esm/chunk-4HICD7AU.mjs +1716 -0
  75. package/dist/lib/node-esm/chunk-4HICD7AU.mjs.map +7 -0
  76. package/dist/lib/node-esm/chunk-77RE7Y5J.mjs +529 -0
  77. package/dist/lib/node-esm/chunk-77RE7Y5J.mjs.map +7 -0
  78. package/dist/lib/node-esm/chunk-ESWV7ICX.mjs +134 -0
  79. package/dist/lib/node-esm/chunk-ESWV7ICX.mjs.map +7 -0
  80. package/dist/lib/node-esm/chunk-ICCM4YRJ.mjs +15 -0
  81. package/dist/lib/node-esm/chunk-ICCM4YRJ.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-S6VAU6VJ.mjs +317 -0
  85. package/dist/lib/node-esm/chunk-S6VAU6VJ.mjs.map +7 -0
  86. package/dist/lib/node-esm/identity-created-3AUSSVEK.mjs +29 -0
  87. package/dist/lib/node-esm/identity-created-3AUSSVEK.mjs.map +7 -0
  88. package/dist/lib/node-esm/index.mjs +193 -3521
  89. package/dist/lib/node-esm/index.mjs.map +4 -4
  90. package/dist/lib/node-esm/intent-resolver-KJ67TU34.mjs +538 -0
  91. package/dist/lib/node-esm/intent-resolver-KJ67TU34.mjs.map +7 -0
  92. package/dist/lib/node-esm/meta.json +1 -1
  93. package/dist/lib/node-esm/react-root-NBQQKAZD.mjs +29 -0
  94. package/dist/lib/node-esm/react-root-NBQQKAZD.mjs.map +7 -0
  95. package/dist/lib/node-esm/react-surface-G2H5T2D2.mjs +232 -0
  96. package/dist/lib/node-esm/react-surface-G2H5T2D2.mjs.map +7 -0
  97. package/dist/lib/node-esm/settings-VBAUB37B.mjs +25 -0
  98. package/dist/lib/node-esm/settings-VBAUB37B.mjs.map +7 -0
  99. package/dist/lib/node-esm/spaces-ready-ABADUX2P.mjs +200 -0
  100. package/dist/lib/node-esm/spaces-ready-ABADUX2P.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 +14 -5
  104. package/dist/types/src/SpacePlugin.d.ts +3 -22
  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 +196 -0
  115. package/dist/types/src/capabilities/index.d.ts.map +1 -0
  116. package/dist/types/src/capabilities/intent-resolver.d.ts +9 -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 +5 -4
  138. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  139. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +9 -9
  140. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  141. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts +1 -0
  142. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  143. package/dist/types/src/components/JoinDialog.d.ts +1 -0
  144. package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
  145. package/dist/types/src/components/PopoverRenameObject.d.ts +1 -0
  146. package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
  147. package/dist/types/src/components/PopoverRenameSpace.d.ts +1 -0
  148. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +1 -1
  149. package/dist/types/src/components/ShareSpaceButton.d.ts.map +1 -1
  150. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  151. package/dist/types/src/components/SpacePresence.d.ts +9 -6
  152. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  153. package/dist/types/src/components/SpacePresence.stories.d.ts +1 -1
  154. package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
  155. package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.d.ts +1 -0
  156. package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.d.ts.map +1 -1
  157. package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.stories.d.ts.map +1 -1
  158. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts +4 -3
  159. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts.map +1 -1
  160. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.stories.d.ts.map +1 -1
  161. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts +3 -3
  162. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +1 -1
  163. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  164. package/dist/types/src/components/SyncStatus/SyncStatusDetail.stories.d.ts +2 -2
  165. package/dist/types/src/components/SyncStatus/SyncStatusDetail.stories.d.ts.map +1 -1
  166. package/dist/types/src/components/index.d.ts +2 -1
  167. package/dist/types/src/components/index.d.ts.map +1 -1
  168. package/dist/types/src/events.d.ts +5 -0
  169. package/dist/types/src/events.d.ts.map +1 -0
  170. package/dist/types/src/hooks/index.d.ts +2 -0
  171. package/dist/types/src/hooks/index.d.ts.map +1 -0
  172. package/dist/types/src/hooks/usePath.d.ts +11 -0
  173. package/dist/types/src/hooks/usePath.d.ts.map +1 -0
  174. package/dist/types/src/index.d.ts +3 -5
  175. package/dist/types/src/index.d.ts.map +1 -1
  176. package/dist/types/src/meta.d.ts +2 -27
  177. package/dist/types/src/meta.d.ts.map +1 -1
  178. package/dist/types/src/translations.d.ts +18 -3
  179. package/dist/types/src/translations.d.ts.map +1 -1
  180. package/dist/types/src/types/collection.d.ts +8 -12
  181. package/dist/types/src/types/collection.d.ts.map +1 -1
  182. package/dist/types/src/types/thread.d.ts +180 -186
  183. package/dist/types/src/types/thread.d.ts.map +1 -1
  184. package/dist/types/src/types/types.d.ts +228 -16
  185. package/dist/types/src/types/types.d.ts.map +1 -1
  186. package/dist/types/src/util.d.ts +9 -8
  187. package/dist/types/src/util.d.ts.map +1 -1
  188. package/dist/types/tsconfig.tsbuildinfo +1 -0
  189. package/package.json +39 -46
  190. package/src/SpacePlugin.tsx +121 -1538
  191. package/src/capabilities/app-graph-builder.ts +393 -0
  192. package/src/capabilities/app-graph-serializer.ts +73 -0
  193. package/src/capabilities/capabilities.ts +26 -0
  194. package/src/capabilities/identity-created.ts +26 -0
  195. package/src/capabilities/index.ts +17 -0
  196. package/src/capabilities/intent-resolver.ts +518 -0
  197. package/src/capabilities/react-root.tsx +20 -0
  198. package/src/capabilities/react-surface.tsx +226 -0
  199. package/src/capabilities/settings.ts +17 -0
  200. package/src/capabilities/spaces-ready.ts +230 -0
  201. package/src/capabilities/state.ts +45 -0
  202. package/src/components/AdvancedObjectSettings/AdvancedObjectSettings.tsx +72 -0
  203. package/src/components/AdvancedObjectSettings/ForeignKeys.tsx +51 -0
  204. package/src/components/AdvancedObjectSettings/index.ts +5 -0
  205. package/src/components/AwaitingObject.tsx +15 -19
  206. package/src/components/{DefaultObjectSettings.tsx → BaseObjectSettings.tsx} +2 -2
  207. package/src/components/CreateDialog/CreateObjectDialog.tsx +49 -38
  208. package/src/components/CreateDialog/CreateObjectPanel.tsx +137 -101
  209. package/src/components/CreateDialog/CreateSpaceDialog.tsx +22 -17
  210. package/src/components/JoinDialog.tsx +40 -48
  211. package/src/components/PersistenceStatus.tsx +1 -1
  212. package/src/components/PopoverRenameObject.tsx +2 -0
  213. package/src/components/PopoverRenameSpace.tsx +2 -0
  214. package/src/components/ShareSpaceButton.tsx +5 -4
  215. package/src/components/SpacePluginSettings.tsx +5 -16
  216. package/src/components/SpacePresence.stories.tsx +27 -19
  217. package/src/components/SpacePresence.tsx +41 -21
  218. package/src/components/SpaceSettings/SpaceSettingsDialog.stories.tsx +2 -3
  219. package/src/components/SpaceSettings/SpaceSettingsDialog.tsx +19 -2
  220. package/src/components/SpaceSettings/SpaceSettingsPanel.stories.tsx +7 -5
  221. package/src/components/SpaceSettings/SpaceSettingsPanel.tsx +7 -7
  222. package/src/components/SyncStatus/InlineSyncStatus.tsx +37 -27
  223. package/src/components/SyncStatus/SyncStatus.tsx +2 -1
  224. package/src/components/SyncStatus/SyncStatusDetail.stories.tsx +55 -51
  225. package/src/components/index.ts +2 -1
  226. package/src/events.ts +12 -0
  227. package/src/hooks/index.ts +5 -0
  228. package/src/hooks/usePath.ts +44 -0
  229. package/src/index.ts +3 -7
  230. package/src/meta.ts +2 -29
  231. package/src/translations.ts +7 -2
  232. package/src/types/collection.ts +3 -3
  233. package/src/types/thread.ts +6 -6
  234. package/src/types/types.ts +177 -42
  235. package/src/util.tsx +82 -65
  236. package/dist/lib/browser/chunk-FTKV32QZ.mjs +0 -43
  237. package/dist/lib/browser/chunk-FTKV32QZ.mjs.map +0 -7
  238. package/dist/lib/browser/chunk-MWKXNS5S.mjs +0 -124
  239. package/dist/lib/browser/chunk-MWKXNS5S.mjs.map +0 -7
  240. package/dist/lib/browser/meta.mjs +0 -15
  241. package/dist/lib/browser/meta.mjs.map +0 -7
  242. package/dist/lib/node/chunk-6SNOZF7Y.cjs +0 -152
  243. package/dist/lib/node/chunk-6SNOZF7Y.cjs.map +0 -7
  244. package/dist/lib/node/chunk-QNVEU2UD.cjs +0 -69
  245. package/dist/lib/node/chunk-QNVEU2UD.cjs.map +0 -7
  246. package/dist/lib/node/meta.cjs.map +0 -7
  247. package/dist/lib/node-esm/chunk-OHEAWSCA.mjs +0 -126
  248. package/dist/lib/node-esm/chunk-OHEAWSCA.mjs.map +0 -7
  249. package/dist/lib/node-esm/chunk-UMV7XREB.mjs +0 -45
  250. package/dist/lib/node-esm/chunk-UMV7XREB.mjs.map +0 -7
  251. package/dist/lib/node-esm/meta.mjs +0 -16
  252. package/dist/lib/node-esm/meta.mjs.map +0 -7
  253. package/dist/types/src/components/DefaultObjectSettings.d.ts +0 -7
  254. package/dist/types/src/components/DefaultObjectSettings.d.ts.map +0 -1
  255. package/dist/types/src/components/SyncStatus/InlineSyncStatus.stories.d.ts +0 -6
  256. package/dist/types/src/components/SyncStatus/InlineSyncStatus.stories.d.ts.map +0 -1
  257. package/src/components/SyncStatus/InlineSyncStatus.stories.tsx +0 -57
@@ -2,22 +2,19 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import type {
6
- GraphBuilderProvides,
7
- GraphSerializerProvides,
8
- IntentResolverProvides,
9
- MetadataRecordsProvides,
10
- SettingsProvides,
11
- SurfaceProvides,
12
- TranslationsProvides,
13
- Plugin,
14
- } from '@dxos/app-framework';
15
- import { AST, S, type AbstractTypedObject, type Expando } from '@dxos/echo-schema';
16
- import { type PanelProvides } from '@dxos/plugin-deck/types';
5
+ import { AST, S, type Expando } from '@dxos/echo-schema';
17
6
  import { type PublicKey } from '@dxos/react-client';
18
- import { type Space } from '@dxos/react-client/echo';
7
+ import { EchoObjectSchema, ReactiveObjectSchema, type Space, SpaceSchema } from '@dxos/react-client/echo';
19
8
  import { type ComplexMap } from '@dxos/util';
20
9
 
10
+ import { CollectionType } from './collection';
11
+ import { SPACE_PLUGIN } from '../meta';
12
+
13
+ // I've copy pasted this here to not depend on the whole @dxos/app-framework package in types entrypoint.
14
+ /** @deprecated */
15
+ export const ActiveParts = S.Record({ key: S.String, value: S.Union(S.String, S.mutable(S.Array(S.String))) });
16
+ export type ActiveParts = S.Schema.Type<typeof ActiveParts>;
17
+
21
18
  export const SPACE_DIRECTORY_HANDLE = 'dxos.org/plugin/space/directory';
22
19
 
23
20
  export type ObjectViewerProps = {
@@ -67,36 +64,16 @@ export type PluginState = {
67
64
  enabledEdgeReplication: boolean;
68
65
  };
69
66
 
70
- export type SpaceSettingsProps = {
71
- /**
72
- * Show closed spaces.
73
- */
74
- showHidden?: boolean;
75
- };
67
+ export const SpaceSettingsSchema = S.mutable(
68
+ S.Struct({
69
+ /**
70
+ * Show closed spaces.
71
+ */
72
+ showHidden: S.Boolean,
73
+ }),
74
+ );
76
75
 
77
- export type SchemaProvides = {
78
- echo: {
79
- schema?: AbstractTypedObject[];
80
- system?: AbstractTypedObject[];
81
- };
82
- };
83
-
84
- export const parseSchemaPlugin = (plugin?: Plugin) =>
85
- Array.isArray((plugin?.provides as any).echo?.schema) || Array.isArray((plugin?.provides as any).echo?.system)
86
- ? (plugin as Plugin<SchemaProvides>)
87
- : undefined;
88
-
89
- export type SpacePluginProvides = SurfaceProvides &
90
- IntentResolverProvides &
91
- GraphBuilderProvides &
92
- GraphSerializerProvides &
93
- MetadataRecordsProvides &
94
- SettingsProvides<SpaceSettingsProps> &
95
- TranslationsProvides &
96
- SchemaProvides &
97
- PanelProvides & {
98
- space: Readonly<PluginState>;
99
- };
76
+ export type SpaceSettingsProps = S.Schema.Type<typeof SpaceSettingsSchema>;
100
77
 
101
78
  // TODO(wittjosiah): Reconcile with graph export serializers.
102
79
 
@@ -115,5 +92,163 @@ export interface TypedObjectSerializer<T extends Expando = Expando> {
115
92
 
116
93
  export const SpaceForm = S.Struct({
117
94
  name: S.optional(S.String.annotations({ [AST.TitleAnnotationId]: 'Name' })),
95
+ // TODO(wittjosiah): Make optional with default value.
118
96
  edgeReplication: S.Boolean.annotations({ [AST.TitleAnnotationId]: 'Enable EDGE Replication' }),
119
97
  });
98
+
99
+ export const SPACE_ACTION = `${SPACE_PLUGIN}/action`;
100
+
101
+ export namespace SpaceAction {
102
+ export class OpenCreateSpace extends S.TaggedClass<OpenCreateSpace>()(`${SPACE_ACTION}/open-create-space`, {
103
+ input: S.Void,
104
+ output: S.Void,
105
+ }) {}
106
+
107
+ export class Create extends S.TaggedClass<Create>()(`${SPACE_ACTION}/create`, {
108
+ input: SpaceForm,
109
+ output: S.Struct({
110
+ id: S.String,
111
+ subject: S.Array(S.String),
112
+ space: SpaceSchema,
113
+ }),
114
+ }) {}
115
+
116
+ export class Join extends S.TaggedClass<Join>()(`${SPACE_ACTION}/join`, {
117
+ input: S.Struct({
118
+ invitationCode: S.optional(S.String),
119
+ onDone: S.optional(S.Any),
120
+ }),
121
+ output: S.Void,
122
+ }) {}
123
+
124
+ export class Share extends S.TaggedClass<Share>()(`${SPACE_ACTION}/share`, {
125
+ input: S.Struct({
126
+ space: SpaceSchema,
127
+ }),
128
+ output: S.Void,
129
+ }) {}
130
+
131
+ export class Lock extends S.TaggedClass<Lock>()(`${SPACE_ACTION}/lock`, {
132
+ input: S.Struct({
133
+ space: SpaceSchema,
134
+ }),
135
+ output: S.Void,
136
+ }) {}
137
+
138
+ export class Unlock extends S.TaggedClass<Unlock>()(`${SPACE_ACTION}/unlock`, {
139
+ input: S.Struct({
140
+ space: SpaceSchema,
141
+ }),
142
+ output: S.Void,
143
+ }) {}
144
+
145
+ export class Rename extends S.TaggedClass<Rename>()(`${SPACE_ACTION}/rename`, {
146
+ input: S.Struct({
147
+ space: SpaceSchema,
148
+ caller: S.optional(S.String),
149
+ }),
150
+ output: S.Void,
151
+ }) {}
152
+
153
+ export class OpenSettings extends S.TaggedClass<OpenSettings>()(`${SPACE_ACTION}/open-settings`, {
154
+ input: S.Struct({
155
+ space: SpaceSchema,
156
+ }),
157
+ output: S.Void,
158
+ }) {}
159
+
160
+ export class Open extends S.TaggedClass<Open>()(`${SPACE_ACTION}/open`, {
161
+ input: S.Struct({
162
+ space: SpaceSchema,
163
+ }),
164
+ output: S.Void,
165
+ }) {}
166
+
167
+ export class Close extends S.TaggedClass<Close>()(`${SPACE_ACTION}/close`, {
168
+ input: S.Struct({
169
+ space: SpaceSchema,
170
+ }),
171
+ output: S.Void,
172
+ }) {}
173
+
174
+ export class Migrate extends S.TaggedClass<Migrate>()(`${SPACE_ACTION}/migrate`, {
175
+ input: S.Struct({
176
+ space: SpaceSchema,
177
+ version: S.optional(S.String),
178
+ }),
179
+ output: S.Boolean,
180
+ }) {}
181
+
182
+ export class OpenCreateObject extends S.TaggedClass<OpenCreateObject>()(`${SPACE_ACTION}/open-create-object`, {
183
+ input: S.Struct({
184
+ target: S.Union(SpaceSchema, CollectionType),
185
+ navigable: S.optional(S.Boolean),
186
+ }),
187
+ output: S.Void,
188
+ }) {}
189
+
190
+ export class AddObject extends S.TaggedClass<AddObject>()(`${SPACE_ACTION}/add-object`, {
191
+ input: S.Struct({
192
+ object: ReactiveObjectSchema,
193
+ target: S.Union(SpaceSchema, CollectionType),
194
+ }),
195
+ output: S.Struct({
196
+ id: S.String,
197
+ subject: S.Array(S.String),
198
+ object: EchoObjectSchema,
199
+ }),
200
+ }) {}
201
+
202
+ export const DeletionData = S.Struct({
203
+ objects: S.Array(EchoObjectSchema),
204
+ parentCollection: CollectionType,
205
+ indices: S.Array(S.Number),
206
+ nestedObjectsList: S.Array(S.Array(EchoObjectSchema)),
207
+ wasActive: S.Array(S.String),
208
+ });
209
+
210
+ export type DeletionData = S.Schema.Type<typeof DeletionData>;
211
+
212
+ export class RemoveObjects extends S.TaggedClass<RemoveObjects>()(`${SPACE_ACTION}/remove-objects`, {
213
+ input: S.Struct({
214
+ objects: S.Array(EchoObjectSchema),
215
+ target: S.optional(CollectionType),
216
+ deletionData: S.optional(DeletionData),
217
+ }),
218
+ output: S.Void,
219
+ }) {}
220
+
221
+ export class RenameObject extends S.TaggedClass<RenameObject>()(`${SPACE_ACTION}/rename-object`, {
222
+ input: S.Struct({
223
+ object: EchoObjectSchema,
224
+ caller: S.optional(S.String),
225
+ }),
226
+ output: S.Void,
227
+ }) {}
228
+
229
+ export class DuplicateObject extends S.TaggedClass<DuplicateObject>()(`${SPACE_ACTION}/duplicate-object`, {
230
+ input: S.Struct({
231
+ object: EchoObjectSchema,
232
+ target: S.Union(SpaceSchema, CollectionType),
233
+ }),
234
+ output: S.Void,
235
+ }) {}
236
+
237
+ export class WaitForObject extends S.TaggedClass<WaitForObject>()(`${SPACE_ACTION}/wait-for-object`, {
238
+ input: S.Struct({
239
+ id: S.optional(S.String),
240
+ }),
241
+ output: S.Void,
242
+ }) {}
243
+ }
244
+
245
+ export namespace CollectionAction {
246
+ export class Create extends S.TaggedClass<Create>()('dxos.org/plugin/collection/action/create', {
247
+ input: S.Struct({
248
+ name: S.optional(S.String),
249
+ }),
250
+ output: S.Struct({
251
+ object: CollectionType,
252
+ }),
253
+ }) {}
254
+ }
package/src/util.tsx CHANGED
@@ -2,10 +2,10 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { type IntentDispatcher, type MetadataResolver } from '@dxos/app-framework';
5
+ import { createIntent, type PromiseIntentDispatcher, LayoutAction } from '@dxos/app-framework';
6
6
  import { EXPANDO_TYPENAME, getObjectAnnotation, getTypename, type Expando } from '@dxos/echo-schema';
7
7
  import { invariant } from '@dxos/invariant';
8
- import { getSchema, isReactiveObject } from '@dxos/live-object';
8
+ import { getSchema, isReactiveObject, makeRef } from '@dxos/live-object';
9
9
  import { Migrations } from '@dxos/migrations';
10
10
  import {
11
11
  ACTION_GROUP_TYPE,
@@ -34,8 +34,8 @@ import {
34
34
  type Space,
35
35
  } from '@dxos/react-client/echo';
36
36
 
37
- import { SPACE_PLUGIN, SpaceAction } from './meta';
38
- import { CollectionType } from './types';
37
+ import { SPACE_PLUGIN } from './meta';
38
+ import { CollectionType, SpaceAction } from './types';
39
39
 
40
40
  export const SPACES = `${SPACE_PLUGIN}-spaces`;
41
41
  export const SPACE_TYPE = 'dxos.org/type/Space';
@@ -75,6 +75,7 @@ export const memoizeQuery = <T extends ReactiveEchoObject<any>>(
75
75
  return query?.objects ?? EMPTY_ARRAY;
76
76
  };
77
77
 
78
+ // TODO(wittjosiah): Factor out? Expose via capability?
78
79
  export const getSpaceDisplayName = (
79
80
  space: Space,
80
81
  { personal, namesCache = {} }: { personal?: boolean; namesCache?: Record<string, string> } = {},
@@ -97,7 +98,7 @@ const getCollectionGraphNodePartials = ({
97
98
  navigable: boolean;
98
99
  collection: CollectionType;
99
100
  space: Space;
100
- resolve: MetadataResolver;
101
+ resolve: (typename: string) => Record<string, any>;
101
102
  }) => {
102
103
  return {
103
104
  disabled: !navigable,
@@ -106,7 +107,7 @@ const getCollectionGraphNodePartials = ({
106
107
  role: 'branch',
107
108
  onRearrangeChildren: (nextOrder: unknown[]) => {
108
109
  // Change on disk.
109
- collection.objects = nextOrder.filter(isEchoObject);
110
+ collection.objects = nextOrder.filter(isEchoObject).map(makeRef);
110
111
  },
111
112
  onTransferStart: (child: Node<ReactiveEchoObject<any>>, index?: number) => {
112
113
  // TODO(wittjosiah): Support transfer between spaces.
@@ -126,11 +127,12 @@ const getCollectionGraphNodePartials = ({
126
127
  // } else {
127
128
 
128
129
  // Add child to destination collection.
129
- if (!collection.objects.includes(child.data)) {
130
+ // TODO(dmaretskyi): Compare by id.
131
+ if (!collection.objects.find((object) => object.target === child.data)) {
130
132
  if (typeof index !== 'undefined') {
131
- collection.objects.splice(index, 0, child.data);
133
+ collection.objects.splice(index, 0, makeRef(child.data));
132
134
  } else {
133
- collection.objects.push(child.data);
135
+ collection.objects.push(makeRef(child.data));
134
136
  }
135
137
  }
136
138
 
@@ -138,7 +140,7 @@ const getCollectionGraphNodePartials = ({
138
140
  },
139
141
  onTransferEnd: (child: Node<ReactiveEchoObject<any>>, destination: Node) => {
140
142
  // Remove child from origin collection.
141
- const index = collection.objects.indexOf(child.data);
143
+ const index = collection.objects.findIndex((object) => object.target === child.data);
142
144
  if (index > -1) {
143
145
  collection.objects.splice(index, 1);
144
146
  }
@@ -157,9 +159,9 @@ const getCollectionGraphNodePartials = ({
157
159
  const newObject = await cloneObject(child.data, resolve, space);
158
160
  space.db.add(newObject);
159
161
  if (typeof index !== 'undefined') {
160
- collection.objects.splice(index, 0, newObject);
162
+ collection.objects.splice(index, 0, makeRef(newObject));
161
163
  } else {
162
- collection.objects.push(newObject);
164
+ collection.objects.push(makeRef(newObject));
163
165
  }
164
166
  },
165
167
  };
@@ -185,10 +187,10 @@ export const constructSpaceNode = ({
185
187
  navigable?: boolean;
186
188
  personal?: boolean;
187
189
  namesCache?: Record<string, string>;
188
- resolve: MetadataResolver;
190
+ resolve: (typename: string) => Record<string, any>;
189
191
  }) => {
190
192
  const hasPendingMigration = checkPendingMigration(space);
191
- const collection = space.state.get() === SpaceState.SPACE_READY && space.properties[CollectionType.typename];
193
+ const collection = space.state.get() === SpaceState.SPACE_READY && space.properties[CollectionType.typename]?.target;
192
194
  const partials =
193
195
  space.state.get() === SpaceState.SPACE_READY && collection instanceof CollectionType
194
196
  ? getCollectionGraphNodePartials({ collection, space, resolve, navigable })
@@ -217,7 +219,7 @@ export const constructSpaceActions = ({
217
219
  migrating,
218
220
  }: {
219
221
  space: Space;
220
- dispatch: IntentDispatcher;
222
+ dispatch: PromiseIntentDispatcher;
221
223
  personal?: boolean;
222
224
  migrating?: boolean;
223
225
  }) => {
@@ -228,10 +230,10 @@ export const constructSpaceActions = ({
228
230
 
229
231
  if (hasPendingMigration) {
230
232
  actions.push({
231
- id: getId(SpaceAction.MIGRATE),
233
+ id: getId(SpaceAction.Migrate._tag),
232
234
  type: ACTION_GROUP_TYPE,
233
235
  data: async () => {
234
- await dispatch({ plugin: SPACE_PLUGIN, action: SpaceAction.MIGRATE, data: { space } });
236
+ await dispatch(createIntent(SpaceAction.Migrate, { space }));
235
237
  },
236
238
  properties: {
237
239
  label: ['migrate space label', { ns: SPACE_PLUGIN }],
@@ -246,31 +248,35 @@ export const constructSpaceActions = ({
246
248
  const locked = space.properties[COMPOSER_SPACE_LOCK];
247
249
  actions.push(
248
250
  {
249
- id: getId(SpaceAction.OPEN_CREATE_OBJECT),
251
+ id: getId(SpaceAction.OpenCreateObject._tag),
250
252
  type: ACTION_TYPE,
251
253
  data: async () => {
252
- await dispatch({ plugin: SPACE_PLUGIN, action: SpaceAction.OPEN_CREATE_OBJECT, data: { target: space } });
254
+ await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: space }));
253
255
  },
254
256
  properties: {
255
257
  label: ['create object in space label', { ns: SPACE_PLUGIN }],
256
258
  icon: 'ph--plus--regular',
257
- disposition: 'toolbar',
259
+ disposition: 'item',
258
260
  testId: 'spacePlugin.createObject',
259
261
  },
260
262
  },
261
263
  {
262
- id: getId(SpaceAction.SHARE),
264
+ id: getId(SpaceAction.Share._tag),
263
265
  type: ACTION_TYPE,
264
266
  data: async () => {
265
267
  if (locked) {
266
268
  return;
267
269
  }
268
- await dispatch({ plugin: SPACE_PLUGIN, action: SpaceAction.SHARE, data: { space } });
270
+ await dispatch(createIntent(SpaceAction.Share, { space }));
269
271
  },
270
272
  properties: {
271
273
  label: ['share space label', { ns: SPACE_PLUGIN }],
272
274
  icon: 'ph--users--regular',
273
275
  disabled: locked,
276
+ disposition: 'toolbar',
277
+ iconOnly: false,
278
+ variant: 'default',
279
+ testId: 'spacePlugin.shareSpace',
274
280
  keyBinding: {
275
281
  macos: 'meta+.',
276
282
  windows: 'alt+.',
@@ -278,14 +284,14 @@ export const constructSpaceActions = ({
278
284
  },
279
285
  },
280
286
  {
281
- id: locked ? getId(SpaceAction.UNLOCK) : getId(SpaceAction.LOCK),
287
+ id: locked ? getId(SpaceAction.Unlock._tag) : getId(SpaceAction.Lock._tag),
282
288
  type: ACTION_TYPE,
283
289
  data: async () => {
284
- await dispatch({
285
- plugin: SPACE_PLUGIN,
286
- action: locked ? SpaceAction.UNLOCK : SpaceAction.LOCK,
287
- data: { space },
288
- });
290
+ if (locked) {
291
+ await dispatch(createIntent(SpaceAction.Unlock, { space }));
292
+ } else {
293
+ await dispatch(createIntent(SpaceAction.Lock, { space }));
294
+ }
289
295
  },
290
296
  properties: {
291
297
  label: [locked ? 'unlock space label' : 'lock space label', { ns: SPACE_PLUGIN }],
@@ -293,10 +299,10 @@ export const constructSpaceActions = ({
293
299
  },
294
300
  },
295
301
  {
296
- id: getId(SpaceAction.RENAME),
302
+ id: getId(SpaceAction.Rename._tag),
297
303
  type: ACTION_TYPE,
298
304
  data: async (params: InvokeParams) => {
299
- await dispatch({ plugin: SPACE_PLUGIN, action: SpaceAction.RENAME, data: { space, ...params } });
305
+ await dispatch(createIntent(SpaceAction.Rename, { space, caller: params.caller }));
300
306
  },
301
307
  properties: {
302
308
  label: ['rename space label', { ns: SPACE_PLUGIN }],
@@ -308,10 +314,10 @@ export const constructSpaceActions = ({
308
314
  },
309
315
  },
310
316
  {
311
- id: getId(SpaceAction.OPEN_SETTINGS),
317
+ id: getId(SpaceAction.OpenSettings._tag),
312
318
  type: ACTION_TYPE,
313
319
  data: async () => {
314
- await dispatch({ plugin: SPACE_PLUGIN, action: SpaceAction.OPEN_SETTINGS, data: { space } });
320
+ await dispatch(createIntent(SpaceAction.OpenSettings, { space }));
315
321
  },
316
322
  properties: {
317
323
  label: ['open space settings label', { ns: SPACE_PLUGIN }],
@@ -324,10 +330,10 @@ export const constructSpaceActions = ({
324
330
  // TODO(wittjosiah): Consider moving close space into the space settings dialog.
325
331
  if (state !== SpaceState.SPACE_INACTIVE && !hasPendingMigration) {
326
332
  actions.push({
327
- id: getId(SpaceAction.CLOSE),
333
+ id: getId(SpaceAction.Close._tag),
328
334
  type: ACTION_TYPE,
329
335
  data: async () => {
330
- await dispatch({ plugin: SPACE_PLUGIN, action: SpaceAction.CLOSE, data: { space } });
336
+ await dispatch(createIntent(SpaceAction.Close, { space }));
331
337
  },
332
338
  properties: {
333
339
  label: ['close space label', { ns: SPACE_PLUGIN }],
@@ -339,10 +345,10 @@ export const constructSpaceActions = ({
339
345
 
340
346
  if (state === SpaceState.SPACE_INACTIVE) {
341
347
  actions.push({
342
- id: getId(SpaceAction.OPEN),
348
+ id: getId(SpaceAction.Open._tag),
343
349
  type: ACTION_TYPE,
344
350
  data: async () => {
345
- await dispatch({ plugin: SPACE_PLUGIN, action: SpaceAction.OPEN, data: { space } });
351
+ await dispatch(createIntent(SpaceAction.Open, { space }));
346
352
  },
347
353
  properties: {
348
354
  label: ['open space label', { ns: SPACE_PLUGIN }],
@@ -364,7 +370,7 @@ export const createObjectNode = ({
364
370
  object: ReactiveEchoObject<any>;
365
371
  space: Space;
366
372
  navigable?: boolean;
367
- resolve: MetadataResolver;
373
+ resolve: (typename: string) => Record<string, any>;
368
374
  }) => {
369
375
  const type = getTypename(object);
370
376
  if (!type) {
@@ -402,9 +408,11 @@ export const createObjectNode = ({
402
408
  export const constructObjectActions = ({
403
409
  node,
404
410
  dispatch,
411
+ navigable = false,
405
412
  }: {
406
413
  node: Node<ReactiveEchoObject<any>>;
407
- dispatch: IntentDispatcher;
414
+ dispatch: PromiseIntentDispatcher;
415
+ navigable?: boolean;
408
416
  }) => {
409
417
  const object = node.data;
410
418
  const getId = (id: string) => `${id}/${fullyQualifiedId(object)}`;
@@ -412,14 +420,10 @@ export const constructObjectActions = ({
412
420
  ...(object instanceof CollectionType
413
421
  ? [
414
422
  {
415
- id: getId(SpaceAction.ADD_OBJECT),
423
+ id: getId(SpaceAction.OpenCreateObject._tag),
416
424
  type: ACTION_TYPE,
417
425
  data: async () => {
418
- await dispatch({
419
- plugin: SPACE_PLUGIN,
420
- action: SpaceAction.OPEN_CREATE_OBJECT,
421
- data: { target: object },
422
- });
426
+ await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: object }));
423
427
  },
424
428
  properties: {
425
429
  label: ['create object in collection label', { ns: SPACE_PLUGIN }],
@@ -431,13 +435,10 @@ export const constructObjectActions = ({
431
435
  ]
432
436
  : []),
433
437
  {
434
- id: getId(SpaceAction.RENAME_OBJECT),
438
+ id: getId(SpaceAction.RenameObject._tag),
435
439
  type: ACTION_TYPE,
436
440
  data: async (params: InvokeParams) => {
437
- await dispatch({
438
- action: SpaceAction.RENAME_OBJECT,
439
- data: { object, ...params },
440
- });
441
+ await dispatch(createIntent(SpaceAction.RenameObject, { object, caller: params.caller }));
441
442
  },
442
443
  properties: {
443
444
  label: [
@@ -451,19 +452,14 @@ export const constructObjectActions = ({
451
452
  },
452
453
  },
453
454
  {
454
- id: getId(SpaceAction.REMOVE_OBJECTS),
455
+ id: getId(SpaceAction.RemoveObjects._tag),
455
456
  type: ACTION_TYPE,
456
457
  data: async () => {
457
458
  const graph = getGraph(node);
458
459
  const collection = graph
459
460
  .nodes(node, { relation: 'inbound' })
460
461
  .find(({ data }) => data instanceof CollectionType)?.data;
461
- await dispatch([
462
- {
463
- action: SpaceAction.REMOVE_OBJECTS,
464
- data: { objects: [object], collection },
465
- },
466
- ]);
462
+ await dispatch(createIntent(SpaceAction.RemoveObjects, { objects: [object], target: collection }));
467
463
  },
468
464
  properties: {
469
465
  label: [
@@ -475,17 +471,34 @@ export const constructObjectActions = ({
475
471
  testId: 'spacePlugin.deleteObject',
476
472
  },
477
473
  },
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
+ : []),
491
+ // TODO(wittjosiah): Factor out and apply to all nodes.
478
492
  {
479
- id: getId('copy-link'),
493
+ id: getId(LayoutAction.Expose._tag),
480
494
  type: ACTION_TYPE,
481
495
  data: async () => {
482
- const url = `${window.location.origin}/${fullyQualifiedId(object)}`;
483
- await navigator.clipboard.writeText(url);
496
+ await dispatch(createIntent(LayoutAction.Expose, { part: 'navigation', subject: fullyQualifiedId(object) }));
484
497
  },
485
498
  properties: {
486
- label: ['copy link label', { ns: SPACE_PLUGIN }],
487
- icon: 'ph--link--regular',
488
- testId: 'spacePlugin.copyLink',
499
+ label: ['expose object label', { ns: SPACE_PLUGIN }],
500
+ icon: 'ph--eye--regular',
501
+ testId: 'spacePlugin.exposeObject',
489
502
  },
490
503
  },
491
504
  ];
@@ -514,7 +527,7 @@ export const getActiveSpace = (graph: Graph, active?: string) => {
514
527
  */
515
528
  export const getNestedObjects = async (
516
529
  object: ReactiveEchoObject<any>,
517
- resolve: MetadataResolver,
530
+ resolve: (typename: string) => Record<string, any>,
518
531
  ): Promise<ReactiveEchoObject<any>[]> => {
519
532
  const type = getTypename(object);
520
533
  if (!type) {
@@ -522,7 +535,7 @@ export const getNestedObjects = async (
522
535
  }
523
536
 
524
537
  const metadata = resolve(type);
525
- const loadReferences = metadata.loadReferences;
538
+ const loadReferences = metadata?.loadReferences;
526
539
  if (typeof loadReferences !== 'function') {
527
540
  return [];
528
541
  }
@@ -536,7 +549,11 @@ export const getNestedObjects = async (
536
549
  * @deprecated Workaround for ECHO not supporting clone.
537
550
  */
538
551
  // TODO(burdon): Remove.
539
- 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> => {
540
557
  const schema = getSchema(object);
541
558
  const typename = schema ? getObjectAnnotation(schema)?.typename ?? EXPANDO_TYPENAME : EXPANDO_TYPENAME;
542
559
  const metadata = resolve(typename);
@@ -1,43 +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
- var SPACE_ACTION = `${SPACE_PLUGIN}/action`;
10
- var SpaceAction;
11
- (function(SpaceAction2) {
12
- SpaceAction2[SpaceAction2["OPEN_CREATE_SPACE"] = `${SPACE_ACTION}/open-create-space`] = "OPEN_CREATE_SPACE";
13
- SpaceAction2[SpaceAction2["CREATE"] = `${SPACE_ACTION}/create`] = "CREATE";
14
- SpaceAction2[SpaceAction2["JOIN"] = `${SPACE_ACTION}/join`] = "JOIN";
15
- SpaceAction2[SpaceAction2["SHARE"] = `${SPACE_ACTION}/share`] = "SHARE";
16
- SpaceAction2[SpaceAction2["LOCK"] = `${SPACE_ACTION}/lock`] = "LOCK";
17
- SpaceAction2[SpaceAction2["UNLOCK"] = `${SPACE_ACTION}/unlock`] = "UNLOCK";
18
- SpaceAction2[SpaceAction2["RENAME"] = `${SPACE_ACTION}/rename`] = "RENAME";
19
- SpaceAction2[SpaceAction2["OPEN"] = `${SPACE_ACTION}/open`] = "OPEN";
20
- SpaceAction2[SpaceAction2["CLOSE"] = `${SPACE_ACTION}/close`] = "CLOSE";
21
- SpaceAction2[SpaceAction2["MIGRATE"] = `${SPACE_ACTION}/migrate`] = "MIGRATE";
22
- SpaceAction2[SpaceAction2["OPEN_CREATE_OBJECT"] = `${SPACE_ACTION}/open-create-object`] = "OPEN_CREATE_OBJECT";
23
- SpaceAction2[SpaceAction2["ADD_OBJECT"] = `${SPACE_ACTION}/add-object`] = "ADD_OBJECT";
24
- SpaceAction2[SpaceAction2["REMOVE_OBJECTS"] = `${SPACE_ACTION}/remove-objects`] = "REMOVE_OBJECTS";
25
- SpaceAction2[SpaceAction2["RENAME_OBJECT"] = `${SPACE_ACTION}/rename-object`] = "RENAME_OBJECT";
26
- SpaceAction2[SpaceAction2["DUPLICATE_OBJECT"] = `${SPACE_ACTION}/duplicate-object`] = "DUPLICATE_OBJECT";
27
- SpaceAction2[SpaceAction2["WAIT_FOR_OBJECT"] = `${SPACE_ACTION}/wait-for-object`] = "WAIT_FOR_OBJECT";
28
- SpaceAction2[SpaceAction2["TOGGLE_HIDDEN"] = `${SPACE_ACTION}/toggle-hidden`] = "TOGGLE_HIDDEN";
29
- SpaceAction2[SpaceAction2["OPEN_SETTINGS"] = `${SPACE_ACTION}/open-settings`] = "OPEN_SETTINGS";
30
- })(SpaceAction || (SpaceAction = {}));
31
- var CollectionAction;
32
- (function(CollectionAction2) {
33
- CollectionAction2["CREATE"] = "dxos.org/plugin/collection/action/create";
34
- })(CollectionAction || (CollectionAction = {}));
35
-
36
- export {
37
- SPACE_PLUGIN,
38
- SPACE_PLUGIN_SHORT_ID,
39
- meta_default,
40
- SpaceAction,
41
- CollectionAction
42
- };
43
- //# sourceMappingURL=chunk-FTKV32QZ.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\nconst SPACE_ACTION = `${SPACE_PLUGIN}/action`;\nexport enum SpaceAction {\n OPEN_CREATE_SPACE = `${SPACE_ACTION}/open-create-space`,\n CREATE = `${SPACE_ACTION}/create`,\n JOIN = `${SPACE_ACTION}/join`,\n SHARE = `${SPACE_ACTION}/share`,\n LOCK = `${SPACE_ACTION}/lock`,\n UNLOCK = `${SPACE_ACTION}/unlock`,\n RENAME = `${SPACE_ACTION}/rename`,\n OPEN = `${SPACE_ACTION}/open`,\n CLOSE = `${SPACE_ACTION}/close`,\n MIGRATE = `${SPACE_ACTION}/migrate`,\n OPEN_CREATE_OBJECT = `${SPACE_ACTION}/open-create-object`,\n ADD_OBJECT = `${SPACE_ACTION}/add-object`,\n REMOVE_OBJECTS = `${SPACE_ACTION}/remove-objects`,\n RENAME_OBJECT = `${SPACE_ACTION}/rename-object`,\n DUPLICATE_OBJECT = `${SPACE_ACTION}/duplicate-object`,\n WAIT_FOR_OBJECT = `${SPACE_ACTION}/wait-for-object`,\n TOGGLE_HIDDEN = `${SPACE_ACTION}/toggle-hidden`,\n OPEN_SETTINGS = `${SPACE_ACTION}/open-settings`,\n}\n\nexport enum CollectionAction {\n CREATE = 'dxos.org/plugin/collection/action/create',\n}\n"],
5
- "mappings": ";AAMO,IAAMA,eAAe;AACrB,IAAMC,wBAAwB;AAErC,IAAA,eAAe;EACbC,IAAIF;EACJG,SAASF;EACTG,MAAM;AACR;AAEA,IAAMC,eAAe,GAAGL,YAAAA;;UACZM,cAAAA;mDACU,GAAGD,YAAAA,oBAAgC,IAAA;wCAC9C,GAAGA,YAAAA,SAAqB,IAAA;sCAC1B,GAAGA,YAAAA,OAAmB,IAAA;uCACrB,GAAGA,YAAAA,QAAoB,IAAA;sCACxB,GAAGA,YAAAA,OAAmB,IAAA;wCACpB,GAAGA,YAAAA,SAAqB,IAAA;wCACxB,GAAGA,YAAAA,SAAqB,IAAA;sCAC1B,GAAGA,YAAAA,OAAmB,IAAA;uCACrB,GAAGA,YAAAA,QAAoB,IAAA;yCACrB,GAAGA,YAAAA,UAAsB,IAAA;oDACd,GAAGA,YAAAA,qBAAiC,IAAA;4CAC5C,GAAGA,YAAAA,aAAyB,IAAA;gDACxB,GAAGA,YAAAA,iBAA6B,IAAA;+CACjC,GAAGA,YAAAA,gBAA4B,IAAA;kDAC5B,GAAGA,YAAAA,mBAA+B,IAAA;iDACnC,GAAGA,YAAAA,kBAA8B,IAAA;+CACnC,GAAGA,YAAAA,gBAA4B,IAAA;+CAC/B,GAAGA,YAAAA,gBAA4B,IAAA;GAlBrCC,gBAAAA,cAAAA,CAAAA,EAAAA;;UAqBAC,mBAAAA;;GAAAA,qBAAAA,mBAAAA,CAAAA,EAAAA;",
6
- "names": ["SPACE_PLUGIN", "SPACE_PLUGIN_SHORT_ID", "id", "shortId", "name", "SPACE_ACTION", "SpaceAction", "CollectionAction"]
7
- }