@dxos/plugin-space 0.8.2-main.12df754 → 0.8.2-main.30e4dbb

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (227) hide show
  1. package/dist/lib/browser/{app-graph-builder-J4PN5HOM.mjs → app-graph-builder-6KVRD7OJ.mjs} +30 -13
  2. package/dist/lib/browser/app-graph-builder-6KVRD7OJ.mjs.map +7 -0
  3. package/dist/lib/browser/{app-graph-serializer-6WIAFHYK.mjs → app-graph-serializer-N7KZGCST.mjs} +4 -4
  4. package/dist/lib/browser/chunk-CY35NLWL.mjs +296 -0
  5. package/dist/lib/browser/chunk-CY35NLWL.mjs.map +7 -0
  6. package/dist/lib/browser/{chunk-FSHDAPFY.mjs → chunk-F57CTUM6.mjs} +4 -4
  7. package/dist/lib/browser/chunk-F57CTUM6.mjs.map +7 -0
  8. package/dist/lib/browser/{chunk-MHTZAZT2.mjs → chunk-V4VNP2WY.mjs} +161 -213
  9. package/dist/lib/browser/chunk-V4VNP2WY.mjs.map +7 -0
  10. package/dist/lib/browser/{chunk-MIJHUABE.mjs → chunk-XC4BXZVV.mjs} +2 -3
  11. package/dist/lib/browser/chunk-XC4BXZVV.mjs.map +7 -0
  12. package/dist/lib/browser/{identity-created-DVHNLGYU.mjs → identity-created-74EHBH7M.mjs} +2 -2
  13. package/dist/lib/browser/index.mjs +13 -20
  14. package/dist/lib/browser/index.mjs.map +3 -3
  15. package/dist/lib/browser/{intent-resolver-72IWBVYE.mjs → intent-resolver-FZ64VJKZ.mjs} +83 -88
  16. package/dist/lib/browser/intent-resolver-FZ64VJKZ.mjs.map +7 -0
  17. package/dist/lib/browser/meta.json +1 -1
  18. package/dist/lib/browser/{react-root-DRVM5ACV.mjs → react-root-2EFJCOX7.mjs} +4 -4
  19. package/dist/lib/browser/{react-surface-KODNQYDN.mjs → react-surface-N5OGF7TQ.mjs} +5 -30
  20. package/dist/lib/browser/react-surface-N5OGF7TQ.mjs.map +7 -0
  21. package/dist/lib/browser/{schema-FHTA26SW.mjs → schema-defs-FLFEUSLB.mjs} +4 -4
  22. package/dist/lib/browser/{schema-FHTA26SW.mjs.map → schema-defs-FLFEUSLB.mjs.map} +2 -2
  23. package/dist/lib/browser/{schema-tools-YAXPRIXP.mjs → schema-tools-MYC4LTQD.mjs} +22 -22
  24. package/dist/lib/browser/schema-tools-MYC4LTQD.mjs.map +7 -0
  25. package/dist/lib/browser/{settings-2UIV5WX5.mjs → settings-G24447B7.mjs} +2 -2
  26. package/dist/lib/browser/{spaces-ready-3URIMLCR.mjs → spaces-ready-ZSUEPHJF.mjs} +3 -3
  27. package/dist/lib/browser/types/index.mjs +1 -1
  28. package/dist/lib/node/{app-graph-builder-3BNPC5GB.cjs → app-graph-builder-6VR2TBBF.cjs} +56 -39
  29. package/dist/lib/node/app-graph-builder-6VR2TBBF.cjs.map +7 -0
  30. package/dist/lib/node/{app-graph-serializer-GOLCQHFQ.cjs → app-graph-serializer-IKQLWTCX.cjs} +20 -20
  31. package/dist/lib/node/{chunk-U63V2254.cjs → chunk-FILCZU6V.cjs} +29 -29
  32. package/dist/lib/node/chunk-FILCZU6V.cjs.map +7 -0
  33. package/dist/lib/node/chunk-K6ZO4WDJ.cjs +324 -0
  34. package/dist/lib/node/chunk-K6ZO4WDJ.cjs.map +7 -0
  35. package/dist/lib/node/{chunk-GPZPEQXP.cjs → chunk-P2ZIVXGY.cjs} +215 -267
  36. package/dist/lib/node/chunk-P2ZIVXGY.cjs.map +7 -0
  37. package/dist/lib/node/{chunk-EI3ZPOLJ.cjs → chunk-YAE6CCDB.cjs} +6 -7
  38. package/dist/lib/node/chunk-YAE6CCDB.cjs.map +7 -0
  39. package/dist/lib/node/{identity-created-YYTW4K3Z.cjs → identity-created-PCQPDULV.cjs} +6 -6
  40. package/dist/lib/node/index.cjs +66 -73
  41. package/dist/lib/node/index.cjs.map +3 -3
  42. package/dist/lib/node/{intent-resolver-KA56XGUX.cjs → intent-resolver-BK6JDXY4.cjs} +126 -130
  43. package/dist/lib/node/intent-resolver-BK6JDXY4.cjs.map +7 -0
  44. package/dist/lib/node/meta.json +1 -1
  45. package/dist/lib/node/{react-root-6WGN5WRQ.cjs → react-root-DEQFKQVD.cjs} +8 -8
  46. package/dist/lib/node/{react-surface-37AVZFPL.cjs → react-surface-UQD7LR67.cjs} +41 -64
  47. package/dist/lib/node/react-surface-UQD7LR67.cjs.map +7 -0
  48. package/dist/lib/node/{schema-PPJ5BZ3A.cjs → schema-defs-PKZVL52M.cjs} +6 -6
  49. package/dist/lib/node/{schema-PPJ5BZ3A.cjs.map → schema-defs-PKZVL52M.cjs.map} +2 -2
  50. package/dist/lib/node/{schema-tools-BLIMOZYY.cjs → schema-tools-OE3MFYYH.cjs} +24 -24
  51. package/dist/lib/node/schema-tools-OE3MFYYH.cjs.map +7 -0
  52. package/dist/lib/node/{settings-HJROTHC4.cjs → settings-AFWO4AWK.cjs} +6 -6
  53. package/dist/lib/node/{spaces-ready-IWDDIAAD.cjs → spaces-ready-MHLUFLXN.cjs} +11 -11
  54. package/dist/lib/node/types/index.cjs +15 -15
  55. package/dist/lib/node/types/index.cjs.map +1 -1
  56. package/dist/lib/node-esm/{app-graph-builder-OVMSUAX3.mjs → app-graph-builder-O7M6MVS5.mjs} +30 -13
  57. package/dist/lib/node-esm/app-graph-builder-O7M6MVS5.mjs.map +7 -0
  58. package/dist/lib/node-esm/{app-graph-serializer-AZXSO7HK.mjs → app-graph-serializer-I6XBQJLA.mjs} +4 -4
  59. package/dist/lib/node-esm/chunk-CLRCW6PU.mjs +297 -0
  60. package/dist/lib/node-esm/chunk-CLRCW6PU.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-TVN6VHTT.mjs → chunk-COHDPHM7.mjs} +4 -4
  62. package/dist/lib/node-esm/chunk-COHDPHM7.mjs.map +7 -0
  63. package/dist/lib/node-esm/{chunk-DUA32XUX.mjs → chunk-HEXOMJIR.mjs} +2 -3
  64. package/dist/lib/node-esm/chunk-HEXOMJIR.mjs.map +7 -0
  65. package/dist/lib/node-esm/{chunk-ABKX22IP.mjs → chunk-TB557OBD.mjs} +161 -213
  66. package/dist/lib/node-esm/chunk-TB557OBD.mjs.map +7 -0
  67. package/dist/lib/node-esm/{identity-created-MP4GLXHO.mjs → identity-created-GXS46A3C.mjs} +2 -2
  68. package/dist/lib/node-esm/index.mjs +13 -20
  69. package/dist/lib/node-esm/index.mjs.map +3 -3
  70. package/dist/lib/node-esm/{intent-resolver-SG2ECM5R.mjs → intent-resolver-6VPP3ZDO.mjs} +83 -88
  71. package/dist/lib/node-esm/intent-resolver-6VPP3ZDO.mjs.map +7 -0
  72. package/dist/lib/node-esm/meta.json +1 -1
  73. package/dist/lib/node-esm/{react-root-MSUT6S2S.mjs → react-root-2RJ2S5E6.mjs} +4 -4
  74. package/dist/lib/node-esm/{react-surface-G73SO23W.mjs → react-surface-2RSRATVY.mjs} +5 -30
  75. package/dist/lib/node-esm/react-surface-2RSRATVY.mjs.map +7 -0
  76. package/dist/lib/node-esm/{schema-OUZKVYM5.mjs → schema-defs-IIEQR7B3.mjs} +4 -4
  77. package/dist/lib/node-esm/{schema-OUZKVYM5.mjs.map → schema-defs-IIEQR7B3.mjs.map} +2 -2
  78. package/dist/lib/node-esm/{schema-tools-IU7EX5A5.mjs → schema-tools-YTJLA3NQ.mjs} +22 -22
  79. package/dist/lib/node-esm/schema-tools-YTJLA3NQ.mjs.map +7 -0
  80. package/dist/lib/node-esm/{settings-KCLKPJVY.mjs → settings-MJVSCOI4.mjs} +2 -2
  81. package/dist/lib/node-esm/{spaces-ready-Z3SXKWX2.mjs → spaces-ready-35U5BBTH.mjs} +3 -3
  82. package/dist/lib/node-esm/types/index.mjs +1 -1
  83. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  84. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  85. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  86. package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
  87. package/dist/types/src/capabilities/index.d.ts +3 -2
  88. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  89. package/dist/types/src/capabilities/intent-resolver.d.ts +2 -1
  90. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  91. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  92. package/dist/types/src/capabilities/{schema.d.ts → schema-defs.d.ts} +1 -1
  93. package/dist/types/src/capabilities/schema-defs.d.ts.map +1 -0
  94. package/dist/types/src/capabilities/schema-tools.d.ts +2 -2
  95. package/dist/types/src/capabilities/schema-tools.d.ts.map +1 -1
  96. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  97. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  98. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  99. package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
  100. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  101. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  102. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  103. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  104. package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
  105. package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
  106. package/dist/types/src/components/MembersContainer.stories.d.ts.map +1 -1
  107. package/dist/types/src/components/MenuFooter.d.ts +2 -2
  108. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  109. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts +2 -2
  110. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
  111. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +2 -2
  112. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
  113. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +1 -1
  114. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts +2 -2
  115. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +1 -1
  116. package/dist/types/src/components/PersistenceStatus.d.ts.map +1 -1
  117. package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
  118. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +1 -1
  119. package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
  120. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  121. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  122. package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
  123. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  124. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +1 -1
  125. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  126. package/dist/types/src/components/SyncStatus/save-tracker.d.ts.map +1 -1
  127. package/dist/types/src/components/SyncStatus/status.d.ts.map +1 -1
  128. package/dist/types/src/components/index.d.ts +0 -2
  129. package/dist/types/src/components/index.d.ts.map +1 -1
  130. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +2 -2
  131. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  132. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  133. package/dist/types/src/translations.d.ts +2 -263
  134. package/dist/types/src/translations.d.ts.map +1 -1
  135. package/dist/types/src/types/collection.d.ts +9 -8
  136. package/dist/types/src/types/collection.d.ts.map +1 -1
  137. package/dist/types/src/types/thread.d.ts +329 -110
  138. package/dist/types/src/types/thread.d.ts.map +1 -1
  139. package/dist/types/src/types/types.d.ts +154 -142
  140. package/dist/types/src/types/types.d.ts.map +1 -1
  141. package/dist/types/src/util.d.ts +4 -4
  142. package/dist/types/src/util.d.ts.map +1 -1
  143. package/dist/types/tsconfig.tsbuildinfo +1 -1
  144. package/package.json +46 -45
  145. package/src/SpacePlugin.tsx +9 -8
  146. package/src/capabilities/app-graph-builder.ts +26 -14
  147. package/src/capabilities/index.ts +2 -2
  148. package/src/capabilities/intent-resolver.ts +77 -87
  149. package/src/capabilities/react-surface.tsx +13 -34
  150. package/src/capabilities/schema-tool.test.ts +2 -3
  151. package/src/capabilities/schema-tools.ts +25 -25
  152. package/src/components/CollectionMain.tsx +2 -5
  153. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +1 -1
  154. package/src/components/CreateDialog/CreateSpaceDialog.tsx +2 -3
  155. package/src/components/MembersContainer.stories.tsx +1 -5
  156. package/src/components/MembersContainer.tsx +23 -15
  157. package/src/components/MenuFooter.tsx +2 -2
  158. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +2 -2
  159. package/src/components/ObjectSettings/BaseObjectSettings.tsx +2 -2
  160. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +2 -2
  161. package/src/components/PersistenceStatus.tsx +11 -14
  162. package/src/components/PopoverRenameObject.tsx +12 -6
  163. package/src/components/PopoverRenameSpace.tsx +8 -0
  164. package/src/components/SpacePresence.stories.tsx +1 -1
  165. package/src/components/SpacePresence.tsx +32 -42
  166. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +5 -3
  167. package/src/components/SyncStatus/InlineSyncStatus.tsx +8 -16
  168. package/src/components/index.ts +0 -2
  169. package/src/hooks/useInputSurfaceLookup.tsx +2 -2
  170. package/src/translations.ts +0 -1
  171. package/src/types/collection.ts +6 -4
  172. package/src/types/thread.ts +14 -8
  173. package/src/types/types.ts +109 -96
  174. package/src/util.tsx +13 -13
  175. package/dist/lib/browser/app-graph-builder-J4PN5HOM.mjs.map +0 -7
  176. package/dist/lib/browser/chunk-FSHDAPFY.mjs.map +0 -7
  177. package/dist/lib/browser/chunk-KDNV4YRD.mjs +0 -283
  178. package/dist/lib/browser/chunk-KDNV4YRD.mjs.map +0 -7
  179. package/dist/lib/browser/chunk-MHTZAZT2.mjs.map +0 -7
  180. package/dist/lib/browser/chunk-MIJHUABE.mjs.map +0 -7
  181. package/dist/lib/browser/intent-resolver-72IWBVYE.mjs.map +0 -7
  182. package/dist/lib/browser/react-surface-KODNQYDN.mjs.map +0 -7
  183. package/dist/lib/browser/schema-tools-YAXPRIXP.mjs.map +0 -7
  184. package/dist/lib/node/app-graph-builder-3BNPC5GB.cjs.map +0 -7
  185. package/dist/lib/node/chunk-3UKLWXNJ.cjs +0 -311
  186. package/dist/lib/node/chunk-3UKLWXNJ.cjs.map +0 -7
  187. package/dist/lib/node/chunk-EI3ZPOLJ.cjs.map +0 -7
  188. package/dist/lib/node/chunk-GPZPEQXP.cjs.map +0 -7
  189. package/dist/lib/node/chunk-U63V2254.cjs.map +0 -7
  190. package/dist/lib/node/intent-resolver-KA56XGUX.cjs.map +0 -7
  191. package/dist/lib/node/react-surface-37AVZFPL.cjs.map +0 -7
  192. package/dist/lib/node/schema-tools-BLIMOZYY.cjs.map +0 -7
  193. package/dist/lib/node-esm/app-graph-builder-OVMSUAX3.mjs.map +0 -7
  194. package/dist/lib/node-esm/chunk-35OHQARN.mjs +0 -284
  195. package/dist/lib/node-esm/chunk-35OHQARN.mjs.map +0 -7
  196. package/dist/lib/node-esm/chunk-ABKX22IP.mjs.map +0 -7
  197. package/dist/lib/node-esm/chunk-DUA32XUX.mjs.map +0 -7
  198. package/dist/lib/node-esm/chunk-TVN6VHTT.mjs.map +0 -7
  199. package/dist/lib/node-esm/intent-resolver-SG2ECM5R.mjs.map +0 -7
  200. package/dist/lib/node-esm/react-surface-G73SO23W.mjs.map +0 -7
  201. package/dist/lib/node-esm/schema-tools-IU7EX5A5.mjs.map +0 -7
  202. package/dist/types/src/capabilities/schema.d.ts.map +0 -1
  203. package/dist/types/src/components/PopoverAddSpace.d.ts +0 -4
  204. package/dist/types/src/components/PopoverAddSpace.d.ts.map +0 -1
  205. package/dist/types/src/components/ShareSpaceButton.d.ts +0 -9
  206. package/dist/types/src/components/ShareSpaceButton.d.ts.map +0 -1
  207. package/dist/types/src/components/ShareSpaceButton.stories.d.ts +0 -10
  208. package/dist/types/src/components/ShareSpaceButton.stories.d.ts.map +0 -1
  209. package/src/components/PopoverAddSpace.tsx +0 -52
  210. package/src/components/ShareSpaceButton.stories.tsx +0 -27
  211. package/src/components/ShareSpaceButton.tsx +0 -32
  212. /package/dist/lib/browser/{app-graph-serializer-6WIAFHYK.mjs.map → app-graph-serializer-N7KZGCST.mjs.map} +0 -0
  213. /package/dist/lib/browser/{identity-created-DVHNLGYU.mjs.map → identity-created-74EHBH7M.mjs.map} +0 -0
  214. /package/dist/lib/browser/{react-root-DRVM5ACV.mjs.map → react-root-2EFJCOX7.mjs.map} +0 -0
  215. /package/dist/lib/browser/{settings-2UIV5WX5.mjs.map → settings-G24447B7.mjs.map} +0 -0
  216. /package/dist/lib/browser/{spaces-ready-3URIMLCR.mjs.map → spaces-ready-ZSUEPHJF.mjs.map} +0 -0
  217. /package/dist/lib/node/{app-graph-serializer-GOLCQHFQ.cjs.map → app-graph-serializer-IKQLWTCX.cjs.map} +0 -0
  218. /package/dist/lib/node/{identity-created-YYTW4K3Z.cjs.map → identity-created-PCQPDULV.cjs.map} +0 -0
  219. /package/dist/lib/node/{react-root-6WGN5WRQ.cjs.map → react-root-DEQFKQVD.cjs.map} +0 -0
  220. /package/dist/lib/node/{settings-HJROTHC4.cjs.map → settings-AFWO4AWK.cjs.map} +0 -0
  221. /package/dist/lib/node/{spaces-ready-IWDDIAAD.cjs.map → spaces-ready-MHLUFLXN.cjs.map} +0 -0
  222. /package/dist/lib/node-esm/{app-graph-serializer-AZXSO7HK.mjs.map → app-graph-serializer-I6XBQJLA.mjs.map} +0 -0
  223. /package/dist/lib/node-esm/{identity-created-MP4GLXHO.mjs.map → identity-created-GXS46A3C.mjs.map} +0 -0
  224. /package/dist/lib/node-esm/{react-root-MSUT6S2S.mjs.map → react-root-2RJ2S5E6.mjs.map} +0 -0
  225. /package/dist/lib/node-esm/{settings-KCLKPJVY.mjs.map → settings-MJVSCOI4.mjs.map} +0 -0
  226. /package/dist/lib/node-esm/{spaces-ready-Z3SXKWX2.mjs.map → spaces-ready-35U5BBTH.mjs.map} +0 -0
  227. /package/src/capabilities/{schema.ts → schema-defs.ts} +0 -0
