@dxos/plugin-space 0.8.2-staging.7ac8446 → 0.8.2

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 (341) hide show
  1. package/dist/lib/browser/app-graph-builder-DCWUULKX.mjs +328 -0
  2. package/dist/lib/browser/app-graph-builder-DCWUULKX.mjs.map +7 -0
  3. package/dist/lib/browser/{app-graph-serializer-DSF2U3A5.mjs → app-graph-serializer-MLU7XI2P.mjs} +10 -10
  4. package/dist/lib/browser/app-graph-serializer-MLU7XI2P.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-KVRYWFZU.mjs → chunk-3LN4LJN6.mjs} +3 -8
  6. package/dist/lib/{node-esm/chunk-PIYAWT5N.mjs.map → browser/chunk-3LN4LJN6.mjs.map} +3 -3
  7. package/dist/lib/browser/chunk-7Y4M7GXO.mjs +94 -0
  8. package/dist/lib/browser/chunk-7Y4M7GXO.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-LO5UL6RU.mjs → chunk-N5QMRLKI.mjs} +78 -173
  10. package/dist/lib/browser/chunk-N5QMRLKI.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-Q4BTFH2P.mjs +1900 -0
  12. package/dist/lib/browser/chunk-Q4BTFH2P.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-5BDV575R.mjs → chunk-VEBKN45O.mjs} +21 -10
  14. package/dist/lib/browser/chunk-VEBKN45O.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-W46VVHFM.mjs +288 -0
  16. package/dist/lib/browser/chunk-W46VVHFM.mjs.map +7 -0
  17. package/dist/lib/browser/{identity-created-JR7BNXFH.mjs → identity-created-O63SIYOF.mjs} +5 -5
  18. package/dist/lib/browser/identity-created-O63SIYOF.mjs.map +7 -0
  19. package/dist/lib/browser/index.mjs +34 -54
  20. package/dist/lib/browser/index.mjs.map +3 -3
  21. package/dist/lib/browser/{intent-resolver-RKYILWWQ.mjs → intent-resolver-KBF3YU6I.mjs} +116 -108
  22. package/dist/lib/browser/intent-resolver-KBF3YU6I.mjs.map +7 -0
  23. package/dist/lib/browser/meta.json +1 -1
  24. package/dist/lib/browser/{react-root-6H7NX2M2.mjs → react-root-PVKJE4EZ.mjs} +6 -5
  25. package/dist/lib/browser/{react-surface-7AGLOVMK.mjs → react-surface-252P4NCK.mjs} +121 -54
  26. package/dist/lib/browser/react-surface-252P4NCK.mjs.map +7 -0
  27. package/dist/lib/browser/schema-defs-JMN74RNK.mjs +26 -0
  28. package/dist/lib/browser/schema-defs-JMN74RNK.mjs.map +7 -0
  29. package/dist/lib/browser/{schema-tools-YAXPRIXP.mjs → schema-tools-JIEMHUXV.mjs} +26 -26
  30. package/dist/lib/browser/schema-tools-JIEMHUXV.mjs.map +7 -0
  31. package/dist/lib/browser/{settings-PJPTJUPE.mjs → settings-2IN2WLUK.mjs} +4 -4
  32. package/dist/lib/browser/settings-2IN2WLUK.mjs.map +7 -0
  33. package/dist/lib/browser/{spaces-ready-BSSP7HHG.mjs → spaces-ready-L4QAGTDE.mjs} +20 -19
  34. package/dist/lib/browser/spaces-ready-L4QAGTDE.mjs.map +7 -0
  35. package/dist/lib/browser/{state-X7VLCC6E.mjs → state-6HOSHLIN.mjs} +3 -5
  36. package/dist/lib/browser/state-6HOSHLIN.mjs.map +7 -0
  37. package/dist/lib/browser/types/index.mjs +7 -7
  38. package/dist/lib/node/app-graph-builder-WC445X77.cjs +328 -0
  39. package/dist/lib/node/app-graph-builder-WC445X77.cjs.map +7 -0
  40. package/dist/lib/node/{app-graph-serializer-JELGJUAY.cjs → app-graph-serializer-UPQOQVMJ.cjs} +22 -22
  41. package/dist/lib/node/app-graph-serializer-UPQOQVMJ.cjs.map +7 -0
  42. package/dist/lib/node/chunk-5WLAXYE3.cjs +125 -0
  43. package/dist/lib/node/chunk-5WLAXYE3.cjs.map +7 -0
  44. package/dist/lib/node/{chunk-IKIDS6XF.cjs → chunk-7GQGM4ZF.cjs} +7 -13
  45. package/dist/lib/node/{chunk-IKIDS6XF.cjs.map → chunk-7GQGM4ZF.cjs.map} +3 -3
  46. package/dist/lib/node/{chunk-TUZWEPGX.cjs → chunk-COQYISES.cjs} +100 -198
  47. package/dist/lib/node/chunk-COQYISES.cjs.map +7 -0
  48. package/dist/lib/node/{chunk-PU2EYH4E.cjs → chunk-DXL5TDFP.cjs} +25 -14
  49. package/dist/lib/node/chunk-DXL5TDFP.cjs.map +7 -0
  50. package/dist/lib/node/chunk-FXHI7JNY.cjs +315 -0
  51. package/dist/lib/node/chunk-FXHI7JNY.cjs.map +7 -0
  52. package/dist/lib/node/chunk-Q3YZEYZT.cjs +1904 -0
  53. package/dist/lib/node/chunk-Q3YZEYZT.cjs.map +7 -0
  54. package/dist/lib/node/{identity-created-XU4HFV2T.cjs → identity-created-UXEAUGC7.cjs} +7 -7
  55. package/dist/lib/node/identity-created-UXEAUGC7.cjs.map +7 -0
  56. package/dist/lib/node/index.cjs +83 -105
  57. package/dist/lib/node/index.cjs.map +3 -3
  58. package/dist/lib/node/{intent-resolver-VJ7YV74L.cjs → intent-resolver-SVFJKUH7.cjs} +161 -152
  59. package/dist/lib/node/intent-resolver-SVFJKUH7.cjs.map +7 -0
  60. package/dist/lib/node/meta.json +1 -1
  61. package/dist/lib/node/{react-root-TEL5RW3N.cjs → react-root-DDPDUMCG.cjs} +11 -10
  62. package/dist/lib/node/{react-root-TEL5RW3N.cjs.map → react-root-DDPDUMCG.cjs.map} +1 -1
  63. package/dist/lib/node/{react-surface-2H3S5TY5.cjs → react-surface-JUIU37BX.cjs} +144 -77
  64. package/dist/lib/node/react-surface-JUIU37BX.cjs.map +7 -0
  65. package/dist/lib/node/{schema-PPJ5BZ3A.cjs → schema-defs-XLFBG3XK.cjs} +14 -12
  66. package/dist/lib/node/schema-defs-XLFBG3XK.cjs.map +7 -0
  67. package/dist/lib/node/{schema-tools-BLIMOZYY.cjs → schema-tools-ZG6Z2QRC.cjs} +32 -32
  68. package/dist/lib/node/schema-tools-ZG6Z2QRC.cjs.map +7 -0
  69. package/dist/lib/node/{settings-WVFP2UEP.cjs → settings-FOH7EB5C.cjs} +7 -7
  70. package/dist/lib/node/settings-FOH7EB5C.cjs.map +7 -0
  71. package/dist/lib/node/{spaces-ready-7DNZSUOG.cjs → spaces-ready-VXQYCBII.cjs} +27 -26
  72. package/dist/lib/node/spaces-ready-VXQYCBII.cjs.map +7 -0
  73. package/dist/lib/node/{state-5KX6WBJH.cjs → state-ZT3MTZXB.cjs} +7 -9
  74. package/dist/lib/node/state-ZT3MTZXB.cjs.map +7 -0
  75. package/dist/lib/node/types/index.cjs +15 -15
  76. package/dist/lib/node/types/index.cjs.map +1 -1
  77. package/dist/lib/node-esm/app-graph-builder-E7CCGPQJ.mjs +329 -0
  78. package/dist/lib/node-esm/app-graph-builder-E7CCGPQJ.mjs.map +7 -0
  79. package/dist/lib/node-esm/{app-graph-serializer-FXONFKOE.mjs → app-graph-serializer-UCMSLPIA.mjs} +10 -10
  80. package/dist/lib/node-esm/app-graph-serializer-UCMSLPIA.mjs.map +7 -0
  81. package/dist/lib/node-esm/{chunk-PIYAWT5N.mjs → chunk-4X4Y63ND.mjs} +3 -8
  82. package/dist/lib/{browser/chunk-KVRYWFZU.mjs.map → node-esm/chunk-4X4Y63ND.mjs.map} +3 -3
  83. package/dist/lib/node-esm/chunk-FTELJGEG.mjs +289 -0
  84. package/dist/lib/node-esm/chunk-FTELJGEG.mjs.map +7 -0
  85. package/dist/lib/node-esm/chunk-GH2FGJXH.mjs +96 -0
  86. package/dist/lib/node-esm/chunk-GH2FGJXH.mjs.map +7 -0
  87. package/dist/lib/node-esm/chunk-HL2Z2GNW.mjs +1901 -0
  88. package/dist/lib/node-esm/chunk-HL2Z2GNW.mjs.map +7 -0
  89. package/dist/lib/node-esm/{chunk-3ZOUV4DF.mjs → chunk-OSPEGYX3.mjs} +21 -10
  90. package/dist/lib/node-esm/chunk-OSPEGYX3.mjs.map +7 -0
  91. package/dist/lib/node-esm/{chunk-ZGLK25WQ.mjs → chunk-XAZNQ3QN.mjs} +78 -173
  92. package/dist/lib/node-esm/chunk-XAZNQ3QN.mjs.map +7 -0
  93. package/dist/lib/node-esm/{identity-created-WJKAS2PV.mjs → identity-created-ZECO4NH3.mjs} +5 -5
  94. package/dist/lib/node-esm/identity-created-ZECO4NH3.mjs.map +7 -0
  95. package/dist/lib/node-esm/index.mjs +34 -54
  96. package/dist/lib/node-esm/index.mjs.map +3 -3
  97. package/dist/lib/node-esm/{intent-resolver-ZFNSA4CM.mjs → intent-resolver-K2UDBF2R.mjs} +116 -108
  98. package/dist/lib/node-esm/intent-resolver-K2UDBF2R.mjs.map +7 -0
  99. package/dist/lib/node-esm/meta.json +1 -1
  100. package/dist/lib/node-esm/{react-root-PRBJMWLQ.mjs → react-root-6F7B3OVO.mjs} +6 -5
  101. package/dist/lib/{browser/react-root-6H7NX2M2.mjs.map → node-esm/react-root-6F7B3OVO.mjs.map} +1 -1
  102. package/dist/lib/node-esm/{react-surface-RCZG2PNF.mjs → react-surface-NP3Y6BNZ.mjs} +121 -54
  103. package/dist/lib/node-esm/react-surface-NP3Y6BNZ.mjs.map +7 -0
  104. package/dist/lib/node-esm/schema-defs-QZJS6UXN.mjs +27 -0
  105. package/dist/lib/node-esm/schema-defs-QZJS6UXN.mjs.map +7 -0
  106. package/dist/lib/node-esm/{schema-tools-IU7EX5A5.mjs → schema-tools-2Y4D42PD.mjs} +26 -26
  107. package/dist/lib/node-esm/schema-tools-2Y4D42PD.mjs.map +7 -0
  108. package/dist/lib/node-esm/{settings-FJZPC2TV.mjs → settings-Q4XDFSYD.mjs} +4 -4
  109. package/dist/lib/node-esm/settings-Q4XDFSYD.mjs.map +7 -0
  110. package/dist/lib/node-esm/{spaces-ready-7X5PGB2V.mjs → spaces-ready-JHKPD4PH.mjs} +20 -19
  111. package/dist/lib/node-esm/spaces-ready-JHKPD4PH.mjs.map +7 -0
  112. package/dist/lib/node-esm/{state-Z6E2YTNC.mjs → state-4ATRHSKA.mjs} +3 -5
  113. package/dist/lib/node-esm/state-4ATRHSKA.mjs.map +7 -0
  114. package/dist/lib/node-esm/types/index.mjs +7 -7
  115. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  116. package/dist/types/src/capabilities/app-graph-builder.d.ts +2 -179
  117. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  118. package/dist/types/src/capabilities/app-graph-serializer.d.ts +2 -2
  119. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  120. package/dist/types/src/capabilities/capabilities.d.ts +0 -8
  121. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  122. package/dist/types/src/capabilities/identity-created.d.ts +2 -2
  123. package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
  124. package/dist/types/src/capabilities/index.d.ts +9 -184
  125. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  126. package/dist/types/src/capabilities/intent-resolver.d.ts +4 -3
  127. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  128. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  129. package/dist/types/src/capabilities/schema-defs.d.ts +4 -0
  130. package/dist/types/src/capabilities/schema-defs.d.ts.map +1 -0
  131. package/dist/types/src/capabilities/schema-tools.d.ts +3 -3
  132. package/dist/types/src/capabilities/schema-tools.d.ts.map +1 -1
  133. package/dist/types/src/capabilities/spaces-ready.d.ts +2 -2
  134. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  135. package/dist/types/src/capabilities/state.d.ts +2 -2
  136. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  137. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  138. package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
  139. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  140. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +2 -2
  141. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  142. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  143. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  144. package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
  145. package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
  146. package/dist/types/src/components/MembersContainer.stories.d.ts.map +1 -1
  147. package/dist/types/src/components/MenuFooter.d.ts +2 -2
  148. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  149. package/dist/types/src/components/{ObjectSettingsContainer → ObjectSettings}/AdvancedObjectSettings.d.ts +2 -2
  150. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -0
  151. package/dist/types/src/components/{ObjectSettingsContainer → ObjectSettings}/BaseObjectSettings.d.ts +2 -2
  152. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -0
  153. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +1 -0
  154. package/dist/types/src/components/{ObjectSettingsContainer → ObjectSettings}/ObjectSettingsContainer.d.ts +2 -2
  155. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +1 -0
  156. package/dist/types/src/components/ObjectSettings/index.d.ts.map +1 -0
  157. package/dist/types/src/components/PersistenceStatus.d.ts.map +1 -1
  158. package/dist/types/src/components/PopoverRenameObject.d.ts +2 -2
  159. package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
  160. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +1 -1
  161. package/dist/types/src/components/SchemaContainer.d.ts +13 -0
  162. package/dist/types/src/components/SchemaContainer.d.ts.map +1 -0
  163. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  164. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  165. package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
  166. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts +0 -2
  167. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  168. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +7 -0
  169. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -0
  170. package/dist/types/src/components/SpaceSettings/index.d.ts +0 -1
  171. package/dist/types/src/components/SpaceSettings/index.d.ts.map +1 -1
  172. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +1 -1
  173. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts +1 -8
  174. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  175. package/dist/types/src/components/SyncStatus/save-tracker.d.ts.map +1 -1
  176. package/dist/types/src/components/SyncStatus/status.d.ts.map +1 -1
  177. package/dist/types/src/components/index.d.ts +2 -3
  178. package/dist/types/src/components/index.d.ts.map +1 -1
  179. package/dist/types/src/hooks/index.d.ts +2 -0
  180. package/dist/types/src/hooks/index.d.ts.map +1 -1
  181. package/dist/types/src/hooks/useActiveSpace.d.ts +4 -0
  182. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -0
  183. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +14 -0
  184. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -0
  185. package/dist/types/src/hooks/usePath.d.ts +3 -2
  186. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  187. package/dist/types/src/index.d.ts +3 -2
  188. package/dist/types/src/index.d.ts.map +1 -1
  189. package/dist/types/src/translations.d.ts +17 -242
  190. package/dist/types/src/translations.d.ts.map +1 -1
  191. package/dist/types/src/types/collection.d.ts +9 -8
  192. package/dist/types/src/types/collection.d.ts.map +1 -1
  193. package/dist/types/src/types/index.d.ts +0 -1
  194. package/dist/types/src/types/index.d.ts.map +1 -1
  195. package/dist/types/src/types/types.d.ts +173 -146
  196. package/dist/types/src/types/types.d.ts.map +1 -1
  197. package/dist/types/src/util.d.ts +36 -20
  198. package/dist/types/src/util.d.ts.map +1 -1
  199. package/dist/types/tsconfig.tsbuildinfo +1 -1
  200. package/package.json +54 -47
  201. package/src/SpacePlugin.tsx +11 -20
  202. package/src/capabilities/app-graph-builder.ts +377 -230
  203. package/src/capabilities/app-graph-serializer.ts +8 -8
  204. package/src/capabilities/capabilities.ts +0 -9
  205. package/src/capabilities/identity-created.ts +5 -5
  206. package/src/capabilities/index.ts +2 -2
  207. package/src/capabilities/intent-resolver.ts +107 -111
  208. package/src/capabilities/react-surface.tsx +111 -50
  209. package/src/capabilities/schema-defs.ts +30 -0
  210. package/src/capabilities/schema-tool.test.ts +2 -3
  211. package/src/capabilities/schema-tools.ts +29 -29
  212. package/src/capabilities/settings.ts +2 -2
  213. package/src/capabilities/spaces-ready.ts +17 -15
  214. package/src/capabilities/state.ts +3 -5
  215. package/src/components/AwaitingObject.tsx +1 -1
  216. package/src/components/CollectionMain.tsx +2 -5
  217. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +4 -4
  218. package/src/components/CreateDialog/CreateObjectDialog.tsx +4 -4
  219. package/src/components/CreateDialog/CreateObjectPanel.tsx +3 -25
  220. package/src/components/CreateDialog/CreateSpaceDialog.tsx +6 -3
  221. package/src/components/MembersContainer.stories.tsx +1 -5
  222. package/src/components/MembersContainer.tsx +80 -54
  223. package/src/components/MenuFooter.tsx +2 -2
  224. package/src/components/{ObjectSettingsContainer → ObjectSettings}/AdvancedObjectSettings.tsx +4 -4
  225. package/src/components/{ObjectSettingsContainer → ObjectSettings}/BaseObjectSettings.tsx +2 -2
  226. package/src/components/{ObjectSettingsContainer → ObjectSettings}/ObjectSettingsContainer.tsx +4 -4
  227. package/src/components/PersistenceStatus.tsx +11 -14
  228. package/src/components/PopoverRenameObject.tsx +15 -9
  229. package/src/components/PopoverRenameSpace.tsx +9 -1
  230. package/src/components/SchemaContainer.tsx +59 -0
  231. package/src/components/SpacePluginSettings.tsx +27 -2
  232. package/src/components/SpacePresence.stories.tsx +1 -1
  233. package/src/components/SpacePresence.tsx +60 -65
  234. package/src/components/SpaceSettings/{SpacePropertiesForm.stories.tsx → SpaceSettingsContainer.stories.tsx} +6 -6
  235. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +159 -39
  236. package/src/components/SpaceSettings/index.ts +0 -1
  237. package/src/components/SyncStatus/InlineSyncStatus.tsx +15 -24
  238. package/src/components/SyncStatus/SyncStatus.tsx +6 -69
  239. package/src/components/index.ts +2 -3
  240. package/src/hooks/index.ts +2 -0
  241. package/src/hooks/useActiveSpace.ts +20 -0
  242. package/src/hooks/useInputSurfaceLookup.tsx +31 -0
  243. package/src/hooks/usePath.ts +9 -6
  244. package/src/index.ts +3 -2
  245. package/src/translations.ts +19 -7
  246. package/src/types/collection.ts +6 -4
  247. package/src/types/index.ts +0 -1
  248. package/src/types/types.ts +130 -101
  249. package/src/util.tsx +75 -172
  250. package/dist/lib/browser/app-graph-builder-GMFCSOLG.mjs +0 -315
  251. package/dist/lib/browser/app-graph-builder-GMFCSOLG.mjs.map +0 -7
  252. package/dist/lib/browser/app-graph-serializer-DSF2U3A5.mjs.map +0 -7
  253. package/dist/lib/browser/chunk-5BDV575R.mjs.map +0 -7
  254. package/dist/lib/browser/chunk-AYW4IDRT.mjs +0 -275
  255. package/dist/lib/browser/chunk-AYW4IDRT.mjs.map +0 -7
  256. package/dist/lib/browser/chunk-JZXWPMLA.mjs +0 -2081
  257. package/dist/lib/browser/chunk-JZXWPMLA.mjs.map +0 -7
  258. package/dist/lib/browser/chunk-LO5UL6RU.mjs.map +0 -7
  259. package/dist/lib/browser/identity-created-JR7BNXFH.mjs.map +0 -7
  260. package/dist/lib/browser/intent-resolver-RKYILWWQ.mjs.map +0 -7
  261. package/dist/lib/browser/react-surface-7AGLOVMK.mjs.map +0 -7
  262. package/dist/lib/browser/schema-FHTA26SW.mjs +0 -24
  263. package/dist/lib/browser/schema-FHTA26SW.mjs.map +0 -7
  264. package/dist/lib/browser/schema-tools-YAXPRIXP.mjs.map +0 -7
  265. package/dist/lib/browser/settings-PJPTJUPE.mjs.map +0 -7
  266. package/dist/lib/browser/spaces-ready-BSSP7HHG.mjs.map +0 -7
  267. package/dist/lib/browser/state-X7VLCC6E.mjs.map +0 -7
  268. package/dist/lib/node/app-graph-builder-DPY7AUZE.cjs +0 -318
  269. package/dist/lib/node/app-graph-builder-DPY7AUZE.cjs.map +0 -7
  270. package/dist/lib/node/app-graph-serializer-JELGJUAY.cjs.map +0 -7
  271. package/dist/lib/node/chunk-3GKCNADA.cjs +0 -2074
  272. package/dist/lib/node/chunk-3GKCNADA.cjs.map +0 -7
  273. package/dist/lib/node/chunk-PU2EYH4E.cjs.map +0 -7
  274. package/dist/lib/node/chunk-TUZWEPGX.cjs.map +0 -7
  275. package/dist/lib/node/chunk-WDEIFDTX.cjs +0 -300
  276. package/dist/lib/node/chunk-WDEIFDTX.cjs.map +0 -7
  277. package/dist/lib/node/identity-created-XU4HFV2T.cjs.map +0 -7
  278. package/dist/lib/node/intent-resolver-VJ7YV74L.cjs.map +0 -7
  279. package/dist/lib/node/react-surface-2H3S5TY5.cjs.map +0 -7
  280. package/dist/lib/node/schema-PPJ5BZ3A.cjs.map +0 -7
  281. package/dist/lib/node/schema-tools-BLIMOZYY.cjs.map +0 -7
  282. package/dist/lib/node/settings-WVFP2UEP.cjs.map +0 -7
  283. package/dist/lib/node/spaces-ready-7DNZSUOG.cjs.map +0 -7
  284. package/dist/lib/node/state-5KX6WBJH.cjs.map +0 -7
  285. package/dist/lib/node-esm/app-graph-builder-42IGWRPL.mjs +0 -316
  286. package/dist/lib/node-esm/app-graph-builder-42IGWRPL.mjs.map +0 -7
  287. package/dist/lib/node-esm/app-graph-serializer-FXONFKOE.mjs.map +0 -7
  288. package/dist/lib/node-esm/chunk-3ZOUV4DF.mjs.map +0 -7
  289. package/dist/lib/node-esm/chunk-BEWBZ4Q4.mjs +0 -2082
  290. package/dist/lib/node-esm/chunk-BEWBZ4Q4.mjs.map +0 -7
  291. package/dist/lib/node-esm/chunk-FC4UHDPL.mjs +0 -276
  292. package/dist/lib/node-esm/chunk-FC4UHDPL.mjs.map +0 -7
  293. package/dist/lib/node-esm/chunk-ZGLK25WQ.mjs.map +0 -7
  294. package/dist/lib/node-esm/identity-created-WJKAS2PV.mjs.map +0 -7
  295. package/dist/lib/node-esm/intent-resolver-ZFNSA4CM.mjs.map +0 -7
  296. package/dist/lib/node-esm/react-surface-RCZG2PNF.mjs.map +0 -7
  297. package/dist/lib/node-esm/schema-OUZKVYM5.mjs +0 -25
  298. package/dist/lib/node-esm/schema-OUZKVYM5.mjs.map +0 -7
  299. package/dist/lib/node-esm/schema-tools-IU7EX5A5.mjs.map +0 -7
  300. package/dist/lib/node-esm/settings-FJZPC2TV.mjs.map +0 -7
  301. package/dist/lib/node-esm/spaces-ready-7X5PGB2V.mjs.map +0 -7
  302. package/dist/lib/node-esm/state-Z6E2YTNC.mjs.map +0 -7
  303. package/dist/types/src/capabilities/schema.d.ts +0 -4
  304. package/dist/types/src/capabilities/schema.d.ts.map +0 -1
  305. package/dist/types/src/components/ObjectSettingsContainer/AdvancedObjectSettings.d.ts.map +0 -1
  306. package/dist/types/src/components/ObjectSettingsContainer/BaseObjectSettings.d.ts.map +0 -1
  307. package/dist/types/src/components/ObjectSettingsContainer/ForeignKeys.d.ts.map +0 -1
  308. package/dist/types/src/components/ObjectSettingsContainer/ObjectSettingsContainer.d.ts.map +0 -1
  309. package/dist/types/src/components/ObjectSettingsContainer/index.d.ts.map +0 -1
  310. package/dist/types/src/components/PopoverAddSpace.d.ts +0 -4
  311. package/dist/types/src/components/PopoverAddSpace.d.ts.map +0 -1
  312. package/dist/types/src/components/ShareSpaceButton.d.ts +0 -9
  313. package/dist/types/src/components/ShareSpaceButton.d.ts.map +0 -1
  314. package/dist/types/src/components/ShareSpaceButton.stories.d.ts +0 -10
  315. package/dist/types/src/components/ShareSpaceButton.stories.d.ts.map +0 -1
  316. package/dist/types/src/components/SpaceSettings/SpacePropertiesForm.d.ts +0 -7
  317. package/dist/types/src/components/SpaceSettings/SpacePropertiesForm.d.ts.map +0 -1
  318. package/dist/types/src/components/SpaceSettings/SpacePropertiesForm.stories.d.ts +0 -7
  319. package/dist/types/src/components/SpaceSettings/SpacePropertiesForm.stories.d.ts.map +0 -1
  320. package/dist/types/src/components/SyncStatus/Space.d.ts +0 -13
  321. package/dist/types/src/components/SyncStatus/Space.d.ts.map +0 -1
  322. package/dist/types/src/components/SyncStatus/SyncStatusDetail.stories.d.ts +0 -9
  323. package/dist/types/src/components/SyncStatus/SyncStatusDetail.stories.d.ts.map +0 -1
  324. package/dist/types/src/components/SyncStatus/sync-state.d.ts +0 -18
  325. package/dist/types/src/components/SyncStatus/sync-state.d.ts.map +0 -1
  326. package/dist/types/src/types/thread.d.ts +0 -128
  327. package/dist/types/src/types/thread.d.ts.map +0 -1
  328. package/src/capabilities/schema.ts +0 -27
  329. package/src/components/PopoverAddSpace.tsx +0 -46
  330. package/src/components/ShareSpaceButton.stories.tsx +0 -27
  331. package/src/components/ShareSpaceButton.tsx +0 -32
  332. package/src/components/SpaceSettings/SpacePropertiesForm.tsx +0 -136
  333. package/src/components/SyncStatus/Space.tsx +0 -133
  334. package/src/components/SyncStatus/SyncStatusDetail.stories.tsx +0 -89
  335. package/src/components/SyncStatus/sync-state.ts +0 -101
  336. package/src/types/thread.ts +0 -24
  337. /package/dist/lib/{node-esm/react-root-PRBJMWLQ.mjs.map → browser/react-root-PVKJE4EZ.mjs.map} +0 -0
  338. /package/dist/types/src/components/{ObjectSettingsContainer → ObjectSettings}/ForeignKeys.d.ts +0 -0
  339. /package/dist/types/src/components/{ObjectSettingsContainer → ObjectSettings}/index.d.ts +0 -0
  340. /package/src/components/{ObjectSettingsContainer → ObjectSettings}/ForeignKeys.tsx +0 -0
  341. /package/src/components/{ObjectSettingsContainer → ObjectSettings}/index.ts +0 -0
