@dxos/plugin-space 0.8.4-main.406dc2a → 0.8.4-main.548089c

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 (293) hide show
  1. package/dist/lib/browser/{CollectionMain-AX7KKXWP.mjs → CollectionArticle-ABGFK4VO.mjs} +8 -8
  2. package/dist/lib/browser/CollectionArticle-ABGFK4VO.mjs.map +7 -0
  3. package/dist/lib/browser/{ObjectDetailsPanel-MQBHG666.mjs → ObjectDetailsPanel-2BRUBHP6.mjs} +16 -20
  4. package/dist/lib/browser/ObjectDetailsPanel-2BRUBHP6.mjs.map +7 -0
  5. package/dist/lib/browser/{ObjectSettings-KNUZFCGS.mjs → ObjectSettings-5LLWCVEK.mjs} +33 -40
  6. package/dist/lib/browser/ObjectSettings-5LLWCVEK.mjs.map +7 -0
  7. package/dist/lib/browser/RecordArticle-G4BCSFFA.mjs +116 -0
  8. package/dist/lib/browser/RecordArticle-G4BCSFFA.mjs.map +7 -0
  9. package/dist/lib/browser/{app-graph-builder-3R5GGT46.mjs → app-graph-builder-FFPJHWFB.mjs} +53 -45
  10. package/dist/lib/browser/app-graph-builder-FFPJHWFB.mjs.map +7 -0
  11. package/dist/lib/browser/{app-graph-serializer-25Z5BG22.mjs → app-graph-serializer-QMWE2YE4.mjs} +10 -10
  12. package/dist/lib/browser/app-graph-serializer-QMWE2YE4.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-OV6D543A.mjs → chunk-I4W2BHA2.mjs} +36 -30
  14. package/dist/lib/browser/chunk-I4W2BHA2.mjs.map +7 -0
  15. package/dist/lib/browser/{chunk-RLI2IAHK.mjs → chunk-K5J7ZB5P.mjs} +2 -2
  16. package/dist/lib/browser/chunk-K5J7ZB5P.mjs.map +7 -0
  17. package/dist/lib/browser/{chunk-7XOTWRZ3.mjs → chunk-K6TOP4E6.mjs} +19 -18
  18. package/dist/lib/browser/chunk-K6TOP4E6.mjs.map +7 -0
  19. package/dist/lib/browser/{chunk-WS2PJDES.mjs → chunk-M2Z6D4ZI.mjs} +12 -11
  20. package/dist/lib/browser/chunk-M2Z6D4ZI.mjs.map +7 -0
  21. package/dist/lib/browser/{chunk-522KZGQF.mjs → chunk-MHXNG2X2.mjs} +487 -381
  22. package/dist/lib/browser/chunk-MHXNG2X2.mjs.map +7 -0
  23. package/dist/lib/browser/{chunk-PTGRQQ6J.mjs → chunk-OLBBSOVI.mjs} +23 -13
  24. package/dist/lib/browser/chunk-OLBBSOVI.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-VZBIIYFM.mjs +16 -0
  26. package/dist/lib/browser/chunk-VZBIIYFM.mjs.map +7 -0
  27. package/dist/lib/browser/{chunk-EIXZABXD.mjs → chunk-WJXU4GKV.mjs} +2 -2
  28. package/dist/lib/browser/{identity-created-PW2BA46S.mjs → identity-created-NAXTPQXE.mjs} +3 -3
  29. package/dist/lib/browser/identity-created-NAXTPQXE.mjs.map +7 -0
  30. package/dist/lib/browser/index.mjs +63 -46
  31. package/dist/lib/browser/index.mjs.map +3 -3
  32. package/dist/lib/browser/{intent-resolver-ICGUSVH6.mjs → intent-resolver-WLFWCHDH.mjs} +53 -58
  33. package/dist/lib/browser/intent-resolver-WLFWCHDH.mjs.map +7 -0
  34. package/dist/lib/browser/meta.json +1 -1
  35. package/dist/lib/browser/{react-root-H56QN474.mjs → react-root-BPPTUFLV.mjs} +9 -8
  36. package/dist/lib/browser/react-root-BPPTUFLV.mjs.map +7 -0
  37. package/dist/lib/browser/{react-surface-VOE2ILKO.mjs → react-surface-3KTOA5PM.mjs} +37 -40
  38. package/dist/lib/browser/react-surface-3KTOA5PM.mjs.map +7 -0
  39. package/dist/lib/browser/{schema-defs-7R7RKCAE.mjs → schema-defs-XCNOO2WT.mjs} +3 -3
  40. package/dist/lib/browser/{settings-OBFJ67ZG.mjs → settings-WKLGKUHQ.mjs} +3 -3
  41. package/dist/lib/browser/{spaces-ready-MFIVK6I6.mjs → spaces-ready-XVW7I5MQ.mjs} +12 -11
  42. package/dist/lib/browser/spaces-ready-XVW7I5MQ.mjs.map +7 -0
  43. package/dist/lib/browser/{state-LSPRFIRO.mjs → state-Q7YRE5KG.mjs} +3 -3
  44. package/dist/lib/browser/types/index.mjs +2 -2
  45. package/dist/lib/node-esm/{CollectionMain-EU57SRYK.mjs → CollectionArticle-G3V4QXPI.mjs} +8 -8
  46. package/dist/lib/node-esm/CollectionArticle-G3V4QXPI.mjs.map +7 -0
  47. package/dist/lib/node-esm/{ObjectDetailsPanel-NABA2S56.mjs → ObjectDetailsPanel-6PZQIQG3.mjs} +16 -20
  48. package/dist/lib/node-esm/ObjectDetailsPanel-6PZQIQG3.mjs.map +7 -0
  49. package/dist/lib/node-esm/{ObjectSettings-GXGTITF5.mjs → ObjectSettings-OQSBOH7K.mjs} +33 -40
  50. package/dist/lib/node-esm/ObjectSettings-OQSBOH7K.mjs.map +7 -0
  51. package/dist/lib/node-esm/RecordArticle-PBMLYY5K.mjs +117 -0
  52. package/dist/lib/node-esm/RecordArticle-PBMLYY5K.mjs.map +7 -0
  53. package/dist/lib/node-esm/{app-graph-builder-VGRMD5TP.mjs → app-graph-builder-3BTVV7LE.mjs} +53 -45
  54. package/dist/lib/node-esm/app-graph-builder-3BTVV7LE.mjs.map +7 -0
  55. package/dist/lib/node-esm/{app-graph-serializer-U4GHXWRG.mjs → app-graph-serializer-BU7KO2G5.mjs} +10 -10
  56. package/dist/lib/node-esm/app-graph-serializer-BU7KO2G5.mjs.map +7 -0
  57. package/dist/lib/node-esm/{chunk-4F25JKVT.mjs → chunk-2PN7QNGV.mjs} +12 -11
  58. package/dist/lib/node-esm/chunk-2PN7QNGV.mjs.map +7 -0
  59. package/dist/lib/node-esm/chunk-BDEFTL6K.mjs +18 -0
  60. package/dist/lib/node-esm/chunk-BDEFTL6K.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-PAAWJ4RE.mjs → chunk-FAWIRIP4.mjs} +19 -18
  62. package/dist/lib/node-esm/chunk-FAWIRIP4.mjs.map +7 -0
  63. package/dist/lib/node-esm/{chunk-SVFKU7EW.mjs → chunk-H4JILUJK.mjs} +2 -2
  64. package/dist/lib/node-esm/{chunk-TNUWML33.mjs → chunk-HQMFTMJE.mjs} +36 -30
  65. package/dist/lib/node-esm/chunk-HQMFTMJE.mjs.map +7 -0
  66. package/dist/lib/node-esm/{chunk-DG5YEEPZ.mjs → chunk-MI4A5XUX.mjs} +487 -381
  67. package/dist/lib/node-esm/chunk-MI4A5XUX.mjs.map +7 -0
  68. package/dist/lib/node-esm/{chunk-HAKW2RFD.mjs → chunk-WC4VBFMA.mjs} +23 -13
  69. package/dist/lib/node-esm/chunk-WC4VBFMA.mjs.map +7 -0
  70. package/dist/lib/node-esm/{chunk-H5UPFRRH.mjs → chunk-Z7BB6HC2.mjs} +2 -2
  71. package/dist/lib/node-esm/chunk-Z7BB6HC2.mjs.map +7 -0
  72. package/dist/lib/node-esm/{identity-created-MWTLGQRU.mjs → identity-created-OXLKCJE3.mjs} +3 -3
  73. package/dist/lib/node-esm/identity-created-OXLKCJE3.mjs.map +7 -0
  74. package/dist/lib/node-esm/index.mjs +63 -46
  75. package/dist/lib/node-esm/index.mjs.map +3 -3
  76. package/dist/lib/node-esm/{intent-resolver-KVB2A4YC.mjs → intent-resolver-QHH5SXLC.mjs} +53 -58
  77. package/dist/lib/node-esm/intent-resolver-QHH5SXLC.mjs.map +7 -0
  78. package/dist/lib/node-esm/meta.json +1 -1
  79. package/dist/lib/node-esm/{react-root-56PGW5PH.mjs → react-root-QRONKFKI.mjs} +9 -8
  80. package/dist/lib/node-esm/react-root-QRONKFKI.mjs.map +7 -0
  81. package/dist/lib/node-esm/{react-surface-NYEQ23A4.mjs → react-surface-OZBWNTW2.mjs} +37 -40
  82. package/dist/lib/node-esm/react-surface-OZBWNTW2.mjs.map +7 -0
  83. package/dist/lib/node-esm/{schema-defs-RYG5DSUE.mjs → schema-defs-5TDB7T5J.mjs} +3 -3
  84. package/dist/lib/node-esm/{settings-QGWWNMMZ.mjs → settings-RBB5633M.mjs} +3 -3
  85. package/dist/lib/node-esm/{spaces-ready-TC27M7MP.mjs → spaces-ready-J6RWPI2X.mjs} +12 -11
  86. package/dist/lib/node-esm/spaces-ready-J6RWPI2X.mjs.map +7 -0
  87. package/dist/lib/node-esm/{state-TCGOPLRO.mjs → state-362I5BMK.mjs} +3 -3
  88. package/dist/lib/node-esm/types/index.mjs +2 -2
  89. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  90. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  91. package/dist/types/src/capabilities/capabilities.d.ts +2 -2
  92. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  93. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  94. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  95. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  96. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  97. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  98. package/dist/types/src/components/CollectionArticle.d.ts +6 -0
  99. package/dist/types/src/components/CollectionArticle.d.ts.map +1 -0
  100. package/dist/types/src/components/CollectionSection.d.ts +3 -4
  101. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  102. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  103. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +91 -1
  104. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  105. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +2 -2
  106. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  107. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  108. package/dist/types/src/components/JoinDialog/JoinDialog.d.ts.map +1 -0
  109. package/dist/types/src/components/JoinDialog/index.d.ts +2 -0
  110. package/dist/types/src/components/JoinDialog/index.d.ts.map +1 -0
  111. package/dist/types/src/components/MembersContainer/MembersContainer.d.ts.map +1 -0
  112. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts +1697 -0
  113. package/dist/types/src/components/{MembersContainer.stories.d.ts.map → MembersContainer/MembersContainer.stories.d.ts.map} +1 -1
  114. package/dist/types/src/components/MembersContainer/index.d.ts +2 -0
  115. package/dist/types/src/components/MembersContainer/index.d.ts.map +1 -0
  116. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts +2 -2
  117. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts.map +1 -1
  118. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts.map +1 -1
  119. package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts +7 -0
  120. package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -0
  121. package/dist/types/src/components/ObjectRenamePopover/index.d.ts +2 -0
  122. package/dist/types/src/components/ObjectRenamePopover/index.d.ts.map +1 -0
  123. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +1 -1
  124. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
  125. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts +91 -1
  126. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts.map +1 -1
  127. package/dist/types/src/components/RecordArticle.d.ts +5 -0
  128. package/dist/types/src/components/RecordArticle.d.ts.map +1 -0
  129. package/dist/types/src/components/{MembersContainer.stories.d.ts → RecordArticle.stories.d.ts} +92 -2
  130. package/dist/types/src/components/RecordArticle.stories.d.ts.map +1 -0
  131. package/dist/types/src/components/SchemaContainer.d.ts +1 -1
  132. package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
  133. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  134. package/dist/types/src/components/{SpacePresence.d.ts → SpacePresence/SpacePresence.d.ts} +4 -3
  135. package/dist/types/src/components/SpacePresence/SpacePresence.d.ts.map +1 -0
  136. package/dist/types/src/components/{SpacePresence.stories.d.ts → SpacePresence/SpacePresence.stories.d.ts} +91 -1
  137. package/dist/types/src/components/{SpacePresence.stories.d.ts.map → SpacePresence/SpacePresence.stories.d.ts.map} +1 -1
  138. package/dist/types/src/components/SpacePresence/index.d.ts +2 -0
  139. package/dist/types/src/components/SpacePresence/index.d.ts.map +1 -0
  140. package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts +7 -0
  141. package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -0
  142. package/dist/types/src/components/SpaceRenamePopover/index.d.ts +2 -0
  143. package/dist/types/src/components/SpaceRenamePopover/index.d.ts.map +1 -0
  144. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  145. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +91 -1
  146. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
  147. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  148. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +92 -2
  149. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  150. package/dist/types/src/components/ViewEditor.d.ts +3 -4
  151. package/dist/types/src/components/ViewEditor.d.ts.map +1 -1
  152. package/dist/types/src/components/index.d.ts +9 -16
  153. package/dist/types/src/components/index.d.ts.map +1 -1
  154. package/dist/types/src/helpers/index.d.ts +2 -0
  155. package/dist/types/src/helpers/index.d.ts.map +1 -0
  156. package/dist/types/src/helpers/query.d.ts +8 -0
  157. package/dist/types/src/helpers/query.d.ts.map +1 -0
  158. package/dist/types/src/helpers/query.test.d.ts +2 -0
  159. package/dist/types/src/helpers/query.test.d.ts.map +1 -0
  160. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
  161. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  162. package/dist/types/src/hooks/useTypeOptions.d.ts.map +1 -1
  163. package/dist/types/src/index.d.ts +1 -0
  164. package/dist/types/src/index.d.ts.map +1 -1
  165. package/dist/types/src/meta.d.ts.map +1 -1
  166. package/dist/types/src/translations.d.ts +91 -1
  167. package/dist/types/src/translations.d.ts.map +1 -1
  168. package/dist/types/src/types/types.d.ts +2 -2
  169. package/dist/types/src/types/types.d.ts.map +1 -1
  170. package/dist/types/src/util.d.ts +6 -4
  171. package/dist/types/src/util.d.ts.map +1 -1
  172. package/dist/types/tsconfig.tsbuildinfo +1 -1
  173. package/package.json +53 -51
  174. package/src/SpacePlugin.ts +49 -25
  175. package/src/capabilities/app-graph-builder.ts +86 -60
  176. package/src/capabilities/app-graph-serializer.ts +5 -5
  177. package/src/capabilities/capabilities.ts +2 -2
  178. package/src/capabilities/identity-created.ts +2 -2
  179. package/src/capabilities/intent-resolver.ts +46 -41
  180. package/src/capabilities/react-root.tsx +2 -1
  181. package/src/capabilities/react-surface.tsx +35 -40
  182. package/src/capabilities/spaces-ready.ts +7 -4
  183. package/src/components/AwaitingObject.tsx +11 -13
  184. package/src/components/{CollectionMain.tsx → CollectionArticle.tsx} +5 -4
  185. package/src/components/CollectionSection.tsx +6 -4
  186. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +6 -6
  187. package/src/components/CreateDialog/CreateObjectDialog.tsx +29 -22
  188. package/src/components/CreateDialog/CreateObjectPanel.tsx +2 -2
  189. package/src/components/CreateDialog/CreateSpaceDialog.tsx +25 -7
  190. package/src/components/{JoinDialog.tsx → JoinDialog/JoinDialog.tsx} +21 -5
  191. package/src/components/JoinDialog/index.ts +5 -0
  192. package/src/components/{MembersContainer.stories.tsx → MembersContainer/MembersContainer.stories.tsx} +1 -1
  193. package/src/components/{MembersContainer.tsx → MembersContainer/MembersContainer.tsx} +11 -9
  194. package/src/components/MembersContainer/index.ts +5 -0
  195. package/src/components/ObjectDetailsPanel/ObjectDetailsPanel.tsx +2 -3
  196. package/src/components/ObjectDetailsPanel/ObjectForm.tsx +9 -12
  197. package/src/components/{PopoverRenameObject.tsx → ObjectRenamePopover/ObjectRenamePopover.tsx} +5 -5
  198. package/src/components/ObjectRenamePopover/index.ts +5 -0
  199. package/src/components/ObjectSettings/BaseObjectSettings.stories.tsx +6 -6
  200. package/src/components/ObjectSettings/BaseObjectSettings.tsx +34 -40
  201. package/src/components/ObjectSettings/ForeignKeys.tsx +1 -1
  202. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +1 -1
  203. package/src/components/RecordArticle.stories.tsx +115 -0
  204. package/src/components/RecordArticle.tsx +114 -0
  205. package/src/components/SchemaContainer.tsx +21 -24
  206. package/src/components/SpacePluginSettings.tsx +8 -2
  207. package/src/components/{SpacePresence.stories.tsx → SpacePresence/SpacePresence.stories.tsx} +1 -1
  208. package/src/components/{SpacePresence.tsx → SpacePresence/SpacePresence.tsx} +14 -9
  209. package/src/components/SpacePresence/index.ts +5 -0
  210. package/src/components/{PopoverRenameSpace.tsx → SpaceRenamePopover/SpaceRenamePopover.tsx} +6 -5
  211. package/src/components/SpaceRenamePopover/index.ts +5 -0
  212. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +33 -13
  213. package/src/components/SyncStatus/InlineSyncStatus.tsx +1 -1
  214. package/src/components/SyncStatus/SyncStatus.stories.tsx +3 -2
  215. package/src/components/SyncStatus/SyncStatus.tsx +45 -36
  216. package/src/components/ViewEditor.tsx +51 -17
  217. package/src/components/index.ts +6 -7
  218. package/src/helpers/index.ts +5 -0
  219. package/src/helpers/query.test.ts +24 -0
  220. package/src/helpers/query.ts +158 -0
  221. package/src/hooks/useActiveSpace.ts +2 -1
  222. package/src/hooks/useInputSurfaceLookup.tsx +7 -2
  223. package/src/hooks/useTypeOptions.ts +3 -3
  224. package/src/index.ts +1 -0
  225. package/src/meta.ts +5 -0
  226. package/src/translations.ts +22 -10
  227. package/src/types/types.ts +11 -10
  228. package/src/util.tsx +44 -36
  229. package/dist/lib/browser/CollectionMain-AX7KKXWP.mjs.map +0 -7
  230. package/dist/lib/browser/ObjectDetailsPanel-MQBHG666.mjs.map +0 -7
  231. package/dist/lib/browser/ObjectSettings-KNUZFCGS.mjs.map +0 -7
  232. package/dist/lib/browser/RecordMain-H4DVHICS.mjs +0 -116
  233. package/dist/lib/browser/RecordMain-H4DVHICS.mjs.map +0 -7
  234. package/dist/lib/browser/app-graph-builder-3R5GGT46.mjs.map +0 -7
  235. package/dist/lib/browser/app-graph-serializer-25Z5BG22.mjs.map +0 -7
  236. package/dist/lib/browser/chunk-522KZGQF.mjs.map +0 -7
  237. package/dist/lib/browser/chunk-7XOTWRZ3.mjs.map +0 -7
  238. package/dist/lib/browser/chunk-IRKDREHY.mjs +0 -11
  239. package/dist/lib/browser/chunk-IRKDREHY.mjs.map +0 -7
  240. package/dist/lib/browser/chunk-OV6D543A.mjs.map +0 -7
  241. package/dist/lib/browser/chunk-PTGRQQ6J.mjs.map +0 -7
  242. package/dist/lib/browser/chunk-RLI2IAHK.mjs.map +0 -7
  243. package/dist/lib/browser/chunk-WS2PJDES.mjs.map +0 -7
  244. package/dist/lib/browser/identity-created-PW2BA46S.mjs.map +0 -7
  245. package/dist/lib/browser/intent-resolver-ICGUSVH6.mjs.map +0 -7
  246. package/dist/lib/browser/react-root-H56QN474.mjs.map +0 -7
  247. package/dist/lib/browser/react-surface-VOE2ILKO.mjs.map +0 -7
  248. package/dist/lib/browser/spaces-ready-MFIVK6I6.mjs.map +0 -7
  249. package/dist/lib/node-esm/CollectionMain-EU57SRYK.mjs.map +0 -7
  250. package/dist/lib/node-esm/ObjectDetailsPanel-NABA2S56.mjs.map +0 -7
  251. package/dist/lib/node-esm/ObjectSettings-GXGTITF5.mjs.map +0 -7
  252. package/dist/lib/node-esm/RecordMain-MYFTAQ2U.mjs +0 -117
  253. package/dist/lib/node-esm/RecordMain-MYFTAQ2U.mjs.map +0 -7
  254. package/dist/lib/node-esm/app-graph-builder-VGRMD5TP.mjs.map +0 -7
  255. package/dist/lib/node-esm/app-graph-serializer-U4GHXWRG.mjs.map +0 -7
  256. package/dist/lib/node-esm/chunk-4F25JKVT.mjs.map +0 -7
  257. package/dist/lib/node-esm/chunk-DG5YEEPZ.mjs.map +0 -7
  258. package/dist/lib/node-esm/chunk-H5UPFRRH.mjs.map +0 -7
  259. package/dist/lib/node-esm/chunk-HAKW2RFD.mjs.map +0 -7
  260. package/dist/lib/node-esm/chunk-MWNATOXL.mjs +0 -13
  261. package/dist/lib/node-esm/chunk-MWNATOXL.mjs.map +0 -7
  262. package/dist/lib/node-esm/chunk-PAAWJ4RE.mjs.map +0 -7
  263. package/dist/lib/node-esm/chunk-TNUWML33.mjs.map +0 -7
  264. package/dist/lib/node-esm/identity-created-MWTLGQRU.mjs.map +0 -7
  265. package/dist/lib/node-esm/intent-resolver-KVB2A4YC.mjs.map +0 -7
  266. package/dist/lib/node-esm/react-root-56PGW5PH.mjs.map +0 -7
  267. package/dist/lib/node-esm/react-surface-NYEQ23A4.mjs.map +0 -7
  268. package/dist/lib/node-esm/spaces-ready-TC27M7MP.mjs.map +0 -7
  269. package/dist/types/src/components/CollectionMain.d.ts +0 -7
  270. package/dist/types/src/components/CollectionMain.d.ts.map +0 -1
  271. package/dist/types/src/components/JoinDialog.d.ts.map +0 -1
  272. package/dist/types/src/components/MembersContainer.d.ts.map +0 -1
  273. package/dist/types/src/components/PersistenceStatus.d.ts +0 -6
  274. package/dist/types/src/components/PersistenceStatus.d.ts.map +0 -1
  275. package/dist/types/src/components/PopoverRenameObject.d.ts +0 -7
  276. package/dist/types/src/components/PopoverRenameObject.d.ts.map +0 -1
  277. package/dist/types/src/components/PopoverRenameSpace.d.ts +0 -7
  278. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +0 -1
  279. package/dist/types/src/components/RecordMain.d.ts +0 -7
  280. package/dist/types/src/components/RecordMain.d.ts.map +0 -1
  281. package/dist/types/src/components/SpacePresence.d.ts.map +0 -1
  282. package/src/components/PersistenceStatus.tsx +0 -83
  283. package/src/components/RecordMain.tsx +0 -87
  284. /package/dist/lib/browser/{chunk-EIXZABXD.mjs.map → chunk-WJXU4GKV.mjs.map} +0 -0
  285. /package/dist/lib/browser/{schema-defs-7R7RKCAE.mjs.map → schema-defs-XCNOO2WT.mjs.map} +0 -0
  286. /package/dist/lib/browser/{settings-OBFJ67ZG.mjs.map → settings-WKLGKUHQ.mjs.map} +0 -0
  287. /package/dist/lib/browser/{state-LSPRFIRO.mjs.map → state-Q7YRE5KG.mjs.map} +0 -0
  288. /package/dist/lib/node-esm/{chunk-SVFKU7EW.mjs.map → chunk-H4JILUJK.mjs.map} +0 -0
  289. /package/dist/lib/node-esm/{schema-defs-RYG5DSUE.mjs.map → schema-defs-5TDB7T5J.mjs.map} +0 -0
  290. /package/dist/lib/node-esm/{settings-QGWWNMMZ.mjs.map → settings-RBB5633M.mjs.map} +0 -0
  291. /package/dist/lib/node-esm/{state-TCGOPLRO.mjs.map → state-362I5BMK.mjs.map} +0 -0
  292. /package/dist/types/src/components/{JoinDialog.d.ts → JoinDialog/JoinDialog.d.ts} +0 -0
  293. /package/dist/types/src/components/{MembersContainer.d.ts → MembersContainer/MembersContainer.d.ts} +0 -0
