@dxos/plugin-space 0.8.4-main.c4373fc → 0.8.4-main.c85a9c8dae

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 (770) hide show
  1. package/dist/lib/browser/CollectionArticle-WASDM637.mjs +142 -0
  2. package/dist/lib/browser/CollectionArticle-WASDM637.mjs.map +7 -0
  3. package/dist/lib/browser/CollectionSection-LK4O6QDD.mjs +23 -0
  4. package/dist/lib/browser/CollectionSection-LK4O6QDD.mjs.map +7 -0
  5. package/dist/lib/browser/CreateObjectDialog-MA6DPYMD.mjs +146 -0
  6. package/dist/lib/browser/CreateObjectDialog-MA6DPYMD.mjs.map +7 -0
  7. package/dist/lib/browser/CreateSpaceDialog-WCEICWIE.mjs +64 -0
  8. package/dist/lib/browser/CreateSpaceDialog-WCEICWIE.mjs.map +7 -0
  9. package/dist/lib/browser/InlineSyncStatus-BT7BRBCO.mjs +62 -0
  10. package/dist/lib/browser/InlineSyncStatus-BT7BRBCO.mjs.map +7 -0
  11. package/dist/lib/browser/JoinDialog-PMCAIRCU.mjs +117 -0
  12. package/dist/lib/browser/JoinDialog-PMCAIRCU.mjs.map +7 -0
  13. package/dist/lib/browser/MembersContainer-MMFCXLVZ.mjs +257 -0
  14. package/dist/lib/browser/MembersContainer-MMFCXLVZ.mjs.map +7 -0
  15. package/dist/lib/browser/MenuFooter-HYBTNOBT.mjs +38 -0
  16. package/dist/lib/browser/MenuFooter-HYBTNOBT.mjs.map +7 -0
  17. package/dist/lib/browser/ObjectCardStack-CHWNLUYQ.mjs +64 -0
  18. package/dist/lib/browser/ObjectCardStack-CHWNLUYQ.mjs.map +7 -0
  19. package/dist/lib/browser/ObjectDetails-YUGVDNSA.mjs +43 -0
  20. package/dist/lib/browser/ObjectDetails-YUGVDNSA.mjs.map +7 -0
  21. package/dist/lib/browser/ObjectRenamePopover-RQUOVPFH.mjs +70 -0
  22. package/dist/lib/browser/ObjectRenamePopover-RQUOVPFH.mjs.map +7 -0
  23. package/dist/lib/browser/RecordArticle-ONWKYM3Z.mjs +112 -0
  24. package/dist/lib/browser/RecordArticle-ONWKYM3Z.mjs.map +7 -0
  25. package/dist/lib/browser/SchemaContainer-62AJXKAF.mjs +49 -0
  26. package/dist/lib/browser/SchemaContainer-62AJXKAF.mjs.map +7 -0
  27. package/dist/lib/browser/SmallPresenceLive-LZD2NGKK.mjs +10 -0
  28. package/dist/lib/browser/SmallPresenceLive-LZD2NGKK.mjs.map +7 -0
  29. package/dist/lib/browser/SpacePluginSettings-BRJTADV5.mjs +59 -0
  30. package/dist/lib/browser/SpacePluginSettings-BRJTADV5.mjs.map +7 -0
  31. package/dist/lib/browser/SpacePresence-MLU576L6.mjs +13 -0
  32. package/dist/lib/browser/SpacePresence-MLU576L6.mjs.map +7 -0
  33. package/dist/lib/browser/SpaceRenamePopover-SAKMPDLX.mjs +62 -0
  34. package/dist/lib/browser/SpaceRenamePopover-SAKMPDLX.mjs.map +7 -0
  35. package/dist/lib/browser/SpaceSettingsContainer-UBMVKUPR.mjs +242 -0
  36. package/dist/lib/browser/SpaceSettingsContainer-UBMVKUPR.mjs.map +7 -0
  37. package/dist/lib/browser/SyncStatus-5UQ7CIII.mjs +141 -0
  38. package/dist/lib/browser/SyncStatus-5UQ7CIII.mjs.map +7 -0
  39. package/dist/lib/browser/ViewEditor-F74RR542.mjs +116 -0
  40. package/dist/lib/browser/ViewEditor-F74RR542.mjs.map +7 -0
  41. package/dist/lib/browser/app-graph-builder-VFYFI7CD.mjs +593 -0
  42. package/dist/lib/browser/app-graph-builder-VFYFI7CD.mjs.map +7 -0
  43. package/dist/lib/browser/app-graph-serializer-KTQOBYUF.mjs +85 -0
  44. package/dist/lib/browser/app-graph-serializer-KTQOBYUF.mjs.map +7 -0
  45. package/dist/lib/browser/chunk-ABCDB5YC.mjs +177 -0
  46. package/dist/lib/browser/chunk-ABCDB5YC.mjs.map +7 -0
  47. package/dist/lib/browser/chunk-ASV6DYFH.mjs +19 -0
  48. package/dist/lib/browser/chunk-ASV6DYFH.mjs.map +7 -0
  49. package/dist/lib/browser/chunk-HSMQFM57.mjs +16 -0
  50. package/dist/lib/browser/chunk-HSMQFM57.mjs.map +7 -0
  51. package/dist/lib/browser/chunk-J5F4LUJD.mjs +13 -0
  52. package/dist/lib/browser/chunk-J5F4LUJD.mjs.map +7 -0
  53. package/dist/lib/browser/{chunk-YZJWWMNB.mjs → chunk-PXVKN4LU.mjs} +69 -62
  54. package/dist/lib/browser/chunk-PXVKN4LU.mjs.map +7 -0
  55. package/dist/lib/browser/chunk-RWOK4F4G.mjs +576 -0
  56. package/dist/lib/browser/chunk-RWOK4F4G.mjs.map +7 -0
  57. package/dist/lib/browser/chunk-SJCNERZI.mjs +115 -0
  58. package/dist/lib/browser/chunk-SJCNERZI.mjs.map +7 -0
  59. package/dist/lib/browser/chunk-TPZUQ5DC.mjs +749 -0
  60. package/dist/lib/browser/chunk-TPZUQ5DC.mjs.map +7 -0
  61. package/dist/lib/browser/chunk-USN5QKRV.mjs +715 -0
  62. package/dist/lib/browser/chunk-USN5QKRV.mjs.map +7 -0
  63. package/dist/lib/browser/chunk-XIIYC7P5.mjs +118 -0
  64. package/dist/lib/browser/chunk-XIIYC7P5.mjs.map +7 -0
  65. package/dist/lib/browser/cli/index.mjs +852 -0
  66. package/dist/lib/browser/cli/index.mjs.map +7 -0
  67. package/dist/lib/browser/identity-created-VKLIZOXJ.mjs +23 -0
  68. package/dist/lib/browser/identity-created-VKLIZOXJ.mjs.map +7 -0
  69. package/dist/lib/browser/index.mjs +241 -283
  70. package/dist/lib/browser/index.mjs.map +4 -4
  71. package/dist/lib/browser/meta.json +1 -1
  72. package/dist/lib/browser/operation-resolver-Y3HYRXX7.mjs +831 -0
  73. package/dist/lib/browser/operation-resolver-Y3HYRXX7.mjs.map +7 -0
  74. package/dist/lib/browser/react-root-UYBW5RE7.mjs +30 -0
  75. package/dist/lib/browser/react-root-UYBW5RE7.mjs.map +7 -0
  76. package/dist/lib/browser/react-surface-NJ23NZFF.mjs +386 -0
  77. package/dist/lib/browser/react-surface-NJ23NZFF.mjs.map +7 -0
  78. package/dist/lib/browser/repair-N2I4DR2Z.mjs +50 -0
  79. package/dist/lib/browser/repair-N2I4DR2Z.mjs.map +7 -0
  80. package/dist/lib/browser/settings-2ELVUFDR.mjs +34 -0
  81. package/dist/lib/browser/settings-2ELVUFDR.mjs.map +7 -0
  82. package/dist/lib/browser/spaces-ready-Q6JASPT4.mjs +243 -0
  83. package/dist/lib/browser/spaces-ready-Q6JASPT4.mjs.map +7 -0
  84. package/dist/lib/browser/state-CTX4WQOM.mjs +58 -0
  85. package/dist/lib/browser/state-CTX4WQOM.mjs.map +7 -0
  86. package/dist/lib/browser/types/index.mjs +18 -10
  87. package/dist/lib/node-esm/CollectionArticle-A6GGG73Z.mjs +143 -0
  88. package/dist/lib/node-esm/CollectionArticle-A6GGG73Z.mjs.map +7 -0
  89. package/dist/lib/node-esm/CollectionSection-WWKDOAAT.mjs +24 -0
  90. package/dist/lib/node-esm/CollectionSection-WWKDOAAT.mjs.map +7 -0
  91. package/dist/lib/node-esm/CreateObjectDialog-4WEFNDDF.mjs +147 -0
  92. package/dist/lib/node-esm/CreateObjectDialog-4WEFNDDF.mjs.map +7 -0
  93. package/dist/lib/node-esm/CreateSpaceDialog-P7QCPB5J.mjs +65 -0
  94. package/dist/lib/node-esm/CreateSpaceDialog-P7QCPB5J.mjs.map +7 -0
  95. package/dist/lib/node-esm/InlineSyncStatus-3PCXU7NX.mjs +63 -0
  96. package/dist/lib/node-esm/InlineSyncStatus-3PCXU7NX.mjs.map +7 -0
  97. package/dist/lib/node-esm/JoinDialog-XEOLJZVN.mjs +118 -0
  98. package/dist/lib/node-esm/JoinDialog-XEOLJZVN.mjs.map +7 -0
  99. package/dist/lib/node-esm/MembersContainer-UQZLW3YA.mjs +258 -0
  100. package/dist/lib/node-esm/MembersContainer-UQZLW3YA.mjs.map +7 -0
  101. package/dist/lib/node-esm/MenuFooter-2QB3453Y.mjs +39 -0
  102. package/dist/lib/node-esm/MenuFooter-2QB3453Y.mjs.map +7 -0
  103. package/dist/lib/node-esm/ObjectCardStack-UXEWG6RV.mjs +65 -0
  104. package/dist/lib/node-esm/ObjectCardStack-UXEWG6RV.mjs.map +7 -0
  105. package/dist/lib/node-esm/ObjectDetails-26PVHUQL.mjs +44 -0
  106. package/dist/lib/node-esm/ObjectDetails-26PVHUQL.mjs.map +7 -0
  107. package/dist/lib/node-esm/ObjectRenamePopover-EHTP76G7.mjs +71 -0
  108. package/dist/lib/node-esm/ObjectRenamePopover-EHTP76G7.mjs.map +7 -0
  109. package/dist/lib/node-esm/RecordArticle-APY2WKUW.mjs +113 -0
  110. package/dist/lib/node-esm/RecordArticle-APY2WKUW.mjs.map +7 -0
  111. package/dist/lib/node-esm/SchemaContainer-XR2D6MYX.mjs +50 -0
  112. package/dist/lib/node-esm/SchemaContainer-XR2D6MYX.mjs.map +7 -0
  113. package/dist/lib/node-esm/SmallPresenceLive-K4243KXR.mjs +11 -0
  114. package/dist/lib/node-esm/SmallPresenceLive-K4243KXR.mjs.map +7 -0
  115. package/dist/lib/node-esm/SpacePluginSettings-VEB5IGG7.mjs +60 -0
  116. package/dist/lib/node-esm/SpacePluginSettings-VEB5IGG7.mjs.map +7 -0
  117. package/dist/lib/node-esm/SpacePresence-HC2XGQ54.mjs +14 -0
  118. package/dist/lib/node-esm/SpacePresence-HC2XGQ54.mjs.map +7 -0
  119. package/dist/lib/node-esm/SpaceRenamePopover-WHM632OT.mjs +63 -0
  120. package/dist/lib/node-esm/SpaceRenamePopover-WHM632OT.mjs.map +7 -0
  121. package/dist/lib/node-esm/SpaceSettingsContainer-Y62J2L65.mjs +243 -0
  122. package/dist/lib/node-esm/SpaceSettingsContainer-Y62J2L65.mjs.map +7 -0
  123. package/dist/lib/node-esm/SyncStatus-XTJAVHPN.mjs +142 -0
  124. package/dist/lib/node-esm/SyncStatus-XTJAVHPN.mjs.map +7 -0
  125. package/dist/lib/node-esm/ViewEditor-B2BLYF5U.mjs +117 -0
  126. package/dist/lib/node-esm/ViewEditor-B2BLYF5U.mjs.map +7 -0
  127. package/dist/lib/node-esm/app-graph-builder-N37ED6UI.mjs +594 -0
  128. package/dist/lib/node-esm/app-graph-builder-N37ED6UI.mjs.map +7 -0
  129. package/dist/lib/node-esm/app-graph-serializer-GXQYSQAZ.mjs +86 -0
  130. package/dist/lib/node-esm/app-graph-serializer-GXQYSQAZ.mjs.map +7 -0
  131. package/dist/lib/node-esm/chunk-3DWZCVVQ.mjs +716 -0
  132. package/dist/lib/node-esm/chunk-3DWZCVVQ.mjs.map +7 -0
  133. package/dist/lib/node-esm/chunk-CVXULIYC.mjs +20 -0
  134. package/dist/lib/node-esm/chunk-CVXULIYC.mjs.map +7 -0
  135. package/dist/lib/node-esm/chunk-GWUPFA7J.mjs +577 -0
  136. package/dist/lib/node-esm/chunk-GWUPFA7J.mjs.map +7 -0
  137. package/dist/lib/node-esm/chunk-IV7VKVGC.mjs +117 -0
  138. package/dist/lib/node-esm/chunk-IV7VKVGC.mjs.map +7 -0
  139. package/dist/lib/node-esm/chunk-OSFH2XKO.mjs +119 -0
  140. package/dist/lib/node-esm/chunk-OSFH2XKO.mjs.map +7 -0
  141. package/dist/lib/node-esm/{chunk-7UIEPBQJ.mjs → chunk-P2AVANDG.mjs} +69 -62
  142. package/dist/lib/node-esm/chunk-P2AVANDG.mjs.map +7 -0
  143. package/dist/lib/node-esm/chunk-S2IELCDF.mjs +15 -0
  144. package/dist/lib/node-esm/chunk-S2IELCDF.mjs.map +7 -0
  145. package/dist/lib/node-esm/chunk-SL4BJSUG.mjs +18 -0
  146. package/dist/lib/node-esm/chunk-SL4BJSUG.mjs.map +7 -0
  147. package/dist/lib/node-esm/chunk-UJQUBDQS.mjs +178 -0
  148. package/dist/lib/node-esm/chunk-UJQUBDQS.mjs.map +7 -0
  149. package/dist/lib/node-esm/chunk-WW6YYBRG.mjs +750 -0
  150. package/dist/lib/node-esm/chunk-WW6YYBRG.mjs.map +7 -0
  151. package/dist/lib/node-esm/cli/index.mjs +853 -0
  152. package/dist/lib/node-esm/cli/index.mjs.map +7 -0
  153. package/dist/lib/node-esm/identity-created-EGSTETJ5.mjs +25 -0
  154. package/dist/lib/node-esm/identity-created-EGSTETJ5.mjs.map +7 -0
  155. package/dist/lib/node-esm/index.mjs +241 -283
  156. package/dist/lib/node-esm/index.mjs.map +4 -4
  157. package/dist/lib/node-esm/meta.json +1 -1
  158. package/dist/lib/node-esm/operation-resolver-IRQ2NVUQ.mjs +832 -0
  159. package/dist/lib/node-esm/operation-resolver-IRQ2NVUQ.mjs.map +7 -0
  160. package/dist/lib/node-esm/react-root-UEN3LLJD.mjs +31 -0
  161. package/dist/lib/node-esm/react-root-UEN3LLJD.mjs.map +7 -0
  162. package/dist/lib/node-esm/react-surface-UDO3PGH6.mjs +387 -0
  163. package/dist/lib/node-esm/react-surface-UDO3PGH6.mjs.map +7 -0
  164. package/dist/lib/node-esm/repair-P6ND7ZRU.mjs +51 -0
  165. package/dist/lib/node-esm/repair-P6ND7ZRU.mjs.map +7 -0
  166. package/dist/lib/node-esm/settings-DCTVM2BV.mjs +35 -0
  167. package/dist/lib/node-esm/settings-DCTVM2BV.mjs.map +7 -0
  168. package/dist/lib/node-esm/spaces-ready-XLGRTJV2.mjs +244 -0
  169. package/dist/lib/node-esm/spaces-ready-XLGRTJV2.mjs.map +7 -0
  170. package/dist/lib/node-esm/state-G74V3WZG.mjs +59 -0
  171. package/dist/lib/node-esm/state-G74V3WZG.mjs.map +7 -0
  172. package/dist/lib/node-esm/types/index.mjs +18 -10
  173. package/dist/types/src/SpacePlugin.d.ts +3 -15
  174. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  175. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +7 -0
  176. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  177. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  178. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  179. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts +5 -0
  180. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts.map +1 -0
  181. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts +3 -0
  182. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts.map +1 -0
  183. package/dist/types/src/capabilities/identity-created/identity-created.d.ts +5 -0
  184. package/dist/types/src/capabilities/identity-created/identity-created.d.ts.map +1 -0
  185. package/dist/types/src/capabilities/identity-created/index.d.ts +3 -0
  186. package/dist/types/src/capabilities/identity-created/index.d.ts.map +1 -0
  187. package/dist/types/src/capabilities/index.d.ts +10 -20
  188. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  189. package/dist/types/src/capabilities/operation-resolver/index.d.ts +6 -0
  190. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  191. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +9 -0
  192. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  193. package/dist/types/src/capabilities/react-root/index.d.ts +6 -0
  194. package/dist/types/src/capabilities/react-root/index.d.ts.map +1 -0
  195. package/dist/types/src/capabilities/react-root/react-root.d.ts +9 -0
  196. package/dist/types/src/capabilities/react-root/react-root.d.ts.map +1 -0
  197. package/dist/types/src/capabilities/react-surface/index.d.ts +5 -0
  198. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  199. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +8 -0
  200. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  201. package/dist/types/src/capabilities/repair/index.d.ts +3 -0
  202. package/dist/types/src/capabilities/repair/index.d.ts.map +1 -0
  203. package/dist/types/src/capabilities/repair/repair.d.ts +6 -0
  204. package/dist/types/src/capabilities/repair/repair.d.ts.map +1 -0
  205. package/dist/types/src/capabilities/settings/index.d.ts +7 -0
  206. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  207. package/dist/types/src/capabilities/settings/settings.d.ts +10 -0
  208. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  209. package/dist/types/src/capabilities/spaces-ready/index.d.ts +3 -0
  210. package/dist/types/src/capabilities/spaces-ready/index.d.ts.map +1 -0
  211. package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts +5 -0
  212. package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts.map +1 -0
  213. package/dist/types/src/capabilities/state/index.d.ts +13 -0
  214. package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
  215. package/dist/types/src/capabilities/state/state.d.ts +17 -0
  216. package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
  217. package/dist/types/src/cli/commands/database/add.d.ts +17 -0
  218. package/dist/types/src/cli/commands/database/add.d.ts.map +1 -0
  219. package/dist/types/src/cli/commands/database/index.d.ts +3 -0
  220. package/dist/types/src/cli/commands/database/index.d.ts.map +1 -0
  221. package/dist/types/src/cli/commands/database/query/index.d.ts +2 -0
  222. package/dist/types/src/cli/commands/database/query/index.d.ts.map +1 -0
  223. package/dist/types/src/cli/commands/database/query/query.d.ts +13 -0
  224. package/dist/types/src/cli/commands/database/query/query.d.ts.map +1 -0
  225. package/dist/types/src/cli/commands/database/query/query.test.d.ts +2 -0
  226. package/dist/types/src/cli/commands/database/query/query.test.d.ts.map +1 -0
  227. package/dist/types/src/cli/commands/database/remove.d.ts +9 -0
  228. package/dist/types/src/cli/commands/database/remove.d.ts.map +1 -0
  229. package/dist/types/src/cli/commands/database/stats.d.ts +6 -0
  230. package/dist/types/src/cli/commands/database/stats.d.ts.map +1 -0
  231. package/dist/types/src/cli/commands/database/util.d.ts +14 -0
  232. package/dist/types/src/cli/commands/database/util.d.ts.map +1 -0
  233. package/dist/types/src/cli/commands/index.d.ts +4 -0
  234. package/dist/types/src/cli/commands/index.d.ts.map +1 -0
  235. package/dist/types/src/cli/commands/queue/index.d.ts +7 -0
  236. package/dist/types/src/cli/commands/queue/index.d.ts.map +1 -0
  237. package/dist/types/src/cli/commands/queue/query.d.ts +8 -0
  238. package/dist/types/src/cli/commands/queue/query.d.ts.map +1 -0
  239. package/dist/types/src/cli/commands/queue/util.d.ts +6 -0
  240. package/dist/types/src/cli/commands/queue/util.d.ts.map +1 -0
  241. package/dist/types/src/cli/commands/space/close/close.d.ts +12 -0
  242. package/dist/types/src/cli/commands/space/close/close.d.ts.map +1 -0
  243. package/dist/types/src/cli/commands/space/close/index.d.ts +2 -0
  244. package/dist/types/src/cli/commands/space/close/index.d.ts.map +1 -0
  245. package/dist/types/src/cli/commands/space/create/create.d.ts +12 -0
  246. package/dist/types/src/cli/commands/space/create/create.d.ts.map +1 -0
  247. package/dist/types/src/cli/commands/space/create/create.test.d.ts +2 -0
  248. package/dist/types/src/cli/commands/space/create/create.test.d.ts.map +1 -0
  249. package/dist/types/src/cli/commands/space/create/index.d.ts +2 -0
  250. package/dist/types/src/cli/commands/space/create/index.d.ts.map +1 -0
  251. package/dist/types/src/cli/commands/space/index.d.ts +31 -0
  252. package/dist/types/src/cli/commands/space/index.d.ts.map +1 -0
  253. package/dist/types/src/cli/commands/space/info/index.d.ts +2 -0
  254. package/dist/types/src/cli/commands/space/info/index.d.ts.map +1 -0
  255. package/dist/types/src/cli/commands/space/info/info.d.ts +13 -0
  256. package/dist/types/src/cli/commands/space/info/info.d.ts.map +1 -0
  257. package/dist/types/src/cli/commands/space/info/info.test.d.ts +2 -0
  258. package/dist/types/src/cli/commands/space/info/info.test.d.ts.map +1 -0
  259. package/dist/types/src/cli/commands/space/join/index.d.ts +2 -0
  260. package/dist/types/src/cli/commands/space/join/index.d.ts.map +1 -0
  261. package/dist/types/src/cli/commands/space/join/join.d.ts +14 -0
  262. package/dist/types/src/cli/commands/space/join/join.d.ts.map +1 -0
  263. package/dist/types/src/cli/commands/space/join/util.d.ts +17 -0
  264. package/dist/types/src/cli/commands/space/join/util.d.ts.map +1 -0
  265. package/dist/types/src/cli/commands/space/list/index.d.ts +2 -0
  266. package/dist/types/src/cli/commands/space/list/index.d.ts.map +1 -0
  267. package/dist/types/src/cli/commands/space/list/list.d.ts +7 -0
  268. package/dist/types/src/cli/commands/space/list/list.d.ts.map +1 -0
  269. package/dist/types/src/cli/commands/space/list/list.test.d.ts +2 -0
  270. package/dist/types/src/cli/commands/space/list/list.test.d.ts.map +1 -0
  271. package/dist/types/src/cli/commands/space/members/index.d.ts +2 -0
  272. package/dist/types/src/cli/commands/space/members/index.d.ts.map +1 -0
  273. package/dist/types/src/cli/commands/space/members/members.d.ts +13 -0
  274. package/dist/types/src/cli/commands/space/members/members.d.ts.map +1 -0
  275. package/dist/types/src/cli/commands/space/members/members.test.d.ts +2 -0
  276. package/dist/types/src/cli/commands/space/members/members.test.d.ts.map +1 -0
  277. package/dist/types/src/cli/commands/space/members/util.d.ts +9 -0
  278. package/dist/types/src/cli/commands/space/members/util.d.ts.map +1 -0
  279. package/dist/types/src/cli/commands/space/open/index.d.ts +2 -0
  280. package/dist/types/src/cli/commands/space/open/index.d.ts.map +1 -0
  281. package/dist/types/src/cli/commands/space/open/open.d.ts +12 -0
  282. package/dist/types/src/cli/commands/space/open/open.d.ts.map +1 -0
  283. package/dist/types/src/cli/commands/space/schema/index.d.ts +8 -0
  284. package/dist/types/src/cli/commands/space/schema/index.d.ts.map +1 -0
  285. package/dist/types/src/cli/commands/space/schema/list/index.d.ts +2 -0
  286. package/dist/types/src/cli/commands/space/schema/list/index.d.ts.map +1 -0
  287. package/dist/types/src/cli/commands/space/schema/list/list.d.ts +15 -0
  288. package/dist/types/src/cli/commands/space/schema/list/list.d.ts.map +1 -0
  289. package/dist/types/src/cli/commands/space/schema/list/list.test.d.ts +2 -0
  290. package/dist/types/src/cli/commands/space/schema/list/list.test.d.ts.map +1 -0
  291. package/dist/types/src/cli/commands/space/schema/list/util.d.ts +15 -0
  292. package/dist/types/src/cli/commands/space/schema/list/util.d.ts.map +1 -0
  293. package/dist/types/src/cli/commands/space/share/index.d.ts +2 -0
  294. package/dist/types/src/cli/commands/space/share/index.d.ts.map +1 -0
  295. package/dist/types/src/cli/commands/space/share/share.d.ts +19 -0
  296. package/dist/types/src/cli/commands/space/share/share.d.ts.map +1 -0
  297. package/dist/types/src/cli/commands/space/sync/index.d.ts +2 -0
  298. package/dist/types/src/cli/commands/space/sync/index.d.ts.map +1 -0
  299. package/dist/types/src/cli/commands/space/sync/sync.d.ts +6 -0
  300. package/dist/types/src/cli/commands/space/sync/sync.d.ts.map +1 -0
  301. package/dist/types/src/cli/commands/space/sync/sync.test.d.ts +2 -0
  302. package/dist/types/src/cli/commands/space/sync/sync.test.d.ts.map +1 -0
  303. package/dist/types/src/cli/index.d.ts +2 -0
  304. package/dist/types/src/cli/index.d.ts.map +1 -0
  305. package/dist/types/src/cli/plugin.d.ts +4 -0
  306. package/dist/types/src/cli/plugin.d.ts.map +1 -0
  307. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  308. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +27 -11
  309. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  310. package/dist/types/src/components/CreateDialog/index.d.ts +1 -2
  311. package/dist/types/src/components/CreateDialog/index.d.ts.map +1 -1
  312. package/dist/types/src/components/{ObjectSettings → ObjectDetails}/BaseObjectSettings.d.ts +3 -3
  313. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.d.ts.map +1 -0
  314. package/dist/types/src/components/{MembersContainer.stories.d.ts → ObjectDetails/BaseObjectSettings.stories.d.ts} +230 -384
  315. package/dist/types/src/components/{MembersContainer.stories.d.ts.map → ObjectDetails/BaseObjectSettings.stories.d.ts.map} +1 -1
  316. package/dist/types/src/components/ObjectDetails/ForeignKeys.d.ts +8 -0
  317. package/dist/types/src/components/ObjectDetails/ForeignKeys.d.ts.map +1 -0
  318. package/dist/types/src/components/ObjectDetails/index.d.ts +3 -0
  319. package/dist/types/src/components/ObjectDetails/index.d.ts.map +1 -0
  320. package/dist/types/src/components/ObjectForm/ObjectForm.d.ts +9 -0
  321. package/dist/types/src/components/ObjectForm/ObjectForm.d.ts.map +1 -0
  322. package/dist/types/src/components/ObjectForm/index.d.ts +2 -0
  323. package/dist/types/src/components/ObjectForm/index.d.ts.map +1 -0
  324. package/dist/types/src/components/SyncStatus/index.d.ts +2 -2
  325. package/dist/types/src/components/SyncStatus/index.d.ts.map +1 -1
  326. package/dist/types/src/components/index.d.ts +2 -26
  327. package/dist/types/src/components/index.d.ts.map +1 -1
  328. package/dist/types/src/constants.d.ts +6 -0
  329. package/dist/types/src/constants.d.ts.map +1 -0
  330. package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts +9 -0
  331. package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts.map +1 -0
  332. package/dist/types/src/containers/CollectionArticle/index.d.ts +3 -0
  333. package/dist/types/src/containers/CollectionArticle/index.d.ts.map +1 -0
  334. package/dist/types/src/containers/CollectionSection/CollectionSection.d.ts +5 -0
  335. package/dist/types/src/containers/CollectionSection/CollectionSection.d.ts.map +1 -0
  336. package/dist/types/src/containers/CollectionSection/index.d.ts +3 -0
  337. package/dist/types/src/containers/CollectionSection/index.d.ts.map +1 -0
  338. package/dist/types/src/{components/CreateDialog → containers/CreateObjectDialog}/CreateObjectDialog.d.ts +5 -4
  339. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.d.ts.map +1 -0
  340. package/dist/types/src/containers/CreateObjectDialog/index.d.ts +3 -0
  341. package/dist/types/src/containers/CreateObjectDialog/index.d.ts.map +1 -0
  342. package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.d.ts.map +1 -0
  343. package/dist/types/src/containers/CreateSpaceDialog/index.d.ts +3 -0
  344. package/dist/types/src/containers/CreateSpaceDialog/index.d.ts.map +1 -0
  345. package/dist/types/src/containers/InlineSyncStatus/InlineSyncStatus.d.ts.map +1 -0
  346. package/dist/types/src/containers/InlineSyncStatus/index.d.ts +3 -0
  347. package/dist/types/src/containers/InlineSyncStatus/index.d.ts.map +1 -0
  348. package/dist/types/src/containers/JoinDialog/JoinDialog.d.ts.map +1 -0
  349. package/dist/types/src/containers/JoinDialog/index.d.ts +3 -0
  350. package/dist/types/src/containers/JoinDialog/index.d.ts.map +1 -0
  351. package/dist/types/src/containers/MembersContainer/MembersContainer.d.ts.map +1 -0
  352. package/dist/types/src/containers/MembersContainer/index.d.ts +3 -0
  353. package/dist/types/src/containers/MembersContainer/index.d.ts.map +1 -0
  354. package/dist/types/src/{components → containers/MenuFooter}/MenuFooter.d.ts +1 -1
  355. package/dist/types/src/containers/MenuFooter/MenuFooter.d.ts.map +1 -0
  356. package/dist/types/src/containers/MenuFooter/index.d.ts +3 -0
  357. package/dist/types/src/containers/MenuFooter/index.d.ts.map +1 -0
  358. package/dist/types/src/containers/ObjectCardStack/ObjectCardStack.d.ts +11 -0
  359. package/dist/types/src/containers/ObjectCardStack/ObjectCardStack.d.ts.map +1 -0
  360. package/dist/types/src/containers/ObjectCardStack/index.d.ts +3 -0
  361. package/dist/types/src/containers/ObjectCardStack/index.d.ts.map +1 -0
  362. package/dist/types/src/containers/ObjectDetails/ObjectDetails.d.ts +9 -0
  363. package/dist/types/src/containers/ObjectDetails/ObjectDetails.d.ts.map +1 -0
  364. package/dist/types/src/containers/ObjectDetails/index.d.ts +3 -0
  365. package/dist/types/src/containers/ObjectDetails/index.d.ts.map +1 -0
  366. package/dist/types/src/containers/ObjectRenamePopover/ObjectRenamePopover.d.ts +7 -0
  367. package/dist/types/src/containers/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -0
  368. package/dist/types/src/containers/ObjectRenamePopover/index.d.ts +3 -0
  369. package/dist/types/src/containers/ObjectRenamePopover/index.d.ts.map +1 -0
  370. package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts +4 -0
  371. package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts.map +1 -0
  372. package/dist/types/src/containers/RecordArticle/index.d.ts +3 -0
  373. package/dist/types/src/containers/RecordArticle/index.d.ts.map +1 -0
  374. package/dist/types/src/{components → containers/SchemaContainer}/SchemaContainer.d.ts +2 -2
  375. package/dist/types/src/containers/SchemaContainer/SchemaContainer.d.ts.map +1 -0
  376. package/dist/types/src/containers/SchemaContainer/index.d.ts +3 -0
  377. package/dist/types/src/containers/SchemaContainer/index.d.ts.map +1 -0
  378. package/dist/types/src/containers/SmallPresenceLive/index.d.ts +2 -0
  379. package/dist/types/src/containers/SmallPresenceLive/index.d.ts.map +1 -0
  380. package/dist/types/src/containers/SpacePluginSettings/SpacePluginSettings.d.ts +8 -0
  381. package/dist/types/src/containers/SpacePluginSettings/SpacePluginSettings.d.ts.map +1 -0
  382. package/dist/types/src/containers/SpacePluginSettings/index.d.ts +3 -0
  383. package/dist/types/src/containers/SpacePluginSettings/index.d.ts.map +1 -0
  384. package/dist/types/src/{components → containers/SpacePresence}/SpacePresence.d.ts +7 -6
  385. package/dist/types/src/containers/SpacePresence/SpacePresence.d.ts.map +1 -0
  386. package/dist/types/src/{components → containers/SpacePresence}/SpacePresence.stories.d.ts +227 -214
  387. package/dist/types/src/{components → containers/SpacePresence}/SpacePresence.stories.d.ts.map +1 -1
  388. package/dist/types/src/containers/SpacePresence/index.d.ts +3 -0
  389. package/dist/types/src/containers/SpacePresence/index.d.ts.map +1 -0
  390. package/dist/types/src/containers/SpaceRenamePopover/SpaceRenamePopover.d.ts +7 -0
  391. package/dist/types/src/containers/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -0
  392. package/dist/types/src/containers/SpaceRenamePopover/index.d.ts +3 -0
  393. package/dist/types/src/containers/SpaceRenamePopover/index.d.ts.map +1 -0
  394. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts +10 -0
  395. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts.map +1 -0
  396. package/dist/types/src/{components/SpaceSettings → containers/SpaceSettingsContainer}/SpaceSettingsContainer.stories.d.ts +231 -215
  397. package/dist/types/src/{components/SpaceSettings → containers/SpaceSettingsContainer}/SpaceSettingsContainer.stories.d.ts.map +1 -1
  398. package/dist/types/src/containers/SpaceSettingsContainer/index.d.ts +3 -0
  399. package/dist/types/src/containers/SpaceSettingsContainer/index.d.ts.map +1 -0
  400. package/dist/types/src/containers/SyncStatus/SyncStatus.d.ts.map +1 -0
  401. package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.stories.d.ts +228 -215
  402. package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  403. package/dist/types/src/containers/SyncStatus/index.d.ts +3 -0
  404. package/dist/types/src/containers/SyncStatus/index.d.ts.map +1 -0
  405. package/dist/types/src/containers/ViewEditor/ViewEditor.d.ts +7 -0
  406. package/dist/types/src/containers/ViewEditor/ViewEditor.d.ts.map +1 -0
  407. package/dist/types/src/containers/ViewEditor/index.d.ts +3 -0
  408. package/dist/types/src/containers/ViewEditor/index.d.ts.map +1 -0
  409. package/dist/types/src/containers/index.d.ts +23 -0
  410. package/dist/types/src/containers/index.d.ts.map +1 -0
  411. package/dist/types/src/helpers/index.d.ts +2 -0
  412. package/dist/types/src/helpers/index.d.ts.map +1 -0
  413. package/dist/types/src/helpers/query.d.ts +7 -0
  414. package/dist/types/src/helpers/query.d.ts.map +1 -0
  415. package/dist/types/src/helpers/query.test.d.ts +2 -0
  416. package/dist/types/src/helpers/query.test.d.ts.map +1 -0
  417. package/dist/types/src/hooks/index.d.ts +1 -0
  418. package/dist/types/src/hooks/index.d.ts.map +1 -1
  419. package/dist/types/src/hooks/useActiveSpace.d.ts +2 -2
  420. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
  421. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +2 -8
  422. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  423. package/dist/types/src/hooks/usePath.d.ts +2 -2
  424. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  425. package/dist/types/src/hooks/useTypeOptions.d.ts +10 -0
  426. package/dist/types/src/hooks/useTypeOptions.d.ts.map +1 -0
  427. package/dist/types/src/index.d.ts +3 -3
  428. package/dist/types/src/index.d.ts.map +1 -1
  429. package/dist/types/src/meta.d.ts +2 -2
  430. package/dist/types/src/meta.d.ts.map +1 -1
  431. package/dist/types/src/translations.d.ts +227 -214
  432. package/dist/types/src/translations.d.ts.map +1 -1
  433. package/dist/types/src/types/capabilities.d.ts +71 -0
  434. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  435. package/dist/types/src/types/events.d.ts +9 -0
  436. package/dist/types/src/types/events.d.ts.map +1 -0
  437. package/dist/types/src/types/form.d.ts +22 -0
  438. package/dist/types/src/types/form.d.ts.map +1 -0
  439. package/dist/types/src/types/index.d.ts +3 -0
  440. package/dist/types/src/types/index.d.ts.map +1 -1
  441. package/dist/types/src/types/types.d.ts +594 -396
  442. package/dist/types/src/types/types.d.ts.map +1 -1
  443. package/dist/types/src/util.d.ts +122 -90
  444. package/dist/types/src/util.d.ts.map +1 -1
  445. package/dist/types/tsconfig.tsbuildinfo +1 -1
  446. package/package.json +84 -61
  447. package/src/SpacePlugin.ts +191 -235
  448. package/src/capabilities/app-graph-builder/app-graph-builder.ts +675 -0
  449. package/src/capabilities/app-graph-builder/index.ts +7 -0
  450. package/src/capabilities/app-graph-serializer/app-graph-serializer.ts +83 -0
  451. package/src/capabilities/app-graph-serializer/index.ts +7 -0
  452. package/src/capabilities/identity-created/identity-created.ts +29 -0
  453. package/src/capabilities/identity-created/index.ts +7 -0
  454. package/src/capabilities/index.ts +10 -14
  455. package/src/capabilities/operation-resolver/index.ts +7 -0
  456. package/src/capabilities/operation-resolver/operation-resolver.ts +771 -0
  457. package/src/capabilities/react-root/index.ts +7 -0
  458. package/src/capabilities/react-root/react-root.tsx +25 -0
  459. package/src/capabilities/react-surface/index.ts +7 -0
  460. package/src/capabilities/react-surface/react-surface.tsx +380 -0
  461. package/src/capabilities/repair/index.ts +7 -0
  462. package/src/capabilities/repair/repair.ts +71 -0
  463. package/src/capabilities/settings/index.ts +7 -0
  464. package/src/capabilities/settings/settings.ts +33 -0
  465. package/src/capabilities/spaces-ready/index.ts +7 -0
  466. package/src/capabilities/spaces-ready/spaces-ready.ts +290 -0
  467. package/src/capabilities/state/index.ts +7 -0
  468. package/src/capabilities/state/state.ts +64 -0
  469. package/src/cli/commands/database/add.ts +115 -0
  470. package/src/cli/commands/database/index.ts +16 -0
  471. package/src/cli/commands/database/query/index.ts +5 -0
  472. package/src/cli/commands/database/query/query.test.ts +55 -0
  473. package/src/cli/commands/database/query/query.ts +44 -0
  474. package/src/cli/commands/database/remove.ts +51 -0
  475. package/src/cli/commands/database/stats.ts +44 -0
  476. package/src/cli/commands/database/util.ts +32 -0
  477. package/src/cli/commands/index.ts +7 -0
  478. package/src/cli/commands/queue/index.ts +12 -0
  479. package/src/cli/commands/queue/query.ts +45 -0
  480. package/src/cli/commands/queue/util.ts +19 -0
  481. package/src/cli/commands/space/close/close.ts +40 -0
  482. package/src/cli/commands/space/close/index.ts +5 -0
  483. package/src/cli/commands/space/create/create.test.ts +67 -0
  484. package/src/cli/commands/space/create/create.ts +61 -0
  485. package/src/cli/commands/space/create/index.ts +5 -0
  486. package/src/cli/commands/space/index.ts +21 -0
  487. package/src/cli/commands/space/info/index.ts +5 -0
  488. package/src/cli/commands/space/info/info.test.ts +47 -0
  489. package/src/cli/commands/space/info/info.ts +37 -0
  490. package/src/cli/commands/space/join/index.ts +5 -0
  491. package/src/cli/commands/space/join/join.ts +122 -0
  492. package/src/cli/commands/space/join/util.ts +82 -0
  493. package/src/cli/commands/space/list/index.ts +5 -0
  494. package/src/cli/commands/space/list/list.test.ts +36 -0
  495. package/src/cli/commands/space/list/list.ts +30 -0
  496. package/src/cli/commands/space/members/index.ts +5 -0
  497. package/src/cli/commands/space/members/members.test.ts +46 -0
  498. package/src/cli/commands/space/members/members.ts +40 -0
  499. package/src/cli/commands/space/members/util.ts +29 -0
  500. package/src/cli/commands/space/open/index.ts +5 -0
  501. package/src/cli/commands/space/open/open.ts +39 -0
  502. package/src/cli/commands/space/schema/index.ts +12 -0
  503. package/src/cli/commands/space/schema/list/index.ts +5 -0
  504. package/src/cli/commands/space/schema/list/list.test.ts +42 -0
  505. package/src/cli/commands/space/schema/list/list.ts +64 -0
  506. package/src/cli/commands/space/schema/list/util.ts +39 -0
  507. package/src/cli/commands/space/share/index.ts +5 -0
  508. package/src/cli/commands/space/share/share.ts +112 -0
  509. package/src/cli/commands/space/sync/index.ts +5 -0
  510. package/src/cli/commands/space/sync/sync.test.ts +12 -0
  511. package/src/cli/commands/space/sync/sync.ts +33 -0
  512. package/src/cli/index.ts +5 -0
  513. package/src/cli/plugin.ts +89 -0
  514. package/src/components/AwaitingObject.tsx +22 -20
  515. package/src/components/CreateDialog/CreateObjectPanel.tsx +152 -114
  516. package/src/components/CreateDialog/index.ts +1 -2
  517. package/src/components/ObjectDetails/BaseObjectSettings.stories.tsx +63 -0
  518. package/src/components/ObjectDetails/BaseObjectSettings.tsx +122 -0
  519. package/src/components/{ObjectSettings → ObjectDetails}/ForeignKeys.tsx +5 -5
  520. package/src/components/ObjectDetails/index.ts +6 -0
  521. package/src/components/ObjectForm/ObjectForm.tsx +97 -0
  522. package/src/components/ObjectForm/index.ts +5 -0
  523. package/src/components/SyncStatus/index.ts +2 -2
  524. package/src/components/SyncStatus/save-tracker.ts +2 -2
  525. package/src/components/index.ts +2 -19
  526. package/src/constants.ts +11 -0
  527. package/src/containers/CollectionArticle/CollectionArticle.tsx +180 -0
  528. package/src/containers/CollectionArticle/index.ts +7 -0
  529. package/src/containers/CollectionSection/CollectionSection.tsx +22 -0
  530. package/src/containers/CollectionSection/index.ts +7 -0
  531. package/src/containers/CreateObjectDialog/CreateObjectDialog.tsx +164 -0
  532. package/src/containers/CreateObjectDialog/index.ts +7 -0
  533. package/src/containers/CreateSpaceDialog/CreateSpaceDialog.tsx +70 -0
  534. package/src/containers/CreateSpaceDialog/index.ts +7 -0
  535. package/src/{components/SyncStatus → containers/InlineSyncStatus}/InlineSyncStatus.tsx +6 -6
  536. package/src/containers/InlineSyncStatus/index.ts +7 -0
  537. package/src/{components → containers/JoinDialog}/JoinDialog.tsx +27 -37
  538. package/src/containers/JoinDialog/index.ts +7 -0
  539. package/src/{components → containers/MembersContainer}/MembersContainer.tsx +86 -89
  540. package/src/containers/MembersContainer/index.ts +7 -0
  541. package/src/{components → containers/MenuFooter}/MenuFooter.tsx +6 -6
  542. package/src/containers/MenuFooter/index.ts +7 -0
  543. package/src/containers/ObjectCardStack/ObjectCardStack.tsx +82 -0
  544. package/src/containers/ObjectCardStack/index.ts +7 -0
  545. package/src/containers/ObjectDetails/ObjectDetails.tsx +36 -0
  546. package/src/containers/ObjectDetails/index.ts +7 -0
  547. package/src/{components/PopoverRenameObject.tsx → containers/ObjectRenamePopover/ObjectRenamePopover.tsx} +11 -15
  548. package/src/containers/ObjectRenamePopover/index.ts +7 -0
  549. package/src/containers/RecordArticle/RecordArticle.tsx +124 -0
  550. package/src/containers/RecordArticle/index.ts +7 -0
  551. package/src/containers/SchemaContainer/SchemaContainer.tsx +60 -0
  552. package/src/containers/SchemaContainer/index.ts +7 -0
  553. package/src/containers/SmallPresenceLive/index.ts +5 -0
  554. package/src/containers/SpacePluginSettings/SpacePluginSettings.tsx +65 -0
  555. package/src/containers/SpacePluginSettings/index.ts +7 -0
  556. package/src/{components → containers/SpacePresence}/SpacePresence.stories.tsx +3 -3
  557. package/src/{components → containers/SpacePresence}/SpacePresence.tsx +26 -22
  558. package/src/containers/SpacePresence/index.ts +7 -0
  559. package/src/{components/PopoverRenameSpace.tsx → containers/SpaceRenamePopover/SpaceRenamePopover.tsx} +15 -15
  560. package/src/containers/SpaceRenamePopover/index.ts +7 -0
  561. package/src/{components/SpaceSettings → containers/SpaceSettingsContainer}/SpaceSettingsContainer.stories.tsx +7 -7
  562. package/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.tsx +202 -0
  563. package/src/containers/SpaceSettingsContainer/index.ts +7 -0
  564. package/src/{components → containers}/SyncStatus/SyncStatus.stories.tsx +4 -3
  565. package/src/containers/SyncStatus/SyncStatus.tsx +153 -0
  566. package/src/containers/SyncStatus/index.ts +7 -0
  567. package/src/containers/ViewEditor/ViewEditor.tsx +103 -0
  568. package/src/containers/ViewEditor/index.ts +7 -0
  569. package/src/containers/index.ts +28 -0
  570. package/src/helpers/index.ts +5 -0
  571. package/src/helpers/query.test.ts +24 -0
  572. package/src/helpers/query.ts +166 -0
  573. package/src/hooks/index.ts +1 -0
  574. package/src/hooks/useActiveSpace.ts +8 -4
  575. package/src/hooks/useInputSurfaceLookup.tsx +9 -13
  576. package/src/hooks/usePath.ts +4 -4
  577. package/src/hooks/useTypeOptions.ts +25 -0
  578. package/src/index.ts +4 -3
  579. package/src/meta.ts +7 -2
  580. package/src/translations.ts +69 -58
  581. package/src/types/capabilities.ts +73 -0
  582. package/src/types/events.ts +16 -0
  583. package/src/types/form.ts +69 -0
  584. package/src/types/index.ts +3 -0
  585. package/src/types/types.ts +539 -256
  586. package/src/util.tsx +707 -476
  587. package/dist/lib/browser/CollectionMain-AX7KKXWP.mjs +0 -31
  588. package/dist/lib/browser/CollectionMain-AX7KKXWP.mjs.map +0 -7
  589. package/dist/lib/browser/ObjectDetailsPanel-SJ4XUXXX.mjs +0 -90
  590. package/dist/lib/browser/ObjectDetailsPanel-SJ4XUXXX.mjs.map +0 -7
  591. package/dist/lib/browser/RecordMain-FHPCS6GM.mjs +0 -68
  592. package/dist/lib/browser/RecordMain-FHPCS6GM.mjs.map +0 -7
  593. package/dist/lib/browser/app-graph-builder-Y2LBZX2G.mjs +0 -520
  594. package/dist/lib/browser/app-graph-builder-Y2LBZX2G.mjs.map +0 -7
  595. package/dist/lib/browser/app-graph-serializer-425OVRTW.mjs +0 -80
  596. package/dist/lib/browser/app-graph-serializer-425OVRTW.mjs.map +0 -7
  597. package/dist/lib/browser/chunk-6KVKMOGQ.mjs +0 -1975
  598. package/dist/lib/browser/chunk-6KVKMOGQ.mjs.map +0 -7
  599. package/dist/lib/browser/chunk-CVZAZRW4.mjs +0 -94
  600. package/dist/lib/browser/chunk-CVZAZRW4.mjs.map +0 -7
  601. package/dist/lib/browser/chunk-EIXZABXD.mjs +0 -19
  602. package/dist/lib/browser/chunk-EIXZABXD.mjs.map +0 -7
  603. package/dist/lib/browser/chunk-IRKDREHY.mjs +0 -11
  604. package/dist/lib/browser/chunk-IRKDREHY.mjs.map +0 -7
  605. package/dist/lib/browser/chunk-OYHC63NL.mjs +0 -344
  606. package/dist/lib/browser/chunk-OYHC63NL.mjs.map +0 -7
  607. package/dist/lib/browser/chunk-PUF3B7XO.mjs +0 -20
  608. package/dist/lib/browser/chunk-PUF3B7XO.mjs.map +0 -7
  609. package/dist/lib/browser/chunk-X6COEDOD.mjs +0 -704
  610. package/dist/lib/browser/chunk-X6COEDOD.mjs.map +0 -7
  611. package/dist/lib/browser/chunk-YZJWWMNB.mjs.map +0 -7
  612. package/dist/lib/browser/identity-created-PW2BA46S.mjs +0 -23
  613. package/dist/lib/browser/identity-created-PW2BA46S.mjs.map +0 -7
  614. package/dist/lib/browser/intent-resolver-2TBYHOBA.mjs +0 -765
  615. package/dist/lib/browser/intent-resolver-2TBYHOBA.mjs.map +0 -7
  616. package/dist/lib/browser/react-root-KMJXJ5VX.mjs +0 -29
  617. package/dist/lib/browser/react-root-KMJXJ5VX.mjs.map +0 -7
  618. package/dist/lib/browser/react-surface-YAJUAMER.mjs +0 -385
  619. package/dist/lib/browser/react-surface-YAJUAMER.mjs.map +0 -7
  620. package/dist/lib/browser/schema-defs-2OCPV7JF.mjs +0 -26
  621. package/dist/lib/browser/schema-defs-2OCPV7JF.mjs.map +0 -7
  622. package/dist/lib/browser/settings-UYYJ225A.mjs +0 -24
  623. package/dist/lib/browser/settings-UYYJ225A.mjs.map +0 -7
  624. package/dist/lib/browser/spaces-ready-YNZPWXA3.mjs +0 -201
  625. package/dist/lib/browser/spaces-ready-YNZPWXA3.mjs.map +0 -7
  626. package/dist/lib/browser/state-BPU73TYO.mjs +0 -47
  627. package/dist/lib/browser/state-BPU73TYO.mjs.map +0 -7
  628. package/dist/lib/node-esm/CollectionMain-EU57SRYK.mjs +0 -32
  629. package/dist/lib/node-esm/CollectionMain-EU57SRYK.mjs.map +0 -7
  630. package/dist/lib/node-esm/ObjectDetailsPanel-P7D727OV.mjs +0 -91
  631. package/dist/lib/node-esm/ObjectDetailsPanel-P7D727OV.mjs.map +0 -7
  632. package/dist/lib/node-esm/RecordMain-V73AEB6N.mjs +0 -70
  633. package/dist/lib/node-esm/RecordMain-V73AEB6N.mjs.map +0 -7
  634. package/dist/lib/node-esm/app-graph-builder-DMNLDT7E.mjs +0 -521
  635. package/dist/lib/node-esm/app-graph-builder-DMNLDT7E.mjs.map +0 -7
  636. package/dist/lib/node-esm/app-graph-serializer-ZEDSY77N.mjs +0 -81
  637. package/dist/lib/node-esm/app-graph-serializer-ZEDSY77N.mjs.map +0 -7
  638. package/dist/lib/node-esm/chunk-36TAYXV7.mjs +0 -21
  639. package/dist/lib/node-esm/chunk-36TAYXV7.mjs.map +0 -7
  640. package/dist/lib/node-esm/chunk-7UIEPBQJ.mjs.map +0 -7
  641. package/dist/lib/node-esm/chunk-ADEZJQE3.mjs +0 -345
  642. package/dist/lib/node-esm/chunk-ADEZJQE3.mjs.map +0 -7
  643. package/dist/lib/node-esm/chunk-FLRC6XWU.mjs +0 -96
  644. package/dist/lib/node-esm/chunk-FLRC6XWU.mjs.map +0 -7
  645. package/dist/lib/node-esm/chunk-L26ZIGHA.mjs +0 -1976
  646. package/dist/lib/node-esm/chunk-L26ZIGHA.mjs.map +0 -7
  647. package/dist/lib/node-esm/chunk-MWNATOXL.mjs +0 -13
  648. package/dist/lib/node-esm/chunk-MWNATOXL.mjs.map +0 -7
  649. package/dist/lib/node-esm/chunk-SVFKU7EW.mjs +0 -20
  650. package/dist/lib/node-esm/chunk-SVFKU7EW.mjs.map +0 -7
  651. package/dist/lib/node-esm/chunk-ZFCCFELA.mjs +0 -705
  652. package/dist/lib/node-esm/chunk-ZFCCFELA.mjs.map +0 -7
  653. package/dist/lib/node-esm/identity-created-MWTLGQRU.mjs +0 -25
  654. package/dist/lib/node-esm/identity-created-MWTLGQRU.mjs.map +0 -7
  655. package/dist/lib/node-esm/intent-resolver-YOG27WOG.mjs +0 -766
  656. package/dist/lib/node-esm/intent-resolver-YOG27WOG.mjs.map +0 -7
  657. package/dist/lib/node-esm/react-root-27QMJZD2.mjs +0 -30
  658. package/dist/lib/node-esm/react-root-27QMJZD2.mjs.map +0 -7
  659. package/dist/lib/node-esm/react-surface-RC73GAN5.mjs +0 -386
  660. package/dist/lib/node-esm/react-surface-RC73GAN5.mjs.map +0 -7
  661. package/dist/lib/node-esm/schema-defs-X2Z7F2EV.mjs +0 -27
  662. package/dist/lib/node-esm/schema-defs-X2Z7F2EV.mjs.map +0 -7
  663. package/dist/lib/node-esm/settings-Q736OQRP.mjs +0 -25
  664. package/dist/lib/node-esm/settings-Q736OQRP.mjs.map +0 -7
  665. package/dist/lib/node-esm/spaces-ready-XZQD7Q65.mjs +0 -202
  666. package/dist/lib/node-esm/spaces-ready-XZQD7Q65.mjs.map +0 -7
  667. package/dist/lib/node-esm/state-BY75TM32.mjs +0 -48
  668. package/dist/lib/node-esm/state-BY75TM32.mjs.map +0 -7
  669. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  670. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  671. package/dist/types/src/capabilities/app-graph-serializer.d.ts +0 -4
  672. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +0 -1
  673. package/dist/types/src/capabilities/capabilities.d.ts +0 -28
  674. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  675. package/dist/types/src/capabilities/identity-created.d.ts +0 -4
  676. package/dist/types/src/capabilities/identity-created.d.ts.map +0 -1
  677. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -9
  678. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  679. package/dist/types/src/capabilities/react-root.d.ts +0 -7
  680. package/dist/types/src/capabilities/react-root.d.ts.map +0 -1
  681. package/dist/types/src/capabilities/react-surface.d.ts +0 -7
  682. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  683. package/dist/types/src/capabilities/schema-defs.d.ts +0 -4
  684. package/dist/types/src/capabilities/schema-defs.d.ts.map +0 -1
  685. package/dist/types/src/capabilities/settings.d.ts +0 -4
  686. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  687. package/dist/types/src/capabilities/spaces-ready.d.ts +0 -4
  688. package/dist/types/src/capabilities/spaces-ready.d.ts.map +0 -1
  689. package/dist/types/src/capabilities/state.d.ts +0 -5
  690. package/dist/types/src/capabilities/state.d.ts.map +0 -1
  691. package/dist/types/src/components/CollectionMain.d.ts +0 -7
  692. package/dist/types/src/components/CollectionMain.d.ts.map +0 -1
  693. package/dist/types/src/components/CollectionSection.d.ts +0 -6
  694. package/dist/types/src/components/CollectionSection.d.ts.map +0 -1
  695. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +0 -1
  696. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +0 -1590
  697. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +0 -1
  698. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +0 -1
  699. package/dist/types/src/components/JoinDialog.d.ts.map +0 -1
  700. package/dist/types/src/components/MembersContainer.d.ts.map +0 -1
  701. package/dist/types/src/components/MenuFooter.d.ts.map +0 -1
  702. package/dist/types/src/components/ObjectDetailsPanel.d.ts +0 -9
  703. package/dist/types/src/components/ObjectDetailsPanel.d.ts.map +0 -1
  704. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts +0 -7
  705. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +0 -1
  706. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +0 -1
  707. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts +0 -8
  708. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +0 -1
  709. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts +0 -8
  710. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +0 -1
  711. package/dist/types/src/components/ObjectSettings/index.d.ts +0 -2
  712. package/dist/types/src/components/ObjectSettings/index.d.ts.map +0 -1
  713. package/dist/types/src/components/PersistenceStatus.d.ts +0 -6
  714. package/dist/types/src/components/PersistenceStatus.d.ts.map +0 -1
  715. package/dist/types/src/components/PopoverRenameObject.d.ts +0 -7
  716. package/dist/types/src/components/PopoverRenameObject.d.ts.map +0 -1
  717. package/dist/types/src/components/PopoverRenameSpace.d.ts +0 -7
  718. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +0 -1
  719. package/dist/types/src/components/RecordMain.d.ts +0 -7
  720. package/dist/types/src/components/RecordMain.d.ts.map +0 -1
  721. package/dist/types/src/components/SchemaContainer.d.ts.map +0 -1
  722. package/dist/types/src/components/SpacePluginSettings.d.ts +0 -6
  723. package/dist/types/src/components/SpacePluginSettings.d.ts.map +0 -1
  724. package/dist/types/src/components/SpacePresence.d.ts.map +0 -1
  725. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts +0 -7
  726. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +0 -1
  727. package/dist/types/src/components/SpaceSettings/index.d.ts +0 -2
  728. package/dist/types/src/components/SpaceSettings/index.d.ts.map +0 -1
  729. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +0 -1
  730. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +0 -1
  731. package/dist/types/src/components/ViewEditor.d.ts +0 -8
  732. package/dist/types/src/components/ViewEditor.d.ts.map +0 -1
  733. package/dist/types/src/events.d.ts +0 -8
  734. package/dist/types/src/events.d.ts.map +0 -1
  735. package/src/capabilities/app-graph-builder.ts +0 -757
  736. package/src/capabilities/app-graph-serializer.ts +0 -76
  737. package/src/capabilities/capabilities.ts +0 -30
  738. package/src/capabilities/identity-created.ts +0 -25
  739. package/src/capabilities/intent-resolver.ts +0 -706
  740. package/src/capabilities/react-root.tsx +0 -21
  741. package/src/capabilities/react-surface.tsx +0 -400
  742. package/src/capabilities/schema-defs.ts +0 -31
  743. package/src/capabilities/settings.ts +0 -21
  744. package/src/capabilities/spaces-ready.ts +0 -234
  745. package/src/capabilities/state.ts +0 -46
  746. package/src/components/CollectionMain.tsx +0 -32
  747. package/src/components/CollectionSection.tsx +0 -20
  748. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +0 -85
  749. package/src/components/CreateDialog/CreateObjectDialog.tsx +0 -135
  750. package/src/components/CreateDialog/CreateSpaceDialog.tsx +0 -67
  751. package/src/components/MembersContainer.stories.tsx +0 -56
  752. package/src/components/ObjectDetailsPanel.tsx +0 -79
  753. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +0 -81
  754. package/src/components/ObjectSettings/BaseObjectSettings.tsx +0 -47
  755. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +0 -37
  756. package/src/components/ObjectSettings/index.ts +0 -5
  757. package/src/components/PersistenceStatus.tsx +0 -83
  758. package/src/components/RecordMain.tsx +0 -43
  759. package/src/components/SchemaContainer.tsx +0 -59
  760. package/src/components/SpacePluginSettings.tsx +0 -52
  761. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +0 -185
  762. package/src/components/SpaceSettings/index.ts +0 -5
  763. package/src/components/SyncStatus/SyncStatus.tsx +0 -59
  764. package/src/components/ViewEditor.tsx +0 -59
  765. package/src/events.ts +0 -15
  766. /package/dist/types/src/{components/CreateDialog → containers/CreateSpaceDialog}/CreateSpaceDialog.d.ts +0 -0
  767. /package/dist/types/src/{components/SyncStatus → containers/InlineSyncStatus}/InlineSyncStatus.d.ts +0 -0
  768. /package/dist/types/src/{components → containers/JoinDialog}/JoinDialog.d.ts +0 -0
  769. /package/dist/types/src/{components → containers/MembersContainer}/MembersContainer.d.ts +0 -0
  770. /package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.d.ts +0 -0
