@dxos/plugin-space 0.8.3-main.672df60 → 0.8.3-staging.0fa589b

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 (237) hide show
  1. package/dist/lib/browser/{app-graph-builder-DCWUULKX.mjs → app-graph-builder-M2RH72VL.mjs} +49 -14
  2. package/dist/lib/browser/app-graph-builder-M2RH72VL.mjs.map +7 -0
  3. package/dist/lib/browser/{app-graph-serializer-MLU7XI2P.mjs → app-graph-serializer-F7ISRRBV.mjs} +13 -13
  4. package/dist/lib/browser/app-graph-serializer-F7ISRRBV.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-VEBKN45O.mjs → chunk-4ZKSFDXM.mjs} +29 -17
  6. package/dist/lib/browser/chunk-4ZKSFDXM.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-3LN4LJN6.mjs → chunk-BXNL6SDI.mjs} +2 -1
  8. package/dist/lib/browser/chunk-BXNL6SDI.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-ZQEIXWBK.mjs → chunk-NFUKCRGE.mjs} +157 -141
  10. package/dist/lib/browser/chunk-NFUKCRGE.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-TW7O2EPP.mjs +284 -0
  12. package/dist/lib/browser/chunk-TW7O2EPP.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-N5QMRLKI.mjs → chunk-V24VASAJ.mjs} +112 -43
  14. package/dist/lib/browser/chunk-V24VASAJ.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-YMCZR6EZ.mjs +18 -0
  16. package/dist/lib/browser/chunk-YMCZR6EZ.mjs.map +7 -0
  17. package/dist/lib/browser/{identity-created-O63SIYOF.mjs → identity-created-PI7TKANR.mjs} +5 -10
  18. package/dist/lib/browser/identity-created-PI7TKANR.mjs.map +7 -0
  19. package/dist/lib/browser/index.mjs +61 -51
  20. package/dist/lib/browser/index.mjs.map +4 -4
  21. package/dist/lib/browser/{intent-resolver-PG473BRV.mjs → intent-resolver-RWU6ZE4H.mjs} +66 -45
  22. package/dist/lib/browser/intent-resolver-RWU6ZE4H.mjs.map +7 -0
  23. package/dist/lib/browser/meta.json +1 -1
  24. package/dist/lib/browser/{react-root-FRDC4UXB.mjs → react-root-QIKHSNT2.mjs} +5 -5
  25. package/dist/lib/browser/{react-surface-QOP7T66K.mjs → react-surface-W56UD53I.mjs} +79 -19
  26. package/dist/lib/browser/react-surface-W56UD53I.mjs.map +7 -0
  27. package/dist/lib/browser/{schema-defs-JMN74RNK.mjs → schema-defs-WREJNMIC.mjs} +2 -2
  28. package/dist/lib/browser/{schema-tools-JIEMHUXV.mjs → schema-tools-ILTVSSS3.mjs} +7 -6
  29. package/dist/lib/browser/schema-tools-ILTVSSS3.mjs.map +7 -0
  30. package/dist/lib/browser/{settings-2IN2WLUK.mjs → settings-K54STC5A.mjs} +4 -4
  31. package/dist/lib/browser/settings-K54STC5A.mjs.map +7 -0
  32. package/dist/lib/browser/{spaces-ready-L4QAGTDE.mjs → spaces-ready-3PDRDHPC.mjs} +12 -13
  33. package/dist/lib/browser/spaces-ready-3PDRDHPC.mjs.map +7 -0
  34. package/dist/lib/browser/{state-6HOSHLIN.mjs → state-HRZ4VRXU.mjs} +2 -2
  35. package/dist/lib/browser/types/index.mjs +1 -3
  36. package/dist/lib/node/{app-graph-builder-WC445X77.cjs → app-graph-builder-6LK5HLLE.cjs} +79 -43
  37. package/dist/lib/node/app-graph-builder-6LK5HLLE.cjs.map +7 -0
  38. package/dist/lib/node/{app-graph-serializer-UPQOQVMJ.cjs → app-graph-serializer-HKHBNHA3.cjs} +24 -23
  39. package/dist/lib/node/app-graph-serializer-HKHBNHA3.cjs.map +7 -0
  40. package/dist/lib/node/chunk-3X4EA4XL.cjs +37 -0
  41. package/dist/lib/node/chunk-3X4EA4XL.cjs.map +7 -0
  42. package/dist/lib/node/{chunk-DXL5TDFP.cjs → chunk-DOC5XEZ4.cjs} +32 -18
  43. package/dist/lib/node/chunk-DOC5XEZ4.cjs.map +7 -0
  44. package/dist/lib/node/{chunk-USFHJG7C.cjs → chunk-NCHF433F.cjs} +207 -190
  45. package/dist/lib/node/chunk-NCHF433F.cjs.map +7 -0
  46. package/dist/lib/node/{chunk-7GQGM4ZF.cjs → chunk-NL5Y4EDX.cjs} +5 -4
  47. package/dist/lib/node/chunk-NL5Y4EDX.cjs.map +7 -0
  48. package/dist/lib/node/chunk-ULJZPATP.cjs +312 -0
  49. package/dist/lib/node/chunk-ULJZPATP.cjs.map +7 -0
  50. package/dist/lib/node/{chunk-COQYISES.cjs → chunk-XHWVT7LW.cjs} +137 -67
  51. package/dist/lib/node/chunk-XHWVT7LW.cjs.map +7 -0
  52. package/dist/lib/node/{identity-created-UXEAUGC7.cjs → identity-created-FF4WZ2WY.cjs} +8 -10
  53. package/dist/lib/node/identity-created-FF4WZ2WY.cjs.map +7 -0
  54. package/dist/lib/node/index.cjs +130 -119
  55. package/dist/lib/node/index.cjs.map +4 -4
  56. package/dist/lib/node/{intent-resolver-VPVZSSIL.cjs → intent-resolver-AV4CMM3Z.cjs} +99 -79
  57. package/dist/lib/node/intent-resolver-AV4CMM3Z.cjs.map +7 -0
  58. package/dist/lib/node/meta.json +1 -1
  59. package/dist/lib/node/{react-root-JXLRINF3.cjs → react-root-RQUU3A45.cjs} +10 -10
  60. package/dist/lib/node/{react-surface-ZIYDBL3C.cjs → react-surface-AZFJLE72.cjs} +119 -58
  61. package/dist/lib/node/react-surface-AZFJLE72.cjs.map +7 -0
  62. package/dist/lib/node/{schema-defs-XLFBG3XK.cjs → schema-defs-OB2X2HBH.cjs} +6 -6
  63. package/dist/lib/node/{schema-tools-ZG6Z2QRC.cjs → schema-tools-IYREN4IH.cjs} +9 -8
  64. package/dist/lib/node/schema-tools-IYREN4IH.cjs.map +7 -0
  65. package/dist/lib/node/{settings-FOH7EB5C.cjs → settings-P2EQ7VKQ.cjs} +7 -7
  66. package/dist/lib/node/settings-P2EQ7VKQ.cjs.map +7 -0
  67. package/dist/lib/node/{spaces-ready-VXQYCBII.cjs → spaces-ready-DXPOHYV7.cjs} +26 -27
  68. package/dist/lib/node/spaces-ready-DXPOHYV7.cjs.map +7 -0
  69. package/dist/lib/node/{state-ZT3MTZXB.cjs → state-M35DK75Z.cjs} +6 -6
  70. package/dist/lib/node/types/index.cjs +11 -13
  71. package/dist/lib/node/types/index.cjs.map +2 -2
  72. package/dist/lib/node-esm/{app-graph-builder-E7CCGPQJ.mjs → app-graph-builder-BCHVZ4OM.mjs} +49 -14
  73. package/dist/lib/node-esm/app-graph-builder-BCHVZ4OM.mjs.map +7 -0
  74. package/dist/lib/node-esm/{app-graph-serializer-UCMSLPIA.mjs → app-graph-serializer-TXRGGNP2.mjs} +13 -13
  75. package/dist/lib/node-esm/app-graph-serializer-TXRGGNP2.mjs.map +7 -0
  76. package/dist/lib/node-esm/chunk-3CP67AYY.mjs +19 -0
  77. package/dist/lib/node-esm/chunk-3CP67AYY.mjs.map +7 -0
  78. package/dist/lib/node-esm/{chunk-4X4Y63ND.mjs → chunk-BSLREHIX.mjs} +2 -1
  79. package/dist/lib/node-esm/chunk-BSLREHIX.mjs.map +7 -0
  80. package/dist/lib/node-esm/chunk-D4QMPPS7.mjs +285 -0
  81. package/dist/lib/node-esm/chunk-D4QMPPS7.mjs.map +7 -0
  82. package/dist/lib/node-esm/{chunk-XAZNQ3QN.mjs → chunk-HO7AIKQS.mjs} +112 -43
  83. package/dist/lib/node-esm/chunk-HO7AIKQS.mjs.map +7 -0
  84. package/dist/lib/node-esm/{chunk-OSPEGYX3.mjs → chunk-JBQKU4K5.mjs} +29 -17
  85. package/dist/lib/node-esm/chunk-JBQKU4K5.mjs.map +7 -0
  86. package/dist/lib/node-esm/{chunk-BE2BLE7K.mjs → chunk-LA6AVVH6.mjs} +157 -141
  87. package/dist/lib/node-esm/chunk-LA6AVVH6.mjs.map +7 -0
  88. package/dist/lib/node-esm/{identity-created-ZECO4NH3.mjs → identity-created-35CTAQWI.mjs} +5 -9
  89. package/dist/lib/node-esm/identity-created-35CTAQWI.mjs.map +7 -0
  90. package/dist/lib/node-esm/index.mjs +61 -51
  91. package/dist/lib/node-esm/index.mjs.map +4 -4
  92. package/dist/lib/node-esm/{intent-resolver-SK5LP5ZK.mjs → intent-resolver-JO6L2VXC.mjs} +66 -45
  93. package/dist/lib/node-esm/intent-resolver-JO6L2VXC.mjs.map +7 -0
  94. package/dist/lib/node-esm/meta.json +1 -1
  95. package/dist/lib/node-esm/{react-root-K2KRGIT7.mjs → react-root-YFGL3B4J.mjs} +5 -5
  96. package/dist/lib/node-esm/{react-surface-XNUWZCSH.mjs → react-surface-CVAPDLEZ.mjs} +79 -19
  97. package/dist/lib/node-esm/react-surface-CVAPDLEZ.mjs.map +7 -0
  98. package/dist/lib/node-esm/{schema-defs-QZJS6UXN.mjs → schema-defs-4MEJETVX.mjs} +2 -2
  99. package/dist/lib/node-esm/{schema-tools-2Y4D42PD.mjs → schema-tools-SRLCRZ3B.mjs} +7 -6
  100. package/dist/lib/node-esm/schema-tools-SRLCRZ3B.mjs.map +7 -0
  101. package/dist/lib/node-esm/{settings-Q4XDFSYD.mjs → settings-TD76LTQS.mjs} +4 -4
  102. package/dist/lib/node-esm/settings-TD76LTQS.mjs.map +7 -0
  103. package/dist/lib/node-esm/{spaces-ready-JHKPD4PH.mjs → spaces-ready-FJMGPAVV.mjs} +12 -13
  104. package/dist/lib/node-esm/spaces-ready-FJMGPAVV.mjs.map +7 -0
  105. package/dist/lib/node-esm/{state-4ATRHSKA.mjs → state-XQNDCN37.mjs} +2 -2
  106. package/dist/lib/node-esm/types/index.mjs +1 -3
  107. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  108. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  109. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  110. package/dist/types/src/capabilities/capabilities.d.ts +8 -1
  111. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  112. package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
  113. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  114. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  115. package/dist/types/src/capabilities/schema-tools.d.ts.map +1 -1
  116. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  117. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  118. package/dist/types/src/components/CollectionMain.d.ts +2 -2
  119. package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
  120. package/dist/types/src/components/CollectionSection.d.ts +2 -2
  121. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  122. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +3 -3
  123. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  124. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  125. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +8 -7
  126. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  127. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  128. package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
  129. package/dist/types/src/components/MenuFooter.d.ts +2 -2
  130. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  131. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts +2 -2
  132. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
  133. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +2 -2
  134. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
  135. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts +2 -2
  136. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +1 -1
  137. package/dist/types/src/components/SchemaContainer.d.ts +2 -2
  138. package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
  139. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  140. package/dist/types/src/components/SpacePresence.d.ts +2 -2
  141. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  142. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  143. package/dist/types/src/events.d.ts +1 -3
  144. package/dist/types/src/events.d.ts.map +1 -1
  145. package/dist/types/src/translations.d.ts +275 -2
  146. package/dist/types/src/translations.d.ts.map +1 -1
  147. package/dist/types/src/types/index.d.ts +0 -1
  148. package/dist/types/src/types/index.d.ts.map +1 -1
  149. package/dist/types/src/types/types.d.ts +81 -12
  150. package/dist/types/src/types/types.d.ts.map +1 -1
  151. package/dist/types/src/util.d.ts +16 -11
  152. package/dist/types/src/util.d.ts.map +1 -1
  153. package/package.json +45 -45
  154. package/src/{SpacePlugin.tsx → SpacePlugin.ts} +30 -10
  155. package/src/capabilities/app-graph-builder.ts +74 -20
  156. package/src/capabilities/app-graph-serializer.ts +11 -8
  157. package/src/capabilities/capabilities.ts +6 -1
  158. package/src/capabilities/identity-created.ts +5 -4
  159. package/src/capabilities/intent-resolver.ts +60 -36
  160. package/src/capabilities/react-surface.tsx +105 -29
  161. package/src/capabilities/schema-tools.ts +3 -2
  162. package/src/capabilities/settings.ts +6 -2
  163. package/src/capabilities/spaces-ready.ts +7 -8
  164. package/src/components/CollectionMain.tsx +3 -3
  165. package/src/components/CollectionSection.tsx +2 -2
  166. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +7 -6
  167. package/src/components/CreateDialog/CreateObjectDialog.tsx +31 -25
  168. package/src/components/CreateDialog/CreateObjectPanel.tsx +45 -52
  169. package/src/components/CreateDialog/CreateSpaceDialog.tsx +6 -5
  170. package/src/components/MembersContainer.tsx +4 -2
  171. package/src/components/MenuFooter.tsx +3 -2
  172. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +12 -4
  173. package/src/components/ObjectSettings/BaseObjectSettings.tsx +7 -7
  174. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +4 -4
  175. package/src/components/SchemaContainer.tsx +3 -3
  176. package/src/components/SpacePluginSettings.tsx +24 -19
  177. package/src/components/SpacePresence.tsx +22 -15
  178. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +2 -1
  179. package/src/events.ts +1 -5
  180. package/src/translations.ts +30 -14
  181. package/src/types/index.ts +0 -1
  182. package/src/types/types.ts +32 -11
  183. package/src/util.tsx +136 -57
  184. package/dist/lib/browser/app-graph-builder-DCWUULKX.mjs.map +0 -7
  185. package/dist/lib/browser/app-graph-serializer-MLU7XI2P.mjs.map +0 -7
  186. package/dist/lib/browser/chunk-3LN4LJN6.mjs.map +0 -7
  187. package/dist/lib/browser/chunk-N5QMRLKI.mjs.map +0 -7
  188. package/dist/lib/browser/chunk-VEBKN45O.mjs.map +0 -7
  189. package/dist/lib/browser/chunk-W46VVHFM.mjs +0 -288
  190. package/dist/lib/browser/chunk-W46VVHFM.mjs.map +0 -7
  191. package/dist/lib/browser/chunk-ZQEIXWBK.mjs.map +0 -7
  192. package/dist/lib/browser/identity-created-O63SIYOF.mjs.map +0 -7
  193. package/dist/lib/browser/intent-resolver-PG473BRV.mjs.map +0 -7
  194. package/dist/lib/browser/react-surface-QOP7T66K.mjs.map +0 -7
  195. package/dist/lib/browser/schema-tools-JIEMHUXV.mjs.map +0 -7
  196. package/dist/lib/browser/settings-2IN2WLUK.mjs.map +0 -7
  197. package/dist/lib/browser/spaces-ready-L4QAGTDE.mjs.map +0 -7
  198. package/dist/lib/node/app-graph-builder-WC445X77.cjs.map +0 -7
  199. package/dist/lib/node/app-graph-serializer-UPQOQVMJ.cjs.map +0 -7
  200. package/dist/lib/node/chunk-7GQGM4ZF.cjs.map +0 -7
  201. package/dist/lib/node/chunk-COQYISES.cjs.map +0 -7
  202. package/dist/lib/node/chunk-DXL5TDFP.cjs.map +0 -7
  203. package/dist/lib/node/chunk-FXHI7JNY.cjs +0 -315
  204. package/dist/lib/node/chunk-FXHI7JNY.cjs.map +0 -7
  205. package/dist/lib/node/chunk-USFHJG7C.cjs.map +0 -7
  206. package/dist/lib/node/identity-created-UXEAUGC7.cjs.map +0 -7
  207. package/dist/lib/node/intent-resolver-VPVZSSIL.cjs.map +0 -7
  208. package/dist/lib/node/react-surface-ZIYDBL3C.cjs.map +0 -7
  209. package/dist/lib/node/schema-tools-ZG6Z2QRC.cjs.map +0 -7
  210. package/dist/lib/node/settings-FOH7EB5C.cjs.map +0 -7
  211. package/dist/lib/node/spaces-ready-VXQYCBII.cjs.map +0 -7
  212. package/dist/lib/node-esm/app-graph-builder-E7CCGPQJ.mjs.map +0 -7
  213. package/dist/lib/node-esm/app-graph-serializer-UCMSLPIA.mjs.map +0 -7
  214. package/dist/lib/node-esm/chunk-4X4Y63ND.mjs.map +0 -7
  215. package/dist/lib/node-esm/chunk-BE2BLE7K.mjs.map +0 -7
  216. package/dist/lib/node-esm/chunk-FTELJGEG.mjs +0 -289
  217. package/dist/lib/node-esm/chunk-FTELJGEG.mjs.map +0 -7
  218. package/dist/lib/node-esm/chunk-OSPEGYX3.mjs.map +0 -7
  219. package/dist/lib/node-esm/chunk-XAZNQ3QN.mjs.map +0 -7
  220. package/dist/lib/node-esm/identity-created-ZECO4NH3.mjs.map +0 -7
  221. package/dist/lib/node-esm/intent-resolver-SK5LP5ZK.mjs.map +0 -7
  222. package/dist/lib/node-esm/react-surface-XNUWZCSH.mjs.map +0 -7
  223. package/dist/lib/node-esm/schema-tools-2Y4D42PD.mjs.map +0 -7
  224. package/dist/lib/node-esm/settings-Q4XDFSYD.mjs.map +0 -7
  225. package/dist/lib/node-esm/spaces-ready-JHKPD4PH.mjs.map +0 -7
  226. package/dist/types/src/types/collection.d.ts +0 -15
  227. package/dist/types/src/types/collection.d.ts.map +0 -1
  228. package/src/types/collection.ts +0 -18
  229. /package/dist/lib/browser/{react-root-FRDC4UXB.mjs.map → react-root-QIKHSNT2.mjs.map} +0 -0
  230. /package/dist/lib/browser/{schema-defs-JMN74RNK.mjs.map → schema-defs-WREJNMIC.mjs.map} +0 -0
  231. /package/dist/lib/browser/{state-6HOSHLIN.mjs.map → state-HRZ4VRXU.mjs.map} +0 -0
  232. /package/dist/lib/node/{react-root-JXLRINF3.cjs.map → react-root-RQUU3A45.cjs.map} +0 -0
  233. /package/dist/lib/node/{schema-defs-XLFBG3XK.cjs.map → schema-defs-OB2X2HBH.cjs.map} +0 -0
  234. /package/dist/lib/node/{state-ZT3MTZXB.cjs.map → state-M35DK75Z.cjs.map} +0 -0
  235. /package/dist/lib/node-esm/{react-root-K2KRGIT7.mjs.map → react-root-YFGL3B4J.mjs.map} +0 -0
  236. /package/dist/lib/node-esm/{schema-defs-QZJS6UXN.mjs.map → schema-defs-4MEJETVX.mjs.map} +0 -0
  237. /package/dist/lib/node-esm/{state-4ATRHSKA.mjs.map → state-XQNDCN37.mjs.map} +0 -0