@@ -9,12 +9,12 @@ import {
9
9
  constructSpaceNode,
10
10
  createObjectNode,
11
11
  memoizeQuery
12
- } from "./chunk-FSHDAPFY.mjs";
12
+ } from "./chunk-F57CTUM6.mjs";
13
13
  import {
14
14
  CollectionType,
15
15
  SPACE_TYPE,
16
16
  SpaceAction
17
- } from "./chunk-KDNV4YRD.mjs";
17
+ } from "./chunk-CY35NLWL.mjs";
18
18
  import {
19
19
  SPACE_PLUGIN
20
20
  } from "./chunk-PTKYMZWO.mjs";
@@ -79,33 +79,50 @@ var app_graph_builder_default = (context) => {
79
79
  filter: (node) => node.id === "root",
80
80
  actions: () => [
81
81
  {
82
- id: SpaceAction.AddSpace._tag,
83
- data: async (params) => {
82
+ id: SpaceAction.OpenCreateSpace._tag,
83
+ data: async () => {
84
84
  const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
85
- await dispatch(createIntent(SpaceAction.AddSpace));
85
+ await dispatch(createIntent(SpaceAction.OpenCreateSpace));
86
86
  },
87
87
  properties: {
88
88
  label: [
89
- "add space label",
89
+ "create space label",
90
90
  {
91
91
  ns: SPACE_PLUGIN
92
92
  }
93
93
  ],
94
94
  icon: "ph--plus--regular",
95
- testId: "spacePlugin.addSpace",
96
- disposition: "item",
97
- position: "fallback"
95
+ testId: "spacePlugin.createSpace",
96
+ disposition: "menu"
98
97
  }
99
98
  },
100
99
  {
101
- id: SpaceAction.Share._tag,
100
+ id: SpaceAction.Join._tag,
101
+ data: async () => {
102
+ const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
103
+ await dispatch(createIntent(SpaceAction.Join));
104
+ },
105
+ properties: {
106
+ label: [
107
+ "join space label",
108
+ {
109
+ ns: SPACE_PLUGIN
110
+ }
111
+ ],
112
+ icon: "ph--sign-in--regular",
113
+ testId: "spacePlugin.joinSpace",
114
+ disposition: "menu"
115
+ }
116
+ },
117
+ {
118
+ id: SpaceAction.OpenMembers._tag,
102
119
  data: async () => {
103
120
  const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
104
121
  const layout = context.requestCapability(Capabilities.Layout);
105
122
  const client = context.requestCapability(ClientCapabilities.Client);
106
123
  const { spaceId } = parseId(layout.workspace);
107
124
  const space = (spaceId && client.spaces.get(spaceId)) ?? client.spaces.default;
108
- await dispatch(createIntent(SpaceAction.Share, {
125
+ await dispatch(createIntent(SpaceAction.OpenMembers, {
109
126
  space
110
127
  }));
111
128
  },
@@ -356,7 +373,7 @@ var app_graph_builder_default = (context) => {
356
373
  ],
357
374
  icon: "ph--sliders--regular",
358
375
  disposition: "hidden",
359
- position: "hoist"
376
+ position: "fallback"
360
377
  }
361
378
  }
362
379
  ]
@@ -366,4 +383,4 @@ var app_graph_builder_default = (context) => {
366
383
  export {
367
384
  app_graph_builder_default as default
368
385
  };
369
- //# sourceMappingURL=app-graph-builder-J4PN5HOM.mjs.map
386
+ //# sourceMappingURL=app-graph-builder-6KVRD7OJ.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, type PluginsContext } from '@dxos/app-framework';\nimport {\n Expando,\n Filter,\n FQ_ID_LENGTH,\n getSpace,\n isEchoObject,\n OBJECT_ID_LENGTH,\n type AnyLiveObject,\n SPACE_ID_LENGTH,\n SpaceState,\n type Space,\n parseId,\n} from '@dxos/client/echo';\nimport { isDeleted } from '@dxos/live-object';\nimport { log } from '@dxos/log';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { PLANK_COMPANION_TYPE, ATTENDABLE_PATH_SEPARATOR } from '@dxos/plugin-deck/types';\nimport { createExtension, toSignal, type Node } from '@dxos/plugin-graph';\nimport { isNonNullable } from '@dxos/util';\n\nimport { SpaceCapabilities } from './capabilities';\nimport { SPACE_PLUGIN } from '../meta';\nimport { CollectionType, SPACE_TYPE, SpaceAction, type SpaceSettingsProps } from '../types';\nimport {\n constructObjectActions,\n constructSpaceActions,\n constructSpaceNode,\n createObjectNode,\n memoizeQuery,\n SHARED,\n SPACES,\n} from '../util';\n\nexport default (context: PluginsContext) => {\n const resolve = (typename: string) =>\n context.requestCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};\n\n const spacesNode = {\n id: SPACES,\n type: SPACES,\n cacheable: ['label', 'role'],\n properties: {\n label: ['spaces label', { ns: SPACE_PLUGIN }],\n icon: 'ph--planet--regular',\n testId: 'spacePlugin.spaces',\n role: 'branch',\n disposition: 'collection',\n disabled: true,\n childrenPersistenceClass: 'echo',\n onRearrangeChildren: async (nextOrder: Space[]) => {\n const { graph } = context.requestCapability(Capabilities.AppGraph);\n const client = context.requestCapability(ClientCapabilities.Client);\n\n // NOTE: This is needed to ensure order is updated by next animation frame.\n // TODO(wittjosiah): Is there a better way to do this?\n // If not, graph should be passed as an argument to the extension.\n graph._sortEdges(\n SPACES,\n 'outbound',\n nextOrder.map(({ id }) => id),\n );\n\n const {\n objects: [spacesOrder],\n } = await client.spaces.default.db.query(Filter.schema(Expando, { key: SHARED })).run();\n if (spacesOrder) {\n spacesOrder.order = nextOrder.map(({ id }) => id);\n } else {\n log.warn('spaces order object not found');\n }\n },\n },\n };\n\n return contributes(Capabilities.AppGraphBuilder, [\n // Primary actions.\n createExtension({\n id: `${SPACE_PLUGIN}/primary-actions`,\n position: 'hoist',\n filter: (node): node is Node<null> => node.id === 'root',\n actions: () => [\n {\n id: SpaceAction.OpenCreateSpace._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SpaceAction.OpenCreateSpace));\n },\n properties: {\n label: ['create space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n testId: 'spacePlugin.createSpace',\n disposition: 'menu',\n },\n },\n {\n id: SpaceAction.Join._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SpaceAction.Join));\n },\n properties: {\n label: ['join space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--sign-in--regular',\n testId: 'spacePlugin.joinSpace',\n disposition: 'menu',\n },\n },\n {\n id: SpaceAction.OpenMembers._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const layout = context.requestCapability(Capabilities.Layout);\n const client = context.requestCapability(ClientCapabilities.Client);\n const { spaceId } = parseId(layout.workspace);\n const space = (spaceId && client.spaces.get(spaceId)) ?? client.spaces.default;\n await dispatch(createIntent(SpaceAction.OpenMembers, { space }));\n },\n properties: {\n label: ['share space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--users--regular',\n testId: 'spacePlugin.shareSpace',\n keyBinding: {\n macos: 'meta+.',\n windows: 'alt+.',\n },\n },\n },\n {\n id: SpaceAction.OpenSettings._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const layout = context.requestCapability(Capabilities.Layout);\n const client = context.requestCapability(ClientCapabilities.Client);\n const { spaceId } = parseId(layout.workspace);\n const space = (spaceId && client.spaces.get(spaceId)) ?? client.spaces.default;\n await dispatch(createIntent(SpaceAction.OpenSettings, { space }));\n },\n properties: {\n label: ['open current space settings label', { ns: SPACE_PLUGIN }],\n icon: 'ph--faders--regular',\n keyBinding: {\n macos: 'meta+shift+,',\n windows: 'ctrl+shift+,',\n },\n },\n },\n ],\n }),\n\n // Create spaces group node.\n createExtension({\n id: `${SPACE_PLUGIN}/root`,\n position: 'hoist',\n filter: (node): node is Node<null> => node.id === 'root',\n connector: () => [spacesNode],\n resolver: ({ id }) => (id === SPACES ? spacesNode : undefined),\n }),\n\n // Create space nodes.\n createExtension({\n id: SPACES,\n filter: (node): node is Node<null> => node.id === SPACES,\n connector: () => {\n const client = context.requestCapability(ClientCapabilities.Client);\n const spaces = toSignal(\n (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.get(),\n );\n\n const isReady = toSignal(\n (onChange) => client.spaces.isReady.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.isReady.get(),\n );\n\n if (!spaces || !isReady) {\n return;\n }\n\n const state = context.requestCapability(SpaceCapabilities.State);\n const settings = context\n .requestCapabilities(Capabilities.SettingsStore)[0]\n ?.getStore<SpaceSettingsProps>(SPACE_PLUGIN)?.value;\n\n // TODO(wittjosiah): During client reset, accessing default space throws.\n try {\n const [spacesOrder] = memoizeQuery(client.spaces.default, Filter.schema(Expando, { key: SHARED }));\n const order: string[] = spacesOrder?.order ?? [];\n const orderMap = new Map(order.map((id, index) => [id, index]));\n return [\n ...spaces\n .filter((space) => orderMap.has(space.id))\n .sort((a, b) => orderMap.get(a.id)! - orderMap.get(b.id)!),\n ...spaces.filter((space) => !orderMap.has(space.id)),\n ]\n .filter((space) => (settings?.showHidden ? true : space.state.get() !== SpaceState.SPACE_INACTIVE))\n .map((space) =>\n constructSpaceNode({\n space,\n navigable: state.navigableCollections,\n personal: space === client.spaces.default,\n namesCache: state.spaceNames,\n resolve,\n }),\n );\n } catch {}\n },\n resolver: ({ id }) => {\n if (id.length !== SPACE_ID_LENGTH) {\n return;\n }\n\n const client = context.requestCapability(ClientCapabilities.Client);\n const spaces = toSignal(\n (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.get(),\n );\n\n const isReady = toSignal(\n (onChange) => client.spaces.isReady.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.isReady.get(),\n );\n\n if (!spaces || !isReady) {\n return;\n }\n\n const space = spaces.find((space) => space.id === id);\n if (!space) {\n return;\n }\n\n if (space.state.get() === SpaceState.SPACE_INACTIVE) {\n return false;\n } else if (space.state.get() !== SpaceState.SPACE_READY) {\n return undefined;\n } else {\n const state = context.requestCapability(SpaceCapabilities.State);\n return constructSpaceNode({\n space,\n navigable: state.navigableCollections,\n personal: space === client.spaces.default,\n namesCache: state.spaceNames,\n resolve,\n });\n }\n },\n }),\n\n // Create space actions.\n createExtension({\n id: `${SPACE_PLUGIN}/actions`,\n filter: (node): node is Node<Space> => node.type === SPACE_TYPE,\n actions: ({ node }) => {\n const space = node.data;\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const client = context.requestCapability(ClientCapabilities.Client);\n const state = context.requestCapability(SpaceCapabilities.State);\n return constructSpaceActions({\n space,\n dispatch,\n personal: space === client.spaces.default,\n migrating: state.sdkMigrationRunning[space.id],\n });\n },\n }),\n\n // Create nodes for objects in the root collection of a space.\n createExtension({\n id: `${SPACE_PLUGIN}/root-collection`,\n filter: (node): node is Node<Space> => node.type === SPACE_TYPE,\n connector: ({ node }) => {\n const space = node.data;\n const spaceState = toSignal(\n (onChange) => space.state.subscribe(() => onChange()).unsubscribe,\n () => space.state.get(),\n space.id,\n );\n if (spaceState !== SpaceState.SPACE_READY) {\n return;\n }\n\n const collection = space.properties[CollectionType.typename]?.target as CollectionType | undefined;\n if (!collection) {\n return;\n }\n\n const state = context.requestCapability(SpaceCapabilities.State);\n\n return collection.objects\n .map((object) => object.target)\n .filter(isNonNullable)\n .map((object) => createObjectNode({ object, space, resolve, navigable: state.navigableCollections }))\n .filter(isNonNullable);\n },\n }),\n\n // Create nodes for objects in a collection or by its fully qualified id.\n createExtension({\n id: `${SPACE_PLUGIN}/objects`,\n filter: (node): node is Node<CollectionType> => node.data instanceof CollectionType,\n connector: ({ node }) => {\n const collection = node.data;\n const space = getSpace(collection);\n if (!space) {\n return;\n }\n\n const state = context.requestCapability(SpaceCapabilities.State);\n\n return collection.objects\n .map((object) => object.target)\n .filter(isNonNullable)\n .map((object) => createObjectNode({ object, space, resolve, navigable: state.navigableCollections }))\n .filter(isNonNullable);\n },\n resolver: ({ id }) => {\n if (id.length !== FQ_ID_LENGTH) {\n return;\n }\n\n const [spaceId, objectId] = id.split(':');\n if (spaceId.length !== SPACE_ID_LENGTH && objectId.length !== OBJECT_ID_LENGTH) {\n return;\n }\n\n const client = context.requestCapability(ClientCapabilities.Client);\n const space = client.spaces.get().find((space) => space.id === spaceId);\n if (!space) {\n return;\n }\n\n const spaceState = toSignal(\n (onChange) => space.state.subscribe(() => onChange()).unsubscribe,\n () => space.state.get(),\n space.id,\n );\n if (spaceState !== SpaceState.SPACE_READY) {\n return;\n }\n\n const [object] = memoizeQuery(space, { id: objectId });\n if (!object) {\n return;\n }\n\n if (isDeleted(object)) {\n return false;\n } else {\n const state = context.requestCapability(SpaceCapabilities.State);\n return createObjectNode({ object, space, resolve, navigable: state.navigableCollections });\n }\n },\n }),\n\n // Create collection actions and action groups.\n createExtension({\n id: `${SPACE_PLUGIN}/object-actions`,\n filter: (node): node is Node<AnyLiveObject<any>> => isEchoObject(node.data),\n actions: ({ node }) => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const state = context.requestCapability(SpaceCapabilities.State);\n return constructObjectActions({ node, dispatch, navigable: state.navigableCollections });\n },\n }),\n\n // Object settings plank companion.\n createExtension({\n id: `${SPACE_PLUGIN}/settings`,\n filter: (node): node is Node<AnyLiveObject<any>> => isEchoObject(node.data),\n connector: ({ node }) => [\n {\n id: [node.id, 'settings'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'settings',\n properties: {\n label: ['object settings label', { ns: SPACE_PLUGIN }],\n icon: 'ph--sliders--regular',\n disposition: 'hidden',\n position: 'fallback',\n },\n },\n ],\n }),\n ]);\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["Capabilities", "contributes", "createIntent", "Expando", "Filter", "FQ_ID_LENGTH", "getSpace", "isEchoObject", "OBJECT_ID_LENGTH", "SPACE_ID_LENGTH", "SpaceState", "parseId", "isDeleted", "log", "ClientCapabilities", "PLANK_COMPANION_TYPE", "ATTENDABLE_PATH_SEPARATOR", "createExtension", "toSignal", "isNonNullable", "context", "resolve", "typename", "requestCapabilities", "Capabilities", "Metadata", "find", "id", "metadata", "spacesNode", "SPACES", "type", "cacheable", "properties", "label", "ns", "SPACE_PLUGIN", "icon", "testId", "role", "disposition", "disabled", "childrenPersistenceClass", "onRearrangeChildren", "nextOrder", "graph", "requestCapability", "AppGraph", "client", "ClientCapabilities", "Client", "_sortEdges", "map", "objects", "spacesOrder", "spaces", "default", "db", "query", "Filter", "schema", "Expando", "key", "SHARED", "run", "order", "log", "warn", "contributes", "AppGraphBuilder", "createExtension", "position", "filter", "node", "actions", "SpaceAction", "OpenCreateSpace", "_tag", "data", "dispatchPromise", "dispatch", "IntentDispatcher", "createIntent", "Join", "OpenMembers", "layout", "Layout", "spaceId", "parseId", "workspace", "space", "get", "keyBinding", "macos", "windows", "OpenSettings", "connector", "resolver", "undefined", "toSignal", "onChange", "subscribe", "unsubscribe", "isReady", "state", "SpaceCapabilities", "State", "settings", "SettingsStore", "getStore", "value", "memoizeQuery", "orderMap", "Map", "index", "has", "sort", "a", "b", "showHidden", "SpaceState", "SPACE_INACTIVE", "constructSpaceNode", "navigable", "navigableCollections", "personal", "namesCache", "spaceNames", "length", "SPACE_ID_LENGTH", "SPACE_READY", "SPACE_TYPE", "constructSpaceActions", "migrating", "sdkMigrationRunning", "spaceState", "collection", "CollectionType", "target", "object", "isNonNullable", "createObjectNode", "getSpace", "FQ_ID_LENGTH", "objectId", "split", "OBJECT_ID_LENGTH", "isDeleted", "isEchoObject", "constructObjectActions", "join", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE"]
7
+ }
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  translations_default
3
- } from "./chunk-MIJHUABE.mjs";
3
+ } from "./chunk-XC4BXZVV.mjs";
4
4
  import {
5
5
  SPACES
6
- } from "./chunk-FSHDAPFY.mjs";
6
+ } from "./chunk-F57CTUM6.mjs";
7
7
  import {
8
8
  CollectionType,
9
9
  SPACE_TYPE,
10
10
  SpaceAction
11
- } from "./chunk-KDNV4YRD.mjs";
11
+ } from "./chunk-CY35NLWL.mjs";
12
12
  import {
13
13
  SPACE_PLUGIN
14
14
  } from "./chunk-PTKYMZWO.mjs";
