@dxos/plugin-space 0.8.4-main.66e292d → 0.8.4-main.69d29f4

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 (563) hide show
  1. package/dist/lib/browser/CollectionArticle-XPNA6EHZ.mjs +129 -0
  2. package/dist/lib/browser/CollectionArticle-XPNA6EHZ.mjs.map +7 -0
  3. package/dist/lib/browser/ObjectCardStack-TWHN6C2Y.mjs +148 -0
  4. package/dist/lib/browser/ObjectCardStack-TWHN6C2Y.mjs.map +7 -0
  5. package/dist/lib/browser/ObjectDetails-GEDIISKK.mjs +142 -0
  6. package/dist/lib/browser/ObjectDetails-GEDIISKK.mjs.map +7 -0
  7. package/dist/lib/browser/RecordArticle-W57QE7QV.mjs +107 -0
  8. package/dist/lib/browser/RecordArticle-W57QE7QV.mjs.map +7 -0
  9. package/dist/lib/browser/app-graph-builder-SJHTZXZF.mjs +523 -0
  10. package/dist/lib/browser/app-graph-builder-SJHTZXZF.mjs.map +7 -0
  11. package/dist/lib/browser/app-graph-serializer-7AT7QMSK.mjs +84 -0
  12. package/dist/lib/browser/app-graph-serializer-7AT7QMSK.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-3X2EA2OA.mjs +1898 -0
  14. package/dist/lib/browser/chunk-3X2EA2OA.mjs.map +7 -0
  15. package/dist/lib/browser/{chunk-P25R3AOK.mjs → chunk-4WZUGLQQ.mjs} +49 -56
  16. package/dist/lib/browser/chunk-4WZUGLQQ.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-ASV6DYFH.mjs +19 -0
  18. package/dist/lib/browser/chunk-ASV6DYFH.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-AWVAX26X.mjs +13 -0
  20. package/dist/lib/browser/chunk-AWVAX26X.mjs.map +7 -0
  21. package/dist/lib/browser/chunk-CCRSHECL.mjs +714 -0
  22. package/dist/lib/browser/chunk-CCRSHECL.mjs.map +7 -0
  23. package/dist/lib/browser/{chunk-VZBIIYFM.mjs → chunk-HSMQFM57.mjs} +1 -1
  24. package/dist/lib/browser/chunk-HSMQFM57.mjs.map +7 -0
  25. package/dist/lib/browser/{chunk-GJOZILGC.mjs → chunk-SUI34XSA.mjs} +204 -200
  26. package/dist/lib/browser/chunk-SUI34XSA.mjs.map +7 -0
  27. package/dist/lib/browser/{chunk-POFUXISV.mjs → chunk-ZT2VPYRM.mjs} +4 -3
  28. package/dist/lib/browser/{chunk-POFUXISV.mjs.map → chunk-ZT2VPYRM.mjs.map} +2 -2
  29. package/dist/lib/browser/cli/index.mjs +849 -0
  30. package/dist/lib/browser/cli/index.mjs.map +7 -0
  31. package/dist/lib/browser/identity-created-VCFYLSBB.mjs +23 -0
  32. package/dist/lib/browser/identity-created-VCFYLSBB.mjs.map +7 -0
  33. package/dist/lib/browser/index.mjs +213 -192
  34. package/dist/lib/browser/index.mjs.map +4 -4
  35. package/dist/lib/browser/meta.json +1 -1
  36. package/dist/lib/browser/operation-resolver-SIRQT36Z.mjs +827 -0
  37. package/dist/lib/browser/operation-resolver-SIRQT36Z.mjs.map +7 -0
  38. package/dist/lib/browser/react-root-PI7VTZUZ.mjs +30 -0
  39. package/dist/lib/browser/react-root-PI7VTZUZ.mjs.map +7 -0
  40. package/dist/lib/browser/react-surface-BPE7VWI7.mjs +382 -0
  41. package/dist/lib/browser/react-surface-BPE7VWI7.mjs.map +7 -0
  42. package/dist/lib/browser/{repair-CNLE35NF.mjs → repair-CJG26D52.mjs} +16 -10
  43. package/dist/lib/browser/repair-CJG26D52.mjs.map +7 -0
  44. package/dist/lib/browser/settings-ZS2AQ73E.mjs +33 -0
  45. package/dist/lib/browser/settings-ZS2AQ73E.mjs.map +7 -0
  46. package/dist/lib/browser/spaces-ready-OQDGWUOS.mjs +242 -0
  47. package/dist/lib/browser/spaces-ready-OQDGWUOS.mjs.map +7 -0
  48. package/dist/lib/browser/state-7YZQB2KY.mjs +58 -0
  49. package/dist/lib/browser/state-7YZQB2KY.mjs.map +7 -0
  50. package/dist/lib/browser/types/index.mjs +10 -8
  51. package/dist/lib/node-esm/CollectionArticle-WGHNZNO2.mjs +130 -0
  52. package/dist/lib/node-esm/CollectionArticle-WGHNZNO2.mjs.map +7 -0
  53. package/dist/lib/node-esm/ObjectCardStack-C5ZXRKP7.mjs +149 -0
  54. package/dist/lib/node-esm/ObjectCardStack-C5ZXRKP7.mjs.map +7 -0
  55. package/dist/lib/node-esm/ObjectDetails-6ZLDRKCO.mjs +143 -0
  56. package/dist/lib/node-esm/ObjectDetails-6ZLDRKCO.mjs.map +7 -0
  57. package/dist/lib/node-esm/RecordArticle-SSV74Z46.mjs +108 -0
  58. package/dist/lib/node-esm/RecordArticle-SSV74Z46.mjs.map +7 -0
  59. package/dist/lib/node-esm/app-graph-builder-HZ3XXDFZ.mjs +524 -0
  60. package/dist/lib/node-esm/app-graph-builder-HZ3XXDFZ.mjs.map +7 -0
  61. package/dist/lib/node-esm/app-graph-serializer-WJ2TIQG6.mjs +85 -0
  62. package/dist/lib/node-esm/app-graph-serializer-WJ2TIQG6.mjs.map +7 -0
  63. package/dist/lib/node-esm/{chunk-AX3UGL5D.mjs → chunk-2SW6S2BB.mjs} +4 -3
  64. package/dist/lib/node-esm/{chunk-AX3UGL5D.mjs.map → chunk-2SW6S2BB.mjs.map} +2 -2
  65. package/dist/lib/node-esm/{chunk-I6FZP42D.mjs → chunk-7KMYUWSR.mjs} +204 -200
  66. package/dist/lib/node-esm/chunk-7KMYUWSR.mjs.map +7 -0
  67. package/dist/lib/node-esm/chunk-CVXULIYC.mjs +20 -0
  68. package/dist/lib/node-esm/chunk-CVXULIYC.mjs.map +7 -0
  69. package/dist/lib/node-esm/chunk-EYS3L2NO.mjs +1899 -0
  70. package/dist/lib/node-esm/chunk-EYS3L2NO.mjs.map +7 -0
  71. package/dist/lib/node-esm/chunk-HREWB23G.mjs +15 -0
  72. package/dist/lib/node-esm/chunk-HREWB23G.mjs.map +7 -0
  73. package/dist/lib/node-esm/{chunk-7EV4SN47.mjs → chunk-JOBIWCBC.mjs} +49 -56
  74. package/dist/lib/node-esm/chunk-JOBIWCBC.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-MPL6NHQX.mjs +715 -0
  76. package/dist/lib/node-esm/chunk-MPL6NHQX.mjs.map +7 -0
  77. package/dist/lib/node-esm/{chunk-BDEFTL6K.mjs → chunk-SL4BJSUG.mjs} +1 -1
  78. package/dist/lib/node-esm/chunk-SL4BJSUG.mjs.map +7 -0
  79. package/dist/lib/node-esm/cli/index.mjs +850 -0
  80. package/dist/lib/node-esm/cli/index.mjs.map +7 -0
  81. package/dist/lib/node-esm/identity-created-2SJABVJD.mjs +25 -0
  82. package/dist/lib/node-esm/identity-created-2SJABVJD.mjs.map +7 -0
  83. package/dist/lib/node-esm/index.mjs +213 -192
  84. package/dist/lib/node-esm/index.mjs.map +4 -4
  85. package/dist/lib/node-esm/meta.json +1 -1
  86. package/dist/lib/node-esm/operation-resolver-ZE3XJL5J.mjs +828 -0
  87. package/dist/lib/node-esm/operation-resolver-ZE3XJL5J.mjs.map +7 -0
  88. package/dist/lib/node-esm/react-root-KUXM33JI.mjs +31 -0
  89. package/dist/lib/node-esm/react-root-KUXM33JI.mjs.map +7 -0
  90. package/dist/lib/node-esm/react-surface-STCQKUZ4.mjs +383 -0
  91. package/dist/lib/node-esm/react-surface-STCQKUZ4.mjs.map +7 -0
  92. package/dist/lib/node-esm/{repair-EHZS6MFY.mjs → repair-G3ZW3VG3.mjs} +16 -10
  93. package/dist/lib/node-esm/repair-G3ZW3VG3.mjs.map +7 -0
  94. package/dist/lib/node-esm/settings-PVI2VG56.mjs +34 -0
  95. package/dist/lib/node-esm/settings-PVI2VG56.mjs.map +7 -0
  96. package/dist/lib/node-esm/spaces-ready-R744OHQG.mjs +243 -0
  97. package/dist/lib/node-esm/spaces-ready-R744OHQG.mjs.map +7 -0
  98. package/dist/lib/node-esm/state-XE5YGPHM.mjs +59 -0
  99. package/dist/lib/node-esm/state-XE5YGPHM.mjs.map +7 -0
  100. package/dist/lib/node-esm/types/index.mjs +10 -8
  101. package/dist/types/src/SpacePlugin.d.ts +3 -15
  102. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  103. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
  104. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  105. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  106. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  107. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts +5 -0
  108. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts.map +1 -0
  109. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts +3 -0
  110. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts.map +1 -0
  111. package/dist/types/src/capabilities/identity-created/identity-created.d.ts +5 -0
  112. package/dist/types/src/capabilities/identity-created/identity-created.d.ts.map +1 -0
  113. package/dist/types/src/capabilities/identity-created/index.d.ts +3 -0
  114. package/dist/types/src/capabilities/identity-created/index.d.ts.map +1 -0
  115. package/dist/types/src/capabilities/index.d.ts +10 -20
  116. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  117. package/dist/types/src/capabilities/operation-resolver/index.d.ts +6 -0
  118. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  119. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +9 -0
  120. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  121. package/dist/types/src/capabilities/react-root/index.d.ts +6 -0
  122. package/dist/types/src/capabilities/react-root/index.d.ts.map +1 -0
  123. package/dist/types/src/capabilities/react-root/react-root.d.ts +9 -0
  124. package/dist/types/src/capabilities/react-root/react-root.d.ts.map +1 -0
  125. package/dist/types/src/capabilities/react-surface/index.d.ts +5 -0
  126. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  127. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +8 -0
  128. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  129. package/dist/types/src/capabilities/repair/index.d.ts +3 -0
  130. package/dist/types/src/capabilities/repair/index.d.ts.map +1 -0
  131. package/dist/types/src/capabilities/repair/repair.d.ts +6 -0
  132. package/dist/types/src/capabilities/repair/repair.d.ts.map +1 -0
  133. package/dist/types/src/capabilities/settings/index.d.ts +7 -0
  134. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  135. package/dist/types/src/capabilities/settings/settings.d.ts +9 -0
  136. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  137. package/dist/types/src/capabilities/spaces-ready/index.d.ts +3 -0
  138. package/dist/types/src/capabilities/spaces-ready/index.d.ts.map +1 -0
  139. package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts +5 -0
  140. package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts.map +1 -0
  141. package/dist/types/src/capabilities/state/index.d.ts +13 -0
  142. package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
  143. package/dist/types/src/capabilities/state/state.d.ts +17 -0
  144. package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
  145. package/dist/types/src/cli/commands/database/add.d.ts +17 -0
  146. package/dist/types/src/cli/commands/database/add.d.ts.map +1 -0
  147. package/dist/types/src/cli/commands/database/index.d.ts +3 -0
  148. package/dist/types/src/cli/commands/database/index.d.ts.map +1 -0
  149. package/dist/types/src/cli/commands/database/query/index.d.ts +2 -0
  150. package/dist/types/src/cli/commands/database/query/index.d.ts.map +1 -0
  151. package/dist/types/src/cli/commands/database/query/query.d.ts +13 -0
  152. package/dist/types/src/cli/commands/database/query/query.d.ts.map +1 -0
  153. package/dist/types/src/cli/commands/database/query/query.test.d.ts +2 -0
  154. package/dist/types/src/cli/commands/database/query/query.test.d.ts.map +1 -0
  155. package/dist/types/src/cli/commands/database/remove.d.ts +9 -0
  156. package/dist/types/src/cli/commands/database/remove.d.ts.map +1 -0
  157. package/dist/types/src/cli/commands/database/stats.d.ts +6 -0
  158. package/dist/types/src/cli/commands/database/stats.d.ts.map +1 -0
  159. package/dist/types/src/cli/commands/database/util.d.ts +14 -0
  160. package/dist/types/src/cli/commands/database/util.d.ts.map +1 -0
  161. package/dist/types/src/cli/commands/index.d.ts +4 -0
  162. package/dist/types/src/cli/commands/index.d.ts.map +1 -0
  163. package/dist/types/src/cli/commands/queue/index.d.ts +7 -0
  164. package/dist/types/src/cli/commands/queue/index.d.ts.map +1 -0
  165. package/dist/types/src/cli/commands/queue/query.d.ts +8 -0
  166. package/dist/types/src/cli/commands/queue/query.d.ts.map +1 -0
  167. package/dist/types/src/cli/commands/queue/util.d.ts +6 -0
  168. package/dist/types/src/cli/commands/queue/util.d.ts.map +1 -0
  169. package/dist/types/src/cli/commands/space/close/close.d.ts +12 -0
  170. package/dist/types/src/cli/commands/space/close/close.d.ts.map +1 -0
  171. package/dist/types/src/cli/commands/space/close/index.d.ts +2 -0
  172. package/dist/types/src/cli/commands/space/close/index.d.ts.map +1 -0
  173. package/dist/types/src/cli/commands/space/create/create.d.ts +12 -0
  174. package/dist/types/src/cli/commands/space/create/create.d.ts.map +1 -0
  175. package/dist/types/src/cli/commands/space/create/create.test.d.ts +2 -0
  176. package/dist/types/src/cli/commands/space/create/create.test.d.ts.map +1 -0
  177. package/dist/types/src/cli/commands/space/create/index.d.ts +2 -0
  178. package/dist/types/src/cli/commands/space/create/index.d.ts.map +1 -0
  179. package/dist/types/src/cli/commands/space/index.d.ts +31 -0
  180. package/dist/types/src/cli/commands/space/index.d.ts.map +1 -0
  181. package/dist/types/src/cli/commands/space/info/index.d.ts +2 -0
  182. package/dist/types/src/cli/commands/space/info/index.d.ts.map +1 -0
  183. package/dist/types/src/cli/commands/space/info/info.d.ts +13 -0
  184. package/dist/types/src/cli/commands/space/info/info.d.ts.map +1 -0
  185. package/dist/types/src/cli/commands/space/info/info.test.d.ts +2 -0
  186. package/dist/types/src/cli/commands/space/info/info.test.d.ts.map +1 -0
  187. package/dist/types/src/cli/commands/space/join/index.d.ts +2 -0
  188. package/dist/types/src/cli/commands/space/join/index.d.ts.map +1 -0
  189. package/dist/types/src/cli/commands/space/join/join.d.ts +14 -0
  190. package/dist/types/src/cli/commands/space/join/join.d.ts.map +1 -0
  191. package/dist/types/src/cli/commands/space/join/util.d.ts +17 -0
  192. package/dist/types/src/cli/commands/space/join/util.d.ts.map +1 -0
  193. package/dist/types/src/cli/commands/space/list/index.d.ts +2 -0
  194. package/dist/types/src/cli/commands/space/list/index.d.ts.map +1 -0
  195. package/dist/types/src/cli/commands/space/list/list.d.ts +7 -0
  196. package/dist/types/src/cli/commands/space/list/list.d.ts.map +1 -0
  197. package/dist/types/src/cli/commands/space/list/list.test.d.ts +2 -0
  198. package/dist/types/src/cli/commands/space/list/list.test.d.ts.map +1 -0
  199. package/dist/types/src/cli/commands/space/members/index.d.ts +2 -0
  200. package/dist/types/src/cli/commands/space/members/index.d.ts.map +1 -0
  201. package/dist/types/src/cli/commands/space/members/members.d.ts +13 -0
  202. package/dist/types/src/cli/commands/space/members/members.d.ts.map +1 -0
  203. package/dist/types/src/cli/commands/space/members/members.test.d.ts +2 -0
  204. package/dist/types/src/cli/commands/space/members/members.test.d.ts.map +1 -0
  205. package/dist/types/src/cli/commands/space/members/util.d.ts +9 -0
  206. package/dist/types/src/cli/commands/space/members/util.d.ts.map +1 -0
  207. package/dist/types/src/cli/commands/space/open/index.d.ts +2 -0
  208. package/dist/types/src/cli/commands/space/open/index.d.ts.map +1 -0
  209. package/dist/types/src/cli/commands/space/open/open.d.ts +12 -0
  210. package/dist/types/src/cli/commands/space/open/open.d.ts.map +1 -0
  211. package/dist/types/src/cli/commands/space/schema/index.d.ts +8 -0
  212. package/dist/types/src/cli/commands/space/schema/index.d.ts.map +1 -0
  213. package/dist/types/src/cli/commands/space/schema/list/index.d.ts +2 -0
  214. package/dist/types/src/cli/commands/space/schema/list/index.d.ts.map +1 -0
  215. package/dist/types/src/cli/commands/space/schema/list/list.d.ts +15 -0
  216. package/dist/types/src/cli/commands/space/schema/list/list.d.ts.map +1 -0
  217. package/dist/types/src/cli/commands/space/schema/list/list.test.d.ts +2 -0
  218. package/dist/types/src/cli/commands/space/schema/list/list.test.d.ts.map +1 -0
  219. package/dist/types/src/cli/commands/space/schema/list/util.d.ts +15 -0
  220. package/dist/types/src/cli/commands/space/schema/list/util.d.ts.map +1 -0
  221. package/dist/types/src/cli/commands/space/share/index.d.ts +2 -0
  222. package/dist/types/src/cli/commands/space/share/index.d.ts.map +1 -0
  223. package/dist/types/src/cli/commands/space/share/share.d.ts +19 -0
  224. package/dist/types/src/cli/commands/space/share/share.d.ts.map +1 -0
  225. package/dist/types/src/cli/commands/space/sync/index.d.ts +2 -0
  226. package/dist/types/src/cli/commands/space/sync/index.d.ts.map +1 -0
  227. package/dist/types/src/cli/commands/space/sync/sync.d.ts +6 -0
  228. package/dist/types/src/cli/commands/space/sync/sync.d.ts.map +1 -0
  229. package/dist/types/src/cli/commands/space/sync/sync.test.d.ts +2 -0
  230. package/dist/types/src/cli/commands/space/sync/sync.test.d.ts.map +1 -0
  231. package/dist/types/src/cli/index.d.ts +2 -0
  232. package/dist/types/src/cli/index.d.ts.map +1 -0
  233. package/dist/types/src/cli/plugin.d.ts +4 -0
  234. package/dist/types/src/cli/plugin.d.ts.map +1 -0
  235. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  236. package/dist/types/src/components/CollectionArticle.d.ts +5 -2
  237. package/dist/types/src/components/CollectionArticle.d.ts.map +1 -1
  238. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +2 -2
  239. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  240. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +16 -6
  241. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  242. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +5 -4
  243. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  244. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  245. package/dist/types/src/components/JoinDialog/JoinDialog.d.ts.map +1 -1
  246. package/dist/types/src/components/MembersContainer/MembersContainer.d.ts.map +1 -1
  247. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts +10 -1
  248. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts.map +1 -1
  249. package/dist/types/src/components/MenuFooter.d.ts +1 -1
  250. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  251. package/dist/types/src/components/ObjectCardStack/ObjectCardStack.d.ts +8 -0
  252. package/dist/types/src/components/ObjectCardStack/ObjectCardStack.d.ts.map +1 -0
  253. package/dist/types/src/components/{ObjectDetailsPanel → ObjectCardStack}/ObjectForm.d.ts +2 -3
  254. package/dist/types/src/components/ObjectCardStack/ObjectForm.d.ts.map +1 -0
  255. package/dist/types/src/components/ObjectCardStack/index.d.ts +3 -0
  256. package/dist/types/src/components/ObjectCardStack/index.d.ts.map +1 -0
  257. package/dist/types/src/components/{ObjectSettings → ObjectDetails}/BaseObjectSettings.d.ts +1 -1
  258. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.d.ts.map +1 -0
  259. package/dist/types/src/components/{ObjectSettings → ObjectDetails}/BaseObjectSettings.stories.d.ts +9 -0
  260. package/dist/types/src/components/{ObjectSettings → ObjectDetails}/BaseObjectSettings.stories.d.ts.map +1 -1
  261. package/dist/types/src/components/ObjectDetails/ForeignKeys.d.ts.map +1 -0
  262. package/dist/types/src/components/ObjectDetails/ObjectDetails.d.ts +9 -0
  263. package/dist/types/src/components/ObjectDetails/ObjectDetails.d.ts.map +1 -0
  264. package/dist/types/src/components/ObjectDetails/index.d.ts +3 -0
  265. package/dist/types/src/components/ObjectDetails/index.d.ts.map +1 -0
  266. package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts +1 -1
  267. package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -1
  268. package/dist/types/src/components/RecordArticle.d.ts +1 -1
  269. package/dist/types/src/components/RecordArticle.d.ts.map +1 -1
  270. package/dist/types/src/components/RecordArticle.stories.d.ts +10 -1
  271. package/dist/types/src/components/RecordArticle.stories.d.ts.map +1 -1
  272. package/dist/types/src/components/SpacePluginSettings.d.ts +4 -2
  273. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  274. package/dist/types/src/components/SpacePresence/SpacePresence.d.ts +4 -4
  275. package/dist/types/src/components/SpacePresence/SpacePresence.d.ts.map +1 -1
  276. package/dist/types/src/components/SpacePresence/SpacePresence.stories.d.ts +9 -0
  277. package/dist/types/src/components/SpacePresence/SpacePresence.stories.d.ts.map +1 -1
  278. package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -1
  279. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts +1 -1
  280. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  281. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +10 -1
  282. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
  283. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +9 -0
  284. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  285. package/dist/types/src/components/ViewEditor.d.ts.map +1 -1
  286. package/dist/types/src/components/index.d.ts +14 -10
  287. package/dist/types/src/components/index.d.ts.map +1 -1
  288. package/dist/types/src/constants.d.ts +6 -0
  289. package/dist/types/src/constants.d.ts.map +1 -0
  290. package/dist/types/src/helpers/query.d.ts +3 -4
  291. package/dist/types/src/helpers/query.d.ts.map +1 -1
  292. package/dist/types/src/hooks/useActiveSpace.d.ts +2 -2
  293. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
  294. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +2 -8
  295. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  296. package/dist/types/src/hooks/usePath.d.ts +2 -2
  297. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  298. package/dist/types/src/hooks/useTypeOptions.d.ts.map +1 -1
  299. package/dist/types/src/index.d.ts +1 -2
  300. package/dist/types/src/index.d.ts.map +1 -1
  301. package/dist/types/src/meta.d.ts +2 -2
  302. package/dist/types/src/meta.d.ts.map +1 -1
  303. package/dist/types/src/translations.d.ts +9 -0
  304. package/dist/types/src/translations.d.ts.map +1 -1
  305. package/dist/types/src/types/capabilities.d.ts +71 -0
  306. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  307. package/dist/types/src/types/events.d.ts +9 -0
  308. package/dist/types/src/types/events.d.ts.map +1 -0
  309. package/dist/types/src/types/form.d.ts +1 -3
  310. package/dist/types/src/types/form.d.ts.map +1 -1
  311. package/dist/types/src/types/index.d.ts +2 -0
  312. package/dist/types/src/types/index.d.ts.map +1 -1
  313. package/dist/types/src/types/types.d.ts +638 -355
  314. package/dist/types/src/types/types.d.ts.map +1 -1
  315. package/dist/types/src/util.d.ts +35 -31
  316. package/dist/types/src/util.d.ts.map +1 -1
  317. package/dist/types/tsconfig.tsbuildinfo +1 -1
  318. package/package.json +82 -69
  319. package/src/SpacePlugin.ts +153 -192
  320. package/src/capabilities/app-graph-builder/app-graph-builder.ts +617 -0
  321. package/src/capabilities/app-graph-builder/index.ts +7 -0
  322. package/src/capabilities/app-graph-serializer/app-graph-serializer.ts +82 -0
  323. package/src/capabilities/app-graph-serializer/index.ts +7 -0
  324. package/src/capabilities/identity-created/identity-created.ts +29 -0
  325. package/src/capabilities/identity-created/index.ts +7 -0
  326. package/src/capabilities/index.ts +10 -14
  327. package/src/capabilities/operation-resolver/index.ts +7 -0
  328. package/src/capabilities/operation-resolver/operation-resolver.ts +760 -0
  329. package/src/capabilities/react-root/index.ts +7 -0
  330. package/src/capabilities/react-root/react-root.tsx +25 -0
  331. package/src/capabilities/react-surface/index.ts +7 -0
  332. package/src/capabilities/react-surface/react-surface.tsx +375 -0
  333. package/src/capabilities/repair/index.ts +7 -0
  334. package/src/capabilities/{repair.ts → repair/repair.ts} +21 -11
  335. package/src/capabilities/settings/index.ts +7 -0
  336. package/src/capabilities/settings/settings.ts +32 -0
  337. package/src/capabilities/spaces-ready/index.ts +7 -0
  338. package/src/capabilities/spaces-ready/spaces-ready.ts +289 -0
  339. package/src/capabilities/state/index.ts +7 -0
  340. package/src/capabilities/state/state.ts +64 -0
  341. package/src/cli/commands/database/add.ts +116 -0
  342. package/src/cli/commands/database/index.ts +16 -0
  343. package/src/cli/commands/database/query/index.ts +5 -0
  344. package/src/cli/commands/database/query/query.test.ts +55 -0
  345. package/src/cli/commands/database/query/query.ts +44 -0
  346. package/src/cli/commands/database/remove.ts +51 -0
  347. package/src/cli/commands/database/stats.ts +44 -0
  348. package/src/cli/commands/database/util.ts +32 -0
  349. package/src/cli/commands/index.ts +7 -0
  350. package/src/cli/commands/queue/index.ts +12 -0
  351. package/src/cli/commands/queue/query.ts +45 -0
  352. package/src/cli/commands/queue/util.ts +19 -0
  353. package/src/cli/commands/space/close/close.ts +40 -0
  354. package/src/cli/commands/space/close/index.ts +5 -0
  355. package/src/cli/commands/space/create/create.test.ts +67 -0
  356. package/src/cli/commands/space/create/create.ts +61 -0
  357. package/src/cli/commands/space/create/index.ts +5 -0
  358. package/src/cli/commands/space/index.ts +21 -0
  359. package/src/cli/commands/space/info/index.ts +5 -0
  360. package/src/cli/commands/space/info/info.test.ts +47 -0
  361. package/src/cli/commands/space/info/info.ts +37 -0
  362. package/src/cli/commands/space/join/index.ts +5 -0
  363. package/src/cli/commands/space/join/join.ts +122 -0
  364. package/src/cli/commands/space/join/util.ts +82 -0
  365. package/src/cli/commands/space/list/index.ts +5 -0
  366. package/src/cli/commands/space/list/list.test.ts +36 -0
  367. package/src/cli/commands/space/list/list.ts +30 -0
  368. package/src/cli/commands/space/members/index.ts +5 -0
  369. package/src/cli/commands/space/members/members.test.ts +46 -0
  370. package/src/cli/commands/space/members/members.ts +40 -0
  371. package/src/cli/commands/space/members/util.ts +29 -0
  372. package/src/cli/commands/space/open/index.ts +5 -0
  373. package/src/cli/commands/space/open/open.ts +39 -0
  374. package/src/cli/commands/space/schema/index.ts +12 -0
  375. package/src/cli/commands/space/schema/list/index.ts +5 -0
  376. package/src/cli/commands/space/schema/list/list.test.ts +42 -0
  377. package/src/cli/commands/space/schema/list/list.ts +64 -0
  378. package/src/cli/commands/space/schema/list/util.ts +39 -0
  379. package/src/cli/commands/space/share/index.ts +5 -0
  380. package/src/cli/commands/space/share/share.ts +112 -0
  381. package/src/cli/commands/space/sync/index.ts +5 -0
  382. package/src/cli/commands/space/sync/sync.test.ts +12 -0
  383. package/src/cli/commands/space/sync/sync.ts +33 -0
  384. package/src/cli/index.ts +5 -0
  385. package/src/cli/plugin.ts +81 -0
  386. package/src/components/AwaitingObject.tsx +13 -10
  387. package/src/components/CollectionArticle.tsx +144 -19
  388. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +27 -21
  389. package/src/components/CreateDialog/CreateObjectDialog.tsx +39 -47
  390. package/src/components/CreateDialog/CreateObjectPanel.tsx +125 -70
  391. package/src/components/CreateDialog/CreateSpaceDialog.tsx +34 -47
  392. package/src/components/JoinDialog/JoinDialog.tsx +25 -52
  393. package/src/components/MembersContainer/MembersContainer.stories.tsx +2 -2
  394. package/src/components/MembersContainer/MembersContainer.tsx +35 -37
  395. package/src/components/MenuFooter.tsx +1 -1
  396. package/src/components/ObjectCardStack/ObjectCardStack.tsx +67 -0
  397. package/src/components/ObjectCardStack/ObjectForm.tsx +97 -0
  398. package/src/components/ObjectCardStack/index.ts +7 -0
  399. package/src/components/{ObjectSettings → ObjectDetails}/BaseObjectSettings.stories.tsx +4 -4
  400. package/src/components/ObjectDetails/BaseObjectSettings.tsx +122 -0
  401. package/src/components/ObjectDetails/ObjectDetails.tsx +32 -0
  402. package/src/components/ObjectDetails/index.ts +7 -0
  403. package/src/components/ObjectRenamePopover/ObjectRenamePopover.tsx +9 -13
  404. package/src/components/RecordArticle.stories.tsx +12 -12
  405. package/src/components/RecordArticle.tsx +26 -18
  406. package/src/components/SchemaContainer.tsx +3 -3
  407. package/src/components/SpacePluginSettings.tsx +11 -7
  408. package/src/components/SpacePresence/SpacePresence.tsx +14 -16
  409. package/src/components/SpaceRenamePopover/SpaceRenamePopover.tsx +11 -12
  410. package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +4 -4
  411. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +180 -184
  412. package/src/components/SyncStatus/SyncStatus.tsx +1 -1
  413. package/src/components/SyncStatus/save-tracker.ts +2 -2
  414. package/src/components/ViewEditor.tsx +16 -13
  415. package/src/components/index.ts +5 -5
  416. package/src/constants.ts +11 -0
  417. package/src/helpers/query.ts +7 -12
  418. package/src/hooks/useActiveSpace.ts +6 -4
  419. package/src/hooks/useInputSurfaceLookup.tsx +8 -17
  420. package/src/hooks/usePath.ts +4 -4
  421. package/src/hooks/useTypeOptions.ts +1 -3
  422. package/src/index.ts +1 -2
  423. package/src/meta.ts +2 -2
  424. package/src/translations.ts +2 -0
  425. package/src/types/capabilities.ts +73 -0
  426. package/src/types/events.ts +15 -0
  427. package/src/types/form.ts +26 -32
  428. package/src/types/index.ts +2 -0
  429. package/src/types/types.ts +528 -247
  430. package/src/util.tsx +219 -231
  431. package/dist/lib/browser/CollectionArticle-WTHWY4YS.mjs +0 -31
  432. package/dist/lib/browser/CollectionArticle-WTHWY4YS.mjs.map +0 -7
  433. package/dist/lib/browser/ObjectDetailsPanel-ACGHWPDX.mjs +0 -141
  434. package/dist/lib/browser/ObjectDetailsPanel-ACGHWPDX.mjs.map +0 -7
  435. package/dist/lib/browser/ObjectSettings-U3IH7BMV.mjs +0 -144
  436. package/dist/lib/browser/ObjectSettings-U3IH7BMV.mjs.map +0 -7
  437. package/dist/lib/browser/RecordArticle-2PFEBPXY.mjs +0 -116
  438. package/dist/lib/browser/RecordArticle-2PFEBPXY.mjs.map +0 -7
  439. package/dist/lib/browser/app-graph-builder-HABMCWAI.mjs +0 -517
  440. package/dist/lib/browser/app-graph-builder-HABMCWAI.mjs.map +0 -7
  441. package/dist/lib/browser/app-graph-serializer-G3VFEGTN.mjs +0 -80
  442. package/dist/lib/browser/app-graph-serializer-G3VFEGTN.mjs.map +0 -7
  443. package/dist/lib/browser/chunk-6A3NWBB6.mjs +0 -392
  444. package/dist/lib/browser/chunk-6A3NWBB6.mjs.map +0 -7
  445. package/dist/lib/browser/chunk-C6DAPIFF.mjs +0 -20
  446. package/dist/lib/browser/chunk-C6DAPIFF.mjs.map +0 -7
  447. package/dist/lib/browser/chunk-GJOZILGC.mjs.map +0 -7
  448. package/dist/lib/browser/chunk-KCZ527AM.mjs +0 -2126
  449. package/dist/lib/browser/chunk-KCZ527AM.mjs.map +0 -7
  450. package/dist/lib/browser/chunk-P25R3AOK.mjs.map +0 -7
  451. package/dist/lib/browser/chunk-VZBIIYFM.mjs.map +0 -7
  452. package/dist/lib/browser/chunk-WJXU4GKV.mjs +0 -19
  453. package/dist/lib/browser/chunk-WJXU4GKV.mjs.map +0 -7
  454. package/dist/lib/browser/identity-created-NAXTPQXE.mjs +0 -23
  455. package/dist/lib/browser/identity-created-NAXTPQXE.mjs.map +0 -7
  456. package/dist/lib/browser/intent-resolver-RZEWNJ2K.mjs +0 -773
  457. package/dist/lib/browser/intent-resolver-RZEWNJ2K.mjs.map +0 -7
  458. package/dist/lib/browser/react-root-JCRD74GI.mjs +0 -30
  459. package/dist/lib/browser/react-root-JCRD74GI.mjs.map +0 -7
  460. package/dist/lib/browser/react-surface-VOETEAG3.mjs +0 -365
  461. package/dist/lib/browser/react-surface-VOETEAG3.mjs.map +0 -7
  462. package/dist/lib/browser/repair-CNLE35NF.mjs.map +0 -7
  463. package/dist/lib/browser/settings-TRLI52I5.mjs +0 -24
  464. package/dist/lib/browser/settings-TRLI52I5.mjs.map +0 -7
  465. package/dist/lib/browser/spaces-ready-OHGCWZHQ.mjs +0 -208
  466. package/dist/lib/browser/spaces-ready-OHGCWZHQ.mjs.map +0 -7
  467. package/dist/lib/browser/state-C7N6EDDZ.mjs +0 -47
  468. package/dist/lib/browser/state-C7N6EDDZ.mjs.map +0 -7
  469. package/dist/lib/node-esm/CollectionArticle-KHXYT3SH.mjs +0 -32
  470. package/dist/lib/node-esm/CollectionArticle-KHXYT3SH.mjs.map +0 -7
  471. package/dist/lib/node-esm/ObjectDetailsPanel-6OFTT3GG.mjs +0 -142
  472. package/dist/lib/node-esm/ObjectDetailsPanel-6OFTT3GG.mjs.map +0 -7
  473. package/dist/lib/node-esm/ObjectSettings-YXPJQMJ5.mjs +0 -145
  474. package/dist/lib/node-esm/ObjectSettings-YXPJQMJ5.mjs.map +0 -7
  475. package/dist/lib/node-esm/RecordArticle-SSJ7PULS.mjs +0 -117
  476. package/dist/lib/node-esm/RecordArticle-SSJ7PULS.mjs.map +0 -7
  477. package/dist/lib/node-esm/app-graph-builder-T6VJKIOA.mjs +0 -518
  478. package/dist/lib/node-esm/app-graph-builder-T6VJKIOA.mjs.map +0 -7
  479. package/dist/lib/node-esm/app-graph-serializer-2NLWWFUB.mjs +0 -81
  480. package/dist/lib/node-esm/app-graph-serializer-2NLWWFUB.mjs.map +0 -7
  481. package/dist/lib/node-esm/chunk-7EV4SN47.mjs.map +0 -7
  482. package/dist/lib/node-esm/chunk-BDEFTL6K.mjs.map +0 -7
  483. package/dist/lib/node-esm/chunk-H4JILUJK.mjs +0 -20
  484. package/dist/lib/node-esm/chunk-H4JILUJK.mjs.map +0 -7
  485. package/dist/lib/node-esm/chunk-I6FZP42D.mjs.map +0 -7
  486. package/dist/lib/node-esm/chunk-JAMGJUFU.mjs +0 -2127
  487. package/dist/lib/node-esm/chunk-JAMGJUFU.mjs.map +0 -7
  488. package/dist/lib/node-esm/chunk-WWGV5FJM.mjs +0 -21
  489. package/dist/lib/node-esm/chunk-WWGV5FJM.mjs.map +0 -7
  490. package/dist/lib/node-esm/chunk-X34VDVMY.mjs +0 -393
  491. package/dist/lib/node-esm/chunk-X34VDVMY.mjs.map +0 -7
  492. package/dist/lib/node-esm/identity-created-OXLKCJE3.mjs +0 -25
  493. package/dist/lib/node-esm/identity-created-OXLKCJE3.mjs.map +0 -7
  494. package/dist/lib/node-esm/intent-resolver-4PHJWDXW.mjs +0 -774
  495. package/dist/lib/node-esm/intent-resolver-4PHJWDXW.mjs.map +0 -7
  496. package/dist/lib/node-esm/react-root-O5I5CDJ7.mjs +0 -31
  497. package/dist/lib/node-esm/react-root-O5I5CDJ7.mjs.map +0 -7
  498. package/dist/lib/node-esm/react-surface-J3XDMU2D.mjs +0 -366
  499. package/dist/lib/node-esm/react-surface-J3XDMU2D.mjs.map +0 -7
  500. package/dist/lib/node-esm/repair-EHZS6MFY.mjs.map +0 -7
  501. package/dist/lib/node-esm/settings-MNQTKHL7.mjs +0 -25
  502. package/dist/lib/node-esm/settings-MNQTKHL7.mjs.map +0 -7
  503. package/dist/lib/node-esm/spaces-ready-ZPU24DA2.mjs +0 -209
  504. package/dist/lib/node-esm/spaces-ready-ZPU24DA2.mjs.map +0 -7
  505. package/dist/lib/node-esm/state-45TXZQJ6.mjs +0 -48
  506. package/dist/lib/node-esm/state-45TXZQJ6.mjs.map +0 -7
  507. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  508. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  509. package/dist/types/src/capabilities/app-graph-serializer.d.ts +0 -4
  510. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +0 -1
  511. package/dist/types/src/capabilities/capabilities.d.ts +0 -34
  512. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  513. package/dist/types/src/capabilities/identity-created.d.ts +0 -4
  514. package/dist/types/src/capabilities/identity-created.d.ts.map +0 -1
  515. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -9
  516. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  517. package/dist/types/src/capabilities/react-root.d.ts +0 -7
  518. package/dist/types/src/capabilities/react-root.d.ts.map +0 -1
  519. package/dist/types/src/capabilities/react-surface.d.ts +0 -7
  520. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  521. package/dist/types/src/capabilities/repair.d.ts +0 -4
  522. package/dist/types/src/capabilities/repair.d.ts.map +0 -1
  523. package/dist/types/src/capabilities/settings.d.ts +0 -4
  524. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  525. package/dist/types/src/capabilities/spaces-ready.d.ts +0 -4
  526. package/dist/types/src/capabilities/spaces-ready.d.ts.map +0 -1
  527. package/dist/types/src/capabilities/state.d.ts +0 -5
  528. package/dist/types/src/capabilities/state.d.ts.map +0 -1
  529. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts +0 -9
  530. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts.map +0 -1
  531. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts.map +0 -1
  532. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts +0 -3
  533. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts.map +0 -1
  534. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts +0 -7
  535. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +0 -1
  536. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +0 -1
  537. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +0 -1
  538. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts +0 -8
  539. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +0 -1
  540. package/dist/types/src/components/ObjectSettings/index.d.ts +0 -3
  541. package/dist/types/src/components/ObjectSettings/index.d.ts.map +0 -1
  542. package/dist/types/src/events.d.ts +0 -8
  543. package/dist/types/src/events.d.ts.map +0 -1
  544. package/src/capabilities/app-graph-builder.ts +0 -689
  545. package/src/capabilities/app-graph-serializer.ts +0 -76
  546. package/src/capabilities/capabilities.ts +0 -40
  547. package/src/capabilities/identity-created.ts +0 -25
  548. package/src/capabilities/intent-resolver.ts +0 -706
  549. package/src/capabilities/react-root.tsx +0 -22
  550. package/src/capabilities/react-surface.tsx +0 -350
  551. package/src/capabilities/settings.ts +0 -21
  552. package/src/capabilities/spaces-ready.ts +0 -243
  553. package/src/capabilities/state.ts +0 -46
  554. package/src/components/ObjectDetailsPanel/ObjectDetailsPanel.tsx +0 -51
  555. package/src/components/ObjectDetailsPanel/ObjectForm.tsx +0 -72
  556. package/src/components/ObjectDetailsPanel/index.ts +0 -7
  557. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +0 -80
  558. package/src/components/ObjectSettings/BaseObjectSettings.tsx +0 -111
  559. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +0 -37
  560. package/src/components/ObjectSettings/index.ts +0 -7
  561. package/src/events.ts +0 -15
  562. /package/dist/types/src/components/{ObjectSettings → ObjectDetails}/ForeignKeys.d.ts +0 -0
  563. /package/src/components/{ObjectSettings → ObjectDetails}/ForeignKeys.tsx +0 -0