@@ -0,0 +1,284 @@
1
+ import {
2
+ SPACE_PLUGIN
3
+ } from "./chunk-PTKYMZWO.mjs";
4
+
5
+ // packages/plugins/plugin-space/src/types/types.ts
6
+ import { Schema } from "effect";
7
+ import { Type } from "@dxos/echo";
8
+ import { EchoObjectSchema, ReactiveObjectSchema, SpaceSchema } from "@dxos/react-client/echo";
9
+ import { CancellableInvitationObservable, Invitation } from "@dxos/react-client/invitations";
10
+ import { DataType, TypenameAnnotationId } from "@dxos/schema";
11
+ var SPACE_DIRECTORY_HANDLE = "dxos.org/plugin/space/directory";
12
+ var SPACE_TYPE = "dxos.org/type/Space";
13
+ var SpaceSettingsSchema = Schema.mutable(Schema.Struct({
14
+ /**
15
+ * Show closed spaces.
16
+ */
17
+ showHidden: Schema.Boolean
18
+ }));
19
+ var IconAnnotationId = Symbol.for("@dxos/plugin-space/annotation/Icon");
20
+ var HueAnnotationId = Symbol.for("@dxos/plugin-space/annotation/Hue");
21
+ var SpaceForm = Schema.Struct({
22
+ name: Schema.optional(Schema.String.annotations({
23
+ title: "Name"
24
+ })),
25
+ icon: Schema.optional(Schema.String.annotations({
26
+ title: "Icon",
27
+ [IconAnnotationId]: true
28
+ })),
29
+ hue: Schema.optional(Schema.String.annotations({
30
+ title: "Color",
31
+ [HueAnnotationId]: true
32
+ })),
33
+ // TODO(wittjosiah): Make optional with default value.
34
+ edgeReplication: Schema.Boolean.annotations({
35
+ title: "Enable EDGE Replication"
36
+ })
37
+ });
38
+ var defineObjectForm = (form) => form;
39
+ var SPACE_ACTION = `${SPACE_PLUGIN}/action`;
40
+ (function(SpaceAction2) {
41
+ class OpenCreateSpace extends Schema.TaggedClass()(`${SPACE_ACTION}/open-create-space`, {
42
+ input: Schema.Void,
43
+ output: Schema.Void
44
+ }) {
45
+ }
46
+ SpaceAction2.OpenCreateSpace = OpenCreateSpace;
47
+ class Create extends Schema.TaggedClass()(`${SPACE_ACTION}/create`, {
48
+ input: SpaceForm,
49
+ output: Schema.Struct({
50
+ id: Schema.String,
51
+ subject: Schema.Array(Schema.String),
52
+ space: SpaceSchema
53
+ })
54
+ }) {
55
+ }
56
+ SpaceAction2.Create = Create;
57
+ class Join extends Schema.TaggedClass()(`${SPACE_ACTION}/join`, {
58
+ input: Schema.Struct({
59
+ invitationCode: Schema.optional(Schema.String),
60
+ onDone: Schema.optional(Schema.Any)
61
+ }),
62
+ output: Schema.Void
63
+ }) {
64
+ }
65
+ SpaceAction2.Join = Join;
66
+ class OpenMembers extends Schema.TaggedClass()(`${SPACE_ACTION}/open-members`, {
67
+ input: Schema.Struct({
68
+ space: SpaceSchema
69
+ }),
70
+ output: Schema.Void
71
+ }) {
72
+ }
73
+ SpaceAction2.OpenMembers = OpenMembers;
74
+ class Share extends Schema.TaggedClass()(`${SPACE_ACTION}/share`, {
75
+ input: Schema.Struct({
76
+ space: SpaceSchema,
77
+ type: Schema.Enums(Invitation.Type),
78
+ authMethod: Schema.Enums(Invitation.AuthMethod),
79
+ multiUse: Schema.Boolean,
80
+ target: Schema.optional(Schema.String)
81
+ }),
82
+ output: Schema.instanceOf(CancellableInvitationObservable)
83
+ }) {
84
+ }
85
+ SpaceAction2.Share = Share;
86
+ class GetShareLink extends Schema.TaggedClass()(`${SPACE_ACTION}/get-share-link`, {
87
+ input: Schema.Struct({
88
+ space: SpaceSchema,
89
+ target: Schema.optional(Schema.String),
90
+ copyToClipboard: Schema.optional(Schema.Boolean)
91
+ }),
92
+ output: Schema.String
93
+ }) {
94
+ }
95
+ SpaceAction2.GetShareLink = GetShareLink;
96
+ class Lock extends Schema.TaggedClass()(`${SPACE_ACTION}/lock`, {
97
+ input: Schema.Struct({
98
+ space: SpaceSchema
99
+ }),
100
+ output: Schema.Void
101
+ }) {
102
+ }
103
+ SpaceAction2.Lock = Lock;
104
+ class Unlock extends Schema.TaggedClass()(`${SPACE_ACTION}/unlock`, {
105
+ input: Schema.Struct({
106
+ space: SpaceSchema
107
+ }),
108
+ output: Schema.Void
109
+ }) {
110
+ }
111
+ SpaceAction2.Unlock = Unlock;
112
+ class Rename extends Schema.TaggedClass()(`${SPACE_ACTION}/rename`, {
113
+ input: Schema.Struct({
114
+ space: SpaceSchema,
115
+ caller: Schema.optional(Schema.String)
116
+ }),
117
+ output: Schema.Void
118
+ }) {
119
+ }
120
+ SpaceAction2.Rename = Rename;
121
+ class OpenSettings extends Schema.TaggedClass()(`${SPACE_ACTION}/open-settings`, {
122
+ input: Schema.Struct({
123
+ space: SpaceSchema
124
+ }),
125
+ output: Schema.Void
126
+ }) {
127
+ }
128
+ SpaceAction2.OpenSettings = OpenSettings;
129
+ class Open extends Schema.TaggedClass()(`${SPACE_ACTION}/open`, {
130
+ input: Schema.Struct({
131
+ space: SpaceSchema
132
+ }),
133
+ output: Schema.Void
134
+ }) {
135
+ }
136
+ SpaceAction2.Open = Open;
137
+ class Close extends Schema.TaggedClass()(`${SPACE_ACTION}/close`, {
138
+ input: Schema.Struct({
139
+ space: SpaceSchema
140
+ }),
141
+ output: Schema.Void
142
+ }) {
143
+ }
144
+ SpaceAction2.Close = Close;
145
+ class Migrate extends Schema.TaggedClass()(`${SPACE_ACTION}/migrate`, {
146
+ input: Schema.Struct({
147
+ space: SpaceSchema,
148
+ version: Schema.optional(Schema.String)
149
+ }),
150
+ output: Schema.Boolean
151
+ }) {
152
+ }
153
+ SpaceAction2.Migrate = Migrate;
154
+ class OpenCreateObject extends Schema.TaggedClass()(`${SPACE_ACTION}/open-create-object`, {
155
+ input: Schema.Struct({
156
+ target: Schema.Union(SpaceSchema, DataType.Collection),
157
+ typename: Schema.optional(Schema.String),
158
+ navigable: Schema.optional(Schema.Boolean)
159
+ }),
160
+ output: Schema.Void
161
+ }) {
162
+ }
163
+ SpaceAction2.OpenCreateObject = OpenCreateObject;
164
+ class AddObject extends Schema.TaggedClass()(`${SPACE_ACTION}/add-object`, {
165
+ input: Schema.Struct({
166
+ object: ReactiveObjectSchema,
167
+ target: Schema.Union(SpaceSchema, DataType.Collection),
168
+ hidden: Schema.optional(Schema.Boolean)
169
+ }),
170
+ output: Schema.Struct({
171
+ id: Schema.String,
172
+ subject: Schema.Array(Schema.String),
173
+ object: EchoObjectSchema
174
+ })
175
+ }) {
176
+ }
177
+ SpaceAction2.AddObject = AddObject;
178
+ class AddRelation extends Schema.TaggedClass()(`${SPACE_ACTION}/add-relation`, {
179
+ input: Schema.Struct({
180
+ space: SpaceSchema,
181
+ // TODO(wittjosiah): Relation schema.
182
+ schema: Schema.Any,
183
+ source: Type.Expando,
184
+ target: Type.Expando,
185
+ // TODO(wittjosiah): Type based on relation schema.
186
+ fields: Schema.optional(Schema.Record({
187
+ key: Schema.String,
188
+ value: Schema.Any
189
+ }))
190
+ }),
191
+ output: Schema.Struct({
192
+ relation: Schema.Any
193
+ })
194
+ }) {
195
+ }
196
+ SpaceAction2.AddRelation = AddRelation;
197
+ SpaceAction2.DeletionData = Schema.Struct({
198
+ objects: Schema.Array(EchoObjectSchema),
199
+ parentCollection: DataType.Collection,
200
+ indices: Schema.Array(Schema.Number),
201
+ nestedObjectsList: Schema.Array(Schema.Array(EchoObjectSchema)),
202
+ wasActive: Schema.Array(Schema.String)
203
+ });
204
+ class RemoveObjects extends Schema.TaggedClass()(`${SPACE_ACTION}/remove-objects`, {
205
+ input: Schema.Struct({
206
+ objects: Schema.Array(EchoObjectSchema),
207
+ target: Schema.optional(DataType.Collection),
208
+ deletionData: Schema.optional(SpaceAction2.DeletionData)
209
+ }),
210
+ output: Schema.Void
211
+ }) {
212
+ }
213
+ SpaceAction2.RemoveObjects = RemoveObjects;
214
+ class RenameObject extends Schema.TaggedClass()(`${SPACE_ACTION}/rename-object`, {
215
+ input: Schema.Struct({
216
+ object: EchoObjectSchema,
217
+ caller: Schema.optional(Schema.String)
218
+ }),
219
+ output: Schema.Void
220
+ }) {
221
+ }
222
+ SpaceAction2.RenameObject = RenameObject;
223
+ class DuplicateObject extends Schema.TaggedClass()(`${SPACE_ACTION}/duplicate-object`, {
224
+ input: Schema.Struct({
225
+ object: EchoObjectSchema,
226
+ target: Schema.Union(SpaceSchema, DataType.Collection)
227
+ }),
228
+ output: Schema.Void
229
+ }) {
230
+ }
231
+ SpaceAction2.DuplicateObject = DuplicateObject;
232
+ class WaitForObject extends Schema.TaggedClass()(`${SPACE_ACTION}/wait-for-object`, {
233
+ input: Schema.Struct({
234
+ id: Schema.optional(Schema.String)
235
+ }),
236
+ output: Schema.Void
237
+ }) {
238
+ }
239
+ SpaceAction2.WaitForObject = WaitForObject;
240
+ })(SpaceAction || (SpaceAction = {}));
241
+ (function(CollectionAction2) {
242
+ class Create extends Schema.TaggedClass()("dxos.org/plugin/collection/action/create", {
243
+ input: Schema.Struct({
244
+ name: Schema.optional(Schema.String)
245
+ }),
246
+ output: Schema.Struct({
247
+ object: DataType.Collection
248
+ })
249
+ }) {
250
+ }
251
+ CollectionAction2.Create = Create;
252
+ CollectionAction2.QueryCollectionForm = Schema.Struct({
253
+ name: Schema.optional(Schema.String),
254
+ typename: Schema.optional(Schema.String.annotations({
255
+ [TypenameAnnotationId]: [
256
+ "object-form"
257
+ ]
258
+ }))
259
+ });
260
+ class CreateQueryCollection extends Schema.TaggedClass()("dxos.org/plugin/collection/action/create-query-collection", {
261
+ input: CollectionAction2.QueryCollectionForm,
262
+ output: Schema.Struct({
263
+ object: DataType.QueryCollection
264
+ })
265
+ }) {
266
+ }
267
+ CollectionAction2.CreateQueryCollection = CreateQueryCollection;
268
+ })(CollectionAction || (CollectionAction = {}));
269
+ var SpaceAction;
270
+ var CollectionAction;
271
+
272
+ export {
273
+ SPACE_DIRECTORY_HANDLE,
274
+ SPACE_TYPE,
275
+ SpaceSettingsSchema,
276
+ IconAnnotationId,
277
+ HueAnnotationId,
278
+ SpaceForm,
279
+ defineObjectForm,
280
+ SPACE_ACTION,
281
+ SpaceAction,
282
+ CollectionAction
283
+ };
284
+ //# sourceMappingURL=chunk-TW7O2EPP.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/types.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { type AnyIntentChain } from '@dxos/app-framework';\nimport { Type, type Obj } from '@dxos/echo';\nimport { 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 { DataType, TypenameAnnotationId } from '@dxos/schema';\nimport { type ComplexMap } from '@dxos/util';\n\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 Obj.Any = Type.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, DataType.Collection),\n typename: Schema.optional(Schema.String),\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, DataType.Collection),\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 class AddRelation extends Schema.TaggedClass<AddRelation>()(`${SPACE_ACTION}/add-relation`, {\n input: Schema.Struct({\n space: SpaceSchema,\n // TODO(wittjosiah): Relation schema.\n schema: Schema.Any,\n source: Type.Expando,\n target: Type.Expando,\n // TODO(wittjosiah): Type based on relation schema.\n fields: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Any })),\n }),\n output: Schema.Struct({\n relation: Schema.Any,\n }),\n }) {}\n\n export const DeletionData = Schema.Struct({\n objects: Schema.Array(EchoObjectSchema),\n parentCollection: DataType.Collection,\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(DataType.Collection),\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, DataType.Collection),\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: DataType.Collection,\n }),\n }) {}\n\n export const QueryCollectionForm = Schema.Struct({\n name: Schema.optional(Schema.String),\n typename: Schema.optional(\n Schema.String.annotations({\n [TypenameAnnotationId]: ['object-form'],\n }),\n ),\n });\n\n export class CreateQueryCollection extends Schema.TaggedClass<CreateQueryCollection>()(\n 'dxos.org/plugin/collection/action/create-query-collection',\n {\n input: QueryCollectionForm,\n output: Schema.Struct({\n object: DataType.QueryCollection,\n }),\n },\n ) {}\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["Schema", "Type", "EchoObjectSchema", "ReactiveObjectSchema", "SpaceSchema", "CancellableInvitationObservable", "Invitation", "DataType", "TypenameAnnotationId", "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", "DataType", "Collection", "typename", "navigable", "AddObject", "object", "ReactiveObjectSchema", "hidden", "EchoObjectSchema", "AddRelation", "schema", "source", "Expando", "fields", "Record", "key", "value", "relation", "DeletionData", "objects", "parentCollection", "indices", "Number", "nestedObjectsList", "wasActive", "RemoveObjects", "deletionData", "RenameObject", "DuplicateObject", "WaitForObject", "CollectionAction", "QueryCollectionForm", "TypenameAnnotationId", "CreateQueryCollection", "QueryCollection"]
7
+ }
@@ -1,23 +1,23 @@
1
1
  import {
2
- CollectionType,
3
2
  SPACE_TYPE,
4
3
  SpaceAction
5
- } from "./chunk-W46VVHFM.mjs";
4
+ } from "./chunk-TW7O2EPP.mjs";
6
5
  import {
7
6
  SPACE_PLUGIN
8
7
  } from "./chunk-PTKYMZWO.mjs";
