@dxos/plugin-space 0.8.4-main.422d1c7879 → 0.8.4-main.4f23b4e393

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 (707) hide show
  1. package/dist/lib/neutral/CollectionArticle-QGPAEA7D.mjs +98 -0
  2. package/dist/lib/neutral/CollectionArticle-QGPAEA7D.mjs.map +7 -0
  3. package/dist/lib/neutral/CollectionSection-A5WRHE5Z.mjs +19 -0
  4. package/dist/lib/neutral/CollectionSection-A5WRHE5Z.mjs.map +7 -0
  5. package/dist/lib/neutral/CreateObjectDialog-2JEYK4PI.mjs +141 -0
  6. package/dist/lib/neutral/CreateObjectDialog-2JEYK4PI.mjs.map +7 -0
  7. package/dist/lib/neutral/CreateSpaceDialog-B3OELSC7.mjs +56 -0
  8. package/dist/lib/neutral/CreateSpaceDialog-B3OELSC7.mjs.map +7 -0
  9. package/dist/lib/neutral/ImportSpaceDialog-LWLVC5RZ.mjs +62 -0
  10. package/dist/lib/neutral/ImportSpaceDialog-LWLVC5RZ.mjs.map +7 -0
  11. package/dist/lib/neutral/InlineSyncStatus-TBJKZCH7.mjs +49 -0
  12. package/dist/lib/neutral/InlineSyncStatus-TBJKZCH7.mjs.map +7 -0
  13. package/dist/lib/neutral/JoinDialog-SSFKRFTJ.mjs +114 -0
  14. package/dist/lib/neutral/JoinDialog-SSFKRFTJ.mjs.map +7 -0
  15. package/dist/lib/neutral/MembersContainer-MRPLHZ6L.mjs +225 -0
  16. package/dist/lib/neutral/MembersContainer-MRPLHZ6L.mjs.map +7 -0
  17. package/dist/lib/neutral/MenuFooter-O4XS4T4D.mjs +33 -0
  18. package/dist/lib/neutral/MenuFooter-O4XS4T4D.mjs.map +7 -0
  19. package/dist/lib/neutral/ObjectCardStack-ODQZOBWB.mjs +55 -0
  20. package/dist/lib/neutral/ObjectCardStack-ODQZOBWB.mjs.map +7 -0
  21. package/dist/lib/neutral/ObjectProperties-BF6KGFFC.mjs +33 -0
  22. package/dist/lib/neutral/ObjectProperties-BF6KGFFC.mjs.map +7 -0
  23. package/dist/lib/neutral/ObjectRenamePopover-V656TFC5.mjs +59 -0
  24. package/dist/lib/neutral/ObjectRenamePopover-V656TFC5.mjs.map +7 -0
  25. package/dist/lib/neutral/RecordArticle-VRWKXVAO.mjs +48 -0
  26. package/dist/lib/neutral/RecordArticle-VRWKXVAO.mjs.map +7 -0
  27. package/dist/lib/neutral/RelatedArticle-GHGL2GL5.mjs +68 -0
  28. package/dist/lib/neutral/RelatedArticle-GHGL2GL5.mjs.map +7 -0
  29. package/dist/lib/neutral/SchemaContainer-KMOZ23RA.mjs +43 -0
  30. package/dist/lib/neutral/SchemaContainer-KMOZ23RA.mjs.map +7 -0
  31. package/dist/lib/neutral/SmallPresenceLive-2W5ZUDCF.mjs +8 -0
  32. package/dist/lib/neutral/SpacePlugin.mjs +10 -0
  33. package/dist/lib/{browser/cli/index.mjs → neutral/SpacePlugin.node.mjs} +66 -81
  34. package/dist/lib/neutral/SpacePlugin.node.mjs.map +7 -0
  35. package/dist/lib/neutral/SpacePresence-PTTGZYZ6.mjs +11 -0
  36. package/dist/lib/neutral/SpaceRenamePopover-KFWL4CTJ.mjs +56 -0
  37. package/dist/lib/neutral/SpaceRenamePopover-KFWL4CTJ.mjs.map +7 -0
  38. package/dist/lib/{browser/SpaceSettings-TR2IMHOL.mjs → neutral/SpaceSettings-JBE266M2.mjs} +3 -3
  39. package/dist/lib/neutral/SpaceSettingsContainer-VAXQNCWG.mjs +266 -0
  40. package/dist/lib/neutral/SpaceSettingsContainer-VAXQNCWG.mjs.map +7 -0
  41. package/dist/lib/neutral/SyncStatus-FFKEPNZF.mjs +146 -0
  42. package/dist/lib/neutral/SyncStatus-FFKEPNZF.mjs.map +7 -0
  43. package/dist/lib/neutral/ViewEditor-MQRYNTSI.mjs +104 -0
  44. package/dist/lib/neutral/ViewEditor-MQRYNTSI.mjs.map +7 -0
  45. package/dist/lib/{browser/add-object-XUA4QRWE.mjs → neutral/add-object-CHYQHOXB.mjs} +10 -19
  46. package/dist/lib/neutral/add-object-CHYQHOXB.mjs.map +7 -0
  47. package/dist/lib/{browser/add-relation-YNTOBNYM.mjs → neutral/add-relation-RLDHAPF5.mjs} +4 -4
  48. package/dist/lib/neutral/add-relation-RLDHAPF5.mjs.map +7 -0
  49. package/dist/lib/{browser/add-schema-Q5X2SAX4.mjs → neutral/add-schema-VHVHDVY6.mjs} +6 -6
  50. package/dist/lib/neutral/add-schema-VHVHDVY6.mjs.map +7 -0
  51. package/dist/lib/neutral/app-graph-builder-O3XVL5Y2.mjs +1262 -0
  52. package/dist/lib/neutral/app-graph-builder-O3XVL5Y2.mjs.map +7 -0
  53. package/dist/lib/neutral/app-graph-serializer-3IHQEYQ4.mjs +80 -0
  54. package/dist/lib/neutral/app-graph-serializer-3IHQEYQ4.mjs.map +7 -0
  55. package/dist/lib/neutral/capabilities/index.mjs +45 -0
  56. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  57. package/dist/lib/neutral/capabilities/node.mjs +15 -0
  58. package/dist/lib/neutral/capabilities/node.mjs.map +7 -0
  59. package/dist/lib/neutral/chunk-2DHCIE27.mjs +25 -0
  60. package/dist/lib/neutral/chunk-2DHCIE27.mjs.map +7 -0
  61. package/dist/lib/neutral/chunk-62A5U3UX.mjs +8 -0
  62. package/dist/lib/neutral/chunk-62A5U3UX.mjs.map +7 -0
  63. package/dist/lib/{browser/chunk-VV4C4APQ.mjs → neutral/chunk-BWDWDXYZ.mjs} +3 -1
  64. package/dist/lib/neutral/chunk-BWDWDXYZ.mjs.map +7 -0
  65. package/dist/lib/neutral/chunk-CTBIVBHJ.mjs +163 -0
  66. package/dist/lib/neutral/chunk-CTBIVBHJ.mjs.map +7 -0
  67. package/dist/lib/{browser/chunk-5CKPBXLB.mjs → neutral/chunk-EDP4XO2G.mjs} +5 -2
  68. package/dist/lib/{browser/chunk-5CKPBXLB.mjs.map → neutral/chunk-EDP4XO2G.mjs.map} +3 -3
  69. package/dist/lib/{browser/chunk-JH2UWMN2.mjs → neutral/chunk-JHZGRYGS.mjs} +1 -1
  70. package/dist/lib/{browser/chunk-JH2UWMN2.mjs.map → neutral/chunk-JHZGRYGS.mjs.map} +2 -2
  71. package/dist/lib/{browser/chunk-FBRDXXNK.mjs → neutral/chunk-K2XBM3E3.mjs} +4 -1
  72. package/dist/lib/neutral/chunk-K2XBM3E3.mjs.map +7 -0
  73. package/dist/lib/{browser/chunk-BJAZV3HI.mjs → neutral/chunk-MCL6D42P.mjs} +51 -9
  74. package/dist/lib/neutral/chunk-MCL6D42P.mjs.map +7 -0
  75. package/dist/lib/neutral/chunk-YE46AQFY.mjs +145 -0
  76. package/dist/lib/neutral/chunk-YE46AQFY.mjs.map +7 -0
  77. package/dist/lib/{browser/close-MPL6CV3Z.mjs → neutral/close-25YK3PIO.mjs} +4 -4
  78. package/dist/lib/{browser/close-MPL6CV3Z.mjs.map → neutral/close-25YK3PIO.mjs.map} +1 -1
  79. package/dist/lib/neutral/components/index.mjs +385 -0
  80. package/dist/lib/neutral/components/index.mjs.map +7 -0
  81. package/dist/lib/neutral/containers/index.mjs +49 -0
  82. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  83. package/dist/lib/{browser/create-AE3FYWXG.mjs → neutral/create-UURJPVVA.mjs} +8 -8
  84. package/dist/lib/neutral/create-UURJPVVA.mjs.map +7 -0
  85. package/dist/lib/neutral/create-object-SUGDFO7H.mjs +101 -0
  86. package/dist/lib/neutral/create-object-SUGDFO7H.mjs.map +7 -0
  87. package/dist/lib/{browser/delete-field-G77IGW6B.mjs → neutral/delete-field-MHS7EOUL.mjs} +7 -31
  88. package/dist/lib/neutral/delete-field-MHS7EOUL.mjs.map +7 -0
  89. package/dist/lib/neutral/duplicate-object-VLQZZJVO.mjs +17 -0
  90. package/dist/lib/neutral/duplicate-object-VLQZZJVO.mjs.map +7 -0
  91. package/dist/lib/neutral/export-space-KN5JXOZP.mjs +34 -0
  92. package/dist/lib/neutral/export-space-KN5JXOZP.mjs.map +7 -0
  93. package/dist/lib/{browser/get-share-link-R745OMNC.mjs → neutral/get-share-link-CRDCEFRI.mjs} +5 -5
  94. package/dist/lib/{browser/get-share-link-R745OMNC.mjs.map → neutral/get-share-link-CRDCEFRI.mjs.map} +1 -1
  95. package/dist/lib/neutral/hooks/index.mjs +121 -0
  96. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  97. package/dist/lib/neutral/identity-created-QQQIWOQQ.mjs +32 -0
  98. package/dist/lib/neutral/identity-created-QQQIWOQQ.mjs.map +7 -0
  99. package/dist/lib/neutral/import-space-7XT5KTLD.mjs +24 -0
  100. package/dist/lib/neutral/import-space-7XT5KTLD.mjs.map +7 -0
  101. package/dist/lib/{node-esm/types → neutral}/index.mjs +21 -4
  102. package/dist/lib/{browser/join-EDCBOGMO.mjs → neutral/join-3Y5MFGBM.mjs} +5 -5
  103. package/dist/lib/{browser/join-EDCBOGMO.mjs.map → neutral/join-3Y5MFGBM.mjs.map} +1 -1
  104. package/dist/lib/neutral/meta.json +1 -0
  105. package/dist/lib/{browser → neutral}/meta.mjs +1 -1
  106. package/dist/lib/{browser/migrate-J7OVAUIM.mjs → neutral/migrate-MSZS4U27.mjs} +5 -5
  107. package/dist/lib/neutral/migrate-MSZS4U27.mjs.map +7 -0
  108. package/dist/lib/neutral/migrations-Z5O3BTVV.mjs +59 -0
  109. package/dist/lib/neutral/migrations-Z5O3BTVV.mjs.map +7 -0
  110. package/dist/lib/neutral/navigation-handler-2M57B2AX.mjs +38 -0
  111. package/dist/lib/neutral/navigation-handler-2M57B2AX.mjs.map +7 -0
  112. package/dist/lib/neutral/navigation-resolver-HM5ALHFV.mjs +70 -0
  113. package/dist/lib/neutral/navigation-resolver-HM5ALHFV.mjs.map +7 -0
  114. package/dist/lib/{browser/open-LGLVOLR3.mjs → neutral/open-WY4HLCDB.mjs} +4 -4
  115. package/dist/lib/{browser/open-LGLVOLR3.mjs.map → neutral/open-WY4HLCDB.mjs.map} +1 -1
  116. package/dist/lib/{browser/open-create-object-QQFDBDDC.mjs → neutral/open-create-object-V6G7EQON.mjs} +5 -5
  117. package/dist/lib/neutral/open-create-object-V6G7EQON.mjs.map +7 -0
  118. package/dist/lib/{browser/open-create-space-7IVA2QOK.mjs → neutral/open-create-space-QEEZSDEK.mjs} +5 -5
  119. package/dist/lib/{browser/open-create-space-7IVA2QOK.mjs.map → neutral/open-create-space-QEEZSDEK.mjs.map} +1 -1
  120. package/dist/lib/neutral/open-import-space-RLPTBZ4W.mjs +24 -0
  121. package/dist/lib/neutral/open-import-space-RLPTBZ4W.mjs.map +7 -0
  122. package/dist/lib/{browser/open-members-RF5E7PAE.mjs → neutral/open-members-2OSOYYC5.mjs} +4 -4
  123. package/dist/lib/{browser/open-members-RF5E7PAE.mjs.map → neutral/open-members-2OSOYYC5.mjs.map} +1 -1
  124. package/dist/lib/{browser/open-settings-A56XL7NJ.mjs → neutral/open-settings-KGMR7ACJ.mjs} +5 -5
  125. package/dist/lib/{browser/open-settings-A56XL7NJ.mjs.map → neutral/open-settings-KGMR7ACJ.mjs.map} +1 -1
  126. package/dist/lib/neutral/operation-handler-YPIRQOH2.mjs +13 -0
  127. package/dist/lib/neutral/operation-handler-YPIRQOH2.mjs.map +7 -0
  128. package/dist/lib/neutral/operations/index.mjs +13 -0
  129. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  130. package/dist/lib/neutral/plugin.mjs +18 -0
  131. package/dist/lib/neutral/plugin.mjs.map +7 -0
  132. package/dist/lib/neutral/react-root-2DJPZQT4.mjs +23 -0
  133. package/dist/lib/neutral/react-root-2DJPZQT4.mjs.map +7 -0
  134. package/dist/lib/neutral/react-surface-224L5H2S.mjs +374 -0
  135. package/dist/lib/neutral/react-surface-224L5H2S.mjs.map +7 -0
  136. package/dist/lib/neutral/remove-objects-EUTNONXG.mjs +51 -0
  137. package/dist/lib/neutral/remove-objects-EUTNONXG.mjs.map +7 -0
  138. package/dist/lib/{browser/rename-UOGQQJ3T.mjs → neutral/rename-IFFBCXLO.mjs} +5 -5
  139. package/dist/lib/{browser/rename-UOGQQJ3T.mjs.map → neutral/rename-IFFBCXLO.mjs.map} +1 -1
  140. package/dist/lib/{browser/rename-object-V2LDZGOE.mjs → neutral/rename-object-P7EZA2MX.mjs} +5 -5
  141. package/dist/lib/neutral/rename-object-P7EZA2MX.mjs.map +7 -0
  142. package/dist/lib/neutral/repair-RXOGKEAC.mjs +29 -0
  143. package/dist/lib/neutral/repair-RXOGKEAC.mjs.map +7 -0
  144. package/dist/lib/{browser/restore-field-TQJP2YJI.mjs → neutral/restore-field-TEQHRD3S.mjs} +7 -31
  145. package/dist/lib/neutral/restore-field-TEQHRD3S.mjs.map +7 -0
  146. package/dist/lib/{browser/restore-objects-23VJYK72.mjs → neutral/restore-objects-73C5MEB2.mjs} +9 -26
  147. package/dist/lib/neutral/restore-objects-73C5MEB2.mjs.map +7 -0
  148. package/dist/lib/neutral/settings-DUCCRYX7.mjs +30 -0
  149. package/dist/lib/neutral/settings-DUCCRYX7.mjs.map +7 -0
  150. package/dist/lib/{browser/share-2PZJXFJM.mjs → neutral/share-FSYFMNIQ.mjs} +5 -5
  151. package/dist/lib/{browser/share-2PZJXFJM.mjs.map → neutral/share-FSYFMNIQ.mjs.map} +1 -1
  152. package/dist/lib/{browser/snapshot-OOA2JZ67.mjs → neutral/snapshot-HCSBDOOE.mjs} +5 -13
  153. package/dist/lib/neutral/snapshot-HCSBDOOE.mjs.map +7 -0
  154. package/dist/lib/neutral/spaces-ready-QU2YUZTO.mjs +248 -0
  155. package/dist/lib/neutral/spaces-ready-QU2YUZTO.mjs.map +7 -0
  156. package/dist/lib/neutral/state-DPBOZRAW.mjs +55 -0
  157. package/dist/lib/neutral/state-DPBOZRAW.mjs.map +7 -0
  158. package/dist/lib/neutral/testing.mjs +8 -0
  159. package/dist/lib/neutral/testing.mjs.map +7 -0
  160. package/dist/lib/neutral/translations.mjs +300 -0
  161. package/dist/lib/neutral/translations.mjs.map +7 -0
  162. package/dist/lib/{browser → neutral}/types/index.mjs +3 -1
  163. package/dist/lib/neutral/types/index.mjs.map +7 -0
  164. package/dist/lib/neutral/undo-mappings-5QJNDMH4.mjs +65 -0
  165. package/dist/lib/neutral/undo-mappings-5QJNDMH4.mjs.map +7 -0
  166. package/dist/lib/{browser/wait-for-object-2XLXLCNS.mjs → neutral/wait-for-object-6CVEJRDV.mjs} +4 -4
  167. package/dist/lib/{browser/wait-for-object-2XLXLCNS.mjs.map → neutral/wait-for-object-6CVEJRDV.mjs.map} +1 -1
  168. package/dist/types/src/SpacePlugin.d.ts +1 -0
  169. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  170. package/dist/types/src/{cli/plugin.d.ts → SpacePlugin.node.d.ts} +2 -1
  171. package/dist/types/src/SpacePlugin.node.d.ts.map +1 -0
  172. package/dist/types/src/SpacePlugin.test.d.ts +2 -0
  173. package/dist/types/src/SpacePlugin.test.d.ts.map +1 -0
  174. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -1
  175. package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts +28 -4
  176. package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts.map +1 -1
  177. package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts.map +1 -1
  178. package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts +10 -2
  179. package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts.map +1 -1
  180. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts +5 -6
  181. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts.map +1 -1
  182. package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts +21 -3
  183. package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts.map +1 -1
  184. package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts +35 -5
  185. package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts.map +1 -1
  186. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +1 -1
  187. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -1
  188. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  189. package/dist/types/src/capabilities/create-object.d.ts +37 -0
  190. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  191. package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
  192. package/dist/types/src/capabilities/index.d.ts +32 -1
  193. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  194. package/dist/types/src/capabilities/migrations.d.ts +2 -1
  195. package/dist/types/src/capabilities/migrations.d.ts.map +1 -1
  196. package/dist/types/src/capabilities/navigation-handler/navigation-handler.d.ts.map +1 -1
  197. package/dist/types/src/capabilities/navigation-resolver.d.ts.map +1 -1
  198. package/dist/types/src/capabilities/node.d.ts +32 -1
  199. package/dist/types/src/capabilities/node.d.ts.map +1 -1
  200. package/dist/types/src/capabilities/operation-handler.d.ts +1 -1
  201. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -1
  202. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  203. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  204. package/dist/types/src/capabilities/repair.d.ts.map +1 -1
  205. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  206. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  207. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  208. package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -1
  209. package/dist/types/src/commands/database/add.d.ts +10 -0
  210. package/dist/types/src/commands/database/add.d.ts.map +1 -0
  211. package/dist/types/src/commands/database/index.d.ts.map +1 -0
  212. package/dist/types/src/commands/database/query/index.d.ts.map +1 -0
  213. package/dist/types/src/{cli/commands → commands}/database/query/query.d.ts +2 -2
  214. package/dist/types/src/commands/database/query/query.d.ts.map +1 -0
  215. package/dist/types/src/commands/database/query/query.test.d.ts.map +1 -0
  216. package/dist/types/src/{cli/commands → commands}/database/remove.d.ts +1 -1
  217. package/dist/types/src/commands/database/remove.d.ts.map +1 -0
  218. package/dist/types/src/{cli/commands → commands}/database/stats.d.ts +1 -1
  219. package/dist/types/src/commands/database/stats.d.ts.map +1 -0
  220. package/dist/types/src/commands/database/util.d.ts.map +1 -0
  221. package/dist/types/src/commands/index.d.ts.map +1 -0
  222. package/dist/types/src/{cli/commands → commands}/queue/index.d.ts +1 -1
  223. package/dist/types/src/commands/queue/index.d.ts.map +1 -0
  224. package/dist/types/src/{cli/commands → commands}/queue/query.d.ts +1 -1
  225. package/dist/types/src/commands/queue/query.d.ts.map +1 -0
  226. package/dist/types/src/commands/queue/util.d.ts.map +1 -0
  227. package/dist/types/src/commands/space/close/close.d.ts +12 -0
  228. package/dist/types/src/commands/space/close/close.d.ts.map +1 -0
  229. package/dist/types/src/commands/space/close/index.d.ts.map +1 -0
  230. package/dist/types/src/{cli/commands → commands}/space/create/create.d.ts +2 -2
  231. package/dist/types/src/commands/space/create/create.d.ts.map +1 -0
  232. package/dist/types/src/commands/space/create/create.test.d.ts.map +1 -0
  233. package/dist/types/src/commands/space/create/index.d.ts.map +1 -0
  234. package/dist/types/src/{cli/commands → commands}/space/index.d.ts +13 -13
  235. package/dist/types/src/commands/space/index.d.ts.map +1 -0
  236. package/dist/types/src/commands/space/info/index.d.ts.map +1 -0
  237. package/dist/types/src/{cli/commands → commands}/space/info/info.d.ts +2 -2
  238. package/dist/types/src/commands/space/info/info.d.ts.map +1 -0
  239. package/dist/types/src/commands/space/info/info.test.d.ts.map +1 -0
  240. package/dist/types/src/commands/space/join/index.d.ts.map +1 -0
  241. package/dist/types/src/{cli/commands → commands}/space/join/join.d.ts +2 -2
  242. package/dist/types/src/commands/space/join/join.d.ts.map +1 -0
  243. package/dist/types/src/commands/space/join/util.d.ts.map +1 -0
  244. package/dist/types/src/commands/space/list/index.d.ts.map +1 -0
  245. package/dist/types/src/{cli/commands → commands}/space/list/list.d.ts +2 -2
  246. package/dist/types/src/commands/space/list/list.d.ts.map +1 -0
  247. package/dist/types/src/commands/space/list/list.test.d.ts.map +1 -0
  248. package/dist/types/src/commands/space/members/index.d.ts.map +1 -0
  249. package/dist/types/src/{cli/commands → commands}/space/members/members.d.ts +2 -2
  250. package/dist/types/src/commands/space/members/members.d.ts.map +1 -0
  251. package/dist/types/src/commands/space/members/members.test.d.ts.map +1 -0
  252. package/dist/types/src/commands/space/members/util.d.ts.map +1 -0
  253. package/dist/types/src/commands/space/open/index.d.ts.map +1 -0
  254. package/dist/types/src/commands/space/open/open.d.ts +12 -0
  255. package/dist/types/src/commands/space/open/open.d.ts.map +1 -0
  256. package/dist/types/src/{cli/commands → commands}/space/schema/index.d.ts +1 -1
  257. package/dist/types/src/commands/space/schema/index.d.ts.map +1 -0
  258. package/dist/types/src/commands/space/schema/list/index.d.ts.map +1 -0
  259. package/dist/types/src/{cli/commands → commands}/space/schema/list/list.d.ts +2 -2
  260. package/dist/types/src/commands/space/schema/list/list.d.ts.map +1 -0
  261. package/dist/types/src/commands/space/schema/list/list.test.d.ts.map +1 -0
  262. package/dist/types/src/commands/space/schema/list/util.d.ts.map +1 -0
  263. package/dist/types/src/commands/space/share/index.d.ts.map +1 -0
  264. package/dist/types/src/{cli/commands → commands}/space/share/share.d.ts +2 -2
  265. package/dist/types/src/commands/space/share/share.d.ts.map +1 -0
  266. package/dist/types/src/commands/space/sync/index.d.ts.map +1 -0
  267. package/dist/types/src/commands/space/sync/sync.d.ts.map +1 -0
  268. package/dist/types/src/commands/space/sync/sync.test.d.ts.map +1 -0
  269. package/dist/types/src/components/AwaitingObject/AwaitingObject.d.ts.map +1 -1
  270. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +9 -14
  271. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  272. package/dist/types/src/components/ForeignKeys/ForeignKeys.d.ts.map +1 -1
  273. package/dist/types/src/components/SpaceSettings/SpaceSettings.d.ts.map +1 -1
  274. package/dist/types/src/components/SpaceSettings/SpaceSettings.stories.d.ts +500 -248
  275. package/dist/types/src/components/SpaceSettings/SpaceSettings.stories.d.ts.map +1 -1
  276. package/dist/types/src/components/SyncStatus/save-tracker.d.ts +1 -1
  277. package/dist/types/src/components/SyncStatus/save-tracker.d.ts.map +1 -1
  278. package/dist/types/src/components/SyncStatus/status.d.ts +1 -1
  279. package/dist/types/src/components/SyncStatus/status.d.ts.map +1 -1
  280. package/dist/types/src/constants.d.ts +1 -0
  281. package/dist/types/src/constants.d.ts.map +1 -1
  282. package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts.map +1 -1
  283. package/dist/types/src/containers/CollectionSection/CollectionSection.d.ts.map +1 -1
  284. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.d.ts.map +1 -1
  285. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.stories.d.ts +500 -248
  286. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  287. package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.stories.d.ts +500 -248
  288. package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.stories.d.ts.map +1 -1
  289. package/dist/types/src/containers/ImportSpaceDialog/ImportSpaceDialog.d.ts +3 -0
  290. package/dist/types/src/containers/ImportSpaceDialog/ImportSpaceDialog.d.ts.map +1 -0
  291. package/dist/types/src/containers/ImportSpaceDialog/index.d.ts +2 -0
  292. package/dist/types/src/containers/ImportSpaceDialog/index.d.ts.map +1 -0
  293. package/dist/types/src/containers/InlineSyncStatus/InlineSyncStatus.d.ts.map +1 -1
  294. package/dist/types/src/containers/JoinDialog/JoinDialog.d.ts.map +1 -1
  295. package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts +500 -248
  296. package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts.map +1 -1
  297. package/dist/types/src/containers/MembersContainer/MembersContainer.d.ts.map +1 -1
  298. package/dist/types/src/containers/MenuFooter/MenuFooter.d.ts.map +1 -1
  299. package/dist/types/src/containers/ObjectCardStack/ObjectCardStack.d.ts.map +1 -1
  300. package/dist/types/src/containers/ObjectProperties/ObjectProperties.d.ts +1 -1
  301. package/dist/types/src/containers/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -1
  302. package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts.map +1 -1
  303. package/dist/types/src/containers/RecordArticle/RecordArticle.stories.d.ts.map +1 -1
  304. package/dist/types/src/containers/RelatedArticle/RelatedArticle.d.ts.map +1 -1
  305. package/dist/types/src/containers/SchemaContainer/SchemaContainer.d.ts.map +1 -1
  306. package/dist/types/src/containers/SpacePresence/SpacePresence.d.ts.map +1 -1
  307. package/dist/types/src/containers/SpacePresence/SpacePresence.stories.d.ts +500 -248
  308. package/dist/types/src/containers/SpacePresence/SpacePresence.stories.d.ts.map +1 -1
  309. package/dist/types/src/containers/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -1
  310. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts +4 -4
  311. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts.map +1 -1
  312. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.d.ts +500 -248
  313. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.d.ts.map +1 -1
  314. package/dist/types/src/containers/SyncStatus/SyncStatus.d.ts.map +1 -1
  315. package/dist/types/src/containers/SyncStatus/SyncStatus.stories.d.ts +500 -248
  316. package/dist/types/src/containers/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  317. package/dist/types/src/containers/ViewEditor/ViewEditor.d.ts.map +1 -1
  318. package/dist/types/src/containers/index.d.ts +1 -0
  319. package/dist/types/src/containers/index.d.ts.map +1 -1
  320. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  321. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  322. package/dist/types/src/hooks/useRelatedObjects.d.ts.map +1 -1
  323. package/dist/types/src/index.d.ts +2 -3
  324. package/dist/types/src/index.d.ts.map +1 -1
  325. package/dist/types/src/meta.d.ts.map +1 -1
  326. package/dist/types/src/operations/add-object.d.ts +1 -1
  327. package/dist/types/src/operations/add-object.d.ts.map +1 -1
  328. package/dist/types/src/operations/add-relation.d.ts +1 -1
  329. package/dist/types/src/operations/add-relation.d.ts.map +1 -1
  330. package/dist/types/src/operations/add-schema.d.ts +1 -1
  331. package/dist/types/src/operations/add-schema.d.ts.map +1 -1
  332. package/dist/types/src/operations/close.d.ts +1 -1
  333. package/dist/types/src/operations/close.d.ts.map +1 -1
  334. package/dist/types/src/operations/create.d.ts +1 -1
  335. package/dist/types/src/operations/create.d.ts.map +1 -1
  336. package/dist/types/src/operations/definitions.d.ts +29 -18
  337. package/dist/types/src/operations/definitions.d.ts.map +1 -1
  338. package/dist/types/src/operations/delete-field.d.ts +1 -1
  339. package/dist/types/src/operations/delete-field.d.ts.map +1 -1
  340. package/dist/types/src/operations/duplicate-object.d.ts +1 -1
  341. package/dist/types/src/operations/duplicate-object.d.ts.map +1 -1
  342. package/dist/types/src/operations/export-space.d.ts +5 -0
  343. package/dist/types/src/operations/export-space.d.ts.map +1 -0
  344. package/dist/types/src/operations/get-share-link.d.ts +1 -1
  345. package/dist/types/src/operations/get-share-link.d.ts.map +1 -1
  346. package/dist/types/src/operations/import-space.d.ts +5 -0
  347. package/dist/types/src/operations/import-space.d.ts.map +1 -0
  348. package/dist/types/src/operations/index.d.ts +1 -1
  349. package/dist/types/src/operations/index.d.ts.map +1 -1
  350. package/dist/types/src/operations/join.d.ts +1 -1
  351. package/dist/types/src/operations/join.d.ts.map +1 -1
  352. package/dist/types/src/operations/migrate.d.ts +1 -1
  353. package/dist/types/src/operations/migrate.d.ts.map +1 -1
  354. package/dist/types/src/operations/open-create-object.d.ts +1 -1
  355. package/dist/types/src/operations/open-create-object.d.ts.map +1 -1
  356. package/dist/types/src/operations/open-create-space.d.ts +1 -1
  357. package/dist/types/src/operations/open-create-space.d.ts.map +1 -1
  358. package/dist/types/src/operations/open-import-space.d.ts +5 -0
  359. package/dist/types/src/operations/open-import-space.d.ts.map +1 -0
  360. package/dist/types/src/operations/open-members.d.ts +1 -1
  361. package/dist/types/src/operations/open-members.d.ts.map +1 -1
  362. package/dist/types/src/operations/open-settings.d.ts +1 -1
  363. package/dist/types/src/operations/open-settings.d.ts.map +1 -1
  364. package/dist/types/src/operations/open.d.ts +1 -1
  365. package/dist/types/src/operations/open.d.ts.map +1 -1
  366. package/dist/types/src/operations/remove-objects.d.ts +1 -1
  367. package/dist/types/src/operations/remove-objects.d.ts.map +1 -1
  368. package/dist/types/src/operations/rename-object.d.ts +1 -1
  369. package/dist/types/src/operations/rename-object.d.ts.map +1 -1
  370. package/dist/types/src/operations/rename.d.ts +1 -1
  371. package/dist/types/src/operations/rename.d.ts.map +1 -1
  372. package/dist/types/src/operations/restore-field.d.ts +1 -1
  373. package/dist/types/src/operations/restore-field.d.ts.map +1 -1
  374. package/dist/types/src/operations/restore-objects.d.ts +1 -1
  375. package/dist/types/src/operations/restore-objects.d.ts.map +1 -1
  376. package/dist/types/src/operations/share.d.ts +1 -1
  377. package/dist/types/src/operations/share.d.ts.map +1 -1
  378. package/dist/types/src/operations/snapshot.d.ts +1 -1
  379. package/dist/types/src/operations/snapshot.d.ts.map +1 -1
  380. package/dist/types/src/operations/wait-for-object.d.ts +1 -1
  381. package/dist/types/src/operations/wait-for-object.d.ts.map +1 -1
  382. package/dist/types/src/plugin.d.ts +4 -0
  383. package/dist/types/src/plugin.d.ts.map +1 -0
  384. package/dist/types/src/testing.d.ts +2 -0
  385. package/dist/types/src/testing.d.ts.map +1 -0
  386. package/dist/types/src/translations.d.ts +500 -248
  387. package/dist/types/src/translations.d.ts.map +1 -1
  388. package/dist/types/src/types/capabilities.d.ts +34 -5
  389. package/dist/types/src/types/capabilities.d.ts.map +1 -1
  390. package/dist/types/src/types/events.d.ts.map +1 -1
  391. package/dist/types/src/types/types.d.ts +4 -3
  392. package/dist/types/src/types/types.d.ts.map +1 -1
  393. package/dist/types/src/util.d.ts +1 -6
  394. package/dist/types/src/util.d.ts.map +1 -1
  395. package/dist/types/tsconfig.tsbuildinfo +1 -1
  396. package/package.json +122 -94
  397. package/src/{cli/plugin.ts → SpacePlugin.node.ts} +6 -26
  398. package/src/SpacePlugin.test.ts +33 -0
  399. package/src/SpacePlugin.ts +18 -117
  400. package/src/capabilities/app-graph-builder/app-graph-builder.ts +1 -1
  401. package/src/capabilities/app-graph-builder/extensions/collections.ts +21 -25
  402. package/src/capabilities/app-graph-builder/extensions/companions.ts +5 -5
  403. package/src/capabilities/app-graph-builder/extensions/settings.ts +45 -21
  404. package/src/capabilities/app-graph-builder/extensions/shared.test.ts +2 -2
  405. package/src/capabilities/app-graph-builder/extensions/shared.ts +33 -15
  406. package/src/capabilities/app-graph-builder/extensions/spaces.ts +45 -20
  407. package/src/capabilities/app-graph-builder/extensions/types.ts +39 -39
  408. package/src/capabilities/app-graph-serializer.ts +2 -3
  409. package/src/capabilities/create-object.ts +107 -0
  410. package/src/capabilities/identity-created.ts +3 -4
  411. package/src/capabilities/index.ts +2 -1
  412. package/src/capabilities/migrations.ts +8 -8
  413. package/src/capabilities/navigation-handler/navigation-handler.ts +1 -1
  414. package/src/capabilities/navigation-resolver.ts +2 -2
  415. package/src/capabilities/node.ts +2 -1
  416. package/src/capabilities/operation-handler.ts +1 -1
  417. package/src/capabilities/react-surface.tsx +68 -39
  418. package/src/capabilities/repair.ts +1 -1
  419. package/src/capabilities/spaces-ready.ts +4 -3
  420. package/src/capabilities/state.ts +1 -1
  421. package/src/capabilities/undo-mappings.ts +0 -1
  422. package/src/{cli/commands → commands}/database/add.ts +13 -18
  423. package/src/{cli/commands → commands}/database/stats.ts +1 -2
  424. package/src/{cli/commands → commands}/queue/query.ts +14 -5
  425. package/src/{cli/commands → commands}/space/create/create.ts +1 -1
  426. package/src/{cli/commands → commands}/space/list/list.test.ts +1 -1
  427. package/src/components/AwaitingObject/AwaitingObject.tsx +2 -2
  428. package/src/components/CreateDialog/CreateObjectPanel.tsx +19 -13
  429. package/src/components/SpaceSettings/SpaceSettings.stories.tsx +2 -1
  430. package/src/components/SyncStatus/save-tracker.ts +2 -1
  431. package/src/constants.ts +1 -0
  432. package/src/containers/CollectionArticle/CollectionArticle.tsx +12 -27
  433. package/src/containers/CreateObjectDialog/CreateObjectDialog.stories.tsx +2 -3
  434. package/src/containers/CreateObjectDialog/CreateObjectDialog.tsx +22 -22
  435. package/src/containers/CreateSpaceDialog/CreateSpaceDialog.stories.tsx +3 -2
  436. package/src/containers/ImportSpaceDialog/ImportSpaceDialog.tsx +62 -0
  437. package/src/containers/ImportSpaceDialog/index.ts +5 -0
  438. package/src/containers/JoinDialog/JoinDialog.stories.tsx +3 -2
  439. package/src/containers/JoinDialog/JoinDialog.tsx +1 -1
  440. package/src/containers/MembersContainer/MembersContainer.tsx +1 -1
  441. package/src/containers/ObjectCardStack/ObjectCardStack.tsx +2 -3
  442. package/src/containers/ObjectRenamePopover/ObjectRenamePopover.tsx +3 -3
  443. package/src/containers/RecordArticle/RecordArticle.stories.tsx +6 -4
  444. package/src/containers/RecordArticle/RecordArticle.tsx +1 -1
  445. package/src/containers/SchemaContainer/SchemaContainer.tsx +1 -4
  446. package/src/containers/SpacePresence/SpacePresence.stories.tsx +2 -1
  447. package/src/containers/SpaceRenamePopover/SpaceRenamePopover.tsx +3 -3
  448. package/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.tsx +2 -1
  449. package/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.tsx +6 -18
  450. package/src/containers/SyncStatus/SyncStatus.stories.tsx +2 -1
  451. package/src/containers/SyncStatus/SyncStatus.tsx +1 -1
  452. package/src/containers/ViewEditor/ViewEditor.tsx +16 -17
  453. package/src/containers/index.ts +1 -0
  454. package/src/hooks/useInputSurfaceLookup.tsx +9 -2
  455. package/src/index.ts +2 -4
  456. package/src/meta.ts +1 -0
  457. package/src/operations/add-object.ts +7 -9
  458. package/src/operations/add-relation.ts +1 -1
  459. package/src/operations/add-schema.ts +3 -3
  460. package/src/operations/close.ts +1 -1
  461. package/src/operations/create.ts +4 -4
  462. package/src/operations/definitions.ts +45 -7
  463. package/src/operations/delete-field.ts +1 -1
  464. package/src/operations/duplicate-object.ts +4 -17
  465. package/src/operations/export-space.ts +30 -0
  466. package/src/operations/get-share-link.ts +1 -1
  467. package/src/operations/import-space.ts +21 -0
  468. package/src/operations/index.ts +4 -1
  469. package/src/operations/join.ts +1 -1
  470. package/src/operations/migrate.ts +2 -2
  471. package/src/operations/open-create-object.ts +1 -1
  472. package/src/operations/open-create-space.ts +1 -1
  473. package/src/operations/open-import-space.ts +21 -0
  474. package/src/operations/open-members.ts +1 -1
  475. package/src/operations/open-settings.ts +2 -2
  476. package/src/operations/open.ts +1 -1
  477. package/src/operations/remove-objects.ts +5 -29
  478. package/src/operations/rename-object.ts +1 -1
  479. package/src/operations/rename.ts +1 -1
  480. package/src/operations/restore-field.ts +1 -1
  481. package/src/operations/restore-objects.ts +6 -16
  482. package/src/operations/share.ts +2 -2
  483. package/src/operations/snapshot.ts +1 -1
  484. package/src/operations/wait-for-object.ts +1 -1
  485. package/src/plugin.ts +11 -0
  486. package/src/testing.ts +7 -0
  487. package/src/translations.ts +27 -10
  488. package/src/types/capabilities.ts +26 -5
  489. package/src/types/types.ts +5 -3
  490. package/src/util.ts +1 -44
  491. package/dist/lib/browser/add-object-XUA4QRWE.mjs.map +0 -7
  492. package/dist/lib/browser/add-relation-YNTOBNYM.mjs.map +0 -7
  493. package/dist/lib/browser/add-schema-Q5X2SAX4.mjs.map +0 -7
  494. package/dist/lib/browser/chunk-BJAZV3HI.mjs.map +0 -7
  495. package/dist/lib/browser/chunk-FBRDXXNK.mjs.map +0 -7
  496. package/dist/lib/browser/chunk-VV4C4APQ.mjs.map +0 -7
  497. package/dist/lib/browser/chunk-YSV6LKD6.mjs +0 -71
  498. package/dist/lib/browser/chunk-YSV6LKD6.mjs.map +0 -7
  499. package/dist/lib/browser/cli/index.mjs.map +0 -7
  500. package/dist/lib/browser/create-AE3FYWXG.mjs.map +0 -7
  501. package/dist/lib/browser/delete-field-G77IGW6B.mjs.map +0 -7
  502. package/dist/lib/browser/duplicate-object-B3Q64ELR.mjs +0 -42
  503. package/dist/lib/browser/duplicate-object-B3Q64ELR.mjs.map +0 -7
  504. package/dist/lib/browser/index.mjs +0 -913
  505. package/dist/lib/browser/index.mjs.map +0 -7
  506. package/dist/lib/browser/meta.json +0 -1
  507. package/dist/lib/browser/migrate-J7OVAUIM.mjs.map +0 -7
  508. package/dist/lib/browser/open-create-object-QQFDBDDC.mjs.map +0 -7
  509. package/dist/lib/browser/operations/index.mjs +0 -14
  510. package/dist/lib/browser/operations/index.mjs.map +0 -7
  511. package/dist/lib/browser/remove-objects-5JFRQRGL.mjs +0 -79
  512. package/dist/lib/browser/remove-objects-5JFRQRGL.mjs.map +0 -7
  513. package/dist/lib/browser/rename-object-V2LDZGOE.mjs.map +0 -7
  514. package/dist/lib/browser/restore-field-TQJP2YJI.mjs.map +0 -7
  515. package/dist/lib/browser/restore-objects-23VJYK72.mjs.map +0 -7
  516. package/dist/lib/browser/snapshot-OOA2JZ67.mjs.map +0 -7
  517. package/dist/lib/node-esm/SpaceSettings-YW75BDWT.mjs +0 -48
  518. package/dist/lib/node-esm/SpaceSettings-YW75BDWT.mjs.map +0 -7
  519. package/dist/lib/node-esm/add-object-OULSB2DR.mjs +0 -87
  520. package/dist/lib/node-esm/add-object-OULSB2DR.mjs.map +0 -7
  521. package/dist/lib/node-esm/add-relation-K6EZYWKL.mjs +0 -27
  522. package/dist/lib/node-esm/add-relation-K6EZYWKL.mjs.map +0 -7
  523. package/dist/lib/node-esm/add-schema-4GSWOILA.mjs +0 -61
  524. package/dist/lib/node-esm/add-schema-4GSWOILA.mjs.map +0 -7
  525. package/dist/lib/node-esm/chunk-64AL4GHY.mjs +0 -18
  526. package/dist/lib/node-esm/chunk-64AL4GHY.mjs.map +0 -7
  527. package/dist/lib/node-esm/chunk-7Z5ON2QQ.mjs +0 -99
  528. package/dist/lib/node-esm/chunk-7Z5ON2QQ.mjs.map +0 -7
  529. package/dist/lib/node-esm/chunk-GTF56ZOK.mjs +0 -10
  530. package/dist/lib/node-esm/chunk-GTF56ZOK.mjs.map +0 -7
  531. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  532. package/dist/lib/node-esm/chunk-IHOQPYNT.mjs +0 -73
  533. package/dist/lib/node-esm/chunk-IHOQPYNT.mjs.map +0 -7
  534. package/dist/lib/node-esm/chunk-IYW6CXLN.mjs +0 -18
  535. package/dist/lib/node-esm/chunk-IYW6CXLN.mjs.map +0 -7
  536. package/dist/lib/node-esm/chunk-TZTVDLGM.mjs +0 -490
  537. package/dist/lib/node-esm/chunk-TZTVDLGM.mjs.map +0 -7
  538. package/dist/lib/node-esm/cli/index.mjs +0 -861
  539. package/dist/lib/node-esm/cli/index.mjs.map +0 -7
  540. package/dist/lib/node-esm/close-JSUMHN7R.mjs +0 -18
  541. package/dist/lib/node-esm/close-JSUMHN7R.mjs.map +0 -7
  542. package/dist/lib/node-esm/create-BRA5OQHY.mjs +0 -75
  543. package/dist/lib/node-esm/create-BRA5OQHY.mjs.map +0 -7
  544. package/dist/lib/node-esm/delete-field-UNKELUX7.mjs +0 -68
  545. package/dist/lib/node-esm/delete-field-UNKELUX7.mjs.map +0 -7
  546. package/dist/lib/node-esm/duplicate-object-QDZHK24D.mjs +0 -43
  547. package/dist/lib/node-esm/duplicate-object-QDZHK24D.mjs.map +0 -7
  548. package/dist/lib/node-esm/get-share-link-XLBJHWDY.mjs +0 -42
  549. package/dist/lib/node-esm/get-share-link-XLBJHWDY.mjs.map +0 -7
  550. package/dist/lib/node-esm/index.mjs +0 -914
  551. package/dist/lib/node-esm/index.mjs.map +0 -7
  552. package/dist/lib/node-esm/join-RGM74NMA.mjs +0 -29
  553. package/dist/lib/node-esm/join-RGM74NMA.mjs.map +0 -7
  554. package/dist/lib/node-esm/meta.json +0 -1
  555. package/dist/lib/node-esm/meta.mjs +0 -9
  556. package/dist/lib/node-esm/migrate-NXBHBCFU.mjs +0 -51
  557. package/dist/lib/node-esm/migrate-NXBHBCFU.mjs.map +0 -7
  558. package/dist/lib/node-esm/open-ZUK63Z2F.mjs +0 -18
  559. package/dist/lib/node-esm/open-ZUK63Z2F.mjs.map +0 -7
  560. package/dist/lib/node-esm/open-create-object-CMNXPKSF.mjs +0 -43
  561. package/dist/lib/node-esm/open-create-object-CMNXPKSF.mjs.map +0 -7
  562. package/dist/lib/node-esm/open-create-space-W6DDCTCA.mjs +0 -25
  563. package/dist/lib/node-esm/open-create-space-W6DDCTCA.mjs.map +0 -7
  564. package/dist/lib/node-esm/open-members-BUANVOZL.mjs +0 -24
  565. package/dist/lib/node-esm/open-members-BUANVOZL.mjs.map +0 -7
  566. package/dist/lib/node-esm/open-settings-U2SJX5EW.mjs +0 -24
  567. package/dist/lib/node-esm/open-settings-U2SJX5EW.mjs.map +0 -7
  568. package/dist/lib/node-esm/operations/index.mjs +0 -15
  569. package/dist/lib/node-esm/operations/index.mjs.map +0 -7
  570. package/dist/lib/node-esm/remove-objects-KTAS3FB3.mjs +0 -80
  571. package/dist/lib/node-esm/remove-objects-KTAS3FB3.mjs.map +0 -7
  572. package/dist/lib/node-esm/rename-F5GAS22G.mjs +0 -26
  573. package/dist/lib/node-esm/rename-F5GAS22G.mjs.map +0 -7
  574. package/dist/lib/node-esm/rename-object-D2AVOXBO.mjs +0 -27
  575. package/dist/lib/node-esm/rename-object-D2AVOXBO.mjs.map +0 -7
  576. package/dist/lib/node-esm/restore-field-O7T4WCMB.mjs +0 -66
  577. package/dist/lib/node-esm/restore-field-O7T4WCMB.mjs.map +0 -7
  578. package/dist/lib/node-esm/restore-objects-IRKTUGP2.mjs +0 -57
  579. package/dist/lib/node-esm/restore-objects-IRKTUGP2.mjs.map +0 -7
  580. package/dist/lib/node-esm/share-5CZU3XKX.mjs +0 -32
  581. package/dist/lib/node-esm/share-5CZU3XKX.mjs.map +0 -7
  582. package/dist/lib/node-esm/snapshot-H3SRUIPR.mjs +0 -39
  583. package/dist/lib/node-esm/snapshot-H3SRUIPR.mjs.map +0 -7
  584. package/dist/lib/node-esm/wait-for-object-G2HJINN3.mjs +0 -24
  585. package/dist/lib/node-esm/wait-for-object-G2HJINN3.mjs.map +0 -7
  586. package/dist/types/src/cli/commands/database/add.d.ts +0 -16
  587. package/dist/types/src/cli/commands/database/add.d.ts.map +0 -1
  588. package/dist/types/src/cli/commands/database/index.d.ts.map +0 -1
  589. package/dist/types/src/cli/commands/database/query/index.d.ts.map +0 -1
  590. package/dist/types/src/cli/commands/database/query/query.d.ts.map +0 -1
  591. package/dist/types/src/cli/commands/database/query/query.test.d.ts.map +0 -1
  592. package/dist/types/src/cli/commands/database/remove.d.ts.map +0 -1
  593. package/dist/types/src/cli/commands/database/stats.d.ts.map +0 -1
  594. package/dist/types/src/cli/commands/database/util.d.ts.map +0 -1
  595. package/dist/types/src/cli/commands/index.d.ts.map +0 -1
  596. package/dist/types/src/cli/commands/queue/index.d.ts.map +0 -1
  597. package/dist/types/src/cli/commands/queue/query.d.ts.map +0 -1
  598. package/dist/types/src/cli/commands/queue/util.d.ts.map +0 -1
  599. package/dist/types/src/cli/commands/space/close/close.d.ts +0 -12
  600. package/dist/types/src/cli/commands/space/close/close.d.ts.map +0 -1
  601. package/dist/types/src/cli/commands/space/close/index.d.ts.map +0 -1
  602. package/dist/types/src/cli/commands/space/create/create.d.ts.map +0 -1
  603. package/dist/types/src/cli/commands/space/create/create.test.d.ts.map +0 -1
  604. package/dist/types/src/cli/commands/space/create/index.d.ts.map +0 -1
  605. package/dist/types/src/cli/commands/space/index.d.ts.map +0 -1
  606. package/dist/types/src/cli/commands/space/info/index.d.ts.map +0 -1
  607. package/dist/types/src/cli/commands/space/info/info.d.ts.map +0 -1
  608. package/dist/types/src/cli/commands/space/info/info.test.d.ts.map +0 -1
  609. package/dist/types/src/cli/commands/space/join/index.d.ts.map +0 -1
  610. package/dist/types/src/cli/commands/space/join/join.d.ts.map +0 -1
  611. package/dist/types/src/cli/commands/space/join/util.d.ts.map +0 -1
  612. package/dist/types/src/cli/commands/space/list/index.d.ts.map +0 -1
  613. package/dist/types/src/cli/commands/space/list/list.d.ts.map +0 -1
  614. package/dist/types/src/cli/commands/space/list/list.test.d.ts.map +0 -1
  615. package/dist/types/src/cli/commands/space/members/index.d.ts.map +0 -1
  616. package/dist/types/src/cli/commands/space/members/members.d.ts.map +0 -1
  617. package/dist/types/src/cli/commands/space/members/members.test.d.ts.map +0 -1
  618. package/dist/types/src/cli/commands/space/members/util.d.ts.map +0 -1
  619. package/dist/types/src/cli/commands/space/open/index.d.ts.map +0 -1
  620. package/dist/types/src/cli/commands/space/open/open.d.ts +0 -12
  621. package/dist/types/src/cli/commands/space/open/open.d.ts.map +0 -1
  622. package/dist/types/src/cli/commands/space/schema/index.d.ts.map +0 -1
  623. package/dist/types/src/cli/commands/space/schema/list/index.d.ts.map +0 -1
  624. package/dist/types/src/cli/commands/space/schema/list/list.d.ts.map +0 -1
  625. package/dist/types/src/cli/commands/space/schema/list/list.test.d.ts.map +0 -1
  626. package/dist/types/src/cli/commands/space/schema/list/util.d.ts.map +0 -1
  627. package/dist/types/src/cli/commands/space/share/index.d.ts.map +0 -1
  628. package/dist/types/src/cli/commands/space/share/share.d.ts.map +0 -1
  629. package/dist/types/src/cli/commands/space/sync/index.d.ts.map +0 -1
  630. package/dist/types/src/cli/commands/space/sync/sync.d.ts.map +0 -1
  631. package/dist/types/src/cli/commands/space/sync/sync.test.d.ts.map +0 -1
  632. package/dist/types/src/cli/index.d.ts +0 -2
  633. package/dist/types/src/cli/index.d.ts.map +0 -1
  634. package/dist/types/src/cli/plugin.d.ts.map +0 -1
  635. package/src/cli/index.ts +0 -5
  636. /package/dist/lib/{browser/chunk-J5LGTIGS.mjs.map → neutral/SmallPresenceLive-2W5ZUDCF.mjs.map} +0 -0
  637. /package/dist/lib/{browser/meta.mjs.map → neutral/SpacePlugin.mjs.map} +0 -0
  638. /package/dist/lib/{browser/types/index.mjs.map → neutral/SpacePresence-PTTGZYZ6.mjs.map} +0 -0
  639. /package/dist/lib/{browser/SpaceSettings-TR2IMHOL.mjs.map → neutral/SpaceSettings-JBE266M2.mjs.map} +0 -0
  640. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
  641. /package/dist/lib/{node-esm/chunk-HSLMI22Q.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  642. /package/dist/lib/{node-esm/types → neutral}/index.mjs.map +0 -0
  643. /package/dist/lib/{node-esm → neutral}/meta.mjs.map +0 -0
  644. /package/dist/types/src/{cli/commands → commands}/database/index.d.ts +0 -0
  645. /package/dist/types/src/{cli/commands → commands}/database/query/index.d.ts +0 -0
  646. /package/dist/types/src/{cli/commands → commands}/database/query/query.test.d.ts +0 -0
  647. /package/dist/types/src/{cli/commands → commands}/database/util.d.ts +0 -0
  648. /package/dist/types/src/{cli/commands → commands}/index.d.ts +0 -0
  649. /package/dist/types/src/{cli/commands → commands}/queue/util.d.ts +0 -0
  650. /package/dist/types/src/{cli/commands → commands}/space/close/index.d.ts +0 -0
  651. /package/dist/types/src/{cli/commands → commands}/space/create/create.test.d.ts +0 -0
  652. /package/dist/types/src/{cli/commands → commands}/space/create/index.d.ts +0 -0
  653. /package/dist/types/src/{cli/commands → commands}/space/info/index.d.ts +0 -0
  654. /package/dist/types/src/{cli/commands → commands}/space/info/info.test.d.ts +0 -0
  655. /package/dist/types/src/{cli/commands → commands}/space/join/index.d.ts +0 -0
  656. /package/dist/types/src/{cli/commands → commands}/space/join/util.d.ts +0 -0
  657. /package/dist/types/src/{cli/commands → commands}/space/list/index.d.ts +0 -0
  658. /package/dist/types/src/{cli/commands → commands}/space/list/list.test.d.ts +0 -0
  659. /package/dist/types/src/{cli/commands → commands}/space/members/index.d.ts +0 -0
  660. /package/dist/types/src/{cli/commands → commands}/space/members/members.test.d.ts +0 -0
  661. /package/dist/types/src/{cli/commands → commands}/space/members/util.d.ts +0 -0
  662. /package/dist/types/src/{cli/commands → commands}/space/open/index.d.ts +0 -0
  663. /package/dist/types/src/{cli/commands → commands}/space/schema/list/index.d.ts +0 -0
  664. /package/dist/types/src/{cli/commands → commands}/space/schema/list/list.test.d.ts +0 -0
  665. /package/dist/types/src/{cli/commands → commands}/space/schema/list/util.d.ts +0 -0
  666. /package/dist/types/src/{cli/commands → commands}/space/share/index.d.ts +0 -0
  667. /package/dist/types/src/{cli/commands → commands}/space/sync/index.d.ts +0 -0
  668. /package/dist/types/src/{cli/commands → commands}/space/sync/sync.d.ts +0 -0
  669. /package/dist/types/src/{cli/commands → commands}/space/sync/sync.test.d.ts +0 -0
  670. /package/src/{cli/commands → commands}/database/index.ts +0 -0
  671. /package/src/{cli/commands → commands}/database/query/index.ts +0 -0
  672. /package/src/{cli/commands → commands}/database/query/query.test.ts +0 -0
  673. /package/src/{cli/commands → commands}/database/query/query.ts +0 -0
  674. /package/src/{cli/commands → commands}/database/remove.ts +0 -0
  675. /package/src/{cli/commands → commands}/database/util.ts +0 -0
  676. /package/src/{cli/commands → commands}/index.ts +0 -0
  677. /package/src/{cli/commands → commands}/queue/index.ts +0 -0
  678. /package/src/{cli/commands → commands}/queue/util.ts +0 -0
  679. /package/src/{cli/commands → commands}/space/close/close.ts +0 -0
  680. /package/src/{cli/commands → commands}/space/close/index.ts +0 -0
  681. /package/src/{cli/commands → commands}/space/create/create.test.ts +0 -0
  682. /package/src/{cli/commands → commands}/space/create/index.ts +0 -0
  683. /package/src/{cli/commands → commands}/space/index.ts +0 -0
  684. /package/src/{cli/commands → commands}/space/info/index.ts +0 -0
  685. /package/src/{cli/commands → commands}/space/info/info.test.ts +0 -0
  686. /package/src/{cli/commands → commands}/space/info/info.ts +0 -0
  687. /package/src/{cli/commands → commands}/space/join/index.ts +0 -0
  688. /package/src/{cli/commands → commands}/space/join/join.ts +0 -0
  689. /package/src/{cli/commands → commands}/space/join/util.ts +0 -0
  690. /package/src/{cli/commands → commands}/space/list/index.ts +0 -0
  691. /package/src/{cli/commands → commands}/space/list/list.ts +0 -0
  692. /package/src/{cli/commands → commands}/space/members/index.ts +0 -0
  693. /package/src/{cli/commands → commands}/space/members/members.test.ts +0 -0
  694. /package/src/{cli/commands → commands}/space/members/members.ts +0 -0
  695. /package/src/{cli/commands → commands}/space/members/util.ts +0 -0
  696. /package/src/{cli/commands → commands}/space/open/index.ts +0 -0
  697. /package/src/{cli/commands → commands}/space/open/open.ts +0 -0
  698. /package/src/{cli/commands → commands}/space/schema/index.ts +0 -0
  699. /package/src/{cli/commands → commands}/space/schema/list/index.ts +0 -0
  700. /package/src/{cli/commands → commands}/space/schema/list/list.test.ts +0 -0
  701. /package/src/{cli/commands → commands}/space/schema/list/list.ts +0 -0
  702. /package/src/{cli/commands → commands}/space/schema/list/util.ts +0 -0
  703. /package/src/{cli/commands → commands}/space/share/index.ts +0 -0
  704. /package/src/{cli/commands → commands}/space/share/share.ts +0 -0
  705. /package/src/{cli/commands → commands}/space/sync/index.ts +0 -0
  706. /package/src/{cli/commands → commands}/space/sync/sync.test.ts +0 -0
  707. /package/src/{cli/commands → commands}/space/sync/sync.ts +0 -0
@@ -0,0 +1,163 @@
1
+ // src/containers/SpacePresence/SpacePresence.tsx
2
+ import React, { forwardRef, useCallback, useEffect, useState } from "react";
3
+ import { useAtomCapability } from "@dxos/app-framework/ui";
4
+ import { generateName } from "@dxos/display-name";
5
+ import { Obj } from "@dxos/echo";
6
+ import { PublicKey } from "@dxos/react-client";
7
+ import { useMembers, useSpace } from "@dxos/react-client/echo";
8
+ import { useIdentity } from "@dxos/react-client/halo";
9
+ import { Avatar, List, ListItem, Popover, Tooltip, useDefaultValue, useTranslation } from "@dxos/react-ui";
10
+ import { AttentionGlyph, useAttention } from "@dxos/react-ui-attention";
11
+ import { ComplexMap, keyToFallback } from "@dxos/util";
12
+ import { meta } from "#meta";
13
+ import { SpaceCapabilities } from "#types";
14
+ var REFRESH_INTERVAL = 5e3;
15
+ var ACTIVITY_DURATION = 3e4;
16
+ var noViewers = new ComplexMap(PublicKey.hash);
17
+ var getName = (identity) => identity.profile?.displayName ?? generateName(identity.identityKey.toHex());
18
+ var SpacePresence = ({ object, spaceId }) => {
19
+ const ephemeral = useAtomCapability(SpaceCapabilities.EphemeralState);
20
+ const identity = useIdentity();
21
+ const db = Obj.getDatabase(object);
22
+ const space = useSpace(spaceId ?? db?.spaceId);
23
+ const spaceMembers = useMembers(spaceId ?? db?.spaceId);
24
+ const [_moment, setMoment] = useState(Date.now());
25
+ useEffect(() => {
26
+ const interval = setInterval(() => setMoment(Date.now()), REFRESH_INTERVAL);
27
+ return () => clearInterval(interval);
28
+ }, []);
29
+ const memberOnline = useCallback((member) => member.presence === 1, []);
30
+ const memberIsNotSelf = useCallback((member) => !identity?.identityKey.equals(member.identity.identityKey), [
31
+ identity?.identityKey
32
+ ]);
33
+ if (!identity || !ephemeral || !space) {
34
+ return null;
35
+ }
36
+ const currentObjectViewers = ephemeral.viewersByObject[Obj.getDXN(object).toString()] ?? noViewers;
37
+ const membersForObject = spaceMembers.filter((member) => memberOnline(member) && memberIsNotSelf(member)).filter((member) => currentObjectViewers.has(member.identity.identityKey)).map((member) => {
38
+ const objectView = currentObjectViewers.get(member.identity.identityKey);
39
+ const lastSeen = objectView?.lastSeen ?? -Infinity;
40
+ const currentlyAttended = objectView?.currentlyAttended ?? false;
41
+ return {
42
+ ...member,
43
+ currentlyAttended,
44
+ lastSeen
45
+ };
46
+ }).toSorted((a, b) => a.lastSeen - b.lastSeen);
47
+ return /* @__PURE__ */ React.createElement(FullPresence, {
48
+ members: membersForObject
49
+ });
50
+ };
51
+ var FullPresence = (props) => {
52
+ const { size = 9, onMemberClick } = props;
53
+ const members = useDefaultValue(props.members, () => []);
54
+ if (members.length === 0) {
55
+ return null;
56
+ }
57
+ return /* @__PURE__ */ React.createElement("div", {
58
+ className: "dx-avatar-group",
59
+ "data-testid": "spacePlugin.presence"
60
+ }, members.slice(0, 3).map((member, i) => /* @__PURE__ */ React.createElement(Tooltip.Trigger, {
61
+ key: member.identity.identityKey.toHex(),
62
+ side: "bottom",
63
+ content: getName(member.identity),
64
+ className: "grid focus:outline-hidden"
65
+ }, /* @__PURE__ */ React.createElement(PresenceAvatar, {
66
+ identity: member.identity,
67
+ match: member.currentlyAttended,
68
+ index: members.length - i,
69
+ onClick: () => onMemberClick?.(member),
70
+ size
71
+ }))), members.length > 3 && /* @__PURE__ */ React.createElement(Popover.Root, null, /* @__PURE__ */ React.createElement(Popover.Trigger, {
72
+ className: "grid focus:outline-hidden"
73
+ }, /* @__PURE__ */ React.createElement(Avatar.Root, null, /* @__PURE__ */ React.createElement(Avatar.Content, {
74
+ status: "inactive",
75
+ style: {
76
+ zIndex: members.length - 4
77
+ },
78
+ fallback: `+${members.length - 3}`,
79
+ size
80
+ }))), /* @__PURE__ */ React.createElement(Popover.Portal, null, /* @__PURE__ */ React.createElement(Popover.Content, {
81
+ side: "bottom"
82
+ }, /* @__PURE__ */ React.createElement(Popover.Arrow, null), /* @__PURE__ */ React.createElement(Popover.Viewport, {
83
+ classNames: "max-h-56"
84
+ }, /* @__PURE__ */ React.createElement(List, null, members.map((member) => /* @__PURE__ */ React.createElement(ListItem.Root, {
85
+ key: member.identity.identityKey.toHex(),
86
+ classNames: "flex gap-2 items-center cursor-pointer mb-2",
87
+ onClick: () => onMemberClick?.(member),
88
+ "data-testid": "identity-list-item"
89
+ }, /* @__PURE__ */ React.createElement(PresenceAvatar, {
90
+ identity: member.identity,
91
+ size,
92
+ showName: true,
93
+ match: member.currentlyAttended
94
+ })))))))));
95
+ };
96
+ var PresenceAvatar = /* @__PURE__ */ forwardRef(({ identity, showName, match, index, onClick, size }, forwardedRef) => {
97
+ const status = match ? "current" : "active";
98
+ const fallbackValue = keyToFallback(identity.identityKey);
99
+ return /* @__PURE__ */ React.createElement(Avatar.Root, null, /* @__PURE__ */ React.createElement(Avatar.Content, {
100
+ status,
101
+ hue: identity.profile?.data?.hue || fallbackValue.hue,
102
+ "data-testid": "spacePlugin.presence.member",
103
+ "data-status": status,
104
+ size,
105
+ ...index ? {
106
+ style: {
107
+ zIndex: index
108
+ }
109
+ } : {},
110
+ onClick,
111
+ fallback: identity.profile?.data?.emoji || fallbackValue.emoji,
112
+ ref: forwardedRef
113
+ }), /* @__PURE__ */ React.createElement(Avatar.Label, {
114
+ classNames: showName ? "text-sm truncate px-2" : "sr-only"
115
+ }, getName(identity)));
116
+ });
117
+ var SmallPresenceLive = ({ id, open, viewers }) => {
118
+ const { hasAttention, isAncestor, isRelated } = useAttention(id);
119
+ const attended = hasAttention || isRelated;
120
+ const containsAttended = isAncestor && !open;
121
+ const getActiveViewers = (viewers2) => {
122
+ const moment = Date.now();
123
+ return Array.from(viewers2.values()).filter((viewer) => moment - viewer.lastSeen < ACTIVITY_DURATION);
124
+ };
125
+ const [activeViewers, setActiveViewers] = useState(viewers ? getActiveViewers(viewers) : []);
126
+ useEffect(() => {
127
+ if (viewers) {
128
+ setActiveViewers(getActiveViewers(viewers));
129
+ const interval = setInterval(() => {
130
+ setActiveViewers(getActiveViewers(viewers));
131
+ }, REFRESH_INTERVAL);
132
+ return () => clearInterval(interval);
133
+ }
134
+ }, [
135
+ viewers
136
+ ]);
137
+ return /* @__PURE__ */ React.createElement(SmallPresence, {
138
+ count: activeViewers.length,
139
+ attended,
140
+ containsAttended
141
+ });
142
+ };
143
+ var SmallPresence = ({ count = 0, attended, containsAttended }) => {
144
+ const { t } = useTranslation(meta.id);
145
+ return /* @__PURE__ */ React.createElement(Tooltip.Trigger, {
146
+ asChild: true,
147
+ content: t("presence.label", {
148
+ count
149
+ }),
150
+ side: "bottom"
151
+ }, /* @__PURE__ */ React.createElement(AttentionGlyph, {
152
+ attended,
153
+ containsAttended,
154
+ presence: count > 1 ? "many" : count === 1 ? "one" : "none",
155
+ classNames: "self-center mx-1"
156
+ }));
157
+ };
158
+
159
+ export {
160
+ SpacePresence,
161
+ SmallPresenceLive
162
+ };
163
+ //# sourceMappingURL=chunk-CTBIVBHJ.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/SpacePresence/SpacePresence.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { forwardRef, useCallback, useEffect, useState } from 'react';\n\nimport { useAtomCapability } from '@dxos/app-framework/ui';\nimport { generateName } from '@dxos/display-name';\nimport { type Key, Obj } from '@dxos/echo';\nimport { PublicKey } from '@dxos/react-client';\nimport { type SpaceMember, useMembers, useSpace } from '@dxos/react-client/echo';\nimport { type Identity, useIdentity } from '@dxos/react-client/halo';\nimport {\n Avatar,\n type AvatarContentProps,\n type DxAvatar,\n List,\n ListItem,\n Popover,\n type Size,\n type ThemedClassName,\n Tooltip,\n useDefaultValue,\n useTranslation,\n} from '@dxos/react-ui';\nimport { AttentionGlyph, type AttentionGlyphProps, useAttention } from '@dxos/react-ui-attention';\nimport { ComplexMap, keyToFallback } from '@dxos/util';\n\nimport { meta } from '#meta';\nimport { type ObjectViewerProps, SpaceCapabilities } from '#types';\n\n// TODO(thure): Get/derive these values from protocol\nconst REFRESH_INTERVAL = 5000;\nconst ACTIVITY_DURATION = 30_000;\n\n// TODO(thure): This is chiefly meant to satisfy TS & provide an empty map after `deepSignal` interactions.\nconst noViewers = new ComplexMap<PublicKey, ObjectViewerProps>(PublicKey.hash);\n\n// TODO(wittjosiah): Factor out?\nconst getName = (identity: Identity) => identity.profile?.displayName ?? generateName(identity.identityKey.toHex());\n\nexport type SpacePresenceProps = {\n object: Obj.Unknown;\n spaceId?: Key.SpaceId;\n};\n\nexport const SpacePresence = ({ object, spaceId }: SpacePresenceProps) => {\n const ephemeral = useAtomCapability(SpaceCapabilities.EphemeralState);\n const identity = useIdentity();\n const db = Obj.getDatabase(object);\n const space = useSpace(spaceId ?? db?.spaceId);\n const spaceMembers = useMembers(spaceId ?? db?.spaceId);\n\n const [_moment, setMoment] = useState(Date.now());\n\n // NOTE(thure): This is necessary so Presence updates without any underlying data updating.\n useEffect(() => {\n const interval = setInterval(() => setMoment(Date.now()), REFRESH_INTERVAL);\n return () => clearInterval(interval);\n }, []);\n\n const memberOnline = useCallback((member: SpaceMember) => member.presence === 1, []);\n const memberIsNotSelf = useCallback(\n (member: SpaceMember) => !identity?.identityKey.equals(member.identity.identityKey),\n [identity?.identityKey],\n );\n\n // TODO(thure): Could it be a smell to return early when there are interactions with `deepSignal` later, since it\n // prevents reactivity?\n if (!identity || !ephemeral || !space) {\n return null;\n }\n\n const currentObjectViewers = ephemeral.viewersByObject[Obj.getDXN(object).toString()] ?? noViewers;\n\n const membersForObject = spaceMembers\n .filter((member) => memberOnline(member) && memberIsNotSelf(member))\n .filter((member) => currentObjectViewers.has(member.identity.identityKey))\n .map((member) => {\n const objectView = currentObjectViewers.get(member.identity.identityKey);\n const lastSeen = objectView?.lastSeen ?? -Infinity;\n const currentlyAttended = objectView?.currentlyAttended ?? false;\n\n return {\n ...member,\n currentlyAttended,\n lastSeen,\n };\n })\n .toSorted((a, b) => a.lastSeen - b.lastSeen);\n\n return <FullPresence members={membersForObject} />;\n};\n\nexport type Member = SpaceMember & {\n /**\n * Last time a member was seen on this object.\n */\n lastSeen: number;\n currentlyAttended: boolean;\n};\n\nexport type MemberPresenceProps = ThemedClassName<{\n size?: Size;\n members?: Member[];\n showCount?: boolean;\n onMemberClick?: (member: Member) => void;\n}>;\n\nexport const FullPresence = (props: MemberPresenceProps) => {\n const { size = 9, onMemberClick } = props;\n const members = useDefaultValue(props.members, () => []);\n\n if (members.length === 0) {\n return null;\n }\n\n return (\n <div className='dx-avatar-group' data-testid='spacePlugin.presence'>\n {members.slice(0, 3).map((member, i) => (\n <Tooltip.Trigger\n key={member.identity.identityKey.toHex()}\n side='bottom'\n content={getName(member.identity)}\n className='grid focus:outline-hidden'\n >\n <PresenceAvatar\n identity={member.identity}\n match={member.currentlyAttended} // TODO(Zan): Match always true now we're showing 'members viewing current object'.\n index={members.length - i}\n onClick={() => onMemberClick?.(member)}\n size={size}\n />\n </Tooltip.Trigger>\n ))}\n\n {members.length > 3 && (\n <Popover.Root>\n <Popover.Trigger className='grid focus:outline-hidden'>\n <Avatar.Root>\n {/* TODO(wittjosiah): Make text fit. */}\n <Avatar.Content\n status='inactive'\n style={{ zIndex: members.length - 4 }}\n fallback={`+${members.length - 3}`}\n size={size}\n />\n </Avatar.Root>\n </Popover.Trigger>\n <Popover.Portal>\n <Popover.Content side='bottom'>\n <Popover.Arrow />\n <Popover.Viewport classNames='max-h-56'>\n <List>\n {members.map((member) => (\n <ListItem.Root\n key={member.identity.identityKey.toHex()}\n classNames='flex gap-2 items-center cursor-pointer mb-2'\n onClick={() => onMemberClick?.(member)}\n data-testid='identity-list-item'\n >\n {/* TODO(Zan): Match always true now we're showing 'members viewing current object'. */}\n <PresenceAvatar\n identity={member.identity}\n size={size}\n showName\n match={member.currentlyAttended}\n />\n </ListItem.Root>\n ))}\n </List>\n </Popover.Viewport>\n </Popover.Content>\n </Popover.Portal>\n </Popover.Root>\n )}\n </div>\n );\n};\n\ntype PresenceAvatarProps = Pick<AvatarContentProps, 'size'> & {\n identity: Identity;\n showName?: boolean;\n match?: boolean;\n index?: number;\n onClick?: () => void;\n};\n\nconst PresenceAvatar = forwardRef<DxAvatar, PresenceAvatarProps>(\n ({ identity, showName, match, index, onClick, size }, forwardedRef) => {\n const status = match ? 'current' : 'active';\n const fallbackValue = keyToFallback(identity.identityKey);\n return (\n <Avatar.Root>\n <Avatar.Content\n status={status}\n hue={identity.profile?.data?.hue || fallbackValue.hue}\n data-testid='spacePlugin.presence.member'\n data-status={status}\n size={size}\n {...(index ? { style: { zIndex: index } } : {})}\n onClick={onClick}\n fallback={identity.profile?.data?.emoji || fallbackValue.emoji}\n ref={forwardedRef}\n />\n <Avatar.Label classNames={showName ? 'text-sm truncate px-2' : 'sr-only'}>{getName(identity)}</Avatar.Label>\n </Avatar.Root>\n );\n },\n);\n\nexport type SmallPresenceLiveProps = {\n id?: string;\n open?: boolean;\n viewers?: ComplexMap<PublicKey, ObjectViewerProps>;\n};\n\nexport const SmallPresenceLive = ({ id, open, viewers }: SmallPresenceLiveProps) => {\n const { hasAttention, isAncestor, isRelated } = useAttention(id);\n const attended = hasAttention || isRelated;\n const containsAttended = isAncestor && !open;\n const getActiveViewers = (viewers: ComplexMap<PublicKey, ObjectViewerProps>): ObjectViewerProps[] => {\n const moment = Date.now();\n return Array.from<ObjectViewerProps>(viewers.values()).filter(\n (viewer) => moment - viewer.lastSeen < ACTIVITY_DURATION,\n );\n };\n\n const [activeViewers, setActiveViewers] = useState(viewers ? getActiveViewers(viewers) : []);\n\n useEffect(() => {\n if (viewers) {\n setActiveViewers(getActiveViewers(viewers));\n const interval = setInterval(() => {\n setActiveViewers(getActiveViewers(viewers));\n }, REFRESH_INTERVAL);\n return () => clearInterval(interval);\n }\n }, [viewers]);\n\n return <SmallPresence count={activeViewers.length} attended={attended} containsAttended={containsAttended} />;\n};\n\nexport type SmallPresenceProps = {\n count?: number;\n} & Pick<AttentionGlyphProps, 'attended' | 'containsAttended'>;\n\nexport const SmallPresence = ({ count = 0, attended, containsAttended }: SmallPresenceProps) => {\n const { t } = useTranslation(meta.id);\n\n return (\n <Tooltip.Trigger asChild content={t('presence.label', { count })} side='bottom'>\n <AttentionGlyph\n attended={attended}\n containsAttended={containsAttended}\n presence={count > 1 ? 'many' : count === 1 ? 'one' : 'none'}\n classNames='self-center mx-1'\n />\n </Tooltip.Trigger>\n );\n};\n"],
5
+ "mappings": ";AAIA,OAAOA,SAASC,YAAYC,aAAaC,WAAWC,gBAAgB;AAEpE,SAASC,yBAAyB;AAClC,SAASC,oBAAoB;AAC7B,SAAmBC,WAAW;AAC9B,SAASC,iBAAiB;AAC1B,SAA2BC,YAAYC,gBAAgB;AACvD,SAAwBC,mBAAmB;AAC3C,SACEC,QAGAC,MACAC,UACAC,SAGAC,SACAC,iBACAC,sBACK;AACP,SAASC,gBAA0CC,oBAAoB;AACvE,SAASC,YAAYC,qBAAqB;AAE1C,SAASC,YAAY;AACrB,SAAiCC,yBAAyB;AAG1D,IAAMC,mBAAmB;AACzB,IAAMC,oBAAoB;AAG1B,IAAMC,YAAY,IAAIN,WAAyCb,UAAUoB,IAAI;AAG7E,IAAMC,UAAU,CAACC,aAAuBA,SAASC,SAASC,eAAe1B,aAAawB,SAASG,YAAYC,MAAK,CAAA;AAOzG,IAAMC,gBAAgB,CAAC,EAAEC,QAAQC,QAAO,MAAsB;AACnE,QAAMC,YAAYjC,kBAAkBmB,kBAAkBe,cAAc;AACpE,QAAMT,WAAWnB,YAAAA;AACjB,QAAM6B,KAAKjC,IAAIkC,YAAYL,MAAAA;AAC3B,QAAMM,QAAQhC,SAAS2B,WAAWG,IAAIH,OAAAA;AACtC,QAAMM,eAAelC,WAAW4B,WAAWG,IAAIH,OAAAA;AAE/C,QAAM,CAACO,SAASC,SAAAA,IAAazC,SAAS0C,KAAKC,IAAG,CAAA;AAG9C5C,YAAU,MAAA;AACR,UAAM6C,WAAWC,YAAY,MAAMJ,UAAUC,KAAKC,IAAG,CAAA,GAAKtB,gBAAAA;AAC1D,WAAO,MAAMyB,cAAcF,QAAAA;EAC7B,GAAG,CAAA,CAAE;AAEL,QAAMG,eAAejD,YAAY,CAACkD,WAAwBA,OAAOC,aAAa,GAAG,CAAA,CAAE;AACnF,QAAMC,kBAAkBpD,YACtB,CAACkD,WAAwB,CAACtB,UAAUG,YAAYsB,OAAOH,OAAOtB,SAASG,WAAW,GAClF;IAACH,UAAUG;GAAY;AAKzB,MAAI,CAACH,YAAY,CAACQ,aAAa,CAACI,OAAO;AACrC,WAAO;EACT;AAEA,QAAMc,uBAAuBlB,UAAUmB,gBAAgBlD,IAAImD,OAAOtB,MAAAA,EAAQuB,SAAQ,CAAA,KAAOhC;AAEzF,QAAMiC,mBAAmBjB,aACtBkB,OAAO,CAACT,WAAWD,aAAaC,MAAAA,KAAWE,gBAAgBF,MAAAA,CAAAA,EAC3DS,OAAO,CAACT,WAAWI,qBAAqBM,IAAIV,OAAOtB,SAASG,WAAW,CAAA,EACvE8B,IAAI,CAACX,WAAAA;AACJ,UAAMY,aAAaR,qBAAqBS,IAAIb,OAAOtB,SAASG,WAAW;AACvE,UAAMiC,WAAWF,YAAYE,YAAY;AACzC,UAAMC,oBAAoBH,YAAYG,qBAAqB;AAE3D,WAAO;MACL,GAAGf;MACHe;MACAD;IACF;EACF,CAAA,EACCE,SAAS,CAACC,GAAGC,MAAMD,EAAEH,WAAWI,EAAEJ,QAAQ;AAE7C,SAAO,sBAAA,cAACK,cAAAA;IAAaC,SAASZ;;AAChC;AAiBO,IAAMW,eAAe,CAACE,UAAAA;AAC3B,QAAM,EAAEC,OAAO,GAAGC,cAAa,IAAKF;AACpC,QAAMD,UAAUvD,gBAAgBwD,MAAMD,SAAS,MAAM,CAAA,CAAE;AAEvD,MAAIA,QAAQI,WAAW,GAAG;AACxB,WAAO;EACT;AAEA,SACE,sBAAA,cAACC,OAAAA;IAAIC,WAAU;IAAkBC,eAAY;KAC1CP,QAAQQ,MAAM,GAAG,CAAA,EAAGjB,IAAI,CAACX,QAAQ6B,MAChC,sBAAA,cAACjE,QAAQkE,SAAO;IACdC,KAAK/B,OAAOtB,SAASG,YAAYC,MAAK;IACtCkD,MAAK;IACLC,SAASxD,QAAQuB,OAAOtB,QAAQ;IAChCgD,WAAU;KAEV,sBAAA,cAACQ,gBAAAA;IACCxD,UAAUsB,OAAOtB;IACjByD,OAAOnC,OAAOe;IACdqB,OAAOhB,QAAQI,SAASK;IACxBQ,SAAS,MAAMd,gBAAgBvB,MAAAA;IAC/BsB;QAKLF,QAAQI,SAAS,KAChB,sBAAA,cAAC7D,QAAQ2E,MAAI,MACX,sBAAA,cAAC3E,QAAQmE,SAAO;IAACJ,WAAU;KACzB,sBAAA,cAAClE,OAAO8E,MAAI,MAEV,sBAAA,cAAC9E,OAAO+E,SAAO;IACbC,QAAO;IACPC,OAAO;MAAEC,QAAQtB,QAAQI,SAAS;IAAE;IACpCmB,UAAU,IAAIvB,QAAQI,SAAS,CAAA;IAC/BF;QAIN,sBAAA,cAAC3D,QAAQiF,QAAM,MACb,sBAAA,cAACjF,QAAQ4E,SAAO;IAACP,MAAK;KACpB,sBAAA,cAACrE,QAAQkF,OAAK,IAAA,GACd,sBAAA,cAAClF,QAAQmF,UAAQ;IAACC,YAAW;KAC3B,sBAAA,cAACtF,MAAAA,MACE2D,QAAQT,IAAI,CAACX,WACZ,sBAAA,cAACtC,SAAS4E,MAAI;IACZP,KAAK/B,OAAOtB,SAASG,YAAYC,MAAK;IACtCiE,YAAW;IACXV,SAAS,MAAMd,gBAAgBvB,MAAAA;IAC/B2B,eAAY;KAGZ,sBAAA,cAACO,gBAAAA;IACCxD,UAAUsB,OAAOtB;IACjB4C;IACA0B,UAAAA;IACAb,OAAOnC,OAAOe;;AAYtC;AAUA,IAAMmB,iBAAiBrF,2BACrB,CAAC,EAAE6B,UAAUsE,UAAUb,OAAOC,OAAOC,SAASf,KAAI,GAAI2B,iBAAAA;AACpD,QAAMT,SAASL,QAAQ,YAAY;AACnC,QAAMe,gBAAgBhF,cAAcQ,SAASG,WAAW;AACxD,SACE,sBAAA,cAACrB,OAAO8E,MAAI,MACV,sBAAA,cAAC9E,OAAO+E,SAAO;IACbC;IACAW,KAAKzE,SAASC,SAASyE,MAAMD,OAAOD,cAAcC;IAClDxB,eAAY;IACZ0B,eAAab;IACblB;IACC,GAAIc,QAAQ;MAAEK,OAAO;QAAEC,QAAQN;MAAM;IAAE,IAAI,CAAC;IAC7CC;IACAM,UAAUjE,SAASC,SAASyE,MAAME,SAASJ,cAAcI;IACzDC,KAAKN;MAEP,sBAAA,cAACzF,OAAOgG,OAAK;IAACT,YAAYC,WAAW,0BAA0B;KAAYvE,QAAQC,QAAAA,CAAAA,CAAAA;AAGzF,CAAA;AASK,IAAM+E,oBAAoB,CAAC,EAAEC,IAAIC,MAAMC,QAAO,MAA0B;AAC7E,QAAM,EAAEC,cAAcC,YAAYC,UAAS,IAAK/F,aAAa0F,EAAAA;AAC7D,QAAMM,WAAWH,gBAAgBE;AACjC,QAAME,mBAAmBH,cAAc,CAACH;AACxC,QAAMO,mBAAmB,CAACN,aAAAA;AACxB,UAAMO,SAASzE,KAAKC,IAAG;AACvB,WAAOyE,MAAMC,KAAwBT,SAAQU,OAAM,CAAA,EAAI7D,OACrD,CAAC8D,WAAWJ,SAASI,OAAOzD,WAAWxC,iBAAAA;EAE3C;AAEA,QAAM,CAACkG,eAAeC,gBAAAA,IAAoBzH,SAAS4G,UAAUM,iBAAiBN,OAAAA,IAAW,CAAA,CAAE;AAE3F7G,YAAU,MAAA;AACR,QAAI6G,SAAS;AACXa,uBAAiBP,iBAAiBN,OAAAA,CAAAA;AAClC,YAAMhE,WAAWC,YAAY,MAAA;AAC3B4E,yBAAiBP,iBAAiBN,OAAAA,CAAAA;MACpC,GAAGvF,gBAAAA;AACH,aAAO,MAAMyB,cAAcF,QAAAA;IAC7B;EACF,GAAG;IAACgE;GAAQ;AAEZ,SAAO,sBAAA,cAACc,eAAAA;IAAcC,OAAOH,cAAchD;IAAQwC;IAAoBC;;AACzE;AAMO,IAAMS,gBAAgB,CAAC,EAAEC,QAAQ,GAAGX,UAAUC,iBAAgB,MAAsB;AACzF,QAAM,EAAEW,EAAC,IAAK9G,eAAeK,KAAKuF,EAAE;AAEpC,SACE,sBAAA,cAAC9F,QAAQkE,SAAO;IAAC+C,SAAAA;IAAQ5C,SAAS2C,EAAE,kBAAkB;MAAED;IAAM,CAAA;IAAI3C,MAAK;KACrE,sBAAA,cAACjE,gBAAAA;IACCiG;IACAC;IACAhE,UAAU0E,QAAQ,IAAI,SAASA,UAAU,IAAI,QAAQ;IACrD5B,YAAW;;AAInB;",
6
+ "names": ["React", "forwardRef", "useCallback", "useEffect", "useState", "useAtomCapability", "generateName", "Obj", "PublicKey", "useMembers", "useSpace", "useIdentity", "Avatar", "List", "ListItem", "Popover", "Tooltip", "useDefaultValue", "useTranslation", "AttentionGlyph", "useAttention", "ComplexMap", "keyToFallback", "meta", "SpaceCapabilities", "REFRESH_INTERVAL", "ACTIVITY_DURATION", "noViewers", "hash", "getName", "identity", "profile", "displayName", "identityKey", "toHex", "SpacePresence", "object", "spaceId", "ephemeral", "EphemeralState", "db", "getDatabase", "space", "spaceMembers", "_moment", "setMoment", "Date", "now", "interval", "setInterval", "clearInterval", "memberOnline", "member", "presence", "memberIsNotSelf", "equals", "currentObjectViewers", "viewersByObject", "getDXN", "toString", "membersForObject", "filter", "has", "map", "objectView", "get", "lastSeen", "currentlyAttended", "toSorted", "a", "b", "FullPresence", "members", "props", "size", "onMemberClick", "length", "div", "className", "data-testid", "slice", "i", "Trigger", "key", "side", "content", "PresenceAvatar", "match", "index", "onClick", "Root", "Content", "status", "style", "zIndex", "fallback", "Portal", "Arrow", "Viewport", "classNames", "showName", "forwardedRef", "fallbackValue", "hue", "data", "data-status", "emoji", "ref", "Label", "SmallPresenceLive", "id", "open", "viewers", "hasAttention", "isAncestor", "isRelated", "attended", "containsAttended", "getActiveViewers", "moment", "Array", "from", "values", "viewer", "activeViewers", "setActiveViewers", "SmallPresence", "count", "t", "asChild"]
7
+ }
@@ -7,10 +7,13 @@ var meta = {
7
7
  Core workspace container system for organizing and sharing collaborative environments.
8
8
  Create, manage, and share spaces with granular access control and invitation management.
9
9
  `,
10
- icon: "ph--planet--regular"
10
+ icon: "ph--planet--regular",
11
+ tags: [
12
+ "system"
13
+ ]
11
14
  };
12
15
 
13
16
  export {
14
17
  meta
15
18
  };
16
- //# sourceMappingURL=chunk-5CKPBXLB.mjs.map
19
+ //# sourceMappingURL=chunk-EDP4XO2G.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/meta.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'org.dxos.plugin.space',\n name: 'Spaces',\n description: trim`\n Core workspace container system for organizing and sharing collaborative environments.\n Create, manage, and share spaces with granular access control and invitation management.\n `,\n icon: 'ph--planet--regular',\n};\n"],
5
- "mappings": ";AAKA,SAASA,YAAY;AAEd,IAAMC,OAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,aAAaC;;;;EAIbC,MAAM;AACR;",
6
- "names": ["trim", "meta", "id", "name", "description", "trim", "icon"]
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'org.dxos.plugin.space',\n name: 'Spaces',\n description: trim`\n Core workspace container system for organizing and sharing collaborative environments.\n Create, manage, and share spaces with granular access control and invitation management.\n `,\n icon: 'ph--planet--regular',\n tags: ['system'],\n};\n"],
5
+ "mappings": ";AAKA,SAASA,YAAY;AAEd,IAAMC,OAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,aAAaJ;;;;EAIbK,MAAM;EACNC,MAAM;IAAC;;AACT;",
6
+ "names": ["trim", "meta", "id", "name", "description", "icon", "tags"]
7
7
  }
@@ -5,4 +5,4 @@ var SpaceOperationConfig = Capability.make("org.dxos.plugin.space.operation-conf
5
5
  export {
6
6
  SpaceOperationConfig
7
7
  };
8
- //# sourceMappingURL=chunk-JH2UWMN2.mjs.map
8
+ //# sourceMappingURL=chunk-JHZGRYGS.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/operations/helpers.ts"],
4
4
  "sourcesContent": ["// Copyright 2025 DXOS.org\n\nimport { Capability } from '@dxos/app-framework';\n\nexport type SpaceOperationConfig = {\n createInvitationUrl: (invitationCode: string) => string;\n observability: boolean;\n};\n\nexport const SpaceOperationConfig = Capability.make<SpaceOperationConfig>('org.dxos.plugin.space.operation-config');\n"],
5
- "mappings": ";AAEA,SAASA,kBAAkB;AAOpB,IAAMC,uBAAuBC,WAAWC,KAA2B,wCAAA;",
6
- "names": ["Capability", "SpaceOperationConfig", "Capability", "make"]
5
+ "mappings": ";AAEA,SAASA,kBAAkB;AAOpB,IAAMC,uBAAuBD,WAAWE,KAA2B,wCAAA;",
6
+ "names": ["Capability", "SpaceOperationConfig", "make"]
7
7
  }
@@ -21,6 +21,7 @@ import { meta } from "#meta";
21
21
  SpaceCapabilities2.OnCreateSpace = Capability.make(`${meta.id}.capability.on-space-created`);
22
22
  SpaceCapabilities2.OnSchemaAdded = Capability.make(`${meta.id}.capability.on-schema-added`);
23
23
  SpaceCapabilities2.Repair = Capability.make(`${meta.id}.capability.repair`);
24
+ SpaceCapabilities2.CreateObjectEntry = Capability.make(`${meta.id}.capability.create-object`);
24
25
  })(SpaceCapabilities || (SpaceCapabilities = {}));
25
26
  var SpaceCapabilities;
26
27
 
@@ -60,6 +61,7 @@ var Settings = Schema2.mutable(Schema2.Struct({
60
61
  // src/types/types.ts
61
62
  var SPACE_DIRECTORY_HANDLE = `${meta3.id}.directory`;
62
63
  var SPACE_TYPE = "org.dxos.type.space";
64
+ var SETTINGS_SECTION_TYPE = `${meta3.id}.settings`;
63
65
  var SHARED = "shared-spaces";
64
66
  var IconAnnotationId = /* @__PURE__ */ Symbol.for("@dxos/plugin-space/annotation/Icon");
65
67
  var HueAnnotationId = /* @__PURE__ */ Symbol.for("@dxos/plugin-space/annotation/Hue");
@@ -90,9 +92,10 @@ export {
90
92
  Settings_exports,
91
93
  SPACE_DIRECTORY_HANDLE,
92
94
  SPACE_TYPE,
95
+ SETTINGS_SECTION_TYPE,
93
96
  SHARED,
94
97
  IconAnnotationId,
95
98
  HueAnnotationId,
96
99
  SpaceForm
97
100
  };
98
- //# sourceMappingURL=chunk-FBRDXXNK.mjs.map
101
+ //# sourceMappingURL=chunk-K2XBM3E3.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/capabilities.ts", "../../../src/types/events.ts", "../../../src/types/form.ts", "../../../src/types/types.ts", "../../../src/types/Settings.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Atom } from '@effect-atom/atom-react';\nimport type * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\nimport type { ComponentType } from 'react';\n\nimport { Capability } from '@dxos/app-framework';\nimport { type Space } from '@dxos/client/echo';\nimport { type Operation } from '@dxos/compute';\nimport { type Collection, type Database } from '@dxos/echo';\nimport { type PublicKey } from '@dxos/keys';\nimport { type Label } from '@dxos/ui-types/translations';\nimport { type ComplexMap, type Position } from '@dxos/util';\n\nimport { meta } from '#meta';\n\nimport * as Settings from './Settings';\nimport { type CreateObject, type ObjectViewerProps } from './types';\n\nexport namespace SpaceCapabilities {\n export const Settings = Capability.make<Atom.Writable<Settings.Settings>>(`${meta.id}.capability.settings`);\n\n /** Schema for persisted space plugin state. */\n export const StateSchema = Schema.mutable(\n Schema.Struct({\n spaceNames: Schema.Record({ key: Schema.String, value: Schema.String }),\n enabledEdgeReplication: Schema.Boolean,\n }),\n );\n\n export type SpaceState = Schema.Schema.Type<typeof StateSchema>;\n\n /** Persisted state (stored in KVS/localStorage). */\n export const State = Capability.make<Atom.Writable<SpaceState>>(`${meta.id}.capability.state`);\n\n /** Ephemeral space plugin state (not persisted). */\n export type SpaceEphemeralState = {\n awaiting: string | undefined;\n sdkMigrationRunning: Record<string, boolean>;\n navigableCollections: boolean;\n viewersByObject: Record<string, ComplexMap<PublicKey, ObjectViewerProps>>;\n viewersByIdentity: ComplexMap<PublicKey, Set<string>>;\n };\n\n /** Transient/ephemeral state (not persisted). */\n export const EphemeralState = Capability.make<Atom.Writable<SpaceEphemeralState>>(\n `${meta.id}.capability.ephemeral-state`,\n );\n\n export type SettingsSection = { id: string; label: Label; position?: Position };\n export const SettingsSection = Capability.make<SettingsSection>(`${meta.id}.capability.settings-section`);\n\n export type OnCreateSpace = (params: {\n space: Space;\n isDefault: boolean;\n rootCollection: Collection.Collection;\n }) => Effect.Effect<void, Error, Operation.Service>;\n export const OnCreateSpace = Capability.make<OnCreateSpace>(`${meta.id}.capability.on-space-created`);\n\n export type OnSchemaAdded = (params: {\n db: Database.Database;\n schema: Schema.Schema.AnyNoContext;\n // TODO(wittjosiah): This is leaky.\n show?: boolean;\n }) => Effect.Effect<void, Error, Operation.Service>;\n export const OnSchemaAdded = Capability.make<OnSchemaAdded>(`${meta.id}.capability.on-schema-added`);\n\n // TODO(wittjosiah): Replace with migrations, this is not a sustainable solution.\n export type HandleRepair = (params: { space: Space; isDefault: boolean }) => Promise<void>;\n export const Repair = Capability.make<HandleRepair>(`${meta.id}.capability.repair`);\n\n /** Typed creation entry contributed per typename by plugins that support creating objects. */\n export type CreateObjectEntry = Readonly<{\n id: string;\n createObject: CreateObject;\n inputSchema?: Schema.Schema.AnyNoContext;\n /**\n * Optional custom React panel rendered in place of the default `inputSchema` form.\n * Lets a plugin own the entire post-typename-selection flow (e.g. multi-stage forms).\n * `onCreateObject` receives the collected data and triggers the same submit flow.\n */\n customPanel?: ComponentType<CreateObjectCustomPanelProps>;\n }>;\n export const CreateObjectEntry = Capability.make<CreateObjectEntry>(`${meta.id}.capability.create-object`);\n\n /** Props passed to a `CreateObjectEntry.customPanel`. */\n export type CreateObjectCustomPanelProps = {\n target: Database.Database | Collection.Collection;\n initialFormValues?: Record<string, any>;\n onCreateObject: (data: Record<string, any>) => void | Promise<void>;\n };\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { ActivationEvent } from '@dxos/app-framework';\nimport { AppActivationEvents } from '@dxos/app-toolkit';\n\nimport { meta } from '#meta';\n\nexport namespace SpaceEvents {\n export const StateReady = AppActivationEvents.createStateEvent(`${meta.id}.event.state-ready`);\n export const SetupSettingsPanel = ActivationEvent.make(`${meta.id}.event.setup-settings-panel`);\n export const PersonalSpaceReady = ActivationEvent.make(`${meta.id}.event.default-space-ready`);\n export const SpaceCreated = ActivationEvent.make(`${meta.id}.event.space-created`);\n export const SchemaAdded = ActivationEvent.make(`${meta.id}.event.schema-added`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nexport {\n getTypenames,\n TypeInputOptions,\n TypeInputOptionsAnnotation,\n TypeInputOptionsAnnotationId,\n} from '@dxos/app-toolkit';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { type PublicKey } from '@dxos/client';\nimport { Operation } from '@dxos/compute';\nimport { Collection, Database, Obj } from '@dxos/echo';\nimport { type ComplexMap } from '@dxos/util';\n\nimport { meta } from '#meta';\n\nexport * as Settings from './Settings';\n\nexport const SPACE_DIRECTORY_HANDLE = `${meta.id}.directory`;\n\nexport const SPACE_TYPE = 'org.dxos.type.space';\n\n/** Type for the per-space virtual \"Settings\" section that groups settings panels. */\nexport const SETTINGS_SECTION_TYPE = `${meta.id}.settings`;\n\n/** Key for the Expando that stores cross-space ordering (must stay stable for persisted data). */\nexport const SHARED = 'shared-spaces';\n\nexport type SpacePluginOptions = {\n /**\n * Origin used for shareable links (object copy-link and invitation base).\n * Defaults to window.location.origin.\n */\n shareableLinkOrigin?: string;\n\n /**\n * Path appended to shareableLinkOrigin to form the invitation base URL.\n * Defaults to '/'.\n */\n invitationPath?: string;\n\n /**\n * Query parameter name for the invitation code.\n */\n invitationProp?: string;\n\n /**\n * Whether to send observability events.\n */\n observability?: boolean;\n};\n\nexport type ObjectViewerProps = {\n lastSeen: number;\n currentlyAttended: boolean;\n};\n\nexport type ObjectId = string;\n\nexport type PluginState = {\n /**\n * Which objects are currently being viewed by which peers.\n */\n viewersByObject: Record<ObjectId, ComplexMap<PublicKey, ObjectViewerProps>>;\n\n /**\n * Which peers are currently viewing which objects.\n */\n viewersByIdentity: ComplexMap<PublicKey, Set<ObjectId>>;\n\n /**\n * Object that was linked to directly but not found and is being awaited.\n */\n awaiting: string | undefined;\n\n /**\n * Cached space names, used when spaces are closed or loading.\n */\n spaceNames: Record<string, string>;\n\n /**\n * Which spaces have an SDK migration running currently.\n */\n // TODO(wittjosiah): Factor out to sdk. Migration running should probably be a space state.\n sdkMigrationRunning: Record<string, boolean>;\n\n /**\n * Whether or not the user can navigate to collections in the graph.\n * Determined by whether or not there is an available plugin that can render a collection.\n */\n navigableCollections: boolean;\n\n /**\n * Tracks whether setting edge replication as default has been run on spaces.\n */\n // TODO(wittjosiah): Systematic way to handle migrations of state outside of spaces.\n enabledEdgeReplication: boolean;\n};\n\n// TODO(wittjosiah): Reconcile with graph export serializers.\n\nexport type SerializerMap = Record<string, TypedObjectSerializer>;\n\nexport interface TypedObjectSerializer<T extends Obj.Unknown = Obj.Unknown> {\n serialize(params: { object: T }): Promise<string>;\n\n /**\n * @param params.content\n * @param params.space Space to use for deserializing schema references.\n * @param params.newId Generate new ID for deserialized object.\n */\n deserialize(params: { content: string; db: Database.Database; newId?: boolean }): Promise<T>;\n}\n\n/**\n * Result of creating and adding an object.\n */\nexport type CreateObjectResult = {\n id: string;\n subject: readonly string[];\n object: Obj.Unknown;\n};\n\n/**\n * Factory function that creates an object and adds it to a target (database or collection).\n * Returns an Effect that resolves to the created object result with navigation subject.\n */\nexport type CreateObject = (\n props: any,\n options: {\n db: Database.Database;\n target: Database.Database | Collection.Collection;\n targetNodeId?: string;\n },\n) => Effect.Effect<CreateObjectResult, Error, Capability.Service | Operation.Service>;\n\n// TODO(burdon): Move to FormatEnum or SDK.\nexport const IconAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Icon');\nexport const HueAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Hue');\n\n// TOOD(burdon): Use SpacePropertiesSchema.\nexport const SpaceForm = Schema.Struct({\n name: Schema.optional(Schema.String.annotations({ title: 'Name' })),\n icon: Schema.optional(Schema.String.annotations({ title: 'Icon', [IconAnnotationId]: true })),\n hue: Schema.optional(Schema.String.annotations({ title: 'Color', [HueAnnotationId]: true })),\n edgeReplication: Schema.optional(Schema.Boolean.annotations({ title: 'Enable EDGE Replication' })),\n});\n", "//\n// Copyright 2023 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nexport const Settings = Schema.mutable(\n Schema.Struct({\n /**\n * Show closed spaces.\n */\n showHidden: Schema.Boolean,\n }),\n);\n\nexport interface Settings extends Schema.Schema.Type<typeof Settings> {}\n"],
5
+ "mappings": ";;;;;AAMA,YAAYA,YAAY;AAGxB,SAASC,kBAAkB;AAQ3B,SAASC,YAAY;UAKJC,oBAAAA;qBACFC,WAAWH,WAAWI,KAAuC,GAAGH,KAAKI,EAAE,sBAAsB;qBAG7FC,cAAqBC,eACzBC,cAAO;IACZC,YAAmBC,cAAO;MAAEC,KAAYC;MAAQC,OAAcD;IAAO,CAAA;IACrEE,wBAA+BC;EACjC,CAAA,CAAA;qBAMWC,QAAQhB,WAAWI,KAAgC,GAAGH,KAAKI,EAAE,mBAAmB;qBAYhFY,iBAAiBjB,WAAWI,KACvC,GAAGH,KAAKI,EAAE,6BAA6B;qBAI5Ba,kBAAkBlB,WAAWI,KAAsB,GAAGH,KAAKI,EAAE,8BAA8B;qBAO3Fc,gBAAgBnB,WAAWI,KAAoB,GAAGH,KAAKI,EAAE,8BAA8B;qBAQvFe,gBAAgBpB,WAAWI,KAAoB,GAAGH,KAAKI,EAAE,6BAA6B;qBAItFgB,SAASrB,WAAWI,KAAmB,GAAGH,KAAKI,EAAE,oBAAoB;qBAcrEiB,oBAAoBtB,WAAWI,KAAwB,GAAGH,KAAKI,EAAE,2BAA2B;AAQ3G,GAxEiBH,sBAAAA,oBAAAA,CAAAA,EAAAA;;;;AClBjB,SAASqB,uBAAuB;AAChC,SAASC,2BAA2B;AAEpC,SAASC,QAAAA,aAAY;UAEJC,cAAAA;eACFC,aAAaH,oBAAoBI,iBAAiB,GAAGH,MAAKI,EAAE,oBAAoB;eAChFC,qBAAqBP,gBAAgBQ,KAAK,GAAGN,MAAKI,EAAE,6BAA6B;eACjFG,qBAAqBT,gBAAgBQ,KAAK,GAAGN,MAAKI,EAAE,4BAA4B;eAChFI,eAAeV,gBAAgBQ,KAAK,GAAGN,MAAKI,EAAE,sBAAsB;eACpEK,cAAcX,gBAAgBQ,KAAK,GAAGN,MAAKI,EAAE,qBAAqB;AACjF,GANiBH,gBAAAA,cAAAA,CAAAA,EAAAA;;;;ACLjB,SACES,cACAC,kBACAC,4BACAC,oCACK;;;ACJP,YAAYC,aAAY;AAQxB,SAASC,QAAAA,aAAY;;;ACbrB;;;;AAMA,YAAYC,aAAY;AAEjB,IAAMC,WAAkBC,gBACtBC,eAAO;;;;EAIZC,YAAmBC;AACrB,CAAA,CAAA;;;ADGK,IAAMC,yBAAyB,GAAGC,MAAKC,EAAE;AAEzC,IAAMC,aAAa;AAGnB,IAAMC,wBAAwB,GAAGH,MAAKC,EAAE;AAGxC,IAAMG,SAAS;AA+Gf,IAAMC,mBAAmBC,uBAAOC,IAAI,oCAAA;AACpC,IAAMC,kBAAkBF,uBAAOC,IAAI,mCAAA;AAGnC,IAAME,YAAmBC,eAAO;EACrCC,MAAaC,iBAAgBC,eAAOC,YAAY;IAAEC,OAAO;EAAO,CAAA,CAAA;EAChEC,MAAaJ,iBAAgBC,eAAOC,YAAY;IAAEC,OAAO;IAAQ,CAACV,gBAAAA,GAAmB;EAAK,CAAA,CAAA;EAC1FY,KAAYL,iBAAgBC,eAAOC,YAAY;IAAEC,OAAO;IAAS,CAACP,eAAAA,GAAkB;EAAK,CAAA,CAAA;EACzFU,iBAAwBN,iBAAgBO,gBAAQL,YAAY;IAAEC,OAAO;EAA0B,CAAA,CAAA;AACjG,CAAA;",
6
+ "names": ["Schema", "Capability", "meta", "SpaceCapabilities", "Settings", "make", "id", "StateSchema", "mutable", "Struct", "spaceNames", "Record", "key", "String", "value", "enabledEdgeReplication", "Boolean", "State", "EphemeralState", "SettingsSection", "OnCreateSpace", "OnSchemaAdded", "Repair", "CreateObjectEntry", "ActivationEvent", "AppActivationEvents", "meta", "SpaceEvents", "StateReady", "createStateEvent", "id", "SetupSettingsPanel", "make", "PersonalSpaceReady", "SpaceCreated", "SchemaAdded", "getTypenames", "TypeInputOptions", "TypeInputOptionsAnnotation", "TypeInputOptionsAnnotationId", "Schema", "meta", "Schema", "Settings", "mutable", "Struct", "showHidden", "Boolean", "SPACE_DIRECTORY_HANDLE", "meta", "id", "SPACE_TYPE", "SETTINGS_SECTION_TYPE", "SHARED", "IconAnnotationId", "Symbol", "for", "HueAnnotationId", "SpaceForm", "Struct", "name", "optional", "String", "annotations", "title", "icon", "hue", "edgeReplication", "Boolean"]
7
+ }
@@ -1,14 +1,15 @@
1
1
  import {
2
2
  SpaceForm
3
- } from "./chunk-FBRDXXNK.mjs";
3
+ } from "./chunk-K2XBM3E3.mjs";
4
4
 
5
5
  // src/operations/definitions.ts
6
6
  import * as Schema from "effect/Schema";
7
7
  import { Capability, Plugin } from "@dxos/app-framework";
8
8
  import { SpaceSchema } from "@dxos/client/echo";
9
9
  import { CancellableInvitationObservable, Invitation } from "@dxos/client/invitations";
10
+ import { Operation } from "@dxos/compute";
10
11
  import { Collection, Database, Obj, QueryAST, Type, View } from "@dxos/echo";
11
- import { Operation } from "@dxos/operation";
12
+ import { SpaceArchive } from "@dxos/protocols/proto/dxos/client/services";
12
13
  import { meta } from "#meta";
13
14
  var COLLECTION_OPERATION = "org.dxos.plugin.collection.operation";
14
15
  (function(CollectionOperation2) {
@@ -173,9 +174,6 @@ var SPACE_OPERATION = `${meta.id}.operation`;
173
174
  indices: Schema.Array(Schema.Number).annotations({
174
175
  description: "The indices the objects were at."
175
176
  }),
176
- nestedObjectsList: Schema.Array(Schema.Array(Obj.Unknown)).annotations({
177
- description: "Nested objects that were removed."
178
- }),
179
177
  wasActive: Schema.Array(Schema.String).annotations({
180
178
  description: "IDs of objects that were active before removal."
181
179
  })
@@ -265,6 +263,52 @@ var SPACE_OPERATION = `${meta.id}.operation`;
265
263
  input: Schema.Void,
266
264
  output: Schema.Void
267
265
  });
266
+ SpaceOperation2.OpenImportSpace = Operation.make({
267
+ meta: {
268
+ key: `${SPACE_OPERATION}.open-import-space`,
269
+ name: "Open Import Space Dialog",
270
+ description: "Open the import space dialog to create a new space from a backup."
271
+ },
272
+ services: [
273
+ Capability.Service
274
+ ],
275
+ input: Schema.Void,
276
+ output: Schema.Void
277
+ });
278
+ SpaceOperation2.ImportSpace = Operation.make({
279
+ meta: {
280
+ key: `${SPACE_OPERATION}.import-space`,
281
+ name: "Import Space",
282
+ description: "Import a space archive as a new space."
283
+ },
284
+ services: [
285
+ Capability.Service
286
+ ],
287
+ input: Schema.Struct({
288
+ archive: Schema.Struct({
289
+ filename: Schema.String,
290
+ contents: Schema.instanceOf(Uint8Array)
291
+ })
292
+ }),
293
+ output: Schema.Struct({
294
+ space: SpaceSchema
295
+ })
296
+ });
297
+ SpaceOperation2.ExportSpace = Operation.make({
298
+ meta: {
299
+ key: `${SPACE_OPERATION}.export-space`,
300
+ name: "Export Space",
301
+ description: "Export a space as a backup and download the archive."
302
+ },
303
+ services: [
304
+ Capability.Service
305
+ ],
306
+ input: Schema.Struct({
307
+ space: SpaceSchema,
308
+ format: Schema.Enums(SpaceArchive.Format)
309
+ }),
310
+ output: Schema.Void
311
+ });
268
312
  SpaceOperation2.Migrate = Operation.make({
269
313
  meta: {
270
314
  key: `${SPACE_OPERATION}.migrate`,
@@ -470,9 +514,6 @@ var SPACE_OPERATION = `${meta.id}.operation`;
470
514
  indices: Schema.Array(Schema.Number).annotations({
471
515
  description: "The indices to restore at."
472
516
  }),
473
- nestedObjectsList: Schema.Array(Schema.Array(Obj.Unknown)).annotations({
474
- description: "Nested objects to restore."
475
- }),
476
517
  wasActive: Schema.Array(Schema.String).annotations({
477
518
  description: "IDs of objects that were active before deletion."
478
519
  })
@@ -484,6 +525,7 @@ var CollectionOperation;
484
525
  var SpaceOperation;
485
526
 
486
527
  export {
528
+ CollectionOperation,
487
529
  SpaceOperation
488
530
  };
489
- //# sourceMappingURL=chunk-BJAZV3HI.mjs.map
531
+ //# sourceMappingURL=chunk-MCL6D42P.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/operations/definitions.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Capability, Plugin } from '@dxos/app-framework';\nimport { SpaceSchema } from '@dxos/client/echo';\nimport { CancellableInvitationObservable, Invitation } from '@dxos/client/invitations';\nimport { Operation } from '@dxos/compute';\nimport { Collection, Database, Obj, QueryAST, Type, View } from '@dxos/echo';\nimport { SpaceArchive } from '@dxos/protocols/proto/dxos/client/services';\n\nimport { meta } from '#meta';\n\nimport { SpaceForm } from '../types';\n\nconst COLLECTION_OPERATION = 'org.dxos.plugin.collection.operation';\n\nexport namespace CollectionOperation {\n export const Create = Operation.make({\n meta: { key: `${COLLECTION_OPERATION}.create`, name: 'Create Collection' },\n services: [Capability.Service],\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: Collection.Collection,\n }),\n });\n}\n\nconst SPACE_OPERATION = `${meta.id}.operation`;\n\n/**\n * Operations for the Space plugin.\n */\nexport namespace SpaceOperation {\n export const Create = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}.create`,\n name: 'Create Space',\n description: 'Create a new space.',\n },\n services: [Capability.Service, Plugin.Service],\n input: SpaceForm,\n output: Schema.Struct({\n id: Schema.String,\n subject: Schema.Array(Schema.String),\n space: SpaceSchema,\n }),\n });\n\n export const Join = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}.join`,\n name: 'Join Space',\n description: 'Join a space via invitation.',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n invitationCode: Schema.optional(Schema.String),\n onDone: Schema.optional(Schema.Any),\n }),\n output: Schema.Void,\n });\n\n export const Open = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}.open`,\n name: 'Open Space',\n description: 'Open a space.',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n });\n\n export const Close = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}.close`,\n name: 'Close Space',\n description: 'Close a space.',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n });\n\n export const Share = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}.share`,\n name: 'Share Space',\n description: 'Share a space.',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n space: SpaceSchema,\n type: Schema.Enums(Invitation.Type),\n authMethod: Schema.Enums(Invitation.AuthMethod),\n multiUse: Schema.Boolean,\n target: Schema.optional(Schema.String),\n }),\n output: Schema.instanceOf(CancellableInvitationObservable),\n });\n\n export const OpenSettings = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}.open-settings`,\n name: 'Open Space Settings',\n description: 'Open space settings.',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n });\n\n export const WaitForObject = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}.wait-for-object`,\n name: 'Wait For Object',\n description: 'Wait for an object to be available.',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n id: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n });\n\n export const AddObject = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}.add-object`,\n name: 'Add Object',\n description: 'Add an object to a space.',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n object: Obj.Unknown.annotations({ description: 'The object to add.' }),\n target: Schema.Union(Database.Database, Collection.Collection).annotations({\n description: 'The database or collection to add to.',\n }),\n hidden: Schema.optional(Schema.Boolean),\n targetNodeId: Schema.optional(\n Schema.String.annotations({ description: 'Qualified graph node ID of the target collection.' }),\n ),\n }),\n output: Schema.Struct({\n id: Schema.String,\n subject: Schema.Array(Schema.String),\n object: Obj.Unknown,\n }),\n });\n\n export const RemoveObjectsOutput = Schema.Struct({\n objects: Schema.Array(Obj.Unknown).annotations({ description: 'The removed objects.' }),\n parentCollection: Collection.Collection.annotations({ description: 'The collection removed from.' }),\n indices: Schema.Array(Schema.Number).annotations({ description: 'The indices the objects were at.' }),\n wasActive: Schema.Array(Schema.String).annotations({\n description: 'IDs of objects that were active before removal.',\n }),\n });\n\n export type RemoveObjectsOutput = Schema.Schema.Type<typeof RemoveObjectsOutput>;\n\n export const RemoveObjects = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}.remove-objects`,\n name: 'Remove Objects',\n description: 'Remove objects from a space.',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n objects: Schema.Array(Obj.Unknown).annotations({ description: 'The objects to remove.' }),\n target: Schema.optional(Collection.Collection).annotations({ description: 'The collection to remove from.' }),\n }),\n output: RemoveObjectsOutput,\n });\n\n export const DeleteFieldOutput = Schema.Struct({\n field: View.FieldSchema.annotations({ description: 'The deleted field schema.' }),\n // TODO(wittjosiah): This creates a type error with PropertySchema.\n props: Schema.Any.annotations({ description: 'The deleted field properties.' }),\n index: Schema.Number.annotations({ description: 'The index the field was at.' }),\n });\n\n export type DeleteFieldOutput = Schema.Schema.Type<typeof DeleteFieldOutput>;\n\n export const DeleteField = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}.delete-field`,\n name: 'Delete Field',\n description: 'Delete a field from a view.',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n view: View.View.annotations({ description: 'The view to delete the field from.' }),\n fieldId: Schema.String,\n }),\n output: DeleteFieldOutput,\n });\n\n export const OpenCreateObject = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}.open-create-object`,\n name: 'Open Create Object Dialog',\n description: 'Open the create object dialog.',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n target: Schema.Union(Database.Database, Collection.Collection).annotations({\n description: 'The database or collection to create in.',\n }),\n views: Schema.optional(Schema.Boolean),\n typename: Schema.optional(Schema.String),\n initialFormValues: Schema.optional(Schema.Any),\n navigable: Schema.optional(Schema.Boolean),\n targetNodeId: Schema.optional(\n Schema.String.annotations({ description: 'Qualified graph node ID of the target collection.' }),\n ),\n // TODO(wittjosiah): This is a function, is there a better way to handle this?\n onCreateObject: Schema.optional(Schema.Any),\n }),\n output: Schema.Void,\n });\n\n export const OpenCreateSpace = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}.open-create-space`,\n name: 'Open Create Space Dialog',\n description: 'Open the create space dialog.',\n },\n services: [Capability.Service],\n input: Schema.Void,\n output: Schema.Void,\n });\n\n export const OpenImportSpace = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}.open-import-space`,\n name: 'Open Import Space Dialog',\n description: 'Open the import space dialog to create a new space from a backup.',\n },\n services: [Capability.Service],\n input: Schema.Void,\n output: Schema.Void,\n });\n\n export const ImportSpace = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}.import-space`,\n name: 'Import Space',\n description: 'Import a space archive as a new space.',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n archive: Schema.Struct({\n filename: Schema.String,\n contents: Schema.instanceOf(Uint8Array),\n }),\n }),\n output: Schema.Struct({\n space: SpaceSchema,\n }),\n });\n\n export const ExportSpace = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}.export-space`,\n name: 'Export Space',\n description: 'Export a space as a backup and download the archive.',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n space: SpaceSchema,\n format: Schema.Enums(SpaceArchive.Format),\n }),\n output: Schema.Void,\n });\n\n export const Migrate = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}.migrate`,\n name: 'Migrate Space',\n description: 'Migrate a space to a new version.',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n space: SpaceSchema,\n version: Schema.optional(Schema.String),\n }),\n output: Schema.Boolean,\n });\n\n export const Snapshot = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}.snapshot`,\n name: 'Create Snapshot',\n description: 'Create a snapshot of the space.',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n db: Database.Database,\n query: QueryAST.Query.pipe(Schema.optional),\n }),\n output: Schema.Struct({\n snapshot: Schema.instanceOf(Blob),\n }),\n });\n\n export const Rename = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}.rename`,\n name: 'Rename Space',\n description: 'Rename a space.',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n space: SpaceSchema,\n caller: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n });\n\n export const RenameObject = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}.rename-object`,\n name: 'Rename Object',\n description: 'Rename an object.',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n object: Obj.Unknown,\n caller: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n });\n\n export const OpenMembers = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}.open-members`,\n name: 'Open Members',\n description: 'Open the members panel for a space.',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n });\n\n export const GetShareLink = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}.get-share-link`,\n name: 'Get Share Link',\n description: 'Get a shareable link for a space.',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n space: SpaceSchema,\n target: Schema.optional(Schema.String),\n copyToClipboard: Schema.optional(Schema.Boolean),\n }),\n output: Schema.String,\n });\n\n export const StoredSchemaForm = Schema.Struct({\n name: Schema.optional(Schema.String),\n });\n\n export const AddSchema = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}.add-schema`,\n name: 'Add Schema',\n description: 'Add a schema to the space.',\n },\n services: [Capability.Service, Plugin.Service],\n input: Schema.Struct({\n db: Database.Database,\n name: Schema.optional(Schema.String),\n typename: Schema.optional(Schema.String),\n version: Schema.optional(Schema.String),\n // TODO(wittjosiah): Schema for schema?\n schema: Schema.Any,\n show: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Struct({\n id: Schema.String,\n object: Type.PersistentType,\n schema: Schema.instanceOf(Type.RuntimeType),\n }),\n });\n\n export const AddRelation = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}.add-relation`,\n name: 'Add Relation',\n description: 'Add a relation between objects.',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n db: Database.Database,\n // TODO(wittjosiah): Relation schema.\n schema: Schema.Any,\n source: Obj.Unknown,\n target: Obj.Unknown,\n // TODO(wittjosiah): Type based on relation schema.\n fields: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Any })),\n }),\n output: Schema.Struct({\n relation: Schema.Any,\n }),\n });\n\n // TODO(wittjosiah): This appears to be unused.\n export const DuplicateObject = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}.duplicate-object`,\n name: 'Duplicate Object',\n description: 'Duplicate an object.',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n object: Obj.Unknown,\n target: Schema.Union(Database.Database, Collection.Collection),\n }),\n output: Schema.Void,\n });\n\n /**\n * Restore a deleted field to a view (inverse of DeleteField).\n */\n export const RestoreField = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}.restore-field`,\n name: 'Restore Field',\n description: 'Restore a deleted field to a view.',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n view: View.View.annotations({ description: 'The view to restore the field to.' }),\n field: View.FieldSchema.annotations({ description: 'The field schema to restore.' }),\n // TODO(wittjosiah): This creates a type error with PropertySchema.\n props: Schema.Any.annotations({ description: 'The field properties to restore.' }),\n index: Schema.Number.annotations({ description: 'The index to restore the field at.' }),\n }),\n output: Schema.Void,\n });\n\n /**\n * Restore deleted objects to a space (inverse of RemoveObjects).\n */\n export const RestoreObjects = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}.restore-objects`,\n name: 'Restore Objects',\n description: 'Restore deleted objects to a space.',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n objects: Schema.Array(Obj.Unknown).annotations({ description: 'The objects to restore.' }),\n parentCollection: Collection.Collection.annotations({ description: 'The collection to restore to.' }),\n indices: Schema.Array(Schema.Number).annotations({ description: 'The indices to restore at.' }),\n wasActive: Schema.Array(Schema.String).annotations({\n description: 'IDs of objects that were active before deletion.',\n }),\n }),\n output: Schema.Void,\n });\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["Schema", "Capability", "Plugin", "SpaceSchema", "CancellableInvitationObservable", "Invitation", "Operation", "Collection", "Database", "Obj", "QueryAST", "Type", "View", "SpaceArchive", "meta", "COLLECTION_OPERATION", "CollectionOperation", "Create", "Operation", "make", "meta", "key", "name", "services", "Capability", "Service", "input", "Struct", "optional", "String", "output", "object", "Collection", "SPACE_OPERATION", "id", "SpaceOperation", "description", "Plugin", "SpaceForm", "subject", "Array", "space", "SpaceSchema", "Join", "invitationCode", "onDone", "Any", "Void", "Open", "Close", "Share", "type", "Enums", "Invitation", "Type", "authMethod", "AuthMethod", "multiUse", "Boolean", "target", "instanceOf", "CancellableInvitationObservable", "OpenSettings", "WaitForObject", "AddObject", "Obj", "Unknown", "annotations", "Union", "Database", "hidden", "targetNodeId", "RemoveObjectsOutput", "objects", "parentCollection", "indices", "Number", "wasActive", "RemoveObjects", "DeleteFieldOutput", "field", "View", "FieldSchema", "props", "index", "DeleteField", "view", "fieldId", "OpenCreateObject", "views", "typename", "initialFormValues", "navigable", "onCreateObject", "OpenCreateSpace", "OpenImportSpace", "ImportSpace", "archive", "filename", "contents", "Uint8Array", "ExportSpace", "format", "SpaceArchive", "Format", "Migrate", "version", "Snapshot", "db", "query", "QueryAST", "Query", "pipe", "snapshot", "Blob", "Rename", "caller", "RenameObject", "OpenMembers", "GetShareLink", "copyToClipboard", "StoredSchemaForm", "AddSchema", "schema", "show", "PersistentType", "RuntimeType", "AddRelation", "source", "fields", "Record", "value", "relation", "DuplicateObject", "RestoreField", "RestoreObjects"]
7
+ }
@@ -0,0 +1,145 @@
1
+ // src/SpacePlugin.ts
2
+ import { ActivationEvent, ActivationEvents, Capability, Plugin } from "@dxos/app-framework";
3
+ import { AppActivationEvents, AppPlugin } from "@dxos/app-toolkit";
4
+ import { Tag } from "@dxos/echo";
5
+ import { AttentionEvents } from "@dxos/plugin-attention";
6
+ import { ClientEvents } from "@dxos/plugin-client";
7
+ import { translations as componentsTranslations } from "@dxos/react-ui-components/translations";
8
+ import { translations as formTranslations } from "@dxos/react-ui-form/translations";
9
+ import { DataTypes } from "@dxos/schema";
10
+ import { translations as shellTranslations } from "@dxos/shell/react";
11
+ import { AnchoredTo, Employer, Event, HasConnection, HasRelationship, HasSubject, Organization, Person, Pipeline, Project, Task } from "@dxos/types";
12
+ import { AppGraphSerializer, CreateObject, IdentityCreated, Migrations, NavigationHandler, NavigationResolver, OperationHandler, UndoMappings, ReactRoot, ReactSurface, Repair, SpaceSettings, SpaceState, SpacesReady, AppGraphBuilder } from "#capabilities";
13
+ import { meta } from "#meta";
14
+ import { translations } from "#translations";
15
+ import { SpaceEvents } from "#types";
16
+ var SpacePlugin = Plugin.define(meta).pipe(
17
+ AppPlugin.addCreateObjectModule({
18
+ activate: CreateObject
19
+ }),
20
+ AppPlugin.addNavigationHandlerModule(({ invitationProp }) => ({
21
+ activate: () => NavigationHandler({
22
+ invitationProp
23
+ })
24
+ })),
25
+ AppPlugin.addNavigationResolverModule({
26
+ activatesOn: ClientEvents.ClientReady,
27
+ activate: NavigationResolver
28
+ }),
29
+ AppPlugin.addOperationHandlerModule({
30
+ activate: OperationHandler
31
+ }),
32
+ AppPlugin.addReactRootModule({
33
+ activate: ReactRoot
34
+ }),
35
+ AppPlugin.addSchemaModule({
36
+ schema: [
37
+ ...DataTypes,
38
+ AnchoredTo.AnchoredTo,
39
+ Employer.Employer,
40
+ Event.Event,
41
+ HasConnection.HasConnection,
42
+ HasRelationship.HasRelationship,
43
+ HasSubject.HasSubject,
44
+ Organization.Organization,
45
+ Person.Person,
46
+ Pipeline.Pipeline,
47
+ Project.Project,
48
+ Tag.Tag,
49
+ Task.Task
50
+ ]
51
+ }),
52
+ AppPlugin.addSettingsModule({
53
+ activate: SpaceSettings
54
+ }),
55
+ AppPlugin.addTranslationsModule({
56
+ translations: [
57
+ ...translations,
58
+ ...componentsTranslations,
59
+ ...formTranslations,
60
+ ...shellTranslations
61
+ ]
62
+ }),
63
+ Plugin.addModule({
64
+ // TODO(wittjosiah): Does not integrate with settings store.
65
+ // Should this be a different event?
66
+ // Should settings store be renamed to be more generic?
67
+ activatesOn: ActivationEvent.oneOf(AppActivationEvents.SetupSettings, AppActivationEvents.SetupAppGraph),
68
+ firesAfterActivation: [
69
+ SpaceEvents.StateReady
70
+ ],
71
+ activate: SpaceState
72
+ }),
73
+ Plugin.addModule(({ shareableLinkOrigin = typeof window !== "undefined" ? window.location.origin : "http://localhost", invitationPath = "/", invitationProp = "spaceInvitationCode" }) => {
74
+ const createInvitationUrl = (invitationCode) => {
75
+ const baseUrl = new URL(invitationPath || "/", shareableLinkOrigin);
76
+ baseUrl.searchParams.set(invitationProp, invitationCode);
77
+ return baseUrl.toString();
78
+ };
79
+ return {
80
+ id: Capability.getModuleTag(ReactSurface),
81
+ activatesOn: ActivationEvents.SetupReactSurface,
82
+ // TODO(wittjosiah): Should occur before the settings dialog is loaded when surfaces activation is more granular.
83
+ firesBeforeActivation: [
84
+ SpaceEvents.SetupSettingsPanel
85
+ ],
86
+ activate: () => ReactSurface({
87
+ createInvitationUrl
88
+ })
89
+ };
90
+ }),
91
+ Plugin.addModule(({ shareableLinkOrigin = typeof window !== "undefined" ? window.location.origin : "http://localhost" }) => ({
92
+ id: Capability.getModuleTag(AppGraphBuilder),
93
+ activatesOn: AppActivationEvents.SetupAppGraph,
94
+ activate: () => AppGraphBuilder({
95
+ shareableLinkOrigin
96
+ })
97
+ })),
98
+ Plugin.addModule(({ shareableLinkOrigin = typeof window !== "undefined" ? window.location.origin : "http://localhost", invitationPath = "/", invitationProp = "spaceInvitationCode", observability = false }) => {
99
+ const createInvitationUrl = (invitationCode) => {
100
+ const baseUrl = new URL(invitationPath || "/", shareableLinkOrigin);
101
+ baseUrl.searchParams.set(invitationProp, invitationCode);
102
+ return baseUrl.toString();
103
+ };
104
+ return {
105
+ id: Capability.getModuleTag(UndoMappings),
106
+ activatesOn: ActivationEvents.SetupOperationHandler,
107
+ activate: () => UndoMappings({
108
+ createInvitationUrl,
109
+ observability
110
+ })
111
+ };
112
+ }),
113
+ // TODO(wittjosiah): This could probably be deferred.
114
+ Plugin.addModule({
115
+ activatesOn: AppActivationEvents.AppGraphReady,
116
+ activate: AppGraphSerializer
117
+ }),
118
+ Plugin.addModule({
119
+ activatesOn: ClientEvents.IdentityCreated,
120
+ firesAfterActivation: [
121
+ SpaceEvents.PersonalSpaceReady
122
+ ],
123
+ activate: IdentityCreated
124
+ }),
125
+ Plugin.addModule({
126
+ activatesOn: ActivationEvent.allOf(ActivationEvents.OperationInvokerReady, AppActivationEvents.LayoutReady, AppActivationEvents.AppGraphReady, AttentionEvents.AttentionReady, SpaceEvents.StateReady, ClientEvents.SpacesReady),
127
+ activate: SpacesReady
128
+ }),
129
+ Plugin.addModule({
130
+ activatesOn: ClientEvents.SetupMigration,
131
+ activate: Migrations
132
+ }),
133
+ Plugin.addModule({
134
+ activatesOn: ClientEvents.SpacesReady,
135
+ activate: Repair
136
+ }),
137
+ Plugin.make
138
+ );
139
+ var SpacePlugin_default = SpacePlugin;
140
+
141
+ export {
142
+ SpacePlugin,
143
+ SpacePlugin_default
144
+ };
145
+ //# sourceMappingURL=chunk-YE46AQFY.mjs.map