@@ -0,0 +1,158 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Array from 'effect/Array';
6
+ import * as Effect from 'effect/Effect';
7
+ import * as EffectFunction from 'effect/Function';
8
+ import * as Match from 'effect/Match';
9
+ import * as Option from 'effect/Option';
10
+ import type * as Schema from 'effect/Schema';
11
+ import * as SchemaAST from 'effect/SchemaAST';
12
+
13
+ import { DXN, Filter, Query, type QueryAST } from '@dxos/echo';
14
+ import {
15
+ ReferenceAnnotationId,
16
+ type ReferenceAnnotationValue,
17
+ getTypeAnnotation,
18
+ unwrapOptional,
19
+ } from '@dxos/echo/internal';
20
+ import { log } from '@dxos/log';
21
+ import { type Client } from '@dxos/react-client';
22
+ import { type Space } from '@dxos/react-client/echo';
23
+ import { Person } from '@dxos/types';
24
+
25
+ // TODO(wittjosiah): Factor out and add tests.
26
+ // TODO(wittjosiah): Support arbitrary type imports.
27
+ export const evalQuery = (queryString: string): Query.Any => {
28
+ const globals = { Query, Filter, Person };
29
+ try {
30
+ // eslint-disable-next-line @typescript-eslint/no-implied-eval
31
+ return new Function(...Object.keys(globals), `return ${queryString}`)(...Object.values(globals));
32
+ } catch (err) {
33
+ log.catch(err);
34
+ return Query.select(Filter.nothing());
35
+ }
36
+ };
37
+
38
+ export const resolveSchemaWithClientAndSpace = (client: Client, space: Space, query: QueryAST.Query) => {
39
+ const resolve = Effect.fn(function* (dxn: string) {
40
+ const typename = DXN.parse(dxn).asTypeDXN()?.type;
41
+ if (!typename) {
42
+ return Option.none();
43
+ }
44
+
45
+ const staticSchema = client.graph.schemaRegistry.getSchema(typename);
46
+ if (staticSchema) {
47
+ return Option.some(staticSchema);
48
+ }
49
+
50
+ const query = space.db.schemaRegistry.query({ typename });
51
+ const schemas = yield* Effect.promise(() => query.run());
52
+ return Array.head(schemas).pipe(Option.map((schema) => schema.snapshot));
53
+ });
54
+
55
+ return resolveSchema(query, resolve).pipe(
56
+ Effect.map((schema) => Option.getOrUndefined(schema)),
57
+ Effect.runPromise,
58
+ );
59
+ };
60
+
61
+ const resolveSchema = (
62
+ query: QueryAST.Query,
63
+ resolve: (dxn: string) => Effect.Effect<Option.Option<Schema.Schema.AnyNoContext>>,
64
+ ): Effect.Effect<Option.Option<Schema.Schema.AnyNoContext>> => {
65
+ return Match.value(query).pipe(
66
+ Match.withReturnType<Effect.Effect<Option.Option<Schema.Schema.AnyNoContext>>>(),
67
+ // TODO(wittjosiah): Reconcile with filter match?
68
+ Match.when({ type: 'select' }, ({ filter }) =>
69
+ typenameFromFilter(filter).pipe(
70
+ Option.map((typename) => resolve(typename)),
71
+ Option.getOrElse(() => Effect.succeed(Option.none<Schema.Schema.AnyNoContext>())),
72
+ ),
73
+ ),
74
+ Match.when({ type: 'filter' }, ({ filter }) =>
75
+ typenameFromFilter(filter).pipe(
76
+ Option.map((typename) => resolve(typename)),
77
+ Option.getOrElse(() => Effect.succeed(Option.none<Schema.Schema.AnyNoContext>())),
78
+ ),
79
+ ),
80
+ Match.when({ type: 'reference-traversal' }, ({ anchor, property }) =>
81
+ resolveSchema(anchor, resolve).pipe(
82
+ Effect.map((base) =>
83
+ base.pipe(
84
+ Option.map((schema) => SchemaAST.getPropertySignatures(schema.ast)),
85
+ Option.flatMap((properties) => Array.findFirst(properties, (p) => p.name === property)),
86
+ Option.flatMap((property) =>
87
+ SchemaAST.getAnnotation<ReferenceAnnotationValue>(ReferenceAnnotationId)(unwrapOptional(property)),
88
+ ),
89
+ Option.map((annotation) => annotation.typename),
90
+ ),
91
+ ),
92
+ Effect.flatMap(
93
+ Option.match({
94
+ onNone: () => Effect.succeed(Option.none()),
95
+ onSome: (typename) => resolve(DXN.fromTypename(typename).toString()),
96
+ }),
97
+ ),
98
+ ),
99
+ ),
100
+ Match.when({ type: 'relation', filter: Match.defined }, ({ filter }) =>
101
+ typenameFromFilter(filter).pipe(
102
+ Option.map((typename) => resolve(typename)),
103
+ Option.getOrElse(() => Effect.succeed(Option.none<Schema.Schema.AnyNoContext>())),
104
+ ),
105
+ ),
106
+ Match.when({ type: 'relation-traversal' }, ({ anchor, direction }) =>
107
+ resolveSchema(anchor, resolve).pipe(
108
+ Effect.map((base) =>
109
+ base.pipe(
110
+ Option.map((schema) => getTypeAnnotation(schema)),
111
+ Option.flatMap((annotation) =>
112
+ Option.fromNullable(direction === 'source' ? annotation?.sourceSchema : annotation?.targetSchema),
113
+ ),
114
+ ),
115
+ ),
116
+ Effect.flatMap(
117
+ Option.match({
118
+ onNone: () => Effect.succeed(Option.none()),
119
+ onSome: (typename) => resolve(typename),
120
+ }),
121
+ ),
122
+ ),
123
+ ),
124
+ Match.when({ type: 'options' }, ({ query }) => resolveSchema(query, resolve)),
125
+ Match.orElse((_q) => {
126
+ // TODO(wittjosiah): Implement other cases.
127
+ return Effect.succeed(Option.none());
128
+ }),
129
+ );
130
+ };
131
+
132
+ const typenameFromFilter = (filter: QueryAST.Filter): Option.Option<string> =>
133
+ Match.value(filter).pipe(
134
+ Match.withReturnType<Option.Option<string>>(),
135
+ Match.when({ type: 'object' }, ({ typename }) => Option.fromNullable(typename)),
136
+ Match.when({ type: 'and' }, ({ filters }) =>
137
+ EffectFunction.pipe(filters, Array.map(typenameFromFilter), Array.findFirst(Option.isSome), Option.flatten),
138
+ ),
139
+ Match.when({ type: 'or' }, ({ filters }) =>
140
+ EffectFunction.pipe(filters, Array.map(typenameFromFilter), Array.findFirst(Option.isSome), Option.flatten),
141
+ ),
142
+ Match.orElse(() => Option.none()),
143
+ );
144
+
145
+ // TODO(wittjosiah): Currently assumes options is at the top-level of the ast.
146
+ export const getQueryTarget = (query: QueryAST.Query, space?: Space) => {
147
+ return Match.value(query).pipe(
148
+ Match.when({ type: 'options' }, ({ options }) => {
149
+ return Option.fromNullable(options.queues).pipe(
150
+ Option.flatMap((queues) => Array.head(queues)),
151
+ Option.flatMap((queueDxn) => Option.fromNullable(DXN.tryParse(queueDxn))),
152
+ Option.flatMap((queueDxn) => Option.fromNullable(space?.queues.get(queueDxn))),
153
+ Option.getOrElse(() => space),
154
+ );
155
+ }),
156
+ Match.orElse(() => space),
157
+ );
158
+ };
@@ -2,7 +2,8 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { Capabilities, type PluginContext, useLayout } from '@dxos/app-framework';
5
+ import { Capabilities, type PluginContext } from '@dxos/app-framework';
6
+ import { useLayout } from '@dxos/app-framework/react';
6
7
  import { ClientCapabilities } from '@dxos/plugin-client';