9
8
 
10
9
  // packages/plugins/plugin-space/src/util.tsx
11
10
  import { Rx } from "@effect-rx/rx-react";
12
- import { createIntent, LayoutAction } from "@dxos/app-framework";
13
- import { EXPANDO_TYPENAME, getTypeAnnotation, getTypename } from "@dxos/echo-schema";
14
- import { getSchema } from "@dxos/echo-schema";
11
+ import { pipe } from "effect";
12
+ import { chain, createIntent, LayoutAction } from "@dxos/app-framework";
13
+ import { Obj, Ref, Type } from "@dxos/echo";
14
+ import { EXPANDO_TYPENAME } from "@dxos/echo-schema";
15
15
  import { invariant } from "@dxos/invariant";
16
- import { makeRef } from "@dxos/live-object";
17
16
  import { Migrations } from "@dxos/migrations";
18
- import { ACTION_GROUP_TYPE, ACTION_TYPE } from "@dxos/plugin-graph";
19
- import { fullyQualifiedId, getSpace, isEchoObject, SpaceState } from "@dxos/react-client/echo";
17
+ import { ACTION_GROUP_TYPE, ACTION_TYPE, isGraphNode } from "@dxos/plugin-graph";
18
+ import { fullyQualifiedId, getSpace, SpaceState, isSpace } from "@dxos/react-client/echo";
20
19
  import { ATTENDABLE_PATH_SEPARATOR } from "@dxos/react-ui-attention";
