@dxos/plugin-space 0.8.4-main.72ec0f3 → 0.8.4-main.8360d9e660

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 (803) hide show
  1. package/dist/lib/browser/CollectionArticle-XGSQDBMS.mjs +115 -0
  2. package/dist/lib/browser/CollectionArticle-XGSQDBMS.mjs.map +7 -0
  3. package/dist/lib/browser/CollectionSection-H2MBNI63.mjs +23 -0
  4. package/dist/lib/browser/CollectionSection-H2MBNI63.mjs.map +7 -0
  5. package/dist/lib/browser/CreateObjectDialog-YUBUWSEL.mjs +142 -0
  6. package/dist/lib/browser/CreateObjectDialog-YUBUWSEL.mjs.map +7 -0
  7. package/dist/lib/browser/CreateSpaceDialog-3M2LAWV6.mjs +64 -0
  8. package/dist/lib/browser/CreateSpaceDialog-3M2LAWV6.mjs.map +7 -0
  9. package/dist/lib/browser/InlineSyncStatus-K5MZ3YMZ.mjs +53 -0
  10. package/dist/lib/browser/InlineSyncStatus-K5MZ3YMZ.mjs.map +7 -0
  11. package/dist/lib/browser/JoinDialog-PBK2RE5F.mjs +115 -0
  12. package/dist/lib/browser/JoinDialog-PBK2RE5F.mjs.map +7 -0
  13. package/dist/lib/browser/MembersContainer-OGYV2L4M.mjs +257 -0
  14. package/dist/lib/browser/MembersContainer-OGYV2L4M.mjs.map +7 -0
  15. package/dist/lib/browser/MenuFooter-XCBDK7WP.mjs +37 -0
  16. package/dist/lib/browser/MenuFooter-XCBDK7WP.mjs.map +7 -0
  17. package/dist/lib/browser/ObjectCardStack-UOEHSBL5.mjs +64 -0
  18. package/dist/lib/browser/ObjectCardStack-UOEHSBL5.mjs.map +7 -0
  19. package/dist/lib/browser/ObjectDetails-ADGND237.mjs +43 -0
  20. package/dist/lib/browser/ObjectDetails-ADGND237.mjs.map +7 -0
  21. package/dist/lib/browser/ObjectRenamePopover-JNPJIFIR.mjs +70 -0
  22. package/dist/lib/browser/ObjectRenamePopover-JNPJIFIR.mjs.map +7 -0
  23. package/dist/lib/browser/RecordArticle-YXAJ23HH.mjs +122 -0
  24. package/dist/lib/browser/RecordArticle-YXAJ23HH.mjs.map +7 -0
  25. package/dist/lib/browser/SchemaContainer-QWCSIZBS.mjs +49 -0
  26. package/dist/lib/browser/SchemaContainer-QWCSIZBS.mjs.map +7 -0
  27. package/dist/lib/browser/SmallPresenceLive-AHHLBAUP.mjs +9 -0
  28. package/dist/lib/browser/SmallPresenceLive-AHHLBAUP.mjs.map +7 -0
  29. package/dist/lib/browser/SpacePluginSettings-QGZKNQLK.mjs +59 -0
  30. package/dist/lib/browser/SpacePluginSettings-QGZKNQLK.mjs.map +7 -0
  31. package/dist/lib/browser/SpacePresence-JIWLBUWO.mjs +12 -0
  32. package/dist/lib/browser/SpacePresence-JIWLBUWO.mjs.map +7 -0
  33. package/dist/lib/browser/SpaceRenamePopover-ZL6RRZ2B.mjs +62 -0
  34. package/dist/lib/browser/SpaceRenamePopover-ZL6RRZ2B.mjs.map +7 -0
  35. package/dist/lib/browser/SpaceSettingsContainer-MIOOT63N.mjs +242 -0
  36. package/dist/lib/browser/SpaceSettingsContainer-MIOOT63N.mjs.map +7 -0
  37. package/dist/lib/browser/SyncStatus-6N7JJ7XF.mjs +141 -0
  38. package/dist/lib/browser/SyncStatus-6N7JJ7XF.mjs.map +7 -0
  39. package/dist/lib/browser/ViewEditor-3FX5HDRT.mjs +113 -0
  40. package/dist/lib/browser/ViewEditor-3FX5HDRT.mjs.map +7 -0
  41. package/dist/lib/browser/app-graph-builder-UEOUAYZG.mjs +1201 -0
  42. package/dist/lib/browser/app-graph-builder-UEOUAYZG.mjs.map +7 -0
  43. package/dist/lib/browser/app-graph-serializer-UZWWGLGY.mjs +85 -0
  44. package/dist/lib/browser/app-graph-serializer-UZWWGLGY.mjs.map +7 -0
  45. package/dist/lib/browser/chunk-2WHUSAHE.mjs +579 -0
  46. package/dist/lib/browser/chunk-2WHUSAHE.mjs.map +7 -0
  47. package/dist/lib/browser/chunk-6IT5IBB5.mjs +683 -0
  48. package/dist/lib/browser/chunk-6IT5IBB5.mjs.map +7 -0
  49. package/dist/lib/browser/chunk-6OA75CWN.mjs +77 -0
  50. package/dist/lib/browser/chunk-6OA75CWN.mjs.map +7 -0
  51. package/dist/lib/browser/{chunk-OLBBSOVI.mjs → chunk-AUX3RRLY.mjs} +87 -67
  52. package/dist/lib/browser/chunk-AUX3RRLY.mjs.map +7 -0
  53. package/dist/lib/browser/{chunk-VZBIIYFM.mjs → chunk-CBWGVOJE.mjs} +2 -2
  54. package/dist/lib/browser/chunk-CBWGVOJE.mjs.map +7 -0
  55. package/dist/lib/browser/chunk-ICXESMDI.mjs +118 -0
  56. package/dist/lib/browser/chunk-ICXESMDI.mjs.map +7 -0
  57. package/dist/lib/browser/chunk-RJUOHI3B.mjs +19 -0
  58. package/dist/lib/browser/chunk-RJUOHI3B.mjs.map +7 -0
  59. package/dist/lib/browser/chunk-SJCNERZI.mjs +115 -0
  60. package/dist/lib/browser/chunk-SJCNERZI.mjs.map +7 -0
  61. package/dist/lib/browser/chunk-SSTUPFZ2.mjs +13 -0
  62. package/dist/lib/browser/chunk-SSTUPFZ2.mjs.map +7 -0
  63. package/dist/lib/browser/chunk-UYOJYBGW.mjs +168 -0
  64. package/dist/lib/browser/chunk-UYOJYBGW.mjs.map +7 -0
  65. package/dist/lib/browser/cli/index.mjs +843 -0
  66. package/dist/lib/browser/cli/index.mjs.map +7 -0
  67. package/dist/lib/browser/identity-created-ETXNQYR6.mjs +23 -0
  68. package/dist/lib/browser/identity-created-ETXNQYR6.mjs.map +7 -0
  69. package/dist/lib/browser/index.mjs +227 -308
  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-D4LHB4D4.mjs +807 -0
  73. package/dist/lib/browser/operation-resolver-D4LHB4D4.mjs.map +7 -0
  74. package/dist/lib/browser/react-root-OD2HP63B.mjs +30 -0
  75. package/dist/lib/browser/react-root-OD2HP63B.mjs.map +7 -0
  76. package/dist/lib/browser/react-surface-ANV4KTRV.mjs +365 -0
  77. package/dist/lib/browser/react-surface-ANV4KTRV.mjs.map +7 -0
  78. package/dist/lib/browser/repair-NUVEV4AK.mjs +31 -0
  79. package/dist/lib/browser/repair-NUVEV4AK.mjs.map +7 -0
  80. package/dist/lib/browser/settings-RUDP2Q56.mjs +34 -0
  81. package/dist/lib/browser/settings-RUDP2Q56.mjs.map +7 -0
  82. package/dist/lib/browser/spaces-ready-B2GYL5IN.mjs +243 -0
  83. package/dist/lib/browser/spaces-ready-B2GYL5IN.mjs.map +7 -0
  84. package/dist/lib/browser/state-I6JDZCDE.mjs +58 -0
  85. package/dist/lib/browser/state-I6JDZCDE.mjs.map +7 -0
  86. package/dist/lib/browser/types/index.mjs +18 -10
  87. package/dist/lib/node-esm/CollectionArticle-MNLCROOX.mjs +116 -0
  88. package/dist/lib/node-esm/CollectionArticle-MNLCROOX.mjs.map +7 -0
  89. package/dist/lib/node-esm/CollectionSection-BI66Y34F.mjs +24 -0
  90. package/dist/lib/node-esm/CollectionSection-BI66Y34F.mjs.map +7 -0
  91. package/dist/lib/node-esm/CreateObjectDialog-B6OLP5VQ.mjs +143 -0
  92. package/dist/lib/node-esm/CreateObjectDialog-B6OLP5VQ.mjs.map +7 -0
  93. package/dist/lib/node-esm/CreateSpaceDialog-J47M5FPQ.mjs +65 -0
  94. package/dist/lib/node-esm/CreateSpaceDialog-J47M5FPQ.mjs.map +7 -0
  95. package/dist/lib/node-esm/InlineSyncStatus-BLD57LB5.mjs +54 -0
  96. package/dist/lib/node-esm/InlineSyncStatus-BLD57LB5.mjs.map +7 -0
  97. package/dist/lib/node-esm/JoinDialog-XCOYKSHA.mjs +116 -0
  98. package/dist/lib/node-esm/JoinDialog-XCOYKSHA.mjs.map +7 -0
  99. package/dist/lib/node-esm/MembersContainer-4PV3Z4BA.mjs +258 -0
  100. package/dist/lib/node-esm/MembersContainer-4PV3Z4BA.mjs.map +7 -0
  101. package/dist/lib/node-esm/MenuFooter-PXG2GV6A.mjs +38 -0
  102. package/dist/lib/node-esm/MenuFooter-PXG2GV6A.mjs.map +7 -0
  103. package/dist/lib/node-esm/ObjectCardStack-THP5FKDV.mjs +65 -0
  104. package/dist/lib/node-esm/ObjectCardStack-THP5FKDV.mjs.map +7 -0
  105. package/dist/lib/node-esm/ObjectDetails-2SBF3KBM.mjs +44 -0
  106. package/dist/lib/node-esm/ObjectDetails-2SBF3KBM.mjs.map +7 -0
  107. package/dist/lib/node-esm/ObjectRenamePopover-BRPKVNVF.mjs +71 -0
  108. package/dist/lib/node-esm/ObjectRenamePopover-BRPKVNVF.mjs.map +7 -0
  109. package/dist/lib/node-esm/RecordArticle-344UK7QP.mjs +123 -0
  110. package/dist/lib/node-esm/RecordArticle-344UK7QP.mjs.map +7 -0
  111. package/dist/lib/node-esm/SchemaContainer-5G4R3Z6O.mjs +50 -0
  112. package/dist/lib/node-esm/SchemaContainer-5G4R3Z6O.mjs.map +7 -0
  113. package/dist/lib/node-esm/SmallPresenceLive-4K7RJS74.mjs +10 -0
  114. package/dist/lib/node-esm/SmallPresenceLive-4K7RJS74.mjs.map +7 -0
  115. package/dist/lib/node-esm/SpacePluginSettings-PENV4GHL.mjs +60 -0
  116. package/dist/lib/node-esm/SpacePluginSettings-PENV4GHL.mjs.map +7 -0
  117. package/dist/lib/node-esm/SpacePresence-H3VZWFJV.mjs +13 -0
  118. package/dist/lib/node-esm/SpacePresence-H3VZWFJV.mjs.map +7 -0
  119. package/dist/lib/node-esm/SpaceRenamePopover-XEMTI4PU.mjs +63 -0
  120. package/dist/lib/node-esm/SpaceRenamePopover-XEMTI4PU.mjs.map +7 -0
  121. package/dist/lib/node-esm/SpaceSettingsContainer-WI4D7RWA.mjs +243 -0
  122. package/dist/lib/node-esm/SpaceSettingsContainer-WI4D7RWA.mjs.map +7 -0
  123. package/dist/lib/node-esm/SyncStatus-YEBGTNSD.mjs +142 -0
  124. package/dist/lib/node-esm/SyncStatus-YEBGTNSD.mjs.map +7 -0
  125. package/dist/lib/node-esm/ViewEditor-CUQVNM2H.mjs +114 -0
  126. package/dist/lib/node-esm/ViewEditor-CUQVNM2H.mjs.map +7 -0
  127. package/dist/lib/node-esm/app-graph-builder-W2QNDIZF.mjs +1202 -0
  128. package/dist/lib/node-esm/app-graph-builder-W2QNDIZF.mjs.map +7 -0
  129. package/dist/lib/node-esm/app-graph-serializer-RT2RQTV2.mjs +86 -0
  130. package/dist/lib/node-esm/app-graph-serializer-RT2RQTV2.mjs.map +7 -0
  131. package/dist/lib/node-esm/chunk-2OLR2ZKH.mjs +119 -0
  132. package/dist/lib/node-esm/chunk-2OLR2ZKH.mjs.map +7 -0
  133. package/dist/lib/node-esm/chunk-5KTTTTEX.mjs +20 -0
  134. package/dist/lib/node-esm/chunk-5KTTTTEX.mjs.map +7 -0
  135. package/dist/lib/node-esm/{chunk-BDEFTL6K.mjs → chunk-63N5JJXI.mjs} +2 -2
  136. package/dist/lib/node-esm/chunk-63N5JJXI.mjs.map +7 -0
  137. package/dist/lib/node-esm/chunk-EDC2RUJU.mjs +169 -0
  138. package/dist/lib/node-esm/chunk-EDC2RUJU.mjs.map +7 -0
  139. package/dist/lib/node-esm/chunk-EVNSLSQS.mjs +684 -0
  140. package/dist/lib/node-esm/chunk-EVNSLSQS.mjs.map +7 -0
  141. package/dist/lib/node-esm/chunk-GEGWQVZX.mjs +78 -0
  142. package/dist/lib/node-esm/chunk-GEGWQVZX.mjs.map +7 -0
  143. package/dist/lib/node-esm/chunk-IV7VKVGC.mjs +117 -0
  144. package/dist/lib/node-esm/chunk-IV7VKVGC.mjs.map +7 -0
  145. package/dist/lib/node-esm/{chunk-WC4VBFMA.mjs → chunk-RYQQXNI7.mjs} +87 -67
  146. package/dist/lib/node-esm/chunk-RYQQXNI7.mjs.map +7 -0
  147. package/dist/lib/node-esm/chunk-S5BQUCL4.mjs +580 -0
  148. package/dist/lib/node-esm/chunk-S5BQUCL4.mjs.map +7 -0
  149. package/dist/lib/node-esm/chunk-XYLDAH5C.mjs +15 -0
  150. package/dist/lib/node-esm/chunk-XYLDAH5C.mjs.map +7 -0
  151. package/dist/lib/node-esm/cli/index.mjs +844 -0
  152. package/dist/lib/node-esm/cli/index.mjs.map +7 -0
  153. package/dist/lib/node-esm/identity-created-U5LGULVL.mjs +25 -0
  154. package/dist/lib/node-esm/identity-created-U5LGULVL.mjs.map +7 -0
  155. package/dist/lib/node-esm/index.mjs +227 -308
  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-IL2AHNPN.mjs +808 -0
  159. package/dist/lib/node-esm/operation-resolver-IL2AHNPN.mjs.map +7 -0
  160. package/dist/lib/node-esm/react-root-RILC5MBD.mjs +31 -0
  161. package/dist/lib/node-esm/react-root-RILC5MBD.mjs.map +7 -0
  162. package/dist/lib/node-esm/react-surface-TA5KEWVW.mjs +366 -0
  163. package/dist/lib/node-esm/react-surface-TA5KEWVW.mjs.map +7 -0
  164. package/dist/lib/node-esm/repair-LRZHFPSJ.mjs +32 -0
  165. package/dist/lib/node-esm/repair-LRZHFPSJ.mjs.map +7 -0
  166. package/dist/lib/node-esm/settings-3EKSEAAG.mjs +35 -0
  167. package/dist/lib/node-esm/settings-3EKSEAAG.mjs.map +7 -0
  168. package/dist/lib/node-esm/spaces-ready-QK3EHBOS.mjs +244 -0
  169. package/dist/lib/node-esm/spaces-ready-QK3EHBOS.mjs.map +7 -0
  170. package/dist/lib/node-esm/state-W36RRYUO.mjs +59 -0
  171. package/dist/lib/node-esm/state-W36RRYUO.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 +6 -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/extensions/collections.d.ts +33 -0
  178. package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts.map +1 -0
  179. package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts +19 -0
  180. package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts.map +1 -0
  181. package/dist/types/src/capabilities/app-graph-builder/extensions/index.d.ts +6 -0
  182. package/dist/types/src/capabilities/app-graph-builder/extensions/index.d.ts.map +1 -0
  183. package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts +12 -0
  184. package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts.map +1 -0
  185. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts +57 -0
  186. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts.map +1 -0
  187. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.test.d.ts +2 -0
  188. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.test.d.ts.map +1 -0
  189. package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts +24 -0
  190. package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts.map +1 -0
  191. package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts +38 -0
  192. package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts.map +1 -0
  193. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  194. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  195. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts +5 -0
  196. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts.map +1 -0
  197. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts +3 -0
  198. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts.map +1 -0
  199. package/dist/types/src/capabilities/identity-created/identity-created.d.ts +5 -0
  200. package/dist/types/src/capabilities/identity-created/identity-created.d.ts.map +1 -0
  201. package/dist/types/src/capabilities/identity-created/index.d.ts +3 -0
  202. package/dist/types/src/capabilities/identity-created/index.d.ts.map +1 -0
  203. package/dist/types/src/capabilities/index.d.ts +10 -20
  204. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  205. package/dist/types/src/capabilities/operation-resolver/index.d.ts +6 -0
  206. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  207. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +9 -0
  208. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  209. package/dist/types/src/capabilities/react-root/index.d.ts +6 -0
  210. package/dist/types/src/capabilities/react-root/index.d.ts.map +1 -0
  211. package/dist/types/src/capabilities/react-root/react-root.d.ts +9 -0
  212. package/dist/types/src/capabilities/react-root/react-root.d.ts.map +1 -0
  213. package/dist/types/src/capabilities/react-surface/index.d.ts +5 -0
  214. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  215. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +8 -0
  216. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  217. package/dist/types/src/capabilities/repair/index.d.ts +3 -0
  218. package/dist/types/src/capabilities/repair/index.d.ts.map +1 -0
  219. package/dist/types/src/capabilities/repair/repair.d.ts +6 -0
  220. package/dist/types/src/capabilities/repair/repair.d.ts.map +1 -0
  221. package/dist/types/src/capabilities/settings/index.d.ts +7 -0
  222. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  223. package/dist/types/src/capabilities/settings/settings.d.ts +10 -0
  224. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  225. package/dist/types/src/capabilities/spaces-ready/index.d.ts +3 -0
  226. package/dist/types/src/capabilities/spaces-ready/index.d.ts.map +1 -0
  227. package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts +5 -0
  228. package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts.map +1 -0
  229. package/dist/types/src/capabilities/state/index.d.ts +13 -0
  230. package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
  231. package/dist/types/src/capabilities/state/state.d.ts +17 -0
  232. package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
  233. package/dist/types/src/cli/commands/database/add.d.ts +16 -0
  234. package/dist/types/src/cli/commands/database/add.d.ts.map +1 -0
  235. package/dist/types/src/cli/commands/database/index.d.ts +3 -0
  236. package/dist/types/src/cli/commands/database/index.d.ts.map +1 -0
  237. package/dist/types/src/cli/commands/database/query/index.d.ts +2 -0
  238. package/dist/types/src/cli/commands/database/query/index.d.ts.map +1 -0
  239. package/dist/types/src/cli/commands/database/query/query.d.ts +13 -0
  240. package/dist/types/src/cli/commands/database/query/query.d.ts.map +1 -0
  241. package/dist/types/src/cli/commands/database/query/query.test.d.ts +2 -0
  242. package/dist/types/src/cli/commands/database/query/query.test.d.ts.map +1 -0
  243. package/dist/types/src/cli/commands/database/remove.d.ts +9 -0
  244. package/dist/types/src/cli/commands/database/remove.d.ts.map +1 -0
  245. package/dist/types/src/cli/commands/database/stats.d.ts +6 -0
  246. package/dist/types/src/cli/commands/database/stats.d.ts.map +1 -0
  247. package/dist/types/src/cli/commands/database/util.d.ts +14 -0
  248. package/dist/types/src/cli/commands/database/util.d.ts.map +1 -0
  249. package/dist/types/src/cli/commands/index.d.ts +4 -0
  250. package/dist/types/src/cli/commands/index.d.ts.map +1 -0
  251. package/dist/types/src/cli/commands/queue/index.d.ts +7 -0
  252. package/dist/types/src/cli/commands/queue/index.d.ts.map +1 -0
  253. package/dist/types/src/cli/commands/queue/query.d.ts +8 -0
  254. package/dist/types/src/cli/commands/queue/query.d.ts.map +1 -0
  255. package/dist/types/src/cli/commands/queue/util.d.ts +6 -0
  256. package/dist/types/src/cli/commands/queue/util.d.ts.map +1 -0
  257. package/dist/types/src/cli/commands/space/close/close.d.ts +12 -0
  258. package/dist/types/src/cli/commands/space/close/close.d.ts.map +1 -0
  259. package/dist/types/src/cli/commands/space/close/index.d.ts +2 -0
  260. package/dist/types/src/cli/commands/space/close/index.d.ts.map +1 -0
  261. package/dist/types/src/cli/commands/space/create/create.d.ts +12 -0
  262. package/dist/types/src/cli/commands/space/create/create.d.ts.map +1 -0
  263. package/dist/types/src/cli/commands/space/create/create.test.d.ts +2 -0
  264. package/dist/types/src/cli/commands/space/create/create.test.d.ts.map +1 -0
  265. package/dist/types/src/cli/commands/space/create/index.d.ts +2 -0
  266. package/dist/types/src/cli/commands/space/create/index.d.ts.map +1 -0
  267. package/dist/types/src/cli/commands/space/index.d.ts +31 -0
  268. package/dist/types/src/cli/commands/space/index.d.ts.map +1 -0
  269. package/dist/types/src/cli/commands/space/info/index.d.ts +2 -0
  270. package/dist/types/src/cli/commands/space/info/index.d.ts.map +1 -0
  271. package/dist/types/src/cli/commands/space/info/info.d.ts +13 -0
  272. package/dist/types/src/cli/commands/space/info/info.d.ts.map +1 -0
  273. package/dist/types/src/cli/commands/space/info/info.test.d.ts +2 -0
  274. package/dist/types/src/cli/commands/space/info/info.test.d.ts.map +1 -0
  275. package/dist/types/src/cli/commands/space/join/index.d.ts +2 -0
  276. package/dist/types/src/cli/commands/space/join/index.d.ts.map +1 -0
  277. package/dist/types/src/cli/commands/space/join/join.d.ts +14 -0
  278. package/dist/types/src/cli/commands/space/join/join.d.ts.map +1 -0
  279. package/dist/types/src/cli/commands/space/join/util.d.ts +17 -0
  280. package/dist/types/src/cli/commands/space/join/util.d.ts.map +1 -0
  281. package/dist/types/src/cli/commands/space/list/index.d.ts +2 -0
  282. package/dist/types/src/cli/commands/space/list/index.d.ts.map +1 -0
  283. package/dist/types/src/cli/commands/space/list/list.d.ts +7 -0
  284. package/dist/types/src/cli/commands/space/list/list.d.ts.map +1 -0
  285. package/dist/types/src/cli/commands/space/list/list.test.d.ts +2 -0
  286. package/dist/types/src/cli/commands/space/list/list.test.d.ts.map +1 -0
  287. package/dist/types/src/cli/commands/space/members/index.d.ts +2 -0
  288. package/dist/types/src/cli/commands/space/members/index.d.ts.map +1 -0
  289. package/dist/types/src/cli/commands/space/members/members.d.ts +13 -0
  290. package/dist/types/src/cli/commands/space/members/members.d.ts.map +1 -0
  291. package/dist/types/src/cli/commands/space/members/members.test.d.ts +2 -0
  292. package/dist/types/src/cli/commands/space/members/members.test.d.ts.map +1 -0
  293. package/dist/types/src/cli/commands/space/members/util.d.ts +9 -0
  294. package/dist/types/src/cli/commands/space/members/util.d.ts.map +1 -0
  295. package/dist/types/src/cli/commands/space/open/index.d.ts +2 -0
  296. package/dist/types/src/cli/commands/space/open/index.d.ts.map +1 -0
  297. package/dist/types/src/cli/commands/space/open/open.d.ts +12 -0
  298. package/dist/types/src/cli/commands/space/open/open.d.ts.map +1 -0
  299. package/dist/types/src/cli/commands/space/schema/index.d.ts +8 -0
  300. package/dist/types/src/cli/commands/space/schema/index.d.ts.map +1 -0
  301. package/dist/types/src/cli/commands/space/schema/list/index.d.ts +2 -0
  302. package/dist/types/src/cli/commands/space/schema/list/index.d.ts.map +1 -0
  303. package/dist/types/src/cli/commands/space/schema/list/list.d.ts +15 -0
  304. package/dist/types/src/cli/commands/space/schema/list/list.d.ts.map +1 -0
  305. package/dist/types/src/cli/commands/space/schema/list/list.test.d.ts +2 -0
  306. package/dist/types/src/cli/commands/space/schema/list/list.test.d.ts.map +1 -0
  307. package/dist/types/src/cli/commands/space/schema/list/util.d.ts +15 -0
  308. package/dist/types/src/cli/commands/space/schema/list/util.d.ts.map +1 -0
  309. package/dist/types/src/cli/commands/space/share/index.d.ts +2 -0
  310. package/dist/types/src/cli/commands/space/share/index.d.ts.map +1 -0
  311. package/dist/types/src/cli/commands/space/share/share.d.ts +19 -0
  312. package/dist/types/src/cli/commands/space/share/share.d.ts.map +1 -0
  313. package/dist/types/src/cli/commands/space/sync/index.d.ts +2 -0
  314. package/dist/types/src/cli/commands/space/sync/index.d.ts.map +1 -0
  315. package/dist/types/src/cli/commands/space/sync/sync.d.ts +6 -0
  316. package/dist/types/src/cli/commands/space/sync/sync.d.ts.map +1 -0
  317. package/dist/types/src/cli/commands/space/sync/sync.test.d.ts +2 -0
  318. package/dist/types/src/cli/commands/space/sync/sync.test.d.ts.map +1 -0
  319. package/dist/types/src/cli/index.d.ts +2 -0
  320. package/dist/types/src/cli/index.d.ts.map +1 -0
  321. package/dist/types/src/cli/plugin.d.ts +4 -0
  322. package/dist/types/src/cli/plugin.d.ts.map +1 -0
  323. package/dist/types/src/components/AwaitingObject/AwaitingObject.d.ts.map +1 -0
  324. package/dist/types/src/components/AwaitingObject/index.d.ts +2 -0
  325. package/dist/types/src/components/AwaitingObject/index.d.ts.map +1 -0
  326. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +26 -11
  327. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  328. package/dist/types/src/components/CreateDialog/index.d.ts +1 -2
  329. package/dist/types/src/components/CreateDialog/index.d.ts.map +1 -1
  330. package/dist/types/src/components/{ObjectSettings → ObjectDetails}/BaseObjectSettings.d.ts +1 -1
  331. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.d.ts.map +1 -0
  332. package/dist/types/src/components/{ObjectSettings → ObjectDetails}/BaseObjectSettings.stories.d.ts +221 -264
  333. package/dist/types/src/components/{ObjectSettings → ObjectDetails}/BaseObjectSettings.stories.d.ts.map +1 -1
  334. package/dist/types/src/components/ObjectDetails/ForeignKeys.d.ts +8 -0
  335. package/dist/types/src/components/ObjectDetails/ForeignKeys.d.ts.map +1 -0
  336. package/dist/types/src/components/ObjectDetails/index.d.ts +3 -0
  337. package/dist/types/src/components/ObjectDetails/index.d.ts.map +1 -0
  338. package/dist/types/src/components/{ObjectDetailsPanel → ObjectForm}/ObjectForm.d.ts +2 -3
  339. package/dist/types/src/components/ObjectForm/ObjectForm.d.ts.map +1 -0
  340. package/dist/types/src/components/ObjectForm/index.d.ts +2 -0
  341. package/dist/types/src/components/ObjectForm/index.d.ts.map +1 -0
  342. package/dist/types/src/components/SyncStatus/index.d.ts +2 -2
  343. package/dist/types/src/components/SyncStatus/index.d.ts.map +1 -1
  344. package/dist/types/src/components/index.d.ts +2 -19
  345. package/dist/types/src/components/index.d.ts.map +1 -1
  346. package/dist/types/src/constants.d.ts +6 -0
  347. package/dist/types/src/constants.d.ts.map +1 -0
  348. package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts +8 -0
  349. package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts.map +1 -0
  350. package/dist/types/src/containers/CollectionArticle/index.d.ts +3 -0
  351. package/dist/types/src/containers/CollectionArticle/index.d.ts.map +1 -0
  352. package/dist/types/src/containers/CollectionSection/CollectionSection.d.ts +5 -0
  353. package/dist/types/src/containers/CollectionSection/CollectionSection.d.ts.map +1 -0
  354. package/dist/types/src/containers/CollectionSection/index.d.ts +3 -0
  355. package/dist/types/src/containers/CollectionSection/index.d.ts.map +1 -0
  356. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.d.ts +12 -0
  357. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.d.ts.map +1 -0
  358. package/dist/types/src/containers/CreateObjectDialog/index.d.ts +3 -0
  359. package/dist/types/src/containers/CreateObjectDialog/index.d.ts.map +1 -0
  360. package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.d.ts.map +1 -0
  361. package/dist/types/src/containers/CreateSpaceDialog/index.d.ts +3 -0
  362. package/dist/types/src/containers/CreateSpaceDialog/index.d.ts.map +1 -0
  363. package/dist/types/src/containers/InlineSyncStatus/InlineSyncStatus.d.ts.map +1 -0
  364. package/dist/types/src/containers/InlineSyncStatus/index.d.ts +3 -0
  365. package/dist/types/src/containers/InlineSyncStatus/index.d.ts.map +1 -0
  366. package/dist/types/src/containers/JoinDialog/JoinDialog.d.ts.map +1 -0
  367. package/dist/types/src/containers/JoinDialog/index.d.ts +3 -0
  368. package/dist/types/src/containers/JoinDialog/index.d.ts.map +1 -0
  369. package/dist/types/src/{components → containers}/MembersContainer/MembersContainer.d.ts.map +1 -1
  370. package/dist/types/src/containers/MembersContainer/index.d.ts +3 -0
  371. package/dist/types/src/containers/MembersContainer/index.d.ts.map +1 -0
  372. package/dist/types/src/{components → containers/MenuFooter}/MenuFooter.d.ts +1 -1
  373. package/dist/types/src/containers/MenuFooter/MenuFooter.d.ts.map +1 -0
  374. package/dist/types/src/containers/MenuFooter/index.d.ts +3 -0
  375. package/dist/types/src/containers/MenuFooter/index.d.ts.map +1 -0
  376. package/dist/types/src/containers/ObjectCardStack/ObjectCardStack.d.ts +11 -0
  377. package/dist/types/src/containers/ObjectCardStack/ObjectCardStack.d.ts.map +1 -0
  378. package/dist/types/src/containers/ObjectCardStack/index.d.ts +3 -0
  379. package/dist/types/src/containers/ObjectCardStack/index.d.ts.map +1 -0
  380. package/dist/types/src/containers/ObjectDetails/ObjectDetails.d.ts +10 -0
  381. package/dist/types/src/containers/ObjectDetails/ObjectDetails.d.ts.map +1 -0
  382. package/dist/types/src/containers/ObjectDetails/index.d.ts +3 -0
  383. package/dist/types/src/containers/ObjectDetails/index.d.ts.map +1 -0
  384. package/dist/types/src/{components → containers}/ObjectRenamePopover/ObjectRenamePopover.d.ts +1 -1
  385. package/dist/types/src/{components → containers}/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -1
  386. package/dist/types/src/containers/ObjectRenamePopover/index.d.ts +3 -0
  387. package/dist/types/src/containers/ObjectRenamePopover/index.d.ts.map +1 -0
  388. package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts +4 -0
  389. package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts.map +1 -0
  390. package/dist/types/src/containers/RecordArticle/index.d.ts +3 -0
  391. package/dist/types/src/containers/RecordArticle/index.d.ts.map +1 -0
  392. package/dist/types/src/{components → containers/SchemaContainer}/SchemaContainer.d.ts +1 -1
  393. package/dist/types/src/containers/SchemaContainer/SchemaContainer.d.ts.map +1 -0
  394. package/dist/types/src/containers/SchemaContainer/index.d.ts +3 -0
  395. package/dist/types/src/containers/SchemaContainer/index.d.ts.map +1 -0
  396. package/dist/types/src/containers/SmallPresenceLive/index.d.ts +2 -0
  397. package/dist/types/src/containers/SmallPresenceLive/index.d.ts.map +1 -0
  398. package/dist/types/src/containers/SpacePluginSettings/SpacePluginSettings.d.ts +8 -0
  399. package/dist/types/src/containers/SpacePluginSettings/SpacePluginSettings.d.ts.map +1 -0
  400. package/dist/types/src/containers/SpacePluginSettings/index.d.ts +3 -0
  401. package/dist/types/src/containers/SpacePluginSettings/index.d.ts.map +1 -0
  402. package/dist/types/src/{components → containers}/SpacePresence/SpacePresence.d.ts +4 -4
  403. package/dist/types/src/containers/SpacePresence/SpacePresence.d.ts.map +1 -0
  404. package/dist/types/src/{components → containers}/SpacePresence/SpacePresence.stories.d.ts +220 -263
  405. package/dist/types/src/{components → containers}/SpacePresence/SpacePresence.stories.d.ts.map +1 -1
  406. package/dist/types/src/containers/SpacePresence/index.d.ts +3 -0
  407. package/dist/types/src/containers/SpacePresence/index.d.ts.map +1 -0
  408. package/dist/types/src/{components → containers}/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -1
  409. package/dist/types/src/containers/SpaceRenamePopover/index.d.ts +3 -0
  410. package/dist/types/src/{components/ObjectDetailsPanel → containers/SpaceRenamePopover}/index.d.ts.map +1 -1
  411. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts +10 -0
  412. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts.map +1 -0
  413. package/dist/types/src/{components/SpaceSettings → containers/SpaceSettingsContainer}/SpaceSettingsContainer.stories.d.ts +224 -264
  414. package/dist/types/src/{components/SpaceSettings → containers/SpaceSettingsContainer}/SpaceSettingsContainer.stories.d.ts.map +1 -1
  415. package/dist/types/src/containers/SpaceSettingsContainer/index.d.ts +3 -0
  416. package/dist/types/src/containers/SpaceSettingsContainer/index.d.ts.map +1 -0
  417. package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.d.ts.map +1 -1
  418. package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.stories.d.ts +220 -263
  419. package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  420. package/dist/types/src/containers/SyncStatus/index.d.ts +3 -0
  421. package/dist/types/src/containers/SyncStatus/index.d.ts.map +1 -0
  422. package/dist/types/src/{components → containers/ViewEditor}/ViewEditor.d.ts +1 -1
  423. package/dist/types/src/containers/ViewEditor/ViewEditor.d.ts.map +1 -0
  424. package/dist/types/src/containers/ViewEditor/index.d.ts +3 -0
  425. package/dist/types/src/containers/ViewEditor/index.d.ts.map +1 -0
  426. package/dist/types/src/containers/index.d.ts +23 -0
  427. package/dist/types/src/containers/index.d.ts.map +1 -0
  428. package/dist/types/src/helpers/query.d.ts +3 -4
  429. package/dist/types/src/helpers/query.d.ts.map +1 -1
  430. package/dist/types/src/hooks/useActiveSpace.d.ts +2 -2
  431. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
  432. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +2 -8
  433. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  434. package/dist/types/src/hooks/usePath.d.ts +2 -2
  435. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  436. package/dist/types/src/hooks/useTypeOptions.d.ts +2 -2
  437. package/dist/types/src/hooks/useTypeOptions.d.ts.map +1 -1
  438. package/dist/types/src/index.d.ts +2 -3
  439. package/dist/types/src/index.d.ts.map +1 -1
  440. package/dist/types/src/meta.d.ts +2 -2
  441. package/dist/types/src/meta.d.ts.map +1 -1
  442. package/dist/types/src/translations.d.ts +220 -263
  443. package/dist/types/src/translations.d.ts.map +1 -1
  444. package/dist/types/src/types/capabilities.d.ts +71 -0
  445. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  446. package/dist/types/src/types/events.d.ts +9 -0
  447. package/dist/types/src/types/events.d.ts.map +1 -0
  448. package/dist/types/src/types/form.d.ts +20 -0
  449. package/dist/types/src/types/form.d.ts.map +1 -0
  450. package/dist/types/src/types/index.d.ts +3 -0
  451. package/dist/types/src/types/index.d.ts.map +1 -1
  452. package/dist/types/src/types/types.d.ts +579 -400
  453. package/dist/types/src/types/types.d.ts.map +1 -1
  454. package/dist/types/src/util.d.ts +9 -136
  455. package/dist/types/src/util.d.ts.map +1 -1
  456. package/dist/types/tsconfig.tsbuildinfo +1 -1
  457. package/package.json +85 -66
  458. package/src/SpacePlugin.ts +173 -249
  459. package/src/capabilities/app-graph-builder/app-graph-builder.ts +32 -0
  460. package/src/capabilities/app-graph-builder/extensions/collections.ts +351 -0
  461. package/src/capabilities/app-graph-builder/extensions/companions.ts +80 -0
  462. package/src/capabilities/app-graph-builder/extensions/index.ts +9 -0
  463. package/src/capabilities/app-graph-builder/extensions/settings.ts +60 -0
  464. package/src/capabilities/app-graph-builder/extensions/shared.test.ts +112 -0
  465. package/src/capabilities/app-graph-builder/extensions/shared.ts +171 -0
  466. package/src/capabilities/app-graph-builder/extensions/spaces.ts +338 -0
  467. package/src/capabilities/app-graph-builder/extensions/types.ts +432 -0
  468. package/src/capabilities/app-graph-builder/index.ts +7 -0
  469. package/src/capabilities/app-graph-serializer/app-graph-serializer.ts +83 -0
  470. package/src/capabilities/app-graph-serializer/index.ts +7 -0
  471. package/src/capabilities/identity-created/identity-created.ts +29 -0
  472. package/src/capabilities/identity-created/index.ts +7 -0
  473. package/src/capabilities/index.ts +10 -14
  474. package/src/capabilities/operation-resolver/index.ts +7 -0
  475. package/src/capabilities/operation-resolver/operation-resolver.ts +763 -0
  476. package/src/capabilities/react-root/index.ts +7 -0
  477. package/src/capabilities/react-root/react-root.tsx +25 -0
  478. package/src/capabilities/react-surface/index.ts +7 -0
  479. package/src/capabilities/react-surface/react-surface.tsx +355 -0
  480. package/src/capabilities/repair/index.ts +7 -0
  481. package/src/capabilities/repair/repair.ts +42 -0
  482. package/src/capabilities/settings/index.ts +7 -0
  483. package/src/capabilities/settings/settings.ts +33 -0
  484. package/src/capabilities/spaces-ready/index.ts +7 -0
  485. package/src/capabilities/spaces-ready/spaces-ready.ts +290 -0
  486. package/src/capabilities/state/index.ts +7 -0
  487. package/src/capabilities/state/state.ts +66 -0
  488. package/src/cli/commands/database/add.ts +114 -0
  489. package/src/cli/commands/database/index.ts +16 -0
  490. package/src/{components/JoinDialog → cli/commands/database/query}/index.ts +1 -1
  491. package/src/cli/commands/database/query/query.test.ts +55 -0
  492. package/src/cli/commands/database/query/query.ts +44 -0
  493. package/src/cli/commands/database/remove.ts +51 -0
  494. package/src/cli/commands/database/stats.ts +44 -0
  495. package/src/cli/commands/database/util.ts +32 -0
  496. package/src/cli/commands/index.ts +7 -0
  497. package/src/cli/commands/queue/index.ts +12 -0
  498. package/src/cli/commands/queue/query.ts +45 -0
  499. package/src/cli/commands/queue/util.ts +19 -0
  500. package/src/cli/commands/space/close/close.ts +40 -0
  501. package/src/{components/SpacePresence → cli/commands/space/close}/index.ts +1 -1
  502. package/src/cli/commands/space/create/create.test.ts +67 -0
  503. package/src/cli/commands/space/create/create.ts +61 -0
  504. package/src/cli/commands/space/create/index.ts +5 -0
  505. package/src/cli/commands/space/index.ts +21 -0
  506. package/src/cli/commands/space/info/index.ts +5 -0
  507. package/src/cli/commands/space/info/info.test.ts +47 -0
  508. package/src/cli/commands/space/info/info.ts +37 -0
  509. package/src/cli/commands/space/join/index.ts +5 -0
  510. package/src/cli/commands/space/join/join.ts +122 -0
  511. package/src/cli/commands/space/join/util.ts +82 -0
  512. package/src/cli/commands/space/list/index.ts +5 -0
  513. package/src/cli/commands/space/list/list.test.ts +36 -0
  514. package/src/cli/commands/space/list/list.ts +30 -0
  515. package/src/cli/commands/space/members/index.ts +5 -0
  516. package/src/cli/commands/space/members/members.test.ts +46 -0
  517. package/src/cli/commands/space/members/members.ts +40 -0
  518. package/src/cli/commands/space/members/util.ts +29 -0
  519. package/src/cli/commands/space/open/index.ts +5 -0
  520. package/src/cli/commands/space/open/open.ts +39 -0
  521. package/src/cli/commands/space/schema/index.ts +12 -0
  522. package/src/cli/commands/space/schema/list/index.ts +5 -0
  523. package/src/cli/commands/space/schema/list/list.test.ts +42 -0
  524. package/src/cli/commands/space/schema/list/list.ts +64 -0
  525. package/src/cli/commands/space/schema/list/util.ts +39 -0
  526. package/src/cli/commands/space/share/index.ts +5 -0
  527. package/src/cli/commands/space/share/share.ts +112 -0
  528. package/src/cli/commands/space/sync/index.ts +5 -0
  529. package/src/cli/commands/space/sync/sync.test.ts +12 -0
  530. package/src/cli/commands/space/sync/sync.ts +33 -0
  531. package/src/cli/index.ts +5 -0
  532. package/src/cli/plugin.ts +88 -0
  533. package/src/components/{AwaitingObject.tsx → AwaitingObject/AwaitingObject.tsx} +15 -11
  534. package/src/components/AwaitingObject/index.ts +5 -0
  535. package/src/components/CreateDialog/CreateObjectPanel.tsx +155 -114
  536. package/src/components/CreateDialog/index.ts +1 -2
  537. package/src/components/{ObjectSettings → ObjectDetails}/BaseObjectSettings.stories.tsx +14 -14
  538. package/src/components/ObjectDetails/BaseObjectSettings.tsx +122 -0
  539. package/src/components/{ObjectSettings → ObjectDetails}/ForeignKeys.tsx +6 -6
  540. package/src/components/ObjectDetails/index.ts +6 -0
  541. package/src/components/ObjectForm/ObjectForm.tsx +99 -0
  542. package/src/components/ObjectForm/index.ts +5 -0
  543. package/src/components/SyncStatus/index.ts +2 -2
  544. package/src/components/SyncStatus/save-tracker.ts +2 -2
  545. package/src/components/index.ts +2 -18
  546. package/src/constants.ts +11 -0
  547. package/src/containers/CollectionArticle/CollectionArticle.tsx +139 -0
  548. package/src/containers/CollectionArticle/index.ts +7 -0
  549. package/src/{components → containers/CollectionSection}/CollectionSection.tsx +4 -4
  550. package/src/containers/CollectionSection/index.ts +7 -0
  551. package/src/containers/CreateObjectDialog/CreateObjectDialog.tsx +164 -0
  552. package/src/containers/CreateObjectDialog/index.ts +6 -0
  553. package/src/containers/CreateSpaceDialog/CreateSpaceDialog.tsx +72 -0
  554. package/src/containers/CreateSpaceDialog/index.ts +7 -0
  555. package/src/{components/SyncStatus → containers/InlineSyncStatus}/InlineSyncStatus.tsx +8 -19
  556. package/src/containers/InlineSyncStatus/index.ts +7 -0
  557. package/src/{components → containers}/JoinDialog/JoinDialog.tsx +27 -53
  558. package/src/containers/JoinDialog/index.ts +6 -0
  559. package/src/{components → containers}/MembersContainer/MembersContainer.tsx +81 -86
  560. package/src/containers/MembersContainer/index.ts +7 -0
  561. package/src/{components → containers/MenuFooter}/MenuFooter.tsx +6 -6
  562. package/src/containers/MenuFooter/index.ts +7 -0
  563. package/src/containers/ObjectCardStack/ObjectCardStack.tsx +82 -0
  564. package/src/containers/ObjectCardStack/index.ts +7 -0
  565. package/src/containers/ObjectDetails/ObjectDetails.tsx +36 -0
  566. package/src/containers/ObjectDetails/index.ts +7 -0
  567. package/src/{components → containers}/ObjectRenamePopover/ObjectRenamePopover.tsx +10 -14
  568. package/src/containers/ObjectRenamePopover/index.ts +7 -0
  569. package/src/containers/RecordArticle/RecordArticle.tsx +140 -0
  570. package/src/containers/RecordArticle/index.ts +7 -0
  571. package/src/containers/SchemaContainer/SchemaContainer.tsx +60 -0
  572. package/src/containers/SchemaContainer/index.ts +7 -0
  573. package/src/containers/SmallPresenceLive/index.ts +5 -0
  574. package/src/containers/SpacePluginSettings/SpacePluginSettings.tsx +65 -0
  575. package/src/containers/SpacePluginSettings/index.ts +7 -0
  576. package/src/{components → containers}/SpacePresence/SpacePresence.stories.tsx +2 -2
  577. package/src/{components → containers}/SpacePresence/SpacePresence.tsx +24 -37
  578. package/src/containers/SpacePresence/index.ts +6 -0
  579. package/src/{components → containers}/SpaceRenamePopover/SpaceRenamePopover.tsx +12 -13
  580. package/src/containers/SpaceRenamePopover/index.ts +7 -0
  581. package/src/{components/SpaceSettings → containers/SpaceSettingsContainer}/SpaceSettingsContainer.stories.tsx +7 -7
  582. package/src/{components/SpaceSettings → containers/SpaceSettingsContainer}/SpaceSettingsContainer.tsx +74 -77
  583. package/src/containers/SpaceSettingsContainer/index.ts +7 -0
  584. package/src/{components → containers}/SyncStatus/SyncStatus.stories.tsx +2 -2
  585. package/src/{components → containers}/SyncStatus/SyncStatus.tsx +6 -8
  586. package/src/containers/SyncStatus/index.ts +7 -0
  587. package/src/{components → containers/ViewEditor}/ViewEditor.tsx +32 -22
  588. package/src/containers/ViewEditor/index.ts +7 -0
  589. package/src/containers/index.ts +28 -0
  590. package/src/helpers/query.test.ts +1 -1
  591. package/src/helpers/query.ts +26 -18
  592. package/src/hooks/useActiveSpace.ts +11 -8
  593. package/src/hooks/useInputSurfaceLookup.tsx +9 -18
  594. package/src/hooks/usePath.ts +4 -4
  595. package/src/hooks/useTypeOptions.ts +3 -37
  596. package/src/index.ts +3 -3
  597. package/src/meta.ts +3 -3
  598. package/src/translations.ts +81 -58
  599. package/src/types/capabilities.ts +73 -0
  600. package/src/types/events.ts +16 -0
  601. package/src/types/form.ts +62 -0
  602. package/src/types/index.ts +3 -0
  603. package/src/types/types.ts +519 -263
  604. package/src/util.ts +82 -0
  605. package/dist/lib/browser/CollectionArticle-WTHWY4YS.mjs +0 -31
  606. package/dist/lib/browser/CollectionArticle-WTHWY4YS.mjs.map +0 -7
  607. package/dist/lib/browser/ObjectDetailsPanel-2BRUBHP6.mjs +0 -141
  608. package/dist/lib/browser/ObjectDetailsPanel-2BRUBHP6.mjs.map +0 -7
  609. package/dist/lib/browser/ObjectSettings-5LLWCVEK.mjs +0 -144
  610. package/dist/lib/browser/ObjectSettings-5LLWCVEK.mjs.map +0 -7
  611. package/dist/lib/browser/RecordArticle-SXDRWTTU.mjs +0 -116
  612. package/dist/lib/browser/RecordArticle-SXDRWTTU.mjs.map +0 -7
  613. package/dist/lib/browser/app-graph-builder-VQAB3GCQ.mjs +0 -528
  614. package/dist/lib/browser/app-graph-builder-VQAB3GCQ.mjs.map +0 -7
  615. package/dist/lib/browser/app-graph-serializer-KSLKMEPP.mjs +0 -80
  616. package/dist/lib/browser/app-graph-serializer-KSLKMEPP.mjs.map +0 -7
  617. package/dist/lib/browser/chunk-ERQMHU7L.mjs +0 -710
  618. package/dist/lib/browser/chunk-ERQMHU7L.mjs.map +0 -7
  619. package/dist/lib/browser/chunk-J2BUK5E6.mjs +0 -2058
  620. package/dist/lib/browser/chunk-J2BUK5E6.mjs.map +0 -7
  621. package/dist/lib/browser/chunk-K5J7ZB5P.mjs +0 -20
  622. package/dist/lib/browser/chunk-K5J7ZB5P.mjs.map +0 -7
  623. package/dist/lib/browser/chunk-M2Z6D4ZI.mjs +0 -349
  624. package/dist/lib/browser/chunk-M2Z6D4ZI.mjs.map +0 -7
  625. package/dist/lib/browser/chunk-OLBBSOVI.mjs.map +0 -7
  626. package/dist/lib/browser/chunk-PU5IOFMG.mjs +0 -167
  627. package/dist/lib/browser/chunk-PU5IOFMG.mjs.map +0 -7
  628. package/dist/lib/browser/chunk-VZBIIYFM.mjs.map +0 -7
  629. package/dist/lib/browser/chunk-WJXU4GKV.mjs +0 -19
  630. package/dist/lib/browser/chunk-WJXU4GKV.mjs.map +0 -7
  631. package/dist/lib/browser/identity-created-NAXTPQXE.mjs +0 -23
  632. package/dist/lib/browser/identity-created-NAXTPQXE.mjs.map +0 -7
  633. package/dist/lib/browser/intent-resolver-Q2XWHAVA.mjs +0 -762
  634. package/dist/lib/browser/intent-resolver-Q2XWHAVA.mjs.map +0 -7
  635. package/dist/lib/browser/react-root-MM4HADPE.mjs +0 -30
  636. package/dist/lib/browser/react-root-MM4HADPE.mjs.map +0 -7
  637. package/dist/lib/browser/react-surface-SGZC3Y4U.mjs +0 -351
  638. package/dist/lib/browser/react-surface-SGZC3Y4U.mjs.map +0 -7
  639. package/dist/lib/browser/schema-defs-QPI2JU3X.mjs +0 -26
  640. package/dist/lib/browser/schema-defs-QPI2JU3X.mjs.map +0 -7
  641. package/dist/lib/browser/settings-WKLGKUHQ.mjs +0 -24
  642. package/dist/lib/browser/settings-WKLGKUHQ.mjs.map +0 -7
  643. package/dist/lib/browser/spaces-ready-C5QC2UFL.mjs +0 -202
  644. package/dist/lib/browser/spaces-ready-C5QC2UFL.mjs.map +0 -7
  645. package/dist/lib/browser/state-Q7YRE5KG.mjs +0 -47
  646. package/dist/lib/browser/state-Q7YRE5KG.mjs.map +0 -7
  647. package/dist/lib/node-esm/CollectionArticle-KHXYT3SH.mjs +0 -32
  648. package/dist/lib/node-esm/CollectionArticle-KHXYT3SH.mjs.map +0 -7
  649. package/dist/lib/node-esm/ObjectDetailsPanel-6PZQIQG3.mjs +0 -142
  650. package/dist/lib/node-esm/ObjectDetailsPanel-6PZQIQG3.mjs.map +0 -7
  651. package/dist/lib/node-esm/ObjectSettings-OQSBOH7K.mjs +0 -145
  652. package/dist/lib/node-esm/ObjectSettings-OQSBOH7K.mjs.map +0 -7
  653. package/dist/lib/node-esm/RecordArticle-NACBH42P.mjs +0 -117
  654. package/dist/lib/node-esm/RecordArticle-NACBH42P.mjs.map +0 -7
  655. package/dist/lib/node-esm/app-graph-builder-24JCLJPX.mjs +0 -529
  656. package/dist/lib/node-esm/app-graph-builder-24JCLJPX.mjs.map +0 -7
  657. package/dist/lib/node-esm/app-graph-serializer-R723K764.mjs +0 -81
  658. package/dist/lib/node-esm/app-graph-serializer-R723K764.mjs.map +0 -7
  659. package/dist/lib/node-esm/chunk-2PN7QNGV.mjs +0 -350
  660. package/dist/lib/node-esm/chunk-2PN7QNGV.mjs.map +0 -7
  661. package/dist/lib/node-esm/chunk-BDEFTL6K.mjs.map +0 -7
  662. package/dist/lib/node-esm/chunk-H4JILUJK.mjs +0 -20
  663. package/dist/lib/node-esm/chunk-H4JILUJK.mjs.map +0 -7
  664. package/dist/lib/node-esm/chunk-ITQFSFQ3.mjs +0 -2059
  665. package/dist/lib/node-esm/chunk-ITQFSFQ3.mjs.map +0 -7
  666. package/dist/lib/node-esm/chunk-TJPQDQNI.mjs +0 -168
  667. package/dist/lib/node-esm/chunk-TJPQDQNI.mjs.map +0 -7
  668. package/dist/lib/node-esm/chunk-VH2EBZEV.mjs +0 -711
  669. package/dist/lib/node-esm/chunk-VH2EBZEV.mjs.map +0 -7
  670. package/dist/lib/node-esm/chunk-WC4VBFMA.mjs.map +0 -7
  671. package/dist/lib/node-esm/chunk-Z7BB6HC2.mjs +0 -21
  672. package/dist/lib/node-esm/chunk-Z7BB6HC2.mjs.map +0 -7
  673. package/dist/lib/node-esm/identity-created-OXLKCJE3.mjs +0 -25
  674. package/dist/lib/node-esm/identity-created-OXLKCJE3.mjs.map +0 -7
  675. package/dist/lib/node-esm/intent-resolver-YK4ESSET.mjs +0 -763
  676. package/dist/lib/node-esm/intent-resolver-YK4ESSET.mjs.map +0 -7
  677. package/dist/lib/node-esm/react-root-5ANDLQMX.mjs +0 -31
  678. package/dist/lib/node-esm/react-root-5ANDLQMX.mjs.map +0 -7
  679. package/dist/lib/node-esm/react-surface-V7J2QB44.mjs +0 -352
  680. package/dist/lib/node-esm/react-surface-V7J2QB44.mjs.map +0 -7
  681. package/dist/lib/node-esm/schema-defs-ZS2D47XW.mjs +0 -27
  682. package/dist/lib/node-esm/schema-defs-ZS2D47XW.mjs.map +0 -7
  683. package/dist/lib/node-esm/settings-RBB5633M.mjs +0 -25
  684. package/dist/lib/node-esm/settings-RBB5633M.mjs.map +0 -7
  685. package/dist/lib/node-esm/spaces-ready-SJCXV6YH.mjs +0 -203
  686. package/dist/lib/node-esm/spaces-ready-SJCXV6YH.mjs.map +0 -7
  687. package/dist/lib/node-esm/state-362I5BMK.mjs +0 -48
  688. package/dist/lib/node-esm/state-362I5BMK.mjs.map +0 -7
  689. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  690. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  691. package/dist/types/src/capabilities/app-graph-serializer.d.ts +0 -4
  692. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +0 -1
  693. package/dist/types/src/capabilities/capabilities.d.ts +0 -29
  694. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  695. package/dist/types/src/capabilities/identity-created.d.ts +0 -4
  696. package/dist/types/src/capabilities/identity-created.d.ts.map +0 -1
  697. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -9
  698. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  699. package/dist/types/src/capabilities/react-root.d.ts +0 -7
  700. package/dist/types/src/capabilities/react-root.d.ts.map +0 -1
  701. package/dist/types/src/capabilities/react-surface.d.ts +0 -7
  702. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  703. package/dist/types/src/capabilities/schema-defs.d.ts +0 -4
  704. package/dist/types/src/capabilities/schema-defs.d.ts.map +0 -1
  705. package/dist/types/src/capabilities/settings.d.ts +0 -4
  706. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  707. package/dist/types/src/capabilities/spaces-ready.d.ts +0 -4
  708. package/dist/types/src/capabilities/spaces-ready.d.ts.map +0 -1
  709. package/dist/types/src/capabilities/state.d.ts +0 -5
  710. package/dist/types/src/capabilities/state.d.ts.map +0 -1
  711. package/dist/types/src/components/AwaitingObject.d.ts.map +0 -1
  712. package/dist/types/src/components/CollectionArticle.d.ts +0 -6
  713. package/dist/types/src/components/CollectionArticle.d.ts.map +0 -1
  714. package/dist/types/src/components/CollectionSection.d.ts +0 -5
  715. package/dist/types/src/components/CollectionSection.d.ts.map +0 -1
  716. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +0 -10
  717. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +0 -1
  718. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +0 -1700
  719. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +0 -1
  720. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +0 -1
  721. package/dist/types/src/components/JoinDialog/JoinDialog.d.ts.map +0 -1
  722. package/dist/types/src/components/JoinDialog/index.d.ts +0 -2
  723. package/dist/types/src/components/JoinDialog/index.d.ts.map +0 -1
  724. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts +0 -1697
  725. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts.map +0 -1
  726. package/dist/types/src/components/MembersContainer/index.d.ts +0 -2
  727. package/dist/types/src/components/MembersContainer/index.d.ts.map +0 -1
  728. package/dist/types/src/components/MenuFooter.d.ts.map +0 -1
  729. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts +0 -9
  730. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts.map +0 -1
  731. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts.map +0 -1
  732. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts +0 -3
  733. package/dist/types/src/components/ObjectRenamePopover/index.d.ts +0 -2
  734. package/dist/types/src/components/ObjectRenamePopover/index.d.ts.map +0 -1
  735. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts +0 -7
  736. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +0 -1
  737. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +0 -1
  738. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts +0 -8
  739. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +0 -1
  740. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts +0 -8
  741. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +0 -1
  742. package/dist/types/src/components/ObjectSettings/index.d.ts +0 -3
  743. package/dist/types/src/components/ObjectSettings/index.d.ts.map +0 -1
  744. package/dist/types/src/components/RecordArticle.d.ts +0 -5
  745. package/dist/types/src/components/RecordArticle.d.ts.map +0 -1
  746. package/dist/types/src/components/RecordArticle.stories.d.ts +0 -1697
  747. package/dist/types/src/components/RecordArticle.stories.d.ts.map +0 -1
  748. package/dist/types/src/components/SchemaContainer.d.ts.map +0 -1
  749. package/dist/types/src/components/SpacePluginSettings.d.ts +0 -6
  750. package/dist/types/src/components/SpacePluginSettings.d.ts.map +0 -1
  751. package/dist/types/src/components/SpacePresence/SpacePresence.d.ts.map +0 -1
  752. package/dist/types/src/components/SpacePresence/index.d.ts +0 -2
  753. package/dist/types/src/components/SpacePresence/index.d.ts.map +0 -1
  754. package/dist/types/src/components/SpaceRenamePopover/index.d.ts +0 -2
  755. package/dist/types/src/components/SpaceRenamePopover/index.d.ts.map +0 -1
  756. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts +0 -7
  757. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +0 -1
  758. package/dist/types/src/components/SpaceSettings/index.d.ts +0 -2
  759. package/dist/types/src/components/SpaceSettings/index.d.ts.map +0 -1
  760. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +0 -1
  761. package/dist/types/src/components/ViewEditor.d.ts.map +0 -1
  762. package/dist/types/src/events.d.ts +0 -8
  763. package/dist/types/src/events.d.ts.map +0 -1
  764. package/src/capabilities/app-graph-builder.ts +0 -786
  765. package/src/capabilities/app-graph-serializer.ts +0 -76
  766. package/src/capabilities/capabilities.ts +0 -35
  767. package/src/capabilities/identity-created.ts +0 -25
  768. package/src/capabilities/intent-resolver.ts +0 -710
  769. package/src/capabilities/react-root.tsx +0 -22
  770. package/src/capabilities/react-surface.tsx +0 -324
  771. package/src/capabilities/schema-defs.ts +0 -31
  772. package/src/capabilities/settings.ts +0 -21
  773. package/src/capabilities/spaces-ready.ts +0 -237
  774. package/src/capabilities/state.ts +0 -46
  775. package/src/components/CollectionArticle.tsx +0 -33
  776. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +0 -85
  777. package/src/components/CreateDialog/CreateObjectDialog.tsx +0 -142
  778. package/src/components/CreateDialog/CreateSpaceDialog.tsx +0 -85
  779. package/src/components/MembersContainer/MembersContainer.stories.tsx +0 -56
  780. package/src/components/MembersContainer/index.ts +0 -5
  781. package/src/components/ObjectDetailsPanel/ObjectDetailsPanel.tsx +0 -51
  782. package/src/components/ObjectDetailsPanel/ObjectForm.tsx +0 -72
  783. package/src/components/ObjectDetailsPanel/index.ts +0 -7
  784. package/src/components/ObjectRenamePopover/index.ts +0 -5
  785. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +0 -81
  786. package/src/components/ObjectSettings/BaseObjectSettings.tsx +0 -111
  787. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +0 -37
  788. package/src/components/ObjectSettings/index.ts +0 -7
  789. package/src/components/RecordArticle.stories.tsx +0 -115
  790. package/src/components/RecordArticle.tsx +0 -114
  791. package/src/components/SchemaContainer.tsx +0 -56
  792. package/src/components/SpacePluginSettings.tsx +0 -58
  793. package/src/components/SpaceRenamePopover/index.ts +0 -5
  794. package/src/components/SpaceSettings/index.ts +0 -5
  795. package/src/events.ts +0 -15
  796. package/src/util.tsx +0 -733
  797. /package/dist/types/src/components/{AwaitingObject.d.ts → AwaitingObject/AwaitingObject.d.ts} +0 -0
  798. /package/dist/types/src/{components/CreateDialog → containers/CreateSpaceDialog}/CreateSpaceDialog.d.ts +0 -0
  799. /package/dist/types/src/{components/SyncStatus → containers/InlineSyncStatus}/InlineSyncStatus.d.ts +0 -0
  800. /package/dist/types/src/{components → containers}/JoinDialog/JoinDialog.d.ts +0 -0
  801. /package/dist/types/src/{components → containers}/MembersContainer/MembersContainer.d.ts +0 -0
  802. /package/dist/types/src/{components → containers}/SpaceRenamePopover/SpaceRenamePopover.d.ts +0 -0
  803. /package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.d.ts +0 -0
