@dxos/plugin-space 0.8.4-main.3f58842 → 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 (363) hide show
  1. package/dist/lib/browser/{CollectionMain-D2B75XBS.mjs → CollectionArticle-ABGFK4VO.mjs} +10 -10
  2. package/dist/lib/browser/CollectionArticle-ABGFK4VO.mjs.map +7 -0
  3. package/dist/lib/browser/ObjectDetailsPanel-2BRUBHP6.mjs +141 -0
  4. package/dist/lib/browser/ObjectDetailsPanel-2BRUBHP6.mjs.map +7 -0
  5. package/dist/lib/browser/ObjectSettings-5LLWCVEK.mjs +144 -0
  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-7CZZJS3S.mjs → app-graph-builder-FFPJHWFB.mjs} +124 -75
  10. package/dist/lib/browser/app-graph-builder-FFPJHWFB.mjs.map +7 -0
  11. package/dist/lib/browser/{app-graph-serializer-H6AW7KGS.mjs → app-graph-serializer-QMWE2YE4.mjs} +19 -19
  12. package/dist/lib/browser/app-graph-serializer-QMWE2YE4.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-XUYKJUU7.mjs → chunk-I4W2BHA2.mjs} +122 -61
  14. package/dist/lib/browser/chunk-I4W2BHA2.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-K5J7ZB5P.mjs +20 -0
  16. package/dist/lib/browser/chunk-K5J7ZB5P.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-K6TOP4E6.mjs +167 -0
  18. package/dist/lib/browser/chunk-K6TOP4E6.mjs.map +7 -0
  19. package/dist/lib/browser/{chunk-SGTQ52SU.mjs → chunk-M2Z6D4ZI.mjs} +32 -21
  20. package/dist/lib/browser/chunk-M2Z6D4ZI.mjs.map +7 -0
  21. package/dist/lib/browser/{chunk-V7MJSSBQ.mjs → chunk-MHXNG2X2.mjs} +587 -513
  22. package/dist/lib/browser/chunk-MHXNG2X2.mjs.map +7 -0
  23. package/dist/lib/browser/{chunk-QACNNDOT.mjs → chunk-OLBBSOVI.mjs} +30 -17
  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-WJXU4GKV.mjs +19 -0
  28. package/dist/lib/browser/chunk-WJXU4GKV.mjs.map +7 -0
  29. package/dist/lib/browser/{identity-created-23XJJV2N.mjs → identity-created-NAXTPQXE.mjs} +6 -6
  30. package/dist/lib/browser/identity-created-NAXTPQXE.mjs.map +7 -0
  31. package/dist/lib/browser/index.mjs +88 -88
  32. package/dist/lib/browser/index.mjs.map +3 -3
  33. package/dist/lib/browser/{intent-resolver-TIXVDYN7.mjs → intent-resolver-WLFWCHDH.mjs} +87 -85
  34. package/dist/lib/browser/intent-resolver-WLFWCHDH.mjs.map +7 -0
  35. package/dist/lib/browser/meta.json +1 -1
  36. package/dist/lib/browser/react-root-BPPTUFLV.mjs +30 -0
  37. package/dist/lib/browser/react-root-BPPTUFLV.mjs.map +7 -0
  38. package/dist/lib/browser/{react-surface-TPNLWJJH.mjs → react-surface-3KTOA5PM.mjs} +81 -104
  39. package/dist/lib/browser/react-surface-3KTOA5PM.mjs.map +7 -0
  40. package/dist/lib/browser/{schema-defs-Z6FC4AHC.mjs → schema-defs-XCNOO2WT.mjs} +5 -5
  41. package/dist/lib/browser/schema-defs-XCNOO2WT.mjs.map +7 -0
  42. package/dist/lib/browser/{settings-4IMP5RYT.mjs → settings-WKLGKUHQ.mjs} +5 -5
  43. package/dist/lib/browser/{settings-4IMP5RYT.mjs.map → settings-WKLGKUHQ.mjs.map} +1 -1
  44. package/dist/lib/browser/{spaces-ready-TOPG6IV4.mjs → spaces-ready-XVW7I5MQ.mjs} +21 -18
  45. package/dist/lib/browser/spaces-ready-XVW7I5MQ.mjs.map +7 -0
  46. package/dist/lib/browser/{state-QYZAB45H.mjs → state-Q7YRE5KG.mjs} +7 -7
  47. package/dist/lib/browser/state-Q7YRE5KG.mjs.map +7 -0
  48. package/dist/lib/browser/types/index.mjs +2 -2
  49. package/dist/lib/node-esm/{CollectionMain-ZJIFCWKZ.mjs → CollectionArticle-G3V4QXPI.mjs} +10 -10
  50. package/dist/lib/node-esm/CollectionArticle-G3V4QXPI.mjs.map +7 -0
  51. package/dist/lib/node-esm/ObjectDetailsPanel-6PZQIQG3.mjs +142 -0
  52. package/dist/lib/node-esm/ObjectDetailsPanel-6PZQIQG3.mjs.map +7 -0
  53. package/dist/lib/node-esm/ObjectSettings-OQSBOH7K.mjs +145 -0
  54. package/dist/lib/node-esm/ObjectSettings-OQSBOH7K.mjs.map +7 -0
  55. package/dist/lib/node-esm/RecordArticle-PBMLYY5K.mjs +117 -0
  56. package/dist/lib/node-esm/RecordArticle-PBMLYY5K.mjs.map +7 -0
  57. package/dist/lib/node-esm/{app-graph-builder-KGIGWC72.mjs → app-graph-builder-3BTVV7LE.mjs} +124 -75
  58. package/dist/lib/node-esm/app-graph-builder-3BTVV7LE.mjs.map +7 -0
  59. package/dist/lib/node-esm/{app-graph-serializer-2ICUGQQT.mjs → app-graph-serializer-BU7KO2G5.mjs} +19 -19
  60. package/dist/lib/node-esm/app-graph-serializer-BU7KO2G5.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-JH6F4C3I.mjs → chunk-2PN7QNGV.mjs} +32 -21
  62. package/dist/lib/node-esm/chunk-2PN7QNGV.mjs.map +7 -0
  63. package/dist/lib/node-esm/chunk-BDEFTL6K.mjs +18 -0
  64. package/dist/lib/node-esm/chunk-BDEFTL6K.mjs.map +7 -0
  65. package/dist/lib/node-esm/chunk-FAWIRIP4.mjs +168 -0
  66. package/dist/lib/node-esm/chunk-FAWIRIP4.mjs.map +7 -0
  67. package/dist/lib/node-esm/chunk-H4JILUJK.mjs +20 -0
  68. package/dist/lib/node-esm/chunk-H4JILUJK.mjs.map +7 -0
  69. package/dist/lib/node-esm/{chunk-4AOMYKDE.mjs → chunk-HQMFTMJE.mjs} +122 -61
  70. package/dist/lib/node-esm/chunk-HQMFTMJE.mjs.map +7 -0
  71. package/dist/lib/node-esm/{chunk-6X5DLJM5.mjs → chunk-MI4A5XUX.mjs} +587 -513
  72. package/dist/lib/node-esm/chunk-MI4A5XUX.mjs.map +7 -0
  73. package/dist/lib/node-esm/{chunk-P442DOQ3.mjs → chunk-WC4VBFMA.mjs} +30 -17
  74. package/dist/lib/node-esm/chunk-WC4VBFMA.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-Z7BB6HC2.mjs +21 -0
  76. package/dist/lib/node-esm/chunk-Z7BB6HC2.mjs.map +7 -0
  77. package/dist/lib/node-esm/{identity-created-IJQO6GCR.mjs → identity-created-OXLKCJE3.mjs} +6 -6
  78. package/dist/lib/node-esm/identity-created-OXLKCJE3.mjs.map +7 -0
  79. package/dist/lib/node-esm/index.mjs +88 -88
  80. package/dist/lib/node-esm/index.mjs.map +3 -3
  81. package/dist/lib/node-esm/{intent-resolver-MHGHRGDT.mjs → intent-resolver-QHH5SXLC.mjs} +87 -85
  82. package/dist/lib/node-esm/intent-resolver-QHH5SXLC.mjs.map +7 -0
  83. package/dist/lib/node-esm/meta.json +1 -1
  84. package/dist/lib/node-esm/{react-root-KW3TGJGY.mjs → react-root-QRONKFKI.mjs} +13 -12
  85. package/dist/lib/node-esm/react-root-QRONKFKI.mjs.map +7 -0
  86. package/dist/lib/node-esm/{react-surface-UUIUUD6P.mjs → react-surface-OZBWNTW2.mjs} +81 -104
  87. package/dist/lib/node-esm/react-surface-OZBWNTW2.mjs.map +7 -0
  88. package/dist/lib/node-esm/{schema-defs-WHJM7UZE.mjs → schema-defs-5TDB7T5J.mjs} +5 -5
  89. package/dist/lib/node-esm/schema-defs-5TDB7T5J.mjs.map +7 -0
  90. package/dist/lib/node-esm/{settings-SAOBPND3.mjs → settings-RBB5633M.mjs} +5 -5
  91. package/dist/lib/node-esm/{settings-SAOBPND3.mjs.map → settings-RBB5633M.mjs.map} +1 -1
  92. package/dist/lib/node-esm/{spaces-ready-HIUKNDZK.mjs → spaces-ready-J6RWPI2X.mjs} +21 -18
  93. package/dist/lib/node-esm/spaces-ready-J6RWPI2X.mjs.map +7 -0
  94. package/dist/lib/node-esm/{state-ZVEHQ4BJ.mjs → state-362I5BMK.mjs} +7 -7
  95. package/dist/lib/node-esm/state-362I5BMK.mjs.map +7 -0
  96. package/dist/lib/node-esm/types/index.mjs +2 -2
  97. package/dist/types/src/SpacePlugin.d.ts +1 -1
  98. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  99. package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -1
  100. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  101. package/dist/types/src/capabilities/app-graph-serializer.d.ts +1 -1
  102. package/dist/types/src/capabilities/capabilities.d.ts +7 -6
  103. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  104. package/dist/types/src/capabilities/identity-created.d.ts +1 -1
  105. package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
  106. package/dist/types/src/capabilities/index.d.ts +11 -12
  107. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  108. package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
  109. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  110. package/dist/types/src/capabilities/react-root.d.ts +2 -2
  111. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  112. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  113. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  114. package/dist/types/src/capabilities/schema-defs.d.ts +1 -1
  115. package/dist/types/src/capabilities/schema-defs.d.ts.map +1 -1
  116. package/dist/types/src/capabilities/settings.d.ts +1 -1
  117. package/dist/types/src/capabilities/spaces-ready.d.ts +1 -1
  118. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  119. package/dist/types/src/capabilities/state.d.ts +1 -1
  120. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  121. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  122. package/dist/types/src/components/CollectionArticle.d.ts +6 -0
  123. package/dist/types/src/components/CollectionArticle.d.ts.map +1 -0
  124. package/dist/types/src/components/CollectionSection.d.ts +3 -4
  125. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  126. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +3 -3
  127. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  128. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +1694 -4
  129. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  130. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +7 -5
  131. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  132. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts +1 -1
  133. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  134. package/dist/types/src/components/{JoinDialog.d.ts → JoinDialog/JoinDialog.d.ts} +1 -1
  135. package/dist/types/src/components/JoinDialog/JoinDialog.d.ts.map +1 -0
  136. package/dist/types/src/components/JoinDialog/index.d.ts +2 -0
  137. package/dist/types/src/components/JoinDialog/index.d.ts.map +1 -0
  138. package/dist/types/src/components/{MembersContainer.d.ts → MembersContainer/MembersContainer.d.ts} +3 -2
  139. package/dist/types/src/components/MembersContainer/MembersContainer.d.ts.map +1 -0
  140. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts +1697 -0
  141. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts.map +1 -0
  142. package/dist/types/src/components/MembersContainer/index.d.ts +2 -0
  143. package/dist/types/src/components/MembersContainer/index.d.ts.map +1 -0
  144. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts +9 -0
  145. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts.map +1 -0
  146. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts +10 -0
  147. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts.map +1 -0
  148. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts +3 -0
  149. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts.map +1 -0
  150. package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts +7 -0
  151. package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -0
  152. package/dist/types/src/components/ObjectRenamePopover/index.d.ts +2 -0
  153. package/dist/types/src/components/ObjectRenamePopover/index.d.ts.map +1 -0
  154. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
  155. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +2 -2
  156. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
  157. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts +1530 -0
  158. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts.map +1 -0
  159. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts +1 -1
  160. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +1 -1
  161. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +1 -1
  162. package/dist/types/src/components/ObjectSettings/index.d.ts +2 -1
  163. package/dist/types/src/components/ObjectSettings/index.d.ts.map +1 -1
  164. package/dist/types/src/components/RecordArticle.d.ts +5 -0
  165. package/dist/types/src/components/RecordArticle.d.ts.map +1 -0
  166. package/dist/types/src/components/RecordArticle.stories.d.ts +1697 -0
  167. package/dist/types/src/components/RecordArticle.stories.d.ts.map +1 -0
  168. package/dist/types/src/components/SchemaContainer.d.ts +1 -1
  169. package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
  170. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  171. package/dist/types/src/components/{SpacePresence.d.ts → SpacePresence/SpacePresence.d.ts} +4 -3
  172. package/dist/types/src/components/SpacePresence/SpacePresence.d.ts.map +1 -0
  173. package/dist/types/src/components/SpacePresence/SpacePresence.stories.d.ts +1527 -0
  174. package/dist/types/src/components/SpacePresence/SpacePresence.stories.d.ts.map +1 -0
  175. package/dist/types/src/components/SpacePresence/index.d.ts +2 -0
  176. package/dist/types/src/components/SpacePresence/index.d.ts.map +1 -0
  177. package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts +7 -0
  178. package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -0
  179. package/dist/types/src/components/SpaceRenamePopover/index.d.ts +2 -0
  180. package/dist/types/src/components/SpaceRenamePopover/index.d.ts.map +1 -0
  181. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  182. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +1527 -4
  183. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
  184. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  185. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +1528 -5
  186. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  187. package/dist/types/src/components/ViewEditor.d.ts +3 -4
  188. package/dist/types/src/components/ViewEditor.d.ts.map +1 -1
  189. package/dist/types/src/components/index.d.ts +10 -11
  190. package/dist/types/src/components/index.d.ts.map +1 -1
  191. package/dist/types/src/events.d.ts.map +1 -1
  192. package/dist/types/src/helpers/index.d.ts +2 -0
  193. package/dist/types/src/helpers/index.d.ts.map +1 -0
  194. package/dist/types/src/helpers/query.d.ts +8 -0
  195. package/dist/types/src/helpers/query.d.ts.map +1 -0
  196. package/dist/types/src/helpers/query.test.d.ts +2 -0
  197. package/dist/types/src/helpers/query.test.d.ts.map +1 -0
  198. package/dist/types/src/hooks/index.d.ts +1 -0
  199. package/dist/types/src/hooks/index.d.ts.map +1 -1
  200. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
  201. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +1 -1
  202. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  203. package/dist/types/src/hooks/usePath.d.ts +1 -1
  204. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  205. package/dist/types/src/hooks/useTypeOptions.d.ts +10 -0
  206. package/dist/types/src/hooks/useTypeOptions.d.ts.map +1 -0
  207. package/dist/types/src/index.d.ts +1 -0
  208. package/dist/types/src/index.d.ts.map +1 -1
  209. package/dist/types/src/meta.d.ts +0 -1
  210. package/dist/types/src/meta.d.ts.map +1 -1
  211. package/dist/types/src/translations.d.ts +1326 -26
  212. package/dist/types/src/translations.d.ts.map +1 -1
  213. package/dist/types/src/types/types.d.ts +78 -96
  214. package/dist/types/src/types/types.d.ts.map +1 -1
  215. package/dist/types/src/util.d.ts +16 -11
  216. package/dist/types/src/util.d.ts.map +1 -1
  217. package/dist/types/tsconfig.tsbuildinfo +1 -1
  218. package/package.json +66 -59
  219. package/src/SpacePlugin.ts +230 -220
  220. package/src/capabilities/app-graph-builder.ts +201 -117
  221. package/src/capabilities/app-graph-serializer.ts +12 -12
  222. package/src/capabilities/capabilities.ts +19 -13
  223. package/src/capabilities/identity-created.ts +3 -3
  224. package/src/capabilities/index.ts +0 -1
  225. package/src/capabilities/intent-resolver.ts +81 -64
  226. package/src/capabilities/react-root.tsx +6 -4
  227. package/src/capabilities/react-surface.tsx +78 -140
  228. package/src/capabilities/schema-defs.ts +3 -2
  229. package/src/capabilities/spaces-ready.ts +16 -10
  230. package/src/capabilities/state.ts +5 -4
  231. package/src/components/AwaitingObject.tsx +12 -14
  232. package/src/components/{CollectionMain.tsx → CollectionArticle.tsx} +7 -6
  233. package/src/components/CollectionSection.tsx +8 -6
  234. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +17 -16
  235. package/src/components/CreateDialog/CreateObjectDialog.tsx +51 -33
  236. package/src/components/CreateDialog/CreateObjectPanel.tsx +24 -13
  237. package/src/components/CreateDialog/CreateSpaceDialog.tsx +30 -11
  238. package/src/components/{JoinDialog.tsx → JoinDialog/JoinDialog.tsx} +26 -10
  239. package/src/components/JoinDialog/index.ts +5 -0
  240. package/src/components/MembersContainer/MembersContainer.stories.tsx +56 -0
  241. package/src/components/{MembersContainer.tsx → MembersContainer/MembersContainer.tsx} +22 -21
  242. package/src/components/MembersContainer/index.ts +5 -0
  243. package/src/components/MenuFooter.tsx +2 -2
  244. package/src/components/ObjectDetailsPanel/ObjectDetailsPanel.tsx +51 -0
  245. package/src/components/ObjectDetailsPanel/ObjectForm.tsx +72 -0
  246. package/src/components/ObjectDetailsPanel/index.ts +7 -0
  247. package/src/components/{PopoverRenameObject.tsx → ObjectRenamePopover/ObjectRenamePopover.tsx} +10 -16
  248. package/src/components/ObjectRenamePopover/index.ts +5 -0
  249. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +4 -3
  250. package/src/components/ObjectSettings/BaseObjectSettings.stories.tsx +63 -0
  251. package/src/components/ObjectSettings/BaseObjectSettings.tsx +90 -26
  252. package/src/components/ObjectSettings/ForeignKeys.tsx +4 -4
  253. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +4 -3
  254. package/src/components/ObjectSettings/index.ts +3 -1
  255. package/src/components/RecordArticle.stories.tsx +115 -0
  256. package/src/components/RecordArticle.tsx +114 -0
  257. package/src/components/SchemaContainer.tsx +25 -28
  258. package/src/components/SpacePluginSettings.tsx +16 -11
  259. package/src/components/{SpacePresence.stories.tsx → SpacePresence/SpacePresence.stories.tsx} +24 -23
  260. package/src/components/{SpacePresence.tsx → SpacePresence/SpacePresence.tsx} +22 -17
  261. package/src/components/SpacePresence/index.ts +5 -0
  262. package/src/components/{PopoverRenameSpace.tsx → SpaceRenamePopover/SpaceRenamePopover.tsx} +7 -6
  263. package/src/components/SpaceRenamePopover/index.ts +5 -0
  264. package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +17 -9
  265. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +49 -28
  266. package/src/components/SyncStatus/InlineSyncStatus.tsx +8 -8
  267. package/src/components/SyncStatus/SyncStatus.stories.tsx +9 -9
  268. package/src/components/SyncStatus/SyncStatus.tsx +109 -12
  269. package/src/components/ViewEditor.tsx +51 -23
  270. package/src/components/index.ts +7 -7
  271. package/src/events.ts +7 -7
  272. package/src/helpers/index.ts +5 -0
  273. package/src/helpers/query.test.ts +24 -0
  274. package/src/helpers/query.ts +158 -0
  275. package/src/hooks/index.ts +1 -0
  276. package/src/hooks/useActiveSpace.ts +3 -2
  277. package/src/hooks/useInputSurfaceLookup.tsx +8 -3
  278. package/src/hooks/usePath.ts +1 -1
  279. package/src/hooks/useTypeOptions.ts +59 -0
  280. package/src/index.ts +1 -0
  281. package/src/meta.ts +6 -3
  282. package/src/translations.ts +29 -14
  283. package/src/types/types.ts +31 -22
  284. package/src/util.tsx +131 -66
  285. package/dist/lib/browser/CollectionMain-D2B75XBS.mjs.map +0 -7
  286. package/dist/lib/browser/ObjectDetailsPanel-YPTDQKMG.mjs +0 -88
  287. package/dist/lib/browser/ObjectDetailsPanel-YPTDQKMG.mjs.map +0 -7
  288. package/dist/lib/browser/app-graph-builder-7CZZJS3S.mjs.map +0 -7
  289. package/dist/lib/browser/app-graph-serializer-H6AW7KGS.mjs.map +0 -7
  290. package/dist/lib/browser/chunk-CEFHNVU7.mjs +0 -20
  291. package/dist/lib/browser/chunk-CEFHNVU7.mjs.map +0 -7
  292. package/dist/lib/browser/chunk-FBCGT5YY.mjs +0 -13
  293. package/dist/lib/browser/chunk-FBCGT5YY.mjs.map +0 -7
  294. package/dist/lib/browser/chunk-JS3MMC42.mjs +0 -19
  295. package/dist/lib/browser/chunk-JS3MMC42.mjs.map +0 -7
  296. package/dist/lib/browser/chunk-QACNNDOT.mjs.map +0 -7
  297. package/dist/lib/browser/chunk-SGTQ52SU.mjs.map +0 -7
  298. package/dist/lib/browser/chunk-V7MJSSBQ.mjs.map +0 -7
  299. package/dist/lib/browser/chunk-VLBRSGJ2.mjs +0 -94
  300. package/dist/lib/browser/chunk-VLBRSGJ2.mjs.map +0 -7
  301. package/dist/lib/browser/chunk-XUYKJUU7.mjs.map +0 -7
  302. package/dist/lib/browser/identity-created-23XJJV2N.mjs.map +0 -7
  303. package/dist/lib/browser/intent-resolver-TIXVDYN7.mjs.map +0 -7
  304. package/dist/lib/browser/react-root-N2J7TDRX.mjs +0 -29
  305. package/dist/lib/browser/react-root-N2J7TDRX.mjs.map +0 -7
  306. package/dist/lib/browser/react-surface-TPNLWJJH.mjs.map +0 -7
  307. package/dist/lib/browser/schema-defs-Z6FC4AHC.mjs.map +0 -7
  308. package/dist/lib/browser/schema-tools-BNP4JTD7.mjs +0 -124
  309. package/dist/lib/browser/schema-tools-BNP4JTD7.mjs.map +0 -7
  310. package/dist/lib/browser/spaces-ready-TOPG6IV4.mjs.map +0 -7
  311. package/dist/lib/browser/state-QYZAB45H.mjs.map +0 -7
  312. package/dist/lib/node-esm/CollectionMain-ZJIFCWKZ.mjs.map +0 -7
  313. package/dist/lib/node-esm/ObjectDetailsPanel-QKZEDSZK.mjs +0 -89
  314. package/dist/lib/node-esm/ObjectDetailsPanel-QKZEDSZK.mjs.map +0 -7
  315. package/dist/lib/node-esm/app-graph-builder-KGIGWC72.mjs.map +0 -7
  316. package/dist/lib/node-esm/app-graph-serializer-2ICUGQQT.mjs.map +0 -7
  317. package/dist/lib/node-esm/chunk-4AOMYKDE.mjs.map +0 -7
  318. package/dist/lib/node-esm/chunk-5HHYE264.mjs +0 -20
  319. package/dist/lib/node-esm/chunk-5HHYE264.mjs.map +0 -7
  320. package/dist/lib/node-esm/chunk-5T3ZH23B.mjs +0 -21
  321. package/dist/lib/node-esm/chunk-5T3ZH23B.mjs.map +0 -7
  322. package/dist/lib/node-esm/chunk-6X5DLJM5.mjs.map +0 -7
  323. package/dist/lib/node-esm/chunk-HWNG4MEU.mjs +0 -15
  324. package/dist/lib/node-esm/chunk-HWNG4MEU.mjs.map +0 -7
  325. package/dist/lib/node-esm/chunk-JH6F4C3I.mjs.map +0 -7
  326. package/dist/lib/node-esm/chunk-P442DOQ3.mjs.map +0 -7
  327. package/dist/lib/node-esm/chunk-SSLBYZEY.mjs +0 -96
  328. package/dist/lib/node-esm/chunk-SSLBYZEY.mjs.map +0 -7
  329. package/dist/lib/node-esm/identity-created-IJQO6GCR.mjs.map +0 -7
  330. package/dist/lib/node-esm/intent-resolver-MHGHRGDT.mjs.map +0 -7
  331. package/dist/lib/node-esm/react-root-KW3TGJGY.mjs.map +0 -7
  332. package/dist/lib/node-esm/react-surface-UUIUUD6P.mjs.map +0 -7
  333. package/dist/lib/node-esm/schema-defs-WHJM7UZE.mjs.map +0 -7
  334. package/dist/lib/node-esm/schema-tools-KWW5PTML.mjs +0 -126
  335. package/dist/lib/node-esm/schema-tools-KWW5PTML.mjs.map +0 -7
  336. package/dist/lib/node-esm/spaces-ready-HIUKNDZK.mjs.map +0 -7
  337. package/dist/lib/node-esm/state-ZVEHQ4BJ.mjs.map +0 -7
  338. package/dist/types/src/capabilities/schema-tool.test.d.ts +0 -2
  339. package/dist/types/src/capabilities/schema-tool.test.d.ts.map +0 -1
  340. package/dist/types/src/capabilities/schema-tools.d.ts +0 -13
  341. package/dist/types/src/capabilities/schema-tools.d.ts.map +0 -1
  342. package/dist/types/src/components/CollectionMain.d.ts +0 -7
  343. package/dist/types/src/components/CollectionMain.d.ts.map +0 -1
  344. package/dist/types/src/components/JoinDialog.d.ts.map +0 -1
  345. package/dist/types/src/components/MembersContainer.d.ts.map +0 -1
  346. package/dist/types/src/components/MembersContainer.stories.d.ts +0 -8
  347. package/dist/types/src/components/MembersContainer.stories.d.ts.map +0 -1
  348. package/dist/types/src/components/ObjectDetailsPanel.d.ts +0 -9
  349. package/dist/types/src/components/ObjectDetailsPanel.d.ts.map +0 -1
  350. package/dist/types/src/components/PersistenceStatus.d.ts +0 -6
  351. package/dist/types/src/components/PersistenceStatus.d.ts.map +0 -1
  352. package/dist/types/src/components/PopoverRenameObject.d.ts +0 -7
  353. package/dist/types/src/components/PopoverRenameObject.d.ts.map +0 -1
  354. package/dist/types/src/components/PopoverRenameSpace.d.ts +0 -7
  355. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +0 -1
  356. package/dist/types/src/components/SpacePresence.d.ts.map +0 -1
  357. package/dist/types/src/components/SpacePresence.stories.d.ts +0 -9
  358. package/dist/types/src/components/SpacePresence.stories.d.ts.map +0 -1
  359. package/src/capabilities/schema-tool.test.ts +0 -44
  360. package/src/capabilities/schema-tools.ts +0 -125
  361. package/src/components/MembersContainer.stories.tsx +0 -30
  362. package/src/components/ObjectDetailsPanel.tsx +0 -77
  363. package/src/components/PersistenceStatus.tsx +0 -83