20
+ import { DataType } from "@dxos/schema";
21
21
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/util.tsx";
22
22
  var SPACES = `${SPACE_PLUGIN}-spaces`;
23
23
  var COMPOSER_SPACE_LOCK = "dxos.org/plugin/space/lock";
@@ -44,7 +44,7 @@ var getSpaceDisplayName = (space, { personal, namesCache = {} } = {}) => {
44
44
  }
45
45
  ];
46
46
  };
47
- var getCollectionGraphNodePartials = ({ navigable, collection, space, resolve }) => {
47
+ var getCollectionGraphNodePartials = ({ collection, space, resolve }) => {
48
48
  return {
49
49
  acceptPersistenceClass: /* @__PURE__ */ new Set([
50
50
  "echo"
@@ -54,14 +54,14 @@ var getCollectionGraphNodePartials = ({ navigable, collection, space, resolve })
54
54
  ]),
55
55
  role: "branch",
56
56
  onRearrangeChildren: (nextOrder) => {
57
- collection.objects = nextOrder.filter(isEchoObject).map(makeRef);
57
+ collection.objects = nextOrder.filter(Obj.isObject).map(Ref.make);
58
58
  },
59
59
  onTransferStart: (child, index) => {
60
60
  if (!collection.objects.find((object) => object.target === child.data)) {
61
61
  if (typeof index !== "undefined") {
62
- collection.objects.splice(index, 0, makeRef(child.data));
62
+ collection.objects.splice(index, 0, Ref.make(child.data));
63
63
  } else {
64
- collection.objects.push(makeRef(child.data));
64
+ collection.objects.push(Ref.make(child.data));
65
65
  }
66
66
  }
67
67
  },
@@ -75,24 +75,42 @@ var getCollectionGraphNodePartials = ({ navigable, collection, space, resolve })
75
75
  const newObject = await cloneObject(child.data, resolve, space);
76
76
  space.db.add(newObject);
77
77
  if (typeof index !== "undefined") {
78
- collection.objects.splice(index, 0, makeRef(newObject));
78
+ collection.objects.splice(index, 0, Ref.make(newObject));
79
79
  } else {
80
- collection.objects.push(makeRef(newObject));
80
+ collection.objects.push(Ref.make(newObject));
81
81
  }
82
82
  }
83
83
  };
84
84
  };
