@dxos/plugin-space 0.8.4-main.3c1ae3b → 0.8.4-main.3eb6e50203

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 (535) hide show
  1. package/dist/lib/browser/CollectionArticle-XXLUNK3F.mjs +127 -0
  2. package/dist/lib/browser/CollectionArticle-XXLUNK3F.mjs.map +7 -0
  3. package/dist/lib/browser/ObjectCardStack-CXNBCSMR.mjs +148 -0
  4. package/dist/lib/browser/ObjectCardStack-CXNBCSMR.mjs.map +7 -0
  5. package/dist/lib/browser/ObjectDetails-HXV4IQEM.mjs +143 -0
  6. package/dist/lib/browser/ObjectDetails-HXV4IQEM.mjs.map +7 -0
  7. package/dist/lib/browser/RecordArticle-36LDKFWF.mjs +108 -0
  8. package/dist/lib/browser/RecordArticle-36LDKFWF.mjs.map +7 -0
  9. package/dist/lib/browser/app-graph-builder-GLV46QSI.mjs +530 -0
  10. package/dist/lib/browser/app-graph-builder-GLV46QSI.mjs.map +7 -0
  11. package/dist/lib/browser/app-graph-serializer-VOLRDNVE.mjs +85 -0
  12. package/dist/lib/browser/app-graph-serializer-VOLRDNVE.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-POFUXISV.mjs → chunk-7D63MVRS.mjs} +6 -5
  14. package/dist/lib/browser/chunk-7D63MVRS.mjs.map +7 -0
  15. package/dist/lib/browser/{chunk-5CSSKOWR.mjs → chunk-A7ZCVQGZ.mjs} +43 -45
  16. package/dist/lib/browser/chunk-A7ZCVQGZ.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-CMLRMQNM.mjs +1889 -0
  20. package/dist/lib/browser/chunk-CMLRMQNM.mjs.map +7 -0
  21. package/dist/lib/browser/{chunk-VZBIIYFM.mjs → chunk-HSMQFM57.mjs} +1 -1
  22. package/dist/lib/browser/chunk-HSMQFM57.mjs.map +7 -0
  23. package/dist/lib/browser/chunk-KGLWYGIF.mjs +715 -0
  24. package/dist/lib/browser/chunk-KGLWYGIF.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-NF3ZFAB4.mjs +13 -0
  26. package/dist/lib/browser/chunk-NF3ZFAB4.mjs.map +7 -0
  27. package/dist/lib/browser/{chunk-IJCMB5B5.mjs → chunk-WAOJLA2S.mjs} +195 -196
  28. package/dist/lib/browser/chunk-WAOJLA2S.mjs.map +7 -0
  29. package/dist/lib/browser/cli/index.mjs +851 -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 +215 -189
  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-PJJ3PCM7.mjs +830 -0
  37. package/dist/lib/browser/operation-resolver-PJJ3PCM7.mjs.map +7 -0
  38. package/dist/lib/browser/react-root-ITWAPZIY.mjs +30 -0
  39. package/dist/lib/browser/react-root-ITWAPZIY.mjs.map +7 -0
  40. package/dist/lib/browser/react-surface-6GD6K4I4.mjs +383 -0
  41. package/dist/lib/browser/react-surface-6GD6K4I4.mjs.map +7 -0
  42. package/dist/lib/browser/{repair-CNLE35NF.mjs → repair-DKU4TUD2.mjs} +16 -10
  43. package/dist/lib/browser/repair-DKU4TUD2.mjs.map +7 -0
  44. package/dist/lib/browser/settings-M2DMD2ZA.mjs +34 -0
  45. package/dist/lib/browser/settings-M2DMD2ZA.mjs.map +7 -0
  46. package/dist/lib/browser/spaces-ready-XWJUJ43N.mjs +243 -0
  47. package/dist/lib/browser/spaces-ready-XWJUJ43N.mjs.map +7 -0
  48. package/dist/lib/browser/state-V637BLIM.mjs +58 -0
  49. package/dist/lib/browser/state-V637BLIM.mjs.map +7 -0
  50. package/dist/lib/browser/types/index.mjs +10 -8
  51. package/dist/lib/node-esm/CollectionArticle-KFFKKP37.mjs +128 -0
  52. package/dist/lib/node-esm/CollectionArticle-KFFKKP37.mjs.map +7 -0
  53. package/dist/lib/node-esm/ObjectCardStack-EHXPNRQW.mjs +149 -0
  54. package/dist/lib/node-esm/ObjectCardStack-EHXPNRQW.mjs.map +7 -0
  55. package/dist/lib/node-esm/ObjectDetails-N73UI4ZL.mjs +144 -0
  56. package/dist/lib/node-esm/ObjectDetails-N73UI4ZL.mjs.map +7 -0
  57. package/dist/lib/node-esm/RecordArticle-CMEXNNOZ.mjs +109 -0
  58. package/dist/lib/node-esm/RecordArticle-CMEXNNOZ.mjs.map +7 -0
  59. package/dist/lib/node-esm/app-graph-builder-KCEHEKVS.mjs +531 -0
  60. package/dist/lib/node-esm/app-graph-builder-KCEHEKVS.mjs.map +7 -0
  61. package/dist/lib/node-esm/app-graph-serializer-7C4MV5NB.mjs +86 -0
  62. package/dist/lib/node-esm/app-graph-serializer-7C4MV5NB.mjs.map +7 -0
  63. package/dist/lib/node-esm/chunk-2NM62ORP.mjs +1890 -0
  64. package/dist/lib/node-esm/chunk-2NM62ORP.mjs.map +7 -0
  65. package/dist/lib/node-esm/{chunk-AX3UGL5D.mjs → chunk-5N3YIAXD.mjs} +6 -5
  66. package/dist/lib/node-esm/chunk-5N3YIAXD.mjs.map +7 -0
  67. package/dist/lib/node-esm/{chunk-UMZ7G6G4.mjs → chunk-A5A7M37T.mjs} +43 -45
  68. package/dist/lib/node-esm/chunk-A5A7M37T.mjs.map +7 -0
  69. package/dist/lib/node-esm/chunk-CVXULIYC.mjs +20 -0
  70. package/dist/lib/node-esm/chunk-CVXULIYC.mjs.map +7 -0
  71. package/dist/lib/node-esm/{chunk-3D4NGZPW.mjs → chunk-FB5YNROS.mjs} +195 -196
  72. package/dist/lib/node-esm/chunk-FB5YNROS.mjs.map +7 -0
  73. package/dist/lib/node-esm/chunk-NYSDQPNM.mjs +716 -0
  74. package/dist/lib/node-esm/chunk-NYSDQPNM.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-PG7DNOEX.mjs +15 -0
  76. package/dist/lib/node-esm/chunk-PG7DNOEX.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 +852 -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 +215 -189
  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-2K7N4KYC.mjs +831 -0
  87. package/dist/lib/node-esm/operation-resolver-2K7N4KYC.mjs.map +7 -0
  88. package/dist/lib/node-esm/react-root-GIQAKDQ2.mjs +31 -0
  89. package/dist/lib/node-esm/react-root-GIQAKDQ2.mjs.map +7 -0
  90. package/dist/lib/node-esm/react-surface-KWP2DNFG.mjs +384 -0
  91. package/dist/lib/node-esm/react-surface-KWP2DNFG.mjs.map +7 -0
  92. package/dist/lib/node-esm/{repair-EHZS6MFY.mjs → repair-C2H6JQCL.mjs} +16 -10
  93. package/dist/lib/node-esm/repair-C2H6JQCL.mjs.map +7 -0
  94. package/dist/lib/node-esm/settings-VCPCNBOY.mjs +35 -0
  95. package/dist/lib/node-esm/settings-VCPCNBOY.mjs.map +7 -0
  96. package/dist/lib/node-esm/spaces-ready-5JOGEWON.mjs +244 -0
  97. package/dist/lib/node-esm/spaces-ready-5JOGEWON.mjs.map +7 -0
  98. package/dist/lib/node-esm/state-5MCEPWN3.mjs +59 -0
  99. package/dist/lib/node-esm/state-5MCEPWN3.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 +7 -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 +10 -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 +6 -3
  237. package/dist/types/src/components/CollectionArticle.d.ts.map +1 -1
  238. package/dist/types/src/components/CollectionSection.d.ts +1 -1
  239. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  240. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +2 -2
  241. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  242. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +17 -7
  243. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  244. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +9 -5
  245. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  246. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  247. package/dist/types/src/components/JoinDialog/JoinDialog.d.ts.map +1 -1
  248. package/dist/types/src/components/MembersContainer/MembersContainer.d.ts.map +1 -1
  249. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts +11 -2
  250. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts.map +1 -1
  251. package/dist/types/src/components/MenuFooter.d.ts +1 -1
  252. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  253. package/dist/types/src/components/ObjectCardStack/ObjectCardStack.d.ts +1 -1
  254. package/dist/types/src/components/ObjectCardStack/ObjectCardStack.d.ts.map +1 -1
  255. package/dist/types/src/components/ObjectCardStack/ObjectForm.d.ts +1 -1
  256. package/dist/types/src/components/ObjectCardStack/ObjectForm.d.ts.map +1 -1
  257. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.d.ts +1 -1
  258. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.d.ts.map +1 -1
  259. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.stories.d.ts +9 -0
  260. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.stories.d.ts.map +1 -1
  261. package/dist/types/src/components/ObjectDetails/ObjectDetails.d.ts +6 -5
  262. package/dist/types/src/components/ObjectDetails/ObjectDetails.d.ts.map +1 -1
  263. package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts +1 -1
  264. package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -1
  265. package/dist/types/src/components/RecordArticle.d.ts +2 -2
  266. package/dist/types/src/components/RecordArticle.d.ts.map +1 -1
  267. package/dist/types/src/components/RecordArticle.stories.d.ts +11 -2
  268. package/dist/types/src/components/RecordArticle.stories.d.ts.map +1 -1
  269. package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
  270. package/dist/types/src/components/SpacePluginSettings.d.ts +4 -2
  271. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  272. package/dist/types/src/components/SpacePresence/SpacePresence.d.ts +4 -4
  273. package/dist/types/src/components/SpacePresence/SpacePresence.d.ts.map +1 -1
  274. package/dist/types/src/components/SpacePresence/SpacePresence.stories.d.ts +9 -0
  275. package/dist/types/src/components/SpacePresence/SpacePresence.stories.d.ts.map +1 -1
  276. package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -1
  277. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts +4 -1
  278. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  279. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +13 -1
  280. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
  281. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +9 -0
  282. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  283. package/dist/types/src/components/ViewEditor.d.ts.map +1 -1
  284. package/dist/types/src/components/index.d.ts +11 -6
  285. package/dist/types/src/components/index.d.ts.map +1 -1
  286. package/dist/types/src/constants.d.ts +6 -0
  287. package/dist/types/src/constants.d.ts.map +1 -0
  288. package/dist/types/src/helpers/query.d.ts +3 -3
  289. package/dist/types/src/helpers/query.d.ts.map +1 -1
  290. package/dist/types/src/hooks/useActiveSpace.d.ts +2 -2
  291. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
  292. package/dist/types/src/hooks/usePath.d.ts +2 -2
  293. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  294. package/dist/types/src/index.d.ts +1 -2
  295. package/dist/types/src/index.d.ts.map +1 -1
  296. package/dist/types/src/meta.d.ts +2 -2
  297. package/dist/types/src/meta.d.ts.map +1 -1
  298. package/dist/types/src/translations.d.ts +9 -0
  299. package/dist/types/src/translations.d.ts.map +1 -1
  300. package/dist/types/src/types/capabilities.d.ts +71 -0
  301. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  302. package/dist/types/src/types/events.d.ts +9 -0
  303. package/dist/types/src/types/events.d.ts.map +1 -0
  304. package/dist/types/src/types/index.d.ts +2 -0
  305. package/dist/types/src/types/index.d.ts.map +1 -1
  306. package/dist/types/src/types/types.d.ts +643 -354
  307. package/dist/types/src/types/types.d.ts.map +1 -1
  308. package/dist/types/src/util.d.ts +36 -31
  309. package/dist/types/src/util.d.ts.map +1 -1
  310. package/dist/types/tsconfig.tsbuildinfo +1 -1
  311. package/package.json +83 -69
  312. package/src/SpacePlugin.ts +174 -194
  313. package/src/capabilities/app-graph-builder/app-graph-builder.ts +621 -0
  314. package/src/capabilities/app-graph-builder/index.ts +7 -0
  315. package/src/capabilities/app-graph-serializer/app-graph-serializer.ts +83 -0
  316. package/src/capabilities/app-graph-serializer/index.ts +7 -0
  317. package/src/capabilities/identity-created/identity-created.ts +29 -0
  318. package/src/capabilities/identity-created/index.ts +7 -0
  319. package/src/capabilities/index.ts +10 -14
  320. package/src/capabilities/operation-resolver/index.ts +7 -0
  321. package/src/capabilities/operation-resolver/operation-resolver.ts +762 -0
  322. package/src/capabilities/react-root/index.ts +7 -0
  323. package/src/capabilities/react-root/react-root.tsx +25 -0
  324. package/src/capabilities/react-surface/index.ts +7 -0
  325. package/src/capabilities/react-surface/react-surface.tsx +377 -0
  326. package/src/capabilities/repair/index.ts +7 -0
  327. package/src/capabilities/{repair.ts → repair/repair.ts} +21 -11
  328. package/src/capabilities/settings/index.ts +7 -0
  329. package/src/capabilities/settings/settings.ts +33 -0
  330. package/src/capabilities/spaces-ready/index.ts +7 -0
  331. package/src/capabilities/spaces-ready/spaces-ready.ts +290 -0
  332. package/src/capabilities/state/index.ts +7 -0
  333. package/src/capabilities/state/state.ts +64 -0
  334. package/src/cli/commands/database/add.ts +115 -0
  335. package/src/cli/commands/database/index.ts +16 -0
  336. package/src/cli/commands/database/query/index.ts +5 -0
  337. package/src/cli/commands/database/query/query.test.ts +55 -0
  338. package/src/cli/commands/database/query/query.ts +44 -0
  339. package/src/cli/commands/database/remove.ts +51 -0
  340. package/src/cli/commands/database/stats.ts +44 -0
  341. package/src/cli/commands/database/util.ts +32 -0
  342. package/src/cli/commands/index.ts +7 -0
  343. package/src/cli/commands/queue/index.ts +12 -0
  344. package/src/cli/commands/queue/query.ts +45 -0
  345. package/src/cli/commands/queue/util.ts +19 -0
  346. package/src/cli/commands/space/close/close.ts +40 -0
  347. package/src/cli/commands/space/close/index.ts +5 -0
  348. package/src/cli/commands/space/create/create.test.ts +67 -0
  349. package/src/cli/commands/space/create/create.ts +61 -0
  350. package/src/cli/commands/space/create/index.ts +5 -0
  351. package/src/cli/commands/space/index.ts +21 -0
  352. package/src/cli/commands/space/info/index.ts +5 -0
  353. package/src/cli/commands/space/info/info.test.ts +47 -0
  354. package/src/cli/commands/space/info/info.ts +37 -0
  355. package/src/cli/commands/space/join/index.ts +5 -0
  356. package/src/cli/commands/space/join/join.ts +122 -0
  357. package/src/cli/commands/space/join/util.ts +82 -0
  358. package/src/cli/commands/space/list/index.ts +5 -0
  359. package/src/cli/commands/space/list/list.test.ts +36 -0
  360. package/src/cli/commands/space/list/list.ts +30 -0
  361. package/src/cli/commands/space/members/index.ts +5 -0
  362. package/src/cli/commands/space/members/members.test.ts +46 -0
  363. package/src/cli/commands/space/members/members.ts +40 -0
  364. package/src/cli/commands/space/members/util.ts +29 -0
  365. package/src/cli/commands/space/open/index.ts +5 -0
  366. package/src/cli/commands/space/open/open.ts +39 -0
  367. package/src/cli/commands/space/schema/index.ts +12 -0
  368. package/src/cli/commands/space/schema/list/index.ts +5 -0
  369. package/src/cli/commands/space/schema/list/list.test.ts +42 -0
  370. package/src/cli/commands/space/schema/list/list.ts +64 -0
  371. package/src/cli/commands/space/schema/list/util.ts +39 -0
  372. package/src/cli/commands/space/share/index.ts +5 -0
  373. package/src/cli/commands/space/share/share.ts +112 -0
  374. package/src/cli/commands/space/sync/index.ts +5 -0
  375. package/src/cli/commands/space/sync/sync.test.ts +12 -0
  376. package/src/cli/commands/space/sync/sync.ts +33 -0
  377. package/src/cli/index.ts +5 -0
  378. package/src/cli/plugin.ts +88 -0
  379. package/src/components/AwaitingObject.tsx +14 -10
  380. package/src/components/CollectionArticle.tsx +142 -19
  381. package/src/components/CollectionSection.tsx +1 -1
  382. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +28 -22
  383. package/src/components/CreateDialog/CreateObjectDialog.tsx +55 -60
  384. package/src/components/CreateDialog/CreateObjectPanel.tsx +102 -52
  385. package/src/components/CreateDialog/CreateSpaceDialog.tsx +34 -51
  386. package/src/components/JoinDialog/JoinDialog.tsx +26 -52
  387. package/src/components/MembersContainer/MembersContainer.stories.tsx +3 -3
  388. package/src/components/MembersContainer/MembersContainer.tsx +76 -81
  389. package/src/components/MenuFooter.tsx +1 -1
  390. package/src/components/ObjectCardStack/ObjectCardStack.tsx +13 -10
  391. package/src/components/ObjectCardStack/ObjectForm.tsx +34 -27
  392. package/src/components/ObjectDetails/BaseObjectSettings.stories.tsx +8 -8
  393. package/src/components/ObjectDetails/BaseObjectSettings.tsx +35 -31
  394. package/src/components/ObjectDetails/ObjectDetails.tsx +9 -11
  395. package/src/components/ObjectRenamePopover/ObjectRenamePopover.tsx +9 -13
  396. package/src/components/RecordArticle.stories.tsx +14 -13
  397. package/src/components/RecordArticle.tsx +47 -37
  398. package/src/components/SchemaContainer.tsx +20 -17
  399. package/src/components/SpacePluginSettings.tsx +42 -35
  400. package/src/components/SpacePresence/SpacePresence.stories.tsx +1 -1
  401. package/src/components/SpacePresence/SpacePresence.tsx +15 -16
  402. package/src/components/SpaceRenamePopover/SpaceRenamePopover.tsx +11 -12
  403. package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +5 -5
  404. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +165 -182
  405. package/src/components/SyncStatus/InlineSyncStatus.tsx +1 -1
  406. package/src/components/SyncStatus/SyncStatus.stories.tsx +1 -1
  407. package/src/components/SyncStatus/SyncStatus.tsx +1 -1
  408. package/src/components/SyncStatus/save-tracker.ts +2 -2
  409. package/src/components/ViewEditor.tsx +16 -12
  410. package/src/constants.ts +11 -0
  411. package/src/helpers/query.ts +7 -6
  412. package/src/hooks/useActiveSpace.ts +8 -5
  413. package/src/hooks/useInputSurfaceLookup.tsx +3 -3
  414. package/src/hooks/usePath.ts +4 -4
  415. package/src/index.ts +1 -2
  416. package/src/meta.ts +2 -2
  417. package/src/translations.ts +4 -2
  418. package/src/types/capabilities.ts +73 -0
  419. package/src/types/events.ts +16 -0
  420. package/src/types/index.ts +2 -0
  421. package/src/types/types.ts +533 -245
  422. package/src/util.tsx +222 -230
  423. package/dist/lib/browser/CollectionArticle-WTHWY4YS.mjs +0 -31
  424. package/dist/lib/browser/CollectionArticle-WTHWY4YS.mjs.map +0 -7
  425. package/dist/lib/browser/ObjectCardStack-TE7AWPMH.mjs +0 -144
  426. package/dist/lib/browser/ObjectCardStack-TE7AWPMH.mjs.map +0 -7
  427. package/dist/lib/browser/ObjectDetails-666IBRHE.mjs +0 -144
  428. package/dist/lib/browser/ObjectDetails-666IBRHE.mjs.map +0 -7
  429. package/dist/lib/browser/RecordArticle-2PFEBPXY.mjs +0 -116
  430. package/dist/lib/browser/RecordArticle-2PFEBPXY.mjs.map +0 -7
  431. package/dist/lib/browser/app-graph-builder-USKWFIDK.mjs +0 -551
  432. package/dist/lib/browser/app-graph-builder-USKWFIDK.mjs.map +0 -7
  433. package/dist/lib/browser/app-graph-serializer-SXIQ425K.mjs +0 -80
  434. package/dist/lib/browser/app-graph-serializer-SXIQ425K.mjs.map +0 -7
  435. package/dist/lib/browser/chunk-5CSSKOWR.mjs.map +0 -7
  436. package/dist/lib/browser/chunk-C6DAPIFF.mjs +0 -20
  437. package/dist/lib/browser/chunk-C6DAPIFF.mjs.map +0 -7
  438. package/dist/lib/browser/chunk-E4BEMEZ3.mjs +0 -399
  439. package/dist/lib/browser/chunk-E4BEMEZ3.mjs.map +0 -7
  440. package/dist/lib/browser/chunk-IJCMB5B5.mjs.map +0 -7
  441. package/dist/lib/browser/chunk-POFUXISV.mjs.map +0 -7
  442. package/dist/lib/browser/chunk-VZBIIYFM.mjs.map +0 -7
  443. package/dist/lib/browser/chunk-WJXU4GKV.mjs +0 -19
  444. package/dist/lib/browser/chunk-WJXU4GKV.mjs.map +0 -7
  445. package/dist/lib/browser/chunk-XKQCDLXX.mjs +0 -2103
  446. package/dist/lib/browser/chunk-XKQCDLXX.mjs.map +0 -7
  447. package/dist/lib/browser/identity-created-NAXTPQXE.mjs +0 -23
  448. package/dist/lib/browser/identity-created-NAXTPQXE.mjs.map +0 -7
  449. package/dist/lib/browser/intent-resolver-QEIM7NQT.mjs +0 -769
  450. package/dist/lib/browser/intent-resolver-QEIM7NQT.mjs.map +0 -7
  451. package/dist/lib/browser/react-root-T6ZETLD2.mjs +0 -30
  452. package/dist/lib/browser/react-root-T6ZETLD2.mjs.map +0 -7
  453. package/dist/lib/browser/react-surface-MLN5BZ2G.mjs +0 -374
  454. package/dist/lib/browser/react-surface-MLN5BZ2G.mjs.map +0 -7
  455. package/dist/lib/browser/repair-CNLE35NF.mjs.map +0 -7
  456. package/dist/lib/browser/settings-EGTCHS7U.mjs +0 -24
  457. package/dist/lib/browser/settings-EGTCHS7U.mjs.map +0 -7
  458. package/dist/lib/browser/spaces-ready-YS4BBZXW.mjs +0 -208
  459. package/dist/lib/browser/spaces-ready-YS4BBZXW.mjs.map +0 -7
  460. package/dist/lib/browser/state-C7N6EDDZ.mjs +0 -47
  461. package/dist/lib/browser/state-C7N6EDDZ.mjs.map +0 -7
  462. package/dist/lib/node-esm/CollectionArticle-KHXYT3SH.mjs +0 -32
  463. package/dist/lib/node-esm/CollectionArticle-KHXYT3SH.mjs.map +0 -7
  464. package/dist/lib/node-esm/ObjectCardStack-AAKMAQ6T.mjs +0 -145
  465. package/dist/lib/node-esm/ObjectCardStack-AAKMAQ6T.mjs.map +0 -7
  466. package/dist/lib/node-esm/ObjectDetails-TZ5YKXGN.mjs +0 -145
  467. package/dist/lib/node-esm/ObjectDetails-TZ5YKXGN.mjs.map +0 -7
  468. package/dist/lib/node-esm/RecordArticle-SSJ7PULS.mjs +0 -117
  469. package/dist/lib/node-esm/RecordArticle-SSJ7PULS.mjs.map +0 -7
  470. package/dist/lib/node-esm/app-graph-builder-QRQ5EQLB.mjs +0 -552
  471. package/dist/lib/node-esm/app-graph-builder-QRQ5EQLB.mjs.map +0 -7
  472. package/dist/lib/node-esm/app-graph-serializer-P2X4W7LI.mjs +0 -81
  473. package/dist/lib/node-esm/app-graph-serializer-P2X4W7LI.mjs.map +0 -7
  474. package/dist/lib/node-esm/chunk-3D4NGZPW.mjs.map +0 -7
  475. package/dist/lib/node-esm/chunk-AX3UGL5D.mjs.map +0 -7
  476. package/dist/lib/node-esm/chunk-BDEFTL6K.mjs.map +0 -7
  477. package/dist/lib/node-esm/chunk-H4JILUJK.mjs +0 -20
  478. package/dist/lib/node-esm/chunk-H4JILUJK.mjs.map +0 -7
  479. package/dist/lib/node-esm/chunk-QQQE2ZCX.mjs +0 -400
  480. package/dist/lib/node-esm/chunk-QQQE2ZCX.mjs.map +0 -7
  481. package/dist/lib/node-esm/chunk-UMZ7G6G4.mjs.map +0 -7
  482. package/dist/lib/node-esm/chunk-WWGV5FJM.mjs +0 -21
  483. package/dist/lib/node-esm/chunk-WWGV5FJM.mjs.map +0 -7
  484. package/dist/lib/node-esm/chunk-XD532BVR.mjs +0 -2104
  485. package/dist/lib/node-esm/chunk-XD532BVR.mjs.map +0 -7
  486. package/dist/lib/node-esm/identity-created-OXLKCJE3.mjs +0 -25
  487. package/dist/lib/node-esm/identity-created-OXLKCJE3.mjs.map +0 -7
  488. package/dist/lib/node-esm/intent-resolver-ZWCBVABN.mjs +0 -770
  489. package/dist/lib/node-esm/intent-resolver-ZWCBVABN.mjs.map +0 -7
  490. package/dist/lib/node-esm/react-root-SKB4UJ4K.mjs +0 -31
  491. package/dist/lib/node-esm/react-root-SKB4UJ4K.mjs.map +0 -7
  492. package/dist/lib/node-esm/react-surface-BVZGNSBB.mjs +0 -375
  493. package/dist/lib/node-esm/react-surface-BVZGNSBB.mjs.map +0 -7
  494. package/dist/lib/node-esm/repair-EHZS6MFY.mjs.map +0 -7
  495. package/dist/lib/node-esm/settings-N3F6JCIR.mjs +0 -25
  496. package/dist/lib/node-esm/settings-N3F6JCIR.mjs.map +0 -7
  497. package/dist/lib/node-esm/spaces-ready-U2K5P4LB.mjs +0 -209
  498. package/dist/lib/node-esm/spaces-ready-U2K5P4LB.mjs.map +0 -7
  499. package/dist/lib/node-esm/state-45TXZQJ6.mjs +0 -48
  500. package/dist/lib/node-esm/state-45TXZQJ6.mjs.map +0 -7
  501. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  502. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  503. package/dist/types/src/capabilities/app-graph-serializer.d.ts +0 -4
  504. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +0 -1
  505. package/dist/types/src/capabilities/capabilities.d.ts +0 -34
  506. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  507. package/dist/types/src/capabilities/identity-created.d.ts +0 -4
  508. package/dist/types/src/capabilities/identity-created.d.ts.map +0 -1
  509. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -9
  510. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  511. package/dist/types/src/capabilities/react-root.d.ts +0 -7
  512. package/dist/types/src/capabilities/react-root.d.ts.map +0 -1
  513. package/dist/types/src/capabilities/react-surface.d.ts +0 -7
  514. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  515. package/dist/types/src/capabilities/repair.d.ts +0 -4
  516. package/dist/types/src/capabilities/repair.d.ts.map +0 -1
  517. package/dist/types/src/capabilities/settings.d.ts +0 -4
  518. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  519. package/dist/types/src/capabilities/spaces-ready.d.ts +0 -4
  520. package/dist/types/src/capabilities/spaces-ready.d.ts.map +0 -1
  521. package/dist/types/src/capabilities/state.d.ts +0 -5
  522. package/dist/types/src/capabilities/state.d.ts.map +0 -1
  523. package/dist/types/src/events.d.ts +0 -8
  524. package/dist/types/src/events.d.ts.map +0 -1
  525. package/src/capabilities/app-graph-builder.ts +0 -724
  526. package/src/capabilities/app-graph-serializer.ts +0 -76
  527. package/src/capabilities/capabilities.ts +0 -40
  528. package/src/capabilities/identity-created.ts +0 -25
  529. package/src/capabilities/intent-resolver.ts +0 -705
  530. package/src/capabilities/react-root.tsx +0 -22
  531. package/src/capabilities/react-surface.tsx +0 -358
  532. package/src/capabilities/settings.ts +0 -21
  533. package/src/capabilities/spaces-ready.ts +0 -252
  534. package/src/capabilities/state.ts +0 -46
  535. package/src/events.ts +0 -15