@@ -2,28 +2,34 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { type Schema } from 'effect';
5
+ import type * as Schema from 'effect/Schema';
6
6
 
7
- import { type AnyIntentChain, defineCapability, type Label } from '@dxos/app-framework';
7
+ import { type AnyIntentChain, type Label, defineCapability } from '@dxos/app-framework';
8
8
  import { type Space } from '@dxos/react-client/echo';
9
- import { type DataType } from '@dxos/schema';
10
- import { type Position, type DeepReadonly } from '@dxos/util';
9
+ import { type Collection } from '@dxos/schema';
10
+ import { type DeepReadonly, type Position } from '@dxos/util';
11
11
 
12
- import { SPACE_PLUGIN } from '../meta';
12
+ import { meta } from '../meta';
13
13
  import { type ObjectForm, type PluginState } from '../types';
14
14
 
15
15
  export namespace SpaceCapabilities {
16
- export const State = defineCapability<DeepReadonly<PluginState>>(`${SPACE_PLUGIN}/capability/state`);
17
- export const MutableState = defineCapability<PluginState>(`${SPACE_PLUGIN}/capability/state`);
16
+ export const State = defineCapability<DeepReadonly<PluginState>>(`${meta.id}/capability/state`);
17
+ export const MutableState = defineCapability<PluginState>(`${meta.id}/capability/state`);
18
18
 
19
19
  export type SettingsSection = { id: string; label: Label; position?: Position };
20
- export const SettingsSection = defineCapability<SettingsSection>(`${SPACE_PLUGIN}/capability/settings-section`);
20
+ export const SettingsSection = defineCapability<SettingsSection>(`${meta.id}/capability/settings-section`);
21
21
 
22
- export type OnSpaceCreated = (params: { space: Space; rootCollection: DataType.Collection }) => AnyIntentChain;
23
- export const OnSpaceCreated = defineCapability<OnSpaceCreated>(`${SPACE_PLUGIN}/capability/on-space-created`);
22
+ export type onCreateSpace = (params: { space: Space; rootCollection: Collection.Collection }) => AnyIntentChain;
23
+ export const onCreateSpace = defineCapability<onCreateSpace>(`${meta.id}/capability/on-space-created`);
24
24
 
25
- export type OnSchemaAdded = (params: { space: Space; schema: Schema.Schema.AnyNoContext }) => AnyIntentChain;
26
- export const OnSchemaAdded = defineCapability<OnSchemaAdded>(`${SPACE_PLUGIN}/capability/on-schema-added`);
25
+ export type OnSchemaAdded = (params: {
26
+ space: Space;
27
+ schema: Schema.Schema.AnyNoContext;
28
+ // TODO(wittjosiah): This is leaky.
29
+ show?: boolean;
30
+ }) => AnyIntentChain;
31
+ export const OnSchemaAdded = defineCapability<OnSchemaAdded>(`${meta.id}/capability/on-schema-added`);
27
32
 
28
- export const ObjectForm = defineCapability<ObjectForm<any>>(`${SPACE_PLUGIN}/capability/object-form`);
33
+ // TODO(burdon): Should this be view? Forms are UI concepts? (associated with a View/schema).
34
+ export const ObjectForm = defineCapability<ObjectForm<any>>(`${meta.id}/capability/object-form`);
29
35
  }