85
+ var getQueryCollectionNodePartials = ({ collection, space, resolve }) => {
86
+ return {
87
+ icon: collection.query.typename && resolve(collection.query.typename)?.icon,
88
+ acceptPersistenceClass: /* @__PURE__ */ new Set([
89
+ "echo"
90
+ ]),
91
+ acceptPersistenceKey: /* @__PURE__ */ new Set([
92
+ space.id
93
+ ]),
94
+ role: "branch",
95
+ canDrop: (source) => {
96
+ return isGraphNode(source.item) && Obj.isObject(source.item.data) && Obj.getTypename(source.item.data) === collection.query.typename;
97
+ },
98
+ onTransferStart: (child, index) => {
99
+ },
100
+ onTransferEnd: (child, destination) => {
101
+ }
102
+ };
103
+ };
85
104
  var checkPendingMigration = (space) => {
86
105
  return space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION || space.state.get() === SpaceState.SPACE_READY && !!Migrations.versionProperty && space.properties[Migrations.versionProperty] !== Migrations.targetVersion;
87
106
  };
88
107
  var constructSpaceNode = ({ space, navigable = false, personal, namesCache, resolve }) => {
89
108
  const hasPendingMigration = checkPendingMigration(space);
90
- const collection = space.state.get() === SpaceState.SPACE_READY && space.properties[CollectionType.typename]?.target;
91
- const partials = space.state.get() === SpaceState.SPACE_READY && collection instanceof CollectionType ? getCollectionGraphNodePartials({
109
+ const collection = space.state.get() === SpaceState.SPACE_READY && space.properties[Type.getTypename(DataType.Collection)]?.target;
110
+ const partials = space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(DataType.Collection, collection) ? getCollectionGraphNodePartials({
92
111
  collection,
93
112
  space,
94
- resolve,
95
- navigable
113
+ resolve
96
114
  }) : {};
97
115
  return {
98
116
  id: space.id,
@@ -113,7 +131,10 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
113
131
  hue: space.state.get() === SpaceState.SPACE_READY && space.properties.hue,
114
132
  icon: space.state.get() === SpaceState.SPACE_READY && space.properties.icon ? `ph--${space.properties.icon}--regular` : void 0,
115
133
  disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,
116
- testId: "spacePlugin.space"
134
+ testId: "spacePlugin.space",
135
+ canDrop: (source) => {
136
+ return Obj.isObject(source.item.data) || isSpace(source.item.data);
137
+ }
117
138
  },
118
139
  nodes: [
119
140
  {
@@ -253,8 +274,8 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
253
274
  }
254
275
  return actions;
255
276
  };
256
- var createObjectNode = ({ object, space, navigable = false, resolve }) => {
257
- const type = getTypename(object);
277
+ var createObjectNode = ({ space, object, droppable = true, navigable = false, resolve }) => {
278
+ const type = Obj.getTypename(object);
258
279
  if (!type) {
259
280
  return void 0;
260
281
  }
@@ -262,11 +283,14 @@ var createObjectNode = ({ object, space, navigable = false, resolve }) => {
262
283
  if (Object.keys(metadata).length === 0) {
263
284
  return void 0;
264
285
  }
265
- const partials = object instanceof CollectionType ? getCollectionGraphNodePartials({
286
+ const partials = Obj.instanceOf(DataType.Collection, object) ? getCollectionGraphNodePartials({
287
+ collection: object,
288
+ space,
289
+ resolve
290
+ }) : Obj.instanceOf(DataType.QueryCollection, object) ? getQueryCollectionNodePartials({
266
291
  collection: object,
267
292
  space,
268
- resolve,
269
- navigable
293
+ resolve
270
294
  }) : metadata.graphProps;
271
295
  return {
272
296
  id: fullyQualifiedId(object),
@@ -278,7 +302,7 @@ var createObjectNode = ({ object, space, navigable = false, resolve }) => {
278
302
  ],
279
303
  data: object,
280
304
  properties: {
281
- ...partials,
305
+ // TODO(burdon): Use annotation to get the name field.
282
306
  label: metadata.label?.(object) || object.name || [
283
307
  "object name placeholder",
284
308
  {
@@ -289,15 +313,19 @@ var createObjectNode = ({ object, space, navigable = false, resolve }) => {
289
313
  icon: metadata.icon ?? "ph--placeholder--regular",
290
314
  testId: "spacePlugin.object",
291
315
  persistenceClass: "echo",
292
- persistenceKey: space?.id
316
+ persistenceKey: space?.id,
317
+ canDrop: (source) => {
318
+ return droppable && isGraphNode(source.item) && Obj.isObject(source.item.data);
319
+ },
320
+ ...partials
293
321
  }
294
322
  };
295
323
  };
296
- var constructObjectActions = ({ object, graph, dispatch, navigable = false }) => {
324
+ var constructObjectActions = ({ object, graph, dispatch, objectForms, navigable = false }) => {
297
325
  const space = getSpace(object);
298
326
  invariant(space, "Space not found", {
299
327
  F: __dxlog_file,
300
- L: 362,
328
+ L: 398,
301
329
  S: void 0,
302
330
  A: [
303
331
  "space",
@@ -305,8 +333,10 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
305
333
  ]
306
334
  });
307
335
  const getId = (id) => `${id}/${fullyQualifiedId(object)}`;
336
+ const queryCollection = Obj.instanceOf(DataType.QueryCollection, object) ? object : void 0;
337
+ const matchingObjectForm = queryCollection ? objectForms.find((form) => Type.getTypename(form.objectSchema) === queryCollection.query.typename) : void 0;
308
338
  const actions = [
309
- ...object instanceof CollectionType ? [
339
+ ...Obj.instanceOf(DataType.Collection, object) ? [
310
340
  {
311
341
  id: getId(SpaceAction.OpenCreateObject._tag),
312
342
  type: ACTION_TYPE,
@@ -328,6 +358,40 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
328
358
  }
329
359
  }
330
360
  ] : [],
361
+ ...matchingObjectForm ? [
362
+ {
363
+ id: getId(SpaceAction.OpenCreateObject._tag),
364
+ type: ACTION_TYPE,
365
+ data: async () => {
366
+ if (matchingObjectForm.formSchema) {
367
+ await dispatch(createIntent(SpaceAction.OpenCreateObject, {
368
+ target: space,
369
+ typename: queryCollection?.query.typename
370
+ }));
371
+ } else {
372
+ await dispatch(pipe(matchingObjectForm.getIntent({}, {
373
+ space
374
+ }), chain(SpaceAction.AddObject, {
375
+ target: space,
376
+ hidden: true
377
+ }), chain(LayoutAction.Open, {
378
+ part: "main"
379
+ })));
380
+ }
381
+ },
382
+ properties: {
383
+ label: [
384
+ "create object in smart collection label",
385
+ {
386
+ ns: SPACE_PLUGIN
387
+ }
388
+ ],
389
+ icon: "ph--plus--regular",
390
+ disposition: "list-item-primary",
391
+ testId: "spacePlugin.createObject"
392
+ }
393
+ }
394
+ ] : [],
331
395
  {
332
396
  id: getId(SpaceAction.RenameObject._tag),
333
397
  type: ACTION_TYPE,
@@ -339,16 +403,17 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
339
403
  },
340
404
  properties: {
341
405
  label: [
342
- object instanceof CollectionType ? "rename collection label" : "rename object label",
406
+ Obj.instanceOf(DataType.Collection, object) ? "rename collection label" : "rename object label",
343
407
  {
344
408
  ns: SPACE_PLUGIN
345
409
  }
346
410
  ],
347
411
  icon: "ph--pencil-simple-line--regular",
348
- // TODO(wittjosiah): Need's focus.
349
- keyBinding: {
350
- macos: "shift+F6"
351
- },
412
+ disposition: "list-item",
413
+ // TODO(wittjosiah): Not working.
414
+ // keyBinding: {
415
+ // macos: 'shift+F6',
416
+ // },
352
417
  testId: "spacePlugin.renameObject"
353
418
  }
354
419
  },
@@ -356,7 +421,7 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
356
421
  id: getId(SpaceAction.RemoveObjects._tag),
357
422
  type: ACTION_TYPE,
358
423
  data: async () => {
359
- const collection = graph.getConnections(fullyQualifiedId(object), "inbound").find(({ data }) => data instanceof CollectionType)?.data;
424
+ const collection = graph.getConnections(fullyQualifiedId(object), "inbound").find(({ data }) => Obj.instanceOf(DataType.Collection, data))?.data;
360
425
  await dispatch(createIntent(SpaceAction.RemoveObjects, {
361
426
  objects: [
362
427
  object
@@ -366,17 +431,19 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
366
431
  },
367
432
  properties: {
368
433
  label: [
369
- object instanceof CollectionType ? "delete collection label" : "delete object label",
434
+ Obj.instanceOf(DataType.Collection, object) ? "delete collection label" : "delete object label",
370
435
  {
371
436
  ns: SPACE_PLUGIN
372
437
  }
373
438
  ],
374
439
  icon: "ph--trash--regular",
375
- keyBinding: object instanceof CollectionType ? void 0 : "shift+meta+Backspace",
440
+ disposition: "list-item",
441
+ // TODO(wittjosiah): This is a browser shortcut.
442
+ // keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',
376
443
  testId: "spacePlugin.deleteObject"
377
444
  }
378
445
  },
379
- ...navigable || !(object instanceof CollectionType) ? [
446
+ ...navigable || !Obj.instanceOf(DataType.Collection, object) && !Obj.instanceOf(DataType.QueryCollection, object) ? [
380
447
  {
381
448
  id: getId("copy-link"),
382
449
  type: ACTION_TYPE,
@@ -392,6 +459,7 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
392
459
  }
393
460
  ],
394
461
  icon: "ph--link--regular",
462
+ disposition: "list-item",
395
463
  testId: "spacePlugin.copyLink"
396
464
  }
397
465
  }
@@ -414,6 +482,7 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
414
482
  }
415
483
  ],
416
484
  icon: "ph--eye--regular",
485
+ disposition: "heading-list-item",
417
486
  testId: "spacePlugin.exposeObject"
418
487
  }
419
488
  }
@@ -421,7 +490,7 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
421
490
  return actions;
422
491
  };
423
492
  var getNestedObjects = async (object, resolve) => {
424
- const type = getTypename(object);
493
+ const type = Obj.getTypename(object);
425
494
  if (!type) {
426
495
  return [];
427
496
  }
@@ -438,13 +507,13 @@ var getNestedObjects = async (object, resolve) => {
438
507
  ];
439
508
  };
440
509
  var cloneObject = async (object, resolve, newSpace) => {
441
- const schema = getSchema(object);
442
- const typename = schema ? getTypeAnnotation(schema)?.typename ?? EXPANDO_TYPENAME : EXPANDO_TYPENAME;
510
+ const schema = Obj.getSchema(object);
511
+ const typename = schema ? Type.getTypename(schema) ?? EXPANDO_TYPENAME : EXPANDO_TYPENAME;
443
512
  const metadata = resolve(typename);
444
513
  const serializer = metadata.serializer;
445
514
  invariant(serializer, `No serializer for type: ${typename}`, {
446
515
  F: __dxlog_file,
447
- L: 491,
516
+ L: 570,
448
517
  S: void 0,
449
518
  A: [
450
519
  "serializer",
@@ -474,4 +543,4 @@ export {
474
543
  getNestedObjects,
475
544
  cloneObject
476
545
  };
477
- //# sourceMappingURL=chunk-N5QMRLKI.mjs.map
546
+ //# sourceMappingURL=chunk-V24VASAJ.mjs.map