@@ -0,0 +1,32 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+
7
+ import { Capability } from '@dxos/app-framework';
8
+ import { AppCapabilities } from '@dxos/app-toolkit';
9
+
10
+ import { type SpacePluginOptions } from '../../types';
11
+
12
+ import {
13
+ createCollectionExtensions,
14
+ createCompanionExtensions,
15
+ createSettingsExtensions,
16
+ createSpaceExtensions,
17
+ createTypeExtensions,
18
+ } from './extensions';
19
+
20
+ export default Capability.makeModule(
21
+ Effect.fnUntraced(function* ({ shareableLinkOrigin = window.location.origin }: SpacePluginOptions = {}) {
22
+ const extensions = yield* Effect.all([
23
+ createSpaceExtensions(),
24
+ createTypeExtensions(),
25
+ createCollectionExtensions({ shareableLinkOrigin }),
26
+ createCompanionExtensions(),
27
+ createSettingsExtensions(),
28
+ ]);
29
+
30
+ return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions.flat());
31
+ }),
32
+ );
@@ -0,0 +1,351 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+ import * as Option from 'effect/Option';
7
+
8
+ import { Capabilities, Capability } from '@dxos/app-framework';
9
+ import { AppCapabilities, LayoutOperation, Segments, getObjectPathFromObject } from '@dxos/app-toolkit';
10
+ import { SpaceState, getSpace, isSpace } from '@dxos/client/echo';
11
+ import { Collection, Obj, Type } from '@dxos/echo';
12
+ import { AtomObj } from '@dxos/echo-atom';
13
+ import { invariant } from '@dxos/invariant';
14
+ import { Operation } from '@dxos/operation';
15
+ import { CreateAtom, Graph, GraphBuilder, Node } from '@dxos/plugin-graph';
16
+ import { isNonNullable } from '@dxos/util';
17
+
18
+ import { meta } from '../../../meta';
19
+ import { SpaceCapabilities, SpaceOperation } from '../../../types';
20
+
21
+ import {
22
+ COLLECTIONS_SECTION_TYPE,
23
+ COPY_LINK_LABEL,
24
+ CREATE_OBJECT_IN_COLLECTION_LABEL,
25
+ EXPOSE_OBJECT_LABEL,
26
+ type MetadataResolver,
27
+ REMOVE_FROM_COLLECTION_LABEL,
28
+ createObjectNode,
29
+ getCollectionGraphNodePartials,
30
+ getDynamicLabel,
31
+ whenSpace,
32
+ } from './shared';
33
+
34
+ //
35
+ // Extension Factory
36
+ //
37
+
38
+ /** Creates collection-related extensions: collections section, collections, objects, and object actions. */
39
+ export const createCollectionExtensions = Effect.fnUntraced(function* ({
40
+ shareableLinkOrigin,
41
+ }: {
42
+ shareableLinkOrigin: string;
43
+ }) {
44
+ const capabilities = yield* Capability.Service;
45
+
46
+ const resolve = (get: any) => (typename: string) =>
47
+ capabilities.getAll(AppCapabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
48
+
49
+ return yield* Effect.all([
50
+ // Collections section virtual node under each space.
51
+ GraphBuilder.createExtension({
52
+ id: `${meta.id}.collections-section`,
53
+ match: whenSpace,
54
+ connector: (space, get) => {
55
+ const spaceState = get(CreateAtom.fromObservable(space.state));
56
+ if (spaceState !== SpaceState.SPACE_READY) {
57
+ return Effect.succeed([]);
58
+ }
59
+
60
+ const propertiesSnapshot = get(AtomObj.make(space.properties));
61
+ const collectionRef = propertiesSnapshot[Collection.Collection.typename] as any;
62
+ if (collectionRef) {
63
+ get(AtomObj.make(collectionRef));
64
+ }
65
+ const rootCollection = collectionRef?.target;
66
+ const collectionPartials = rootCollection
67
+ ? getCollectionGraphNodePartials({ collection: rootCollection, db: space.db, resolve: resolve(get) })
68
+ : undefined;
69
+
70
+ return Effect.succeed([
71
+ {
72
+ id: Segments.collections,
73
+ type: COLLECTIONS_SECTION_TYPE,
74
+ data: null,
75
+ properties: {
76
+ label: ['collections section label', { ns: meta.id }],
77
+ icon: 'ph--folder--regular',
78
+ iconHue: 'neutral',
79
+ role: 'branch',
80
+ position: 'hoist',
81
+ testId: 'spacePlugin.collectionsSection',
82
+ draggable: false,
83
+ droppable: false,
84
+ space,
85
+ ...collectionPartials,
86
+ },
87
+ },
88
+ ]);
89
+ },
90
+ }),
91
+
92
+ // Root collection objects under the Collections virtual node.
93
+ GraphBuilder.createExtension({
94
+ id: `${meta.id}.collections`,
95
+ match: (node) => {
96
+ const space = isSpace(node.properties.space) ? node.properties.space : undefined;
97
+ return node.type === COLLECTIONS_SECTION_TYPE && space ? Option.some(space) : Option.none();
98
+ },
99
+ connector: (space, get) => {
100
+ const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
101
+ const ephemeralState = get(ephemeralAtom);
102
+
103
+ const propertiesSnapshot = get(AtomObj.make(space.properties));
104
+ const collectionRef = propertiesSnapshot[Collection.Collection.typename] as any;
105
+ const collection = collectionRef ? get(AtomObj.make(collectionRef)) : undefined;
106
+ if (!collection) {
107
+ return Effect.succeed([]);
108
+ }
109
+
110
+ const rawRefs = collection.objects ?? [];
111
+
112
+ const objects = rawRefs
113
+ .map((ref: any) => {
114
+ get(AtomObj.make(ref));
115
+ return ref.target;
116
+ })
117
+ .filter(isNonNullable);
118
+
119
+ return Effect.succeed(
120
+ objects
121
+ .map((object: Obj.Unknown) =>
122
+ createObjectNode({
123
+ db: space.db,
124
+ object,
125
+ resolve: resolve(get),
126
+ navigable: ephemeralState.navigableCollections,
127
+ parentCollection: collectionRef?.target,
128
+ }),
129
+ )
130
+ .filter(isNonNullable),
131
+ );
132
+ },
133
+ }),
134
+
135
+ // Children of Collection.Collection nodes.
136
+ GraphBuilder.createExtension({
137
+ id: `${meta.id}.objects`,
138
+ match: (node) => (Obj.instanceOf(Collection.Collection, node.data) ? Option.some(node.data) : Option.none()),
139
+ connector: (collection, get) => {
140
+ const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
141
+ const ephemeralState = get(ephemeralAtom);
142
+ const space = getSpace(collection);
143
+
144
+ const collectionSnapshot = get(AtomObj.make(collection));
145
+ const refs = collectionSnapshot.objects ?? [];
146
+
147
+ const objects = refs
148
+ .map((ref: any) => {
149
+ get(AtomObj.make(ref));
150
+ return ref.target;
151
+ })
152
+ .filter(isNonNullable);
153
+
154
+ return Effect.succeed(
155
+ objects
156
+ .map(
157
+ (object: Obj.Unknown) =>
158
+ space &&
159
+ createObjectNode({
160
+ object,
161
+ db: space.db,
162
+ resolve: resolve(get),
163
+ navigable: ephemeralState.navigableCollections,
164
+ parentCollection: collection,
165
+ }),
166
+ )
167
+ .filter(isNonNullable),
168
+ );
169
+ },
170
+ // TODO(graph-path-ids): Resolver temporarily disabled; redesign needed for path-based IDs.
171
+ // resolver: (id, get) => { ... },
172
+ }),
173
+
174
+ // Object actions.
175
+ GraphBuilder.createExtension({
176
+ id: `${meta.id}.object-actions`,
177
+ match: (node) => {
178
+ const space = getSpace(node.data);
179
+ return space && Obj.isObject(node.data) && Obj.getTypename(node.data) === node.type
180
+ ? Option.some({ space, object: node.data, nodeId: node.id })
181
+ : Option.none();
182
+ },
183
+ actions: ({ space, object, nodeId }, get) => {
184
+ const deletable = !Obj.instanceOf(Type.PersistentType, object);
185
+
186
+ const [appGraph] = get(capabilities.atom(AppCapabilities.AppGraph));
187
+ const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
188
+ const ephemeralState = get(ephemeralAtom);
189
+
190
+ if (!appGraph) {
191
+ return Effect.succeed([]);
192
+ }
193
+
194
+ const parentId = nodeId.substring(0, nodeId.lastIndexOf('/'));
195
+ const parentNode = Option.getOrUndefined(Graph.getNode(appGraph.graph, parentId));
196
+ const parentCollection =
197
+ parentNode && Obj.instanceOf(Collection.Collection, parentNode.data) ? parentNode.data : undefined;
198
+
199
+ return Effect.succeed(
200
+ constructObjectActions({
201
+ object,
202
+ nodeId,
203
+ resolve: resolve(get),
204
+ deletable,
205
+ navigable: ephemeralState.navigableCollections,
206
+ shareableLinkOrigin,
207
+ parentCollection,
208
+ }),
209
+ );
210
+ },
211
+ }),
212
+ ]);
213
+ });
214
+
215
+ //
216
+ // Helpers
217
+ //
218
+
219
+ /** Builds the action list for an ECHO object node. */
220
+ const constructObjectActions = ({
221
+ object,
222
+ nodeId,
223
+ resolve,
224
+ deletable = true,
225
+ navigable = false,
226
+ shareableLinkOrigin,
227
+ parentCollection,
228
+ }: {
229
+ object: Obj.Unknown;
230
+ nodeId: string;
231
+ resolve: MetadataResolver;
232
+ shareableLinkOrigin: string;
233
+ deletable?: boolean;
234
+ navigable?: boolean;
235
+ parentCollection?: Collection.Collection;
236
+ }) => {
237
+ const db = Obj.getDatabase(object);
238
+ invariant(db, 'Database not found');
239
+ const typename = Obj.getTypename(object);
240
+ invariant(typename, 'Object has no typename');
241
+
242
+ const actions: Node.NodeArg<Node.ActionData<Operation.Service | Capability.Service>>[] = [
243
+ ...(Obj.instanceOf(Collection.Collection, object)
244
+ ? [
245
+ {
246
+ id: SpaceOperation.OpenCreateObject.meta.key,
247
+ type: Node.ActionType,
248
+ data: () => Operation.invoke(SpaceOperation.OpenCreateObject, { target: object, targetNodeId: nodeId }),
249
+ properties: {
250
+ label: CREATE_OBJECT_IN_COLLECTION_LABEL,
251
+ icon: 'ph--plus--regular',
252
+ disposition: 'list-item-primary',
253
+ testId: 'spacePlugin.createObject',
254
+ },
255
+ },
256
+ ]
257
+ : []),
258
+ {
259
+ id: SpaceOperation.RenameObject.meta.key,
260
+ type: Node.ActionType,
261
+ data: (params?: Node.InvokeProps) =>
262
+ Operation.invoke(SpaceOperation.RenameObject, { object, caller: `${params?.caller}:${params?.parent?.id}` }),
263
+ properties: {
264
+ label: getDynamicLabel('rename object label', typename, { defaultValue: 'Rename' }),
265
+ icon: 'ph--pencil-simple-line--regular',
266
+ disposition: 'list-item',
267
+ testId: 'spacePlugin.renameObject',
268
+ },
269
+ },
270
+ ...(parentCollection && !Obj.instanceOf(Collection.Collection, object)
271
+ ? [
272
+ {
273
+ id: 'remove-from-collection',
274
+ type: Node.ActionType,
275
+ data: () =>
276
+ Effect.gen(function* () {
277
+ const index = parentCollection.objects.findIndex((ref: any) => ref.target === object);
278
+ if (index !== -1) {
279
+ const layout = yield* Capabilities.getAtomValue(AppCapabilities.Layout);
280
+ const isActive = layout.active.includes(nodeId);
281
+
282
+ Obj.change(parentCollection, (mutable) => {
283
+ mutable.objects.splice(index, 1);
284
+ });
285
+
286
+ if (isActive) {
287
+ yield* Operation.invoke(LayoutOperation.Open, {
288
+ subject: [getObjectPathFromObject(object)],
289
+ });
290
+ }
291
+ }
292
+ }),
293
+ properties: {
294
+ label: REMOVE_FROM_COLLECTION_LABEL,
295
+ icon: 'ph--minus-circle--regular',
296
+ disposition: 'list-item',
297
+ testId: 'spacePlugin.removeFromCollection',
298
+ },
299
+ },
300
+ ]
301
+ : []),
302
+ {
303
+ id: SpaceOperation.RemoveObjects.meta.key,
304
+ type: Node.ActionType,
305
+ data: () =>
306
+ Operation.invoke(SpaceOperation.RemoveObjects, {
307
+ objects: [object],
308
+ target: parentCollection,
309
+ }),
310
+ properties: {
311
+ label: getDynamicLabel('delete object label', typename, { defaultValue: 'Delete' }),
312
+ icon: 'ph--trash--regular',
313
+ disposition: 'list-item',
314
+ disabled: !deletable,
315
+ testId: 'spacePlugin.deleteObject',
316
+ },
317
+ },
318
+ ...(navigable || !Obj.instanceOf(Collection.Collection, object)
319
+ ? [
320
+ {
321
+ id: 'copy-link',
322
+ type: Node.ActionType,
323
+ data: () =>
324
+ Effect.promise(async () => {
325
+ const url = `${shareableLinkOrigin}/${db.spaceId}/${Obj.getDXN(object).toString()}`;
326
+ await navigator.clipboard.writeText(url);
327
+ }),
328
+ properties: {
329
+ label: COPY_LINK_LABEL,
330
+ icon: 'ph--link--regular',
331
+ disposition: 'list-item',
332
+ testId: 'spacePlugin.copyLink',
333
+ },
334
+ },
335
+ ]
336
+ : []),
337
+ {
338
+ id: LayoutOperation.Expose.meta.key,
339
+ type: Node.ActionType,
340
+ data: () => Operation.invoke(LayoutOperation.Expose, { subject: getObjectPathFromObject(object) }),
341
+ properties: {
342
+ label: EXPOSE_OBJECT_LABEL,
343
+ icon: 'ph--eye--regular',
344
+ disposition: 'heading-list-item',
345
+ testId: 'spacePlugin.exposeObject',
346
+ },
347
+ },
348
+ ];
349
+
350
+ return actions;
351
+ };
@@ -0,0 +1,80 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+ import * as Option from 'effect/Option';
7
+
8
+ import { COMPANION_PREFIX } from '@dxos/app-toolkit';
9
+ import { Obj } from '@dxos/echo';
10
+ import { PLANK_COMPANION_TYPE } from '@dxos/plugin-deck/types';
11
+ import { GraphBuilder, NodeMatcher } from '@dxos/plugin-graph';
12
+ // TODO(wittjosiah): This is currently necessary for type portability.
13
+ // eslint-disable-next-line unused-imports/no-unused-imports
14
+ import type { Node } from '@dxos/plugin-graph';
15
+ import { ViewAnnotation } from '@dxos/schema';
16
+
17
+ import { meta } from '../../../meta';
18
+
19
+ //
20
+ // Extension Factory
21
+ //
22
+
23
+ /** Creates companion panel extensions: object settings and selected-objects. */
24
+ export const createCompanionExtensions = Effect.fnUntraced(function* () {
25
+ return yield* Effect.all([
26
+ // Object settings plank companion.
27
+ GraphBuilder.createExtension({
28
+ id: `${meta.id}.settings`,
29
+ match: NodeMatcher.whenEchoObjectMatches,
30
+ connector: (node) =>
31
+ Effect.succeed([
32
+ {
33
+ id: `${COMPANION_PREFIX}settings`,
34
+ type: PLANK_COMPANION_TYPE,
35
+ data: 'settings',
36
+ properties: {
37
+ label: ['object settings label', { ns: meta.id }],
38
+ icon: 'ph--sliders--regular',
39
+ disposition: 'hidden',
40
+ position: 'fallback',
41
+ },
42
+ },
43
+ ]),
44
+ }),
45
+
46
+ // View selected objects companion.
47
+ GraphBuilder.createExtension({
48
+ id: `${meta.id}.selected-objects`,
49
+ match: (node) => {
50
+ if (!Obj.isObject(node.data)) {
51
+ return Option.none();
52
+ }
53
+
54
+ const schema = Obj.getSchema(node.data);
55
+ const isView = Option.fromNullable(schema).pipe(
56
+ Option.flatMap((candidate) => ViewAnnotation.get(candidate)),
57
+ Option.getOrElse(() => false),
58
+ );
59
+ if (!isView) {
60
+ return Option.none();
61
+ }
62
+
63
+ return Option.some(node);
64
+ },
65
+ connector: (node) =>
66
+ Effect.succeed([
67
+ {
68
+ id: `${COMPANION_PREFIX}selected-objects`,
69
+ type: PLANK_COMPANION_TYPE,
70
+ data: 'selected-objects',
71
+ properties: {
72
+ label: ['companion selected objects label', { ns: meta.id }],
73
+ icon: 'ph--tree-view--regular',
74
+ disposition: 'hidden',
75
+ },
76
+ },
77
+ ]),
78
+ }),
79
+ ]);
80
+ });
@@ -0,0 +1,9 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ export { createSpaceExtensions } from './spaces';
6
+ export { createTypeExtensions } from './types';
7
+ export { createCollectionExtensions } from './collections';
8
+ export { createCompanionExtensions } from './companions';
9
+ export { createSettingsExtensions } from './settings';
@@ -0,0 +1,60 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+
7
+ import { GraphBuilder, NodeMatcher } from '@dxos/plugin-graph';
8
+ // TODO(wittjosiah): This is currently necessary for type portability.
9
+ // eslint-disable-next-line unused-imports/no-unused-imports
10
+ import type { Node } from '@dxos/plugin-graph';
11
+
12
+ import { meta } from '../../../meta';
13
+
14
+ //
15
+ // Extension Factory
16
+ //
17
+
18
+ /** Creates the settings-sections extension for space settings panel. */
19
+ export const createSettingsExtensions = Effect.fnUntraced(function* () {
20
+ const extension = yield* GraphBuilder.createExtension({
21
+ id: `${meta.id}.settings-sections`,
22
+ match: NodeMatcher.whenNodeType(`${meta.id}.settings`),
23
+ connector: (node) =>
24
+ Effect.succeed([
25
+ {
26
+ id: `${meta.id}.general`,
27
+ type: `${meta.id}.general`,
28
+ data: `${meta.id}.general`,
29
+ properties: {
30
+ label: ['space settings properties label', { ns: meta.id }],
31
+ icon: 'ph--sliders--regular',
32
+ position: 'hoist',
33
+ testId: 'spacePlugin.general',
34
+ },
35
+ },
36
+ {
37
+ id: `${meta.id}.members`,
38
+ type: `${meta.id}.members`,
39
+ data: `${meta.id}.members`,
40
+ properties: {
41
+ label: ['members panel label', { ns: meta.id }],
42
+ icon: 'ph--users--regular',
43
+ position: 'hoist',
44
+ testId: 'spacePlugin.members',
45
+ },
46
+ },
47
+ {
48
+ id: `${meta.id}.schema`,
49
+ type: `${meta.id}.schema`,
50
+ data: `${meta.id}.schema`,
51
+ properties: {
52
+ label: ['space settings schema label', { ns: meta.id }],
53
+ icon: 'ph--shapes--regular',
54
+ testId: 'spacePlugin.schema',
55
+ },
56
+ },
57
+ ]),
58
+ });
59
+ return [extension];
60
+ });
@@ -0,0 +1,112 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Registry from '@effect-atom/atom/Registry';
6
+ import * as Schema from 'effect/Schema';
7
+ import { afterEach, beforeEach, describe, test } from 'vitest';
8
+
9
+ import { Filter, Obj, Query, Ref, Type, View } from '@dxos/echo';
10
+ import { type EchoDatabase } from '@dxos/echo-db';
11
+ import { EchoTestBuilder } from '@dxos/echo-db/testing';
12
+ import { ViewAnnotation } from '@dxos/schema';
13
+
14
+ import { buildViewIndex } from './shared';
15
+
16
+ const TestContact = Schema.Struct({
17
+ name: Schema.String,
18
+ }).pipe(
19
+ Type.object({
20
+ typename: 'test/Contact',
21
+ version: '0.1.0',
22
+ }),
23
+ );
24
+
25
+ const TestViewWrapper = Schema.Struct({
26
+ name: Schema.optional(Schema.String),
27
+ view: Ref.Ref(View.View),
28
+ }).pipe(
29
+ Type.object({
30
+ typename: 'test/ViewWrapper',
31
+ version: '0.1.0',
32
+ }),
33
+ ViewAnnotation.set(true),
34
+ );
35
+
36
+ describe('buildViewIndex', () => {
37
+ let testBuilder: EchoTestBuilder;
38
+ let db: EchoDatabase;
39
+ let registry: Registry.Registry;
40
+
41
+ beforeEach(async () => {
42
+ testBuilder = await new EchoTestBuilder().open();
43
+ const result = await testBuilder.createDatabase({ types: [TestContact, TestViewWrapper, View.View] });
44
+ db = result.db;
45
+ registry = Registry.make();
46
+ });
47
+
48
+ afterEach(async () => {
49
+ await testBuilder.close();
50
+ });
51
+
52
+ test('includes typename when a straightforward view targets it', async ({ expect }) => {
53
+ const viewObj = db.add(
54
+ View.make({
55
+ query: { ast: Query.select(Filter.type(TestContact)).ast },
56
+ }),
57
+ );
58
+ db.add(Obj.make(TestViewWrapper, { view: Ref.make(viewObj) }));
59
+ await db.flush();
60
+
61
+ const allSchemas = db.schemaRegistry.query({ location: ['runtime'] }).runSync();
62
+ const viewIndex = buildViewIndex(registry.get.bind(registry) as any, { db } as any, allSchemas);
63
+
64
+ expect(viewIndex.typenamesWithViews.has(Type.getTypename(TestContact))).toBe(true);
65
+ });
66
+
67
+ test('excludes typename when no straightforward view targets it', async ({ expect }) => {
68
+ const viewObj = db.add(
69
+ View.make({
70
+ query: { ast: Query.select(Filter.nothing()).ast },
71
+ }),
72
+ );
73
+ db.add(Obj.make(TestViewWrapper, { view: Ref.make(viewObj) }));
74
+ await db.flush();
75
+
76
+ const allSchemas = db.schemaRegistry.query({ location: ['runtime'] }).runSync();
77
+ const viewIndex = buildViewIndex(registry.get.bind(registry) as any, { db } as any, allSchemas);
78
+
79
+ expect(viewIndex.typenamesWithViews.has(Type.getTypename(TestContact))).toBe(false);
80
+ expect(viewIndex.typenamesWithViews.size).toBe(0);
81
+ });
82
+
83
+ test('getViewsForTypename returns matching view objects', async ({ expect }) => {
84
+ const viewObj = db.add(
85
+ View.make({
86
+ query: { ast: Query.select(Filter.type(TestContact)).ast },
87
+ }),
88
+ );
89
+ const tableView = db.add(Obj.make(TestViewWrapper, { view: Ref.make(viewObj) }));
90
+ await db.flush();
91
+
92
+ const allSchemas = db.schemaRegistry.query({ location: ['runtime'] }).runSync();
93
+ const viewIndex = buildViewIndex(registry.get.bind(registry) as any, { db } as any, allSchemas);
94
+
95
+ const views = viewIndex.getViewsForTypename(Type.getTypename(TestContact));
96
+ expect(views).toHaveLength(1);
97
+ expect(views[0].id).toBe(tableView.id);
98
+ });
99
+
100
+ test('returns empty index when no view schemas exist', async ({ expect }) => {
101
+ await db.flush();
102
+
103
+ const userSchemas = db.schemaRegistry
104
+ .query({ location: ['runtime'] })
105
+ .runSync()
106
+ .filter((schema) => !ViewAnnotation.get(schema).pipe((opt) => opt._tag === 'Some' && opt.value));
107
+ const viewIndex = buildViewIndex(registry.get.bind(registry) as any, { db } as any, userSchemas);
108
+
109
+ expect(viewIndex.typenamesWithViews.size).toBe(0);
110
+ expect(viewIndex.getViewsForTypename(Type.getTypename(TestContact))).toHaveLength(0);
111
+ });
112
+ });