7
8
  import { parseId, useSpace } from '@dxos/react-client/echo';
8
9
 
@@ -5,7 +5,7 @@
5
5
  import type * as Schema from 'effect/Schema';
6
6
  import React, { useCallback } from 'react';
7
7
 
8
- import { Surface, isSurfaceAvailable, usePluginManager } from '@dxos/app-framework';
8
+ import { Surface, isSurfaceAvailable, usePluginManager } from '@dxos/app-framework/react';
9
9
  import { type InputProps } from '@dxos/react-ui-form';
10
10
 
11
11
  // TODO(ZaymonFC): Move this if you find yourself needing it elsewhere.
@@ -20,7 +20,12 @@ export const useInputSurfaceLookup = (baseData?: Record<string, any>) => {
20
20
  return useCallback(
21
21
  ({ prop, schema, inputProps }: { prop: string; schema: Schema.Schema<any>; inputProps: InputProps }) => {
22
22
  const composedData = { prop, schema, ...baseData };
23
- if (!isSurfaceAvailable(pluginManager.context, { role: 'form-input', data: composedData })) {
23
+ if (
24
+ !isSurfaceAvailable(pluginManager.context, {
25
+ role: 'form-input',
26
+ data: composedData,
27
+ })
28
+ ) {
24
29
  return undefined;
25
30
  }
26
31
 
@@ -4,17 +4,17 @@
4
4
 
5
5
  import { useMemo } from 'react';
6
6
 
7
- import { useCapabilities } from '@dxos/app-framework';
7
+ import { useCapabilities } from '@dxos/app-framework/react';
8
8
  import { Type } from '@dxos/echo';
9
9
  import { ClientCapabilities } from '@dxos/plugin-client';
10
10
  import { useClient } from '@dxos/react-client';
11
11
  import { type Space } from '@dxos/react-client/echo';
12
12
  import { useTranslation } from '@dxos/react-ui';
13
- import { DataType, type TypenameAnnotation, getTypenames } from '@dxos/schema';
13
+ import { Collection, type TypenameAnnotation, getTypenames } from '@dxos/schema';
14
14
 
15
15
  import { SpaceCapabilities } from '../capabilities';
16
16
 
17
- const OMIT = [DataType.Collection.typename, Type.getTypename(DataType.QueryCollection)];
17
+ const OMIT = [Collection.Collection.typename, Type.getTypename(Collection.QueryCollection)];
18
18
 
19
19
  export const useTypeOptions = ({ space, annotation }: { space?: Space; annotation: TypenameAnnotation[] }) => {
20
20
  const { t } = useTranslation();
package/src/index.ts CHANGED
@@ -6,6 +6,7 @@ export { SpaceCapabilities } from './capabilities';
6
6
  export { SpaceEvents } from './events';
7
7
 
8
8
  export * from './components';
9
+ export * from './helpers';
9
10
  export * from './hooks';
10
11
  export * from './meta';
11
12
  export * from './SpacePlugin';
package/src/meta.ts CHANGED
@@ -3,9 +3,14 @@
3
3
  //
4
4
 
5
5
  import { type PluginMeta } from '@dxos/app-framework';
6
+ import { trim } from '@dxos/util';
6
7
 
7
8
  export const meta: PluginMeta = {
8
9
  id: 'dxos.org/plugin/space',
9
10
  name: 'Spaces',
11
+ description: trim`
12
+ Core workspace container system for organizing and sharing collaborative environments.
13
+ Create, manage, and share spaces with granular access control and invitation management.
14
+ `,
10
15
  icon: 'ph--planet--regular',
11
16
  };
@@ -5,7 +5,8 @@
5
5
  import { Type } from '@dxos/echo';
6
6
  import { StoredSchema } from '@dxos/echo/internal';
7
7
  import { type Resource } from '@dxos/react-ui';
8
- import { DataType } from '@dxos/schema';
8
+ import { Collection, View } from '@dxos/schema';
9
+ import { Event, Organization, Person, Project, Task } from '@dxos/types';
9
10
 
10
11
  import { meta } from './meta';
11
12
 
@@ -13,7 +14,7 @@ import { meta } from './meta';
13
14
  export const translations = [
14
15
  {
15
16
  'en-US': {
16
- [DataType.Collection.typename]: {
17
+ [Collection.Collection.typename]: {
17
18
  'typename label': 'Collection',
18
19
  'typename label_zero': 'Collections',
19
20
  'typename label_one': 'Collection',
@@ -22,7 +23,7 @@ export const translations = [
22
23
  'rename object label': 'Rename collection',
23
24
  'delete object label': 'Delete collection',
24
25
  },
25
- [Type.getTypename(DataType.QueryCollection)]: {
26
+ [Type.getTypename(Collection.QueryCollection)]: {
26
27
  'typename label': 'Smart Collection',
27
28
  'typename label_zero': 'Smart Collections',
28
29
  'typename label_one': 'Smart Collection',
@@ -40,7 +41,7 @@ export const translations = [
40
41
  'rename object label': 'Rename record type',
41
42
  'delete object label': 'Delete record type',
42
43
  },
43
- [Type.getTypename(DataType.View)]: {
44
+ [Type.getTypename(View.View)]: {
44
45
  'typename label': 'View',
45
46
  'typename label_zero': 'Views',
46
47
  'typename label_one': 'View',
@@ -49,35 +50,35 @@ export const translations = [
49
50
  'rename object label': 'Rename view',
50
51
  'delete object label': 'Delete view',
51
52
  },
52
- [DataType.Event.typename]: {
53
+ [Event.Event.typename]: {
53
54
  'typename label': 'Event',
54
55
  'typename label_zero': 'Events',
55
56
  'typename label_one': 'Event',
56
57
  'typename label_other': 'Events',
57
58
  'object name placeholder': 'New event',
58
59
  },
59
- [DataType.Organization.typename]: {
60
+ [Organization.Organization.typename]: {
60
61
  'typename label': 'Organization',
61
62
  'typename label_zero': 'Organizations',
62
63
  'typename label_one': 'Organization',
63
64
  'typename label_other': 'Organizations',
64
65
  'object name placeholder': 'New organization',
65
66
  },
66
- [DataType.Person.typename]: {
67
+ [Person.Person.typename]: {
67
68
  'typename label': 'Person',
68
69
  'typename label_zero': 'People',
69
70
  'typename label_one': 'Person',
70
71
  'typename label_other': 'People',
71
72
  'object name placeholder': 'New person',
72
73
  },
73
- [Type.getTypename(DataType.Project)]: {
74
+ [Project.Project.typename]: {
74
75
  'typename label': 'Project',
75
76
  'typename label_zero': 'Projects',
76
77
  'typename label_one': 'Project',
77
78
  'typename label_other': 'Projects',
78
79
  'object name placeholder': 'New project',
79
80
  },
80
- [DataType.Task.typename]: {
81
+ [Task.Task.typename]: {
81
82
  'typename label': 'Task',
82
83
  'typename label_zero': 'Tasks',
83
84
  'typename label_one': 'Task',
@@ -195,7 +196,7 @@ export const translations = [
195
196
  'foreign keys': 'Foreign Keys',
196
197
  'add key': 'Add Key',
197
198
  'open space settings label': 'Open settings',
198
- 'related objects label': 'Related',
199
+ 'related objects label': 'Related Items',
199
200
 
200
201
  'row details no selection label': 'No objects selected',
201
202
  'companion selected objects label': 'Selected',
@@ -230,7 +231,18 @@ export const translations = [
230
231
  'archive space description':
231
232
  '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.',
232
233
  'archive space label': 'Archive',
234
+ 'backup space label': 'Backup',
235
+ 'backup space description':
236
+ 'Download a backup of the space. Contains all data in the space in an unencrypted format.',
237
+ 'download backup': 'Download backup',
233
238
  'unarchive space label': 'Unarchive',
239
+
240
+ 'sync edge connected label': 'Edge connected',
241
+ 'sync edge disconnected label': 'Edge disconnected',
242
+ 'sync no connection label': 'No connection to edge service',
243
+ 'sync latency label': 'Latency',
244
+ 'sync upload label': 'Upload',
245
+ 'sync download label': 'Download',
234
246
  },
235
247
  },
236
248
  },
@@ -11,7 +11,7 @@ import { type PublicKey } from '@dxos/react-client';
11
11
  // TODO(wittjosiah): This pulls in full client.
12
12
  import { EchoObjectSchema, ReactiveObjectSchema, type Space, SpaceSchema } from '@dxos/react-client/echo';
13
13
  import { CancellableInvitationObservable, Invitation } from '@dxos/react-client/invitations';
14
- import { DataType, FieldSchema, TypenameAnnotationId } from '@dxos/schema';
14
+ import { Collection, FieldSchema, TypenameAnnotationId, View } from '@dxos/schema';
15
15
  import { type ComplexMap } from '@dxos/util';
16
16
 
17
17
  import { meta } from '../meta';
@@ -258,7 +258,7 @@ export namespace SpaceAction {
258
258
 
259
259
  export class DeleteField extends Schema.TaggedClass<DeleteField>()(`${SPACE_ACTION}/delete-field`, {
260
260
  input: Schema.Struct({
261
- view: DataType.View,
261
+ view: View.View,
262
262
  fieldId: Schema.String,
263
263
  // TODO(wittjosiah): Separate fields for undo data?
264
264
  deletionData: Schema.optional(
@@ -276,7 +276,7 @@ export namespace SpaceAction {
276
276
 
277
277
  export class OpenCreateObject extends Schema.TaggedClass<OpenCreateObject>()(`${SPACE_ACTION}/open-create-object`, {
278
278
  input: Schema.Struct({
279
- target: Schema.Union(SpaceSchema, DataType.Collection),
279
+ target: Schema.Union(SpaceSchema, Collection.Collection),
280
280
  views: Schema.optional(Schema.Boolean),
281
281
  typename: Schema.optional(Schema.String),
282
282
  initialFormValues: Schema.optional(Schema.Any),
@@ -290,7 +290,7 @@ export namespace SpaceAction {
290
290
  export class AddObject extends Schema.TaggedClass<AddObject>()(`${SPACE_ACTION}/add-object`, {
291
291
  input: Schema.Struct({
292
292
  object: ReactiveObjectSchema,
293
- target: Schema.Union(SpaceSchema, DataType.Collection),
293
+ target: Schema.Union(SpaceSchema, Collection.Collection),
294
294
  hidden: Schema.optional(Schema.Boolean),
295
295
  }),
296
296
  output: Schema.Struct({
@@ -318,7 +318,7 @@ export namespace SpaceAction {
318
318
 
319
319
  export const DeletionData = Schema.Struct({
320
320
  objects: Schema.Array(EchoObjectSchema),
321
- parentCollection: DataType.Collection,
321
+ parentCollection: Collection.Collection,
322
322
  indices: Schema.Array(Schema.Number),
323
323
  nestedObjectsList: Schema.Array(Schema.Array(EchoObjectSchema)),
324
324
  wasActive: Schema.Array(Schema.String),
@@ -328,8 +328,9 @@ export namespace SpaceAction {
328
328
 
329
329
  export class RemoveObjects extends Schema.TaggedClass<RemoveObjects>()(`${SPACE_ACTION}/remove-objects`, {
330
330
  input: Schema.Struct({
331
- objects: Schema.Array(EchoObjectSchema),
332
- target: Schema.optional(DataType.Collection),
331
+ // TODO(wittjosiah): Should be Schema.Union(Type.Obj, Type.Relation).
332
+ objects: Schema.Array(ReactiveObjectSchema),
333
+ target: Schema.optional(Collection.Collection),
333
334
  deletionData: Schema.optional(DeletionData),
334
335
  }),
335
336
  output: Schema.Void,
@@ -346,7 +347,7 @@ export namespace SpaceAction {
346
347
  export class DuplicateObject extends Schema.TaggedClass<DuplicateObject>()(`${SPACE_ACTION}/duplicate-object`, {
347
348
  input: Schema.Struct({
348
349
  object: EchoObjectSchema,
349
- target: Schema.Union(SpaceSchema, DataType.Collection),
350
+ target: Schema.Union(SpaceSchema, Collection.Collection),
350
351
  }),
351
352
  output: Schema.Void,
352
353
  }) {}
@@ -365,7 +366,7 @@ export namespace CollectionAction {
365
366
  name: Schema.optional(Schema.String),
366
367
  }),
367
368
  output: Schema.Struct({
368
- object: DataType.Collection,
369
+ object: Collection.Collection,
369
370
  }),
370
371
  }) {}
371
372
 
@@ -382,7 +383,7 @@ export namespace CollectionAction {
382
383
  input: QueryCollectionForm,
383
384
  output: Schema.Struct({
384
385
  // TODO(wittjosiah): Remove cast.
385
- object: EchoObjectSchema, // DataType.QueryCollection,
386
+ object: EchoObjectSchema, // Collection.QueryCollection,
386
387
  }),
387
388
  },
388
389
  ) {}