@@ -0,0 +1,20 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { Capabilities, useLayout, type PluginContext } from '@dxos/app-framework';
6
+ import { ClientCapabilities } from '@dxos/plugin-client';
7
+ import { parseId, useSpace } from '@dxos/react-client/echo';
8
+
9
+ export const getActiveSpace = (context: PluginContext) => {
10
+ const layout = context.getCapability(Capabilities.Layout);
11
+ const client = context.getCapability(ClientCapabilities.Client);
12
+ const { spaceId } = parseId(layout.workspace);
13
+ return spaceId ? client.spaces.get(spaceId) : undefined;
14
+ };
15
+
16
+ export const useActiveSpace = () => {
17
+ const layout = useLayout();
18
+ const { spaceId } = parseId(layout.workspace);
19
+ return useSpace(spaceId);
20
+ };
@@ -0,0 +1,31 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { type Schema } from 'effect';
6
+ import React, { useCallback } from 'react';
7
+
8
+ import { usePluginManager, isSurfaceAvailable, Surface } from '@dxos/app-framework';
9
+ import { type InputProps } from '@dxos/react-ui-form';
10
+
11
+ // TODO(ZaymonFC): Move this if you find yourself needing it elsewhere.
12
+ /**
13
+ * Creates a surface input component based on plugin context.
14
+ * @param baseData Additional data that will be merged with form data and passed to the surface.
15
+ * This allows providing more context to the surface than what's available from the form itself.
16
+ */
17
+ export const useInputSurfaceLookup = (baseData?: Record<string, any>) => {
18
+ const pluginManager = usePluginManager();
19
+
20
+ return useCallback(
21
+ ({ prop, schema, inputProps }: { prop: string; schema: Schema.Schema<any>; inputProps: InputProps }) => {
22
+ const composedData = { prop, schema, ...baseData };
23
+ if (!isSurfaceAvailable(pluginManager.context, { role: 'form-input', data: composedData })) {
24
+ return undefined;
25
+ }
26
+
27
+ return <Surface role='form-input' data={composedData} {...inputProps} />;
28
+ },
29
+ [pluginManager, baseData],
30
+ );
31
+ };
@@ -2,9 +2,10 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
+ import { Option } from 'effect';
5
6
  import { useEffect, useState } from 'react';
