@dxos/plugin-space 0.8.4-main.67995b8 → 0.8.4-main.72ec0f3

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-WTHWY4YS.mjs} +10 -10
  2. package/dist/lib/browser/CollectionArticle-WTHWY4YS.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-SXDRWTTU.mjs +116 -0
  8. package/dist/lib/browser/RecordArticle-SXDRWTTU.mjs.map +7 -0
  9. package/dist/lib/browser/{app-graph-builder-V3MP3CDK.mjs → app-graph-builder-VQAB3GCQ.mjs} +138 -90
  10. package/dist/lib/browser/app-graph-builder-VQAB3GCQ.mjs.map +7 -0
  11. package/dist/lib/browser/{app-graph-serializer-H6AW7KGS.mjs → app-graph-serializer-KSLKMEPP.mjs} +19 -19
  12. package/dist/lib/browser/app-graph-serializer-KSLKMEPP.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-XUYKJUU7.mjs → chunk-ERQMHU7L.mjs} +124 -63
  14. package/dist/lib/browser/chunk-ERQMHU7L.mjs.map +7 -0
  15. package/dist/lib/browser/{chunk-FBJEXW54.mjs → chunk-J2BUK5E6.mjs} +587 -513
  16. package/dist/lib/browser/chunk-J2BUK5E6.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-K5J7ZB5P.mjs +20 -0
  18. package/dist/lib/browser/chunk-K5J7ZB5P.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-QACNNDOT.mjs → chunk-OLBBSOVI.mjs} +30 -17
  22. package/dist/lib/browser/chunk-OLBBSOVI.mjs.map +7 -0
  23. package/dist/lib/browser/chunk-PU5IOFMG.mjs +167 -0
  24. package/dist/lib/browser/chunk-PU5IOFMG.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 +91 -91
  32. package/dist/lib/browser/index.mjs.map +3 -3
  33. package/dist/lib/browser/{intent-resolver-XHGD73WZ.mjs → intent-resolver-Q2XWHAVA.mjs} +87 -85
  34. package/dist/lib/browser/intent-resolver-Q2XWHAVA.mjs.map +7 -0
  35. package/dist/lib/browser/meta.json +1 -1
  36. package/dist/lib/browser/react-root-MM4HADPE.mjs +30 -0
  37. package/dist/lib/browser/react-root-MM4HADPE.mjs.map +7 -0
  38. package/dist/lib/browser/{react-surface-YWZZQF7H.mjs → react-surface-SGZC3Y4U.mjs} +81 -105
  39. package/dist/lib/browser/react-surface-SGZC3Y4U.mjs.map +7 -0
  40. package/dist/lib/browser/{schema-defs-Z6FC4AHC.mjs → schema-defs-QPI2JU3X.mjs} +6 -6
  41. package/dist/lib/browser/schema-defs-QPI2JU3X.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-C5QC2UFL.mjs} +21 -18
  45. package/dist/lib/browser/spaces-ready-C5QC2UFL.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-KHXYT3SH.mjs} +10 -10
  50. package/dist/lib/node-esm/CollectionArticle-KHXYT3SH.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-NACBH42P.mjs +117 -0
  56. package/dist/lib/node-esm/RecordArticle-NACBH42P.mjs.map +7 -0
  57. package/dist/lib/node-esm/{app-graph-builder-SG4VECBB.mjs → app-graph-builder-24JCLJPX.mjs} +138 -90
  58. package/dist/lib/node-esm/app-graph-builder-24JCLJPX.mjs.map +7 -0
  59. package/dist/lib/node-esm/{app-graph-serializer-2ICUGQQT.mjs → app-graph-serializer-R723K764.mjs} +19 -19
  60. package/dist/lib/node-esm/app-graph-serializer-R723K764.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-H4JILUJK.mjs +20 -0
  66. package/dist/lib/node-esm/chunk-H4JILUJK.mjs.map +7 -0
  67. package/dist/lib/node-esm/{chunk-2A3VBXBP.mjs → chunk-ITQFSFQ3.mjs} +587 -513
  68. package/dist/lib/node-esm/chunk-ITQFSFQ3.mjs.map +7 -0
  69. package/dist/lib/node-esm/chunk-TJPQDQNI.mjs +168 -0
  70. package/dist/lib/node-esm/chunk-TJPQDQNI.mjs.map +7 -0
  71. package/dist/lib/node-esm/{chunk-4AOMYKDE.mjs → chunk-VH2EBZEV.mjs} +124 -63
  72. package/dist/lib/node-esm/chunk-VH2EBZEV.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 +91 -91
  80. package/dist/lib/node-esm/index.mjs.map +3 -3
  81. package/dist/lib/node-esm/{intent-resolver-LEANKSKZ.mjs → intent-resolver-YK4ESSET.mjs} +87 -85
  82. package/dist/lib/node-esm/intent-resolver-YK4ESSET.mjs.map +7 -0
  83. package/dist/lib/node-esm/meta.json +1 -1
  84. package/dist/lib/node-esm/{react-root-5Y7LJRX6.mjs → react-root-5ANDLQMX.mjs} +13 -12
  85. package/dist/lib/node-esm/react-root-5ANDLQMX.mjs.map +7 -0
  86. package/dist/lib/node-esm/{react-surface-YQFNIKYT.mjs → react-surface-V7J2QB44.mjs} +81 -105
  87. package/dist/lib/node-esm/react-surface-V7J2QB44.mjs.map +7 -0
  88. package/dist/lib/node-esm/{schema-defs-WHJM7UZE.mjs → schema-defs-ZS2D47XW.mjs} +6 -6
  89. package/dist/lib/node-esm/schema-defs-ZS2D47XW.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-SJCXV6YH.mjs} +21 -18
  93. package/dist/lib/node-esm/spaces-ready-SJCXV6YH.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 +68 -63
  219. package/src/SpacePlugin.ts +230 -220
  220. package/src/capabilities/app-graph-builder.ts +214 -133
  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 -65
  226. package/src/capabilities/react-root.tsx +6 -4
  227. package/src/capabilities/react-surface.tsx +78 -145
  228. package/src/capabilities/schema-defs.ts +4 -3
  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-V3MP3CDK.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-FBJEXW54.mjs.map +0 -7
  295. package/dist/lib/browser/chunk-JS3MMC42.mjs +0 -19
  296. package/dist/lib/browser/chunk-JS3MMC42.mjs.map +0 -7
  297. package/dist/lib/browser/chunk-QACNNDOT.mjs.map +0 -7
  298. package/dist/lib/browser/chunk-SGTQ52SU.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-XHGD73WZ.mjs.map +0 -7
  304. package/dist/lib/browser/react-root-CMWOGJG5.mjs +0 -29
  305. package/dist/lib/browser/react-root-CMWOGJG5.mjs.map +0 -7
  306. package/dist/lib/browser/react-surface-YWZZQF7H.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-SG4VECBB.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-2A3VBXBP.mjs.map +0 -7
  318. package/dist/lib/node-esm/chunk-4AOMYKDE.mjs.map +0 -7
  319. package/dist/lib/node-esm/chunk-5HHYE264.mjs +0 -20
  320. package/dist/lib/node-esm/chunk-5HHYE264.mjs.map +0 -7
  321. package/dist/lib/node-esm/chunk-5T3ZH23B.mjs +0 -21
  322. package/dist/lib/node-esm/chunk-5T3ZH23B.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-LEANKSKZ.mjs.map +0 -7
  331. package/dist/lib/node-esm/react-root-5Y7LJRX6.mjs.map +0 -7
  332. package/dist/lib/node-esm/react-surface-YQFNIKYT.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