@@ -77,4 +77,4 @@ var app_graph_serializer_default = (context) => contributes(Capabilities.AppGrap
77
77
  export {
78
78
  app_graph_serializer_default as default
79
79
  };
80
- //# sourceMappingURL=app-graph-serializer-6WIAFHYK.mjs.map
80
+ //# sourceMappingURL=app-graph-serializer-N7KZGCST.mjs.map
@@ -0,0 +1,296 @@
1
+ import {
2
+ SPACE_PLUGIN
3
+ } from "./chunk-PTKYMZWO.mjs";
4
+
5
+ // packages/plugins/plugin-space/src/types/collection.ts
6
+ import { Schema } from "effect";
7
+ import { Expando, Ref, TypedObject } from "@dxos/echo-schema";
8
+ var CollectionType = class extends TypedObject({
9
+ typename: "dxos.org/type/Collection",
10
+ version: "0.1.0"
11
+ })({
12
+ name: Schema.optional(Schema.String),
13
+ objects: Schema.mutable(Schema.Array(Ref(Expando))),
14
+ // Key is schema typename and value is reference to a view object of the associated schema.
15
+ // Having collection reference the views rather than vice versa ensures that the state converges to a single view per key (i.e. type).
16
+ // This also leaves open a future where this key could be changed to allow for multiple stack views per section.
17
+ // TODO(wittjosiah): Any way to make this more type safe?
18
+ // TODO(wittjosiah): Should the views be separate objects or just be schemas for view data in this record?
19
+ views: Schema.mutable(Schema.Record({
20
+ key: Schema.String,
21
+ value: Ref(Expando)
22
+ }))
23
+ }) {
24
+ };
25
+
26
+ // packages/plugins/plugin-space/src/types/thread.ts
27
+ import { Schema as Schema2 } from "effect";
28
+ import { Expando as Expando2, Ref as Ref2, TypedObject as TypedObject2 } from "@dxos/echo-schema";
29
+ import { DataType } from "@dxos/schema";
30
+ var ThreadStatus = Schema2.Union(Schema2.Literal("staged"), Schema2.Literal("active"), Schema2.Literal("resolved"));
31
+ var ThreadType = class extends TypedObject2({
32
+ typename: "dxos.org/type/Thread",
33
+ version: "0.1.0"
34
+ })({
35
+ name: Schema2.optional(Schema2.String),
36
+ /** AM cursor-range: 'from:to'. */
37
+ anchor: Schema2.optional(Schema2.String),
38
+ status: Schema2.optional(ThreadStatus),
39
+ messages: Schema2.mutable(Schema2.Array(Ref2(DataType.Message)))
40
+ }) {
41
+ };
42
+ var ChannelType = class extends TypedObject2({
43
+ typename: "dxos.org/type/Channel",
44
+ version: "0.1.0"
45
+ })({
46
+ name: Schema2.optional(Schema2.String),
47
+ queue: Ref2(Expando2)
48
+ }) {
49
+ };
50
+
51
+ // packages/plugins/plugin-space/src/types/types.ts
52
+ import { Schema as Schema3 } from "effect";
53
+ import { EchoObjectSchema, ReactiveObjectSchema, SpaceSchema } from "@dxos/react-client/echo";
54
+ import { CancellableInvitationObservable, Invitation } from "@dxos/react-client/invitations";
55
+ var SPACE_DIRECTORY_HANDLE = "dxos.org/plugin/space/directory";
56
+ var SPACE_TYPE = "dxos.org/type/Space";
57
+ var SpaceSettingsSchema = Schema3.mutable(Schema3.Struct({
58
+ /**
59
+ * Show closed spaces.
60
+ */
61
+ showHidden: Schema3.Boolean
62
+ }));
63
+ var IconAnnotationId = Symbol.for("@dxos/plugin-space/annotation/Icon");
64
+ var HueAnnotationId = Symbol.for("@dxos/plugin-space/annotation/Hue");
65
+ var SpaceForm = Schema3.Struct({
66
+ name: Schema3.optional(Schema3.String.annotations({
67
+ title: "Name"
68
+ })),
69
+ icon: Schema3.optional(Schema3.String.annotations({
70
+ title: "Icon",
71
+ [IconAnnotationId]: true
72
+ })),
73
+ hue: Schema3.optional(Schema3.String.annotations({
74
+ title: "Color",
75
+ [HueAnnotationId]: true
76
+ })),
77
+ // TODO(wittjosiah): Make optional with default value.
78
+ edgeReplication: Schema3.Boolean.annotations({
79
+ title: "Enable EDGE Replication"
80
+ })
81
+ });
82
+ var defineObjectForm = (form) => form;
83
+ var SPACE_ACTION = `${SPACE_PLUGIN}/action`;
84
+ var SpaceAction;
85
+ (function(SpaceAction2) {
86
+ class OpenCreateSpace extends Schema3.TaggedClass()(`${SPACE_ACTION}/open-create-space`, {
87
+ input: Schema3.Void,
88
+ output: Schema3.Void
89
+ }) {
90
+ }
91
+ SpaceAction2.OpenCreateSpace = OpenCreateSpace;
92
+ class Create extends Schema3.TaggedClass()(`${SPACE_ACTION}/create`, {
93
+ input: SpaceForm,
94
+ output: Schema3.Struct({
95
+ id: Schema3.String,
96
+ subject: Schema3.Array(Schema3.String),
97
+ space: SpaceSchema
98
+ })
99
+ }) {
100
+ }
101
+ SpaceAction2.Create = Create;
102
+ class Join extends Schema3.TaggedClass()(`${SPACE_ACTION}/join`, {
103
+ input: Schema3.Struct({
104
+ invitationCode: Schema3.optional(Schema3.String),
105
+ onDone: Schema3.optional(Schema3.Any)
106
+ }),
107
+ output: Schema3.Void
108
+ }) {
109
+ }
110
+ SpaceAction2.Join = Join;
111
+ class OpenMembers extends Schema3.TaggedClass()(`${SPACE_ACTION}/open-members`, {
112
+ input: Schema3.Struct({
113
+ space: SpaceSchema
114
+ }),
115
+ output: Schema3.Void
116
+ }) {
117
+ }
118
+ SpaceAction2.OpenMembers = OpenMembers;
119
+ class Share extends Schema3.TaggedClass()(`${SPACE_ACTION}/share`, {
120
+ input: Schema3.Struct({
121
+ space: SpaceSchema,
122
+ type: Schema3.Enums(Invitation.Type),
123
+ authMethod: Schema3.Enums(Invitation.AuthMethod),
124
+ multiUse: Schema3.Boolean,
125
+ target: Schema3.optional(Schema3.String)
126
+ }),
127
+ output: Schema3.instanceOf(CancellableInvitationObservable)
128
+ }) {
129
+ }
130
+ SpaceAction2.Share = Share;
131
+ class GetShareLink extends Schema3.TaggedClass()(`${SPACE_ACTION}/get-share-link`, {
132
+ input: Schema3.Struct({
133
+ space: SpaceSchema,
134
+ target: Schema3.optional(Schema3.String),
135
+ copyToClipboard: Schema3.optional(Schema3.Boolean)
136
+ }),
137
+ output: Schema3.String
138
+ }) {
139
+ }
140
+ SpaceAction2.GetShareLink = GetShareLink;
141
+ class Lock extends Schema3.TaggedClass()(`${SPACE_ACTION}/lock`, {
142
+ input: Schema3.Struct({
143
+ space: SpaceSchema
144
+ }),
145
+ output: Schema3.Void
146
+ }) {
147
+ }
148
+ SpaceAction2.Lock = Lock;
149
+ class Unlock extends Schema3.TaggedClass()(`${SPACE_ACTION}/unlock`, {
150
+ input: Schema3.Struct({
151
+ space: SpaceSchema
152
+ }),
153
+ output: Schema3.Void
154
+ }) {
155
+ }
156
+ SpaceAction2.Unlock = Unlock;
157
+ class Rename extends Schema3.TaggedClass()(`${SPACE_ACTION}/rename`, {
158
+ input: Schema3.Struct({
159
+ space: SpaceSchema,
160
+ caller: Schema3.optional(Schema3.String)
161
+ }),
162
+ output: Schema3.Void
163
+ }) {
164
+ }
165
+ SpaceAction2.Rename = Rename;
166
+ class OpenSettings extends Schema3.TaggedClass()(`${SPACE_ACTION}/open-settings`, {
167
+ input: Schema3.Struct({
168
+ space: SpaceSchema
169
+ }),
170
+ output: Schema3.Void
171
+ }) {
172
+ }
173
+ SpaceAction2.OpenSettings = OpenSettings;
174
+ class Open extends Schema3.TaggedClass()(`${SPACE_ACTION}/open`, {
175
+ input: Schema3.Struct({
176
+ space: SpaceSchema
177
+ }),
178
+ output: Schema3.Void
179
+ }) {
180
+ }
181
+ SpaceAction2.Open = Open;
182
+ class Close extends Schema3.TaggedClass()(`${SPACE_ACTION}/close`, {
183
+ input: Schema3.Struct({
184
+ space: SpaceSchema
185
+ }),
186
+ output: Schema3.Void
187
+ }) {
188
+ }
189
+ SpaceAction2.Close = Close;
190
+ class Migrate extends Schema3.TaggedClass()(`${SPACE_ACTION}/migrate`, {
191
+ input: Schema3.Struct({
192
+ space: SpaceSchema,
193
+ version: Schema3.optional(Schema3.String)
194
+ }),
195
+ output: Schema3.Boolean
196
+ }) {
197
+ }
198
+ SpaceAction2.Migrate = Migrate;
199
+ class OpenCreateObject extends Schema3.TaggedClass()(`${SPACE_ACTION}/open-create-object`, {
200
+ input: Schema3.Struct({
201
+ target: Schema3.Union(SpaceSchema, CollectionType),
202
+ navigable: Schema3.optional(Schema3.Boolean)
203
+ }),
204
+ output: Schema3.Void
205
+ }) {
206
+ }
207
+ SpaceAction2.OpenCreateObject = OpenCreateObject;
208
+ class AddObject extends Schema3.TaggedClass()(`${SPACE_ACTION}/add-object`, {
209
+ input: Schema3.Struct({
210
+ object: ReactiveObjectSchema,
211
+ target: Schema3.Union(SpaceSchema, CollectionType),
212
+ hidden: Schema3.optional(Schema3.Boolean)
213
+ }),
214
+ output: Schema3.Struct({
215
+ id: Schema3.String,
216
+ subject: Schema3.Array(Schema3.String),
217
+ object: EchoObjectSchema
218
+ })
219
+ }) {
220
+ }
221
+ SpaceAction2.AddObject = AddObject;
222
+ SpaceAction2.DeletionData = Schema3.Struct({
223
+ objects: Schema3.Array(EchoObjectSchema),
224
+ parentCollection: CollectionType,
225
+ indices: Schema3.Array(Schema3.Number),
226
+ nestedObjectsList: Schema3.Array(Schema3.Array(EchoObjectSchema)),
227
+ wasActive: Schema3.Array(Schema3.String)
228
+ });
229
+ class RemoveObjects extends Schema3.TaggedClass()(`${SPACE_ACTION}/remove-objects`, {
230
+ input: Schema3.Struct({
231
+ objects: Schema3.Array(EchoObjectSchema),
232
+ target: Schema3.optional(CollectionType),
233
+ deletionData: Schema3.optional(SpaceAction2.DeletionData)
234
+ }),
235
+ output: Schema3.Void
236
+ }) {
237
+ }
238
+ SpaceAction2.RemoveObjects = RemoveObjects;
239
+ class RenameObject extends Schema3.TaggedClass()(`${SPACE_ACTION}/rename-object`, {
240
+ input: Schema3.Struct({
241
+ object: EchoObjectSchema,
242
+ caller: Schema3.optional(Schema3.String)
243
+ }),
244
+ output: Schema3.Void
245
+ }) {
246
+ }
247
+ SpaceAction2.RenameObject = RenameObject;
248
+ class DuplicateObject extends Schema3.TaggedClass()(`${SPACE_ACTION}/duplicate-object`, {
249
+ input: Schema3.Struct({
250
+ object: EchoObjectSchema,
251
+ target: Schema3.Union(SpaceSchema, CollectionType)
252
+ }),
253
+ output: Schema3.Void
254
+ }) {
255
+ }
256
+ SpaceAction2.DuplicateObject = DuplicateObject;
257
+ class WaitForObject extends Schema3.TaggedClass()(`${SPACE_ACTION}/wait-for-object`, {
258
+ input: Schema3.Struct({
259
+ id: Schema3.optional(Schema3.String)
260
+ }),
261
+ output: Schema3.Void
262
+ }) {
263
+ }
264
+ SpaceAction2.WaitForObject = WaitForObject;
265
+ })(SpaceAction || (SpaceAction = {}));
266
+ var CollectionAction;
267
+ (function(CollectionAction2) {
268
+ class Create extends Schema3.TaggedClass()("dxos.org/plugin/collection/action/create", {
269
+ input: Schema3.Struct({
270
+ name: Schema3.optional(Schema3.String)
271
+ }),
272
+ output: Schema3.Struct({
273
+ object: CollectionType
274
+ })
275
+ }) {
276
+ }
277
+ CollectionAction2.Create = Create;
278
+ })(CollectionAction || (CollectionAction = {}));
279
+
280
+ export {
281
+ CollectionType,
282
+ ThreadStatus,
283
+ ThreadType,
284
+ ChannelType,
285
+ SPACE_DIRECTORY_HANDLE,
286
+ SPACE_TYPE,
287
+ SpaceSettingsSchema,
288
+ IconAnnotationId,
289
+ HueAnnotationId,
290
+ SpaceForm,
291
+ defineObjectForm,
292
+ SPACE_ACTION,
293
+ SpaceAction,
294
+ CollectionAction
295
+ };
296
+ //# sourceMappingURL=chunk-CY35NLWL.mjs.map
@@ -0,0 +1,7 @@
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 { Schema } from 'effect';\n\nimport { Expando, Ref, TypedObject } from '@dxos/echo-schema';\n\nexport class CollectionType extends TypedObject({ typename: 'dxos.org/type/Collection', version: '0.1.0' })({\n name: Schema.optional(Schema.String),\n objects: Schema.mutable(Schema.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: Schema.mutable(Schema.Record({ key: Schema.String, value: Ref(Expando) })),\n}) {}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Expando, Ref, TypedObject } from '@dxos/echo-schema';\nimport { DataType } from '@dxos/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\nexport const ThreadStatus = Schema.Union(\n Schema.Literal('staged'),\n Schema.Literal('active'),\n Schema.Literal('resolved'),\n);\n\nexport class ThreadType extends TypedObject({ typename: 'dxos.org/type/Thread', version: '0.1.0' })({\n name: Schema.optional(Schema.String),\n /** AM cursor-range: 'from:to'. */\n anchor: Schema.optional(Schema.String),\n status: Schema.optional(ThreadStatus),\n messages: Schema.mutable(Schema.Array(Ref(DataType.Message))),\n}) {}\n\nexport class ChannelType extends TypedObject({ typename: 'dxos.org/type/Channel', version: '0.1.0' })({\n name: Schema.optional(Schema.String),\n queue: Ref(Expando),\n}) {}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { type AnyIntentChain } from '@dxos/app-framework';\nimport { type Expando, type BaseObject, type TypedObject } from '@dxos/echo-schema';\nimport { type PublicKey } from '@dxos/react-client';\n// TODO(wittjosiah): This pulls in full client.\nimport { EchoObjectSchema, ReactiveObjectSchema, type Space, SpaceSchema } from '@dxos/react-client/echo';\nimport { CancellableInvitationObservable, Invitation } from '@dxos/react-client/invitations';\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';\nexport const SPACE_TYPE = 'dxos.org/type/Space';\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 const SpaceSettingsSchema = Schema.mutable(\n Schema.Struct({\n /**\n * Show closed spaces.\n */\n showHidden: Schema.Boolean,\n }),\n);\n\nexport type SpaceSettingsProps = Schema.Schema.Type<typeof SpaceSettingsSchema>;\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\n// TODO(burdon): Move to FormatEnum or SDK.\nexport const IconAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Icon');\nexport const HueAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Hue');\n\nexport const SpaceForm = Schema.Struct({\n name: Schema.optional(Schema.String.annotations({ title: 'Name' })),\n icon: Schema.optional(Schema.String.annotations({ title: 'Icon', [IconAnnotationId]: true })),\n hue: Schema.optional(Schema.String.annotations({ title: 'Color', [HueAnnotationId]: true })),\n // TODO(wittjosiah): Make optional with default value.\n edgeReplication: Schema.Boolean.annotations({ title: 'Enable EDGE Replication' }),\n});\n\nexport type ObjectForm<T extends BaseObject = BaseObject> = {\n // TODO(dmaretskyi): Change to Schema.Schema.AnyNoContext\n objectSchema: TypedObject;\n formSchema?: Schema.Schema<T, any>;\n hidden?: boolean;\n getIntent: (props: T, options: { space: Space }) => AnyIntentChain;\n};\n\nexport const defineObjectForm = <T extends BaseObject>(form: ObjectForm<T>) => form;\n\nexport const SPACE_ACTION = `${SPACE_PLUGIN}/action`;\n\nexport namespace SpaceAction {\n export class OpenCreateSpace extends Schema.TaggedClass<OpenCreateSpace>()(`${SPACE_ACTION}/open-create-space`, {\n input: Schema.Void,\n output: Schema.Void,\n }) {}\n\n export class Create extends Schema.TaggedClass<Create>()(`${SPACE_ACTION}/create`, {\n input: SpaceForm,\n output: Schema.Struct({\n id: Schema.String,\n subject: Schema.Array(Schema.String),\n space: SpaceSchema,\n }),\n }) {}\n\n export class Join extends Schema.TaggedClass<Join>()(`${SPACE_ACTION}/join`, {\n input: Schema.Struct({\n invitationCode: Schema.optional(Schema.String),\n onDone: Schema.optional(Schema.Any),\n }),\n output: Schema.Void,\n }) {}\n\n export class OpenMembers extends Schema.TaggedClass<OpenMembers>()(`${SPACE_ACTION}/open-members`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Share extends Schema.TaggedClass<Share>()(`${SPACE_ACTION}/share`, {\n input: Schema.Struct({\n space: SpaceSchema,\n type: Schema.Enums(Invitation.Type),\n authMethod: Schema.Enums(Invitation.AuthMethod),\n multiUse: Schema.Boolean,\n target: Schema.optional(Schema.String),\n }),\n output: Schema.instanceOf(CancellableInvitationObservable),\n }) {}\n\n export class GetShareLink extends Schema.TaggedClass<GetShareLink>()(`${SPACE_ACTION}/get-share-link`, {\n input: Schema.Struct({\n space: SpaceSchema,\n target: Schema.optional(Schema.String),\n copyToClipboard: Schema.optional(Schema.Boolean),\n }),\n output: Schema.String,\n }) {}\n\n export class Lock extends Schema.TaggedClass<Lock>()(`${SPACE_ACTION}/lock`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Unlock extends Schema.TaggedClass<Unlock>()(`${SPACE_ACTION}/unlock`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Rename extends Schema.TaggedClass<Rename>()(`${SPACE_ACTION}/rename`, {\n input: Schema.Struct({\n space: SpaceSchema,\n caller: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n }) {}\n\n // TODO(wittjosiah): Handle scrolling to section.\n // This maybe motivates making the space settings its own deck?\n export class OpenSettings extends Schema.TaggedClass<OpenSettings>()(`${SPACE_ACTION}/open-settings`, {\n input: Schema.Struct({ space: SpaceSchema }),\n output: Schema.Void,\n }) {}\n\n export class Open extends Schema.TaggedClass<Open>()(`${SPACE_ACTION}/open`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Close extends Schema.TaggedClass<Close>()(`${SPACE_ACTION}/close`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Migrate extends Schema.TaggedClass<Migrate>()(`${SPACE_ACTION}/migrate`, {\n input: Schema.Struct({\n space: SpaceSchema,\n version: Schema.optional(Schema.String),\n }),\n output: Schema.Boolean,\n }) {}\n\n export class OpenCreateObject extends Schema.TaggedClass<OpenCreateObject>()(`${SPACE_ACTION}/open-create-object`, {\n input: Schema.Struct({\n target: Schema.Union(SpaceSchema, CollectionType),\n navigable: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Void,\n }) {}\n\n export class AddObject extends Schema.TaggedClass<AddObject>()(`${SPACE_ACTION}/add-object`, {\n input: Schema.Struct({\n object: ReactiveObjectSchema,\n target: Schema.Union(SpaceSchema, CollectionType),\n hidden: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Struct({\n id: Schema.String,\n subject: Schema.Array(Schema.String),\n object: EchoObjectSchema,\n }),\n }) {}\n\n export const DeletionData = Schema.Struct({\n objects: Schema.Array(EchoObjectSchema),\n parentCollection: CollectionType,\n indices: Schema.Array(Schema.Number),\n nestedObjectsList: Schema.Array(Schema.Array(EchoObjectSchema)),\n wasActive: Schema.Array(Schema.String),\n });\n\n export type DeletionData = Schema.Schema.Type<typeof DeletionData>;\n\n export class RemoveObjects extends Schema.TaggedClass<RemoveObjects>()(`${SPACE_ACTION}/remove-objects`, {\n input: Schema.Struct({\n objects: Schema.Array(EchoObjectSchema),\n target: Schema.optional(CollectionType),\n deletionData: Schema.optional(DeletionData),\n }),\n output: Schema.Void,\n }) {}\n\n export class RenameObject extends Schema.TaggedClass<RenameObject>()(`${SPACE_ACTION}/rename-object`, {\n input: Schema.Struct({\n object: EchoObjectSchema,\n caller: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n }) {}\n\n export class DuplicateObject extends Schema.TaggedClass<DuplicateObject>()(`${SPACE_ACTION}/duplicate-object`, {\n input: Schema.Struct({\n object: EchoObjectSchema,\n target: Schema.Union(SpaceSchema, CollectionType),\n }),\n output: Schema.Void,\n }) {}\n\n export class WaitForObject extends Schema.TaggedClass<WaitForObject>()(`${SPACE_ACTION}/wait-for-object`, {\n input: Schema.Struct({\n id: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n }) {}\n}\n\nexport namespace CollectionAction {\n export class Create extends Schema.TaggedClass<Create>()('dxos.org/plugin/collection/action/create', {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: CollectionType,\n }),\n }) {}\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["Schema", "Expando", "Ref", "TypedObject", "CollectionType", "TypedObject", "typename", "version", "name", "Schema", "optional", "String", "objects", "mutable", "Array", "Ref", "Expando", "views", "Record", "key", "value", "Schema", "Expando", "Ref", "TypedObject", "DataType", "ThreadStatus", "Schema", "Union", "Literal", "ThreadType", "TypedObject", "typename", "version", "name", "optional", "String", "anchor", "status", "messages", "mutable", "Array", "Ref", "DataType", "Message", "ChannelType", "queue", "Expando", "Schema", "EchoObjectSchema", "ReactiveObjectSchema", "SpaceSchema", "CancellableInvitationObservable", "Invitation", "SPACE_DIRECTORY_HANDLE", "SPACE_TYPE", "SpaceSettingsSchema", "Schema", "mutable", "Struct", "showHidden", "Boolean", "IconAnnotationId", "Symbol", "for", "HueAnnotationId", "SpaceForm", "name", "optional", "String", "annotations", "title", "icon", "hue", "edgeReplication", "defineObjectForm", "form", "SPACE_ACTION", "SPACE_PLUGIN", "SpaceAction", "OpenCreateSpace", "TaggedClass", "input", "Void", "output", "Create", "id", "subject", "Array", "space", "SpaceSchema", "Join", "invitationCode", "onDone", "Any", "OpenMembers", "Share", "type", "Enums", "Invitation", "Type", "authMethod", "AuthMethod", "multiUse", "target", "instanceOf", "CancellableInvitationObservable", "GetShareLink", "copyToClipboard", "Lock", "Unlock", "Rename", "caller", "OpenSettings", "Open", "Close", "Migrate", "version", "OpenCreateObject", "Union", "CollectionType", "navigable", "AddObject", "object", "ReactiveObjectSchema", "hidden", "EchoObjectSchema", "DeletionData", "objects", "parentCollection", "indices", "Number", "nestedObjectsList", "wasActive", "RemoveObjects", "deletionData", "RenameObject", "DuplicateObject", "WaitForObject", "CollectionAction"]
7
+ }
@@ -2,7 +2,7 @@ import {
2
2
  CollectionType,
3
3
  SPACE_TYPE,
4
4
  SpaceAction
5
- } from "./chunk-KDNV4YRD.mjs";
5
+ } from "./chunk-CY35NLWL.mjs";
6
6
  import {
7
7
  SPACE_PLUGIN
8
8
  } from "./chunk-PTKYMZWO.mjs";