@@ -2,11 +2,11 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { contributes, type PluginContext, Capabilities } from '@dxos/app-framework';
5
+ import { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';
6
6
  import { Obj, Ref } from '@dxos/echo';
7
7
  import { Migrations } from '@dxos/migrations';
8
8
  import { ClientCapabilities } from '@dxos/plugin-client';
9
- import { DataType } from '@dxos/schema';
9
+ import { Collection } from '@dxos/schema';
10
10
 
11
11
  export default async (context: PluginContext) => {
12
12
  const client = context.getCapability(ClientCapabilities.Client);
@@ -16,7 +16,7 @@ export default async (context: PluginContext) => {
16
16
  await defaultSpace.waitUntilReady();
17
17
 
18
18
  // Create root collection structure.
19
- defaultSpace.properties[DataType.Collection.typename] = Ref.make(Obj.make(DataType.Collection, { objects: [] }));
19
+ defaultSpace.properties[Collection.Collection.typename] = Ref.make(Obj.make(Collection.Collection, { objects: [] }));
20
20
  if (Migrations.versionProperty) {
21
21
  defaultSpace.properties[Migrations.versionProperty] = Migrations.targetVersion;
22
22
  }
@@ -11,7 +11,6 @@ export const IntentResolver = lazy(() => import('./intent-resolver'));
11
11
  export const ReactRoot = lazy(() => import('./react-root'));
12
12
  export const ReactSurface = lazy(() => import('./react-surface'));
13
13
  export const SchemaDefs = lazy(() => import('./schema-defs'));
14
- export const SchemaTools = lazy(() => import('./schema-tools'));
15
14
  export const SpaceSettings = lazy(() => import('./settings'));
16
15
  export const SpaceState = lazy(() => import('./state'));
17
16
  export const SpacesReady = lazy(() => import('./spaces-ready'));
@@ -2,7 +2,7 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { Effect } from 'effect';
5
+ import * as Effect from 'effect/Effect';
6
6
 
7
7
  import {
8
8
  Capabilities,
@@ -12,31 +12,35 @@ import {
12
12
  createIntent,
13
13
  createResolver,
14
14
  } from '@dxos/app-framework';
15
- import { Obj, Ref, Relation, Type } from '@dxos/echo';
15
+ import { Filter, Obj, Query, Ref, Relation, Type } from '@dxos/echo';
16
+ import { DatabaseService } from '@dxos/functions';
16
17
  import { invariant } from '@dxos/invariant';
17
18
  import { Migrations } from '@dxos/migrations';
18
19
  import { ClientCapabilities } from '@dxos/plugin-client';
19
20
  import { ObservabilityAction } from '@dxos/plugin-observability/types';
20
21
  import { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';
21
- import { isSpace, getSpace, SpaceState, fullyQualifiedId } from '@dxos/react-client/echo';
22
+ import { SpaceState, getSpace, isSpace } from '@dxos/react-client/echo';
22
23
  import { Invitation, InvitationEncoder } from '@dxos/react-client/invitations';
23
24
  import { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';
24
- import { DataType, ProjectionModel } from '@dxos/schema';
25
+ import { iconValues } from '@dxos/react-ui-pickers';
26
+ import { hues } from '@dxos/react-ui-theme';
27
+ import { Collection, ProjectionModel, StoredSchema, getTypenameFromQuery } from '@dxos/schema';
25
28
 
26
- import { SpaceCapabilities } from './capabilities';
27
29
  import {
28
30
  CREATE_OBJECT_DIALOG,
29
31
  CREATE_SPACE_DIALOG,
30
- JOIN_DIALOG,
31
- POPOVER_RENAME_OBJECT,
32
- POPOVER_RENAME_SPACE,
33
32
  type CreateObjectDialogProps,
33
+ JOIN_DIALOG,
34
34
  type JoinDialogProps,
35
+ OBJECT_RENAME_POPOVER,
36
+ SPACE_RENAME_POPOVER,
35
37
  } from '../components';
36
38
  import { SpaceEvents } from '../events';
37
- import { SPACE_PLUGIN } from '../meta';
39
+ import { meta } from '../meta';
38
40
  import { CollectionAction, SpaceAction } from '../types';
39
- import { cloneObject, COMPOSER_SPACE_LOCK, getNestedObjects } from '../util';
41
+ import { COMPOSER_SPACE_LOCK, cloneObject, getNestedObjects } from '../util';
42
+
43
+ import { SpaceCapabilities } from './capabilities';
40
44
 
41
45
  // TODO(wittjosiah): Remove.
42
46
  const SPACE_MAX_OBJECTS = 500;
@@ -68,8 +72,10 @@ export default ({ context, observability, createInvitationUrl }: IntentResolverO
68
72
  }),
69
73
  createResolver({
70
74
  intent: SpaceAction.Create,
71
- resolve: async ({ name, hue, icon, edgeReplication }) => {
75
+ resolve: async ({ name, hue: hue_, icon: icon_, edgeReplication }) => {
72
76
  const client = context.getCapability(ClientCapabilities.Client);
77
+ const hue = hue_ ?? hues[Math.floor(Math.random() * hues.length)];
78
+ const icon = icon_ ?? iconValues[Math.floor(Math.random() * iconValues.length)];
73
79
  const space = await client.spaces.create({ name, hue, icon });
74
80
  if (edgeReplication) {
75
81
  await space.internal.setEdgeReplicationPreference(EdgeReplicationSetting.ENABLED);
@@ -77,8 +83,8 @@ export default ({ context, observability, createInvitationUrl }: IntentResolverO
77
83
  await space.waitUntilReady();
78
84
 
79
85
  // Create root collection.
80
- const collection = Obj.make(DataType.Collection, { objects: [] });
81
- space.properties[DataType.Collection.typename] = Ref.make(collection);
86
+ const collection = Obj.make(Collection.Collection, { objects: [] });
87
+ space.properties[Collection.Collection.typename] = Ref.make(collection);
82
88
 
83
89
  // Set current migration version.
84
90
  if (Migrations.versionProperty) {
@@ -86,16 +92,20 @@ export default ({ context, observability, createInvitationUrl }: IntentResolverO
86
92
  }
87
93
 
88
94
  // Create records smart collection.
89
- const records = Obj.make(DataType.QueryCollection, {
90
- query: { typename: DataType.StoredSchema.typename },
91
- });
92
- collection.objects.push(Ref.make(records));
95
+ collection.objects.push(
96
+ Ref.make(
97
+ Obj.make(Collection.QueryCollection, {
98
+ // NOTE: This is specifically Filter.typename due to current limitations in query collection parsing.
99
+ query: Query.select(Filter.typename(StoredSchema.typename)).ast,
100
+ }),
101
+ ),
102
+ );
93
103
 
94
104
  // Allow other plugins to add default content.
95
105
  await context.activatePromise(SpaceEvents.SpaceCreated);
96
- const onSpaceCreatedCallbacks = context.getCapabilities(SpaceCapabilities.OnSpaceCreated);
97
- const spaceCreatedIntents = onSpaceCreatedCallbacks.map((onSpaceCreated) =>
98
- onSpaceCreated({ space, rootCollection: collection }),
106
+ const onCreateSpaceCallbacks = context.getCapabilities(SpaceCapabilities.onCreateSpace);
107
+ const spaceCreatedIntents = onCreateSpaceCallbacks.map((onCreateSpace) =>
108
+ onCreateSpace({ space, rootCollection: collection }),
99
109
  );
100
110
 
101
111
  return {
@@ -253,7 +263,7 @@ export default ({ context, observability, createInvitationUrl }: IntentResolverO
253
263
  intents: [
254
264
  createIntent(LayoutAction.UpdatePopover, {
255
265
  part: 'popover',
256
- subject: POPOVER_RENAME_SPACE,
266
+ subject: SPACE_RENAME_POPOVER,
257
267
  options: {
258
268
  anchorId: `dxos.org/ui/${caller}/${space.id}`,
259
269
  props: space,
@@ -322,7 +332,7 @@ export default ({ context, observability, createInvitationUrl }: IntentResolverO
322
332
  }),
323
333
  createResolver({
324
334
  intent: SpaceAction.UseStaticSchema,
325
- resolve: async ({ space, typename }) => {
335
+ resolve: async ({ space, typename, show }) => {
326
336
  const client = context.getCapability(ClientCapabilities.Client);
327
337
  const schema = client.graph.schemaRegistry.schemas.find((schema) => Type.getTypename(schema) === typename);
328
338
  invariant(schema, `Schema not found: ${typename}`);
@@ -337,7 +347,7 @@ export default ({ context, observability, createInvitationUrl }: IntentResolverO
337
347
 
338
348
  await context.activatePromise(SpaceEvents.SchemaAdded);
339
349
  const onSchemaAdded = context.getCapabilities(SpaceCapabilities.OnSchemaAdded);
340
- const schemaAddedIntents = onSchemaAdded.map((onSchemaAdded) => onSchemaAdded({ space, schema }));
350
+ const schemaAddedIntents = onSchemaAdded.map((onSchemaAdded) => onSchemaAdded({ space, schema, show }));
341
351
 
342
352
  return {
343
353
  data: {},
@@ -360,15 +370,21 @@ export default ({ context, observability, createInvitationUrl }: IntentResolverO
360
370
  }),
361
371
  createResolver({
362
372
  intent: SpaceAction.AddSchema,
363
- resolve: async ({ space, name, schema: schemaInput }) => {
373
+ resolve: async ({ space, name, typename, version, schema: schemaInput, show }) => {
364
374
  const [schema] = await space.db.schemaRegistry.register([schemaInput]);
365
375
  if (name) {
366
376
  schema.storedSchema.name = name;
367
377
  }
378
+ if (typename) {
379
+ schema.storedSchema.typename = typename;
380
+ }
381
+ if (version) {
382
+ schema.storedSchema.version = version;
383
+ }
368
384
 
369
385
  await context.activatePromise(SpaceEvents.SchemaAdded);
370
386
  const onSchemaAdded = context.getCapabilities(SpaceCapabilities.OnSchemaAdded);
371
- const schemaAddedIntents = onSchemaAdded.map((onSchemaAdded) => onSchemaAdded({ space, schema }));
387
+ const schemaAddedIntents = onSchemaAdded.map((onSchemaAdded) => onSchemaAdded({ space, schema, show }));
372
388
 
373
389
  return {
374
390
  data: {
@@ -399,15 +415,16 @@ export default ({ context, observability, createInvitationUrl }: IntentResolverO
399
415
  resolve: async ({ view, fieldId, deletionData }, undo) => {
400
416
  const space = getSpace(view);
401
417
  invariant(space);
402
- invariant(view.query.typename);
403
- const schema = await space.db.schemaRegistry.query({ typename: view.query.typename }).firstOrUndefined();
418
+ const typename = getTypenameFromQuery(view.query.ast);
419
+ invariant(typename);
420
+ const schema = await space.db.schemaRegistry.query({ typename }).firstOrUndefined();
404
421
  invariant(schema);
405
422
  const projection = new ProjectionModel(schema.jsonSchema, view.projection);
406
423
  if (!undo) {
407
424
  const { deleted, index } = projection.deleteFieldProjection(fieldId);
408
425
  return {
409
426
  undoable: {
410
- message: ['field deleted label', { ns: SPACE_PLUGIN }],
427
+ message: ['field deleted label', { ns: meta.id }],
411
428
  data: { deletionData: { ...deleted, index } },
412
429
  },
413
430
  };
@@ -419,7 +436,7 @@ export default ({ context, observability, createInvitationUrl }: IntentResolverO
419
436
  }),
420
437
  createResolver({
421
438
  intent: SpaceAction.OpenCreateObject,
422
- resolve: ({ target, typename, navigable = true, onCreateObject }) => {
439
+ resolve: ({ target, views, typename, initialFormValues, navigable = true, onCreateObject }) => {
423
440
  const state = context.getCapability(SpaceCapabilities.State);
424
441
 
425
442
  return {
@@ -431,12 +448,14 @@ export default ({ context, observability, createInvitationUrl }: IntentResolverO
431
448
  blockAlign: 'start',
432
449
  props: {
433
450
  target,
451
+ views,
434
452
  typename,
453
+ initialFormValues,
435
454
  onCreateObject,
436
455
  shouldNavigate: navigable
437
456
  ? (object: Obj.Any) => {
438
- const isCollection = Obj.instanceOf(DataType.Collection, object);
439
- const isQueryCollection = Obj.instanceOf(DataType.QueryCollection, object);
457
+ const isCollection = Obj.instanceOf(Collection.Collection, object);
458
+ const isQueryCollection = Obj.instanceOf(Collection.QueryCollection, object);
440
459
  return (!isCollection && !isQueryCollection) || state.navigableCollections;
441
460
  }
442
461
  : () => false,
@@ -460,13 +479,13 @@ export default ({ context, observability, createInvitationUrl }: IntentResolverO
460
479
  createIntent(LayoutAction.AddToast, {
461
480
  part: 'toast',
462
481
  subject: {
463
- id: `${SPACE_PLUGIN}/space-limit`,
464
- title: ['space limit label', { ns: SPACE_PLUGIN }],
465
- description: ['space limit description', { ns: SPACE_PLUGIN }],
482
+ id: `${meta.id}/space-limit`,
483
+ title: ['space limit label', { ns: meta.id }],
484
+ description: ['space limit description', { ns: meta.id }],
466
485
  duration: 5_000,
467
486
  icon: 'ph--warning--regular',
468
- actionLabel: ['remove deleted objects label', { ns: SPACE_PLUGIN }],
469
- actionAlt: ['remove deleted objects alt', { ns: SPACE_PLUGIN }],
487
+ actionLabel: ['remove deleted objects label', { ns: meta.id }],
488
+ actionAlt: ['remove deleted objects alt', { ns: meta.id }],
470
489
  closeLabel: ['close label', { ns: 'os' }],
471
490
  onAction: () => space.db.coreDatabase.unlinkDeletedObjects(),
472
491
  },
@@ -485,25 +504,18 @@ export default ({ context, observability, createInvitationUrl }: IntentResolverO
485
504
  };
486
505
  }
487
506
 
488
- if (Obj.instanceOf(DataType.Collection, target)) {
489
- target.objects.push(Ref.make(object));
490
- } else if (isSpace(target) && hidden) {
491
- space.db.add(object);
492
- } else if (isSpace(target)) {
493
- const collection = space.properties[DataType.Collection.typename]?.target;
494
- if (Obj.instanceOf(DataType.Collection, collection)) {
495
- collection.objects.push(Ref.make(object));
496
- } else {
497
- // TODO(wittjosiah): Can't add non-echo objects by including in a collection because of types.
498
- const collection = Obj.make(DataType.Collection, { objects: [Ref.make(object)] });
499
- space.properties[DataType.Collection.typename] = Ref.make(collection);
500
- }
501
- }
507
+ await Effect.gen(function* () {
508
+ yield* Collection.add({
509
+ object,
510
+ target: isSpace(target) ? undefined : target,
511
+ hidden,
512
+ });
513
+ }).pipe(Effect.provide(DatabaseService.layer(space.db)), Effect.runPromise);
502
514
 
503
515
  return {
504
516
  data: {
505
- id: fullyQualifiedId(object),
506
- subject: [fullyQualifiedId(object)],
517
+ id: Obj.getDXN(object).toString(),
518
+ subject: [Obj.getDXN(object).toString()],
507
519
  object,
508
520
  },
509
521
  intents: [
@@ -552,26 +564,26 @@ export default ({ context, observability, createInvitationUrl }: IntentResolverO
552
564
  const openObjectIds = new Set<string>(layout.active);
553
565
 
554
566
  if (!undo) {
555
- const parentCollection: DataType.Collection =
556
- target ?? space.properties[DataType.Collection.typename]?.target;
567
+ const parentCollection: Collection.Collection =
568
+ target ?? space.properties[Collection.Collection.typename]?.target;
557
569
  const nestedObjectsList = await Promise.all(objects.map((obj) => getNestedObjects(obj, resolve)));
558
570
 
559
571
  const deletionData = {
560
572
  objects,
561
573
  parentCollection,
562
574
  indices: objects.map((obj) =>
563
- Obj.instanceOf(DataType.Collection, parentCollection)
575
+ Obj.instanceOf(Collection.Collection, parentCollection)
564
576
  ? parentCollection.objects.findIndex((object) => object.target === obj)
565
577
  : -1,
566
578
  ),
567
579
  nestedObjectsList,
568
580
  wasActive: objects
569
581
  .flatMap((obj, i) => [obj, ...nestedObjectsList[i]])
570
- .map((obj) => fullyQualifiedId(obj))
582
+ .map((obj) => Obj.getDXN(obj).toString())
571
583
  .filter((id) => openObjectIds.has(id)),
572
584
  } satisfies SpaceAction.DeletionData;
573
585
 
574
- if (Obj.instanceOf(DataType.Collection, deletionData.parentCollection)) {
586
+ if (Obj.instanceOf(Collection.Collection, deletionData.parentCollection)) {
575
587
  [...deletionData.indices]
576
588
  .sort((a, b) => b - a)
577
589
  .forEach((index: number) => {
@@ -586,7 +598,7 @@ export default ({ context, observability, createInvitationUrl }: IntentResolverO
586
598
  });
587
599
  objects.forEach((obj) => space.db.remove(obj));
588
600
 
589
- const undoMessageKey = objects.some((obj) => Obj.instanceOf(DataType.Collection, obj))
601
+ const undoMessageKey = objects.some((obj) => Obj.instanceOf(Collection.Collection, obj))
590
602
  ? 'collection deleted label'
591
603
  : objects.length > 1
592
604
  ? 'objects deleted label'
@@ -595,7 +607,7 @@ export default ({ context, observability, createInvitationUrl }: IntentResolverO
595
607
  return {
596
608
  undoable: {
597
609
  // TODO(ZaymonFC): Pluralize if more than one object.
598
- message: [undoMessageKey, { ns: SPACE_PLUGIN }],
610
+ message: [undoMessageKey, { ns: meta.id }],
599
611
  data: { deletionData },
600
612
  },
601
613
  intents:
@@ -613,7 +625,7 @@ export default ({ context, observability, createInvitationUrl }: IntentResolverO
613
625
  if (
614
626
  deletionData?.objects?.length &&
615
627
  deletionData.objects.every(Obj.isObject) &&
616
- Obj.instanceOf(DataType.Collection, deletionData.parentCollection)
628
+ Obj.instanceOf(Collection.Collection, deletionData.parentCollection)
617
629
  ) {
618
630
  // Restore the object to the space.
619
631
  const restoredObjects = deletionData.objects.map((obj: Type.Expando) => space.db.add(obj));
@@ -650,9 +662,9 @@ export default ({ context, observability, createInvitationUrl }: IntentResolverO
650
662
  intents: [
651
663
  createIntent(LayoutAction.UpdatePopover, {
652
664
  part: 'popover',
653
- subject: POPOVER_RENAME_OBJECT,
665
+ subject: OBJECT_RENAME_POPOVER,
654
666
  options: {
655
- anchorId: `dxos.org/ui/${caller}/${fullyQualifiedId(object)}`,
667
+ anchorId: `dxos.org/ui/${caller}/${Obj.getDXN(object).toString()}`,
656
668
  props: object,
657
669
  },
658
670
  }),
@@ -681,13 +693,18 @@ export default ({ context, observability, createInvitationUrl }: IntentResolverO
681
693
  createResolver({
682
694
  intent: CollectionAction.Create,
683
695
  resolve: async ({ name }) => ({
684
- data: { object: Obj.make(DataType.Collection, { name, objects: [] }) },
696
+ data: { object: Obj.make(Collection.Collection, { name, objects: [] }) },
685
697
  }),
686
698
  }),
687
699
  createResolver({
688
700
  intent: CollectionAction.CreateQueryCollection,
689
701
  resolve: async ({ name, typename }) => ({
690
- data: { object: Obj.make(DataType.QueryCollection, { name, query: { typename } }) },
702
+ data: {
703
+ object: Obj.make(Collection.QueryCollection, {
704
+ name,
705
+ query: Query.select(Filter.typename(typename)).ast,
706
+ }),
707
+ },
691
708
  }),
692
709
  }),
693
710
  ]);
@@ -4,15 +4,17 @@
4
4
 
5
5
  import React from 'react';
6
6
 
7
- import { Capabilities, contributes, useCapability } from '@dxos/app-framework';
7
+ import { Capabilities, contributes } from '@dxos/app-framework';
8
+ import { useCapability } from '@dxos/app-framework/react';
8
9
 
9
- import { SpaceCapabilities } from './capabilities';
10
10
  import { AwaitingObject } from '../components';
11
- import { SPACE_PLUGIN } from '../meta';
11
+ import { meta } from '../meta';
12
+
13
+ import { SpaceCapabilities } from './capabilities';
12
14
 
13
15
  export default () =>
14
16
  contributes(Capabilities.ReactRoot, {
15
- id: SPACE_PLUGIN,
17
+ id: meta.id,
16
18
  root: () => {
17
19
  const state = useCapability(SpaceCapabilities.State);
18
20
  return state.awaiting ? <AwaitingObject id={state.awaiting} /> : null;