@@ -4,15 +4,15 @@
4
4
 
5
5
  import { Capabilities, type PluginContext, contributes, createIntent } from '@dxos/app-framework';
6
6
  import { isSpace } from '@dxos/client/echo';
7
- import { Obj, Type } from '@dxos/echo';
8
- import { DataType } from '@dxos/schema';
7
+ import { Obj } from '@dxos/echo';
8
+ import { Collection } from '@dxos/schema';
9
9
 
10
- import { SPACE_PLUGIN } from '../meta';
10
+ import { meta } from '../meta';
11
11
  import { translations } from '../translations';
12
12
  import { SPACE_TYPE, SpaceAction } from '../types';
13
13
  import { SPACES } from '../util';
14
14
 
15
- const COLLECTION_TYPE = Type.getTypename(DataType.Collection);
15
+ const COLLECTION_TYPE = Collection.Collection.typename;
16
16
 
17
17
  // https://stackoverflow.com/a/19016910
18
18
  const DIRECTORY_TYPE = 'text/directory';
@@ -23,8 +23,8 @@ export default (context: PluginContext) =>
23
23
  inputType: SPACES,
24
24
  outputType: DIRECTORY_TYPE,
25
25
  serialize: (node) => ({
26
- name: translations[0]['en-US'][SPACE_PLUGIN]['spaces label'] ?? 'Spaces',
27
- data: translations[0]['en-US'][SPACE_PLUGIN]['spaces label'] ?? 'Spaces',
26
+ name: translations[0]['en-US'][meta.id]['spaces label'] ?? 'Spaces',
27
+ data: translations[0]['en-US'][meta.id]['spaces label'] ?? 'Spaces',
28
28
  type: DIRECTORY_TYPE,
29
29
  }),