6
7
 
7
- import { type Graph } from '@dxos/plugin-graph';
8
+ import { type ReadableGraph } from '@dxos/plugin-graph';
8
9
 
9
10
  /**
10
11
  * React hook to get a path from the graph.
@@ -15,15 +16,17 @@ import { type Graph } from '@dxos/plugin-graph';
15
16
  * @returns Path if found, undefined otherwise.
16
17
  */
17
18
  // TODO(wittjosiah): Factor out.
18
- export const usePath = (graph: Graph, id?: string, timeout?: number): string[] | undefined => {
19
- const [pathState, setPathState] = useState<string[] | undefined>(id ? graph.getPath({ target: id }) : undefined);
19
+ export const usePath = (graph: ReadableGraph, id?: string, timeout?: number): Option.Option<string[]> => {
20
+ const [pathState, setPathState] = useState<Option.Option<string[]>>(
21
+ id ? graph.getPath({ target: id }) : Option.none(),
22
+ );
20
23
 
21
24
  useEffect(() => {
22
25
  if (!id && pathState) {
23
- setPathState(undefined);
26
+ setPathState(Option.none());
24
27
  }
25
28
 
26
- if (pathState?.at(-1) === id || !id) {
29
+ if ((Option.isSome(pathState) && pathState.value.at(-1) === id) || !id) {
27
30
  return;
28
31
  }
29
32
 
@@ -32,7 +35,7 @@ export const usePath = (graph: Graph, id?: string, timeout?: number): string[] |
32
35
  try {
33
36
  const path = await graph.waitForPath({ target: id }, { timeout });
34
37
  if (path) {
35
- setPathState(path);
38
+ setPathState(Option.some(path));
36
39
  }
37
40
  } catch {}
38
41
  });
package/src/index.ts CHANGED
@@ -2,10 +2,11 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- export { SpaceCapabilities, ThreadCapabilities } from './capabilities';
6
- export { SpaceEvents, ThreadEvents } from './events';
5
+ export { SpaceCapabilities } from './capabilities';
6
+ export { SpaceEvents } from './events';
7
7
 
8
8
  export * from './components';
9
+ export * from './hooks';
9
10
  export * from './meta';
10
11
  export * from './SpacePlugin';
11
12
  export * from './util';
@@ -15,7 +15,6 @@ export default [
15
15
  [SPACE_PLUGIN]: {
16
16
  'plugin name': 'Spaces',
17
17
  'first run message': 'Nothing selected.',
18
- 'add space label': 'Create or join a space',
19
18
  'create space label': 'Create space',
20
19
  'join space label': 'Join space',
21
20
  'empty space message': 'No documents',
@@ -34,7 +33,7 @@ export default [
34
33
  'export data label': 'Export data',
35
34
  'import data label': 'Import data',
36
35
  'migrate space label': 'Migrate space',
37
- 'share space': 'Share space',
36
+ 'share space label': 'Share current space',
38
37
  'save space to disk label': 'Save to disk',
39
38
  'load space from disk label': 'Load from disk',
40
39
  'confirm restore title': 'Overwrite files in this space?',
@@ -43,7 +42,7 @@ export default [
43
42
  'object placeholder': 'Type a title here…',
44
43
  'personal space label': 'Personal Space',
45
44
  'spaces label': 'Spaces',
46
- 'show hidden spaces label': 'Show closed spaces',
45
+ 'show hidden spaces label': 'Show archived spaces',
47
46
  'save files to directory label': 'Save files to disk',
48
47
  'select path label': 'Select path',
49
48
  'rename collection label': 'Rename collection',
@@ -67,7 +66,6 @@ export default [
67
66
  'The requested object has not been found yet. Ensure there are enough peers online in the space with an updated copy.',
68
67
  'create object in space label': 'Add to space',
69
68
  'create object in collection label': 'Add to collection',
70
- 'share space label': 'Share',
71
69
  'space members label': 'Space members',
72
70
  'active space members heading': 'Online ({{count}})',
73
71
  'inactive space members heading': 'Offline ({{count}})',
@@ -96,7 +94,7 @@ export default [
96
94
  'join success label': 'Successfully joined space',
97
95
  'name label': 'Name',
98
96
  'name placeholder': 'Name',
99
- 'object settings label': 'Settings',
97
+ 'object settings label': 'Details',
100
98
  'edge replication label': 'Enable EDGE Replication',
101
99
  'saving locally label': 'Writing to disk',
102
100
  'downloading label': 'Replicating from peers',
@@ -118,6 +116,7 @@ export default [
118
116
  'advanced settings label': 'Advanced',
119
117
  'foreign keys': 'Foreign Keys',
120
118
  'add key': 'Add Key',
119
+ 'open space settings label': 'Open',
121
120
 
122
121
  'members panel label': 'Members',
123
122
  'members verbose label': 'Manage space members',
@@ -126,16 +125,29 @@ export default [
126
125
  'invitations label': 'Invitations',
127
126
  'space invitation description': 'Manage invitations to the space.',
128
127
  'qr code description': 'Share this QR code, or copy the URL and share it with the person you want to invite.',
128
+ 'locked space description': 'This space is locked, unlock it to invite new members.',
129
+ 'space locked label': 'Lock space',
130
+ 'space locked description': 'Locking a space prevents new members from being invited to the space.',
129
131
 
130
132
  'settings panel label': 'Space Settings',
131
- 'open space settings label': 'Space Settings',
132
- 'space settings properties label': 'General',
133
+ 'open current space settings label': 'Open current space settings',
134
+ 'space settings properties label': 'General settings',
135
+ 'space properties settings verbose label': 'Manage space properties',
136
+ 'space properties settings description': 'You can configure how this space is displayed in the app here.',
137
+ 'space settings schema label': 'Schema',
138
+ 'schema verbose label': 'Manage schema',
139
+ 'schema description': 'You can manage all of the schema stored within this space here.',
140
+ 'no schemas found message': 'No schemas found',
133
141
  'display name input placeholder': 'Space name',
134
142
  'display name description': 'Name of the space as it appears in the app.',
135
143
  'icon description': 'Icon used to represent the space in the app.',
136
144
  'hue description': 'Color used to represent the space in the app.',
137
145
  'edge replication description':
138
146
  "Only change this if you know what you're doing. Disabling this will prevent the space from replicating through Composer's EDGE services, and relies solely on peer-to-peer sync.",
147
+ 'archive space description':
148
+ 'Archiving a space will remove it from the sidebar and stop replicating updates, but will not delete the data. You can unarchive it by enabling archived spaces in the app settings.',
149
+ 'archive space label': 'Archive',
150
+ 'unarchive space label': 'Unarchive',
139
151
  },
140
152
  },
141
153
  },
@@ -2,15 +2,17 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { Expando, Ref, S, TypedObject } from '@dxos/echo-schema';
5
+ import { Schema } from 'effect';
6
+
7
+ import { Expando, Ref, TypedObject } from '@dxos/echo-schema';
6
8
 
7
9
  export class CollectionType extends TypedObject({ typename: 'dxos.org/type/Collection', version: '0.1.0' })({
8
- name: S.optional(S.String),
9
- objects: S.mutable(S.Array(Ref(Expando))),
10
+ name: Schema.optional(Schema.String),
11
+ objects: Schema.mutable(Schema.Array(Ref(Expando))),
10
12
  // Key is schema typename and value is reference to a view object of the associated schema.
11
13
  // Having collection reference the views rather than vice versa ensures that the state converges to a single view per key (i.e. type).
12
14
  // This also leaves open a future where this key could be changed to allow for multiple stack views per section.
13
15
  // TODO(wittjosiah): Any way to make this more type safe?
14
16
  // TODO(wittjosiah): Should the views be separate objects or just be schemas for view data in this record?
15
- views: S.mutable(S.Record({ key: S.String, value: Ref(Expando) })),
17
+ views: Schema.mutable(Schema.Record({ key: Schema.String, value: Ref(Expando) })),
16
18
  }) {}
@@ -3,5 +3,4 @@
3
3
  //
4
4
 
5
5
  export * from './collection';
6
- export * from './thread';
7
6
  export * from './types';
@@ -2,17 +2,21 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
+ import { Schema } from 'effect';
6
+
5
7
  import { type AnyIntentChain } from '@dxos/app-framework';
6
- import { S, type Expando, type BaseObject, type TypedObject } from '@dxos/echo-schema';
8
+ import { Expando, type BaseObject, type TypedObject } from '@dxos/echo-schema';
7
9
  import { type PublicKey } from '@dxos/react-client';
8
10
  // TODO(wittjosiah): This pulls in full client.
9
11
  import { EchoObjectSchema, ReactiveObjectSchema, type Space, SpaceSchema } from '@dxos/react-client/echo';
12
+ import { CancellableInvitationObservable, Invitation } from '@dxos/react-client/invitations';
10
13
  import { type ComplexMap } from '@dxos/util';
11
14
 
12
15
  import { CollectionType } from './collection';
13
16
  import { SPACE_PLUGIN } from '../meta';
14
17
 
15
18
  export const SPACE_DIRECTORY_HANDLE = 'dxos.org/plugin/space/directory';
19
+ export const SPACE_TYPE = 'dxos.org/type/Space';
16
20
 
17
21
  export type ObjectViewerProps = {
18
22
  lastSeen: number;
@@ -42,11 +46,6 @@ export type PluginState = {
42
46
  */
43
47
  spaceNames: Record<string, string>;
44
48
 
45
- /**
46
- * Which sections of the space settings are open.
47
- */
48
- spaceSettingsOpenSections: string[];
49
-
50
49
  /**
51
50
  * Which spaces have an SDK migration running currently.
52
51
  */
@@ -66,16 +65,16 @@ export type PluginState = {
66
65
  enabledEdgeReplication: boolean;
67
66
  };
68
67
 
69
- export const SpaceSettingsSchema = S.mutable(
70
- S.Struct({
68
+ export const SpaceSettingsSchema = Schema.mutable(
69
+ Schema.Struct({
71
70
  /**
72
71
  * Show closed spaces.
73
72
  */
74
- showHidden: S.Boolean,
73
+ showHidden: Schema.Boolean,
75
74
  }),
76
75
  );
77
76
 
78
- export type SpaceSettingsProps = S.Schema.Type<typeof SpaceSettingsSchema>;
77
+ export type SpaceSettingsProps = Schema.Schema.Type<typeof SpaceSettingsSchema>;
79
78
 
80
79
  // TODO(wittjosiah): Reconcile with graph export serializers.
81
80
 
@@ -92,18 +91,22 @@ export interface TypedObjectSerializer<T extends Expando = Expando> {
92
91
  deserialize(params: { content: string; space: Space; newId?: boolean }): Promise<T>;
93
92
  }
94
93
 
95
- export const SpaceForm = S.Struct({
96
- name: S.optional(S.String.annotations({ title: 'Name' })),
97
- icon: S.optional(S.String.annotations({ title: 'Icon' })),
98
- hue: S.optional(S.String.annotations({ title: 'Color' })),
94
+ // TODO(burdon): Move to FormatEnum or SDK.
95
+ export const IconAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Icon');
96
+ export const HueAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Hue');
97
+
98
+ export const SpaceForm = Schema.Struct({
99
+ name: Schema.optional(Schema.String.annotations({ title: 'Name' })),
100
+ icon: Schema.optional(Schema.String.annotations({ title: 'Icon', [IconAnnotationId]: true })),
101
+ hue: Schema.optional(Schema.String.annotations({ title: 'Color', [HueAnnotationId]: true })),
99
102
  // TODO(wittjosiah): Make optional with default value.
100
- edgeReplication: S.Boolean.annotations({ title: 'Enable EDGE Replication' }),
103
+ edgeReplication: Schema.Boolean.annotations({ title: 'Enable EDGE Replication' }),
101
104
  });
102
105
 
103
106
  export type ObjectForm<T extends BaseObject = BaseObject> = {
104
- // TODO(dmaretskyi): Change to S.Schema.AnyNoContext
107
+ // TODO(dmaretskyi): Change to Schema.Schema.AnyNoContext
105
108
  objectSchema: TypedObject;
106
- formSchema?: S.Schema<T, any>;
109
+ formSchema?: Schema.Schema<T, any>;
107
110
  hidden?: boolean;
108
111
  getIntent: (props: T, options: { space: Space }) => AnyIntentChain;
109
112
  };
@@ -113,165 +116,191 @@ export const defineObjectForm = <T extends BaseObject>(form: ObjectForm<T>) => f
113
116
  export const SPACE_ACTION = `${SPACE_PLUGIN}/action`;
114
117
 
115
118
  export namespace SpaceAction {
116
- export class OpenCreateSpace extends S.TaggedClass<OpenCreateSpace>()(`${SPACE_ACTION}/open-create-space`, {
117
- input: S.Void,
118
- output: S.Void,
119
+ export class OpenCreateSpace extends Schema.TaggedClass<OpenCreateSpace>()(`${SPACE_ACTION}/open-create-space`, {
120
+ input: Schema.Void,
121
+ output: Schema.Void,
119
122
  }) {}
120
123
 
121
- export class Create extends S.TaggedClass<Create>()(`${SPACE_ACTION}/create`, {
124
+ export class Create extends Schema.TaggedClass<Create>()(`${SPACE_ACTION}/create`, {
122
125
  input: SpaceForm,
123
- output: S.Struct({
124
- id: S.String,
125
- subject: S.Array(S.String),
126
+ output: Schema.Struct({
127
+ id: Schema.String,
128
+ subject: Schema.Array(Schema.String),
126
129
  space: SpaceSchema,
127
130
  }),
128
131
  }) {}
129
132
 
130
- export class Join extends S.TaggedClass<Join>()(`${SPACE_ACTION}/join`, {
131
- input: S.Struct({
132
- invitationCode: S.optional(S.String),
133
- onDone: S.optional(S.Any),
133
+ export class Join extends Schema.TaggedClass<Join>()(`${SPACE_ACTION}/join`, {
134
+ input: Schema.Struct({
135
+ invitationCode: Schema.optional(Schema.String),
136
+ onDone: Schema.optional(Schema.Any),
134
137
  }),
135
- output: S.Void,
138
+ output: Schema.Void,
136
139
  }) {}
137
140
 
138
- export class Share extends S.TaggedClass<Share>()(`${SPACE_ACTION}/share`, {
139
- input: S.Struct({
141
+ export class OpenMembers extends Schema.TaggedClass<OpenMembers>()(`${SPACE_ACTION}/open-members`, {
142
+ input: Schema.Struct({
140
143
  space: SpaceSchema,
141
144
  }),
142
- output: S.Void,
145
+ output: Schema.Void,
143
146
  }) {}
144
147
 
145
- export class Lock extends S.TaggedClass<Lock>()(`${SPACE_ACTION}/lock`, {
146
- input: S.Struct({
148
+ export class Share extends Schema.TaggedClass<Share>()(`${SPACE_ACTION}/share`, {
149
+ input: Schema.Struct({
147
150
  space: SpaceSchema,
151
+ type: Schema.Enums(Invitation.Type),
152
+ authMethod: Schema.Enums(Invitation.AuthMethod),
153
+ multiUse: Schema.Boolean,
154
+ target: Schema.optional(Schema.String),
148
155
  }),
149
- output: S.Void,
156
+ output: Schema.instanceOf(CancellableInvitationObservable),
150
157
  }) {}
151
158
 
152
- export class Unlock extends S.TaggedClass<Unlock>()(`${SPACE_ACTION}/unlock`, {
153
- input: S.Struct({
159
+ export class GetShareLink extends Schema.TaggedClass<GetShareLink>()(`${SPACE_ACTION}/get-share-link`, {
160
+ input: Schema.Struct({
154
161
  space: SpaceSchema,
162
+ target: Schema.optional(Schema.String),
163
+ copyToClipboard: Schema.optional(Schema.Boolean),
155
164
  }),
156
- output: S.Void,
165
+ output: Schema.String,
157
166
  }) {}
158
167
 
159
- export class Rename extends S.TaggedClass<Rename>()(`${SPACE_ACTION}/rename`, {
160
- input: S.Struct({
168
+ export class Lock extends Schema.TaggedClass<Lock>()(`${SPACE_ACTION}/lock`, {
169
+ input: Schema.Struct({
161
170
  space: SpaceSchema,
162
- caller: S.optional(S.String),
163
171
  }),
164
- output: S.Void,
172
+ output: Schema.Void,
165
173
  }) {}
166
174
 
167
- export class AddSpace extends S.TaggedClass<AddSpace>()(`${SPACE_ACTION}/add-space`, {
168
- input: S.Void,
169
- output: S.Void,
175
+ export class Unlock extends Schema.TaggedClass<Unlock>()(`${SPACE_ACTION}/unlock`, {
176
+ input: Schema.Struct({
177
+ space: SpaceSchema,
178
+ }),
179
+ output: Schema.Void,
170
180
  }) {}
171
181
 
172
- export class AddSpaceMenuGroup extends S.TaggedClass<AddSpaceMenuGroup>()(`${SPACE_ACTION}/add-space-menu-group`, {
173
- input: S.Void,
174
- output: S.Void,
182
+ export class Rename extends Schema.TaggedClass<Rename>()(`${SPACE_ACTION}/rename`, {
183
+ input: Schema.Struct({
184
+ space: SpaceSchema,
185
+ caller: Schema.optional(Schema.String),
186
+ }),
187
+ output: Schema.Void,
175
188
  }) {}
176
189
 
177
190
  // TODO(wittjosiah): Handle scrolling to section.
178
- export class OpenSettings extends S.TaggedClass<OpenSettings>()(`${SPACE_ACTION}/open-settings`, {
179
- input: S.Struct({ space: SpaceSchema }),
180
- output: S.Void,
191
+ // This maybe motivates making the space settings its own deck?
192
+ export class OpenSettings extends Schema.TaggedClass<OpenSettings>()(`${SPACE_ACTION}/open-settings`, {
193
+ input: Schema.Struct({ space: SpaceSchema }),
194
+ output: Schema.Void,
181
195
  }) {}
182
196
 
183
- export class Open extends S.TaggedClass<Open>()(`${SPACE_ACTION}/open`, {
184
- input: S.Struct({
197
+ export class Open extends Schema.TaggedClass<Open>()(`${SPACE_ACTION}/open`, {
198
+ input: Schema.Struct({
185
199
  space: SpaceSchema,
186
200
  }),
187
- output: S.Void,
201
+ output: Schema.Void,
188
202
  }) {}
189
203
 
190
- export class Close extends S.TaggedClass<Close>()(`${SPACE_ACTION}/close`, {
191
- input: S.Struct({
204
+ export class Close extends Schema.TaggedClass<Close>()(`${SPACE_ACTION}/close`, {
205
+ input: Schema.Struct({
192
206
  space: SpaceSchema,
193
207
  }),
194
- output: S.Void,
208
+ output: Schema.Void,
195
209
  }) {}
196
210
 
197
- export class Migrate extends S.TaggedClass<Migrate>()(`${SPACE_ACTION}/migrate`, {
198
- input: S.Struct({
211
+ export class Migrate extends Schema.TaggedClass<Migrate>()(`${SPACE_ACTION}/migrate`, {
212
+ input: Schema.Struct({
199
213
  space: SpaceSchema,
200
- version: S.optional(S.String),
214
+ version: Schema.optional(Schema.String),
201
215
  }),
202
- output: S.Boolean,
216
+ output: Schema.Boolean,
203
217
  }) {}
204
218
 
205
- export class OpenCreateObject extends S.TaggedClass<OpenCreateObject>()(`${SPACE_ACTION}/open-create-object`, {
206
- input: S.Struct({
207
- target: S.Union(SpaceSchema, CollectionType),
208
- navigable: S.optional(S.Boolean),
219
+ export class OpenCreateObject extends Schema.TaggedClass<OpenCreateObject>()(`${SPACE_ACTION}/open-create-object`, {
220
+ input: Schema.Struct({
221
+ target: Schema.Union(SpaceSchema, CollectionType),
222
+ navigable: Schema.optional(Schema.Boolean),
209
223
  }),
210
- output: S.Void,
224
+ output: Schema.Void,
211
225
  }) {}
212
226
 
213
- export class AddObject extends S.TaggedClass<AddObject>()(`${SPACE_ACTION}/add-object`, {
214
- input: S.Struct({
227
+ export class AddObject extends Schema.TaggedClass<AddObject>()(`${SPACE_ACTION}/add-object`, {
228
+ input: Schema.Struct({
215
229
  object: ReactiveObjectSchema,
216
- target: S.Union(SpaceSchema, CollectionType),
217
- hidden: S.optional(S.Boolean),
230
+ target: Schema.Union(SpaceSchema, CollectionType),
231
+ hidden: Schema.optional(Schema.Boolean),
218
232
  }),
219
- output: S.Struct({
220
- id: S.String,
221
- subject: S.Array(S.String),
233
+ output: Schema.Struct({
234
+ id: Schema.String,
235
+ subject: Schema.Array(Schema.String),
222
236
  object: EchoObjectSchema,
223
237
  }),
224
238
  }) {}
225
239
 
226
- export const DeletionData = S.Struct({
227
- objects: S.Array(EchoObjectSchema),
240
+ export class AddRelation extends Schema.TaggedClass<AddRelation>()(`${SPACE_ACTION}/add-relation`, {
241
+ input: Schema.Struct({
242
+ space: SpaceSchema,
243
+ // TODO(wittjosiah): Relation schema.
244
+ schema: Schema.Any,
245
+ source: Expando,
246
+ target: Expando,
247
+ // TODO(wittjosiah): Type based on relation schema.
248
+ fields: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Any })),
249
+ }),
250
+ output: Schema.Struct({
251
+ relation: Schema.Any,
252
+ }),
253
+ }) {}
254
+
255
+ export const DeletionData = Schema.Struct({
256
+ objects: Schema.Array(EchoObjectSchema),
228
257
  parentCollection: CollectionType,
229
- indices: S.Array(S.Number),
230
- nestedObjectsList: S.Array(S.Array(EchoObjectSchema)),
231
- wasActive: S.Array(S.String),
258
+ indices: Schema.Array(Schema.Number),
259
+ nestedObjectsList: Schema.Array(Schema.Array(EchoObjectSchema)),
260
+ wasActive: Schema.Array(Schema.String),
232
261
  });
233
262
 
234
- export type DeletionData = S.Schema.Type<typeof DeletionData>;
263
+ export type DeletionData = Schema.Schema.Type<typeof DeletionData>;
235
264
 
236
- export class RemoveObjects extends S.TaggedClass<RemoveObjects>()(`${SPACE_ACTION}/remove-objects`, {
237
- input: S.Struct({
238
- objects: S.Array(EchoObjectSchema),
239
- target: S.optional(CollectionType),
240
- deletionData: S.optional(DeletionData),
265
+ export class RemoveObjects extends Schema.TaggedClass<RemoveObjects>()(`${SPACE_ACTION}/remove-objects`, {
266
+ input: Schema.Struct({
267
+ objects: Schema.Array(EchoObjectSchema),
268
+ target: Schema.optional(CollectionType),
269
+ deletionData: Schema.optional(DeletionData),
241
270
  }),
242
- output: S.Void,
271
+ output: Schema.Void,
243
272
  }) {}
244
273
 
245
- export class RenameObject extends S.TaggedClass<RenameObject>()(`${SPACE_ACTION}/rename-object`, {
246
- input: S.Struct({
274
+ export class RenameObject extends Schema.TaggedClass<RenameObject>()(`${SPACE_ACTION}/rename-object`, {
275
+ input: Schema.Struct({
247
276
  object: EchoObjectSchema,
248
- caller: S.optional(S.String),
277
+ caller: Schema.optional(Schema.String),
249
278
  }),
250
- output: S.Void,
279
+ output: Schema.Void,
251
280
  }) {}
252
281
 
253
- export class DuplicateObject extends S.TaggedClass<DuplicateObject>()(`${SPACE_ACTION}/duplicate-object`, {
254
- input: S.Struct({
282
+ export class DuplicateObject extends Schema.TaggedClass<DuplicateObject>()(`${SPACE_ACTION}/duplicate-object`, {
283
+ input: Schema.Struct({
255
284
  object: EchoObjectSchema,
256
- target: S.Union(SpaceSchema, CollectionType),
285
+ target: Schema.Union(SpaceSchema, CollectionType),
257
286
  }),
258
- output: S.Void,
287
+ output: Schema.Void,
259
288
  }) {}
260
289
 
261
- export class WaitForObject extends S.TaggedClass<WaitForObject>()(`${SPACE_ACTION}/wait-for-object`, {
262
- input: S.Struct({
263
- id: S.optional(S.String),
290
+ export class WaitForObject extends Schema.TaggedClass<WaitForObject>()(`${SPACE_ACTION}/wait-for-object`, {
291
+ input: Schema.Struct({
292
+ id: Schema.optional(Schema.String),
264
293
  }),
265
- output: S.Void,
294
+ output: Schema.Void,
266
295
  }) {}
267
296
  }
268
297
 
269
298
  export namespace CollectionAction {
270
- export class Create extends S.TaggedClass<Create>()('dxos.org/plugin/collection/action/create', {
271
- input: S.Struct({
272
- name: S.optional(S.String),
299
+ export class Create extends Schema.TaggedClass<Create>()('dxos.org/plugin/collection/action/create', {
300
+ input: Schema.Struct({
301
+ name: Schema.optional(Schema.String),
273
302
  }),
274
- output: S.Struct({
303
+ output: Schema.Struct({
275
304
  object: CollectionType,
276
305
  }),
277
306
  }) {}