@@ -234,7 +234,7 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
234
234
  data: async (params) => {
235
235
  await dispatch(createIntent(SpaceAction.Rename, {
236
236
  space,
237
- caller: params.caller
237
+ caller: params?.caller
238
238
  }));
239
239
  },
240
240
  properties: {
@@ -336,7 +336,7 @@ var constructObjectActions = ({ node, dispatch, navigable = false }) => {
336
336
  data: async (params) => {
337
337
  await dispatch(createIntent(SpaceAction.RenameObject, {
338
338
  object,
339
- caller: params.caller
339
+ caller: params?.caller
340
340
  }));
341
341
  },
342
342
  properties: {
@@ -488,4 +488,4 @@ export {
488
488
  getNestedObjects,
489
489
  cloneObject
490
490
  };
491
- //# sourceMappingURL=chunk-FSHDAPFY.mjs.map
491
+ //# sourceMappingURL=chunk-F57CTUM6.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { createIntent, LayoutAction, type PromiseIntentDispatcher } from '@dxos/app-framework';\nimport { EXPANDO_TYPENAME, getTypeAnnotation, getTypename, type BaseObject, type Expando } from '@dxos/echo-schema';\nimport { getSchema } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { isLiveObject, makeRef } from '@dxos/live-object';\nimport { Migrations } from '@dxos/migrations';\nimport {\n ACTION_GROUP_TYPE,\n ACTION_TYPE,\n cleanup,\n getGraph,\n memoize,\n type ActionData,\n type Graph,\n type InvokeParams,\n type Node,\n type NodeArg,\n} from '@dxos/plugin-graph';\nimport {\n Filter,\n fullyQualifiedId,\n getSpace,\n isEchoObject,\n isSpace,\n SpaceState,\n type Echo,\n type FilterSource,\n type Query,\n type QueryOptions,\n type AnyLiveObject,\n type Space,\n} from '@dxos/react-client/echo';\nimport { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';\n\nimport { SPACE_PLUGIN } from './meta';\nimport { CollectionType, SpaceAction, SPACE_TYPE } from './types';\n\nexport const SPACES = `${SPACE_PLUGIN}-spaces`;\nexport const COMPOSER_SPACE_LOCK = 'dxos.org/plugin/space/lock';\n// TODO(wittjosiah): Remove.\nexport const SHARED = 'shared-spaces';\n\nconst EMPTY_ARRAY: never[] = [];\n\n/**\n *\n * @param spaceOrEcho\n * @param filter\n * @param options\n * @returns\n */\nexport const memoizeQuery = <T extends BaseObject>(\n spaceOrEcho?: Space | Echo,\n filter?: FilterSource<T>,\n options?: QueryOptions,\n): T[] => {\n const key = JSON.stringify({\n space: isSpace(spaceOrEcho) ? spaceOrEcho.id : undefined,\n filter: Filter.from(filter).toProto(),\n });\n\n const query = memoize(\n () =>\n isSpace(spaceOrEcho)\n ? spaceOrEcho.db.query(filter, options)\n : (spaceOrEcho?.query(filter, options) as Query<T> | undefined),\n key,\n );\n const unsubscribe = memoize(() => query?.subscribe(), key);\n cleanup(() => unsubscribe?.());\n\n return query?.objects ?? EMPTY_ARRAY;\n};\n\n// TODO(wittjosiah): Factor out? Expose via capability?\nexport const getSpaceDisplayName = (\n space: Space,\n { personal, namesCache = {} }: { personal?: boolean; namesCache?: Record<string, string> } = {},\n): string | [string, { ns: string }] => {\n return space.state.get() === SpaceState.SPACE_READY && (space.properties.name?.length ?? 0) > 0\n ? space.properties.name\n : namesCache[space.id]\n ? namesCache[space.id]\n : personal\n ? ['personal space label', { ns: SPACE_PLUGIN }]\n : ['unnamed space label', { ns: SPACE_PLUGIN }];\n};\n\nconst getCollectionGraphNodePartials = ({\n navigable,\n collection,\n space,\n resolve,\n}: {\n navigable: boolean;\n collection: CollectionType;\n space: Space;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n return {\n acceptPersistenceClass: new Set(['echo']),\n acceptPersistenceKey: new Set([space.id]),\n role: 'branch',\n onRearrangeChildren: (nextOrder: unknown[]) => {\n // Change on disk.\n collection.objects = nextOrder.filter(isEchoObject).map(makeRef);\n },\n onTransferStart: (child: Node<AnyLiveObject<any>>, index?: number) => {\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // if (space && childSpace && !childSpace.key.equals(space.key)) {\n // // Create clone of child and add to destination space.\n // const newObject = clone(child.data, {\n // // TODO(wittjosiah): This needs to be generalized and not hardcoded here.\n // additional: [\n // child.data.content,\n // ...(child.data.objects ?? []),\n // ...(child.data.objects ?? []).map((object: TypedObject) => object.content),\n // ],\n // });\n // space.db.add(newObject);\n // collection.objects.push(newObject);\n // } else {\n\n // Add child to destination collection.\n // TODO(dmaretskyi): Compare by id.\n if (!collection.objects.find((object) => object.target === child.data)) {\n if (typeof index !== 'undefined') {\n collection.objects.splice(index, 0, makeRef(child.data));\n } else {\n collection.objects.push(makeRef(child.data));\n }\n }\n\n // }\n },\n onTransferEnd: (child: Node<AnyLiveObject<any>>, destination: Node) => {\n // Remove child from origin collection.\n const index = collection.objects.findIndex((object) => object.target === child.data);\n if (index > -1) {\n collection.objects.splice(index, 1);\n }\n\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // const destinationSpace =\n // destination.data instanceof SpaceProxy ? destination.data : getSpace(destination.data);\n // if (destinationSpace && childSpace && !childSpace.key.equals(destinationSpace.key)) {\n // // Mark child as deleted in origin space.\n // childSpace.db.remove(child.data);\n // }\n },\n onCopy: async (child: Node<AnyLiveObject<any>>, index?: number) => {\n // Create clone of child and add to destination space.\n const newObject = await cloneObject(child.data, resolve, space);\n space.db.add(newObject);\n if (typeof index !== 'undefined') {\n collection.objects.splice(index, 0, makeRef(newObject));\n } else {\n collection.objects.push(makeRef(newObject));\n }\n },\n };\n};\n\nconst checkPendingMigration = (space: Space) => {\n return (\n space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION ||\n (space.state.get() === SpaceState.SPACE_READY &&\n !!Migrations.versionProperty &&\n space.properties[Migrations.versionProperty] !== Migrations.targetVersion)\n );\n};\n\nexport const constructSpaceNode = ({\n space,\n navigable = false,\n personal,\n namesCache,\n resolve,\n}: {\n space: Space;\n navigable?: boolean;\n personal?: boolean;\n namesCache?: Record<string, string>;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const hasPendingMigration = checkPendingMigration(space);\n const collection = space.state.get() === SpaceState.SPACE_READY && space.properties[CollectionType.typename]?.target;\n const partials =\n space.state.get() === SpaceState.SPACE_READY && collection instanceof CollectionType\n ? getCollectionGraphNodePartials({ collection, space, resolve, navigable })\n : {};\n\n return {\n id: space.id,\n type: SPACE_TYPE,\n cacheable: ['label', 'icon', 'role'],\n data: space,\n properties: {\n ...partials,\n label: getSpaceDisplayName(space, { personal, namesCache }),\n description: space.state.get() === SpaceState.SPACE_READY && space.properties.description,\n hue: space.state.get() === SpaceState.SPACE_READY && space.properties.hue,\n icon:\n space.state.get() === SpaceState.SPACE_READY && space.properties.icon\n ? `ph--${space.properties.icon}--regular`\n : undefined,\n disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,\n testId: 'spacePlugin.space',\n },\n nodes: [\n {\n id: `settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/settings`,\n data: null,\n properties: {\n label: ['settings panel label', { ns: SPACE_PLUGIN }],\n icon: 'ph--faders--regular',\n disposition: 'alternate-tree',\n },\n nodes: [\n {\n id: `properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/properties`,\n data: `${SPACE_PLUGIN}/properties`,\n properties: {\n label: ['space settings properties label', { ns: SPACE_PLUGIN }],\n icon: 'ph--sliders--regular',\n position: 'hoist',\n },\n },\n {\n id: `members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/members`,\n data: `${SPACE_PLUGIN}/members`,\n properties: {\n label: ['members panel label', { ns: SPACE_PLUGIN }],\n icon: 'ph--users--regular',\n position: 'hoist',\n },\n },\n {\n id: `schema-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/schema`,\n data: `${SPACE_PLUGIN}/schema`,\n properties: {\n label: ['space settings schema label', { ns: SPACE_PLUGIN }],\n icon: 'ph--shapes--regular',\n },\n },\n ],\n },\n ],\n };\n};\n\nexport const constructSpaceActions = ({\n space,\n dispatch,\n personal,\n migrating,\n}: {\n space: Space;\n dispatch: PromiseIntentDispatcher;\n personal?: boolean;\n migrating?: boolean;\n}) => {\n const state = space.state.get();\n const hasPendingMigration = checkPendingMigration(space);\n const getId = (id: string) => `${id}/${space.id}`;\n const actions: NodeArg<ActionData>[] = [];\n\n if (hasPendingMigration) {\n actions.push({\n id: getId(SpaceAction.Migrate._tag),\n type: ACTION_GROUP_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.Migrate, { space }));\n },\n properties: {\n label: ['migrate space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--database--regular',\n disposition: 'list-item-primary',\n disabled: migrating || Migrations.running(space),\n },\n });\n }\n\n if (state === SpaceState.SPACE_READY && !hasPendingMigration) {\n actions.push(\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: space }));\n },\n properties: {\n label: ['create object in space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n disposition: 'item',\n testId: 'spacePlugin.createObject',\n },\n },\n {\n id: getId(SpaceAction.Rename._tag),\n type: ACTION_TYPE,\n data: async (params?: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.Rename, { space, caller: params?.caller }));\n },\n properties: {\n label: ['rename space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--pencil-simple-line--regular',\n keyBinding: {\n macos: 'shift+F6',\n windows: 'shift+F6',\n },\n },\n },\n );\n }\n\n return actions;\n};\n\nexport const createObjectNode = ({\n object,\n space,\n navigable = false,\n resolve,\n}: {\n object: AnyLiveObject<any>;\n space: Space;\n navigable?: boolean;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const type = getTypename(object);\n if (!type) {\n return undefined;\n }\n\n const metadata = resolve(type);\n if (Object.keys(metadata).length === 0) {\n return undefined;\n }\n\n const partials =\n object instanceof CollectionType\n ? getCollectionGraphNodePartials({ collection: object, space, resolve, navigable })\n : metadata.graphProps;\n\n return {\n id: fullyQualifiedId(object),\n type,\n cacheable: ['label', 'icon', 'role'],\n data: object,\n properties: {\n ...partials,\n label: metadata.label?.(object) ||\n object.name || ['object name placeholder', { ns: type, default: 'New object' }],\n icon: metadata.icon ?? 'ph--placeholder--regular',\n testId: 'spacePlugin.object',\n persistenceClass: 'echo',\n persistenceKey: space?.id,\n },\n };\n};\n\nexport const constructObjectActions = ({\n node,\n dispatch,\n navigable = false,\n}: {\n node: Node<AnyLiveObject<any>>;\n dispatch: PromiseIntentDispatcher;\n navigable?: boolean;\n}) => {\n const object = node.data;\n const space = getSpace(object);\n invariant(space, 'Space not found');\n const getId = (id: string) => `${id}/${fullyQualifiedId(object)}`;\n const actions: NodeArg<ActionData>[] = [\n ...(object instanceof CollectionType\n ? [\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: object }));\n },\n properties: {\n label: ['create object in collection label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n {\n id: getId(SpaceAction.RenameObject._tag),\n type: ACTION_TYPE,\n data: async (params?: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.RenameObject, { object, caller: params?.caller }));\n },\n properties: {\n label: [\n object instanceof CollectionType ? 'rename collection label' : 'rename object label',\n { ns: SPACE_PLUGIN },\n ],\n icon: 'ph--pencil-simple-line--regular',\n // TODO(wittjosiah): Doesn't work.\n // keyBinding: 'shift+F6',\n testId: 'spacePlugin.renameObject',\n },\n },\n {\n id: getId(SpaceAction.RemoveObjects._tag),\n type: ACTION_TYPE,\n data: async () => {\n const graph = getGraph(node);\n const collection = graph\n .nodes(node, { relation: 'inbound' })\n .find(({ data }) => data instanceof CollectionType)?.data;\n await dispatch(createIntent(SpaceAction.RemoveObjects, { objects: [object], target: collection }));\n },\n properties: {\n label: [\n object instanceof CollectionType ? 'delete collection label' : 'delete object label',\n { ns: SPACE_PLUGIN },\n ],\n icon: 'ph--trash--regular',\n keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',\n testId: 'spacePlugin.deleteObject',\n },\n },\n ...(navigable || !(object instanceof CollectionType)\n ? [\n {\n id: getId('copy-link'),\n type: ACTION_TYPE,\n data: async () => {\n const url = `${window.location.origin}/${space.id}/${fullyQualifiedId(object)}`;\n await navigator.clipboard.writeText(url);\n },\n properties: {\n label: ['copy link label', { ns: SPACE_PLUGIN }],\n icon: 'ph--link--regular',\n testId: 'spacePlugin.copyLink',\n },\n },\n ]\n : []),\n // TODO(wittjosiah): Factor out and apply to all nodes.\n {\n id: getId(LayoutAction.Expose._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(LayoutAction.Expose, { part: 'navigation', subject: fullyQualifiedId(object) }));\n },\n properties: {\n label: ['expose object label', { ns: SPACE_PLUGIN }],\n icon: 'ph--eye--regular',\n testId: 'spacePlugin.exposeObject',\n },\n },\n ];\n\n return actions;\n};\n\n/**\n * @deprecated\n */\nexport const getActiveSpace = (graph: Graph, active?: string) => {\n if (!active) {\n return;\n }\n\n const node = graph.findNode(active);\n if (!node || !isLiveObject(node.data)) {\n return;\n }\n\n return getSpace(node.data);\n};\n\n/**\n * @deprecated This is a temporary solution.\n */\nexport const getNestedObjects = async (\n object: AnyLiveObject<any>,\n resolve: (typename: string) => Record<string, any>,\n): Promise<AnyLiveObject<any>[]> => {\n const type = getTypename(object);\n if (!type) {\n return [];\n }\n\n const metadata = resolve(type);\n const loadReferences = metadata?.loadReferences;\n if (typeof loadReferences !== 'function') {\n return [];\n }\n\n const objects: AnyLiveObject<any>[] = await loadReferences(object);\n const nested = await Promise.all(objects.map((object) => getNestedObjects(object, resolve)));\n return [...objects, ...nested.flat()];\n};\n\n/**\n * @deprecated Workaround for ECHO not supporting clone.\n */\n// TODO(burdon): Remove.\nexport const cloneObject = async (\n object: Expando,\n resolve: (typename: string) => Record<string, any>,\n newSpace: Space,\n): Promise<Expando> => {\n const schema = getSchema(object);\n const typename = schema ? getTypeAnnotation(schema)?.typename ?? EXPANDO_TYPENAME : EXPANDO_TYPENAME;\n const metadata = resolve(typename);\n const serializer = metadata.serializer;\n invariant(serializer, `No serializer for type: ${typename}`);\n const content = await serializer.serialize({ object });\n return serializer.deserialize({ content, space: newSpace, newId: true });\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["createIntent", "LayoutAction", "EXPANDO_TYPENAME", "getTypeAnnotation", "getTypename", "getSchema", "invariant", "isLiveObject", "makeRef", "Migrations", "ACTION_GROUP_TYPE", "ACTION_TYPE", "cleanup", "getGraph", "memoize", "Filter", "fullyQualifiedId", "getSpace", "isEchoObject", "isSpace", "SpaceState", "ATTENDABLE_PATH_SEPARATOR", "SPACES", "SPACE_PLUGIN", "COMPOSER_SPACE_LOCK", "SHARED", "EMPTY_ARRAY", "memoizeQuery", "spaceOrEcho", "filter", "options", "key", "JSON", "stringify", "space", "isSpace", "id", "undefined", "Filter", "from", "toProto", "query", "memoize", "db", "unsubscribe", "subscribe", "cleanup", "objects", "getSpaceDisplayName", "personal", "namesCache", "state", "get", "SpaceState", "SPACE_READY", "properties", "name", "length", "ns", "getCollectionGraphNodePartials", "navigable", "collection", "resolve", "acceptPersistenceClass", "Set", "acceptPersistenceKey", "role", "onRearrangeChildren", "nextOrder", "isEchoObject", "map", "makeRef", "onTransferStart", "child", "index", "find", "object", "target", "data", "splice", "push", "onTransferEnd", "destination", "findIndex", "onCopy", "newObject", "cloneObject", "add", "checkPendingMigration", "SPACE_REQUIRES_MIGRATION", "Migrations", "versionProperty", "targetVersion", "constructSpaceNode", "hasPendingMigration", "CollectionType", "typename", "partials", "type", "SPACE_TYPE", "cacheable", "label", "description", "hue", "icon", "disabled", "testId", "nodes", "ATTENDABLE_PATH_SEPARATOR", "disposition", "position", "constructSpaceActions", "dispatch", "migrating", "getId", "actions", "SpaceAction", "Migrate", "_tag", "ACTION_GROUP_TYPE", "createIntent", "running", "OpenCreateObject", "ACTION_TYPE", "Rename", "params", "caller", "keyBinding", "macos", "windows", "createObjectNode", "getTypename", "metadata", "Object", "keys", "graphProps", "fullyQualifiedId", "default", "persistenceClass", "persistenceKey", "constructObjectActions", "node", "getSpace", "invariant", "RenameObject", "RemoveObjects", "graph", "getGraph", "relation", "url", "window", "location", "origin", "navigator", "clipboard", "writeText", "LayoutAction", "Expose", "part", "subject", "getActiveSpace", "active", "findNode", "isLiveObject", "getNestedObjects", "loadReferences", "nested", "Promise", "all", "flat", "newSpace", "schema", "getSchema", "getTypeAnnotation", "EXPANDO_TYPENAME", "serializer", "content", "serialize", "deserialize", "newId"]
7
+ }