30
30
  deserialize: () => {
@@ -35,8 +35,8 @@ export default (context: PluginContext) =>
35
35
  inputType: SPACE_TYPE,
36
36
  outputType: DIRECTORY_TYPE,
37
37
  serialize: (node) => ({
38
- name: node.data.properties.name ?? translations[0]['en-US'][SPACE_PLUGIN]['unnamed space label'],
39
- data: node.data.properties.name ?? translations[0]['en-US'][SPACE_PLUGIN]['unnamed space label'],
38
+ name: node.data.properties.name ?? translations[0]['en-US'][meta.id]['unnamed space label'],
39
+ data: node.data.properties.name ?? translations[0]['en-US'][meta.id]['unnamed space label'],
40
40
  type: DIRECTORY_TYPE,
41
41
  }),
42
42
  deserialize: async (data) => {
@@ -49,14 +49,14 @@ export default (context: PluginContext) =>
49
49
  inputType: COLLECTION_TYPE,
50
50
  outputType: DIRECTORY_TYPE,
51
51
  serialize: (node) => ({
52
- name: node.data.name ?? translations[0]['en-US'][SPACE_PLUGIN]['object name placeholder'],
53
- data: node.data.name ?? translations[0]['en-US'][SPACE_PLUGIN]['object name placeholder'],
52
+ name: node.data.name ?? translations[0]['en-US'][meta.id]['object name placeholder'],
53
+ data: node.data.name ?? translations[0]['en-US'][meta.id]['object name placeholder'],
54
54
  type: DIRECTORY_TYPE,
55
55
  }),
56
56
  deserialize: async (data, ancestors) => {
57
57
  const space = ancestors.find(isSpace);
58
58
  const collection =
59
- ancestors.findLast((ancestor) => Obj.instanceOf(DataType.Collection, ancestor)) ??
59
+ ancestors.findLast((ancestor) => Obj.instanceOf(Collection.Collection, ancestor)) ??
60
60
  space?.properties[COLLECTION_TYPE]?.target;
61
61
  if (!space || !collection) {
62
62
  return;
@@ -66,7 +66,7 @@ export default (context: PluginContext) =>
66
66
  const result = await dispatch(
67
67
  createIntent(SpaceAction.AddObject, {
68
68
  target: collection,
69
- object: Obj.make(DataType.Collection, { name: data.name, objects: [] }),
69
+ object: Obj.make(Collection.Collection, { name: data.name, objects: [] }),
70
70
  }),
71
71
  );
72
72
 
@@ -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
  }),
@@ -664,7 +676,6 @@ export default ({ context, observability, createInvitationUrl }: IntentResolverO
664
676
  resolve: async ({ object, target }) => {
665
677
  const space = isSpace(target) ? target : getSpace(target);
666
678
  invariant(space, 'Space not found.');
667
-
668
679
  const newObject = await cloneObject(object, resolve, space);
669
680
  return {
670
681
  intents: [createIntent(SpaceAction.AddObject, { object: newObject, target })],
@@ -681,13 +692,18 @@ export default ({ context, observability, createInvitationUrl }: IntentResolverO
681
692
  createResolver({
682
693
  intent: CollectionAction.Create,
683
694
  resolve: async ({ name }) => ({
684
- data: { object: Obj.make(DataType.Collection, { name, objects: [] }) },
695
+ data: { object: Obj.make(Collection.Collection, { name, objects: [] }) },
685
696
  }),
686
697
  }),
687
698
  createResolver({
688
699
  intent: CollectionAction.CreateQueryCollection,
689
700
  resolve: async ({ name, typename }) => ({
690
- data: { object: Obj.make(DataType.QueryCollection, { name, query: { typename } }) },
701
+ data: {
702
+ object: Obj.make(Collection.QueryCollection, {
703
+ name,
704
+ query: Query.select(Filter.typename(typename)).ast,
705
+ }),
706
+ },
691
707
  }),
692
708
  }),
693
709
  ]);
@@ -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;