@@ -0,0 +1,675 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { type Atom } from '@effect-atom/atom-react';
6
+ import * as Effect from 'effect/Effect';
7
+ import * as Match from 'effect/Match';
8
+ import * as Option from 'effect/Option';
9
+ import * as Schema from 'effect/Schema';
10
+
11
+ import { Capability } from '@dxos/app-framework';
12
+ import { AppCapabilities } from '@dxos/app-toolkit';
13
+ import { type Space, SpaceState, getSpace, isSpace, parseId } from '@dxos/client/echo';
14
+ import { DXN, Feed, Filter, Obj, type Ref, Type } from '@dxos/echo';
15
+ import { Collection } from '@dxos/echo';
16
+ import { AtomObj, AtomQuery } from '@dxos/echo-atom';
17
+ import { Operation } from '@dxos/operation';
18
+ import { ClientCapabilities } from '@dxos/plugin-client';
19
+ import { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from '@dxos/plugin-deck/types';
20
+ import { CreateAtom, GraphBuilder, type Node, NodeMatcher } from '@dxos/plugin-graph';
21
+ import { Expando, ManagedCollection, ViewAnnotation, getTypenameFromQuery } from '@dxos/schema';
22
+ import { isNonNullable } from '@dxos/util';
23
+
24
+ import { getActiveSpace } from '../../hooks';
25
+ import { meta } from '../../meta';
26
+ import { SPACE_TYPE, SpaceCapabilities, SpaceOperation, type SpacePluginOptions } from '../../types';
27
+ import {
28
+ SHARED,
29
+ constructObjectActions,
30
+ constructSpaceActions,
31
+ constructSpaceNode,
32
+ createObjectNode,
33
+ createStaticSchemaActions,
34
+ createStaticSchemaNode,
35
+ } from '../../util';
36
+
37
+ /** Match space nodes and return the Space object. */
38
+ const whenSpace = (node: Node.Node): Option.Option<Space> =>
39
+ node.type === SPACE_TYPE && isSpace(node.data) ? Option.some(node.data) : Option.none();
40
+
41
+ export default Capability.makeModule(
42
+ Effect.fnUntraced(function* ({ shareableLinkOrigin = window.location.origin }: SpacePluginOptions = {}) {
43
+ const capabilities = yield* Capability.Service;
44
+
45
+ // TODO(wittjosiah): Using `get` and being reactive seems to cause a bug with Atom where disposed atoms are accessed.
46
+ const resolve = (get: Atom.Context) => (typename: string) =>
47
+ capabilities.getAll(AppCapabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
48
+
49
+ const extensions = yield* Effect.all([
50
+ // Primary actions.
51
+ GraphBuilder.createExtension({
52
+ id: `${meta.id}/primary-actions`,
53
+ position: 'hoist',
54
+ match: NodeMatcher.whenRoot,
55
+ actions: () =>
56
+ Effect.succeed([
57
+ {
58
+ id: SpaceOperation.OpenCreateSpace.meta.key,
59
+ data: () => Operation.invoke(SpaceOperation.OpenCreateSpace),
60
+ properties: {
61
+ label: ['create space label', { ns: meta.id }],
62
+ icon: 'ph--plus--regular',
63
+ testId: 'spacePlugin.createSpace',
64
+ disposition: 'menu',
65
+ },
66
+ },
67
+ {
68
+ id: SpaceOperation.Join.meta.key,
69
+ data: () => Operation.invoke(SpaceOperation.Join, {}),
70
+ properties: {
71
+ label: ['join space label', { ns: meta.id }],
72
+ icon: 'ph--sign-in--regular',
73
+ testId: 'spacePlugin.joinSpace',
74
+ disposition: 'menu',
75
+ },
76
+ },
77
+ {
78
+ id: SpaceOperation.OpenMembers.meta.key,
79
+ data: Effect.fnUntraced(function* () {
80
+ const client = yield* Capability.get(ClientCapabilities.Client);
81
+ const space = getActiveSpace(capabilities) ?? client.spaces.default;
82
+ yield* Operation.invoke(SpaceOperation.OpenMembers, { space });
83
+ }),
84
+ properties: {
85
+ label: ['share space label', { ns: meta.id }],
86
+ icon: 'ph--users--regular',
87
+ testId: 'spacePlugin.shareSpace',
88
+ keyBinding: {
89
+ macos: 'meta+.',
90
+ windows: 'alt+.',
91
+ },
92
+ },
93
+ },
94
+ {
95
+ id: SpaceOperation.OpenSettings.meta.key,
96
+ data: Effect.fnUntraced(function* () {
97
+ const client = yield* Capability.get(ClientCapabilities.Client);
98
+ const space = getActiveSpace(capabilities) ?? client.spaces.default;
99
+ yield* Operation.invoke(SpaceOperation.OpenSettings, { space });
100
+ }),
101
+ properties: {
102
+ label: ['open current space settings label', { ns: meta.id }],
103
+ icon: 'ph--faders--regular',
104
+ keyBinding: {
105
+ macos: 'meta+shift+,',
106
+ windows: 'ctrl+shift+,',
107
+ },
108
+ },
109
+ },
110
+ ]),
111
+ }),
112
+
113
+ // Create space nodes.
114
+ GraphBuilder.createExtension({
115
+ id: `${meta.id}/spaces`,
116
+ match: NodeMatcher.whenRoot,
117
+ connector: (node, get) => {
118
+ const client = capabilities.get(ClientCapabilities.Client);
119
+ const stateAtom = capabilities.get(SpaceCapabilities.State);
120
+ const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
121
+ const spacesAtom = CreateAtom.fromObservable(client.spaces);
122
+ const isReadyAtom = CreateAtom.fromObservable(client.spaces.isReady);
123
+
124
+ const spaces = get(spacesAtom);
125
+ const isReady = get(isReadyAtom);
126
+
127
+ if (!spaces || !isReady) {
128
+ return Effect.succeed([]);
129
+ }
130
+
131
+ const settingsAtom = capabilities.get(SpaceCapabilities.Settings);
132
+ const settings = get(settingsAtom);
133
+ const state = get(stateAtom);
134
+ const ephemeralState = get(ephemeralAtom);
135
+
136
+ try {
137
+ const [spacesOrder] = get(
138
+ AtomQuery.make(client.spaces.default.db, Filter.type(Expando.Expando, { key: SHARED })),
139
+ );
140
+ const { graph } = capabilities.get(AppCapabilities.AppGraph);
141
+
142
+ // Get order from spacesOrder snapshot using AtomObj (cached via Atom.family).
143
+ const spacesOrderSnapshot = spacesOrder ? get(AtomObj.make(spacesOrder)) : undefined;
144
+ const order: string[] = (spacesOrderSnapshot as any)?.order ?? [];
145
+ const orderMap = new Map(order.map((id, index) => [id, index]));
146
+
147
+ // Subscribe to space states for filtering.
148
+ const spaceStates = spaces.map((space) => get(CreateAtom.fromObservable(space.state)));
149
+
150
+ // Subscribe to space properties to react when root collection is assigned.
151
+ spaces.forEach((space) => {
152
+ if (space.state.get() === SpaceState.SPACE_READY) {
153
+ get(AtomObj.make(space.properties));
154
+ }
155
+ });
156
+
157
+ return Effect.succeed(
158
+ [
159
+ ...spaces
160
+ .filter((space) => orderMap.has(space.id))
161
+ .sort((a, b) => orderMap.get(a.id)! - orderMap.get(b.id)!),
162
+ ...spaces.filter((space) => !orderMap.has(space.id)),
163
+ ]
164
+ .filter((space, i) => (settings?.showHidden ? true : spaceStates[i] !== SpaceState.SPACE_INACTIVE))
165
+ .map((space) =>
166
+ constructSpaceNode({
167
+ space,
168
+ navigable: ephemeralState.navigableCollections,
169
+ personal: space === client.spaces.default,
170
+ namesCache: state.spaceNames,
171
+ resolve: resolve(get),
172
+ graph,
173
+ spacesOrder,
174
+ }),
175
+ ),
176
+ );
177
+ } catch {
178
+ return Effect.succeed([]);
179
+ }
180
+ },
181
+ resolver: (id, get) => {
182
+ // Resolve space ID to space node.
183
+ const { spaceId } = parseId(id);
184
+ if (!spaceId) {
185
+ return Effect.succeed(null);
186
+ }
187
+
188
+ const client = capabilities.get(ClientCapabilities.Client);
189
+
190
+ // Subscribe to spaces observable to react when space becomes available.
191
+ const spaces = get(CreateAtom.fromObservable(client.spaces));
192
+ const space = spaces?.find((s) => s.id === spaceId);
193
+ if (!space) {
194
+ return Effect.succeed(null);
195
+ }
196
+
197
+ // Only subscribe to these atoms if the space exists.
198
+ const state = get(capabilities.get(SpaceCapabilities.State));
199
+ const ephemeralState = get(capabilities.get(SpaceCapabilities.EphemeralState));
200
+
201
+ const { graph } = capabilities.get(AppCapabilities.AppGraph);
202
+ const [spacesOrder] = get(
203
+ AtomQuery.make(client.spaces.default.db, Filter.type(Expando.Expando, { key: SHARED })),
204
+ );
205
+
206
+ return Effect.succeed(
207
+ constructSpaceNode({
208
+ space,
209
+ navigable: ephemeralState.navigableCollections,
210
+ personal: space === client.spaces.default,
211
+ namesCache: state.spaceNames,
212
+ resolve: resolve(get),
213
+ graph,
214
+ spacesOrder,
215
+ }),
216
+ );
217
+ },
218
+ }),
219
+
220
+ // Create space actions.
221
+ GraphBuilder.createExtension({
222
+ id: `${meta.id}/actions`,
223
+ match: whenSpace,
224
+ actions: (space, get) => {
225
+ const [client] = get(capabilities.atom(ClientCapabilities.Client));
226
+ const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
227
+ const ephemeralState = get(ephemeralAtom);
228
+
229
+ if (!client) {
230
+ return Effect.succeed([]);
231
+ }
232
+
233
+ return Effect.succeed(
234
+ constructSpaceActions({
235
+ space,
236
+ migrating: ephemeralState.sdkMigrationRunning[space.id],
237
+ }),
238
+ );
239
+ },
240
+ }),
241
+
242
+ // Create nodes for objects in the root collection of a space.
243
+ GraphBuilder.createExtension({
244
+ id: `${meta.id}/root-collection`,
245
+ match: whenSpace,
246
+ connector: (space, get) => {
247
+ const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
248
+ const ephemeralState = get(ephemeralAtom);
249
+ const spaceState = get(CreateAtom.fromObservable(space.state));
250
+ if (spaceState !== SpaceState.SPACE_READY) {
251
+ return Effect.succeed([]);
252
+ }
253
+
254
+ // Get the collection ref from space.properties snapshot (AtomObj cached via Atom.family).
255
+ const propertiesSnapshot = get(AtomObj.make(space.properties));
256
+ const collectionRef = propertiesSnapshot[Collection.Collection.typename] as
257
+ | Ref.Ref<Collection.Collection>
258
+ | undefined;
259
+ // Resolve the collection using AtomObj (subscribes to collection changes).
260
+ const collection = collectionRef ? get(AtomObj.make(collectionRef)) : undefined;
261
+ if (!collection) {
262
+ return Effect.succeed([]);
263
+ }
264
+
265
+ const rawRefs = collection.objects ?? [];
266
+
267
+ // TODO(wittjosiah): Workaround for Obj.getTypename not working on snapshots.
268
+ // AtomObj.make(ref) returns snapshots (plain objects without ECHO metadata),
269
+ // but createObjectNode needs live objects to access typename and other metadata.
270
+ // Once Obj.getTypename works on snapshots, we can use snapshots directly.
271
+ const objects = rawRefs
272
+ .map((ref) => {
273
+ // Subscribe to the ref for reactivity (triggers re-render when target changes).
274
+ get(AtomObj.make(ref));
275
+ // Return the live object for createObjectNode (has typename metadata).
276
+ return ref.target;
277
+ })
278
+ .filter(isNonNullable);
279
+
280
+ return Effect.succeed(
281
+ objects
282
+ .map((object) =>
283
+ createObjectNode({
284
+ db: space.db,
285
+ object,
286
+ resolve: resolve(get),
287
+ navigable: ephemeralState.navigableCollections,
288
+ parentCollection: collectionRef?.target,
289
+ }),
290
+ )
291
+ .filter(isNonNullable),
292
+ );
293
+ },
294
+ }),
295
+
296
+ // Create nodes for objects in a collection or by its DXN.
297
+ GraphBuilder.createExtension({
298
+ id: `${meta.id}/objects`,
299
+ match: (node) => (Obj.instanceOf(Collection.Collection, node.data) ? Option.some(node.data) : Option.none()),
300
+ connector: (collection, get) => {
301
+ const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
302
+ const ephemeralState = get(ephemeralAtom);
303
+ const space = getSpace(collection);
304
+
305
+ // Get collection snapshot using AtomObj (cached via Atom.family).
306
+ const collectionSnapshot = get(AtomObj.make(collection));
307
+ const refs = collectionSnapshot.objects ?? [];
308
+
309
+ // TODO(wittjosiah): Workaround for Obj.getTypename not working on snapshots.
310
+ // See root-collection connector for details.
311
+ const objects = refs
312
+ .map((ref) => {
313
+ get(AtomObj.make(ref));
314
+ return ref.target;
315
+ })
316
+ .filter(isNonNullable);
317
+
318
+ return Effect.succeed(
319
+ objects
320
+ .map(
321
+ (object) =>
322
+ space &&
323
+ createObjectNode({
324
+ object,
325
+ db: space.db,
326
+ resolve: resolve(get),
327
+ navigable: ephemeralState.navigableCollections,
328
+ parentCollection: collection,
329
+ }),
330
+ )
331
+ .filter(isNonNullable),
332
+ );
333
+ },
334
+ resolver: (id, get) => {
335
+ const client = capabilities.get(ClientCapabilities.Client);
336
+ const dxn = DXN.tryParse(id)?.asEchoDXN();
337
+ if (!dxn || !dxn.spaceId) {
338
+ return Effect.succeed(null);
339
+ }
340
+
341
+ const space = client.spaces.get(dxn.spaceId);
342
+ if (!space) {
343
+ return Effect.succeed(null);
344
+ }
345
+
346
+ const object = get(AtomQuery.make(space.db, Filter.id(dxn.echoId))).at(0);
347
+ if (!Obj.isObject(object)) {
348
+ return Effect.succeed(null);
349
+ }
350
+
351
+ return Effect.succeed(
352
+ createObjectNode({
353
+ object,
354
+ db: space.db,
355
+ resolve: resolve(get),
356
+ disposition: 'hidden',
357
+ }),
358
+ );
359
+ },
360
+ }),
361
+
362
+ // Create object nodes for schema-based system collections.
363
+ GraphBuilder.createExtension({
364
+ id: `${meta.id}/system-collections`,
365
+ match: (node) =>
366
+ Obj.instanceOf(ManagedCollection.ManagedCollection, node.data) ? Option.some(node.data) : Option.none(),
367
+ connector: (collection, get) => {
368
+ const [typename, feedKind] = collection.key.split('~');
369
+ const client = get(capabilities.atom(ClientCapabilities.Client)).at(0);
370
+ const space = getSpace(collection);
371
+ if (!space || !client) {
372
+ return Effect.succeed([]);
373
+ }
374
+
375
+ const filter = Match.value(typename).pipe(
376
+ Match.when(Feed.Feed.typename, () => Filter.type(Feed.Feed, { kind: feedKind })),
377
+ Match.orElse((typename) => {
378
+ const schema = client.graph.schemaRegistry
379
+ .query({ typename, location: ['runtime'], includeSystem: true })
380
+ .runSync()[0];
381
+ return schema ? Filter.type(schema) : undefined;
382
+ }),
383
+ );
384
+ if (!filter) {
385
+ return Effect.succeed([]);
386
+ }
387
+
388
+ return Effect.succeed(
389
+ get(AtomQuery.make(space.db, filter))
390
+ .map((object) => {
391
+ get(AtomObj.make(object));
392
+ return createObjectNode({
393
+ object,
394
+ db: space.db,
395
+ managedCollectionChild: true,
396
+ resolve: resolve(get),
397
+ });
398
+ })
399
+ .filter(isNonNullable),
400
+ );
401
+ },
402
+ }),
403
+
404
+ // Create branch nodes for static schema record types.
405
+ GraphBuilder.createExtension({
406
+ id: `${meta.id}/static-schemas`,
407
+ match: (node: Node.Node) =>
408
+ Obj.instanceOf(ManagedCollection.ManagedCollection, node.data) &&
409
+ node.data.key === Type.getTypename(Type.PersistentType)
410
+ ? Option.some(node.data)
411
+ : Option.none(),
412
+ connector: (collection, get) => {
413
+ const client = get(capabilities.atom(ClientCapabilities.Client)).at(0);
414
+ const space = getSpace(collection);
415
+ if (!space) {
416
+ return Effect.succeed([]);
417
+ }
418
+
419
+ // Get staticRecords from properties snapshot (AtomObj cached via Atom.family).
420
+ const propertiesSnapshot = get(AtomObj.make(space.properties));
421
+ const staticRecords = (propertiesSnapshot.staticRecords ?? []) as string[];
422
+
423
+ return Effect.succeed(
424
+ staticRecords
425
+ .map((typename) => client?.graph.schemaRegistry.query({ typename, location: ['runtime'] }).runSync()[0])
426
+ .filter(isNonNullable)
427
+ .map((schema) => createStaticSchemaNode({ schema, space })),
428
+ );
429
+ },
430
+ }),
431
+
432
+ // Create actions for static schema record types.
433
+ GraphBuilder.createExtension({
434
+ id: `${meta.id}/static-schema-actions`,
435
+ match: (node) => {
436
+ const space = isSpace(node.properties.space) ? node.properties.space : undefined;
437
+ return space && Schema.isSchema(node.data) ? Option.some({ space, schema: node.data }) : Option.none();
438
+ },
439
+ actions: ({ space, schema }, get) => {
440
+ const schemas =
441
+ get(capabilities.atom(ClientCapabilities.Client))
442
+ .at(0)
443
+ ?.graph.schemaRegistry.query({ location: ['runtime'] })
444
+ .runSync() ?? [];
445
+ const filter = Filter.or(
446
+ ...schemas
447
+ .filter((schema) => ViewAnnotation.get(schema).pipe(Option.getOrElse(() => false)))
448
+ .map((schema) => Filter.type(schema)),
449
+ );
450
+
451
+ const objects = get(AtomQuery.make(space.db, filter));
452
+
453
+ // Filter views that match the schema typename using AtomObj and AtomRef (cached via Atom.family).
454
+ const targetTypename = Type.getTypename(schema as Type.AnyObj);
455
+ const filteredViews = objects.filter((viewObject) => {
456
+ const viewSnapshot = get(AtomObj.make(viewObject));
457
+ const viewRef = (viewSnapshot as any).view;
458
+ const viewTarget = viewRef ? get(AtomObj.make(viewRef)) : undefined;
459
+ return getTypenameFromQuery((viewTarget as any)?.query?.ast) === targetTypename;
460
+ });
461
+ const deletable = filteredViews.length === 0;
462
+
463
+ return Effect.succeed(
464
+ createStaticSchemaActions({
465
+ schema: schema as Type.AnyObj,
466
+ space,
467
+ deletable,
468
+ }),
469
+ );
470
+ },
471
+ }),
472
+
473
+ // Create nodes for views of record types.
474
+ GraphBuilder.createExtension({
475
+ id: `${meta.id}/schema-views`,
476
+ match: (node) => {
477
+ const space = getSpace(node.data) ?? (isSpace(node.properties.space) ? node.properties.space : undefined);
478
+ return space && (Obj.instanceOf(Type.PersistentType, node.data) || Schema.isSchema(node.data))
479
+ ? Option.some({ space, schema: node.data })
480
+ : Option.none();
481
+ },
482
+ connector: ({ space, schema }, get) => {
483
+ const schemas =
484
+ get(capabilities.atom(ClientCapabilities.Client))
485
+ .at(0)
486
+ ?.graph.schemaRegistry.query({ location: ['runtime'] })
487
+ .runSync() ?? [];
488
+ const filter = Filter.or(
489
+ ...schemas
490
+ .filter((schema) => ViewAnnotation.get(schema).pipe(Option.getOrElse(() => false)))
491
+ .map((schema) => Filter.type(schema)),
492
+ );
493
+
494
+ const typename = Schema.isSchema(schema) ? Type.getTypename(schema as Type.AnyObj) : schema.typename;
495
+ const objects = get(AtomQuery.make(space.db, filter));
496
+
497
+ // Filter and map using AtomObj and AtomRef (cached via Atom.family).
498
+ return Effect.succeed(
499
+ objects
500
+ .filter((object) => {
501
+ const objectSnapshot = get(AtomObj.make(object));
502
+ const viewRef = (objectSnapshot as any).view;
503
+ const viewTarget = viewRef ? get(AtomObj.make(viewRef)) : undefined;
504
+ return getTypenameFromQuery((viewTarget as any)?.query?.ast) === typename;
505
+ })
506
+ .map((object) =>
507
+ createObjectNode({
508
+ object,
509
+ db: space.db,
510
+ resolve: resolve(get),
511
+ droppable: false,
512
+ }),
513
+ )
514
+ .filter(isNonNullable),
515
+ );
516
+ },
517
+ }),
518
+
519
+ // Create collection actions and action groups.
520
+ GraphBuilder.createExtension({
521
+ id: `${meta.id}/object-actions`,
522
+ match: (node) => {
523
+ const space = getSpace(node.data);
524
+ return space && Obj.isObject(node.data) && Obj.getTypename(node.data) === node.type
525
+ ? Option.some({ space, object: node.data })
526
+ : Option.none();
527
+ },
528
+ actions: ({ space, object }, get) => {
529
+ const schemas =
530
+ get(capabilities.atom(ClientCapabilities.Client))
531
+ .at(0)
532
+ ?.graph.schemaRegistry.query({ location: ['runtime'] })
533
+ .runSync() ?? [];
534
+ const filter = Filter.or(
535
+ ...schemas
536
+ .filter((schema) => ViewAnnotation.get(schema).pipe(Option.getOrElse(() => false)))
537
+ .map((schema) => Filter.type(schema)),
538
+ );
539
+
540
+ const isSchema = Obj.instanceOf(Type.PersistentType, object);
541
+
542
+ let deletable = !isSchema && !Obj.instanceOf(ManagedCollection.ManagedCollection, object);
543
+ if (isSchema) {
544
+ const objects = get(AtomQuery.make(space.db, filter));
545
+ // Filter views using AtomObj and AtomRef (cached via Atom.family).
546
+ const filteredViews = objects.filter((viewObject) => {
547
+ const viewSnapshot = get(AtomObj.make(viewObject));
548
+ const viewRef = (viewSnapshot as any).view;
549
+ const viewTarget = viewRef ? get(AtomObj.make(viewRef)) : undefined;
550
+ return getTypenameFromQuery((viewTarget as any)?.query?.ast) === object.typename;
551
+ });
552
+ deletable = filteredViews.length === 0;
553
+ }
554
+
555
+ const [appGraph] = get(capabilities.atom(AppCapabilities.AppGraph));
556
+ const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
557
+ const ephemeralState = get(ephemeralAtom);
558
+
559
+ if (!appGraph) {
560
+ return Effect.succeed([]);
561
+ }
562
+
563
+ return Effect.succeed(
564
+ constructObjectActions({
565
+ object,
566
+ graph: appGraph.graph,
567
+ resolve: resolve(get),
568
+ capabilities,
569
+ deletable,
570
+ navigable: ephemeralState.navigableCollections,
571
+ shareableLinkOrigin,
572
+ }),
573
+ );
574
+ },
575
+ }),
576
+
577
+ // View selected objects.
578
+ GraphBuilder.createExtension({
579
+ id: `${meta.id}/selected-objects`,
580
+ match: (node) => {
581
+ if (!Obj.isObject(node.data)) {
582
+ return Option.none();
583
+ }
584
+
585
+ const schema = Obj.getSchema(node.data);
586
+ const isView = Option.fromNullable(schema).pipe(
587
+ Option.flatMap((schema) => ViewAnnotation.get(schema)),
588
+ Option.getOrElse(() => false),
589
+ );
590
+ if (!isView) {
591
+ return Option.none();
592
+ }
593
+
594
+ return Option.some(node);
595
+ },
596
+ connector: (node) =>
597
+ Effect.succeed([
598
+ {
599
+ id: [node.id, 'selected-objects'].join(ATTENDABLE_PATH_SEPARATOR),
600
+ type: PLANK_COMPANION_TYPE,
601
+ data: 'selected-objects',
602
+ properties: {
603
+ label: ['companion selected objects label', { ns: meta.id }],
604
+ icon: 'ph--tree-view--regular',
605
+ disposition: 'hidden',
606
+ },
607
+ },
608
+ ]),
609
+ }),
610
+
611
+ // Space settings panel children (General settings, Members, Types).
612
+ GraphBuilder.createExtension({
613
+ id: `${meta.id}/settings-sections`,
614
+ match: NodeMatcher.whenNodeType(`${meta.id}/settings`),
615
+ connector: (node) =>
616
+ Effect.succeed([
617
+ {
618
+ id: `properties-${node.id}`,
619
+ type: `${meta.id}/properties`,
620
+ data: `${meta.id}/properties`,
621
+ properties: {
622
+ label: ['space settings properties label', { ns: meta.id }],
623
+ icon: 'ph--sliders--regular',
624
+ position: 'hoist',
625
+ testId: 'spacePlugin.general',
626
+ },
627
+ },
628
+ {
629
+ id: `members-${node.id}`,
630
+ type: `${meta.id}/members`,
631
+ data: `${meta.id}/members`,
632
+ properties: {
633
+ label: ['members panel label', { ns: meta.id }],
634
+ icon: 'ph--users--regular',
635
+ position: 'hoist',
636
+ testId: 'spacePlugin.members',
637
+ },
638
+ },
639
+ {
640
+ id: `schema-${node.id}`,
641
+ type: `${meta.id}/schema`,
642
+ data: `${meta.id}/schema`,
643
+ properties: {
644
+ label: ['space settings schema label', { ns: meta.id }],
645
+ icon: 'ph--shapes--regular',
646
+ testId: 'spacePlugin.schema',
647
+ },
648
+ },
649
+ ]),
650
+ }),
651
+
652
+ // Object settings plank companion.
653
+ GraphBuilder.createExtension({
654
+ id: `${meta.id}/settings`,
655
+ match: NodeMatcher.whenEchoObjectMatches,
656
+ connector: (node) =>
657
+ Effect.succeed([
658
+ {
659
+ id: [node.id, 'settings'].join(ATTENDABLE_PATH_SEPARATOR),
660
+ type: PLANK_COMPANION_TYPE,
661
+ data: 'settings',
662
+ properties: {
663
+ label: ['object settings label', { ns: meta.id }],
664
+ icon: 'ph--sliders--regular',
665
+ disposition: 'hidden',
666
+ position: 'fallback',
667
+ },
668
+ },
669
+ ]),
670
+ }),
671
+ ]);
672
+
673
+ return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);
674
+ }),
675
+ );
@@ -0,0 +1,7 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { Capability } from '@dxos/app-framework';
6
+
7
+ export const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));