@@ -1,724 +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 Entity, Filter, Obj, type QueryResult, 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, 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 [spacesOrder] = await client.spaces.default.db.query(Filter.type(Type.Expando, { key: SHARED })).run();
69
- if (spacesOrder) {
70
- spacesOrder.order = nextOrder.map(({ id }) => id);
71
- } else {
72
- log.warn('spaces order object not found');
73
- }
74
- },
75
- },
76
- };
77
-
78
- return contributes(Capabilities.AppGraphBuilder, [
79
- // Primary actions.
80
- createExtension({
81
- id: `${meta.id}/primary-actions`,
82
- position: 'hoist',
83
- actions: (node) =>
84
- Atom.make((get) =>
85
- Function.pipe(
86
- get(node),
87
- Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),
88
- Option.map(() => [
89
- {
90
- id: SpaceAction.OpenCreateSpace._tag,
91
- data: async () => {
92
- const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
93
- await dispatch(createIntent(SpaceAction.OpenCreateSpace));
94
- },
95
- properties: {
96
- label: ['create space label', { ns: meta.id }],
97
- icon: 'ph--plus--regular',
98
- testId: 'spacePlugin.createSpace',
99
- disposition: 'menu',
100
- },
101
- },
102
- {
103
- id: SpaceAction.Join._tag,
104
- data: async () => {
105
- const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
106
- await dispatch(createIntent(SpaceAction.Join));
107
- },
108
- properties: {
109
- label: ['join space label', { ns: meta.id }],
110
- icon: 'ph--sign-in--regular',
111
- testId: 'spacePlugin.joinSpace',
112
- disposition: 'menu',
113
- },
114
- },
115
- {
116
- id: SpaceAction.OpenMembers._tag,
117
- data: async () => {
118
- const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
119
- const client = context.getCapability(ClientCapabilities.Client);
120
- const space = getActiveSpace(context) ?? client.spaces.default;
121
- await dispatch(createIntent(SpaceAction.OpenMembers, { space }));
122
- },
123
- properties: {
124
- label: ['share space label', { ns: meta.id }],
125
- icon: 'ph--users--regular',
126
- testId: 'spacePlugin.shareSpace',
127
- keyBinding: {
128
- macos: 'meta+.',
129
- windows: 'alt+.',
130
- },
131
- },
132
- },
133
- {
134
- id: SpaceAction.OpenSettings._tag,
135
- data: async () => {
136
- const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
137
- const client = context.getCapability(ClientCapabilities.Client);
138
- const space = getActiveSpace(context) ?? client.spaces.default;
139
- await dispatch(createIntent(SpaceAction.OpenSettings, { space }));
140
- },
141
- properties: {
142
- label: ['open current space settings label', { ns: meta.id }],
143
- icon: 'ph--faders--regular',
144
- keyBinding: {
145
- macos: 'meta+shift+,',
146
- windows: 'ctrl+shift+,',
147
- },
148
- },
149
- },
150
- ]),
151
- Option.getOrElse(() => []),
152
- ),
153
- ),
154
- }),
155
-
156
- // Create spaces group node.
157
- createExtension({
158
- id: `${meta.id}/root`,
159
- position: 'hoist',
160
- connector: (node) =>
161
- Atom.make((get) =>
162
- Function.pipe(
163
- get(node),
164
- Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),
165
- Option.map(() => [spacesNode]),
166
- Option.getOrElse(() => []),
167
- ),
168
- ),
169
- }),
170
-
171
- // Create space nodes.
172
- createExtension({
173
- id: SPACES,
174
- connector: (node) => {
175
- // TODO(wittjosiah): Find a simpler way to define this type.
176
- let query: QueryResult.QueryResult<Schema.Schema.Type<typeof Type.Expando>> | undefined;
177
- return Atom.make((get) =>
178
- Function.pipe(
179
- get(node),
180
- Option.flatMap((node) => (node.id === SPACES ? Option.some(node) : Option.none())),
181
- Option.map(() => {
182
- const state = context.getCapability(SpaceCapabilities.State);
183
- const client = context.getCapability(ClientCapabilities.Client);
184
- const spacesAtom = atomFromObservable(client.spaces);
185
- const isReadyAtom = atomFromObservable(client.spaces.isReady);
186
-
187
- const spaces = get(spacesAtom);
188
- const isReady = get(isReadyAtom);
189
-
190
- if (!spaces || !isReady) {
191
- return [];
192
- }
193
-
194
- const settings = get(context.capabilities(Capabilities.SettingsStore))[0]?.getStore<SpaceSettingsProps>(
195
- meta.id,
196
- )?.value;
197
-
198
- // TODO(wittjosiah): During client reset, accessing default space throws.
199
- try {
200
- if (!query) {
201
- query = client.spaces.default.db.query(Filter.type(Type.Expando, { key: SHARED }));
202
- }
203
- const [spacesOrder] = get(atomFromQuery(query));
204
- return get(
205
- atomFromSignal(() => {
206
- const order: string[] = spacesOrder?.order ?? [];
207
- const orderMap = new Map(order.map((id, index) => [id, index]));
208
- return [
209
- ...spaces
210
- .filter((space) => orderMap.has(space.id))
211
- .sort((a, b) => orderMap.get(a.id)! - orderMap.get(b.id)!),
212
- ...spaces.filter((space) => !orderMap.has(space.id)),
213
- ]
214
- .filter((space) =>
215
- settings?.showHidden ? true : space.state.get() !== SpaceState.SPACE_INACTIVE,
216
- )
217
- .map((space) =>
218
- constructSpaceNode({
219
- space,
220
- navigable: state.navigableCollections,
221
- personal: space === client.spaces.default,
222
- namesCache: state.spaceNames,
223
- resolve: resolve(get),
224
- }),
225
- );
226
- }),
227
- );
228
- } catch {
229
- return [];
230
- }
231
- }),
232
- Option.getOrElse(() => []),
233
- ),
234
- );
235
- },
236
- }),
237
-
238
- // Create space actions.
239
- createExtension({
240
- id: `${meta.id}/actions`,
241
- actions: (node) =>
242
- Atom.make((get) =>
243
- Function.pipe(
244
- get(node),
245
- Option.flatMap((node) =>
246
- node.type === SPACE_TYPE && isSpace(node.data) ? Option.some(node.data) : Option.none(),
247
- ),
248
- Option.flatMap((space) => {
249
- const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));
250
- const [client] = get(context.capabilities(ClientCapabilities.Client));
251
- const [state] = get(context.capabilities(SpaceCapabilities.State));
252
-
253
- if (!dispatcher || !client || !state) {
254
- return Option.none();
255
- } else {
256
- return Option.some({
257
- space,
258
- dispatch: dispatcher.dispatchPromise,
259
- personal: space === client.spaces.default,
260
- migrating: state.sdkMigrationRunning[space.id],
261
- });
262
- }
263
- }),
264
- Option.map((params) => constructSpaceActions(params)),
265
- Option.getOrElse(() => []),
266
- ),
267
- ),
268
- }),
269
-
270
- // Create nodes for objects in the root collection of a space.
271
- createExtension({
272
- id: `${meta.id}/root-collection`,
273
- connector: (node) =>
274
- Atom.make((get) =>
275
- Function.pipe(
276
- get(node),
277
- Option.flatMap((node) =>
278
- node.type === SPACE_TYPE && isSpace(node.data) ? Option.some(node.data) : Option.none(),
279
- ),
280
- Option.map((space) => {
281
- const state = context.getCapability(SpaceCapabilities.State);
282
- const spaceState = get(atomFromObservable(space.state));
283
- if (spaceState !== SpaceState.SPACE_READY) {
284
- return [];
285
- }
286
-
287
- const collection = get(
288
- atomFromSignal(
289
- () => space.properties[Collection.Collection.typename]?.target as Collection.Collection | undefined,
290
- ),
291
- );
292
- if (!collection) {
293
- return [];
294
- }
295
-
296
- return get(
297
- atomFromSignal(() =>
298
- Function.pipe(
299
- collection.objects,
300
- Array.map((object) => object.target),
301
- Array.filter(isNonNullable),
302
- Array.map((object) =>
303
- createObjectNode({
304
- space,
305
- object,
306
- resolve: resolve(get),
307
- navigable: state.navigableCollections,
308
- }),
309
- ),
310
- Array.filter(isNonNullable),
311
- ),
312
- ),
313
- );
314
- }),
315
- Option.getOrElse(() => []),
316
- ),
317
- ),
318
- }),
319
-
320
- // Create nodes for objects in a collection or by its DXN.
321
- createExtension({
322
- id: `${meta.id}/objects`,
323
- connector: (node) =>
324
- Atom.make((get) =>
325
- Function.pipe(
326
- get(node),
327
- Option.flatMap((node) =>
328
- Obj.instanceOf(Collection.Collection, node.data) ? Option.some(node.data) : Option.none(),
329
- ),
330
- Option.map((collection) => {
331
- const state = context.getCapability(SpaceCapabilities.State);
332
- const space = getSpace(collection);
333
-
334
- return get(
335
- atomFromSignal(() =>
336
- Function.pipe(
337
- collection.objects,
338
- Array.map((object) => object.target),
339
- Array.filter(isNonNullable),
340
- Array.map(
341
- (object) =>
342
- space &&
343
- createObjectNode({
344
- object,
345
- space,
346
- resolve: resolve(get),
347
- navigable: state.navigableCollections,
348
- }),
349
- ),
350
- Array.filter(isNonNullable),
351
- ),
352
- ),
353
- );
354
- }),
355
- Option.getOrElse(() => []),
356
- ),
357
- ),
358
- resolver: (id) => {
359
- let query: QueryResult.QueryResult<Entity.Unknown> | undefined;
360
- return Atom.make((get) => {
361
- const client = context.getCapability(ClientCapabilities.Client);
362
- const dxn = DXN.tryParse(id)?.asEchoDXN();
363
- if (!dxn || !dxn.spaceId) {
364
- return null;
365
- }
366
-
367
- const space = client.spaces.get(dxn.spaceId);
368
- if (!space) {
369
- return null;
370
- }
371
-
372
- if (!query) {
373
- query = space.db.query(Filter.id(dxn.echoId));
374
- }
375
-
376
- const object = get(atomFromQuery(query)).at(0);
377
- if (!Obj.isObject(object)) {
378
- return null;
379
- }
380
-
381
- return createObjectNode({
382
- object,
383
- space,
384
- resolve: resolve(get),
385
- disposition: 'hidden',
386
- });
387
- });
388
- },
389
- }),
390
-
391
- // Create object nodes for schema-based system collections.
392
- createExtension({
393
- id: `${meta.id}/system-collections`,
394
- connector: (node) => {
395
- // TODO(wittjosiah): Find a simpler way to define this type.
396
- let query: QueryResult.QueryResult<Schema.Schema.Type<typeof Type.Expando>> | undefined;
397
- return Atom.make((get) => {
398
- const client = get(context.capabilities(ClientCapabilities.Client)).at(0);
399
- return Function.pipe(
400
- get(node),
401
- Option.flatMap((node) =>
402
- Obj.instanceOf(Collection.Managed, node.data) ? Option.some(node.data) : Option.none(),
403
- ),
404
- Option.flatMap((collection) => {
405
- const space = getSpace(collection);
406
- // TODO(wittjosiah): Support reactive schema registry queries.
407
- const schema = client?.graph.schemaRegistry
408
- .query({ typename: collection.key, location: ['runtime'] })
409
- .runSync()[0];
410
- return space && schema ? Option.some({ space, schema }) : Option.none();
411
- }),
412
- Option.map(({ space, schema }) => {
413
- if (!query) {
414
- query = space.db.query(Filter.type(schema));
415
- }
416
- return get(atomFromQuery(query))
417
- .map((object) =>
418
- createObjectNode({
419
- object,
420
- space,
421
- managedCollectionChild: true,
422
- resolve: resolve(get),
423
- }),
424
- )
425
- .filter(isNonNullable);
426
- }),
427
- Option.getOrElse(() => []),
428
- );
429
- });
430
- },
431
- }),
432
-
433
- // Create branch nodes for static schema record types.
434
- createExtension({
435
- id: `${meta.id}/static-schemas`,
436
- connector: (node) =>
437
- Atom.make((get) => {
438
- const client = get(context.capabilities(ClientCapabilities.Client)).at(0);
439
- return Function.pipe(
440
- get(node),
441
- Option.flatMap((node) =>
442
- Obj.instanceOf(Collection.Managed, node.data) && node.data.key === Type.getTypename(Type.PersistentType)
443
- ? Option.some(node.data)
444
- : Option.none(),
445
- ),
446
- Option.flatMap((collection) => {
447
- const space = getSpace(collection);
448
- return space?.properties.staticRecords ? Option.some(space) : Option.none();
449
- }),
450
- Option.map((space) => {
451
- // TODO(wittjosiah): Support reactive schema registry queries.
452
- return get(atomFromSignal(() => (space.properties.staticRecords ?? []) as string[]))
453
- .map((typename) => client?.graph.schemaRegistry.query({ typename, location: ['runtime'] }).runSync()[0])
454
- .filter(isNonNullable)
455
- .map((schema) => createStaticSchemaNode({ schema, space }));
456
- }),
457
- Option.getOrElse(() => []),
458
- );
459
- }),
460
- }),
461
-
462
- // Create actions for static schema record types.
463
- createExtension({
464
- id: `${meta.id}/static-schema-actions`,
465
- actions: (node) => {
466
- let query: QueryResult.QueryResult<Obj.Any> | undefined;
467
- return Atom.make((get) => {
468
- // TODO(wittjosiah): Support reactive schema registry queries.
469
- const schemas =
470
- get(context.capabilities(ClientCapabilities.Client))
471
- .at(0)
472
- ?.graph.schemaRegistry.query({ location: ['runtime'] })
473
- .runSync() ?? [];
474
- const filter = Filter.or(
475
- ...schemas
476
- .filter((schema) => ViewAnnotation.get(schema).pipe(Option.getOrElse(() => false)))
477
- .map((schema) => Filter.type(schema)),
478
- );
479
-
480
- return Function.pipe(
481
- get(node),
482
- Option.flatMap((node) => {
483
- const space = isSpace(node.properties.space) ? node.properties.space : undefined;
484
- return space && Schema.isSchema(node.data) ? Option.some({ space, schema: node.data }) : Option.none();
485
- }),
486
- Option.map(({ space, schema }) => {
487
- if (!query) {
488
- // TODO(wittjosiah): Ideally this query would traverse the view reference & filter by the query ast.
489
- // TODO(wittjosiah): Remove cast.
490
- query = space.db.query(filter) as unknown as QueryResult.QueryResult<Obj.Any>;
491
- }
492
-
493
- const objects = get(atomFromQuery(query));
494
- const filteredViews = get(
495
- atomFromSignal(() =>
496
- objects.filter(
497
- (viewObject) =>
498
- getTypenameFromQuery((viewObject as any).view.target?.query.ast) ===
499
- Type.getTypename(schema as Type.Obj.Any),
500
- ),
501
- ),
502
- );
503
- const deletable = filteredViews.length === 0;
504
-
505
- const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));
506
- if (!dispatcher) {
507
- return [];
508
- }
509
-
510
- // TODO(wittjosiah): Remove cast.
511
- return createStaticSchemaActions({
512
- schema: schema as Type.Obj.Any,
513
- space,
514
- dispatch: dispatcher.dispatchPromise,
515
- deletable,
516
- });
517
- }),
518
- Option.getOrElse(() => []),
519
- );
520
- });
521
- },
522
- }),
523
-
524
- // Create nodes for views of record types.
525
- createExtension({
526
- id: `${meta.id}/schema-views`,
527
- connector: (node) => {
528
- let query: QueryResult.QueryResult<Obj.Any> | undefined;
529
- return Atom.make((get) => {
530
- // TODO(wittjosiah): Support reactive schema registry queries.
531
- const schemas =
532
- get(context.capabilities(ClientCapabilities.Client))
533
- .at(0)
534
- ?.graph.schemaRegistry.query({ location: ['runtime'] })
535
- .runSync() ?? [];
536
- const filter = Filter.or(
537
- ...schemas
538
- .filter((schema) => ViewAnnotation.get(schema).pipe(Option.getOrElse(() => false)))
539
- .map((schema) => Filter.type(schema)),
540
- );
541
-
542
- return Function.pipe(
543
- get(node),
544
- Option.flatMap((node) => {
545
- const space = getSpace(node.data) ?? (isSpace(node.properties.space) ? node.properties.space : undefined);
546
- return space && (Obj.instanceOf(Type.PersistentType, node.data) || Schema.isSchema(node.data))
547
- ? Option.some({ space, schema: node.data })
548
- : Option.none();
549
- }),
550
- Option.map(({ space, schema }) => {
551
- if (!query) {
552
- // TODO(wittjosiah): Ideally this query would traverse the view reference & filter by the query ast.
553
- // TODO(wittjosiah): Remove cast.
554
- query = space.db.query(filter) as unknown as QueryResult.QueryResult<Obj.Any>;
555
- }
556
-
557
- // TODO(wittjosiah): Remove casts.
558
- const typename = Schema.isSchema(schema) ? Type.getTypename(schema as Type.Obj.Any) : schema.typename;
559
- return get(atomFromQuery(query))
560
- .filter((object) =>
561
- get(atomFromSignal(() => getTypenameFromQuery((object as any).view.target?.query.ast) === typename)),
562
- )
563
- .map((object) =>
564
- get(
565
- atomFromSignal(() =>
566
- createObjectNode({
567
- object,
568
- space,
569
- resolve: resolve(get),
570
- droppable: false,
571
- }),
572
- ),
573
- ),
574
- )
575
- .filter(isNonNullable);
576
- }),
577
- Option.getOrElse(() => []),
578
- );
579
- });
580
- },
581
- }),
582
-
583
- // Create collection actions and action groups.
584
- createExtension({
585
- id: `${meta.id}/object-actions`,
586
- actions: (node) => {
587
- let query: QueryResult.QueryResult<Obj.Any> | undefined;
588
- return Atom.make((get) => {
589
- // TODO(wittjosiah): Support reactive schema registry queries.
590
- const schemas =
591
- get(context.capabilities(ClientCapabilities.Client))
592
- .at(0)
593
- ?.graph.schemaRegistry.query({ location: ['runtime'] })
594
- .runSync() ?? [];
595
- const filter = Filter.or(
596
- ...schemas
597
- .filter((schema) => ViewAnnotation.get(schema).pipe(Option.getOrElse(() => false)))
598
- .map((schema) => Filter.type(schema)),
599
- );
600
-
601
- return Function.pipe(
602
- get(node),
603
- Option.flatMap((node) => {
604
- const space = getSpace(node.data);
605
- return space && Obj.isObject(node.data) && Obj.getTypename(node.data) === node.type
606
- ? Option.some({ space, object: node.data })
607
- : Option.none();
608
- }),
609
- Option.flatMap(({ space, object }) => {
610
- const isSchema = Obj.instanceOf(Type.PersistentType, object);
611
- if (!query && isSchema) {
612
- // TODO(wittjosiah): Ideally this query would traverse the view reference & filter by the query ast.
613
- // TODO(wittjosiah): Remove cast.
614
- query = space.db.query(filter) as unknown as QueryResult.QueryResult<Obj.Any>;
615
- }
616
-
617
- let deletable =
618
- !isSchema &&
619
- // Don't allow system collections to be deleted.
620
- !Obj.instanceOf(Collection.Managed, object);
621
- if (isSchema && query) {
622
- const objects = get(atomFromQuery(query));
623
- const filteredViews = get(
624
- atomFromSignal(() =>
625
- objects.filter(
626
- (viewObject) =>
627
- getTypenameFromQuery((viewObject as any).view.target?.query.ast) === object.typename,
628
- ),
629
- ),
630
- );
631
- deletable = filteredViews.length === 0;
632
- }
633
-
634
- const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));
635
- const [appGraph] = get(context.capabilities(Capabilities.AppGraph));
636
- const [state] = get(context.capabilities(SpaceCapabilities.State));
637
-
638
- if (!dispatcher || !appGraph || !state) {
639
- return Option.none();
640
- } else {
641
- return Option.some({
642
- object,
643
- graph: appGraph.graph,
644
- dispatch: dispatcher.dispatchPromise,
645
- resolve: resolve(get),
646
- deletable,
647
- navigable: get(atomFromSignal(() => state.navigableCollections)),
648
- });
649
- }
650
- }),
651
- Option.map((params) => constructObjectActions(params)),
652
- Option.getOrElse(() => []),
653
- );
654
- });
655
- },
656
- }),
657
-
658
- // View selected objects.
659
- createExtension({
660
- id: `${meta.id}/selected-objects`,
661
- connector: (node) =>
662
- Atom.make((get) =>
663
- Function.pipe(
664
- get(node),
665
- Option.flatMap((node) => {
666
- if (!Obj.isObject(node.data)) {
667
- return Option.none();
668
- }
669
-
670
- const schema = Obj.getSchema(node.data);
671
- const isView = Option.fromNullable(schema).pipe(
672
- Option.flatMap((schema) => ViewAnnotation.get(schema)),
673
- Option.getOrElse(() => false),
674
- );
675
- if (!isView) {
676
- return Option.none();
677
- }
678
-
679
- return Option.some(node);
680
- }),
681
- Option.map((node) => [
682
- {
683
- id: [node.id, 'selected-objects'].join(ATTENDABLE_PATH_SEPARATOR),
684
- type: PLANK_COMPANION_TYPE,
685
- data: 'selected-objects',
686
- properties: {
687
- label: ['companion selected objects label', { ns: meta.id }],
688
- icon: 'ph--tree-view--regular',
689
- disposition: 'hidden',
690
- },
691
- },
692
- ]),
693
- Option.getOrElse(() => []),
694
- ),
695
- ),
696
- }),
697
-
698
- // Object settings plank companion.
699
- createExtension({
700
- id: `${meta.id}/settings`,
701
- connector: (node) =>
702
- Atom.make((get) =>
703
- Function.pipe(
704
- get(node),
705
- Option.flatMap((node) => (Obj.isObject(node.data) ? Option.some(node) : Option.none())),
706
- Option.map((node) => [
707
- {
708
- id: [node.id, 'settings'].join(ATTENDABLE_PATH_SEPARATOR),
709
- type: PLANK_COMPANION_TYPE,
710
- data: 'settings',
711
- properties: {
712
- label: ['object settings label', { ns: meta.id }],
713
- icon: 'ph--sliders--regular',
714
- disposition: 'hidden',
715
- position: 'fallback',
716
- },
717
- },
718
- ]),
719
- Option.getOrElse(() => []),
720
- ),
721
- ),
722
- }),
723
- ]);
724
- };