@@ -1,689 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { Atom } from '@effect-atom/atom-react';
6
- import * as Array from 'effect/Array';
7
- import * as Function from 'effect/Function';
8
- import * as Option from 'effect/Option';
9
- import * as Schema from 'effect/Schema';
10
-
11
- import { Capabilities, type PluginContext, contributes, createIntent } from '@dxos/app-framework';
12
- import { type Space, SpaceState, getSpace, isSpace } from '@dxos/client/echo';
13
- import { DXN, type Database, type Entity, Filter, Obj, Type } from '@dxos/echo';
14
- import { log } from '@dxos/log';
15
- import { ClientCapabilities } from '@dxos/plugin-client';
16
- import { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from '@dxos/plugin-deck/types';
17
- import { ROOT_ID, atomFromObservable, atomFromSignal, createExtension } from '@dxos/plugin-graph';
18
- import { Collection, View, ViewAnnotation, getTypenameFromQuery } from '@dxos/schema';
19
- import { isNonNullable } from '@dxos/util';
20
-
21
- import { getActiveSpace } from '../hooks';
22
- import { meta } from '../meta';
23
- import { SPACE_TYPE, SpaceAction, type SpaceSettingsProps } from '../types';
24
- import {
25
- SHARED,
26
- SPACES,
27
- atomFromQuery,
28
- constructObjectActions,
29
- constructSpaceActions,
30
- constructSpaceNode,
31
- createObjectNode,
32
- createStaticSchemaActions,
33
- createStaticSchemaNode,
34
- } from '../util';
35
-
36
- import { SpaceCapabilities } from './capabilities';
37
-
38
- export default (context: PluginContext) => {
39
- // TODO(wittjosiah): Using `get` and being reactive seems to cause a bug with Atom where disposed atoms are accessed.
40
- const resolve = (get: Atom.Context) => (typename: string) =>
41
- context.getCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
42
-
43
- const spacesNode = {
44
- id: SPACES,
45
- type: SPACES,
46
- cacheable: ['label', 'role'],
47
- properties: {
48
- label: ['spaces label', { ns: meta.id }],
49
- icon: 'ph--planet--regular',
50
- testId: 'spacePlugin.spaces',
51
- role: 'branch',
52
- disposition: 'collection',
53
- disabled: true,
54
- childrenPersistenceClass: 'echo',
55
- onRearrangeChildren: async (nextOrder: Space[]) => {
56
- const { graph } = context.getCapability(Capabilities.AppGraph);
57
- const client = context.getCapability(ClientCapabilities.Client);
58
-
59
- // NOTE: This is needed to ensure order is updated by next animation frame.
60
- // TODO(wittjosiah): Is there a better way to do this?
61
- // If not, graph should be passed as an argument to the extension.
62
- graph.sortEdges(
63
- SPACES,
64
- 'outbound',
65
- nextOrder.map(({ id }) => id),
66
- );
67
-
68
- const {
69
- objects: [spacesOrder],
70
- } = await client.spaces.default.db.query(Filter.type(Type.Expando, { key: SHARED })).run();
71
- if (spacesOrder) {
72
- spacesOrder.order = nextOrder.map(({ id }) => id);
73
- } else {
74
- log.warn('spaces order object not found');
75
- }
76
- },
77
- },
78
- };
79
-
80
- return contributes(Capabilities.AppGraphBuilder, [
81
- // Primary actions.
82
- createExtension({
83
- id: `${meta.id}/primary-actions`,
84
- position: 'hoist',
85
- actions: (node) =>
86
- Atom.make((get) =>
87
- Function.pipe(
88
- get(node),
89
- Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),
90
- Option.map(() => [
91
- {
92
- id: SpaceAction.OpenCreateSpace._tag,
93
- data: async () => {
94
- const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
95
- await dispatch(createIntent(SpaceAction.OpenCreateSpace));
96
- },
97
- properties: {
98
- label: ['create space label', { ns: meta.id }],
99
- icon: 'ph--plus--regular',
100
- testId: 'spacePlugin.createSpace',
101
- disposition: 'menu',
102
- },
103
- },
104
- {
105
- id: SpaceAction.Join._tag,
106
- data: async () => {
107
- const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
108
- await dispatch(createIntent(SpaceAction.Join));
109
- },
110
- properties: {
111
- label: ['join space label', { ns: meta.id }],
112
- icon: 'ph--sign-in--regular',
113
- testId: 'spacePlugin.joinSpace',
114
- disposition: 'menu',
115
- },
116
- },
117
- {
118
- id: SpaceAction.OpenMembers._tag,
119
- data: async () => {
120
- const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
121
- const client = context.getCapability(ClientCapabilities.Client);
122
- const space = getActiveSpace(context) ?? client.spaces.default;
123
- await dispatch(createIntent(SpaceAction.OpenMembers, { space }));
124
- },
125
- properties: {
126
- label: ['share space label', { ns: meta.id }],
127
- icon: 'ph--users--regular',
128
- testId: 'spacePlugin.shareSpace',
129
- keyBinding: {
130
- macos: 'meta+.',
131
- windows: 'alt+.',
132
- },
133
- },
134
- },
135
- {
136
- id: SpaceAction.OpenSettings._tag,
137
- data: async () => {
138
- const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
139
- const client = context.getCapability(ClientCapabilities.Client);
140
- const space = getActiveSpace(context) ?? client.spaces.default;
141
- await dispatch(createIntent(SpaceAction.OpenSettings, { space }));
142
- },
143
- properties: {
144
- label: ['open current space settings label', { ns: meta.id }],
145
- icon: 'ph--faders--regular',
146
- keyBinding: {
147
- macos: 'meta+shift+,',
148
- windows: 'ctrl+shift+,',
149
- },
150
- },
151
- },
152
- ]),
153
- Option.getOrElse(() => []),
154
- ),
155
- ),
156
- }),
157
-
158
- // Create spaces group node.
159
- createExtension({
160
- id: `${meta.id}/root`,
161
- position: 'hoist',
162
- connector: (node) =>
163
- Atom.make((get) =>
164
- Function.pipe(
165
- get(node),
166
- Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),
167
- Option.map(() => [spacesNode]),
168
- Option.getOrElse(() => []),
169
- ),
170
- ),
171
- }),
172
-
173
- // Create space nodes.
174
- createExtension({
175
- id: SPACES,
176
- connector: (node) => {
177
- // TODO(wittjosiah): Find a simpler way to define this type.
178
- let query: Database.QueryResult<Schema.Schema.Type<typeof Type.Expando>> | undefined;
179
- return Atom.make((get) =>
180
- Function.pipe(
181
- get(node),
182
- Option.flatMap((node) => (node.id === SPACES ? Option.some(node) : Option.none())),
183
- Option.map(() => {
184
- const state = context.getCapability(SpaceCapabilities.State);
185
- const client = context.getCapability(ClientCapabilities.Client);
186
- const spacesAtom = atomFromObservable(client.spaces);
187
- const isReadyAtom = atomFromObservable(client.spaces.isReady);
188
-
189
- const spaces = get(spacesAtom);
190
- const isReady = get(isReadyAtom);
191
-
192
- if (!spaces || !isReady) {
193
- return [];
194
- }
195
-
196
- const settings = get(context.capabilities(Capabilities.SettingsStore))[0]?.getStore<SpaceSettingsProps>(
197
- meta.id,
198
- )?.value;
199
-
200
- // TODO(wittjosiah): During client reset, accessing default space throws.
201
- try {
202
- if (!query) {
203
- query = client.spaces.default.db.query(Filter.type(Type.Expando, { key: SHARED }));
204
- }
205
- const [spacesOrder] = get(atomFromQuery(query));
206
- return get(
207
- atomFromSignal(() => {
208
- const order: string[] = spacesOrder?.order ?? [];
209
- const orderMap = new Map(order.map((id, index) => [id, index]));
210
- return [
211
- ...spaces
212
- .filter((space) => orderMap.has(space.id))
213
- .sort((a, b) => orderMap.get(a.id)! - orderMap.get(b.id)!),
214
- ...spaces.filter((space) => !orderMap.has(space.id)),
215
- ]
216
- .filter((space) =>
217
- settings?.showHidden ? true : space.state.get() !== SpaceState.SPACE_INACTIVE,
218
- )
219
- .map((space) =>
220
- constructSpaceNode({
221
- space,
222
- navigable: state.navigableCollections,
223
- personal: space === client.spaces.default,
224
- namesCache: state.spaceNames,
225
- resolve: resolve(get),
226
- }),
227
- );
228
- }),
229
- );
230
- } catch {
231
- return [];
232
- }
233
- }),
234
- Option.getOrElse(() => []),
235
- ),
236
- );
237
- },
238
- }),
239
-
240
- // Create space actions.
241
- createExtension({
242
- id: `${meta.id}/actions`,
243
- actions: (node) =>
244
- Atom.make((get) =>
245
- Function.pipe(
246
- get(node),
247
- Option.flatMap((node) =>
248
- node.type === SPACE_TYPE && isSpace(node.data) ? Option.some(node.data) : Option.none(),
249
- ),
250
- Option.flatMap((space) => {
251
- const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));
252
- const [client] = get(context.capabilities(ClientCapabilities.Client));
253
- const [state] = get(context.capabilities(SpaceCapabilities.State));
254
-
255
- if (!dispatcher || !client || !state) {
256
- return Option.none();
257
- } else {
258
- return Option.some({
259
- space,
260
- dispatch: dispatcher.dispatchPromise,
261
- personal: space === client.spaces.default,
262
- migrating: state.sdkMigrationRunning[space.id],
263
- });
264
- }
265
- }),
266
- Option.map((params) => constructSpaceActions(params)),
267
- Option.getOrElse(() => []),
268
- ),
269
- ),
270
- }),
271
-
272
- // Create nodes for objects in the root collection of a space.
273
- createExtension({
274
- id: `${meta.id}/root-collection`,
275
- connector: (node) =>
276
- Atom.make((get) =>
277
- Function.pipe(
278
- get(node),
279
- Option.flatMap((node) =>
280
- node.type === SPACE_TYPE && isSpace(node.data) ? Option.some(node.data) : Option.none(),
281
- ),
282
- Option.map((space) => {
283
- const state = context.getCapability(SpaceCapabilities.State);
284
- const spaceState = get(atomFromObservable(space.state));
285
- if (spaceState !== SpaceState.SPACE_READY) {
286
- return [];
287
- }
288
-
289
- const collection = get(
290
- atomFromSignal(
291
- () => space.properties[Collection.Collection.typename]?.target as Collection.Collection | undefined,
292
- ),
293
- );
294
- if (!collection) {
295
- return [];
296
- }
297
-
298
- return get(
299
- atomFromSignal(() =>
300
- Function.pipe(
301
- collection.objects,
302
- Array.map((object) => object.target),
303
- Array.filter(isNonNullable),
304
- Array.map((object) =>
305
- createObjectNode({
306
- space,
307
- object,
308
- resolve: resolve(get),
309
- navigable: state.navigableCollections,
310
- }),
311
- ),
312
- Array.filter(isNonNullable),
313
- ),
314
- ),
315
- );
316
- }),
317
- Option.getOrElse(() => []),
318
- ),
319
- ),
320
- }),
321
-
322
- // Create nodes for objects in a collection or by its DXN.
323
- createExtension({
324
- id: `${meta.id}/objects`,
325
- connector: (node) =>
326
- Atom.make((get) =>
327
- Function.pipe(
328
- get(node),
329
- Option.flatMap((node) =>
330
- Obj.instanceOf(Collection.Collection, node.data) ? Option.some(node.data) : Option.none(),
331
- ),
332
- Option.map((collection) => {
333
- const state = context.getCapability(SpaceCapabilities.State);
334
- const space = getSpace(collection);
335
-
336
- return get(
337
- atomFromSignal(() =>
338
- Function.pipe(
339
- collection.objects,
340
- Array.map((object) => object.target),
341
- Array.filter(isNonNullable),
342
- Array.map(
343
- (object) =>
344
- space &&
345
- createObjectNode({
346
- object,
347
- space,
348
- resolve: resolve(get),
349
- navigable: state.navigableCollections,
350
- }),
351
- ),
352
- Array.filter(isNonNullable),
353
- ),
354
- ),
355
- );
356
- }),
357
- Option.getOrElse(() => []),
358
- ),
359
- ),
360
- resolver: (id) => {
361
- let query: Database.QueryResult<Entity.Unknown> | undefined;
362
- return Atom.make((get) => {
363
- const client = context.getCapability(ClientCapabilities.Client);
364
- const dxn = DXN.tryParse(id)?.asEchoDXN();
365
- if (!dxn || !dxn.spaceId) {
366
- return null;
367
- }
368
-
369
- const space = client.spaces.get(dxn.spaceId);
370
- if (!space) {
371
- return null;
372
- }
373
-
374
- if (!query) {
375
- query = space.db.query(Filter.ids(dxn.echoId));
376
- }
377
-
378
- const object = get(atomFromQuery(query)).at(0);
379
- if (!Obj.isObject(object)) {
380
- return null;
381
- }
382
-
383
- return createObjectNode({ object, space, resolve: resolve(get), disposition: 'hidden' });
384
- });
385
- },
386
- }),
387
-
388
- // Create object nodes for schema-based system collections.
389
- createExtension({
390
- id: `${meta.id}/system-collections`,
391
- connector: (node) => {
392
- const client = context.getCapability(ClientCapabilities.Client);
393
- // TODO(wittjosiah): Find a simpler way to define this type.
394
- let query: Database.QueryResult<Schema.Schema.Type<typeof Type.Expando>> | undefined;
395
- return Atom.make((get) =>
396
- Function.pipe(
397
- get(node),
398
- Option.flatMap((node) =>
399
- Obj.instanceOf(Collection.Managed, node.data) ? Option.some(node.data) : Option.none(),
400
- ),
401
- Option.flatMap((collection) => {
402
- const space = getSpace(collection);
403
- const schema = client.graph.schemaRegistry.schemas.find(
404
- (schema) => Type.getTypename(schema) === collection.key,
405
- );
406
- return space && schema ? Option.some({ space, schema }) : Option.none();
407
- }),
408
- Option.map(({ space, schema }) => {
409
- if (!query) {
410
- query = space.db.query(Filter.type(schema));
411
- }
412
- return get(atomFromQuery(query))
413
- .map((object) =>
414
- createObjectNode({
415
- object,
416
- space,
417
- managedCollectionChild: true,
418
- resolve: resolve(get),
419
- }),
420
- )
421
- .filter(isNonNullable);
422
- }),
423
- Option.getOrElse(() => []),
424
- ),
425
- );
426
- },
427
- }),
428
-
429
- // Create branch nodes for static schema record types.
430
- createExtension({
431
- id: `${meta.id}/static-schemas`,
432
- connector: (node) => {
433
- const client = context.getCapability(ClientCapabilities.Client);
434
- return Atom.make((get) =>
435
- Function.pipe(
436
- get(node),
437
- Option.flatMap((node) =>
438
- Obj.instanceOf(Collection.Managed, node.data) && node.data.key === Type.getTypename(Type.PersistentType)
439
- ? Option.some(node.data)
440
- : Option.none(),
441
- ),
442
- Option.flatMap((collection) => {
443
- const space = getSpace(collection);
444
- return space?.properties.staticRecords ? Option.some(space) : Option.none();
445
- }),
446
- Option.map((space) => {
447
- return get(atomFromSignal(() => (space.properties.staticRecords ?? []) as string[]))
448
- .map((typename) =>
449
- client.graph.schemaRegistry.schemas.find((schema) => Type.getTypename(schema) === typename),
450
- )
451
- .filter(isNonNullable)
452
- .map((schema) => createStaticSchemaNode({ schema, space }));
453
- }),
454
- Option.getOrElse(() => []),
455
- ),
456
- );
457
- },
458
- }),
459
-
460
- // Create actions for static schema record types.
461
- createExtension({
462
- id: `${meta.id}/static-schema-actions`,
463
- actions: (node) => {
464
- let query: Database.QueryResult<Obj.Any> | undefined;
465
- return Atom.make((get) => {
466
- // TODO(wittjosiah): Use schemaRegistry query once it support atom reactivity.
467
- const schemas = get(context.capabilities(ClientCapabilities.Schema))
468
- .flat()
469
- .filter((schema) => ViewAnnotation.get(schema).pipe(Option.getOrElse(() => false)));
470
- const filter = Filter.or(...schemas.map((schema) => Filter.type(schema)));
471
-
472
- return Function.pipe(
473
- get(node),
474
- Option.flatMap((node) => {
475
- const space = isSpace(node.properties.space) ? node.properties.space : undefined;
476
- return space && Schema.isSchema(node.data) ? Option.some({ space, schema: node.data }) : Option.none();
477
- }),
478
- Option.map(({ space, schema }) => {
479
- if (!query) {
480
- // TODO(wittjosiah): Ideally this query would traverse the view reference & filter by the query ast.
481
- // TODO(wittjosiah): Remove cast.
482
- query = space.db.query(filter) as unknown as Database.QueryResult<Obj.Any>;
483
- }
484
-
485
- const objects = get(atomFromQuery(query));
486
- const filteredViews = get(
487
- atomFromSignal(() =>
488
- objects.filter(
489
- (viewObject) =>
490
- getTypenameFromQuery((viewObject as any).view.target?.query.ast) ===
491
- Type.getTypename(schema as Type.Obj.Any),
492
- ),
493
- ),
494
- );
495
- const deletable = filteredViews.length === 0;
496
-
497
- const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));
498
- if (!dispatcher) {
499
- return [];
500
- }
501
-
502
- // TODO(wittjosiah): Remove cast.
503
- return createStaticSchemaActions({
504
- schema: schema as Type.Obj.Any,
505
- space,
506
- dispatch: dispatcher.dispatchPromise,
507
- deletable,
508
- });
509
- }),
510
- Option.getOrElse(() => []),
511
- );
512
- });
513
- },
514
- }),
515
-
516
- // Create nodes for views of record types.
517
- createExtension({
518
- id: `${meta.id}/schema-views`,
519
- connector: (node) => {
520
- let query: Database.QueryResult<Obj.Any> | undefined;
521
- return Atom.make((get) => {
522
- // TODO(wittjosiah): Use schemaRegistry query once it support atom reactivity.
523
- const schemas = get(context.capabilities(ClientCapabilities.Schema))
524
- .flat()
525
- .filter((schema) => ViewAnnotation.get(schema).pipe(Option.getOrElse(() => false)));
526
- const filter = Filter.or(...schemas.map((schema) => Filter.type(schema)));
527
-
528
- return Function.pipe(
529
- get(node),
530
- Option.flatMap((node) => {
531
- const space = getSpace(node.data) ?? (isSpace(node.properties.space) ? node.properties.space : undefined);
532
- return space && (Obj.instanceOf(Type.PersistentType, node.data) || Schema.isSchema(node.data))
533
- ? Option.some({ space, schema: node.data })
534
- : Option.none();
535
- }),
536
- Option.map(({ space, schema }) => {
537
- if (!query) {
538
- // TODO(wittjosiah): Ideally this query would traverse the view reference & filter by the query ast.
539
- // TODO(wittjosiah): Remove cast.
540
- query = space.db.query(filter) as unknown as Database.QueryResult<Obj.Any>;
541
- }
542
-
543
- // TODO(wittjosiah): Remove casts.
544
- const typename = Schema.isSchema(schema) ? Type.getTypename(schema as Type.Obj.Any) : schema.typename;
545
- return get(atomFromQuery(query))
546
- .filter((object) =>
547
- get(atomFromSignal(() => getTypenameFromQuery((object as any).view.target?.query.ast) === typename)),
548
- )
549
- .map((object) =>
550
- get(
551
- atomFromSignal(() =>
552
- createObjectNode({
553
- object,
554
- space,
555
- resolve: resolve(get),
556
- droppable: false,
557
- }),
558
- ),
559
- ),
560
- )
561
- .filter(isNonNullable);
562
- }),
563
- Option.getOrElse(() => []),
564
- );
565
- });
566
- },
567
- }),
568
-
569
- // Create collection actions and action groups.
570
- createExtension({
571
- id: `${meta.id}/object-actions`,
572
- actions: (node) => {
573
- let query: Database.QueryResult<Obj.Any> | undefined;
574
- return Atom.make((get) => {
575
- // TODO(wittjosiah): Use schemaRegistry query once it support atom reactivity.
576
- const schemas = get(context.capabilities(ClientCapabilities.Schema))
577
- .flat()
578
- .filter((schema) => ViewAnnotation.get(schema).pipe(Option.getOrElse(() => false)));
579
- const filter = Filter.or(...schemas.map((schema) => Filter.type(schema)));
580
-
581
- return Function.pipe(
582
- get(node),
583
- Option.flatMap((node) => {
584
- const space = getSpace(node.data);
585
- return space && Obj.isObject(node.data) && Obj.getTypename(node.data) === node.type
586
- ? Option.some({ space, object: node.data })
587
- : Option.none();
588
- }),
589
- Option.flatMap(({ space, object }) => {
590
- const isSchema = Obj.instanceOf(Type.PersistentType, object);
591
- if (!query && isSchema) {
592
- // TODO(wittjosiah): Ideally this query would traverse the view reference & filter by the query ast.
593
- // TODO(wittjosiah): Remove cast.
594
- query = space.db.query(filter) as unknown as Database.QueryResult<Obj.Any>;
595
- }
596
-
597
- let deletable =
598
- !isSchema &&
599
- // Don't allow system collections to be deleted.
600
- !Obj.instanceOf(Collection.Managed, object);
601
- if (isSchema && query) {
602
- const objects = get(atomFromQuery(query));
603
- const filteredViews = get(
604
- atomFromSignal(() =>
605
- objects.filter(
606
- (viewObject) =>
607
- getTypenameFromQuery((viewObject as any).view.target?.query.ast) === object.typename,
608
- ),
609
- ),
610
- );
611
- deletable = filteredViews.length === 0;
612
- }
613
-
614
- const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));
615
- const [appGraph] = get(context.capabilities(Capabilities.AppGraph));
616
- const [state] = get(context.capabilities(SpaceCapabilities.State));
617
-
618
- if (!dispatcher || !appGraph || !state) {
619
- return Option.none();
620
- } else {
621
- return Option.some({
622
- object,
623
- graph: appGraph.graph,
624
- dispatch: dispatcher.dispatchPromise,
625
- resolve: resolve(get),
626
- deletable,
627
- navigable: get(atomFromSignal(() => state.navigableCollections)),
628
- });
629
- }
630
- }),
631
- Option.map((params) => constructObjectActions(params)),
632
- Option.getOrElse(() => []),
633
- );
634
- });
635
- },
636
- }),
637
-
638
- // View selected objects.
639
- createExtension({
640
- id: `${meta.id}/selected-objects`,
641
- connector: (node) =>
642
- Atom.make((get) =>
643
- Function.pipe(
644
- get(node),
645
- Option.flatMap((node) => (Obj.instanceOf(View.View, node.data) ? Option.some(node) : Option.none())),
646
- Option.map((node) => [
647
- {
648
- id: [node.id, 'selected-objects'].join(ATTENDABLE_PATH_SEPARATOR),
649
- type: PLANK_COMPANION_TYPE,
650
- data: 'selected-objects',
651
- properties: {
652
- label: ['companion selected objects label', { ns: meta.id }],
653
- icon: 'ph--tree-view--regular',
654
- disposition: 'hidden',
655
- },
656
- },
657
- ]),
658
- Option.getOrElse(() => []),
659
- ),
660
- ),
661
- }),
662
-
663
- // Object settings plank companion.
664
- createExtension({
665
- id: `${meta.id}/settings`,
666
- connector: (node) =>
667
- Atom.make((get) =>
668
- Function.pipe(
669
- get(node),
670
- Option.flatMap((node) => (Obj.isObject(node.data) ? Option.some(node) : Option.none())),
671
- Option.map((node) => [
672
- {
673
- id: [node.id, 'settings'].join(ATTENDABLE_PATH_SEPARATOR),
674
- type: PLANK_COMPANION_TYPE,
675
- data: 'settings',
676
- properties: {
677
- label: ['object settings label', { ns: meta.id }],
678
- icon: 'ph--sliders--regular',
679
- disposition: 'hidden',
680
- position: 'fallback',
681
- },
682
- },
683
- ]),
684
- Option.getOrElse(() => []),
685
- ),
686
- ),
687
- }),
688
- ]);
689
- };